@burdenoff/microfe-store 2026.720.3 → 2026.721.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 (281) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +20 -0
  2. package/dist/components/MarkdownEditor.js +5 -5
  3. package/dist/components/MarkdownEditor.js.map +1 -1
  4. package/dist/generated/global-operations.d.ts +18 -0
  5. package/dist/generated/global-operations.js +16 -0
  6. package/dist/generated/global-operations.js.map +1 -1
  7. package/dist/generated/global-types.d.ts +2 -0
  8. package/dist/generated/global-types.js.map +1 -1
  9. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.js +63 -0
  10. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.js.map +1 -0
  11. package/dist/node_modules/@ungap/structured-clone/esm/index.js +8 -0
  12. package/dist/node_modules/@ungap/structured-clone/esm/index.js.map +1 -0
  13. package/dist/node_modules/@ungap/structured-clone/esm/serialize.js +93 -0
  14. package/dist/node_modules/@ungap/structured-clone/esm/serialize.js.map +1 -0
  15. package/dist/node_modules/bail/index.js +8 -0
  16. package/dist/node_modules/bail/index.js.map +1 -0
  17. package/dist/node_modules/comma-separated-tokens/index.js +9 -0
  18. package/dist/node_modules/comma-separated-tokens/index.js.map +1 -0
  19. package/dist/node_modules/decode-named-character-reference/index.dom.js +12 -0
  20. package/dist/node_modules/decode-named-character-reference/index.dom.js.map +1 -0
  21. package/dist/node_modules/devlop/lib/default.js +7 -0
  22. package/dist/node_modules/devlop/lib/default.js.map +1 -0
  23. package/dist/node_modules/estree-util-is-identifier-name/lib/index.js +9 -0
  24. package/dist/node_modules/estree-util-is-identifier-name/lib/index.js.map +1 -0
  25. package/dist/node_modules/extend/index.js +42 -0
  26. package/dist/node_modules/extend/index.js.map +1 -0
  27. package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.js +255 -0
  28. package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.js.map +1 -0
  29. package/dist/node_modules/hast-util-whitespace/lib/index.js +12 -0
  30. package/dist/node_modules/hast-util-whitespace/lib/index.js.map +1 -0
  31. package/dist/node_modules/html-url-attributes/lib/index.js +38 -0
  32. package/dist/node_modules/html-url-attributes/lib/index.js.map +1 -0
  33. package/dist/node_modules/inline-style-parser/cjs/index.js +92 -0
  34. package/dist/node_modules/inline-style-parser/cjs/index.js.map +1 -0
  35. package/dist/node_modules/is-plain-obj/index.js +10 -0
  36. package/dist/node_modules/is-plain-obj/index.js.map +1 -0
  37. package/dist/node_modules/mdast-util-from-markdown/lib/index.js +559 -0
  38. package/dist/node_modules/mdast-util-from-markdown/lib/index.js.map +1 -0
  39. package/dist/node_modules/mdast-util-to-hast/lib/footer.js +105 -0
  40. package/dist/node_modules/mdast-util-to-hast/lib/footer.js.map +1 -0
  41. package/dist/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js +14 -0
  42. package/dist/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js.map +1 -0
  43. package/dist/node_modules/mdast-util-to-hast/lib/handlers/break.js +17 -0
  44. package/dist/node_modules/mdast-util-to-hast/lib/handlers/break.js.map +1 -0
  45. package/dist/node_modules/mdast-util-to-hast/lib/handlers/code.js +24 -0
  46. package/dist/node_modules/mdast-util-to-hast/lib/handlers/code.js.map +1 -0
  47. package/dist/node_modules/mdast-util-to-hast/lib/handlers/delete.js +14 -0
  48. package/dist/node_modules/mdast-util-to-hast/lib/handlers/delete.js.map +1 -0
  49. package/dist/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js +14 -0
  50. package/dist/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js.map +1 -0
  51. package/dist/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js +32 -0
  52. package/dist/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js.map +1 -0
  53. package/dist/node_modules/mdast-util-to-hast/lib/handlers/heading.js +14 -0
  54. package/dist/node_modules/mdast-util-to-hast/lib/handlers/heading.js.map +1 -0
  55. package/dist/node_modules/mdast-util-to-hast/lib/handlers/html.js +14 -0
  56. package/dist/node_modules/mdast-util-to-hast/lib/handlers/html.js.map +1 -0
  57. package/dist/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js +23 -0
  58. package/dist/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js.map +1 -0
  59. package/dist/node_modules/mdast-util-to-hast/lib/handlers/image.js +17 -0
  60. package/dist/node_modules/mdast-util-to-hast/lib/handlers/image.js.map +1 -0
  61. package/dist/node_modules/mdast-util-to-hast/lib/handlers/index.js +58 -0
  62. package/dist/node_modules/mdast-util-to-hast/lib/handlers/index.js.map +1 -0
  63. package/dist/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js +19 -0
  64. package/dist/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js.map +1 -0
  65. package/dist/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js +20 -0
  66. package/dist/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js.map +1 -0
  67. package/dist/node_modules/mdast-util-to-hast/lib/handlers/link.js +17 -0
  68. package/dist/node_modules/mdast-util-to-hast/lib/handlers/link.js.map +1 -0
  69. package/dist/node_modules/mdast-util-to-hast/lib/handlers/list-item.js +61 -0
  70. package/dist/node_modules/mdast-util-to-hast/lib/handlers/list-item.js.map +1 -0
  71. package/dist/node_modules/mdast-util-to-hast/lib/handlers/list.js +22 -0
  72. package/dist/node_modules/mdast-util-to-hast/lib/handlers/list.js.map +1 -0
  73. package/dist/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js +14 -0
  74. package/dist/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js.map +1 -0
  75. package/dist/node_modules/mdast-util-to-hast/lib/handlers/root.js +12 -0
  76. package/dist/node_modules/mdast-util-to-hast/lib/handlers/root.js.map +1 -0
  77. package/dist/node_modules/mdast-util-to-hast/lib/handlers/strong.js +14 -0
  78. package/dist/node_modules/mdast-util-to-hast/lib/handlers/strong.js.map +1 -0
  79. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js +14 -0
  80. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js.map +1 -0
  81. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-row.js +26 -0
  82. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-row.js.map +1 -0
  83. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table.js +37 -0
  84. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table.js.map +1 -0
  85. package/dist/node_modules/mdast-util-to-hast/lib/handlers/text.js +13 -0
  86. package/dist/node_modules/mdast-util-to-hast/lib/handlers/text.js.map +1 -0
  87. package/dist/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js +14 -0
  88. package/dist/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js.map +1 -0
  89. package/dist/node_modules/mdast-util-to-hast/lib/index.js +21 -0
  90. package/dist/node_modules/mdast-util-to-hast/lib/index.js.map +1 -0
  91. package/dist/node_modules/mdast-util-to-hast/lib/revert.js +22 -0
  92. package/dist/node_modules/mdast-util-to-hast/lib/revert.js.map +1 -0
  93. package/dist/node_modules/mdast-util-to-hast/lib/state.js +110 -0
  94. package/dist/node_modules/mdast-util-to-hast/lib/state.js.map +1 -0
  95. package/dist/node_modules/mdast-util-to-string/lib/index.js +26 -0
  96. package/dist/node_modules/mdast-util-to-string/lib/index.js.map +1 -0
  97. package/dist/node_modules/micromark/lib/constructs.js +82 -0
  98. package/dist/node_modules/micromark/lib/constructs.js.map +1 -0
  99. package/dist/node_modules/micromark/lib/create-tokenizer.js +179 -0
  100. package/dist/node_modules/micromark/lib/create-tokenizer.js.map +1 -0
  101. package/dist/node_modules/micromark/lib/initialize/content.js +36 -0
  102. package/dist/node_modules/micromark/lib/initialize/content.js.map +1 -0
  103. package/dist/node_modules/micromark/lib/initialize/document.js +104 -0
  104. package/dist/node_modules/micromark/lib/initialize/document.js.map +1 -0
  105. package/dist/node_modules/micromark/lib/initialize/flow.js +27 -0
  106. package/dist/node_modules/micromark/lib/initialize/flow.js.map +1 -0
  107. package/dist/node_modules/micromark/lib/initialize/text.js +88 -0
  108. package/dist/node_modules/micromark/lib/initialize/text.js.map +1 -0
  109. package/dist/node_modules/micromark/lib/parse.js +31 -0
  110. package/dist/node_modules/micromark/lib/parse.js.map +1 -0
  111. package/dist/node_modules/micromark/lib/postprocess.js +10 -0
  112. package/dist/node_modules/micromark/lib/postprocess.js.map +1 -0
  113. package/dist/node_modules/micromark/lib/preprocess.js +34 -0
  114. package/dist/node_modules/micromark/lib/preprocess.js.map +1 -0
  115. package/dist/node_modules/micromark-core-commonmark/lib/attention.js +116 -0
  116. package/dist/node_modules/micromark-core-commonmark/lib/attention.js.map +1 -0
  117. package/dist/node_modules/micromark-core-commonmark/lib/autolink.js +45 -0
  118. package/dist/node_modules/micromark-core-commonmark/lib/autolink.js.map +1 -0
  119. package/dist/node_modules/micromark-core-commonmark/lib/blank-line.js +20 -0
  120. package/dist/node_modules/micromark-core-commonmark/lib/blank-line.js.map +1 -0
  121. package/dist/node_modules/micromark-core-commonmark/lib/block-quote.js +40 -0
  122. package/dist/node_modules/micromark-core-commonmark/lib/block-quote.js.map +1 -0
  123. package/dist/node_modules/micromark-core-commonmark/lib/character-escape.js +19 -0
  124. package/dist/node_modules/micromark-core-commonmark/lib/character-escape.js.map +1 -0
  125. package/dist/node_modules/micromark-core-commonmark/lib/character-reference.js +31 -0
  126. package/dist/node_modules/micromark-core-commonmark/lib/character-reference.js.map +1 -0
  127. package/dist/node_modules/micromark-core-commonmark/lib/code-fenced.js +91 -0
  128. package/dist/node_modules/micromark-core-commonmark/lib/code-fenced.js.map +1 -0
  129. package/dist/node_modules/micromark-core-commonmark/lib/code-indented.js +45 -0
  130. package/dist/node_modules/micromark-core-commonmark/lib/code-indented.js.map +1 -0
  131. package/dist/node_modules/micromark-core-commonmark/lib/code-text.js +45 -0
  132. package/dist/node_modules/micromark-core-commonmark/lib/code-text.js.map +1 -0
  133. package/dist/node_modules/micromark-core-commonmark/lib/content.js +49 -0
  134. package/dist/node_modules/micromark-core-commonmark/lib/content.js.map +1 -0
  135. package/dist/node_modules/micromark-core-commonmark/lib/definition.js +62 -0
  136. package/dist/node_modules/micromark-core-commonmark/lib/definition.js.map +1 -0
  137. package/dist/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +19 -0
  138. package/dist/node_modules/micromark-core-commonmark/lib/hard-break-escape.js.map +1 -0
  139. package/dist/node_modules/micromark-core-commonmark/lib/heading-atx.js +69 -0
  140. package/dist/node_modules/micromark-core-commonmark/lib/heading-atx.js.map +1 -0
  141. package/dist/node_modules/micromark-core-commonmark/lib/html-flow.js +143 -0
  142. package/dist/node_modules/micromark-core-commonmark/lib/html-flow.js.map +1 -0
  143. package/dist/node_modules/micromark-core-commonmark/lib/html-text.js +102 -0
  144. package/dist/node_modules/micromark-core-commonmark/lib/html-text.js.map +1 -0
  145. package/dist/node_modules/micromark-core-commonmark/lib/label-end.js +160 -0
  146. package/dist/node_modules/micromark-core-commonmark/lib/label-end.js.map +1 -0
  147. package/dist/node_modules/micromark-core-commonmark/lib/label-start-image.js +25 -0
  148. package/dist/node_modules/micromark-core-commonmark/lib/label-start-image.js.map +1 -0
  149. package/dist/node_modules/micromark-core-commonmark/lib/label-start-link.js +22 -0
  150. package/dist/node_modules/micromark-core-commonmark/lib/label-start-link.js.map +1 -0
  151. package/dist/node_modules/micromark-core-commonmark/lib/line-ending.js +16 -0
  152. package/dist/node_modules/micromark-core-commonmark/lib/line-ending.js.map +1 -0
  153. package/dist/node_modules/micromark-core-commonmark/lib/list.js +80 -0
  154. package/dist/node_modules/micromark-core-commonmark/lib/list.js.map +1 -0
  155. package/dist/node_modules/micromark-core-commonmark/lib/setext-underline.js +61 -0
  156. package/dist/node_modules/micromark-core-commonmark/lib/setext-underline.js.map +1 -0
  157. package/dist/node_modules/micromark-core-commonmark/lib/thematic-break.js +27 -0
  158. package/dist/node_modules/micromark-core-commonmark/lib/thematic-break.js.map +1 -0
  159. package/dist/node_modules/micromark-factory-destination/index.js +28 -0
  160. package/dist/node_modules/micromark-factory-destination/index.js.map +1 -0
  161. package/dist/node_modules/micromark-factory-label/index.js +22 -0
  162. package/dist/node_modules/micromark-factory-label/index.js.map +1 -0
  163. package/dist/node_modules/micromark-factory-space/index.js +16 -0
  164. package/dist/node_modules/micromark-factory-space/index.js.map +1 -0
  165. package/dist/node_modules/micromark-factory-title/index.js +26 -0
  166. package/dist/node_modules/micromark-factory-title/index.js.map +1 -0
  167. package/dist/node_modules/micromark-factory-whitespace/index.js +14 -0
  168. package/dist/node_modules/micromark-factory-whitespace/index.js.map +1 -0
  169. package/dist/node_modules/micromark-util-character/index.js +26 -0
  170. package/dist/node_modules/micromark-util-character/index.js.map +1 -0
  171. package/dist/node_modules/micromark-util-chunked/index.js +13 -0
  172. package/dist/node_modules/micromark-util-chunked/index.js.map +1 -0
  173. package/dist/node_modules/micromark-util-classify-character/index.js +10 -0
  174. package/dist/node_modules/micromark-util-classify-character/index.js.map +1 -0
  175. package/dist/node_modules/micromark-util-combine-extensions/index.js +28 -0
  176. package/dist/node_modules/micromark-util-combine-extensions/index.js.map +1 -0
  177. package/dist/node_modules/micromark-util-decode-numeric-character-reference/index.js +9 -0
  178. package/dist/node_modules/micromark-util-decode-numeric-character-reference/index.js.map +1 -0
  179. package/dist/node_modules/micromark-util-decode-string/index.js +19 -0
  180. package/dist/node_modules/micromark-util-decode-string/index.js.map +1 -0
  181. package/dist/node_modules/micromark-util-html-tag-name/index.js +11 -0
  182. package/dist/node_modules/micromark-util-html-tag-name/index.js.map +1 -0
  183. package/dist/node_modules/micromark-util-normalize-identifier/index.js +8 -0
  184. package/dist/node_modules/micromark-util-normalize-identifier/index.js.map +1 -0
  185. package/dist/node_modules/micromark-util-resolve-all/index.js +13 -0
  186. package/dist/node_modules/micromark-util-resolve-all/index.js.map +1 -0
  187. package/dist/node_modules/micromark-util-sanitize-uri/index.js +20 -0
  188. package/dist/node_modules/micromark-util-sanitize-uri/index.js.map +1 -0
  189. package/dist/node_modules/micromark-util-subtokenize/index.js +37 -0
  190. package/dist/node_modules/micromark-util-subtokenize/index.js.map +1 -0
  191. package/dist/node_modules/micromark-util-subtokenize/lib/splice-buffer.js +59 -0
  192. package/dist/node_modules/micromark-util-subtokenize/lib/splice-buffer.js.map +1 -0
  193. package/dist/node_modules/property-information/index.js +28 -0
  194. package/dist/node_modules/property-information/index.js.map +1 -0
  195. package/dist/node_modules/property-information/lib/aria.js +63 -0
  196. package/dist/node_modules/property-information/lib/aria.js.map +1 -0
  197. package/dist/node_modules/property-information/lib/find.js +33 -0
  198. package/dist/node_modules/property-information/lib/find.js.map +1 -0
  199. package/dist/node_modules/property-information/lib/hast-to-react.js +24 -0
  200. package/dist/node_modules/property-information/lib/hast-to-react.js.map +1 -0
  201. package/dist/node_modules/property-information/lib/html.js +328 -0
  202. package/dist/node_modules/property-information/lib/html.js.map +1 -0
  203. package/dist/node_modules/property-information/lib/normalize.js +8 -0
  204. package/dist/node_modules/property-information/lib/normalize.js.map +1 -0
  205. package/dist/node_modules/property-information/lib/svg.js +566 -0
  206. package/dist/node_modules/property-information/lib/svg.js.map +1 -0
  207. package/dist/node_modules/property-information/lib/util/case-insensitive-transform.js +9 -0
  208. package/dist/node_modules/property-information/lib/util/case-insensitive-transform.js.map +1 -0
  209. package/dist/node_modules/property-information/lib/util/case-sensitive-transform.js +8 -0
  210. package/dist/node_modules/property-information/lib/util/case-sensitive-transform.js.map +1 -0
  211. package/dist/node_modules/property-information/lib/util/create.js +16 -0
  212. package/dist/node_modules/property-information/lib/util/create.js.map +1 -0
  213. package/dist/node_modules/property-information/lib/util/defined-info.js +20 -0
  214. package/dist/node_modules/property-information/lib/util/defined-info.js.map +1 -0
  215. package/dist/node_modules/property-information/lib/util/info.js +11 -0
  216. package/dist/node_modules/property-information/lib/util/info.js.map +1 -0
  217. package/dist/node_modules/property-information/lib/util/merge.js +11 -0
  218. package/dist/node_modules/property-information/lib/util/merge.js.map +1 -0
  219. package/dist/node_modules/property-information/lib/util/schema.js +11 -0
  220. package/dist/node_modules/property-information/lib/util/schema.js.map +1 -0
  221. package/dist/node_modules/property-information/lib/util/types.js +18 -0
  222. package/dist/node_modules/property-information/lib/util/types.js.map +1 -0
  223. package/dist/node_modules/property-information/lib/xlink.js +21 -0
  224. package/dist/node_modules/property-information/lib/xlink.js.map +1 -0
  225. package/dist/node_modules/property-information/lib/xml.js +17 -0
  226. package/dist/node_modules/property-information/lib/xml.js.map +1 -0
  227. package/dist/node_modules/property-information/lib/xmlns.js +16 -0
  228. package/dist/node_modules/property-information/lib/xmlns.js.map +1 -0
  229. package/dist/node_modules/react-markdown/lib/index.js +142 -0
  230. package/dist/node_modules/react-markdown/lib/index.js.map +1 -0
  231. package/dist/node_modules/remark-parse/lib/index.js +18 -0
  232. package/dist/node_modules/remark-parse/lib/index.js.map +1 -0
  233. package/dist/node_modules/remark-rehype/lib/index.js +20 -0
  234. package/dist/node_modules/remark-rehype/lib/index.js.map +1 -0
  235. package/dist/node_modules/space-separated-tokens/index.js +8 -0
  236. package/dist/node_modules/space-separated-tokens/index.js.map +1 -0
  237. package/dist/node_modules/style-to-js/cjs/index.js +21 -0
  238. package/dist/node_modules/style-to-js/cjs/index.js.map +1 -0
  239. package/dist/node_modules/style-to-js/cjs/utilities.js +20 -0
  240. package/dist/node_modules/style-to-js/cjs/utilities.js.map +1 -0
  241. package/dist/node_modules/style-to-object/cjs/index.js +25 -0
  242. package/dist/node_modules/style-to-object/cjs/index.js.map +1 -0
  243. package/dist/node_modules/trim-lines/index.js +23 -0
  244. package/dist/node_modules/trim-lines/index.js.map +1 -0
  245. package/dist/node_modules/trough/lib/index.js +52 -0
  246. package/dist/node_modules/trough/lib/index.js.map +1 -0
  247. package/dist/node_modules/unified/lib/callable-instance.js +11 -0
  248. package/dist/node_modules/unified/lib/callable-instance.js.map +1 -0
  249. package/dist/node_modules/unified/lib/index.js +163 -0
  250. package/dist/node_modules/unified/lib/index.js.map +1 -0
  251. package/dist/node_modules/unist-util-is/lib/index.js +49 -0
  252. package/dist/node_modules/unist-util-is/lib/index.js.map +1 -0
  253. package/dist/node_modules/unist-util-position/lib/index.js +24 -0
  254. package/dist/node_modules/unist-util-position/lib/index.js.map +1 -0
  255. package/dist/node_modules/unist-util-stringify-position/lib/index.js +17 -0
  256. package/dist/node_modules/unist-util-stringify-position/lib/index.js.map +1 -0
  257. package/dist/node_modules/unist-util-visit/lib/index.js +14 -0
  258. package/dist/node_modules/unist-util-visit/lib/index.js.map +1 -0
  259. package/dist/node_modules/unist-util-visit-parents/lib/color.js +8 -0
  260. package/dist/node_modules/unist-util-visit-parents/lib/color.js.map +1 -0
  261. package/dist/node_modules/unist-util-visit-parents/lib/index.js +38 -0
  262. package/dist/node_modules/unist-util-visit-parents/lib/index.js.map +1 -0
  263. package/dist/node_modules/vfile/lib/index.js +91 -0
  264. package/dist/node_modules/vfile/lib/index.js.map +1 -0
  265. package/dist/node_modules/vfile/lib/minpath.browser.js +101 -0
  266. package/dist/node_modules/vfile/lib/minpath.browser.js.map +1 -0
  267. package/dist/node_modules/vfile/lib/minproc.browser.js +9 -0
  268. package/dist/node_modules/vfile/lib/minproc.browser.js.map +1 -0
  269. package/dist/node_modules/vfile/lib/minurl.browser.js +33 -0
  270. package/dist/node_modules/vfile/lib/minurl.browser.js.map +1 -0
  271. package/dist/node_modules/vfile/lib/minurl.shared.js +8 -0
  272. package/dist/node_modules/vfile/lib/minurl.shared.js.map +1 -0
  273. package/dist/node_modules/vfile-message/lib/index.js +26 -0
  274. package/dist/node_modules/vfile-message/lib/index.js.map +1 -0
  275. package/dist/pages/AdminSubmissionsQueuePage.js +174 -174
  276. package/dist/pages/AdminSubmissionsQueuePage.js.map +1 -1
  277. package/dist/pages/MarketplaceHomePage.js +472 -422
  278. package/dist/pages/MarketplaceHomePage.js.map +1 -1
  279. package/dist/pages/ProductDetailPage.js +469 -440
  280. package/dist/pages/ProductDetailPage.js.map +1 -1
  281. package/package.json +1 -1
@@ -1,19 +1,19 @@
1
1
  import { useStore as e } from "../providers/StoreProvider.js";
2
2
  import { useCart as t } from "../hooks/useCart.js";
3
3
  import { formatNumber as n, formatPrice as r } from "../utils/index.js";
4
- import { useCreateReview as ee, useDeleteReview as te, useMarkReviewHelpful as ne, useStoreProductDetails as re, useUpdateReview as ie } from "../hooks/useStoreGraphQL.js";
4
+ import { useCreateReview as i, useDeleteReview as ee, useMarkReviewHelpful as te, useStoreProductDetails as ne, useUpdateReview as re } from "../hooks/useStoreGraphQL.js";
5
+ import { Markdown as ie } from "../node_modules/react-markdown/lib/index.js";
5
6
  import { InstallAppModal as ae } from "../components/InstallAppModal.js";
6
7
  import { useInstallations as oe } from "../hooks/useInstallations.js";
7
8
  import { nativeConfirm as se, nativeImpact as ce, nativeNotify as le } from "../utils/nativeBridge.js";
8
- import { useCallback as i, useEffect as ue, useMemo as de, useRef as fe, useState as a } from "react";
9
- import { Markdown as pe } from "@burdenoff/fe-libs/shared/components";
10
- import { AlertCircle as o, ArrowLeft as me, Check as he, Loader2 as ge, Package as s, ShieldCheck as c, ShoppingCart as _e, Star as l, ThumbsUp as u } from "lucide-react";
11
- import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
12
- import { useLocation as ve, useNavigate as ye, useParams as be } from "react-router-dom";
13
- import { EmphasisPanel as xe, GlassCard as m, IllustratedEmptyState as Se, NextSteps as Ce, PagePurpose as we } from "@burdenoff/fe-libs/ui";
14
- import { useEventBus as Te } from "@burdenoff/fe-libs/shared/events";
9
+ import { useCallback as a, useEffect as ue, useMemo as de, useRef as fe, useState as o } from "react";
10
+ import { AlertCircle as s, ArrowLeft as pe, Check as me, Loader2 as he, Package as c, ShieldCheck as l, ShoppingCart as ge, Star as u, ThumbsUp as d } from "lucide-react";
11
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
12
+ import { useLocation as _e, useNavigate as ve, useParams as ye } from "react-router-dom";
13
+ import { EmphasisPanel as be, GlassCard as h, IllustratedEmptyState as xe, NextSteps as Se, PagePurpose as Ce } from "@burdenoff/fe-libs/ui";
14
+ import { useEventBus as we } from "@burdenoff/fe-libs/shared/events";
15
15
  //#region src/pages/ProductDetailPage.tsx
16
- var Ee = (e, t) => ({
16
+ var Te = (e, t) => ({
17
17
  id: e.id,
18
18
  publisherId: t?.id || "",
19
19
  publisher: {
@@ -85,41 +85,41 @@ var Ee = (e, t) => ({
85
85
  createdAt: e.createdAt,
86
86
  updatedAt: e.updatedAt,
87
87
  publishedAt: e.publishedAt
88
- }), De = ({ stars: e, percentage: t, count: r }) => /* @__PURE__ */ p("div", {
88
+ }), Ee = ({ stars: e, percentage: t, count: r }) => /* @__PURE__ */ m("div", {
89
89
  className: "flex items-center gap-2",
90
90
  children: [
91
- /* @__PURE__ */ f("span", {
91
+ /* @__PURE__ */ p("span", {
92
92
  className: "w-3 text-xs text-text-muted",
93
93
  children: e
94
94
  }),
95
- /* @__PURE__ */ f("div", {
95
+ /* @__PURE__ */ p("div", {
96
96
  className: "h-2 flex-1 overflow-hidden rounded-full bg-bg-sunken",
97
- children: /* @__PURE__ */ f("div", {
97
+ children: /* @__PURE__ */ p("div", {
98
98
  className: "h-full rounded-full bg-status-warning-bg-subtle",
99
99
  style: { width: `${t}%` }
100
100
  })
101
101
  }),
102
- /* @__PURE__ */ f("span", {
102
+ /* @__PURE__ */ p("span", {
103
103
  className: "w-12 text-right text-xs text-text-muted",
104
104
  children: n(r)
105
105
  })
106
106
  ]
107
- }), Oe = ({ review: e, onMarkHelpful: t, markingHelpful: n }) => /* @__PURE__ */ p("div", {
107
+ }), De = ({ review: e, onMarkHelpful: t, markingHelpful: n }) => /* @__PURE__ */ m("div", {
108
108
  className: "rounded-lg border border-border-seam bg-bg-surface p-4 transition-[box-shadow,border-color] hover:border-border-strong hover:shadow-[var(--shadow-pop)]",
109
109
  children: [
110
- /* @__PURE__ */ f("div", {
110
+ /* @__PURE__ */ p("div", {
111
111
  className: "mb-3 flex items-start justify-between",
112
- children: /* @__PURE__ */ p("div", {
112
+ children: /* @__PURE__ */ m("div", {
113
113
  className: "flex items-center gap-3",
114
- children: [/* @__PURE__ */ f("div", {
114
+ children: [/* @__PURE__ */ p("div", {
115
115
  className: "flex size-10 items-center justify-center rounded-full bg-bg-sunken text-text-muted",
116
- children: /* @__PURE__ */ f(l, { className: "size-4 fill-current" })
117
- }), /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("p", {
116
+ children: /* @__PURE__ */ p(u, { className: "size-4 fill-current" })
117
+ }), /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("p", {
118
118
  className: "font-medium text-text-primary",
119
119
  children: "Verified Buyer"
120
- }), /* @__PURE__ */ p("div", {
120
+ }), /* @__PURE__ */ m("div", {
121
121
  className: "flex items-center gap-2",
122
- children: [/* @__PURE__ */ f("div", {
122
+ children: [/* @__PURE__ */ p("div", {
123
123
  className: "flex gap-0.5",
124
124
  children: [
125
125
  1,
@@ -127,8 +127,8 @@ var Ee = (e, t) => ({
127
127
  3,
128
128
  4,
129
129
  5
130
- ].map((t) => /* @__PURE__ */ f(l, { className: `size-3 ${t <= e.rating ? "fill-current text-status-warning-text" : "text-text-muted"}` }, t))
131
- }), /* @__PURE__ */ f("span", {
130
+ ].map((t) => /* @__PURE__ */ p(u, { className: `size-3 ${t <= e.rating ? "fill-current text-status-warning-text" : "text-text-muted"}` }, t))
131
+ }), /* @__PURE__ */ p("span", {
132
132
  className: "text-xs text-text-muted",
133
133
  children: ((e) => {
134
134
  try {
@@ -145,147 +145,147 @@ var Ee = (e, t) => ({
145
145
  })] })]
146
146
  })
147
147
  }),
148
- e.title && /* @__PURE__ */ f("h4", {
148
+ e.title && /* @__PURE__ */ p("h4", {
149
149
  className: "mb-2 font-medium text-text-primary",
150
150
  children: e.title
151
151
  }),
152
- e.comment && /* @__PURE__ */ f("p", {
152
+ e.comment && /* @__PURE__ */ p("p", {
153
153
  className: "mb-3 text-sm text-text-muted",
154
154
  children: e.comment
155
155
  }),
156
- /* @__PURE__ */ f("div", {
156
+ /* @__PURE__ */ p("div", {
157
157
  className: "flex items-center justify-between",
158
- children: /* @__PURE__ */ p("button", {
158
+ children: /* @__PURE__ */ m("button", {
159
159
  type: "button",
160
160
  onClick: () => t(e.id),
161
161
  disabled: n,
162
162
  "aria-label": "Mark this review as helpful",
163
163
  className: "flex items-center gap-1 text-xs text-text-muted transition-colors hover:text-text-primary disabled:cursor-not-allowed disabled:opacity-60",
164
- children: [/* @__PURE__ */ f(u, { className: "size-3.5" }), /* @__PURE__ */ f("span", { children: n ? "Updating…" : `Helpful (${e.helpful})` })]
164
+ children: [/* @__PURE__ */ p(d, { className: "size-3.5" }), /* @__PURE__ */ p("span", { children: n ? "Updating…" : `Helpful (${e.helpful})` })]
165
165
  })
166
166
  })
167
167
  ]
168
- }), ke = () => /* @__PURE__ */ p("div", {
168
+ }), Oe = () => /* @__PURE__ */ m("div", {
169
169
  className: "h-full overflow-y-auto",
170
- children: [/* @__PURE__ */ f("div", {
170
+ children: [/* @__PURE__ */ p("div", {
171
171
  className: "sticky top-0 z-10 border-b border-border-default bg-bg-surface px-6 py-4",
172
- children: /* @__PURE__ */ p("div", {
172
+ children: /* @__PURE__ */ m("div", {
173
173
  className: "flex items-center gap-4",
174
174
  children: [
175
- /* @__PURE__ */ f("div", { className: "size-10 animate-pulse rounded-lg bg-bg-sunken" }),
176
- /* @__PURE__ */ f("div", { className: "h-6 w-48 flex-1 animate-pulse rounded bg-bg-sunken" }),
177
- /* @__PURE__ */ p("div", {
175
+ /* @__PURE__ */ p("div", { className: "size-10 animate-pulse rounded-lg bg-bg-sunken" }),
176
+ /* @__PURE__ */ p("div", { className: "h-6 w-48 flex-1 animate-pulse rounded bg-bg-sunken" }),
177
+ /* @__PURE__ */ m("div", {
178
178
  className: "flex gap-2",
179
- children: [/* @__PURE__ */ f("div", { className: "size-10 animate-pulse rounded-lg bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "size-10 animate-pulse rounded-lg bg-bg-sunken" })]
179
+ children: [/* @__PURE__ */ p("div", { className: "size-10 animate-pulse rounded-lg bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "size-10 animate-pulse rounded-lg bg-bg-sunken" })]
180
180
  })
181
181
  ]
182
182
  })
183
- }), /* @__PURE__ */ p("div", {
183
+ }), /* @__PURE__ */ m("div", {
184
184
  className: "mx-auto max-w-6xl p-6",
185
185
  children: [
186
- /* @__PURE__ */ p("div", {
186
+ /* @__PURE__ */ m("div", {
187
187
  className: "mb-8 flex flex-col gap-6 md:flex-row",
188
- children: [/* @__PURE__ */ p("div", {
188
+ children: [/* @__PURE__ */ m("div", {
189
189
  className: "flex gap-4 md:w-1/2",
190
- children: [/* @__PURE__ */ f("div", { className: "size-28 animate-pulse rounded-2xl bg-bg-sunken" }), /* @__PURE__ */ p("div", {
190
+ children: [/* @__PURE__ */ p("div", { className: "size-28 animate-pulse rounded-2xl bg-bg-sunken" }), /* @__PURE__ */ m("div", {
191
191
  className: "flex flex-1 flex-col justify-center gap-2",
192
192
  children: [
193
- /* @__PURE__ */ f("div", { className: "h-8 w-3/4 animate-pulse rounded bg-bg-sunken" }),
194
- /* @__PURE__ */ p("div", {
193
+ /* @__PURE__ */ p("div", { className: "h-8 w-3/4 animate-pulse rounded bg-bg-sunken" }),
194
+ /* @__PURE__ */ m("div", {
195
195
  className: "flex items-center gap-2",
196
- children: [/* @__PURE__ */ f("div", { className: "h-4 w-32 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "size-4 animate-pulse rounded-full bg-bg-sunken" })]
196
+ children: [/* @__PURE__ */ p("div", { className: "h-4 w-32 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "size-4 animate-pulse rounded-full bg-bg-sunken" })]
197
197
  }),
198
- /* @__PURE__ */ p("div", {
198
+ /* @__PURE__ */ m("div", {
199
199
  className: "flex gap-3",
200
- children: [/* @__PURE__ */ f("div", { className: "h-5 w-16 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "h-5 w-24 animate-pulse rounded bg-bg-sunken" })]
200
+ children: [/* @__PURE__ */ p("div", { className: "h-5 w-16 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "h-5 w-24 animate-pulse rounded bg-bg-sunken" })]
201
201
  })
202
202
  ]
203
203
  })]
204
- }), /* @__PURE__ */ p("div", {
204
+ }), /* @__PURE__ */ m("div", {
205
205
  className: "flex flex-col gap-4 md:w-1/2 md:items-end",
206
- children: [/* @__PURE__ */ p("div", {
206
+ children: [/* @__PURE__ */ m("div", {
207
207
  className: "flex items-center gap-4",
208
208
  children: [
209
- /* @__PURE__ */ p("div", {
209
+ /* @__PURE__ */ m("div", {
210
210
  className: "text-center",
211
- children: [/* @__PURE__ */ f("div", { className: "h-10 w-16 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "mt-1 h-3 w-20 animate-pulse rounded bg-bg-sunken" })]
211
+ children: [/* @__PURE__ */ p("div", { className: "h-10 w-16 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "mt-1 h-3 w-20 animate-pulse rounded bg-bg-sunken" })]
212
212
  }),
213
- /* @__PURE__ */ f("div", { className: "h-12 w-px bg-border-default" }),
214
- /* @__PURE__ */ p("div", {
213
+ /* @__PURE__ */ p("div", { className: "h-12 w-px bg-border-default" }),
214
+ /* @__PURE__ */ m("div", {
215
215
  className: "text-center",
216
- children: [/* @__PURE__ */ f("div", { className: "h-8 w-16 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "mt-1 h-3 w-16 animate-pulse rounded bg-bg-sunken" })]
216
+ children: [/* @__PURE__ */ p("div", { className: "h-8 w-16 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "mt-1 h-3 w-16 animate-pulse rounded bg-bg-sunken" })]
217
217
  }),
218
- /* @__PURE__ */ f("div", { className: "h-12 w-px bg-border-default" }),
219
- /* @__PURE__ */ p("div", {
218
+ /* @__PURE__ */ p("div", { className: "h-12 w-px bg-border-default" }),
219
+ /* @__PURE__ */ m("div", {
220
220
  className: "text-center",
221
- children: [/* @__PURE__ */ f("div", { className: "h-8 w-20 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "mt-1 h-3 w-12 animate-pulse rounded bg-bg-sunken" })]
221
+ children: [/* @__PURE__ */ p("div", { className: "h-8 w-20 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "mt-1 h-3 w-12 animate-pulse rounded bg-bg-sunken" })]
222
222
  })
223
223
  ]
224
- }), /* @__PURE__ */ p("div", {
224
+ }), /* @__PURE__ */ m("div", {
225
225
  className: "flex gap-3",
226
- children: [/* @__PURE__ */ f("div", { className: "h-12 w-40 animate-pulse rounded-lg bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "size-12 animate-pulse rounded-lg bg-bg-sunken" })]
226
+ children: [/* @__PURE__ */ p("div", { className: "h-12 w-40 animate-pulse rounded-lg bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "size-12 animate-pulse rounded-lg bg-bg-sunken" })]
227
227
  })]
228
228
  })]
229
229
  }),
230
- /* @__PURE__ */ p("section", {
230
+ /* @__PURE__ */ m("section", {
231
231
  className: "mb-8",
232
- children: [/* @__PURE__ */ f("div", { className: "aspect-video animate-pulse rounded-lg bg-bg-sunken" }), /* @__PURE__ */ f("div", {
232
+ children: [/* @__PURE__ */ p("div", { className: "aspect-video animate-pulse rounded-lg bg-bg-sunken" }), /* @__PURE__ */ p("div", {
233
233
  className: "mt-4 flex gap-4",
234
234
  children: [...[
235
235
  ,
236
236
  ,
237
237
  ,
238
238
  ,
239
- ]].map((e, t) => /* @__PURE__ */ f("div", { className: "h-20 w-36 animate-pulse rounded-lg bg-bg-sunken" }, t))
239
+ ]].map((e, t) => /* @__PURE__ */ p("div", { className: "h-20 w-36 animate-pulse rounded-lg bg-bg-sunken" }, t))
240
240
  })]
241
241
  }),
242
- /* @__PURE__ */ p("section", {
242
+ /* @__PURE__ */ m("section", {
243
243
  className: "mb-8",
244
- children: [/* @__PURE__ */ p("div", {
244
+ children: [/* @__PURE__ */ m("div", {
245
245
  className: "mb-4 flex items-center gap-2",
246
- children: [/* @__PURE__ */ f("div", { className: "size-5 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "h-6 w-32 animate-pulse rounded bg-bg-sunken" })]
247
- }), /* @__PURE__ */ p("div", {
246
+ children: [/* @__PURE__ */ p("div", { className: "size-5 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "h-6 w-32 animate-pulse rounded bg-bg-sunken" })]
247
+ }), /* @__PURE__ */ m("div", {
248
248
  className: "animate-pulse rounded-lg border border-border-seam bg-bg-surface p-4",
249
- children: [/* @__PURE__ */ p("div", {
249
+ children: [/* @__PURE__ */ m("div", {
250
250
  className: "space-y-2",
251
251
  children: [
252
- /* @__PURE__ */ f("div", { className: "h-4 w-full rounded bg-bg-sunken" }),
253
- /* @__PURE__ */ f("div", { className: "h-4 w-full rounded bg-bg-sunken" }),
254
- /* @__PURE__ */ f("div", { className: "h-4 w-3/4 rounded bg-bg-sunken" }),
255
- /* @__PURE__ */ f("div", { className: "h-4 w-5/6 rounded bg-bg-sunken" })
252
+ /* @__PURE__ */ p("div", { className: "h-4 w-full rounded bg-bg-sunken" }),
253
+ /* @__PURE__ */ p("div", { className: "h-4 w-full rounded bg-bg-sunken" }),
254
+ /* @__PURE__ */ p("div", { className: "h-4 w-3/4 rounded bg-bg-sunken" }),
255
+ /* @__PURE__ */ p("div", { className: "h-4 w-5/6 rounded bg-bg-sunken" })
256
256
  ]
257
- }), /* @__PURE__ */ f("div", {
257
+ }), /* @__PURE__ */ p("div", {
258
258
  className: "mt-4 flex gap-2",
259
259
  children: [...[
260
260
  ,
261
261
  ,
262
262
  ,
263
263
  ,
264
- ]].map((e, t) => /* @__PURE__ */ f("div", { className: "h-6 w-16 rounded-full bg-bg-sunken" }, t))
264
+ ]].map((e, t) => /* @__PURE__ */ p("div", { className: "h-6 w-16 rounded-full bg-bg-sunken" }, t))
265
265
  })]
266
266
  })]
267
267
  }),
268
- /* @__PURE__ */ p("section", {
268
+ /* @__PURE__ */ m("section", {
269
269
  className: "mb-8",
270
270
  children: [
271
- /* @__PURE__ */ p("div", {
271
+ /* @__PURE__ */ m("div", {
272
272
  className: "mb-4 flex items-center justify-between",
273
- children: [/* @__PURE__ */ p("div", {
273
+ children: [/* @__PURE__ */ m("div", {
274
274
  className: "flex items-center gap-2",
275
- children: [/* @__PURE__ */ f("div", { className: "size-5 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "h-6 w-40 animate-pulse rounded bg-bg-sunken" })]
276
- }), /* @__PURE__ */ f("div", { className: "h-4 w-16 animate-pulse rounded bg-bg-sunken" })]
275
+ children: [/* @__PURE__ */ p("div", { className: "size-5 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "h-6 w-40 animate-pulse rounded bg-bg-sunken" })]
276
+ }), /* @__PURE__ */ p("div", { className: "h-4 w-16 animate-pulse rounded bg-bg-sunken" })]
277
277
  }),
278
- /* @__PURE__ */ p("div", {
278
+ /* @__PURE__ */ m("div", {
279
279
  className: "mb-6 flex flex-col gap-6 md:flex-row",
280
- children: [/* @__PURE__ */ f("div", {
280
+ children: [/* @__PURE__ */ p("div", {
281
281
  className: "animate-pulse rounded-lg border border-border-seam bg-bg-surface p-4 md:w-64",
282
- children: /* @__PURE__ */ p("div", {
282
+ children: /* @__PURE__ */ m("div", {
283
283
  className: "flex items-center gap-6",
284
- children: [/* @__PURE__ */ p("div", {
284
+ children: [/* @__PURE__ */ m("div", {
285
285
  className: "text-center",
286
286
  children: [
287
- /* @__PURE__ */ f("div", { className: "h-12 w-16 rounded bg-bg-sunken" }),
288
- /* @__PURE__ */ f("div", {
287
+ /* @__PURE__ */ p("div", { className: "h-12 w-16 rounded bg-bg-sunken" }),
288
+ /* @__PURE__ */ p("div", {
289
289
  className: "my-1 flex justify-center gap-0.5",
290
290
  children: [...[
291
291
  ,
@@ -293,11 +293,11 @@ var Ee = (e, t) => ({
293
293
  ,
294
294
  ,
295
295
  ,
296
- ]].map((e, t) => /* @__PURE__ */ f("div", { className: "size-4 rounded bg-bg-sunken" }, t))
296
+ ]].map((e, t) => /* @__PURE__ */ p("div", { className: "size-4 rounded bg-bg-sunken" }, t))
297
297
  }),
298
- /* @__PURE__ */ f("div", { className: "h-3 w-20 rounded bg-bg-sunken" })
298
+ /* @__PURE__ */ p("div", { className: "h-3 w-20 rounded bg-bg-sunken" })
299
299
  ]
300
- }), /* @__PURE__ */ f("div", {
300
+ }), /* @__PURE__ */ p("div", {
301
301
  className: "flex-1 space-y-1",
302
302
  children: [...[
303
303
  ,
@@ -305,29 +305,29 @@ var Ee = (e, t) => ({
305
305
  ,
306
306
  ,
307
307
  ,
308
- ]].map((e, t) => /* @__PURE__ */ p("div", {
308
+ ]].map((e, t) => /* @__PURE__ */ m("div", {
309
309
  className: "flex items-center gap-2",
310
310
  children: [
311
- /* @__PURE__ */ f("div", { className: "h-2 w-3 rounded bg-bg-sunken" }),
312
- /* @__PURE__ */ f("div", { className: "h-2 flex-1 rounded-full bg-bg-sunken" }),
313
- /* @__PURE__ */ f("div", { className: "h-2 w-8 rounded bg-bg-sunken" })
311
+ /* @__PURE__ */ p("div", { className: "h-2 w-3 rounded bg-bg-sunken" }),
312
+ /* @__PURE__ */ p("div", { className: "h-2 flex-1 rounded-full bg-bg-sunken" }),
313
+ /* @__PURE__ */ p("div", { className: "h-2 w-8 rounded bg-bg-sunken" })
314
314
  ]
315
315
  }, t))
316
316
  })]
317
317
  })
318
- }), /* @__PURE__ */ f("div", { className: "h-12 w-32 animate-pulse rounded-lg bg-bg-sunken" })]
318
+ }), /* @__PURE__ */ p("div", { className: "h-12 w-32 animate-pulse rounded-lg bg-bg-sunken" })]
319
319
  }),
320
- /* @__PURE__ */ f("div", {
320
+ /* @__PURE__ */ p("div", {
321
321
  className: "space-y-4",
322
- children: [...[, ,]].map((e, t) => /* @__PURE__ */ p("div", {
322
+ children: [...[, ,]].map((e, t) => /* @__PURE__ */ m("div", {
323
323
  className: "animate-pulse rounded-lg border border-border-seam bg-bg-surface p-4",
324
- children: [/* @__PURE__ */ p("div", {
324
+ children: [/* @__PURE__ */ m("div", {
325
325
  className: "mb-3 flex items-start gap-3",
326
- children: [/* @__PURE__ */ f("div", { className: "size-10 rounded-full bg-bg-sunken" }), /* @__PURE__ */ p("div", {
326
+ children: [/* @__PURE__ */ p("div", { className: "size-10 rounded-full bg-bg-sunken" }), /* @__PURE__ */ m("div", {
327
327
  className: "flex-1",
328
- children: [/* @__PURE__ */ f("div", { className: "h-4 w-32 rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", {
328
+ children: [/* @__PURE__ */ p("div", { className: "h-4 w-32 rounded bg-bg-sunken" }), /* @__PURE__ */ m("div", {
329
329
  className: "mt-1 flex items-center gap-2",
330
- children: [/* @__PURE__ */ f("div", {
330
+ children: [/* @__PURE__ */ p("div", {
331
331
  className: "flex gap-0.5",
332
332
  children: [...[
333
333
  ,
@@ -335,26 +335,26 @@ var Ee = (e, t) => ({
335
335
  ,
336
336
  ,
337
337
  ,
338
- ]].map((e, t) => /* @__PURE__ */ f("div", { className: "size-3 rounded bg-bg-sunken" }, t))
339
- }), /* @__PURE__ */ f("div", { className: "h-3 w-20 rounded bg-bg-sunken" })]
338
+ ]].map((e, t) => /* @__PURE__ */ p("div", { className: "size-3 rounded bg-bg-sunken" }, t))
339
+ }), /* @__PURE__ */ p("div", { className: "h-3 w-20 rounded bg-bg-sunken" })]
340
340
  })]
341
341
  })]
342
- }), /* @__PURE__ */ p("div", {
342
+ }), /* @__PURE__ */ m("div", {
343
343
  className: "space-y-2",
344
- children: [/* @__PURE__ */ f("div", { className: "h-4 w-full rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "h-4 w-2/3 rounded bg-bg-sunken" })]
344
+ children: [/* @__PURE__ */ p("div", { className: "h-4 w-full rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "h-4 w-2/3 rounded bg-bg-sunken" })]
345
345
  })]
346
346
  }, t))
347
347
  })
348
348
  ]
349
349
  }),
350
- /* @__PURE__ */ p("section", {
350
+ /* @__PURE__ */ m("section", {
351
351
  className: "mb-8",
352
- children: [/* @__PURE__ */ p("div", {
352
+ children: [/* @__PURE__ */ m("div", {
353
353
  className: "mb-4 flex items-center gap-2",
354
- children: [/* @__PURE__ */ f("div", { className: "size-5 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "h-6 w-48 animate-pulse rounded bg-bg-sunken" })]
355
- }), /* @__PURE__ */ f("div", {
354
+ children: [/* @__PURE__ */ p("div", { className: "size-5 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "h-6 w-48 animate-pulse rounded bg-bg-sunken" })]
355
+ }), /* @__PURE__ */ p("div", {
356
356
  className: "animate-pulse rounded-lg border border-border-seam bg-bg-surface p-4",
357
- children: /* @__PURE__ */ f("div", {
357
+ children: /* @__PURE__ */ p("div", {
358
358
  className: "grid gap-4 md:grid-cols-2",
359
359
  children: [...[
360
360
  ,
@@ -363,37 +363,37 @@ var Ee = (e, t) => ({
363
363
  ,
364
364
  ,
365
365
  ,
366
- ]].map((e, t) => /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("div", { className: "h-3 w-16 rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "mt-1 h-5 w-24 rounded bg-bg-sunken" })] }, t))
366
+ ]].map((e, t) => /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("div", { className: "h-3 w-16 rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "mt-1 h-5 w-24 rounded bg-bg-sunken" })] }, t))
367
367
  })
368
368
  })]
369
369
  }),
370
- /* @__PURE__ */ p("section", {
370
+ /* @__PURE__ */ m("section", {
371
371
  className: "mb-8",
372
- children: [/* @__PURE__ */ p("div", {
372
+ children: [/* @__PURE__ */ m("div", {
373
373
  className: "mb-4 flex items-center justify-between",
374
- children: [/* @__PURE__ */ p("div", {
374
+ children: [/* @__PURE__ */ m("div", {
375
375
  className: "flex items-center gap-2",
376
- children: [/* @__PURE__ */ f("div", { className: "size-5 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "h-6 w-40 animate-pulse rounded bg-bg-sunken" })]
377
- }), /* @__PURE__ */ f("div", { className: "h-4 w-16 animate-pulse rounded bg-bg-sunken" })]
378
- }), /* @__PURE__ */ f("div", {
376
+ children: [/* @__PURE__ */ p("div", { className: "size-5 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "h-6 w-40 animate-pulse rounded bg-bg-sunken" })]
377
+ }), /* @__PURE__ */ p("div", { className: "h-4 w-16 animate-pulse rounded bg-bg-sunken" })]
378
+ }), /* @__PURE__ */ p("div", {
379
379
  className: "grid gap-4 md:grid-cols-4",
380
380
  children: [...[
381
381
  ,
382
382
  ,
383
383
  ,
384
384
  ,
385
- ]].map((e, t) => /* @__PURE__ */ f("div", {
385
+ ]].map((e, t) => /* @__PURE__ */ p("div", {
386
386
  className: "animate-pulse rounded-lg border border-border-seam bg-bg-surface p-3",
387
- children: /* @__PURE__ */ p("div", {
387
+ children: /* @__PURE__ */ m("div", {
388
388
  className: "flex items-center gap-3",
389
- children: [/* @__PURE__ */ f("div", { className: "size-14 rounded-xl bg-bg-sunken" }), /* @__PURE__ */ p("div", {
389
+ children: [/* @__PURE__ */ p("div", { className: "size-14 rounded-xl bg-bg-sunken" }), /* @__PURE__ */ m("div", {
390
390
  className: "flex-1",
391
391
  children: [
392
- /* @__PURE__ */ f("div", { className: "h-4 w-24 rounded bg-bg-sunken" }),
393
- /* @__PURE__ */ f("div", { className: "mt-1 h-3 w-16 rounded bg-bg-sunken" }),
394
- /* @__PURE__ */ p("div", {
392
+ /* @__PURE__ */ p("div", { className: "h-4 w-24 rounded bg-bg-sunken" }),
393
+ /* @__PURE__ */ p("div", { className: "mt-1 h-3 w-16 rounded bg-bg-sunken" }),
394
+ /* @__PURE__ */ m("div", {
395
395
  className: "mt-1 flex items-center gap-2",
396
- children: [/* @__PURE__ */ f("div", { className: "h-3 w-8 rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "h-3 w-12 rounded bg-bg-sunken" })]
396
+ children: [/* @__PURE__ */ p("div", { className: "h-3 w-8 rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "h-3 w-12 rounded bg-bg-sunken" })]
397
397
  })
398
398
  ]
399
399
  })]
@@ -401,46 +401,46 @@ var Ee = (e, t) => ({
401
401
  }, t))
402
402
  })]
403
403
  }),
404
- /* @__PURE__ */ p("section", {
404
+ /* @__PURE__ */ m("section", {
405
405
  className: "mb-8",
406
- children: [/* @__PURE__ */ f("div", { className: "mb-4 h-6 w-36 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", {
406
+ children: [/* @__PURE__ */ p("div", { className: "mb-4 h-6 w-36 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ m("div", {
407
407
  className: "animate-pulse rounded-lg border border-border-seam bg-bg-surface p-4",
408
- children: [/* @__PURE__ */ p("div", {
408
+ children: [/* @__PURE__ */ m("div", {
409
409
  className: "flex items-center gap-4",
410
- children: [/* @__PURE__ */ f("div", { className: "size-12 rounded-lg bg-bg-sunken" }), /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ p("div", {
410
+ children: [/* @__PURE__ */ p("div", { className: "size-12 rounded-lg bg-bg-sunken" }), /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ m("div", {
411
411
  className: "flex items-center gap-2",
412
- children: [/* @__PURE__ */ f("div", { className: "h-5 w-32 rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "size-4 rounded-full bg-bg-sunken" })]
413
- }), /* @__PURE__ */ f("div", { className: "mt-1 h-4 w-40 rounded bg-bg-sunken" })] })]
414
- }), /* @__PURE__ */ p("div", {
412
+ children: [/* @__PURE__ */ p("div", { className: "h-5 w-32 rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "size-4 rounded-full bg-bg-sunken" })]
413
+ }), /* @__PURE__ */ p("div", { className: "mt-1 h-4 w-40 rounded bg-bg-sunken" })] })]
414
+ }), /* @__PURE__ */ m("div", {
415
415
  className: "mt-3 space-y-2",
416
- children: [/* @__PURE__ */ f("div", { className: "h-4 w-full rounded bg-bg-sunken" }), /* @__PURE__ */ f("div", { className: "h-4 w-2/3 rounded bg-bg-sunken" })]
416
+ children: [/* @__PURE__ */ p("div", { className: "h-4 w-full rounded bg-bg-sunken" }), /* @__PURE__ */ p("div", { className: "h-4 w-2/3 rounded bg-bg-sunken" })]
417
417
  })]
418
418
  })]
419
419
  })
420
420
  ]
421
421
  })]
422
- }), Ae = ({ error: e, onRetry: t, onBack: n }) => /* @__PURE__ */ f("div", {
422
+ }), ke = ({ error: e, onRetry: t, onBack: n }) => /* @__PURE__ */ p("div", {
423
423
  className: "flex h-full items-center justify-center",
424
- children: /* @__PURE__ */ p("div", {
424
+ children: /* @__PURE__ */ m("div", {
425
425
  className: "text-center",
426
426
  children: [
427
- /* @__PURE__ */ f(o, { className: "mx-auto mb-4 size-12 text-status-error-text" }),
428
- /* @__PURE__ */ f("h2", {
427
+ /* @__PURE__ */ p(s, { className: "mx-auto mb-4 size-12 text-status-error-text" }),
428
+ /* @__PURE__ */ p("h2", {
429
429
  className: "mb-2 text-xl font-semibold text-text-primary",
430
430
  children: "Failed to load product"
431
431
  }),
432
- /* @__PURE__ */ f("p", {
432
+ /* @__PURE__ */ p("p", {
433
433
  className: "mb-4 text-text-muted",
434
434
  children: e.message || "An error occurred while loading the product details."
435
435
  }),
436
- /* @__PURE__ */ p("div", {
436
+ /* @__PURE__ */ m("div", {
437
437
  className: "flex justify-center gap-3",
438
- children: [/* @__PURE__ */ f("button", {
438
+ children: [/* @__PURE__ */ p("button", {
439
439
  type: "button",
440
440
  onClick: t,
441
441
  className: "rounded-lg bg-action-primary-bg px-4 py-2 text-action-primary-text transition-opacity hover:opacity-90",
442
442
  children: "Try Again"
443
- }), /* @__PURE__ */ f("button", {
443
+ }), /* @__PURE__ */ p("button", {
444
444
  type: "button",
445
445
  onClick: n,
446
446
  className: "rounded-lg border border-border-default px-4 py-2 text-text-primary transition-colors hover:bg-bg-sunken",
@@ -449,78 +449,78 @@ var Ee = (e, t) => ({
449
449
  })
450
450
  ]
451
451
  })
452
- }), je = () => {
453
- let { productId: o } = be(), u = ye(), je = ve(), { basePath: h, workspaceId: g } = e(), { addProduct: Me, cartItems: Ne, addingToCart: Pe, createOrder: Fe, checkingOut: Ie } = t(), { installations: Le, refetch: Re } = oe({
454
- filter: de(() => o && g ? {
455
- productId: o,
456
- workspaceId: g
457
- } : void 0, [o, g]),
452
+ }), Ae = () => {
453
+ let { productId: s } = ye(), d = ve(), Ae = _e(), { basePath: g, workspaceId: _ } = e(), { addProduct: je, cartItems: Me, addingToCart: Ne, createOrder: Pe, checkingOut: Fe } = t(), { installations: Ie, refetch: Le } = oe({
454
+ filter: de(() => s && _ ? {
455
+ productId: s,
456
+ workspaceId: _
457
+ } : void 0, [s, _]),
458
458
  limit: 1
459
- }), ze = Le.find((e) => e.productId === o && e.workspaceId === g && e.status === "ACTIVE"), _ = !!ze, v = ze?.version ?? null, { createReview: Be, loading: Ve } = ee(), { updateReview: He, loading: Ue } = ie(), { deleteReview: We, loading: Ge } = te(), { markHelpful: Ke, loading: qe } = ne(), y = Te(), [b, Je] = a(!1), [x, Ye] = a(!1), [Xe, S] = a(!1), [C, Ze] = a(1), [Qe, w] = a(null), [$e, T] = a(null), [et, E] = a("success"), [D, O] = a(!1), [k, A] = a(""), [j, M] = a(""), [N, P] = a(5), [tt, nt] = a(null), [rt, it] = a(!1), { data: at, loading: ot, error: st, refetch: F } = re({
460
- id: o,
461
- slug: o,
459
+ }), Re = Ie.find((e) => e.productId === s && e.workspaceId === _ && e.status === "ACTIVE"), v = !!Re, y = Re?.version ?? null, { createReview: ze, loading: Be } = i(), { updateReview: Ve, loading: He } = re(), { deleteReview: Ue, loading: We } = ee(), { markHelpful: Ge, loading: Ke } = te(), b = we(), [x, qe] = o(!1), [S, Je] = o(!1), [Ye, C] = o(!1), [w, Xe] = o(1), [Ze, T] = o(null), [Qe, E] = o(null), [$e, D] = o("success"), [O, k] = o(!1), [A, j] = o(""), [M, et] = o(""), [N, P] = o(5), [tt, nt] = o(null), [rt, it] = o(!1), { data: at, loading: ot, error: st, refetch: F } = ne({
460
+ id: s,
461
+ slug: s,
462
462
  includeReviews: !0,
463
463
  reviewsLimit: 10,
464
464
  includeRelated: !0,
465
465
  relatedLimit: 4,
466
466
  includeVersions: !0
467
- }), I = at, L = I?.product, R = I?.publisher, z = Ne.some((e) => e.productId === L?.id), ct = (e) => {
467
+ }), I = at, L = I?.product, R = I?.publisher, z = Me.some((e) => e.productId === L?.id), ct = (e) => {
468
468
  let t = e.split(".");
469
469
  for (; t.length < 3;) t.push("0");
470
470
  return t.join(".");
471
- }, lt = L?.manifestVersion ?? null, ut = !!(_ && v && lt && ct(v) !== ct(lt)), dt = i(async () => {
471
+ }, lt = L?.manifestVersion ?? null, ut = !!(v && y && lt && ct(y) !== ct(lt)), dt = a(async () => {
472
472
  if (L) {
473
- if (w(null), z) {
474
- u(`${h}/cart`);
473
+ if (T(null), z) {
474
+ d(`${g}/cart`);
475
475
  return;
476
476
  }
477
477
  try {
478
- await Me(Ee(L, R), void 0, C);
478
+ await je(Te(L, R), void 0, w);
479
479
  } catch (e) {
480
- console.error("Failed to add product to cart:", e), w("Failed to add this product to cart. Please try again.");
480
+ console.error("Failed to add product to cart:", e), T("Failed to add this product to cart. Please try again.");
481
481
  }
482
482
  }
483
483
  }, [
484
484
  L,
485
485
  R,
486
- Me,
486
+ je,
487
487
  z,
488
- u,
489
- h,
490
- C
491
- ]), ft = i(async () => {
488
+ d,
489
+ g,
490
+ w
491
+ ]), ft = a(async () => {
492
492
  if (L) {
493
- w(null), S(!0);
493
+ T(null), C(!0);
494
494
  try {
495
495
  let e = L.price || 0, t = {
496
496
  productId: L.id,
497
497
  name: L.name,
498
- quantity: C,
498
+ quantity: w,
499
499
  unitPrice: e,
500
- subtotal: e * C,
500
+ subtotal: e * w,
501
501
  itemType: L.nature?.toLowerCase() || "digital",
502
502
  pricingModel: L.pricingModel || "PAID_ONETIME"
503
- }, n = await Fe({
504
- total: e * C,
503
+ }, n = await Pe({
504
+ total: e * w,
505
505
  lineItems: [t],
506
506
  billingAccountId: ""
507
507
  });
508
- n?.id ? u(`/billing/checkout/store/${n.id}${je.search}`) : (console.error("Failed to create order"), w("Failed to create order. Please try again."), S(!1));
508
+ n?.id ? d(`/billing/checkout/store/${n.id}${Ae.search}`) : (console.error("Failed to create order"), T("Failed to create order. Please try again."), C(!1));
509
509
  } catch (e) {
510
- console.error("Buy Now error:", e), w(e instanceof Error ? e.message : "Failed to start checkout"), S(!1);
510
+ console.error("Buy Now error:", e), T(e instanceof Error ? e.message : "Failed to start checkout"), C(!1);
511
511
  }
512
512
  }
513
513
  }, [
514
514
  L,
515
- C,
516
- Fe,
517
- u
518
- ]), B = i(() => {
515
+ w,
516
+ Pe,
517
+ d
518
+ ]), B = a(() => {
519
519
  L && it(!0);
520
520
  }, [L]), pt = fe(L);
521
521
  pt.current = L;
522
- let mt = fe(y);
523
- mt.current = y, ue(() => {
522
+ let mt = fe(b);
523
+ mt.current = b, ue(() => {
524
524
  let e = pt.current;
525
525
  e && mt.current.emit("store.product.viewed", {
526
526
  productId: e.id,
@@ -529,91 +529,91 @@ var Ee = (e, t) => ({
529
529
  pricingModel: e.pricingModel
530
530
  });
531
531
  }, [L?.id]);
532
- let ht = i((e, t) => {
533
- L && (y.emit("store.product.installed", {
532
+ let ht = a((e, t) => {
533
+ L && (b.emit("store.product.installed", {
534
534
  productId: L.id,
535
535
  workspaceId: e
536
- }), console.log(`Successfully installed ${L.name} to workspace ${t} (${e})`), Re());
536
+ }), console.log(`Successfully installed ${L.name} to workspace ${t} (${e})`), Le());
537
537
  }, [
538
538
  L,
539
- y,
540
- Re
541
- ]), gt = i((e) => {
539
+ b,
540
+ Le
541
+ ]), gt = a((e) => {
542
542
  console.error("Installation failed:", e.message);
543
- }, []), _t = i(() => {
544
- A(I?.userReview?.title ?? ""), M(I?.userReview?.comment ?? ""), P(I?.userReview?.rating ?? 5), T(null), E("success"), O(!0);
545
- }, [I?.userReview]), vt = i(async () => {
543
+ }, []), _t = a(() => {
544
+ j(I?.userReview?.title ?? ""), et(I?.userReview?.comment ?? ""), P(I?.userReview?.rating ?? 5), E(null), D("success"), k(!0);
545
+ }, [I?.userReview]), vt = a(async () => {
546
546
  if (!L) return;
547
547
  if (N < 1 || N > 5) {
548
- E("error"), T("Choose a rating from 1 to 5 stars.");
548
+ D("error"), E("Choose a rating from 1 to 5 stars.");
549
549
  return;
550
550
  }
551
551
  let e = {
552
552
  productId: L.id,
553
553
  rating: N,
554
- title: k.trim() || void 0,
555
- comment: j.trim() || void 0
554
+ title: A.trim() || void 0,
555
+ comment: M.trim() || void 0
556
556
  }, t = I?.userReview ? {
557
- data: await He(I.userReview.id, {
557
+ data: await Ve(I.userReview.id, {
558
558
  rating: e.rating,
559
559
  title: e.title,
560
560
  comment: e.comment
561
561
  }),
562
562
  errorMessage: null
563
- } : await Be(e);
563
+ } : await ze(e);
564
564
  if (!t?.data) {
565
- E("error"), T(t?.errorMessage ?? "We could not save your review. Please try again.");
565
+ D("error"), E(t?.errorMessage ?? "We could not save your review. Please try again.");
566
566
  return;
567
567
  }
568
- E("success"), T(I?.userReview ? "Your review was updated." : "Your review was submitted."), O(!1), y.emit("store.review.submitted", {
568
+ D("success"), E(I?.userReview ? "Your review was updated." : "Your review was submitted."), k(!1), b.emit("store.review.submitted", {
569
569
  productId: L.id,
570
570
  rating: N
571
571
  }), await F();
572
572
  }, [
573
- y,
574
- Be,
573
+ b,
574
+ ze,
575
575
  L,
576
576
  I?.userReview,
577
577
  F,
578
- j,
578
+ M,
579
579
  N,
580
- k,
581
- He
582
- ]), yt = i(async () => {
580
+ A,
581
+ Ve
582
+ ]), yt = a(async () => {
583
583
  if (I?.userReview && (ce("medium"), await se({
584
584
  title: "Delete review",
585
585
  message: "Are you sure you want to remove your review?",
586
586
  okButtonTitle: "Delete",
587
587
  cancelButtonTitle: "Cancel"
588
588
  }) !== !1)) {
589
- if (!await We(I.userReview.id)) {
590
- E("error"), T("We could not remove your review. Please try again."), le("error");
589
+ if (!await Ue(I.userReview.id)) {
590
+ D("error"), E("We could not remove your review. Please try again."), le("error");
591
591
  return;
592
592
  }
593
- E("success"), T("Your review was removed."), O(!1), A(""), M(""), P(5), le("success"), await F();
593
+ D("success"), E("Your review was removed."), k(!1), j(""), et(""), P(5), le("success"), await F();
594
594
  }
595
595
  }, [
596
- We,
596
+ Ue,
597
597
  I?.userReview,
598
598
  F
599
- ]), bt = i(async (e) => {
600
- nt(e), await Ke(e) && await F(), nt(null);
601
- }, [Ke, F]);
602
- if (ot) return /* @__PURE__ */ f(ke, {});
603
- if (st) return /* @__PURE__ */ f(Ae, {
599
+ ]), bt = a(async (e) => {
600
+ nt(e), await Ge(e) && await F(), nt(null);
601
+ }, [Ge, F]);
602
+ if (ot) return /* @__PURE__ */ p(Oe, {});
603
+ if (st) return /* @__PURE__ */ p(ke, {
604
604
  error: st,
605
605
  onRetry: F,
606
- onBack: () => u(`${h}/marketplace`)
606
+ onBack: () => d(`${g}/marketplace`)
607
607
  });
608
- if (!I?.product) return /* @__PURE__ */ f("div", {
608
+ if (!I?.product) return /* @__PURE__ */ p("div", {
609
609
  className: "flex h-full items-center justify-center p-6",
610
- children: /* @__PURE__ */ f(Se, {
610
+ children: /* @__PURE__ */ p(xe, {
611
611
  illustration: "empty-search",
612
612
  title: "Product not found",
613
613
  description: "The product you are looking for does not exist or has been removed.",
614
- action: /* @__PURE__ */ f("button", {
614
+ action: /* @__PURE__ */ p("button", {
615
615
  type: "button",
616
- onClick: () => u(`${h}/marketplace`),
616
+ onClick: () => d(`${g}/marketplace`),
617
617
  className: "rounded-lg bg-action-primary-bg px-4 py-2 text-action-primary-text transition-opacity hover:opacity-90",
618
618
  children: "Back to Marketplace"
619
619
  })
@@ -646,32 +646,32 @@ var Ee = (e, t) => ({
646
646
  percentage: q > 0 ? U.oneStar / q * 100 : 0
647
647
  }
648
648
  ] : [], J = K.requiredPermissions || [], Ct = K.integrationDeps || [], wt = () => K.pricingModel === "FREE" ? "Free" : K.pricingModel === "SUBSCRIPTION" ? `${r(K.price, K.currency)}/mo` : r(K.price, K.currency), Y = K.pricingModel === "FREE" || K.price === 0, X = K.nature === "PHYSICAL", Z = X && K.trackInventory === !0, Q = K.stockQuantity ?? 0, $ = Z && Q <= 0;
649
- return /* @__PURE__ */ p("div", {
649
+ return /* @__PURE__ */ m("div", {
650
650
  className: "h-full overflow-y-auto bg-bg-base",
651
651
  children: [
652
- /* @__PURE__ */ f("div", {
652
+ /* @__PURE__ */ p("div", {
653
653
  className: "bg-bg-surface",
654
- children: /* @__PURE__ */ f("div", {
654
+ children: /* @__PURE__ */ p("div", {
655
655
  className: "mx-auto max-w-7xl",
656
- children: /* @__PURE__ */ p("div", {
656
+ children: /* @__PURE__ */ m("div", {
657
657
  className: "flex flex-col lg:flex-row",
658
- children: [/* @__PURE__ */ p("div", {
658
+ children: [/* @__PURE__ */ m("div", {
659
659
  className: "flex-1 px-6 py-8 lg:max-w-xl lg:py-12",
660
660
  children: [
661
- /* @__PURE__ */ p("button", {
661
+ /* @__PURE__ */ m("button", {
662
662
  type: "button",
663
- onClick: () => u(-1),
663
+ onClick: () => d(-1),
664
664
  className: "mb-6 cursor-pointer inline-flex items-center gap-2 text-sm text-text-muted transition-colors hover:text-text-primary",
665
- children: [/* @__PURE__ */ f(me, { className: "size-4" }), "Back"]
665
+ children: [/* @__PURE__ */ p(pe, { className: "size-4" }), "Back"]
666
666
  }),
667
- /* @__PURE__ */ f("h1", {
667
+ /* @__PURE__ */ p("h1", {
668
668
  className: "mb-3 text-4xl font-normal leading-tight text-text-primary lg:text-5xl",
669
669
  children: K.name
670
670
  }),
671
- _ && /* @__PURE__ */ p("div", {
671
+ v && /* @__PURE__ */ m("div", {
672
672
  className: "mb-4 inline-flex items-center gap-1.5 rounded-full bg-status-success-bg-subtle px-3 py-1 text-sm font-medium text-status-success-text",
673
673
  children: [
674
- /* @__PURE__ */ f("svg", {
674
+ /* @__PURE__ */ p("svg", {
675
675
  className: "size-3.5",
676
676
  viewBox: "0 0 16 16",
677
677
  fill: "none",
@@ -680,128 +680,142 @@ var Ee = (e, t) => ({
680
680
  strokeLinecap: "round",
681
681
  strokeLinejoin: "round",
682
682
  "aria-hidden": "true",
683
- children: /* @__PURE__ */ f("polyline", { points: "2,8 6,12 14,4" })
683
+ children: /* @__PURE__ */ p("polyline", { points: "2,8 6,12 14,4" })
684
684
  }),
685
685
  "Installed",
686
- v ? ` v${v}` : ""
686
+ y ? ` v${y}` : ""
687
687
  ]
688
688
  }),
689
689
  /* @__PURE__ */ p("div", {
690
690
  className: "mb-2",
691
- children: [R?.websiteUrl ? /* @__PURE__ */ f("a", {
692
- href: R.websiteUrl,
693
- target: "_blank",
694
- rel: "noreferrer",
695
- className: "text-base font-medium text-text-link hover:underline",
696
- children: R.name
697
- }) : /* @__PURE__ */ f("span", {
698
- className: "text-base font-medium text-text-primary",
699
- children: R?.name || K.authorName || "Unknown Publisher"
700
- }), R?.isVerified && /* @__PURE__ */ f(c, { className: "ml-1.5 inline size-4 text-status-success-text" })]
691
+ children: (() => {
692
+ let e = R?.developerOrganization, t = e?.name || R?.name || K.authorName || "Unknown Publisher", n = e?.logoUrl || R?.logoUrl, r = e?.isVerified || R?.isVerified, i = R?.websiteUrl;
693
+ return /* @__PURE__ */ m("div", {
694
+ className: "flex items-center gap-2",
695
+ children: [
696
+ n && /* @__PURE__ */ p("img", {
697
+ src: n,
698
+ alt: t,
699
+ className: "size-5 rounded object-cover"
700
+ }),
701
+ i ? /* @__PURE__ */ p("a", {
702
+ href: i,
703
+ target: "_blank",
704
+ rel: "noreferrer",
705
+ className: "text-base font-medium text-text-link hover:underline",
706
+ children: t
707
+ }) : /* @__PURE__ */ p("span", {
708
+ className: "text-base font-medium text-text-primary",
709
+ children: t
710
+ }),
711
+ r && /* @__PURE__ */ p(l, { className: "size-4 text-status-success-text" })
712
+ ]
713
+ });
714
+ })()
701
715
  }),
702
- /* @__PURE__ */ p("p", {
716
+ /* @__PURE__ */ m("p", {
703
717
  className: "mb-6 text-sm text-text-muted",
704
718
  children: [
705
- K.category && /* @__PURE__ */ f("span", { children: K.category }),
719
+ K.category && /* @__PURE__ */ p("span", { children: K.category }),
706
720
  K.category && " · ",
707
721
  n(K.downloads),
708
722
  "+ downloads"
709
723
  ]
710
724
  }),
711
- /* @__PURE__ */ p(xe, {
725
+ /* @__PURE__ */ m(be, {
712
726
  className: "mb-6 p-5",
713
727
  children: [
714
- /* @__PURE__ */ p("div", {
728
+ /* @__PURE__ */ m("div", {
715
729
  className: "mb-6 flex items-center gap-4",
716
730
  children: [
717
- /* @__PURE__ */ f("div", {
731
+ /* @__PURE__ */ p("div", {
718
732
  className: "flex size-12 items-center justify-center overflow-hidden rounded-xl bg-bg-sunken",
719
- children: K.icon ? /* @__PURE__ */ f("img", {
733
+ children: K.icon ? /* @__PURE__ */ p("img", {
720
734
  src: K.icon,
721
735
  alt: "",
722
736
  className: "size-full object-cover"
723
- }) : /* @__PURE__ */ f("span", {
737
+ }) : /* @__PURE__ */ p("span", {
724
738
  className: "text-lg font-bold text-text-muted",
725
739
  children: K.name.charAt(0)
726
740
  })
727
741
  }),
728
- /* @__PURE__ */ p("div", {
742
+ /* @__PURE__ */ m("div", {
729
743
  className: "flex items-center gap-1 border-l border-border-default pl-4",
730
744
  children: [
731
- /* @__PURE__ */ f("span", {
745
+ /* @__PURE__ */ p("span", {
732
746
  className: "text-sm font-medium text-text-primary",
733
747
  children: (K.rating || 0).toFixed(1)
734
748
  }),
735
- /* @__PURE__ */ f(l, { className: "size-4 fill-current text-status-warning-text" }),
736
- /* @__PURE__ */ p("span", {
749
+ /* @__PURE__ */ p(u, { className: "size-4 fill-current text-status-warning-text" }),
750
+ /* @__PURE__ */ m("span", {
737
751
  className: "ml-1 text-xs text-text-muted",
738
752
  children: [n(xt || K.reviewCount), " reviews"]
739
753
  })
740
754
  ]
741
755
  }),
742
- /* @__PURE__ */ p("div", {
756
+ /* @__PURE__ */ m("div", {
743
757
  className: "border-l border-border-default pl-4",
744
- children: [/* @__PURE__ */ p("span", {
758
+ children: [/* @__PURE__ */ m("span", {
745
759
  className: "text-sm font-medium text-text-primary",
746
760
  children: [n(K.downloads), "+"]
747
- }), /* @__PURE__ */ f("p", {
761
+ }), /* @__PURE__ */ p("p", {
748
762
  className: "text-xs text-text-muted",
749
763
  children: "Downloads"
750
764
  })]
751
765
  }),
752
- /* @__PURE__ */ p("div", {
766
+ /* @__PURE__ */ m("div", {
753
767
  className: "border-l border-border-default pl-4",
754
- children: [/* @__PURE__ */ f("span", {
768
+ children: [/* @__PURE__ */ p("span", {
755
769
  className: "rounded bg-bg-sunken px-2 py-1 text-xs font-medium text-text-primary",
756
770
  children: K.type
757
- }), /* @__PURE__ */ f("p", {
771
+ }), /* @__PURE__ */ p("p", {
758
772
  className: "mt-0.5 text-xs text-text-muted",
759
773
  children: "Type"
760
774
  })]
761
775
  })
762
776
  ]
763
777
  }),
764
- Qe && /* @__PURE__ */ f("div", {
778
+ Ze && /* @__PURE__ */ p("div", {
765
779
  role: "alert",
766
780
  className: "mb-4 rounded-lg border border-status-error-bg bg-status-error-bg-subtle px-4 py-3 text-sm text-status-error-text",
767
- children: Qe
781
+ children: Ze
768
782
  }),
769
- X && /* @__PURE__ */ p("div", {
783
+ X && /* @__PURE__ */ m("div", {
770
784
  className: "mb-4 flex flex-wrap items-center gap-4",
771
- children: [Z && ($ ? /* @__PURE__ */ p("span", {
785
+ children: [Z && ($ ? /* @__PURE__ */ m("span", {
772
786
  className: "inline-flex items-center gap-1.5 rounded-full bg-status-error-bg-subtle px-3 py-1 text-sm font-medium text-status-error-text",
773
- children: [/* @__PURE__ */ f(s, { className: "size-4" }), "Out of stock"]
774
- }) : /* @__PURE__ */ p("span", {
787
+ children: [/* @__PURE__ */ p(c, { className: "size-4" }), "Out of stock"]
788
+ }) : /* @__PURE__ */ m("span", {
775
789
  className: "inline-flex items-center gap-1.5 rounded-full bg-status-success-bg-subtle px-3 py-1 text-sm font-medium text-status-success-text",
776
790
  children: [
777
- /* @__PURE__ */ f(s, { className: "size-4" }),
791
+ /* @__PURE__ */ p(c, { className: "size-4" }),
778
792
  n(Q),
779
793
  " in stock"
780
794
  ]
781
- })), !$ && /* @__PURE__ */ p("div", {
795
+ })), !$ && /* @__PURE__ */ m("div", {
782
796
  className: "flex items-center gap-2",
783
- children: [/* @__PURE__ */ f("span", {
797
+ children: [/* @__PURE__ */ p("span", {
784
798
  className: "text-sm text-text-muted",
785
799
  children: "Qty"
786
- }), /* @__PURE__ */ p("div", {
800
+ }), /* @__PURE__ */ m("div", {
787
801
  className: "flex items-center rounded-full border border-border-default",
788
802
  children: [
789
- /* @__PURE__ */ f("button", {
803
+ /* @__PURE__ */ p("button", {
790
804
  type: "button",
791
- onClick: () => Ze((e) => Math.max(1, e - 1)),
792
- disabled: C <= 1,
805
+ onClick: () => Xe((e) => Math.max(1, e - 1)),
806
+ disabled: w <= 1,
793
807
  "aria-label": "Decrease quantity",
794
808
  className: "cursor-pointer px-3 py-1.5 text-text-primary transition-colors hover:bg-bg-sunken disabled:cursor-not-allowed disabled:opacity-40",
795
809
  children: "−"
796
810
  }),
797
- /* @__PURE__ */ f("span", {
811
+ /* @__PURE__ */ p("span", {
798
812
  className: "min-w-8 px-2 text-center text-sm font-medium tabular-nums text-text-primary",
799
- children: C
813
+ children: w
800
814
  }),
801
- /* @__PURE__ */ f("button", {
815
+ /* @__PURE__ */ p("button", {
802
816
  type: "button",
803
- onClick: () => Ze((e) => Z ? Math.min(Q, e + 1) : e + 1),
804
- disabled: Z && C >= Q,
817
+ onClick: () => Xe((e) => Z ? Math.min(Q, e + 1) : e + 1),
818
+ disabled: Z && w >= Q,
805
819
  "aria-label": "Increase quantity",
806
820
  className: "cursor-pointer px-3 py-1.5 text-text-primary transition-colors hover:bg-bg-sunken disabled:cursor-not-allowed disabled:opacity-40",
807
821
  children: "+"
@@ -810,13 +824,13 @@ var Ee = (e, t) => ({
810
824
  })]
811
825
  })]
812
826
  }),
813
- /* @__PURE__ */ p("div", {
827
+ /* @__PURE__ */ m("div", {
814
828
  className: "mb-6 flex items-center gap-3",
815
- children: [_ ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ p("button", {
829
+ children: [v ? /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ m("button", {
816
830
  type: "button",
817
831
  disabled: !0,
818
832
  className: "flex items-center gap-2 rounded-full bg-status-success-bg-subtle px-8 py-3 font-medium text-status-success-text cursor-default",
819
- children: [/* @__PURE__ */ f("svg", {
833
+ children: [/* @__PURE__ */ p("svg", {
820
834
  className: "size-4",
821
835
  viewBox: "0 0 16 16",
822
836
  fill: "none",
@@ -825,60 +839,60 @@ var Ee = (e, t) => ({
825
839
  strokeLinecap: "round",
826
840
  strokeLinejoin: "round",
827
841
  "aria-hidden": "true",
828
- children: /* @__PURE__ */ f("polyline", { points: "2,8 6,12 14,4" })
842
+ children: /* @__PURE__ */ p("polyline", { points: "2,8 6,12 14,4" })
829
843
  }), "Installed"]
830
- }), ut && /* @__PURE__ */ p("button", {
844
+ }), ut && /* @__PURE__ */ m("button", {
831
845
  type: "button",
832
846
  onClick: B,
833
847
  className: "cursor-pointer rounded-full bg-action-primary-bg px-8 py-3 font-medium text-action-primary-text transition-opacity hover:opacity-90",
834
848
  children: ["Update to v", K.manifestVersion]
835
- })] }) : !X && W && !Y ? /* @__PURE__ */ f("button", {
849
+ })] }) : !X && W && !Y ? /* @__PURE__ */ p("button", {
836
850
  type: "button",
837
851
  onClick: B,
838
852
  className: "cursor-pointer rounded-full bg-action-primary-bg px-8 py-3 font-medium text-action-primary-text transition-opacity hover:opacity-90",
839
853
  children: "Install to Workspace"
840
- }) : !X && Y ? /* @__PURE__ */ f("button", {
854
+ }) : !X && Y ? /* @__PURE__ */ p("button", {
841
855
  type: "button",
842
856
  onClick: B,
843
857
  className: "cursor-pointer rounded-full bg-action-primary-bg px-8 py-3 font-medium text-action-primary-text transition-opacity hover:opacity-90",
844
858
  children: "Install"
845
- }) : /* @__PURE__ */ f("button", {
859
+ }) : /* @__PURE__ */ p("button", {
846
860
  type: "button",
847
861
  onClick: ft,
848
- disabled: Xe || Ie || $,
862
+ disabled: Ye || Fe || $,
849
863
  className: "cursor-pointer flex items-center gap-2 rounded-full bg-action-primary-bg px-8 py-3 font-medium text-action-primary-text transition-opacity hover:opacity-90 disabled:opacity-70",
850
- children: Xe || Ie ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(ge, { className: "size-4 animate-spin" }), "Processing…"] }) : $ ? "Out of stock" : `Buy ${wt()}`
851
- }), !Y && (!W || X) && /* @__PURE__ */ p("button", {
864
+ children: Ye || Fe ? /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ p(he, { className: "size-4 animate-spin" }), "Processing…"] }) : $ ? "Out of stock" : `Buy ${wt()}`
865
+ }), !Y && (!W || X) && /* @__PURE__ */ m("button", {
852
866
  type: "button",
853
867
  onClick: dt,
854
- disabled: Pe || $,
868
+ disabled: Ne || $,
855
869
  className: "cursor-pointer flex items-center gap-2 rounded-full border border-border-default px-4 py-3 text-sm text-text-primary transition-colors hover:bg-bg-sunken disabled:opacity-50",
856
- children: [Pe ? /* @__PURE__ */ f(ge, { className: "size-4 animate-spin" }) : z ? /* @__PURE__ */ f(he, { className: "size-4 text-status-success-text" }) : /* @__PURE__ */ f(_e, { className: "size-4" }), z ? "In Cart" : "Add to Cart"]
870
+ children: [Ne ? /* @__PURE__ */ p(he, { className: "size-4 animate-spin" }) : z ? /* @__PURE__ */ p(me, { className: "size-4 text-status-success-text" }) : /* @__PURE__ */ p(ge, { className: "size-4" }), z ? "In Cart" : "Add to Cart"]
857
871
  })]
858
872
  }),
859
- X ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ p("p", {
873
+ X ? /* @__PURE__ */ m(f, { children: [/* @__PURE__ */ m("p", {
860
874
  className: "flex items-center gap-2 text-xs text-text-muted",
861
- children: [/* @__PURE__ */ f(s, { className: "size-4" }), K.requiresShipping === !1 ? "Available for pickup — no shipping required" : "Ships to your delivery address"]
862
- }), !Y && /* @__PURE__ */ p("p", {
875
+ children: [/* @__PURE__ */ p(c, { className: "size-4" }), K.requiresShipping === !1 ? "Available for pickup — no shipping required" : "Ships to your delivery address"]
876
+ }), !Y && /* @__PURE__ */ m("p", {
863
877
  className: "text-xs text-text-tertiary",
864
878
  children: [
865
879
  "Returns and refunds are handled by ",
866
880
  R?.name || "the seller",
867
881
  " per their store policy."
868
882
  ]
869
- })] }) : /* @__PURE__ */ p(d, { children: [
870
- /* @__PURE__ */ p("p", {
883
+ })] }) : /* @__PURE__ */ m(f, { children: [
884
+ /* @__PURE__ */ m("p", {
871
885
  className: "flex items-center gap-2 text-xs text-text-muted",
872
- children: [/* @__PURE__ */ f(s, { className: "size-4" }), "This app is available for your workspace"]
886
+ children: [/* @__PURE__ */ p(c, { className: "size-4" }), "This app is available for your workspace"]
873
887
  }),
874
- !Y && !W && /* @__PURE__ */ f("p", {
888
+ !Y && !W && /* @__PURE__ */ p("p", {
875
889
  className: "text-xs text-text-tertiary",
876
890
  children: "All purchases are final. Digital app orders cannot be cancelled or refunded once completed."
877
891
  }),
878
- G && /* @__PURE__ */ p("p", {
892
+ G && /* @__PURE__ */ m("p", {
879
893
  className: "mt-2 flex items-center gap-2 text-xs text-text-muted",
880
894
  children: [
881
- /* @__PURE__ */ f(c, { className: "size-4 text-status-success-text" }),
895
+ /* @__PURE__ */ p(l, { className: "size-4 text-status-success-text" }),
882
896
  "License: ",
883
897
  G.status,
884
898
  G.expiresAt && ` (Expires: ${new Date(G.expiresAt).toLocaleDateString()})`
@@ -888,33 +902,33 @@ var Ee = (e, t) => ({
888
902
  ]
889
903
  })
890
904
  ]
891
- }), /* @__PURE__ */ f("div", {
905
+ }), /* @__PURE__ */ p("div", {
892
906
  className: "relative flex-1 overflow-hidden bg-bg-sunken lg:min-h-[500px]",
893
- children: K.type === "WORKFLOW" ? /* @__PURE__ */ f("iframe", {
907
+ children: K.type === "WORKFLOW" ? /* @__PURE__ */ p("iframe", {
894
908
  src: `${window.location.origin}/embed/workflow?productId=${encodeURIComponent(K.id)}&cta=false&theme=${document.documentElement.classList.contains("dark") ? "dark" : "light"}`,
895
909
  title: `${K.name} workflow preview`,
896
910
  loading: "lazy",
897
911
  className: "size-full min-h-[300px] border-0 lg:min-h-[500px]"
898
- }) : K.bannerUrl ? /* @__PURE__ */ f("img", {
912
+ }) : K.bannerUrl ? /* @__PURE__ */ p("img", {
899
913
  src: K.bannerUrl,
900
914
  alt: `${K.name} banner`,
901
915
  className: "size-full object-cover"
902
- }) : K.screenshots && K.screenshots.length > 0 ? /* @__PURE__ */ f("img", {
916
+ }) : K.screenshots && K.screenshots.length > 0 ? /* @__PURE__ */ p("img", {
903
917
  src: K.screenshots[0],
904
918
  alt: `${K.name} preview`,
905
919
  className: "size-full object-cover"
906
- }) : /* @__PURE__ */ p("div", {
920
+ }) : /* @__PURE__ */ m("div", {
907
921
  className: "flex h-full min-h-[300px] flex-col items-center justify-center gap-3 p-8 text-center",
908
922
  children: [
909
- /* @__PURE__ */ f("div", {
923
+ /* @__PURE__ */ p("div", {
910
924
  className: "flex size-20 items-center justify-center rounded-2xl bg-bg-surface text-3xl font-bold text-text-muted",
911
925
  children: K.name.charAt(0)
912
926
  }),
913
- /* @__PURE__ */ f("p", {
927
+ /* @__PURE__ */ p("p", {
914
928
  className: "text-sm text-text-muted",
915
929
  children: "No preview available"
916
930
  }),
917
- /* @__PURE__ */ f("p", {
931
+ /* @__PURE__ */ p("p", {
918
932
  className: "max-w-[200px] text-xs text-text-muted opacity-60",
919
933
  children: "Upload screenshots in the Store Listing tab to show a preview here"
920
934
  })
@@ -924,17 +938,17 @@ var Ee = (e, t) => ({
924
938
  })
925
939
  })
926
940
  }),
927
- K.screenshots && K.screenshots.length > 0 && /* @__PURE__ */ f("div", {
941
+ K.screenshots && K.screenshots.length > 0 && /* @__PURE__ */ p("div", {
928
942
  className: "border-y border-border-default bg-bg-base",
929
- children: /* @__PURE__ */ p("div", {
943
+ children: /* @__PURE__ */ m("div", {
930
944
  className: "px-6 py-6",
931
- children: [/* @__PURE__ */ f("h2", {
945
+ children: [/* @__PURE__ */ p("h2", {
932
946
  className: "mb-4 text-sm font-semibold uppercase tracking-wider text-text-muted",
933
947
  children: "Preview"
934
- }), /* @__PURE__ */ p("div", {
948
+ }), /* @__PURE__ */ m("div", {
935
949
  className: "flex gap-4 overflow-x-auto pb-2",
936
950
  style: { scrollSnapType: "x mandatory" },
937
- children: [K.screenshots.map((e, t) => /* @__PURE__ */ f("div", {
951
+ children: [K.screenshots.map((e, t) => /* @__PURE__ */ p("div", {
938
952
  className: "relative flex-shrink-0 overflow-hidden rounded-2xl shadow-lg",
939
953
  style: {
940
954
  width: "72vw",
@@ -943,19 +957,19 @@ var Ee = (e, t) => ({
943
957
  aspectRatio: "16/9",
944
958
  scrollSnapAlign: "start"
945
959
  },
946
- children: /* @__PURE__ */ f("img", {
960
+ children: /* @__PURE__ */ p("img", {
947
961
  src: e,
948
962
  alt: `Screenshot ${t + 1}`,
949
963
  className: "size-full object-cover"
950
964
  })
951
- }, t)), /* @__PURE__ */ f("div", { className: "flex-shrink-0 w-2" })]
965
+ }, t)), /* @__PURE__ */ p("div", { className: "flex-shrink-0 w-2" })]
952
966
  })]
953
967
  })
954
968
  }),
955
- /* @__PURE__ */ p("main", {
969
+ /* @__PURE__ */ m("main", {
956
970
  className: "mx-auto max-w-7xl px-6 py-8",
957
971
  children: [
958
- /* @__PURE__ */ p(we, {
972
+ /* @__PURE__ */ m(Ce, {
959
973
  className: "mb-6",
960
974
  children: [
961
975
  "Everything you need to decide whether to install ",
@@ -963,7 +977,7 @@ var Ee = (e, t) => ({
963
977
  ": what it does, screenshots, pricing, the permissions and integrations it needs, and real customer reviews. When you're ready, install it (free apps) or buy it, then add it to a workspace — and leave a review once you've used it."
964
978
  ]
965
979
  }),
966
- /* @__PURE__ */ f(Ce, {
980
+ /* @__PURE__ */ p(Se, {
967
981
  className: "mb-8",
968
982
  storageKey: "store-product-detail",
969
983
  steps: [
@@ -972,13 +986,13 @@ var Ee = (e, t) => ({
972
986
  label: "Install this app",
973
987
  description: "It’s free — add it to a workspace in a couple of clicks.",
974
988
  onClick: B,
975
- done: _
989
+ done: v
976
990
  } : {
977
991
  id: "buy",
978
992
  label: W ? "Install to a workspace" : "Buy or add to cart",
979
993
  description: W ? "You already own this — install it where you need it." : "Purchase now, or add it to your cart to check out later.",
980
994
  onClick: W ? B : ft,
981
- done: _
995
+ done: v
982
996
  },
983
997
  ...J.length > 0 ? [{
984
998
  id: "permissions",
@@ -994,66 +1008,66 @@ var Ee = (e, t) => ({
994
1008
  }
995
1009
  ]
996
1010
  }),
997
- /* @__PURE__ */ p("div", {
1011
+ /* @__PURE__ */ m("div", {
998
1012
  className: "flex flex-col gap-8 lg:flex-row",
999
- children: [/* @__PURE__ */ p("div", {
1013
+ children: [/* @__PURE__ */ m("div", {
1000
1014
  className: "flex-1 lg:max-w-3xl",
1001
1015
  children: [
1002
- /* @__PURE__ */ p("section", {
1016
+ /* @__PURE__ */ m("section", {
1003
1017
  className: "mb-8",
1004
1018
  children: [
1005
- /* @__PURE__ */ f("div", {
1019
+ /* @__PURE__ */ p("div", {
1006
1020
  className: "mb-4 flex items-center justify-between text-left",
1007
- children: /* @__PURE__ */ f("h2", {
1021
+ children: /* @__PURE__ */ p("h2", {
1008
1022
  className: "text-lg font-medium text-text-primary",
1009
1023
  children: "About this app"
1010
1024
  })
1011
1025
  }),
1012
- /* @__PURE__ */ p("div", {
1026
+ /* @__PURE__ */ m("div", {
1013
1027
  className: "text-sm leading-relaxed text-text-secondary",
1014
- children: [/* @__PURE__ */ f(pe, {
1015
- className: b ? "" : "line-clamp-4",
1016
- children: K.longDescription || K.description || "No description available."
1017
- }), ((K.longDescription || K.description)?.length ?? 0) > 200 && /* @__PURE__ */ f("button", {
1028
+ children: [/* @__PURE__ */ p("div", {
1029
+ className: x ? "" : "line-clamp-4",
1030
+ children: /* @__PURE__ */ p(ie, { children: K.longDescription || K.description || "No description available." })
1031
+ }), ((K.longDescription || K.description)?.length ?? 0) > 200 && /* @__PURE__ */ p("button", {
1018
1032
  type: "button",
1019
- onClick: () => Je(!b),
1033
+ onClick: () => qe(!x),
1020
1034
  className: "cursor-pointer mt-3 text-sm font-medium text-text-link",
1021
- children: b ? "Show less" : "Show more"
1035
+ children: x ? "Show less" : "Show more"
1022
1036
  })]
1023
1037
  }),
1024
- K.tags && K.tags.length > 0 && /* @__PURE__ */ f("div", {
1038
+ K.tags && K.tags.length > 0 && /* @__PURE__ */ p("div", {
1025
1039
  className: "mt-4 flex flex-wrap gap-2",
1026
- children: K.tags.map((e) => /* @__PURE__ */ f("span", {
1040
+ children: K.tags.map((e) => /* @__PURE__ */ p("span", {
1027
1041
  className: "rounded-full border border-border-seam px-3 py-1.5 text-xs text-text-muted transition-colors hover:bg-bg-sunken",
1028
1042
  children: e
1029
1043
  }, e))
1030
1044
  })
1031
1045
  ]
1032
1046
  }),
1033
- /* @__PURE__ */ p("section", {
1047
+ /* @__PURE__ */ m("section", {
1034
1048
  id: "ratings-reviews",
1035
1049
  className: "mb-8 scroll-mt-6",
1036
1050
  children: [
1037
- /* @__PURE__ */ f("div", {
1051
+ /* @__PURE__ */ p("div", {
1038
1052
  className: "mb-4 flex items-center justify-between text-left",
1039
- children: /* @__PURE__ */ f("h2", {
1053
+ children: /* @__PURE__ */ p("h2", {
1040
1054
  className: "text-lg font-medium text-text-primary",
1041
1055
  children: "Ratings & Reviews"
1042
1056
  })
1043
1057
  }),
1044
- /* @__PURE__ */ p(m, {
1058
+ /* @__PURE__ */ m(h, {
1045
1059
  treatment: "insight",
1046
1060
  className: "p-5",
1047
- children: [V && V.length > 0 ? /* @__PURE__ */ p("div", {
1061
+ children: [V && V.length > 0 ? /* @__PURE__ */ m("div", {
1048
1062
  className: "flex items-start gap-8",
1049
- children: [/* @__PURE__ */ p("div", {
1063
+ children: [/* @__PURE__ */ m("div", {
1050
1064
  className: "text-center",
1051
1065
  children: [
1052
- /* @__PURE__ */ f("p", {
1066
+ /* @__PURE__ */ p("p", {
1053
1067
  className: "text-5xl font-light tabular-nums text-text-primary",
1054
1068
  children: (K.rating || 0).toFixed(1)
1055
1069
  }),
1056
- /* @__PURE__ */ f("div", {
1070
+ /* @__PURE__ */ p("div", {
1057
1071
  className: "my-2 flex justify-center gap-0.5",
1058
1072
  children: [
1059
1073
  1,
@@ -1061,21 +1075,21 @@ var Ee = (e, t) => ({
1061
1075
  3,
1062
1076
  4,
1063
1077
  5
1064
- ].map((e) => /* @__PURE__ */ f(l, { className: `size-4 ${e <= Math.round(K.rating || 0) ? "fill-current text-status-warning-text" : "text-text-muted"}` }, e))
1078
+ ].map((e) => /* @__PURE__ */ p(u, { className: `size-4 ${e <= Math.round(K.rating || 0) ? "fill-current text-status-warning-text" : "text-text-muted"}` }, e))
1065
1079
  }),
1066
- /* @__PURE__ */ p("p", {
1080
+ /* @__PURE__ */ m("p", {
1067
1081
  className: "text-sm text-text-muted",
1068
1082
  children: [n(xt || K.reviewCount), " reviews"]
1069
1083
  })
1070
1084
  ]
1071
- }), St.length > 0 && /* @__PURE__ */ f("div", {
1085
+ }), St.length > 0 && /* @__PURE__ */ p("div", {
1072
1086
  className: "flex-1 space-y-1.5",
1073
- children: St.map((e) => /* @__PURE__ */ f(De, { ...e }, e.stars))
1087
+ children: St.map((e) => /* @__PURE__ */ p(Ee, { ...e }, e.stars))
1074
1088
  })]
1075
- }) : /* @__PURE__ */ p("div", {
1089
+ }) : /* @__PURE__ */ m("div", {
1076
1090
  className: "flex flex-col items-center justify-center py-6 text-center",
1077
1091
  children: [
1078
- /* @__PURE__ */ f("div", {
1092
+ /* @__PURE__ */ p("div", {
1079
1093
  className: "mb-3 flex gap-0.5",
1080
1094
  children: [
1081
1095
  1,
@@ -1083,37 +1097,37 @@ var Ee = (e, t) => ({
1083
1097
  3,
1084
1098
  4,
1085
1099
  5
1086
- ].map((e) => /* @__PURE__ */ f(l, { className: "size-5 text-border-default" }, e))
1100
+ ].map((e) => /* @__PURE__ */ p(u, { className: "size-5 text-border-default" }, e))
1087
1101
  }),
1088
- /* @__PURE__ */ f("p", {
1102
+ /* @__PURE__ */ p("p", {
1089
1103
  className: "font-medium text-text-primary",
1090
1104
  children: "No reviews yet"
1091
1105
  }),
1092
- /* @__PURE__ */ f("p", {
1106
+ /* @__PURE__ */ p("p", {
1093
1107
  className: "mt-1 text-sm text-text-muted",
1094
1108
  children: "Be the first to share your experience with this app."
1095
1109
  })
1096
1110
  ]
1097
- }), /* @__PURE__ */ p("div", {
1111
+ }), /* @__PURE__ */ m("div", {
1098
1112
  className: "mt-6 border-t border-border-seam pt-4",
1099
- children: [$e && /* @__PURE__ */ f("p", {
1100
- role: et === "success" ? "status" : "alert",
1101
- className: `mb-3 rounded-lg px-3 py-2 text-sm ${et === "success" ? "bg-status-success-bg-subtle text-status-success-text" : "bg-status-error-bg-subtle text-status-error-text"}`,
1102
- children: $e
1103
- }), _ || I?.userReview ? /* @__PURE__ */ p("div", {
1113
+ children: [Qe && /* @__PURE__ */ p("p", {
1114
+ role: $e === "success" ? "status" : "alert",
1115
+ className: `mb-3 rounded-lg px-3 py-2 text-sm ${$e === "success" ? "bg-status-success-bg-subtle text-status-success-text" : "bg-status-error-bg-subtle text-status-error-text"}`,
1116
+ children: Qe
1117
+ }), v || I?.userReview ? /* @__PURE__ */ m("div", {
1104
1118
  className: "space-y-4",
1105
- children: [/* @__PURE__ */ f("button", {
1119
+ children: [/* @__PURE__ */ p("button", {
1106
1120
  type: "button",
1107
- onClick: () => D ? O(!1) : _t(),
1121
+ onClick: () => O ? k(!1) : _t(),
1108
1122
  className: "w-full cursor-pointer py-2 text-center text-sm font-medium text-text-primary transition-colors hover:text-text-link",
1109
- children: I?.userReview ? D ? "Cancel review editing" : "Edit your review" : D ? "Cancel review" : "Write a Review"
1110
- }), D && /* @__PURE__ */ p("div", {
1123
+ children: I?.userReview ? O ? "Cancel review editing" : "Edit your review" : O ? "Cancel review" : "Write a Review"
1124
+ }), O && /* @__PURE__ */ m("div", {
1111
1125
  className: "rounded-xl border border-border-seam bg-bg-sunken p-4",
1112
1126
  children: [
1113
- /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("p", {
1127
+ /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("p", {
1114
1128
  className: "text-sm font-medium text-text-primary",
1115
1129
  children: "Your rating"
1116
- }), /* @__PURE__ */ f("div", {
1130
+ }), /* @__PURE__ */ p("div", {
1117
1131
  className: "mt-2 flex flex-wrap gap-2",
1118
1132
  children: [
1119
1133
  1,
@@ -1121,29 +1135,29 @@ var Ee = (e, t) => ({
1121
1135
  3,
1122
1136
  4,
1123
1137
  5
1124
- ].map((e) => /* @__PURE__ */ p("button", {
1138
+ ].map((e) => /* @__PURE__ */ m("button", {
1125
1139
  type: "button",
1126
1140
  onClick: () => P(e),
1127
1141
  className: `cursor-pointer rounded-full border px-3 py-1.5 text-sm transition-colors ${N === e ? "border-action-primary-border bg-action-primary-bg text-action-primary-text" : "border-border-default bg-bg-surface text-text-primary hover:bg-bg-surface"}`,
1128
1142
  children: [e, " ★"]
1129
1143
  }, e))
1130
1144
  })] }),
1131
- /* @__PURE__ */ p("label", {
1145
+ /* @__PURE__ */ m("label", {
1132
1146
  className: "mt-4 block text-sm font-medium text-text-primary",
1133
- children: ["Title", /* @__PURE__ */ f("input", {
1147
+ children: ["Title", /* @__PURE__ */ p("input", {
1134
1148
  "aria-label": "Review title",
1135
- value: k,
1136
- onChange: (e) => A(e.target.value),
1149
+ value: A,
1150
+ onChange: (e) => j(e.target.value),
1137
1151
  className: "mt-2 w-full rounded-lg border border-border-default bg-bg-surface px-3 py-2 text-sm text-text-primary outline-none focus:border-action-primary-border",
1138
1152
  placeholder: "Summarize your experience"
1139
1153
  })]
1140
1154
  }),
1141
- /* @__PURE__ */ p("label", {
1155
+ /* @__PURE__ */ m("label", {
1142
1156
  className: "mt-4 block text-sm font-medium text-text-primary",
1143
- children: ["Review", /* @__PURE__ */ f("textarea", {
1157
+ children: ["Review", /* @__PURE__ */ p("textarea", {
1144
1158
  "aria-label": "Review body",
1145
- value: j,
1146
- onChange: (e) => M(e.target.value),
1159
+ value: M,
1160
+ onChange: (e) => et(e.target.value),
1147
1161
  rows: 4,
1148
1162
  required: !0,
1149
1163
  "aria-required": "true",
@@ -1151,130 +1165,130 @@ var Ee = (e, t) => ({
1151
1165
  placeholder: "What worked well? What should improve?"
1152
1166
  })]
1153
1167
  }),
1154
- /* @__PURE__ */ p("div", {
1168
+ /* @__PURE__ */ m("div", {
1155
1169
  className: "mt-4 flex flex-wrap gap-3",
1156
- children: [/* @__PURE__ */ f("button", {
1170
+ children: [/* @__PURE__ */ p("button", {
1157
1171
  type: "button",
1158
1172
  onClick: vt,
1159
- disabled: Ve || Ue,
1173
+ disabled: Be || He,
1160
1174
  className: "cursor-pointer rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:opacity-90 disabled:cursor-not-allowed disabled:opacity-60",
1161
- children: Ve || Ue ? "Saving..." : I?.userReview ? "Update Review" : "Submit Review"
1162
- }), I?.userReview && /* @__PURE__ */ f("button", {
1175
+ children: Be || He ? "Saving..." : I?.userReview ? "Update Review" : "Submit Review"
1176
+ }), I?.userReview && /* @__PURE__ */ p("button", {
1163
1177
  type: "button",
1164
1178
  onClick: yt,
1165
- disabled: Ge,
1179
+ disabled: We,
1166
1180
  className: "cursor-pointer rounded-lg border border-status-error-border px-4 py-2 text-sm font-medium text-status-error-text hover:bg-status-error-bg-subtle disabled:cursor-not-allowed disabled:opacity-60",
1167
- children: Ge ? "Removing..." : "Delete Review"
1181
+ children: We ? "Removing..." : "Delete Review"
1168
1182
  })]
1169
1183
  })
1170
1184
  ]
1171
1185
  })]
1172
- }) : /* @__PURE__ */ f("p", {
1186
+ }) : /* @__PURE__ */ p("p", {
1173
1187
  className: "text-center text-sm text-text-muted",
1174
1188
  children: "Install this app to leave a review."
1175
1189
  })]
1176
1190
  })]
1177
1191
  }),
1178
- V && V.length > 0 && /* @__PURE__ */ p("div", {
1192
+ V && V.length > 0 && /* @__PURE__ */ m("div", {
1179
1193
  className: "mt-4 space-y-3",
1180
- children: [/* @__PURE__ */ f("ul", {
1194
+ children: [/* @__PURE__ */ p("ul", {
1181
1195
  className: "space-y-3",
1182
- children: (x ? V : V.slice(0, 2)).map((e) => /* @__PURE__ */ f("li", { children: /* @__PURE__ */ f(Oe, {
1196
+ children: (S ? V : V.slice(0, 2)).map((e) => /* @__PURE__ */ p("li", { children: /* @__PURE__ */ p(De, {
1183
1197
  review: e,
1184
1198
  onMarkHelpful: bt,
1185
- markingHelpful: qe && tt === e.id
1199
+ markingHelpful: Ke && tt === e.id
1186
1200
  }) }, e.id))
1187
- }), V.length > 2 && /* @__PURE__ */ f("button", {
1201
+ }), V.length > 2 && /* @__PURE__ */ p("button", {
1188
1202
  type: "button",
1189
- onClick: () => Ye(!x),
1203
+ onClick: () => Je(!S),
1190
1204
  className: "cursor-pointer text-sm font-medium text-text-link",
1191
- children: x ? "Show less" : `Show all ${V.length} reviews`
1205
+ children: S ? "Show less" : `Show all ${V.length} reviews`
1192
1206
  })]
1193
1207
  }),
1194
- (!V || V.length === 0) && /* @__PURE__ */ f("p", {
1208
+ (!V || V.length === 0) && /* @__PURE__ */ p("p", {
1195
1209
  className: "mt-4 text-sm text-text-muted",
1196
1210
  children: "No reviews yet. Be the first to review!"
1197
1211
  })
1198
1212
  ]
1199
1213
  }),
1200
- J.length > 0 && /* @__PURE__ */ p("section", {
1214
+ J.length > 0 && /* @__PURE__ */ m("section", {
1201
1215
  id: "about-permissions",
1202
1216
  className: "mb-8 scroll-mt-6",
1203
- children: [/* @__PURE__ */ f("h2", {
1217
+ children: [/* @__PURE__ */ p("h2", {
1204
1218
  className: "mb-4 text-lg font-medium text-text-primary",
1205
1219
  children: "Required Permissions"
1206
- }), /* @__PURE__ */ f("div", {
1220
+ }), /* @__PURE__ */ p("div", {
1207
1221
  className: "space-y-2",
1208
- children: J.map((e) => /* @__PURE__ */ p("div", {
1222
+ children: J.map((e) => /* @__PURE__ */ m("div", {
1209
1223
  className: "flex items-center gap-3 rounded-lg bg-bg-surface px-4 py-3",
1210
- children: [/* @__PURE__ */ f(c, { className: "size-5 text-status-success-text" }), /* @__PURE__ */ f("span", {
1224
+ children: [/* @__PURE__ */ p(l, { className: "size-5 text-status-success-text" }), /* @__PURE__ */ p("span", {
1211
1225
  className: "text-sm text-text-primary",
1212
1226
  children: e
1213
1227
  })]
1214
1228
  }, e))
1215
1229
  })]
1216
1230
  }),
1217
- Ct.length > 0 && /* @__PURE__ */ p("section", {
1231
+ Ct.length > 0 && /* @__PURE__ */ m("section", {
1218
1232
  className: "mb-8",
1219
- children: [/* @__PURE__ */ f("h2", {
1233
+ children: [/* @__PURE__ */ p("h2", {
1220
1234
  className: "mb-4 text-lg font-medium text-text-primary",
1221
1235
  children: "Integrations"
1222
- }), /* @__PURE__ */ f("div", {
1236
+ }), /* @__PURE__ */ p("div", {
1223
1237
  className: "flex flex-wrap gap-2",
1224
- children: Ct.map((e) => /* @__PURE__ */ f("span", {
1238
+ children: Ct.map((e) => /* @__PURE__ */ p("span", {
1225
1239
  className: "rounded-lg bg-bg-surface px-4 py-2 text-sm font-medium text-text-primary",
1226
1240
  children: e
1227
1241
  }, e))
1228
1242
  })]
1229
1243
  }),
1230
- /* @__PURE__ */ p("section", {
1244
+ /* @__PURE__ */ m("section", {
1231
1245
  className: "mb-8",
1232
- children: [/* @__PURE__ */ f("h2", {
1246
+ children: [/* @__PURE__ */ p("h2", {
1233
1247
  className: "mb-4 text-lg font-medium text-text-primary",
1234
1248
  children: "Additional Information"
1235
- }), /* @__PURE__ */ p(m, {
1249
+ }), /* @__PURE__ */ m(h, {
1236
1250
  treatment: "metric",
1237
1251
  className: "grid grid-cols-2 gap-6 p-5 md:grid-cols-3",
1238
1252
  children: [
1239
- K.manifestVersion && /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("p", {
1253
+ K.manifestVersion && /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("p", {
1240
1254
  className: "text-xs text-text-muted",
1241
1255
  children: "Version"
1242
- }), /* @__PURE__ */ f("p", {
1256
+ }), /* @__PURE__ */ p("p", {
1243
1257
  className: "mt-1 text-sm font-medium text-text-primary",
1244
1258
  children: K.manifestVersion
1245
1259
  })] }),
1246
- /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("p", {
1260
+ /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("p", {
1247
1261
  className: "text-xs text-text-muted",
1248
1262
  children: "Type"
1249
- }), /* @__PURE__ */ f("p", {
1263
+ }), /* @__PURE__ */ p("p", {
1250
1264
  className: "mt-1 text-sm font-medium text-text-primary",
1251
1265
  children: K.type
1252
1266
  })] }),
1253
- K.publishedAt && /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("p", {
1267
+ K.publishedAt && /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("p", {
1254
1268
  className: "text-xs text-text-muted",
1255
1269
  children: "Published"
1256
- }), /* @__PURE__ */ f("p", {
1270
+ }), /* @__PURE__ */ p("p", {
1257
1271
  className: "mt-1 text-sm font-medium text-text-primary",
1258
1272
  children: new Date(K.publishedAt).toLocaleDateString()
1259
1273
  })] }),
1260
- /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("p", {
1274
+ /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("p", {
1261
1275
  className: "text-xs text-text-muted",
1262
1276
  children: "Updated"
1263
- }), /* @__PURE__ */ f("p", {
1277
+ }), /* @__PURE__ */ p("p", {
1264
1278
  className: "mt-1 text-sm font-medium text-text-primary",
1265
1279
  children: new Date(K.updatedAt).toLocaleDateString()
1266
1280
  })] }),
1267
- K.license && /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("p", {
1281
+ K.license && /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("p", {
1268
1282
  className: "text-xs text-text-muted",
1269
1283
  children: "License"
1270
- }), /* @__PURE__ */ f("p", {
1284
+ }), /* @__PURE__ */ p("p", {
1271
1285
  className: "mt-1 text-sm font-medium text-text-primary",
1272
1286
  children: K.license
1273
1287
  })] }),
1274
- K.minPlatformVersion && /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("p", {
1288
+ K.minPlatformVersion && /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("p", {
1275
1289
  className: "text-xs text-text-muted",
1276
1290
  children: "Min Platform Version"
1277
- }), /* @__PURE__ */ f("p", {
1291
+ }), /* @__PURE__ */ p("p", {
1278
1292
  className: "mt-1 text-sm font-medium text-text-primary",
1279
1293
  children: K.minPlatformVersion
1280
1294
  })] })
@@ -1282,32 +1296,32 @@ var Ee = (e, t) => ({
1282
1296
  })]
1283
1297
  })
1284
1298
  ]
1285
- }), /* @__PURE__ */ p("div", {
1299
+ }), /* @__PURE__ */ m("div", {
1286
1300
  className: "w-full lg:w-80",
1287
1301
  children: [
1288
- (K.documentationUrl || K.repositoryUrl || R?.email) && /* @__PURE__ */ p(m, {
1302
+ (K.documentationUrl || K.repositoryUrl || R?.email) && /* @__PURE__ */ m(h, {
1289
1303
  className: "mb-6 p-4",
1290
- children: [/* @__PURE__ */ f("h3", {
1304
+ children: [/* @__PURE__ */ p("h3", {
1291
1305
  className: "font-medium text-text-primary",
1292
1306
  children: "App support"
1293
- }), /* @__PURE__ */ p("div", {
1307
+ }), /* @__PURE__ */ m("div", {
1294
1308
  className: "mt-3 space-y-2 text-sm",
1295
1309
  children: [
1296
- K.documentationUrl && /* @__PURE__ */ f("a", {
1310
+ K.documentationUrl && /* @__PURE__ */ p("a", {
1297
1311
  href: K.documentationUrl,
1298
1312
  target: "_blank",
1299
1313
  rel: "noreferrer",
1300
1314
  className: "block text-text-link hover:underline",
1301
1315
  children: "Documentation"
1302
1316
  }),
1303
- K.repositoryUrl && /* @__PURE__ */ f("a", {
1317
+ K.repositoryUrl && /* @__PURE__ */ p("a", {
1304
1318
  href: K.repositoryUrl,
1305
1319
  target: "_blank",
1306
1320
  rel: "noreferrer",
1307
1321
  className: "block text-text-link hover:underline",
1308
1322
  children: "Source repository"
1309
1323
  }),
1310
- R?.email && /* @__PURE__ */ f("a", {
1324
+ R?.email && /* @__PURE__ */ p("a", {
1311
1325
  href: `mailto:${R.email}`,
1312
1326
  className: "block text-text-link hover:underline",
1313
1327
  children: "Contact publisher"
@@ -1315,66 +1329,81 @@ var Ee = (e, t) => ({
1315
1329
  ]
1316
1330
  })]
1317
1331
  }),
1318
- R && /* @__PURE__ */ p(m, {
1332
+ R && /* @__PURE__ */ p(h, {
1319
1333
  className: "mb-6 p-4",
1320
- children: [
1321
- /* @__PURE__ */ f("h3", {
1322
- className: "font-medium text-text-primary",
1323
- children: "Publisher"
1324
- }),
1325
- /* @__PURE__ */ f("p", {
1326
- className: "mt-2 text-sm text-text-primary",
1327
- children: R.name
1328
- }),
1329
- R.bio && /* @__PURE__ */ f("p", {
1330
- className: "mt-2 text-sm text-text-muted",
1331
- children: R.bio
1332
- }),
1333
- R.websiteUrl && /* @__PURE__ */ f("a", {
1334
- href: R.websiteUrl,
1335
- target: "_blank",
1336
- rel: "noreferrer",
1337
- className: "mt-3 inline-block text-sm text-text-link hover:underline",
1338
- children: "Visit publisher website"
1339
- })
1340
- ]
1334
+ children: (() => {
1335
+ let e = R.developerOrganization, t = e?.name || R.name, n = e?.logoUrl || R.logoUrl, r = e?.description || R.bio, i = e?.isVerified || R.isVerified;
1336
+ return /* @__PURE__ */ m(f, { children: [
1337
+ /* @__PURE__ */ m("div", {
1338
+ className: "flex items-center gap-2.5",
1339
+ children: [n ? /* @__PURE__ */ p("img", {
1340
+ src: n,
1341
+ alt: t,
1342
+ className: "size-8 rounded-lg object-cover"
1343
+ }) : /* @__PURE__ */ p("div", {
1344
+ className: "flex size-8 items-center justify-center rounded-lg bg-bg-sunken text-sm font-bold text-text-muted",
1345
+ children: t.charAt(0)
1346
+ }), /* @__PURE__ */ p("div", {
1347
+ className: "flex-1 min-w-0",
1348
+ children: /* @__PURE__ */ m("div", {
1349
+ className: "flex items-center gap-1.5",
1350
+ children: [/* @__PURE__ */ p("span", {
1351
+ className: "font-medium text-text-primary truncate",
1352
+ children: t
1353
+ }), i && /* @__PURE__ */ p(l, { className: "size-3.5 text-status-success-text shrink-0" })]
1354
+ })
1355
+ })]
1356
+ }),
1357
+ r && /* @__PURE__ */ p("p", {
1358
+ className: "mt-2 text-sm text-text-muted",
1359
+ children: r
1360
+ }),
1361
+ R.websiteUrl && /* @__PURE__ */ p("a", {
1362
+ href: R.websiteUrl,
1363
+ target: "_blank",
1364
+ rel: "noreferrer",
1365
+ className: "mt-3 inline-block text-sm text-text-link hover:underline",
1366
+ children: "Visit website"
1367
+ })
1368
+ ] });
1369
+ })()
1341
1370
  }),
1342
- H && H.length > 0 && /* @__PURE__ */ p("div", { children: [/* @__PURE__ */ f("div", {
1371
+ H && H.length > 0 && /* @__PURE__ */ m("div", { children: [/* @__PURE__ */ p("div", {
1343
1372
  className: "mb-4 flex items-center justify-between text-left",
1344
- children: /* @__PURE__ */ f("span", {
1373
+ children: /* @__PURE__ */ p("span", {
1345
1374
  className: "font-medium text-text-primary",
1346
1375
  children: "Similar apps"
1347
1376
  })
1348
- }), /* @__PURE__ */ f("div", {
1377
+ }), /* @__PURE__ */ p("div", {
1349
1378
  className: "space-y-3",
1350
- children: H.slice(0, 4).map((e) => /* @__PURE__ */ p("button", {
1379
+ children: H.slice(0, 4).map((e) => /* @__PURE__ */ m("button", {
1351
1380
  type: "button",
1352
- onClick: () => u(`${h}/marketplace/product/${e.id}`),
1381
+ onClick: () => d(`${g}/marketplace/product/${e.id}`),
1353
1382
  className: "flex w-full cursor-pointer items-center gap-3 rounded-lg p-2 text-left transition-colors hover:bg-bg-sunken",
1354
- children: [e.icon ? /* @__PURE__ */ f("img", {
1383
+ children: [e.icon ? /* @__PURE__ */ p("img", {
1355
1384
  src: e.icon,
1356
1385
  alt: e.name,
1357
1386
  className: "size-12 rounded-xl object-cover"
1358
- }) : /* @__PURE__ */ f("div", {
1387
+ }) : /* @__PURE__ */ p("div", {
1359
1388
  className: "flex size-12 items-center justify-center rounded-xl bg-bg-sunken text-lg font-bold text-text-muted",
1360
1389
  children: e.name.charAt(0)
1361
- }), /* @__PURE__ */ p("div", {
1390
+ }), /* @__PURE__ */ m("div", {
1362
1391
  className: "flex-1 overflow-hidden",
1363
1392
  children: [
1364
- /* @__PURE__ */ f("p", {
1393
+ /* @__PURE__ */ p("p", {
1365
1394
  className: "truncate text-sm font-medium text-text-primary",
1366
1395
  children: e.name
1367
1396
  }),
1368
- /* @__PURE__ */ f("p", {
1397
+ /* @__PURE__ */ p("p", {
1369
1398
  className: "text-xs text-text-muted",
1370
1399
  children: R?.name || "Unknown"
1371
1400
  }),
1372
- (e.reviewCount ?? 0) > 0 && /* @__PURE__ */ p("div", {
1401
+ (e.reviewCount ?? 0) > 0 && /* @__PURE__ */ m("div", {
1373
1402
  className: "flex items-center gap-1",
1374
- children: [/* @__PURE__ */ f("span", {
1403
+ children: [/* @__PURE__ */ p("span", {
1375
1404
  className: "text-xs text-text-muted",
1376
1405
  children: (e.rating || 0).toFixed(1)
1377
- }), /* @__PURE__ */ f(l, { className: "size-3 fill-current text-status-warning-text" })]
1406
+ }), /* @__PURE__ */ p(u, { className: "size-3 fill-current text-status-warning-text" })]
1378
1407
  })
1379
1408
  ]
1380
1409
  })]
@@ -1385,7 +1414,7 @@ var Ee = (e, t) => ({
1385
1414
  })
1386
1415
  ]
1387
1416
  }),
1388
- K && /* @__PURE__ */ f(ae, {
1417
+ K && /* @__PURE__ */ p(ae, {
1389
1418
  isOpen: rt,
1390
1419
  onClose: () => it(!1),
1391
1420
  app: {
@@ -1406,6 +1435,6 @@ var Ee = (e, t) => ({
1406
1435
  });
1407
1436
  };
1408
1437
  //#endregion
1409
- export { je as ProductDetailPage };
1438
+ export { Ae as ProductDetailPage };
1410
1439
 
1411
1440
  //# sourceMappingURL=ProductDetailPage.js.map