@burdenoff/microfe-store 2026.720.2 → 2026.720.4

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 (280) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +20 -0
  2. package/dist/components/MarkdownEditor.d.ts +12 -0
  3. package/dist/components/MarkdownEditor.js +117 -0
  4. package/dist/components/MarkdownEditor.js.map +1 -0
  5. package/dist/components/index.d.ts +2 -0
  6. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.js +63 -0
  7. package/dist/node_modules/@ungap/structured-clone/esm/deserialize.js.map +1 -0
  8. package/dist/node_modules/@ungap/structured-clone/esm/index.js +8 -0
  9. package/dist/node_modules/@ungap/structured-clone/esm/index.js.map +1 -0
  10. package/dist/node_modules/@ungap/structured-clone/esm/serialize.js +93 -0
  11. package/dist/node_modules/@ungap/structured-clone/esm/serialize.js.map +1 -0
  12. package/dist/node_modules/bail/index.js +8 -0
  13. package/dist/node_modules/bail/index.js.map +1 -0
  14. package/dist/node_modules/comma-separated-tokens/index.js +9 -0
  15. package/dist/node_modules/comma-separated-tokens/index.js.map +1 -0
  16. package/dist/node_modules/decode-named-character-reference/index.dom.js +12 -0
  17. package/dist/node_modules/decode-named-character-reference/index.dom.js.map +1 -0
  18. package/dist/node_modules/devlop/lib/default.js +7 -0
  19. package/dist/node_modules/devlop/lib/default.js.map +1 -0
  20. package/dist/node_modules/estree-util-is-identifier-name/lib/index.js +9 -0
  21. package/dist/node_modules/estree-util-is-identifier-name/lib/index.js.map +1 -0
  22. package/dist/node_modules/extend/index.js +42 -0
  23. package/dist/node_modules/extend/index.js.map +1 -0
  24. package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.js +255 -0
  25. package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.js.map +1 -0
  26. package/dist/node_modules/hast-util-whitespace/lib/index.js +12 -0
  27. package/dist/node_modules/hast-util-whitespace/lib/index.js.map +1 -0
  28. package/dist/node_modules/html-url-attributes/lib/index.js +38 -0
  29. package/dist/node_modules/html-url-attributes/lib/index.js.map +1 -0
  30. package/dist/node_modules/inline-style-parser/cjs/index.js +92 -0
  31. package/dist/node_modules/inline-style-parser/cjs/index.js.map +1 -0
  32. package/dist/node_modules/is-plain-obj/index.js +10 -0
  33. package/dist/node_modules/is-plain-obj/index.js.map +1 -0
  34. package/dist/node_modules/mdast-util-from-markdown/lib/index.js +559 -0
  35. package/dist/node_modules/mdast-util-from-markdown/lib/index.js.map +1 -0
  36. package/dist/node_modules/mdast-util-to-hast/lib/footer.js +105 -0
  37. package/dist/node_modules/mdast-util-to-hast/lib/footer.js.map +1 -0
  38. package/dist/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js +14 -0
  39. package/dist/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js.map +1 -0
  40. package/dist/node_modules/mdast-util-to-hast/lib/handlers/break.js +17 -0
  41. package/dist/node_modules/mdast-util-to-hast/lib/handlers/break.js.map +1 -0
  42. package/dist/node_modules/mdast-util-to-hast/lib/handlers/code.js +24 -0
  43. package/dist/node_modules/mdast-util-to-hast/lib/handlers/code.js.map +1 -0
  44. package/dist/node_modules/mdast-util-to-hast/lib/handlers/delete.js +14 -0
  45. package/dist/node_modules/mdast-util-to-hast/lib/handlers/delete.js.map +1 -0
  46. package/dist/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js +14 -0
  47. package/dist/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js.map +1 -0
  48. package/dist/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js +32 -0
  49. package/dist/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js.map +1 -0
  50. package/dist/node_modules/mdast-util-to-hast/lib/handlers/heading.js +14 -0
  51. package/dist/node_modules/mdast-util-to-hast/lib/handlers/heading.js.map +1 -0
  52. package/dist/node_modules/mdast-util-to-hast/lib/handlers/html.js +14 -0
  53. package/dist/node_modules/mdast-util-to-hast/lib/handlers/html.js.map +1 -0
  54. package/dist/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js +23 -0
  55. package/dist/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js.map +1 -0
  56. package/dist/node_modules/mdast-util-to-hast/lib/handlers/image.js +17 -0
  57. package/dist/node_modules/mdast-util-to-hast/lib/handlers/image.js.map +1 -0
  58. package/dist/node_modules/mdast-util-to-hast/lib/handlers/index.js +58 -0
  59. package/dist/node_modules/mdast-util-to-hast/lib/handlers/index.js.map +1 -0
  60. package/dist/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js +19 -0
  61. package/dist/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js.map +1 -0
  62. package/dist/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js +20 -0
  63. package/dist/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js.map +1 -0
  64. package/dist/node_modules/mdast-util-to-hast/lib/handlers/link.js +17 -0
  65. package/dist/node_modules/mdast-util-to-hast/lib/handlers/link.js.map +1 -0
  66. package/dist/node_modules/mdast-util-to-hast/lib/handlers/list-item.js +61 -0
  67. package/dist/node_modules/mdast-util-to-hast/lib/handlers/list-item.js.map +1 -0
  68. package/dist/node_modules/mdast-util-to-hast/lib/handlers/list.js +22 -0
  69. package/dist/node_modules/mdast-util-to-hast/lib/handlers/list.js.map +1 -0
  70. package/dist/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js +14 -0
  71. package/dist/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js.map +1 -0
  72. package/dist/node_modules/mdast-util-to-hast/lib/handlers/root.js +12 -0
  73. package/dist/node_modules/mdast-util-to-hast/lib/handlers/root.js.map +1 -0
  74. package/dist/node_modules/mdast-util-to-hast/lib/handlers/strong.js +14 -0
  75. package/dist/node_modules/mdast-util-to-hast/lib/handlers/strong.js.map +1 -0
  76. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js +14 -0
  77. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js.map +1 -0
  78. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-row.js +26 -0
  79. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-row.js.map +1 -0
  80. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table.js +37 -0
  81. package/dist/node_modules/mdast-util-to-hast/lib/handlers/table.js.map +1 -0
  82. package/dist/node_modules/mdast-util-to-hast/lib/handlers/text.js +13 -0
  83. package/dist/node_modules/mdast-util-to-hast/lib/handlers/text.js.map +1 -0
  84. package/dist/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js +14 -0
  85. package/dist/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js.map +1 -0
  86. package/dist/node_modules/mdast-util-to-hast/lib/index.js +21 -0
  87. package/dist/node_modules/mdast-util-to-hast/lib/index.js.map +1 -0
  88. package/dist/node_modules/mdast-util-to-hast/lib/revert.js +22 -0
  89. package/dist/node_modules/mdast-util-to-hast/lib/revert.js.map +1 -0
  90. package/dist/node_modules/mdast-util-to-hast/lib/state.js +110 -0
  91. package/dist/node_modules/mdast-util-to-hast/lib/state.js.map +1 -0
  92. package/dist/node_modules/mdast-util-to-string/lib/index.js +26 -0
  93. package/dist/node_modules/mdast-util-to-string/lib/index.js.map +1 -0
  94. package/dist/node_modules/micromark/lib/constructs.js +82 -0
  95. package/dist/node_modules/micromark/lib/constructs.js.map +1 -0
  96. package/dist/node_modules/micromark/lib/create-tokenizer.js +179 -0
  97. package/dist/node_modules/micromark/lib/create-tokenizer.js.map +1 -0
  98. package/dist/node_modules/micromark/lib/initialize/content.js +36 -0
  99. package/dist/node_modules/micromark/lib/initialize/content.js.map +1 -0
  100. package/dist/node_modules/micromark/lib/initialize/document.js +104 -0
  101. package/dist/node_modules/micromark/lib/initialize/document.js.map +1 -0
  102. package/dist/node_modules/micromark/lib/initialize/flow.js +27 -0
  103. package/dist/node_modules/micromark/lib/initialize/flow.js.map +1 -0
  104. package/dist/node_modules/micromark/lib/initialize/text.js +88 -0
  105. package/dist/node_modules/micromark/lib/initialize/text.js.map +1 -0
  106. package/dist/node_modules/micromark/lib/parse.js +31 -0
  107. package/dist/node_modules/micromark/lib/parse.js.map +1 -0
  108. package/dist/node_modules/micromark/lib/postprocess.js +10 -0
  109. package/dist/node_modules/micromark/lib/postprocess.js.map +1 -0
  110. package/dist/node_modules/micromark/lib/preprocess.js +34 -0
  111. package/dist/node_modules/micromark/lib/preprocess.js.map +1 -0
  112. package/dist/node_modules/micromark-core-commonmark/lib/attention.js +116 -0
  113. package/dist/node_modules/micromark-core-commonmark/lib/attention.js.map +1 -0
  114. package/dist/node_modules/micromark-core-commonmark/lib/autolink.js +45 -0
  115. package/dist/node_modules/micromark-core-commonmark/lib/autolink.js.map +1 -0
  116. package/dist/node_modules/micromark-core-commonmark/lib/blank-line.js +20 -0
  117. package/dist/node_modules/micromark-core-commonmark/lib/blank-line.js.map +1 -0
  118. package/dist/node_modules/micromark-core-commonmark/lib/block-quote.js +40 -0
  119. package/dist/node_modules/micromark-core-commonmark/lib/block-quote.js.map +1 -0
  120. package/dist/node_modules/micromark-core-commonmark/lib/character-escape.js +19 -0
  121. package/dist/node_modules/micromark-core-commonmark/lib/character-escape.js.map +1 -0
  122. package/dist/node_modules/micromark-core-commonmark/lib/character-reference.js +31 -0
  123. package/dist/node_modules/micromark-core-commonmark/lib/character-reference.js.map +1 -0
  124. package/dist/node_modules/micromark-core-commonmark/lib/code-fenced.js +91 -0
  125. package/dist/node_modules/micromark-core-commonmark/lib/code-fenced.js.map +1 -0
  126. package/dist/node_modules/micromark-core-commonmark/lib/code-indented.js +45 -0
  127. package/dist/node_modules/micromark-core-commonmark/lib/code-indented.js.map +1 -0
  128. package/dist/node_modules/micromark-core-commonmark/lib/code-text.js +45 -0
  129. package/dist/node_modules/micromark-core-commonmark/lib/code-text.js.map +1 -0
  130. package/dist/node_modules/micromark-core-commonmark/lib/content.js +49 -0
  131. package/dist/node_modules/micromark-core-commonmark/lib/content.js.map +1 -0
  132. package/dist/node_modules/micromark-core-commonmark/lib/definition.js +62 -0
  133. package/dist/node_modules/micromark-core-commonmark/lib/definition.js.map +1 -0
  134. package/dist/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +19 -0
  135. package/dist/node_modules/micromark-core-commonmark/lib/hard-break-escape.js.map +1 -0
  136. package/dist/node_modules/micromark-core-commonmark/lib/heading-atx.js +69 -0
  137. package/dist/node_modules/micromark-core-commonmark/lib/heading-atx.js.map +1 -0
  138. package/dist/node_modules/micromark-core-commonmark/lib/html-flow.js +143 -0
  139. package/dist/node_modules/micromark-core-commonmark/lib/html-flow.js.map +1 -0
  140. package/dist/node_modules/micromark-core-commonmark/lib/html-text.js +102 -0
  141. package/dist/node_modules/micromark-core-commonmark/lib/html-text.js.map +1 -0
  142. package/dist/node_modules/micromark-core-commonmark/lib/label-end.js +160 -0
  143. package/dist/node_modules/micromark-core-commonmark/lib/label-end.js.map +1 -0
  144. package/dist/node_modules/micromark-core-commonmark/lib/label-start-image.js +25 -0
  145. package/dist/node_modules/micromark-core-commonmark/lib/label-start-image.js.map +1 -0
  146. package/dist/node_modules/micromark-core-commonmark/lib/label-start-link.js +22 -0
  147. package/dist/node_modules/micromark-core-commonmark/lib/label-start-link.js.map +1 -0
  148. package/dist/node_modules/micromark-core-commonmark/lib/line-ending.js +16 -0
  149. package/dist/node_modules/micromark-core-commonmark/lib/line-ending.js.map +1 -0
  150. package/dist/node_modules/micromark-core-commonmark/lib/list.js +80 -0
  151. package/dist/node_modules/micromark-core-commonmark/lib/list.js.map +1 -0
  152. package/dist/node_modules/micromark-core-commonmark/lib/setext-underline.js +61 -0
  153. package/dist/node_modules/micromark-core-commonmark/lib/setext-underline.js.map +1 -0
  154. package/dist/node_modules/micromark-core-commonmark/lib/thematic-break.js +27 -0
  155. package/dist/node_modules/micromark-core-commonmark/lib/thematic-break.js.map +1 -0
  156. package/dist/node_modules/micromark-factory-destination/index.js +28 -0
  157. package/dist/node_modules/micromark-factory-destination/index.js.map +1 -0
  158. package/dist/node_modules/micromark-factory-label/index.js +22 -0
  159. package/dist/node_modules/micromark-factory-label/index.js.map +1 -0
  160. package/dist/node_modules/micromark-factory-space/index.js +16 -0
  161. package/dist/node_modules/micromark-factory-space/index.js.map +1 -0
  162. package/dist/node_modules/micromark-factory-title/index.js +26 -0
  163. package/dist/node_modules/micromark-factory-title/index.js.map +1 -0
  164. package/dist/node_modules/micromark-factory-whitespace/index.js +14 -0
  165. package/dist/node_modules/micromark-factory-whitespace/index.js.map +1 -0
  166. package/dist/node_modules/micromark-util-character/index.js +26 -0
  167. package/dist/node_modules/micromark-util-character/index.js.map +1 -0
  168. package/dist/node_modules/micromark-util-chunked/index.js +13 -0
  169. package/dist/node_modules/micromark-util-chunked/index.js.map +1 -0
  170. package/dist/node_modules/micromark-util-classify-character/index.js +10 -0
  171. package/dist/node_modules/micromark-util-classify-character/index.js.map +1 -0
  172. package/dist/node_modules/micromark-util-combine-extensions/index.js +28 -0
  173. package/dist/node_modules/micromark-util-combine-extensions/index.js.map +1 -0
  174. package/dist/node_modules/micromark-util-decode-numeric-character-reference/index.js +9 -0
  175. package/dist/node_modules/micromark-util-decode-numeric-character-reference/index.js.map +1 -0
  176. package/dist/node_modules/micromark-util-decode-string/index.js +19 -0
  177. package/dist/node_modules/micromark-util-decode-string/index.js.map +1 -0
  178. package/dist/node_modules/micromark-util-html-tag-name/index.js +11 -0
  179. package/dist/node_modules/micromark-util-html-tag-name/index.js.map +1 -0
  180. package/dist/node_modules/micromark-util-normalize-identifier/index.js +8 -0
  181. package/dist/node_modules/micromark-util-normalize-identifier/index.js.map +1 -0
  182. package/dist/node_modules/micromark-util-resolve-all/index.js +13 -0
  183. package/dist/node_modules/micromark-util-resolve-all/index.js.map +1 -0
  184. package/dist/node_modules/micromark-util-sanitize-uri/index.js +20 -0
  185. package/dist/node_modules/micromark-util-sanitize-uri/index.js.map +1 -0
  186. package/dist/node_modules/micromark-util-subtokenize/index.js +37 -0
  187. package/dist/node_modules/micromark-util-subtokenize/index.js.map +1 -0
  188. package/dist/node_modules/micromark-util-subtokenize/lib/splice-buffer.js +59 -0
  189. package/dist/node_modules/micromark-util-subtokenize/lib/splice-buffer.js.map +1 -0
  190. package/dist/node_modules/property-information/index.js +28 -0
  191. package/dist/node_modules/property-information/index.js.map +1 -0
  192. package/dist/node_modules/property-information/lib/aria.js +63 -0
  193. package/dist/node_modules/property-information/lib/aria.js.map +1 -0
  194. package/dist/node_modules/property-information/lib/find.js +33 -0
  195. package/dist/node_modules/property-information/lib/find.js.map +1 -0
  196. package/dist/node_modules/property-information/lib/hast-to-react.js +24 -0
  197. package/dist/node_modules/property-information/lib/hast-to-react.js.map +1 -0
  198. package/dist/node_modules/property-information/lib/html.js +328 -0
  199. package/dist/node_modules/property-information/lib/html.js.map +1 -0
  200. package/dist/node_modules/property-information/lib/normalize.js +8 -0
  201. package/dist/node_modules/property-information/lib/normalize.js.map +1 -0
  202. package/dist/node_modules/property-information/lib/svg.js +566 -0
  203. package/dist/node_modules/property-information/lib/svg.js.map +1 -0
  204. package/dist/node_modules/property-information/lib/util/case-insensitive-transform.js +9 -0
  205. package/dist/node_modules/property-information/lib/util/case-insensitive-transform.js.map +1 -0
  206. package/dist/node_modules/property-information/lib/util/case-sensitive-transform.js +8 -0
  207. package/dist/node_modules/property-information/lib/util/case-sensitive-transform.js.map +1 -0
  208. package/dist/node_modules/property-information/lib/util/create.js +16 -0
  209. package/dist/node_modules/property-information/lib/util/create.js.map +1 -0
  210. package/dist/node_modules/property-information/lib/util/defined-info.js +20 -0
  211. package/dist/node_modules/property-information/lib/util/defined-info.js.map +1 -0
  212. package/dist/node_modules/property-information/lib/util/info.js +11 -0
  213. package/dist/node_modules/property-information/lib/util/info.js.map +1 -0
  214. package/dist/node_modules/property-information/lib/util/merge.js +11 -0
  215. package/dist/node_modules/property-information/lib/util/merge.js.map +1 -0
  216. package/dist/node_modules/property-information/lib/util/schema.js +11 -0
  217. package/dist/node_modules/property-information/lib/util/schema.js.map +1 -0
  218. package/dist/node_modules/property-information/lib/util/types.js +18 -0
  219. package/dist/node_modules/property-information/lib/util/types.js.map +1 -0
  220. package/dist/node_modules/property-information/lib/xlink.js +21 -0
  221. package/dist/node_modules/property-information/lib/xlink.js.map +1 -0
  222. package/dist/node_modules/property-information/lib/xml.js +17 -0
  223. package/dist/node_modules/property-information/lib/xml.js.map +1 -0
  224. package/dist/node_modules/property-information/lib/xmlns.js +16 -0
  225. package/dist/node_modules/property-information/lib/xmlns.js.map +1 -0
  226. package/dist/node_modules/react-markdown/lib/index.js +142 -0
  227. package/dist/node_modules/react-markdown/lib/index.js.map +1 -0
  228. package/dist/node_modules/remark-parse/lib/index.js +18 -0
  229. package/dist/node_modules/remark-parse/lib/index.js.map +1 -0
  230. package/dist/node_modules/remark-rehype/lib/index.js +20 -0
  231. package/dist/node_modules/remark-rehype/lib/index.js.map +1 -0
  232. package/dist/node_modules/space-separated-tokens/index.js +8 -0
  233. package/dist/node_modules/space-separated-tokens/index.js.map +1 -0
  234. package/dist/node_modules/style-to-js/cjs/index.js +21 -0
  235. package/dist/node_modules/style-to-js/cjs/index.js.map +1 -0
  236. package/dist/node_modules/style-to-js/cjs/utilities.js +20 -0
  237. package/dist/node_modules/style-to-js/cjs/utilities.js.map +1 -0
  238. package/dist/node_modules/style-to-object/cjs/index.js +25 -0
  239. package/dist/node_modules/style-to-object/cjs/index.js.map +1 -0
  240. package/dist/node_modules/trim-lines/index.js +23 -0
  241. package/dist/node_modules/trim-lines/index.js.map +1 -0
  242. package/dist/node_modules/trough/lib/index.js +52 -0
  243. package/dist/node_modules/trough/lib/index.js.map +1 -0
  244. package/dist/node_modules/unified/lib/callable-instance.js +11 -0
  245. package/dist/node_modules/unified/lib/callable-instance.js.map +1 -0
  246. package/dist/node_modules/unified/lib/index.js +163 -0
  247. package/dist/node_modules/unified/lib/index.js.map +1 -0
  248. package/dist/node_modules/unist-util-is/lib/index.js +49 -0
  249. package/dist/node_modules/unist-util-is/lib/index.js.map +1 -0
  250. package/dist/node_modules/unist-util-position/lib/index.js +24 -0
  251. package/dist/node_modules/unist-util-position/lib/index.js.map +1 -0
  252. package/dist/node_modules/unist-util-stringify-position/lib/index.js +17 -0
  253. package/dist/node_modules/unist-util-stringify-position/lib/index.js.map +1 -0
  254. package/dist/node_modules/unist-util-visit/lib/index.js +14 -0
  255. package/dist/node_modules/unist-util-visit/lib/index.js.map +1 -0
  256. package/dist/node_modules/unist-util-visit-parents/lib/color.js +8 -0
  257. package/dist/node_modules/unist-util-visit-parents/lib/color.js.map +1 -0
  258. package/dist/node_modules/unist-util-visit-parents/lib/index.js +38 -0
  259. package/dist/node_modules/unist-util-visit-parents/lib/index.js.map +1 -0
  260. package/dist/node_modules/vfile/lib/index.js +91 -0
  261. package/dist/node_modules/vfile/lib/index.js.map +1 -0
  262. package/dist/node_modules/vfile/lib/minpath.browser.js +101 -0
  263. package/dist/node_modules/vfile/lib/minpath.browser.js.map +1 -0
  264. package/dist/node_modules/vfile/lib/minproc.browser.js +9 -0
  265. package/dist/node_modules/vfile/lib/minproc.browser.js.map +1 -0
  266. package/dist/node_modules/vfile/lib/minurl.browser.js +33 -0
  267. package/dist/node_modules/vfile/lib/minurl.browser.js.map +1 -0
  268. package/dist/node_modules/vfile/lib/minurl.shared.js +8 -0
  269. package/dist/node_modules/vfile/lib/minurl.shared.js.map +1 -0
  270. package/dist/node_modules/vfile-message/lib/index.js +26 -0
  271. package/dist/node_modules/vfile-message/lib/index.js.map +1 -0
  272. package/dist/pages/AdminStoresPage.js +203 -207
  273. package/dist/pages/AdminStoresPage.js.map +1 -1
  274. package/dist/pages/AdminSubmissionsQueuePage.js +173 -172
  275. package/dist/pages/AdminSubmissionsQueuePage.js.map +1 -1
  276. package/dist/pages/MarketplaceHomePage.js +472 -422
  277. package/dist/pages/MarketplaceHomePage.js.map +1 -1
  278. package/dist/pages/ProductDetailPage.js +104 -103
  279. package/dist/pages/ProductDetailPage.js.map +1 -1
  280. package/package.json +2 -2
@@ -2,17 +2,18 @@ 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
4
  import { useCreateReview as ee, useDeleteReview as te, useMarkReviewHelpful as ne, useStoreProductDetails as re, useUpdateReview as ie } from "../hooks/useStoreGraphQL.js";
5
- import { InstallAppModal as ae } from "../components/InstallAppModal.js";
6
- import { useInstallations as oe } from "../hooks/useInstallations.js";
7
- 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 { AlertCircle as o, ArrowLeft as pe, Check as me, Loader2 as he, Package as s, ShieldCheck as c, ShoppingCart as ge, Star as l, ThumbsUp as u } from "lucide-react";
5
+ import { Markdown as ae } from "../node_modules/react-markdown/lib/index.js";
6
+ import { InstallAppModal as oe } from "../components/InstallAppModal.js";
7
+ import { useInstallations as se } from "../hooks/useInstallations.js";
8
+ import { nativeConfirm as ce, nativeImpact as le, nativeNotify as ue } from "../utils/nativeBridge.js";
9
+ import { useCallback as i, useEffect as de, useMemo as fe, useRef as pe, useState as a } from "react";
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";
10
11
  import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
11
- import { useLocation as _e, useNavigate as ve, useParams as ye } from "react-router-dom";
12
- import { EmphasisPanel as be, GlassCard as m, IllustratedEmptyState as xe, NextSteps as Se, PagePurpose as Ce } from "@burdenoff/fe-libs/ui";
13
- import { useEventBus as we } from "@burdenoff/fe-libs/shared/events";
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";
14
15
  //#region src/pages/ProductDetailPage.tsx
15
- var Te = (e, t) => ({
16
+ var Ee = (e, t) => ({
16
17
  id: e.id,
17
18
  publisherId: t?.id || "",
18
19
  publisher: {
@@ -84,7 +85,7 @@ var Te = (e, t) => ({
84
85
  createdAt: e.createdAt,
85
86
  updatedAt: e.updatedAt,
86
87
  publishedAt: e.publishedAt
87
- }), Ee = ({ stars: e, percentage: t, count: r }) => /* @__PURE__ */ p("div", {
88
+ }), De = ({ stars: e, percentage: t, count: r }) => /* @__PURE__ */ p("div", {
88
89
  className: "flex items-center gap-2",
89
90
  children: [
90
91
  /* @__PURE__ */ f("span", {
@@ -103,7 +104,7 @@ var Te = (e, t) => ({
103
104
  children: n(r)
104
105
  })
105
106
  ]
106
- }), De = ({ review: e, onMarkHelpful: t, markingHelpful: n }) => /* @__PURE__ */ p("div", {
107
+ }), Oe = ({ review: e, onMarkHelpful: t, markingHelpful: n }) => /* @__PURE__ */ p("div", {
107
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)]",
108
109
  children: [
109
110
  /* @__PURE__ */ f("div", {
@@ -164,7 +165,7 @@ var Te = (e, t) => ({
164
165
  })
165
166
  })
166
167
  ]
167
- }), Oe = () => /* @__PURE__ */ p("div", {
168
+ }), ke = () => /* @__PURE__ */ p("div", {
168
169
  className: "h-full overflow-y-auto",
169
170
  children: [/* @__PURE__ */ f("div", {
170
171
  className: "sticky top-0 z-10 border-b border-border-default bg-bg-surface px-6 py-4",
@@ -418,7 +419,7 @@ var Te = (e, t) => ({
418
419
  })
419
420
  ]
420
421
  })]
421
- }), ke = ({ error: e, onRetry: t, onBack: n }) => /* @__PURE__ */ f("div", {
422
+ }), Ae = ({ error: e, onRetry: t, onBack: n }) => /* @__PURE__ */ f("div", {
422
423
  className: "flex h-full items-center justify-center",
423
424
  children: /* @__PURE__ */ p("div", {
424
425
  className: "text-center",
@@ -448,14 +449,14 @@ var Te = (e, t) => ({
448
449
  })
449
450
  ]
450
451
  })
451
- }), Ae = () => {
452
- let { productId: o } = ye(), u = ve(), Ae = _e(), { basePath: h, workspaceId: g } = e(), { addProduct: je, cartItems: Me, addingToCart: Ne, createOrder: Pe, checkingOut: Fe } = t(), { installations: Ie, refetch: Le } = oe({
453
- filter: de(() => o && g ? {
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 } = se({
454
+ filter: fe(() => o && g ? {
454
455
  productId: o,
455
456
  workspaceId: g
456
457
  } : void 0, [o, g]),
457
458
  limit: 1
458
- }), Re = Ie.find((e) => e.productId === o && e.workspaceId === g && e.status === "ACTIVE"), _ = !!Re, v = Re?.version ?? null, { createReview: ze, loading: Be } = ee(), { updateReview: Ve, loading: He } = ie(), { deleteReview: Ue, loading: We } = te(), { markHelpful: Ge, loading: Ke } = ne(), y = we(), [b, qe] = a(!1), [x, Je] = a(!1), [Ye, S] = a(!1), [C, Xe] = a(1), [Ze, w] = a(null), [Qe, T] = a(null), [$e, E] = a("success"), [D, O] = a(!1), [k, A] = a(""), [j, M] = a(""), [N, P] = a(5), [et, tt] = a(null), [nt, rt] = a(!1), { data: it, loading: at, error: ot, refetch: F } = re({
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({
459
460
  id: o,
460
461
  slug: o,
461
462
  includeReviews: !0,
@@ -463,18 +464,18 @@ var Te = (e, t) => ({
463
464
  includeRelated: !0,
464
465
  relatedLimit: 4,
465
466
  includeVersions: !0
466
- }), I = it, L = I?.product, R = I?.publisher, z = Me.some((e) => e.productId === L?.id), st = (e) => {
467
+ }), I = at, L = I?.product, R = I?.publisher, z = Ne.some((e) => e.productId === L?.id), ct = (e) => {
467
468
  let t = e.split(".");
468
469
  for (; t.length < 3;) t.push("0");
469
470
  return t.join(".");
470
- }, ct = L?.manifestVersion ?? null, lt = !!(_ && v && ct && st(v) !== st(ct)), ut = i(async () => {
471
+ }, lt = L?.manifestVersion ?? null, ut = !!(_ && v && lt && ct(v) !== ct(lt)), dt = i(async () => {
471
472
  if (L) {
472
473
  if (w(null), z) {
473
474
  u(`${h}/cart`);
474
475
  return;
475
476
  }
476
477
  try {
477
- await je(Te(L, R), void 0, C);
478
+ await Me(Ee(L, R), void 0, C);
478
479
  } catch (e) {
479
480
  console.error("Failed to add product to cart:", e), w("Failed to add this product to cart. Please try again.");
480
481
  }
@@ -482,12 +483,12 @@ var Te = (e, t) => ({
482
483
  }, [
483
484
  L,
484
485
  R,
485
- je,
486
+ Me,
486
487
  z,
487
488
  u,
488
489
  h,
489
490
  C
490
- ]), dt = i(async () => {
491
+ ]), ft = i(async () => {
491
492
  if (L) {
492
493
  w(null), S(!0);
493
494
  try {
@@ -499,12 +500,12 @@ var Te = (e, t) => ({
499
500
  subtotal: e * C,
500
501
  itemType: L.nature?.toLowerCase() || "digital",
501
502
  pricingModel: L.pricingModel || "PAID_ONETIME"
502
- }, n = await Pe({
503
+ }, n = await Fe({
503
504
  total: e * C,
504
505
  lineItems: [t],
505
506
  billingAccountId: ""
506
507
  });
507
- n?.id ? u(`/billing/checkout/store/${n.id}${Ae.search}`) : (console.error("Failed to create order"), w("Failed to create order. Please try again."), S(!1));
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
509
  } catch (e) {
509
510
  console.error("Buy Now error:", e), w(e instanceof Error ? e.message : "Failed to start checkout"), S(!1);
510
511
  }
@@ -512,36 +513,36 @@ var Te = (e, t) => ({
512
513
  }, [
513
514
  L,
514
515
  C,
515
- Pe,
516
+ Fe,
516
517
  u
517
518
  ]), B = i(() => {
518
- L && rt(!0);
519
- }, [L]), ft = fe(L);
520
- ft.current = L;
521
- let pt = fe(y);
522
- pt.current = y, ue(() => {
523
- let e = ft.current;
524
- e && pt.current.emit("store.product.viewed", {
519
+ L && it(!0);
520
+ }, [L]), pt = pe(L);
521
+ pt.current = L;
522
+ let mt = pe(y);
523
+ mt.current = y, de(() => {
524
+ let e = pt.current;
525
+ e && mt.current.emit("store.product.viewed", {
525
526
  productId: e.id,
526
527
  productSlug: e.slug,
527
528
  productType: e.type,
528
529
  pricingModel: e.pricingModel
529
530
  });
530
531
  }, [L?.id]);
531
- let mt = i((e, t) => {
532
+ let ht = i((e, t) => {
532
533
  L && (y.emit("store.product.installed", {
533
534
  productId: L.id,
534
535
  workspaceId: e
535
- }), console.log(`Successfully installed ${L.name} to workspace ${t} (${e})`), Le());
536
+ }), console.log(`Successfully installed ${L.name} to workspace ${t} (${e})`), Re());
536
537
  }, [
537
538
  L,
538
539
  y,
539
- Le
540
- ]), ht = i((e) => {
540
+ Re
541
+ ]), gt = i((e) => {
541
542
  console.error("Installation failed:", e.message);
542
- }, []), gt = i(() => {
543
+ }, []), _t = i(() => {
543
544
  A(I?.userReview?.title ?? ""), M(I?.userReview?.comment ?? ""), P(I?.userReview?.rating ?? 5), T(null), E("success"), O(!0);
544
- }, [I?.userReview]), _t = i(async () => {
545
+ }, [I?.userReview]), vt = i(async () => {
545
546
  if (!L) return;
546
547
  if (N < 1 || N > 5) {
547
548
  E("error"), T("Choose a rating from 1 to 5 stars.");
@@ -553,13 +554,13 @@ var Te = (e, t) => ({
553
554
  title: k.trim() || void 0,
554
555
  comment: j.trim() || void 0
555
556
  }, t = I?.userReview ? {
556
- data: await Ve(I.userReview.id, {
557
+ data: await He(I.userReview.id, {
557
558
  rating: e.rating,
558
559
  title: e.title,
559
560
  comment: e.comment
560
561
  }),
561
562
  errorMessage: null
562
- } : await ze(e);
563
+ } : await Be(e);
563
564
  if (!t?.data) {
564
565
  E("error"), T(t?.errorMessage ?? "We could not save your review. Please try again.");
565
566
  return;
@@ -570,43 +571,43 @@ var Te = (e, t) => ({
570
571
  }), await F();
571
572
  }, [
572
573
  y,
573
- ze,
574
+ Be,
574
575
  L,
575
576
  I?.userReview,
576
577
  F,
577
578
  j,
578
579
  N,
579
580
  k,
580
- Ve
581
- ]), vt = i(async () => {
582
- if (I?.userReview && (ce("medium"), await se({
581
+ He
582
+ ]), yt = i(async () => {
583
+ if (I?.userReview && (le("medium"), await ce({
583
584
  title: "Delete review",
584
585
  message: "Are you sure you want to remove your review?",
585
586
  okButtonTitle: "Delete",
586
587
  cancelButtonTitle: "Cancel"
587
588
  }) !== !1)) {
588
- if (!await Ue(I.userReview.id)) {
589
- E("error"), T("We could not remove your review. Please try again."), le("error");
589
+ if (!await We(I.userReview.id)) {
590
+ E("error"), T("We could not remove your review. Please try again."), ue("error");
590
591
  return;
591
592
  }
592
- E("success"), T("Your review was removed."), O(!1), A(""), M(""), P(5), le("success"), await F();
593
+ E("success"), T("Your review was removed."), O(!1), A(""), M(""), P(5), ue("success"), await F();
593
594
  }
594
595
  }, [
595
- Ue,
596
+ We,
596
597
  I?.userReview,
597
598
  F
598
- ]), yt = i(async (e) => {
599
- tt(e), await Ge(e) && await F(), tt(null);
600
- }, [Ge, F]);
601
- if (at) return /* @__PURE__ */ f(Oe, {});
602
- if (ot) return /* @__PURE__ */ f(ke, {
603
- error: ot,
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, {
604
+ error: st,
604
605
  onRetry: F,
605
606
  onBack: () => u(`${h}/marketplace`)
606
607
  });
607
608
  if (!I?.product) return /* @__PURE__ */ f("div", {
608
609
  className: "flex h-full items-center justify-center p-6",
609
- children: /* @__PURE__ */ f(xe, {
610
+ children: /* @__PURE__ */ f(Se, {
610
611
  illustration: "empty-search",
611
612
  title: "Product not found",
612
613
  description: "The product you are looking for does not exist or has been removed.",
@@ -618,7 +619,7 @@ var Te = (e, t) => ({
618
619
  })
619
620
  })
620
621
  });
621
- let { reviews: V, reviewsCount: bt, relatedProducts: H, ratingDistribution: U, isPurchased: W, userEntitlement: G } = I, K = L, q = U ? U.fiveStars + U.fourStars + U.threeStars + U.twoStars + U.oneStar : 0, xt = U ? [
622
+ let { reviews: V, reviewsCount: xt, relatedProducts: H, ratingDistribution: U, isPurchased: W, userEntitlement: G } = I, K = L, q = U ? U.fiveStars + U.fourStars + U.threeStars + U.twoStars + U.oneStar : 0, St = U ? [
622
623
  {
623
624
  stars: 5,
624
625
  count: U.fiveStars,
@@ -644,7 +645,7 @@ var Te = (e, t) => ({
644
645
  count: U.oneStar,
645
646
  percentage: q > 0 ? U.oneStar / q * 100 : 0
646
647
  }
647
- ] : [], J = K.requiredPermissions || [], St = K.integrationDeps || [], Ct = () => 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;
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;
648
649
  return /* @__PURE__ */ p("div", {
649
650
  className: "h-full overflow-y-auto bg-bg-base",
650
651
  children: [
@@ -661,7 +662,7 @@ var Te = (e, t) => ({
661
662
  type: "button",
662
663
  onClick: () => u(-1),
663
664
  className: "mb-6 cursor-pointer inline-flex items-center gap-2 text-sm text-text-muted transition-colors hover:text-text-primary",
664
- children: [/* @__PURE__ */ f(pe, { className: "size-4" }), "Back"]
665
+ children: [/* @__PURE__ */ f(me, { className: "size-4" }), "Back"]
665
666
  }),
666
667
  /* @__PURE__ */ f("h1", {
667
668
  className: "mb-3 text-4xl font-normal leading-tight text-text-primary lg:text-5xl",
@@ -707,7 +708,7 @@ var Te = (e, t) => ({
707
708
  "+ downloads"
708
709
  ]
709
710
  }),
710
- /* @__PURE__ */ p(be, {
711
+ /* @__PURE__ */ p(xe, {
711
712
  className: "mb-6 p-5",
712
713
  children: [
713
714
  /* @__PURE__ */ p("div", {
@@ -734,7 +735,7 @@ var Te = (e, t) => ({
734
735
  /* @__PURE__ */ f(l, { className: "size-4 fill-current text-status-warning-text" }),
735
736
  /* @__PURE__ */ p("span", {
736
737
  className: "ml-1 text-xs text-text-muted",
737
- children: [n(bt || K.reviewCount), " reviews"]
738
+ children: [n(xt || K.reviewCount), " reviews"]
738
739
  })
739
740
  ]
740
741
  }),
@@ -760,10 +761,10 @@ var Te = (e, t) => ({
760
761
  })
761
762
  ]
762
763
  }),
763
- Ze && /* @__PURE__ */ f("div", {
764
+ Qe && /* @__PURE__ */ f("div", {
764
765
  role: "alert",
765
766
  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",
766
- children: Ze
767
+ children: Qe
767
768
  }),
768
769
  X && /* @__PURE__ */ p("div", {
769
770
  className: "mb-4 flex flex-wrap items-center gap-4",
@@ -787,7 +788,7 @@ var Te = (e, t) => ({
787
788
  children: [
788
789
  /* @__PURE__ */ f("button", {
789
790
  type: "button",
790
- onClick: () => Xe((e) => Math.max(1, e - 1)),
791
+ onClick: () => Ze((e) => Math.max(1, e - 1)),
791
792
  disabled: C <= 1,
792
793
  "aria-label": "Decrease quantity",
793
794
  className: "cursor-pointer px-3 py-1.5 text-text-primary transition-colors hover:bg-bg-sunken disabled:cursor-not-allowed disabled:opacity-40",
@@ -799,7 +800,7 @@ var Te = (e, t) => ({
799
800
  }),
800
801
  /* @__PURE__ */ f("button", {
801
802
  type: "button",
802
- onClick: () => Xe((e) => Z ? Math.min(Q, e + 1) : e + 1),
803
+ onClick: () => Ze((e) => Z ? Math.min(Q, e + 1) : e + 1),
803
804
  disabled: Z && C >= Q,
804
805
  "aria-label": "Increase quantity",
805
806
  className: "cursor-pointer px-3 py-1.5 text-text-primary transition-colors hover:bg-bg-sunken disabled:cursor-not-allowed disabled:opacity-40",
@@ -826,7 +827,7 @@ var Te = (e, t) => ({
826
827
  "aria-hidden": "true",
827
828
  children: /* @__PURE__ */ f("polyline", { points: "2,8 6,12 14,4" })
828
829
  }), "Installed"]
829
- }), lt && /* @__PURE__ */ p("button", {
830
+ }), ut && /* @__PURE__ */ p("button", {
830
831
  type: "button",
831
832
  onClick: B,
832
833
  className: "cursor-pointer rounded-full bg-action-primary-bg px-8 py-3 font-medium text-action-primary-text transition-opacity hover:opacity-90",
@@ -843,16 +844,16 @@ var Te = (e, t) => ({
843
844
  children: "Install"
844
845
  }) : /* @__PURE__ */ f("button", {
845
846
  type: "button",
846
- onClick: dt,
847
- disabled: Ye || Fe || $,
847
+ onClick: ft,
848
+ disabled: Xe || Ie || $,
848
849
  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",
849
- children: Ye || Fe ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(he, { className: "size-4 animate-spin" }), "Processing…"] }) : $ ? "Out of stock" : `Buy ${Ct()}`
850
+ children: Xe || Ie ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ f(ge, { className: "size-4 animate-spin" }), "Processing…"] }) : $ ? "Out of stock" : `Buy ${wt()}`
850
851
  }), !Y && (!W || X) && /* @__PURE__ */ p("button", {
851
852
  type: "button",
852
- onClick: ut,
853
- disabled: Ne || $,
853
+ onClick: dt,
854
+ disabled: Pe || $,
854
855
  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",
855
- children: [Ne ? /* @__PURE__ */ f(he, { className: "size-4 animate-spin" }) : z ? /* @__PURE__ */ f(me, { className: "size-4 text-status-success-text" }) : /* @__PURE__ */ f(ge, { className: "size-4" }), z ? "In Cart" : "Add to Cart"]
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"]
856
857
  })]
857
858
  }),
858
859
  X ? /* @__PURE__ */ p(d, { children: [/* @__PURE__ */ p("p", {
@@ -954,7 +955,7 @@ var Te = (e, t) => ({
954
955
  /* @__PURE__ */ p("main", {
955
956
  className: "mx-auto max-w-7xl px-6 py-8",
956
957
  children: [
957
- /* @__PURE__ */ p(Ce, {
958
+ /* @__PURE__ */ p(we, {
958
959
  className: "mb-6",
959
960
  children: [
960
961
  "Everything you need to decide whether to install ",
@@ -962,7 +963,7 @@ var Te = (e, t) => ({
962
963
  ": 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."
963
964
  ]
964
965
  }),
965
- /* @__PURE__ */ f(Se, {
966
+ /* @__PURE__ */ f(Ce, {
966
967
  className: "mb-8",
967
968
  storageKey: "store-product-detail",
968
969
  steps: [
@@ -976,7 +977,7 @@ var Te = (e, t) => ({
976
977
  id: "buy",
977
978
  label: W ? "Install to a workspace" : "Buy or add to cart",
978
979
  description: W ? "You already own this — install it where you need it." : "Purchase now, or add it to your cart to check out later.",
979
- onClick: W ? B : dt,
980
+ onClick: W ? B : ft,
980
981
  done: _
981
982
  },
982
983
  ...J.length > 0 ? [{
@@ -1010,12 +1011,12 @@ var Te = (e, t) => ({
1010
1011
  }),
1011
1012
  /* @__PURE__ */ p("div", {
1012
1013
  className: "text-sm leading-relaxed text-text-secondary",
1013
- children: [/* @__PURE__ */ f("p", {
1014
+ children: [/* @__PURE__ */ f("div", {
1014
1015
  className: b ? "" : "line-clamp-4",
1015
- children: K.longDescription || K.description || "No description available."
1016
+ children: /* @__PURE__ */ f(ae, { children: K.longDescription || K.description || "No description available." })
1016
1017
  }), ((K.longDescription || K.description)?.length ?? 0) > 200 && /* @__PURE__ */ f("button", {
1017
1018
  type: "button",
1018
- onClick: () => qe(!b),
1019
+ onClick: () => Je(!b),
1019
1020
  className: "cursor-pointer mt-3 text-sm font-medium text-text-link",
1020
1021
  children: b ? "Show less" : "Show more"
1021
1022
  })]
@@ -1064,12 +1065,12 @@ var Te = (e, t) => ({
1064
1065
  }),
1065
1066
  /* @__PURE__ */ p("p", {
1066
1067
  className: "text-sm text-text-muted",
1067
- children: [n(bt || K.reviewCount), " reviews"]
1068
+ children: [n(xt || K.reviewCount), " reviews"]
1068
1069
  })
1069
1070
  ]
1070
- }), xt.length > 0 && /* @__PURE__ */ f("div", {
1071
+ }), St.length > 0 && /* @__PURE__ */ f("div", {
1071
1072
  className: "flex-1 space-y-1.5",
1072
- children: xt.map((e) => /* @__PURE__ */ f(Ee, { ...e }, e.stars))
1073
+ children: St.map((e) => /* @__PURE__ */ f(De, { ...e }, e.stars))
1073
1074
  })]
1074
1075
  }) : /* @__PURE__ */ p("div", {
1075
1076
  className: "flex flex-col items-center justify-center py-6 text-center",
@@ -1095,15 +1096,15 @@ var Te = (e, t) => ({
1095
1096
  ]
1096
1097
  }), /* @__PURE__ */ p("div", {
1097
1098
  className: "mt-6 border-t border-border-seam pt-4",
1098
- children: [Qe && /* @__PURE__ */ f("p", {
1099
- role: $e === "success" ? "status" : "alert",
1100
- 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"}`,
1101
- children: Qe
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
1102
1103
  }), _ || I?.userReview ? /* @__PURE__ */ p("div", {
1103
1104
  className: "space-y-4",
1104
1105
  children: [/* @__PURE__ */ f("button", {
1105
1106
  type: "button",
1106
- onClick: () => D ? O(!1) : gt(),
1107
+ onClick: () => D ? O(!1) : _t(),
1107
1108
  className: "w-full cursor-pointer py-2 text-center text-sm font-medium text-text-primary transition-colors hover:text-text-link",
1108
1109
  children: I?.userReview ? D ? "Cancel review editing" : "Edit your review" : D ? "Cancel review" : "Write a Review"
1109
1110
  }), D && /* @__PURE__ */ p("div", {
@@ -1154,16 +1155,16 @@ var Te = (e, t) => ({
1154
1155
  className: "mt-4 flex flex-wrap gap-3",
1155
1156
  children: [/* @__PURE__ */ f("button", {
1156
1157
  type: "button",
1157
- onClick: _t,
1158
- disabled: Be || He,
1158
+ onClick: vt,
1159
+ disabled: Ve || Ue,
1159
1160
  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",
1160
- children: Be || He ? "Saving..." : I?.userReview ? "Update Review" : "Submit Review"
1161
+ children: Ve || Ue ? "Saving..." : I?.userReview ? "Update Review" : "Submit Review"
1161
1162
  }), I?.userReview && /* @__PURE__ */ f("button", {
1162
1163
  type: "button",
1163
- onClick: vt,
1164
- disabled: We,
1164
+ onClick: yt,
1165
+ disabled: Ge,
1165
1166
  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",
1166
- children: We ? "Removing..." : "Delete Review"
1167
+ children: Ge ? "Removing..." : "Delete Review"
1167
1168
  })]
1168
1169
  })
1169
1170
  ]
@@ -1178,14 +1179,14 @@ var Te = (e, t) => ({
1178
1179
  className: "mt-4 space-y-3",
1179
1180
  children: [/* @__PURE__ */ f("ul", {
1180
1181
  className: "space-y-3",
1181
- children: (x ? V : V.slice(0, 2)).map((e) => /* @__PURE__ */ f("li", { children: /* @__PURE__ */ f(De, {
1182
+ children: (x ? V : V.slice(0, 2)).map((e) => /* @__PURE__ */ f("li", { children: /* @__PURE__ */ f(Oe, {
1182
1183
  review: e,
1183
- onMarkHelpful: yt,
1184
- markingHelpful: Ke && et === e.id
1184
+ onMarkHelpful: bt,
1185
+ markingHelpful: qe && tt === e.id
1185
1186
  }) }, e.id))
1186
1187
  }), V.length > 2 && /* @__PURE__ */ f("button", {
1187
1188
  type: "button",
1188
- onClick: () => Je(!x),
1189
+ onClick: () => Ye(!x),
1189
1190
  className: "cursor-pointer text-sm font-medium text-text-link",
1190
1191
  children: x ? "Show less" : `Show all ${V.length} reviews`
1191
1192
  })]
@@ -1213,14 +1214,14 @@ var Te = (e, t) => ({
1213
1214
  }, e))
1214
1215
  })]
1215
1216
  }),
1216
- St.length > 0 && /* @__PURE__ */ p("section", {
1217
+ Ct.length > 0 && /* @__PURE__ */ p("section", {
1217
1218
  className: "mb-8",
1218
1219
  children: [/* @__PURE__ */ f("h2", {
1219
1220
  className: "mb-4 text-lg font-medium text-text-primary",
1220
1221
  children: "Integrations"
1221
1222
  }), /* @__PURE__ */ f("div", {
1222
1223
  className: "flex flex-wrap gap-2",
1223
- children: St.map((e) => /* @__PURE__ */ f("span", {
1224
+ children: Ct.map((e) => /* @__PURE__ */ f("span", {
1224
1225
  className: "rounded-lg bg-bg-surface px-4 py-2 text-sm font-medium text-text-primary",
1225
1226
  children: e
1226
1227
  }, e))
@@ -1384,9 +1385,9 @@ var Te = (e, t) => ({
1384
1385
  })
1385
1386
  ]
1386
1387
  }),
1387
- K && /* @__PURE__ */ f(ae, {
1388
- isOpen: nt,
1389
- onClose: () => rt(!1),
1388
+ K && /* @__PURE__ */ f(oe, {
1389
+ isOpen: rt,
1390
+ onClose: () => it(!1),
1390
1391
  app: {
1391
1392
  id: K.id,
1392
1393
  applicationId: K.productId,
@@ -1398,13 +1399,13 @@ var Te = (e, t) => ({
1398
1399
  permissions: J.length > 0 ? J : void 0
1399
1400
  },
1400
1401
  purchaseState: W && !Y ? "purchased" : "free",
1401
- onInstallSuccess: mt,
1402
- onInstallError: ht
1402
+ onInstallSuccess: ht,
1403
+ onInstallError: gt
1403
1404
  })
1404
1405
  ]
1405
1406
  });
1406
1407
  };
1407
1408
  //#endregion
1408
- export { Ae as ProductDetailPage };
1409
+ export { je as ProductDetailPage };
1409
1410
 
1410
1411
  //# sourceMappingURL=ProductDetailPage.js.map