@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.
- package/dist/_virtual/_rolldown/runtime.js +20 -0
- package/dist/components/MarkdownEditor.d.ts +12 -0
- package/dist/components/MarkdownEditor.js +117 -0
- package/dist/components/MarkdownEditor.js.map +1 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.js +63 -0
- package/dist/node_modules/@ungap/structured-clone/esm/deserialize.js.map +1 -0
- package/dist/node_modules/@ungap/structured-clone/esm/index.js +8 -0
- package/dist/node_modules/@ungap/structured-clone/esm/index.js.map +1 -0
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.js +93 -0
- package/dist/node_modules/@ungap/structured-clone/esm/serialize.js.map +1 -0
- package/dist/node_modules/bail/index.js +8 -0
- package/dist/node_modules/bail/index.js.map +1 -0
- package/dist/node_modules/comma-separated-tokens/index.js +9 -0
- package/dist/node_modules/comma-separated-tokens/index.js.map +1 -0
- package/dist/node_modules/decode-named-character-reference/index.dom.js +12 -0
- package/dist/node_modules/decode-named-character-reference/index.dom.js.map +1 -0
- package/dist/node_modules/devlop/lib/default.js +7 -0
- package/dist/node_modules/devlop/lib/default.js.map +1 -0
- package/dist/node_modules/estree-util-is-identifier-name/lib/index.js +9 -0
- package/dist/node_modules/estree-util-is-identifier-name/lib/index.js.map +1 -0
- package/dist/node_modules/extend/index.js +42 -0
- package/dist/node_modules/extend/index.js.map +1 -0
- package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.js +255 -0
- package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.js.map +1 -0
- package/dist/node_modules/hast-util-whitespace/lib/index.js +12 -0
- package/dist/node_modules/hast-util-whitespace/lib/index.js.map +1 -0
- package/dist/node_modules/html-url-attributes/lib/index.js +38 -0
- package/dist/node_modules/html-url-attributes/lib/index.js.map +1 -0
- package/dist/node_modules/inline-style-parser/cjs/index.js +92 -0
- package/dist/node_modules/inline-style-parser/cjs/index.js.map +1 -0
- package/dist/node_modules/is-plain-obj/index.js +10 -0
- package/dist/node_modules/is-plain-obj/index.js.map +1 -0
- package/dist/node_modules/mdast-util-from-markdown/lib/index.js +559 -0
- package/dist/node_modules/mdast-util-from-markdown/lib/index.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/footer.js +105 -0
- package/dist/node_modules/mdast-util-to-hast/lib/footer.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js +14 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/break.js +17 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/break.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/code.js +24 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/code.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/delete.js +14 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/delete.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js +14 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js +32 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/heading.js +14 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/heading.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/html.js +14 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/html.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js +23 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/image.js +17 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/image.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/index.js +58 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/index.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js +19 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js +20 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/link.js +17 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/link.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/list-item.js +61 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/list-item.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/list.js +22 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/list.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js +14 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/root.js +12 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/root.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/strong.js +14 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/strong.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js +14 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-row.js +26 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/table-row.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/table.js +37 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/table.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/text.js +13 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/text.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js +14 -0
- package/dist/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/index.js +21 -0
- package/dist/node_modules/mdast-util-to-hast/lib/index.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/revert.js +22 -0
- package/dist/node_modules/mdast-util-to-hast/lib/revert.js.map +1 -0
- package/dist/node_modules/mdast-util-to-hast/lib/state.js +110 -0
- package/dist/node_modules/mdast-util-to-hast/lib/state.js.map +1 -0
- package/dist/node_modules/mdast-util-to-string/lib/index.js +26 -0
- package/dist/node_modules/mdast-util-to-string/lib/index.js.map +1 -0
- package/dist/node_modules/micromark/lib/constructs.js +82 -0
- package/dist/node_modules/micromark/lib/constructs.js.map +1 -0
- package/dist/node_modules/micromark/lib/create-tokenizer.js +179 -0
- package/dist/node_modules/micromark/lib/create-tokenizer.js.map +1 -0
- package/dist/node_modules/micromark/lib/initialize/content.js +36 -0
- package/dist/node_modules/micromark/lib/initialize/content.js.map +1 -0
- package/dist/node_modules/micromark/lib/initialize/document.js +104 -0
- package/dist/node_modules/micromark/lib/initialize/document.js.map +1 -0
- package/dist/node_modules/micromark/lib/initialize/flow.js +27 -0
- package/dist/node_modules/micromark/lib/initialize/flow.js.map +1 -0
- package/dist/node_modules/micromark/lib/initialize/text.js +88 -0
- package/dist/node_modules/micromark/lib/initialize/text.js.map +1 -0
- package/dist/node_modules/micromark/lib/parse.js +31 -0
- package/dist/node_modules/micromark/lib/parse.js.map +1 -0
- package/dist/node_modules/micromark/lib/postprocess.js +10 -0
- package/dist/node_modules/micromark/lib/postprocess.js.map +1 -0
- package/dist/node_modules/micromark/lib/preprocess.js +34 -0
- package/dist/node_modules/micromark/lib/preprocess.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/attention.js +116 -0
- package/dist/node_modules/micromark-core-commonmark/lib/attention.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/autolink.js +45 -0
- package/dist/node_modules/micromark-core-commonmark/lib/autolink.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/blank-line.js +20 -0
- package/dist/node_modules/micromark-core-commonmark/lib/blank-line.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/block-quote.js +40 -0
- package/dist/node_modules/micromark-core-commonmark/lib/block-quote.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/character-escape.js +19 -0
- package/dist/node_modules/micromark-core-commonmark/lib/character-escape.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/character-reference.js +31 -0
- package/dist/node_modules/micromark-core-commonmark/lib/character-reference.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/code-fenced.js +91 -0
- package/dist/node_modules/micromark-core-commonmark/lib/code-fenced.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/code-indented.js +45 -0
- package/dist/node_modules/micromark-core-commonmark/lib/code-indented.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/code-text.js +45 -0
- package/dist/node_modules/micromark-core-commonmark/lib/code-text.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/content.js +49 -0
- package/dist/node_modules/micromark-core-commonmark/lib/content.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/definition.js +62 -0
- package/dist/node_modules/micromark-core-commonmark/lib/definition.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +19 -0
- package/dist/node_modules/micromark-core-commonmark/lib/hard-break-escape.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/heading-atx.js +69 -0
- package/dist/node_modules/micromark-core-commonmark/lib/heading-atx.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/html-flow.js +143 -0
- package/dist/node_modules/micromark-core-commonmark/lib/html-flow.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/html-text.js +102 -0
- package/dist/node_modules/micromark-core-commonmark/lib/html-text.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/label-end.js +160 -0
- package/dist/node_modules/micromark-core-commonmark/lib/label-end.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/label-start-image.js +25 -0
- package/dist/node_modules/micromark-core-commonmark/lib/label-start-image.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/label-start-link.js +22 -0
- package/dist/node_modules/micromark-core-commonmark/lib/label-start-link.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/line-ending.js +16 -0
- package/dist/node_modules/micromark-core-commonmark/lib/line-ending.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/list.js +80 -0
- package/dist/node_modules/micromark-core-commonmark/lib/list.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/setext-underline.js +61 -0
- package/dist/node_modules/micromark-core-commonmark/lib/setext-underline.js.map +1 -0
- package/dist/node_modules/micromark-core-commonmark/lib/thematic-break.js +27 -0
- package/dist/node_modules/micromark-core-commonmark/lib/thematic-break.js.map +1 -0
- package/dist/node_modules/micromark-factory-destination/index.js +28 -0
- package/dist/node_modules/micromark-factory-destination/index.js.map +1 -0
- package/dist/node_modules/micromark-factory-label/index.js +22 -0
- package/dist/node_modules/micromark-factory-label/index.js.map +1 -0
- package/dist/node_modules/micromark-factory-space/index.js +16 -0
- package/dist/node_modules/micromark-factory-space/index.js.map +1 -0
- package/dist/node_modules/micromark-factory-title/index.js +26 -0
- package/dist/node_modules/micromark-factory-title/index.js.map +1 -0
- package/dist/node_modules/micromark-factory-whitespace/index.js +14 -0
- package/dist/node_modules/micromark-factory-whitespace/index.js.map +1 -0
- package/dist/node_modules/micromark-util-character/index.js +26 -0
- package/dist/node_modules/micromark-util-character/index.js.map +1 -0
- package/dist/node_modules/micromark-util-chunked/index.js +13 -0
- package/dist/node_modules/micromark-util-chunked/index.js.map +1 -0
- package/dist/node_modules/micromark-util-classify-character/index.js +10 -0
- package/dist/node_modules/micromark-util-classify-character/index.js.map +1 -0
- package/dist/node_modules/micromark-util-combine-extensions/index.js +28 -0
- package/dist/node_modules/micromark-util-combine-extensions/index.js.map +1 -0
- package/dist/node_modules/micromark-util-decode-numeric-character-reference/index.js +9 -0
- package/dist/node_modules/micromark-util-decode-numeric-character-reference/index.js.map +1 -0
- package/dist/node_modules/micromark-util-decode-string/index.js +19 -0
- package/dist/node_modules/micromark-util-decode-string/index.js.map +1 -0
- package/dist/node_modules/micromark-util-html-tag-name/index.js +11 -0
- package/dist/node_modules/micromark-util-html-tag-name/index.js.map +1 -0
- package/dist/node_modules/micromark-util-normalize-identifier/index.js +8 -0
- package/dist/node_modules/micromark-util-normalize-identifier/index.js.map +1 -0
- package/dist/node_modules/micromark-util-resolve-all/index.js +13 -0
- package/dist/node_modules/micromark-util-resolve-all/index.js.map +1 -0
- package/dist/node_modules/micromark-util-sanitize-uri/index.js +20 -0
- package/dist/node_modules/micromark-util-sanitize-uri/index.js.map +1 -0
- package/dist/node_modules/micromark-util-subtokenize/index.js +37 -0
- package/dist/node_modules/micromark-util-subtokenize/index.js.map +1 -0
- package/dist/node_modules/micromark-util-subtokenize/lib/splice-buffer.js +59 -0
- package/dist/node_modules/micromark-util-subtokenize/lib/splice-buffer.js.map +1 -0
- package/dist/node_modules/property-information/index.js +28 -0
- package/dist/node_modules/property-information/index.js.map +1 -0
- package/dist/node_modules/property-information/lib/aria.js +63 -0
- package/dist/node_modules/property-information/lib/aria.js.map +1 -0
- package/dist/node_modules/property-information/lib/find.js +33 -0
- package/dist/node_modules/property-information/lib/find.js.map +1 -0
- package/dist/node_modules/property-information/lib/hast-to-react.js +24 -0
- package/dist/node_modules/property-information/lib/hast-to-react.js.map +1 -0
- package/dist/node_modules/property-information/lib/html.js +328 -0
- package/dist/node_modules/property-information/lib/html.js.map +1 -0
- package/dist/node_modules/property-information/lib/normalize.js +8 -0
- package/dist/node_modules/property-information/lib/normalize.js.map +1 -0
- package/dist/node_modules/property-information/lib/svg.js +566 -0
- package/dist/node_modules/property-information/lib/svg.js.map +1 -0
- package/dist/node_modules/property-information/lib/util/case-insensitive-transform.js +9 -0
- package/dist/node_modules/property-information/lib/util/case-insensitive-transform.js.map +1 -0
- package/dist/node_modules/property-information/lib/util/case-sensitive-transform.js +8 -0
- package/dist/node_modules/property-information/lib/util/case-sensitive-transform.js.map +1 -0
- package/dist/node_modules/property-information/lib/util/create.js +16 -0
- package/dist/node_modules/property-information/lib/util/create.js.map +1 -0
- package/dist/node_modules/property-information/lib/util/defined-info.js +20 -0
- package/dist/node_modules/property-information/lib/util/defined-info.js.map +1 -0
- package/dist/node_modules/property-information/lib/util/info.js +11 -0
- package/dist/node_modules/property-information/lib/util/info.js.map +1 -0
- package/dist/node_modules/property-information/lib/util/merge.js +11 -0
- package/dist/node_modules/property-information/lib/util/merge.js.map +1 -0
- package/dist/node_modules/property-information/lib/util/schema.js +11 -0
- package/dist/node_modules/property-information/lib/util/schema.js.map +1 -0
- package/dist/node_modules/property-information/lib/util/types.js +18 -0
- package/dist/node_modules/property-information/lib/util/types.js.map +1 -0
- package/dist/node_modules/property-information/lib/xlink.js +21 -0
- package/dist/node_modules/property-information/lib/xlink.js.map +1 -0
- package/dist/node_modules/property-information/lib/xml.js +17 -0
- package/dist/node_modules/property-information/lib/xml.js.map +1 -0
- package/dist/node_modules/property-information/lib/xmlns.js +16 -0
- package/dist/node_modules/property-information/lib/xmlns.js.map +1 -0
- package/dist/node_modules/react-markdown/lib/index.js +142 -0
- package/dist/node_modules/react-markdown/lib/index.js.map +1 -0
- package/dist/node_modules/remark-parse/lib/index.js +18 -0
- package/dist/node_modules/remark-parse/lib/index.js.map +1 -0
- package/dist/node_modules/remark-rehype/lib/index.js +20 -0
- package/dist/node_modules/remark-rehype/lib/index.js.map +1 -0
- package/dist/node_modules/space-separated-tokens/index.js +8 -0
- package/dist/node_modules/space-separated-tokens/index.js.map +1 -0
- package/dist/node_modules/style-to-js/cjs/index.js +21 -0
- package/dist/node_modules/style-to-js/cjs/index.js.map +1 -0
- package/dist/node_modules/style-to-js/cjs/utilities.js +20 -0
- package/dist/node_modules/style-to-js/cjs/utilities.js.map +1 -0
- package/dist/node_modules/style-to-object/cjs/index.js +25 -0
- package/dist/node_modules/style-to-object/cjs/index.js.map +1 -0
- package/dist/node_modules/trim-lines/index.js +23 -0
- package/dist/node_modules/trim-lines/index.js.map +1 -0
- package/dist/node_modules/trough/lib/index.js +52 -0
- package/dist/node_modules/trough/lib/index.js.map +1 -0
- package/dist/node_modules/unified/lib/callable-instance.js +11 -0
- package/dist/node_modules/unified/lib/callable-instance.js.map +1 -0
- package/dist/node_modules/unified/lib/index.js +163 -0
- package/dist/node_modules/unified/lib/index.js.map +1 -0
- package/dist/node_modules/unist-util-is/lib/index.js +49 -0
- package/dist/node_modules/unist-util-is/lib/index.js.map +1 -0
- package/dist/node_modules/unist-util-position/lib/index.js +24 -0
- package/dist/node_modules/unist-util-position/lib/index.js.map +1 -0
- package/dist/node_modules/unist-util-stringify-position/lib/index.js +17 -0
- package/dist/node_modules/unist-util-stringify-position/lib/index.js.map +1 -0
- package/dist/node_modules/unist-util-visit/lib/index.js +14 -0
- package/dist/node_modules/unist-util-visit/lib/index.js.map +1 -0
- package/dist/node_modules/unist-util-visit-parents/lib/color.js +8 -0
- package/dist/node_modules/unist-util-visit-parents/lib/color.js.map +1 -0
- package/dist/node_modules/unist-util-visit-parents/lib/index.js +38 -0
- package/dist/node_modules/unist-util-visit-parents/lib/index.js.map +1 -0
- package/dist/node_modules/vfile/lib/index.js +91 -0
- package/dist/node_modules/vfile/lib/index.js.map +1 -0
- package/dist/node_modules/vfile/lib/minpath.browser.js +101 -0
- package/dist/node_modules/vfile/lib/minpath.browser.js.map +1 -0
- package/dist/node_modules/vfile/lib/minproc.browser.js +9 -0
- package/dist/node_modules/vfile/lib/minproc.browser.js.map +1 -0
- package/dist/node_modules/vfile/lib/minurl.browser.js +33 -0
- package/dist/node_modules/vfile/lib/minurl.browser.js.map +1 -0
- package/dist/node_modules/vfile/lib/minurl.shared.js +8 -0
- package/dist/node_modules/vfile/lib/minurl.shared.js.map +1 -0
- package/dist/node_modules/vfile-message/lib/index.js +26 -0
- package/dist/node_modules/vfile-message/lib/index.js.map +1 -0
- package/dist/pages/AdminStoresPage.js +203 -207
- package/dist/pages/AdminStoresPage.js.map +1 -1
- package/dist/pages/AdminSubmissionsQueuePage.js +173 -172
- package/dist/pages/AdminSubmissionsQueuePage.js.map +1 -1
- package/dist/pages/MarketplaceHomePage.js +472 -422
- package/dist/pages/MarketplaceHomePage.js.map +1 -1
- package/dist/pages/ProductDetailPage.js +104 -103
- package/dist/pages/ProductDetailPage.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { useStore as e } from "../providers/StoreProvider.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { useGetMyStoreInstallationsQuery as t } from "../generated/global-operations.js";
|
|
3
|
+
import { useCart as n } from "../hooks/useCart.js";
|
|
4
|
+
import { useBrowseStoreWithContext as r, useHomeGroupedProducts as i } from "../hooks/useStoreGraphQL.js";
|
|
5
|
+
import { PricingModel as a, ProductNature as o, StoreSortBy as s } from "../generated/global-types.js";
|
|
5
6
|
import { CartDrawer as ee } from "../components/cart/CartDrawer.js";
|
|
6
|
-
import { useCallback as te, useEffect as ne, useId as re, useMemo as
|
|
7
|
+
import { useCallback as te, useEffect as ne, useId as re, useMemo as c, useRef as ie, useState as l } from "react";
|
|
7
8
|
import { useI18n as ae } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
8
|
-
import { AlertCircle as
|
|
9
|
-
import { Fragment as
|
|
10
|
-
import { useNavigate as
|
|
11
|
-
import { AuroraBackground as
|
|
12
|
-
import { useEventBus as
|
|
13
|
-
import { useDebounce as
|
|
9
|
+
import { AlertCircle as u, Bot as d, Box as f, Brain as p, ChevronDown as oe, ChevronRight as m, Clock as se, Database as ce, Download as h, FileCode2 as le, Filter as ue, Gift as de, GitBranch as g, LayoutDashboard as _, Loader2 as fe, Puzzle as v, Search as pe, ShoppingCart as me, SlidersHorizontal as he, Sparkles as y, Star as b, TrendingUp as ge, X as x } from "lucide-react";
|
|
10
|
+
import { Fragment as _e, jsx as S, jsxs as C } from "react/jsx-runtime";
|
|
11
|
+
import { useNavigate as ve } from "react-router-dom";
|
|
12
|
+
import { AuroraBackground as ye, GlassCard as be, GradientText as xe, IllustratedEmptyState as Se, PagePurpose as Ce } from "@burdenoff/fe-libs/ui";
|
|
13
|
+
import { useEventBus as we } from "@burdenoff/fe-libs/shared/events";
|
|
14
|
+
import { useDebounce as Te } from "@burdenoff/fe-libs/shared/hooks";
|
|
14
15
|
//#region src/pages/MarketplaceHomePage.tsx
|
|
15
|
-
var
|
|
16
|
+
var Ee = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).toFixed(1)}K` : e.toString(), w = (e) => e.pricingModel === "FREE" || e.price === 0 ? "Free" : `$${e.price}`, T = (e) => ({
|
|
16
17
|
BOTAPP: "var(--color-accent-blue)",
|
|
17
18
|
AGENT: "var(--color-accent-purple)",
|
|
18
19
|
CONSOLE: "var(--color-accent-teal)",
|
|
@@ -30,111 +31,111 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
30
31
|
THEME: "var(--color-accent-purple)",
|
|
31
32
|
PLUGIN: "var(--color-status-success-bg)",
|
|
32
33
|
COMPONENT: "var(--color-accent-blue)"
|
|
33
|
-
})[e] || "var(--color-text-muted)",
|
|
34
|
-
BOTAPP:
|
|
35
|
-
AGENT:
|
|
36
|
-
CONSOLE:
|
|
37
|
-
WORKFLOW:
|
|
38
|
-
NODE:
|
|
39
|
-
WIDGET:
|
|
40
|
-
VIBEMODULE:
|
|
41
|
-
DASHBOARD:
|
|
42
|
-
PARSER:
|
|
43
|
-
DATASINK:
|
|
44
|
-
APP:
|
|
45
|
-
TEMPLATE:
|
|
46
|
-
INTEGRATION:
|
|
47
|
-
EXTENSION:
|
|
48
|
-
THEME:
|
|
49
|
-
PLUGIN:
|
|
50
|
-
COMPONENT:
|
|
51
|
-
},
|
|
34
|
+
})[e] || "var(--color-text-muted)", E = (e) => `color-mix(in srgb, ${T(e)}, transparent 85%)`, D = {
|
|
35
|
+
BOTAPP: d,
|
|
36
|
+
AGENT: p,
|
|
37
|
+
CONSOLE: _,
|
|
38
|
+
WORKFLOW: g,
|
|
39
|
+
NODE: f,
|
|
40
|
+
WIDGET: v,
|
|
41
|
+
VIBEMODULE: v,
|
|
42
|
+
DASHBOARD: _,
|
|
43
|
+
PARSER: le,
|
|
44
|
+
DATASINK: ce,
|
|
45
|
+
APP: f,
|
|
46
|
+
TEMPLATE: _,
|
|
47
|
+
INTEGRATION: g,
|
|
48
|
+
EXTENSION: v,
|
|
49
|
+
THEME: v,
|
|
50
|
+
PLUGIN: v,
|
|
51
|
+
COMPONENT: f
|
|
52
|
+
}, O = ({ type: e, className: t, style: n }) => /* @__PURE__ */ S(D[e] || f, {
|
|
52
53
|
className: t,
|
|
53
54
|
style: n
|
|
54
|
-
}),
|
|
55
|
-
let r =
|
|
56
|
-
return n === "featured" ? /* @__PURE__ */
|
|
55
|
+
}), k = ({ product: e, onClick: t, variant: n = "default" }) => {
|
|
56
|
+
let r = T(e.type);
|
|
57
|
+
return n === "featured" ? /* @__PURE__ */ C("button", {
|
|
57
58
|
type: "button",
|
|
58
59
|
onClick: t,
|
|
59
60
|
className: "group relative flex size-full cursor-pointer flex-col overflow-hidden rounded-2xl border border-border-seam bg-gradient-to-br from-bg-surface to-bg-sunken p-6 text-left shadow-elevation-1 transition-[box-shadow,border-color,color] hover:border-border-strong hover:shadow-[var(--shadow-pop)]",
|
|
60
61
|
children: [
|
|
61
|
-
e.featured && /* @__PURE__ */
|
|
62
|
+
e.featured && /* @__PURE__ */ C("div", {
|
|
62
63
|
className: "absolute right-4 top-4 flex items-center gap-1 rounded-full bg-status-warning-bg-subtle px-2 py-1 text-xs font-medium text-status-warning-text",
|
|
63
|
-
children: [/* @__PURE__ */
|
|
64
|
+
children: [/* @__PURE__ */ S(y, { className: "size-3" }), "Featured"]
|
|
64
65
|
}),
|
|
65
|
-
/* @__PURE__ */
|
|
66
|
+
/* @__PURE__ */ C("div", {
|
|
66
67
|
className: "flex items-start gap-4",
|
|
67
|
-
children: [/* @__PURE__ */
|
|
68
|
+
children: [/* @__PURE__ */ S("div", {
|
|
68
69
|
className: "flex size-16 flex-shrink-0 items-center justify-center rounded-2xl",
|
|
69
|
-
style: { backgroundColor:
|
|
70
|
-
children: e.icon ? /* @__PURE__ */
|
|
70
|
+
style: { backgroundColor: E(e.type) },
|
|
71
|
+
children: e.icon ? /* @__PURE__ */ S("img", {
|
|
71
72
|
src: e.icon,
|
|
72
73
|
alt: e.name,
|
|
73
74
|
className: "size-10 rounded-lg object-cover"
|
|
74
|
-
}) : /* @__PURE__ */
|
|
75
|
+
}) : /* @__PURE__ */ S(O, {
|
|
75
76
|
type: e.type,
|
|
76
77
|
className: "size-10",
|
|
77
78
|
style: { color: r }
|
|
78
79
|
})
|
|
79
|
-
}), /* @__PURE__ */
|
|
80
|
+
}), /* @__PURE__ */ C("div", {
|
|
80
81
|
className: "flex-1 overflow-hidden",
|
|
81
|
-
children: [/* @__PURE__ */
|
|
82
|
+
children: [/* @__PURE__ */ S("h3", {
|
|
82
83
|
className: "truncate text-lg font-semibold text-text-primary group-hover:text-text-link",
|
|
83
84
|
children: e.name
|
|
84
|
-
}), /* @__PURE__ */
|
|
85
|
+
}), /* @__PURE__ */ C("p", {
|
|
85
86
|
className: "flex items-center gap-2 text-sm text-text-muted",
|
|
86
|
-
children: [/* @__PURE__ */
|
|
87
|
+
children: [/* @__PURE__ */ S(O, {
|
|
87
88
|
type: e.type,
|
|
88
89
|
className: "size-3.5"
|
|
89
90
|
}), e.category || e.type]
|
|
90
91
|
})]
|
|
91
92
|
})]
|
|
92
93
|
}),
|
|
93
|
-
/* @__PURE__ */
|
|
94
|
+
/* @__PURE__ */ S("p", {
|
|
94
95
|
className: "mt-4 line-clamp-2 flex-1 text-sm text-text-muted",
|
|
95
96
|
children: e.description || "No description available"
|
|
96
97
|
}),
|
|
97
|
-
/* @__PURE__ */
|
|
98
|
+
/* @__PURE__ */ C("div", {
|
|
98
99
|
className: "mt-4 flex items-center justify-between border-t border-border-seam pt-4",
|
|
99
|
-
children: [/* @__PURE__ */
|
|
100
|
+
children: [/* @__PURE__ */ C("div", {
|
|
100
101
|
className: "flex items-center gap-3",
|
|
101
|
-
children: [/* @__PURE__ */
|
|
102
|
+
children: [/* @__PURE__ */ C("span", {
|
|
102
103
|
className: "flex items-center gap-1 text-sm text-text-muted",
|
|
103
|
-
children: [/* @__PURE__ */ b
|
|
104
|
-
}), /* @__PURE__ */
|
|
104
|
+
children: [/* @__PURE__ */ S(b, { className: "size-4 fill-current text-status-warning-text" }), (e.rating ?? 0).toFixed(1)]
|
|
105
|
+
}), /* @__PURE__ */ C("span", {
|
|
105
106
|
className: "flex items-center gap-1 text-sm text-text-muted",
|
|
106
|
-
children: [/* @__PURE__ */
|
|
107
|
+
children: [/* @__PURE__ */ S(h, { className: "size-4" }), Ee(e.downloads)]
|
|
107
108
|
})]
|
|
108
|
-
}), /* @__PURE__ */
|
|
109
|
+
}), /* @__PURE__ */ S("span", {
|
|
109
110
|
className: "rounded-full bg-action-primary-bg/10 px-3 py-1 text-sm font-medium text-text-link",
|
|
110
|
-
children:
|
|
111
|
+
children: w(e)
|
|
111
112
|
})]
|
|
112
113
|
})
|
|
113
114
|
]
|
|
114
|
-
}) : n === "compact" ? /* @__PURE__ */
|
|
115
|
+
}) : n === "compact" ? /* @__PURE__ */ C("button", {
|
|
115
116
|
type: "button",
|
|
116
117
|
onClick: t,
|
|
117
118
|
className: "group flex cursor-pointer items-center gap-3 rounded-xl border border-transparent p-3 text-left transition-[background-color,border-color] hover:border-border-seam hover:bg-bg-surface",
|
|
118
119
|
children: [
|
|
119
|
-
/* @__PURE__ */
|
|
120
|
+
/* @__PURE__ */ S("div", {
|
|
120
121
|
className: "flex size-12 flex-shrink-0 items-center justify-center rounded-xl",
|
|
121
|
-
style: { backgroundColor:
|
|
122
|
-
children: e.icon ? /* @__PURE__ */
|
|
122
|
+
style: { backgroundColor: E(e.type) },
|
|
123
|
+
children: e.icon ? /* @__PURE__ */ S("img", {
|
|
123
124
|
src: e.icon,
|
|
124
125
|
alt: e.name,
|
|
125
126
|
className: "size-8 rounded-lg object-cover"
|
|
126
|
-
}) : /* @__PURE__ */
|
|
127
|
+
}) : /* @__PURE__ */ S(O, {
|
|
127
128
|
type: e.type,
|
|
128
129
|
className: "size-8",
|
|
129
130
|
style: { color: r }
|
|
130
131
|
})
|
|
131
132
|
}),
|
|
132
|
-
/* @__PURE__ */
|
|
133
|
+
/* @__PURE__ */ C("div", {
|
|
133
134
|
className: "flex-1 overflow-hidden",
|
|
134
|
-
children: [/* @__PURE__ */
|
|
135
|
+
children: [/* @__PURE__ */ S("h4", {
|
|
135
136
|
className: "truncate font-medium text-text-primary group-hover:text-text-link",
|
|
136
137
|
children: e.name
|
|
137
|
-
}), /* @__PURE__ */
|
|
138
|
+
}), /* @__PURE__ */ C("p", {
|
|
138
139
|
className: "truncate text-xs text-text-muted",
|
|
139
140
|
children: [
|
|
140
141
|
e.category || e.type,
|
|
@@ -144,156 +145,181 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
144
145
|
]
|
|
145
146
|
})]
|
|
146
147
|
}),
|
|
147
|
-
/* @__PURE__ */
|
|
148
|
+
/* @__PURE__ */ S("span", {
|
|
148
149
|
className: "text-xs font-medium text-text-muted",
|
|
149
|
-
children:
|
|
150
|
+
children: w(e)
|
|
150
151
|
})
|
|
151
152
|
]
|
|
152
|
-
}) : /* @__PURE__ */
|
|
153
|
+
}) : /* @__PURE__ */ C("button", {
|
|
153
154
|
type: "button",
|
|
154
155
|
onClick: t,
|
|
155
156
|
className: "group flex cursor-pointer flex-col overflow-hidden rounded-xl border border-border-seam bg-bg-surface p-4 text-left shadow-elevation-1 transition-[box-shadow,border-color,color] hover:border-border-strong hover:shadow-[var(--shadow-pop)]",
|
|
156
157
|
children: [
|
|
157
|
-
/* @__PURE__ */
|
|
158
|
+
/* @__PURE__ */ C("div", {
|
|
158
159
|
className: "flex items-start gap-3",
|
|
159
|
-
children: [/* @__PURE__ */
|
|
160
|
+
children: [/* @__PURE__ */ S("div", {
|
|
160
161
|
className: "flex size-14 flex-shrink-0 items-center justify-center rounded-xl",
|
|
161
|
-
style: { backgroundColor:
|
|
162
|
-
children: e.icon ? /* @__PURE__ */
|
|
162
|
+
style: { backgroundColor: E(e.type) },
|
|
163
|
+
children: e.icon ? /* @__PURE__ */ S("img", {
|
|
163
164
|
src: e.icon,
|
|
164
165
|
alt: e.name,
|
|
165
166
|
className: "size-9 rounded-lg object-cover"
|
|
166
|
-
}) : /* @__PURE__ */
|
|
167
|
+
}) : /* @__PURE__ */ S(O, {
|
|
167
168
|
type: e.type,
|
|
168
169
|
className: "size-9",
|
|
169
170
|
style: { color: r }
|
|
170
171
|
})
|
|
171
|
-
}), /* @__PURE__ */
|
|
172
|
+
}), /* @__PURE__ */ C("div", {
|
|
172
173
|
className: "flex-1 overflow-hidden",
|
|
173
|
-
children: [/* @__PURE__ */
|
|
174
|
+
children: [/* @__PURE__ */ S("h4", {
|
|
174
175
|
className: "truncate font-semibold text-text-primary group-hover:text-text-link",
|
|
175
176
|
children: e.name
|
|
176
|
-
}), /* @__PURE__ */
|
|
177
|
+
}), /* @__PURE__ */ C("p", {
|
|
177
178
|
className: "flex items-center gap-1.5 text-xs text-text-muted",
|
|
178
|
-
children: [/* @__PURE__ */
|
|
179
|
+
children: [/* @__PURE__ */ S(O, {
|
|
179
180
|
type: e.type,
|
|
180
181
|
className: "size-3"
|
|
181
182
|
}), e.category || e.type]
|
|
182
183
|
})]
|
|
183
184
|
})]
|
|
184
185
|
}),
|
|
185
|
-
/* @__PURE__ */
|
|
186
|
+
/* @__PURE__ */ S("p", {
|
|
186
187
|
className: "mt-3 line-clamp-2 text-sm text-text-muted",
|
|
187
188
|
children: e.description || "No description available"
|
|
188
189
|
}),
|
|
189
|
-
/* @__PURE__ */
|
|
190
|
+
/* @__PURE__ */ C("div", {
|
|
190
191
|
className: "mt-3 flex items-center justify-between",
|
|
191
|
-
children: [/* @__PURE__ */
|
|
192
|
+
children: [/* @__PURE__ */ C("div", {
|
|
192
193
|
className: "flex items-center gap-2",
|
|
193
194
|
children: [
|
|
194
|
-
/* @__PURE__ */
|
|
195
|
+
/* @__PURE__ */ C("span", {
|
|
195
196
|
className: "flex items-center gap-0.5 text-xs text-text-muted",
|
|
196
|
-
children: [/* @__PURE__ */ b
|
|
197
|
+
children: [/* @__PURE__ */ S(b, { className: "size-3.5 fill-current text-status-warning-text" }), (e.rating ?? 0).toFixed(1)]
|
|
197
198
|
}),
|
|
198
|
-
/* @__PURE__ */
|
|
199
|
+
/* @__PURE__ */ S("span", {
|
|
199
200
|
className: "text-xs text-text-muted",
|
|
200
201
|
children: "·"
|
|
201
202
|
}),
|
|
202
|
-
/* @__PURE__ */
|
|
203
|
+
/* @__PURE__ */ C("span", {
|
|
203
204
|
className: "text-xs text-text-muted",
|
|
204
|
-
children: [
|
|
205
|
+
children: [Ee(e.downloads), " downloads"]
|
|
205
206
|
})
|
|
206
207
|
]
|
|
207
|
-
}), /* @__PURE__ */
|
|
208
|
+
}), /* @__PURE__ */ S("span", {
|
|
208
209
|
className: "text-xs font-semibold text-text-link",
|
|
209
|
-
children:
|
|
210
|
+
children: w(e)
|
|
210
211
|
})]
|
|
211
212
|
})
|
|
212
213
|
]
|
|
213
214
|
});
|
|
214
|
-
},
|
|
215
|
+
}, De = ({ product: e, onClick: t }) => /* @__PURE__ */ C("button", {
|
|
216
|
+
type: "button",
|
|
217
|
+
onClick: t,
|
|
218
|
+
className: "group flex cursor-pointer items-center gap-3 rounded-xl border border-status-warning-border/30 bg-bg-surface p-4 text-left shadow-elevation-1 transition-all hover:border-status-warning-border/60 hover:shadow-[var(--shadow-pop)]",
|
|
219
|
+
children: [/* @__PURE__ */ C("div", {
|
|
220
|
+
className: "relative flex size-14 flex-shrink-0 items-center justify-center rounded-xl bg-status-warning-bg-subtle",
|
|
221
|
+
children: [e.icon ? /* @__PURE__ */ S("img", {
|
|
222
|
+
src: e.icon,
|
|
223
|
+
alt: e.name,
|
|
224
|
+
className: "size-9 rounded-lg object-cover grayscale"
|
|
225
|
+
}) : /* @__PURE__ */ S(f, { className: "size-9 text-status-warning-text/50" }), /* @__PURE__ */ S("span", {
|
|
226
|
+
className: "absolute -right-1 -top-1 flex size-4 items-center justify-center rounded-full bg-status-warning-bg-subtle border border-status-warning-border/40",
|
|
227
|
+
children: /* @__PURE__ */ S(u, { className: "size-2.5 text-status-warning-text" })
|
|
228
|
+
})]
|
|
229
|
+
}), /* @__PURE__ */ C("div", {
|
|
230
|
+
className: "min-w-0 flex-1",
|
|
231
|
+
children: [/* @__PURE__ */ S("h4", {
|
|
232
|
+
className: "truncate font-semibold text-text-secondary group-hover:text-text-link",
|
|
233
|
+
children: e.name
|
|
234
|
+
}), /* @__PURE__ */ C("span", {
|
|
235
|
+
title: "This node is no longer supported. We encourage you to migrate to newer alternatives.",
|
|
236
|
+
className: "mt-1 inline-flex cursor-help items-center gap-1 rounded-full bg-status-warning-bg-subtle px-2 py-0.5 text-xs font-medium text-status-warning-text",
|
|
237
|
+
children: [/* @__PURE__ */ S(u, { className: "size-3" }), "No Longer Supported"]
|
|
238
|
+
})]
|
|
239
|
+
})]
|
|
240
|
+
}), A = ({ icon: e, title: t, subtitle: n, onViewAll: r }) => /* @__PURE__ */ C("div", {
|
|
215
241
|
className: "mb-4 flex items-center justify-between",
|
|
216
|
-
children: [/* @__PURE__ */
|
|
242
|
+
children: [/* @__PURE__ */ C("div", {
|
|
217
243
|
className: "flex items-center gap-3",
|
|
218
|
-
children: [/* @__PURE__ */
|
|
244
|
+
children: [/* @__PURE__ */ S("div", {
|
|
219
245
|
className: "flex size-10 items-center justify-center rounded-xl bg-action-primary-bg/10",
|
|
220
|
-
children: /* @__PURE__ */
|
|
221
|
-
}), /* @__PURE__ */
|
|
246
|
+
children: /* @__PURE__ */ S(e, { className: "size-5 text-text-link" })
|
|
247
|
+
}), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("h2", {
|
|
222
248
|
className: "text-lg font-semibold text-text-primary",
|
|
223
249
|
children: t
|
|
224
|
-
}), n && /* @__PURE__ */
|
|
250
|
+
}), n && /* @__PURE__ */ S("p", {
|
|
225
251
|
className: "text-sm text-text-muted",
|
|
226
252
|
children: n
|
|
227
253
|
})] })]
|
|
228
|
-
}), r && /* @__PURE__ */
|
|
254
|
+
}), r && /* @__PURE__ */ C("button", {
|
|
229
255
|
type: "button",
|
|
230
256
|
onClick: r,
|
|
231
257
|
className: "cursor-pointer flex items-center gap-1 text-sm font-medium text-text-link hover:underline",
|
|
232
|
-
children: ["View all", /* @__PURE__ */
|
|
258
|
+
children: ["View all", /* @__PURE__ */ S(m, { className: "size-4" })]
|
|
233
259
|
})]
|
|
234
|
-
}), Oe = ({ typeId: e, name: t, count: n, active: r, onClick: i }) => /* @__PURE__ */
|
|
260
|
+
}), Oe = ({ typeId: e, name: t, count: n, active: r, onClick: i }) => /* @__PURE__ */ C("button", {
|
|
235
261
|
type: "button",
|
|
236
262
|
onClick: i,
|
|
237
263
|
className: `flex cursor-pointer items-center gap-2 rounded-full px-4 py-2 text-sm font-medium transition-all ${r ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-surface text-text-primary hover:bg-bg-sunken"}`,
|
|
238
264
|
children: [
|
|
239
|
-
/* @__PURE__ */
|
|
265
|
+
/* @__PURE__ */ S(O, {
|
|
240
266
|
type: e,
|
|
241
267
|
className: "size-4"
|
|
242
268
|
}),
|
|
243
269
|
t,
|
|
244
|
-
/* @__PURE__ */
|
|
270
|
+
/* @__PURE__ */ S("span", {
|
|
245
271
|
className: `rounded-full px-1.5 py-0.5 text-xs ${r ? "bg-bg-surface/20" : "bg-bg-sunken"}`,
|
|
246
272
|
children: n
|
|
247
273
|
})
|
|
248
274
|
]
|
|
249
275
|
}), ke = ({ featuredProducts: e, onProductClick: t, dataTour: n }) => {
|
|
250
|
-
let [r, i] =
|
|
276
|
+
let [r, i] = l(0), a = e[r] || e[0];
|
|
251
277
|
if (!a) return null;
|
|
252
|
-
let o =
|
|
253
|
-
return /* @__PURE__ */
|
|
278
|
+
let o = T(a.type);
|
|
279
|
+
return /* @__PURE__ */ C(be, {
|
|
254
280
|
treatment: "glass",
|
|
255
281
|
glow: !0,
|
|
256
282
|
"data-tour": n,
|
|
257
283
|
className: "relative overflow-hidden rounded-2xl p-8",
|
|
258
284
|
children: [
|
|
259
|
-
/* @__PURE__ */
|
|
285
|
+
/* @__PURE__ */ S("div", {
|
|
260
286
|
className: "absolute inset-0 opacity-10",
|
|
261
287
|
style: { background: `linear-gradient(135deg, ${o} 0%, transparent 50%)` }
|
|
262
288
|
}),
|
|
263
|
-
/* @__PURE__ */
|
|
289
|
+
/* @__PURE__ */ C("div", {
|
|
264
290
|
className: "relative z-10 flex items-center gap-8",
|
|
265
|
-
children: [/* @__PURE__ */
|
|
291
|
+
children: [/* @__PURE__ */ C("div", {
|
|
266
292
|
className: "flex-1",
|
|
267
293
|
children: [
|
|
268
|
-
/* @__PURE__ */
|
|
294
|
+
/* @__PURE__ */ C("div", {
|
|
269
295
|
className: "mb-4 flex items-center gap-2",
|
|
270
|
-
children: [/* @__PURE__ */
|
|
296
|
+
children: [/* @__PURE__ */ C("span", {
|
|
271
297
|
className: "flex items-center gap-1 rounded-full bg-status-warning-bg-subtle px-3 py-1 text-xs font-semibold text-status-warning-text motion-safe:animate-vc-glow-pulse",
|
|
272
|
-
children: [/* @__PURE__ */
|
|
273
|
-
}), /* @__PURE__ */
|
|
298
|
+
children: [/* @__PURE__ */ S(y, { className: "size-3" }), "Featured App"]
|
|
299
|
+
}), /* @__PURE__ */ S("span", {
|
|
274
300
|
className: "rounded-full bg-action-primary-bg/10 px-3 py-1 text-xs font-medium text-text-link",
|
|
275
301
|
children: a.category || a.type
|
|
276
302
|
})]
|
|
277
303
|
}),
|
|
278
|
-
/* @__PURE__ */
|
|
304
|
+
/* @__PURE__ */ S("h1", {
|
|
279
305
|
className: "mb-3 text-3xl font-bold text-text-primary",
|
|
280
306
|
children: a.name
|
|
281
307
|
}),
|
|
282
|
-
/* @__PURE__ */
|
|
308
|
+
/* @__PURE__ */ S("p", {
|
|
283
309
|
className: "mb-6 max-w-xl text-text-muted",
|
|
284
310
|
children: a.description || "No description available"
|
|
285
311
|
}),
|
|
286
|
-
/* @__PURE__ */
|
|
312
|
+
/* @__PURE__ */ C("div", {
|
|
287
313
|
className: "mb-6 flex items-center gap-4",
|
|
288
|
-
children: [/* @__PURE__ */
|
|
314
|
+
children: [/* @__PURE__ */ C("span", {
|
|
289
315
|
className: "flex items-center gap-1 text-sm",
|
|
290
316
|
children: [
|
|
291
|
-
/* @__PURE__ */ b
|
|
292
|
-
/* @__PURE__ */
|
|
317
|
+
/* @__PURE__ */ S(b, { className: "size-5 fill-current text-status-warning-text" }),
|
|
318
|
+
/* @__PURE__ */ S("span", {
|
|
293
319
|
className: "font-semibold text-text-primary",
|
|
294
320
|
children: (a.rating ?? 0).toFixed(1)
|
|
295
321
|
}),
|
|
296
|
-
/* @__PURE__ */
|
|
322
|
+
/* @__PURE__ */ C("span", {
|
|
297
323
|
className: "text-text-muted",
|
|
298
324
|
children: [
|
|
299
325
|
"(",
|
|
@@ -302,32 +328,32 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
302
328
|
]
|
|
303
329
|
})
|
|
304
330
|
]
|
|
305
|
-
}), /* @__PURE__ */
|
|
331
|
+
}), /* @__PURE__ */ C("span", {
|
|
306
332
|
className: "flex items-center gap-1 text-sm text-text-muted",
|
|
307
333
|
children: [
|
|
308
|
-
/* @__PURE__ */
|
|
334
|
+
/* @__PURE__ */ S(h, { className: "size-4" }),
|
|
309
335
|
a.downloads.toLocaleString(),
|
|
310
336
|
" downloads"
|
|
311
337
|
]
|
|
312
338
|
})]
|
|
313
339
|
}),
|
|
314
|
-
/* @__PURE__ */
|
|
340
|
+
/* @__PURE__ */ S("button", {
|
|
315
341
|
type: "button",
|
|
316
342
|
onClick: () => t(a),
|
|
317
343
|
className: "cursor-pointer rounded-lg bg-action-primary-bg px-6 py-3 font-semibold text-action-primary-text transition-opacity hover:opacity-90",
|
|
318
344
|
children: "View Details"
|
|
319
345
|
})
|
|
320
346
|
]
|
|
321
|
-
}), /* @__PURE__ */
|
|
347
|
+
}), /* @__PURE__ */ S("div", {
|
|
322
348
|
className: "hidden flex-shrink-0 lg:block",
|
|
323
|
-
children: /* @__PURE__ */
|
|
349
|
+
children: /* @__PURE__ */ S("div", {
|
|
324
350
|
className: "flex size-48 items-center justify-center rounded-3xl shadow-lg",
|
|
325
|
-
style: { backgroundColor:
|
|
326
|
-
children: a.icon ? /* @__PURE__ */
|
|
351
|
+
style: { backgroundColor: E(a.type) },
|
|
352
|
+
children: a.icon ? /* @__PURE__ */ S("img", {
|
|
327
353
|
src: a.icon,
|
|
328
354
|
alt: a.name,
|
|
329
355
|
className: "size-32 rounded-2xl object-cover"
|
|
330
|
-
}) : /* @__PURE__ */
|
|
356
|
+
}) : /* @__PURE__ */ S(O, {
|
|
331
357
|
type: a.type,
|
|
332
358
|
className: "size-32",
|
|
333
359
|
style: { color: o }
|
|
@@ -335,9 +361,9 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
335
361
|
})
|
|
336
362
|
})]
|
|
337
363
|
}),
|
|
338
|
-
e.length > 1 && /* @__PURE__ */
|
|
364
|
+
e.length > 1 && /* @__PURE__ */ S("div", {
|
|
339
365
|
className: "relative z-10 mt-6 flex gap-2",
|
|
340
|
-
children: e.map((e, t) => /* @__PURE__ */
|
|
366
|
+
children: e.map((e, t) => /* @__PURE__ */ S("button", {
|
|
341
367
|
type: "button",
|
|
342
368
|
onClick: () => i(t),
|
|
343
369
|
className: `h-2 w-8 rounded-full transition-all ${t === r ? "bg-action-primary-bg" : "bg-border-default hover:bg-action-primary-border"}`,
|
|
@@ -346,68 +372,68 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
346
372
|
})
|
|
347
373
|
]
|
|
348
374
|
});
|
|
349
|
-
},
|
|
375
|
+
}, j = ({ variant: e = "default" }) => e === "featured" ? /* @__PURE__ */ C("div", {
|
|
350
376
|
className: "h-full animate-pulse rounded-2xl border border-border-seam bg-bg-surface p-6",
|
|
351
|
-
children: [/* @__PURE__ */
|
|
377
|
+
children: [/* @__PURE__ */ C("div", {
|
|
352
378
|
className: "flex items-start gap-4",
|
|
353
|
-
children: [/* @__PURE__ */
|
|
379
|
+
children: [/* @__PURE__ */ S("div", { className: "size-16 rounded-2xl bg-bg-sunken" }), /* @__PURE__ */ C("div", {
|
|
354
380
|
className: "flex-1 space-y-2",
|
|
355
|
-
children: [/* @__PURE__ */
|
|
381
|
+
children: [/* @__PURE__ */ S("div", { className: "h-5 w-3/4 rounded bg-bg-sunken" }), /* @__PURE__ */ S("div", { className: "h-4 w-1/2 rounded bg-bg-sunken" })]
|
|
356
382
|
})]
|
|
357
|
-
}), /* @__PURE__ */
|
|
383
|
+
}), /* @__PURE__ */ C("div", {
|
|
358
384
|
className: "mt-4 space-y-2",
|
|
359
|
-
children: [/* @__PURE__ */
|
|
385
|
+
children: [/* @__PURE__ */ S("div", { className: "h-4 w-full rounded bg-bg-sunken" }), /* @__PURE__ */ S("div", { className: "h-4 w-2/3 rounded bg-bg-sunken" })]
|
|
360
386
|
})]
|
|
361
|
-
}) : e === "compact" ? /* @__PURE__ */
|
|
387
|
+
}) : e === "compact" ? /* @__PURE__ */ C("div", {
|
|
362
388
|
className: "flex animate-pulse items-center gap-3 p-3",
|
|
363
|
-
children: [/* @__PURE__ */
|
|
389
|
+
children: [/* @__PURE__ */ S("div", { className: "size-12 rounded-xl bg-bg-sunken" }), /* @__PURE__ */ C("div", {
|
|
364
390
|
className: "flex-1 space-y-2",
|
|
365
|
-
children: [/* @__PURE__ */
|
|
391
|
+
children: [/* @__PURE__ */ S("div", { className: "h-4 w-3/4 rounded bg-bg-sunken" }), /* @__PURE__ */ S("div", { className: "h-3 w-1/2 rounded bg-bg-sunken" })]
|
|
366
392
|
})]
|
|
367
|
-
}) : /* @__PURE__ */
|
|
393
|
+
}) : /* @__PURE__ */ C("div", {
|
|
368
394
|
className: "animate-pulse rounded-xl border border-border-seam bg-bg-surface p-4",
|
|
369
|
-
children: [/* @__PURE__ */
|
|
395
|
+
children: [/* @__PURE__ */ C("div", {
|
|
370
396
|
className: "flex items-start gap-3",
|
|
371
|
-
children: [/* @__PURE__ */
|
|
397
|
+
children: [/* @__PURE__ */ S("div", { className: "size-14 rounded-xl bg-bg-sunken" }), /* @__PURE__ */ C("div", {
|
|
372
398
|
className: "flex-1 space-y-2",
|
|
373
|
-
children: [/* @__PURE__ */
|
|
399
|
+
children: [/* @__PURE__ */ S("div", { className: "h-4 w-3/4 rounded bg-bg-sunken" }), /* @__PURE__ */ S("div", { className: "h-3 w-1/2 rounded bg-bg-sunken" })]
|
|
374
400
|
})]
|
|
375
|
-
}), /* @__PURE__ */
|
|
401
|
+
}), /* @__PURE__ */ C("div", {
|
|
376
402
|
className: "mt-3 space-y-2",
|
|
377
|
-
children: [/* @__PURE__ */
|
|
403
|
+
children: [/* @__PURE__ */ S("div", { className: "h-3 w-full rounded bg-bg-sunken" }), /* @__PURE__ */ S("div", { className: "h-3 w-2/3 rounded bg-bg-sunken" })]
|
|
378
404
|
})]
|
|
379
|
-
}),
|
|
405
|
+
}), M = () => /* @__PURE__ */ C("div", {
|
|
380
406
|
className: "animate-pulse rounded-2xl bg-gradient-to-r from-bg-surface via-bg-sunken to-bg-surface p-8",
|
|
381
|
-
children: [/* @__PURE__ */
|
|
407
|
+
children: [/* @__PURE__ */ C("div", {
|
|
382
408
|
className: "flex items-center gap-8",
|
|
383
|
-
children: [/* @__PURE__ */
|
|
409
|
+
children: [/* @__PURE__ */ C("div", {
|
|
384
410
|
className: "flex-1 space-y-4",
|
|
385
411
|
children: [
|
|
386
|
-
/* @__PURE__ */
|
|
412
|
+
/* @__PURE__ */ C("div", {
|
|
387
413
|
className: "flex gap-2",
|
|
388
|
-
children: [/* @__PURE__ */
|
|
414
|
+
children: [/* @__PURE__ */ S("div", { className: "h-6 w-24 rounded-full bg-bg-sunken" }), /* @__PURE__ */ S("div", { className: "h-6 w-20 rounded-full bg-bg-sunken" })]
|
|
389
415
|
}),
|
|
390
|
-
/* @__PURE__ */
|
|
391
|
-
/* @__PURE__ */
|
|
416
|
+
/* @__PURE__ */ S("div", { className: "h-9 w-3/4 rounded bg-bg-sunken" }),
|
|
417
|
+
/* @__PURE__ */ C("div", {
|
|
392
418
|
className: "space-y-2",
|
|
393
|
-
children: [/* @__PURE__ */
|
|
419
|
+
children: [/* @__PURE__ */ S("div", { className: "h-4 w-full rounded bg-bg-sunken" }), /* @__PURE__ */ S("div", { className: "h-4 w-5/6 rounded bg-bg-sunken" })]
|
|
394
420
|
}),
|
|
395
|
-
/* @__PURE__ */
|
|
421
|
+
/* @__PURE__ */ C("div", {
|
|
396
422
|
className: "flex gap-4",
|
|
397
|
-
children: [/* @__PURE__ */
|
|
423
|
+
children: [/* @__PURE__ */ S("div", { className: "h-5 w-24 rounded bg-bg-sunken" }), /* @__PURE__ */ S("div", { className: "h-5 w-32 rounded bg-bg-sunken" })]
|
|
398
424
|
}),
|
|
399
|
-
/* @__PURE__ */
|
|
425
|
+
/* @__PURE__ */ S("div", { className: "h-12 w-36 rounded-lg bg-bg-sunken" })
|
|
400
426
|
]
|
|
401
|
-
}), /* @__PURE__ */
|
|
402
|
-
}), /* @__PURE__ */
|
|
427
|
+
}), /* @__PURE__ */ S("div", { className: "hidden size-48 rounded-3xl bg-bg-sunken lg:block" })]
|
|
428
|
+
}), /* @__PURE__ */ S("div", {
|
|
403
429
|
className: "mt-6 flex gap-2",
|
|
404
430
|
children: [...[
|
|
405
431
|
,
|
|
406
432
|
,
|
|
407
433
|
,
|
|
408
|
-
]].map((e, t) => /* @__PURE__ */
|
|
434
|
+
]].map((e, t) => /* @__PURE__ */ S("div", { className: "h-2 w-8 rounded-full bg-bg-sunken" }, t))
|
|
409
435
|
})]
|
|
410
|
-
}),
|
|
436
|
+
}), N = [
|
|
411
437
|
100,
|
|
412
438
|
120,
|
|
413
439
|
90,
|
|
@@ -416,30 +442,30 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
416
442
|
95,
|
|
417
443
|
115,
|
|
418
444
|
105
|
|
419
|
-
],
|
|
445
|
+
], P = () => /* @__PURE__ */ C("div", {
|
|
420
446
|
className: "space-y-4",
|
|
421
|
-
children: [/* @__PURE__ */
|
|
447
|
+
children: [/* @__PURE__ */ S("div", { className: "h-6 w-32 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ S("div", {
|
|
422
448
|
className: "flex flex-wrap gap-2",
|
|
423
|
-
children:
|
|
449
|
+
children: N.map((e, t) => /* @__PURE__ */ S("div", {
|
|
424
450
|
className: "h-9 animate-pulse rounded-full bg-bg-sunken",
|
|
425
451
|
style: { width: `${e}px` }
|
|
426
452
|
}, t))
|
|
427
453
|
})]
|
|
428
|
-
}),
|
|
454
|
+
}), F = () => /* @__PURE__ */ C("div", {
|
|
429
455
|
className: "mb-4 flex items-center justify-between",
|
|
430
|
-
children: [/* @__PURE__ */
|
|
456
|
+
children: [/* @__PURE__ */ C("div", {
|
|
431
457
|
className: "flex items-center gap-3",
|
|
432
|
-
children: [/* @__PURE__ */
|
|
458
|
+
children: [/* @__PURE__ */ S("div", { className: "size-10 animate-pulse rounded-xl bg-bg-sunken" }), /* @__PURE__ */ C("div", {
|
|
433
459
|
className: "space-y-1",
|
|
434
|
-
children: [/* @__PURE__ */
|
|
460
|
+
children: [/* @__PURE__ */ S("div", { className: "h-5 w-40 animate-pulse rounded bg-bg-sunken" }), /* @__PURE__ */ S("div", { className: "h-4 w-32 animate-pulse rounded bg-bg-sunken" })]
|
|
435
461
|
})]
|
|
436
|
-
}), /* @__PURE__ */
|
|
437
|
-
}), Ae = () => /* @__PURE__ */
|
|
462
|
+
}), /* @__PURE__ */ S("div", { className: "h-4 w-16 animate-pulse rounded bg-bg-sunken" })]
|
|
463
|
+
}), Ae = () => /* @__PURE__ */ C("div", {
|
|
438
464
|
className: "mx-auto max-w-7xl space-y-8 p-6",
|
|
439
465
|
children: [
|
|
440
|
-
/* @__PURE__ */
|
|
441
|
-
/* @__PURE__ */
|
|
442
|
-
/* @__PURE__ */
|
|
466
|
+
/* @__PURE__ */ S(M, {}),
|
|
467
|
+
/* @__PURE__ */ S(P, {}),
|
|
468
|
+
/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S(F, {}), /* @__PURE__ */ S("div", {
|
|
443
469
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
444
470
|
children: [...[
|
|
445
471
|
,
|
|
@@ -448,9 +474,9 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
448
474
|
,
|
|
449
475
|
,
|
|
450
476
|
,
|
|
451
|
-
]].map((e, t) => /* @__PURE__ */
|
|
477
|
+
]].map((e, t) => /* @__PURE__ */ S(j, {}, t))
|
|
452
478
|
})] }),
|
|
453
|
-
/* @__PURE__ */
|
|
479
|
+
/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S(F, {}), /* @__PURE__ */ S("div", {
|
|
454
480
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
455
481
|
children: [...[
|
|
456
482
|
,
|
|
@@ -459,9 +485,9 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
459
485
|
,
|
|
460
486
|
,
|
|
461
487
|
,
|
|
462
|
-
]].map((e, t) => /* @__PURE__ */
|
|
488
|
+
]].map((e, t) => /* @__PURE__ */ S(j, {}, t))
|
|
463
489
|
})] }),
|
|
464
|
-
/* @__PURE__ */
|
|
490
|
+
/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S(F, {}), /* @__PURE__ */ S("div", {
|
|
465
491
|
className: "grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-6",
|
|
466
492
|
children: [...[
|
|
467
493
|
,
|
|
@@ -470,39 +496,39 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
470
496
|
,
|
|
471
497
|
,
|
|
472
498
|
,
|
|
473
|
-
]].map((e, t) => /* @__PURE__ */
|
|
499
|
+
]].map((e, t) => /* @__PURE__ */ S(j, { variant: "compact" }, t))
|
|
474
500
|
})] })
|
|
475
501
|
]
|
|
476
|
-
}),
|
|
502
|
+
}), I = ({ label: e, value: t, options: n, onChange: r }) => {
|
|
477
503
|
let i = re();
|
|
478
|
-
return /* @__PURE__ */
|
|
504
|
+
return /* @__PURE__ */ C("label", {
|
|
479
505
|
htmlFor: i,
|
|
480
506
|
className: "relative inline-flex items-center gap-2 rounded-lg border border-border-default bg-bg-surface px-3 py-2 text-sm font-medium text-text-primary transition-colors hover:bg-bg-sunken focus-within:border-action-primary-border focus-within:ring-2 focus-within:ring-action-primary-border/20",
|
|
481
507
|
children: [
|
|
482
|
-
/* @__PURE__ */
|
|
508
|
+
/* @__PURE__ */ S("span", {
|
|
483
509
|
className: "sr-only",
|
|
484
510
|
children: e
|
|
485
511
|
}),
|
|
486
|
-
/* @__PURE__ */
|
|
512
|
+
/* @__PURE__ */ C("span", {
|
|
487
513
|
className: "text-text-muted",
|
|
488
514
|
children: [e, ":"]
|
|
489
515
|
}),
|
|
490
|
-
/* @__PURE__ */
|
|
516
|
+
/* @__PURE__ */ S("select", {
|
|
491
517
|
id: i,
|
|
492
518
|
"aria-label": e,
|
|
493
519
|
value: t,
|
|
494
520
|
onChange: (e) => r(e.target.value),
|
|
495
521
|
className: "min-w-[8rem] appearance-none bg-transparent pr-6 text-sm font-medium text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]",
|
|
496
|
-
children: n.map((e) => /* @__PURE__ */
|
|
522
|
+
children: n.map((e) => /* @__PURE__ */ S("option", {
|
|
497
523
|
value: e.value,
|
|
498
524
|
children: e.label
|
|
499
525
|
}, e.value))
|
|
500
526
|
}),
|
|
501
|
-
/* @__PURE__ */
|
|
527
|
+
/* @__PURE__ */ S(oe, { className: "pointer-events-none absolute right-3 size-4 text-text-muted" })
|
|
502
528
|
]
|
|
503
529
|
});
|
|
504
|
-
},
|
|
505
|
-
let
|
|
530
|
+
}, L = () => {
|
|
531
|
+
let d = ve(), { basePath: p, user: oe } = e(), { t: m } = ae(), ce = re(), h = we(), { cartOpen: le, closeCart: g, itemCount: _, cartItems: v, subtotal: be, tax: Ee, total: w, updateQuantity: T, removeProduct: E } = n(), [D, O] = l(""), [j, M] = l("all"), [N, P] = l("all"), [F, L] = l("any"), [R, je] = l("all"), [z, Me] = l("all"), [B, Ne] = l("all"), [V, Pe] = l(!1), [H, Fe] = l("relevance"), [Ie, Le] = l(!1), U = Te(D, 1500), Re = [
|
|
506
532
|
{
|
|
507
533
|
value: "all",
|
|
508
534
|
label: "All Prices"
|
|
@@ -583,77 +609,90 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
583
609
|
label: "Name A-Z"
|
|
584
610
|
}
|
|
585
611
|
], He = (e) => ({
|
|
586
|
-
relevance:
|
|
587
|
-
rating:
|
|
588
|
-
downloads:
|
|
589
|
-
newest:
|
|
590
|
-
"price-low":
|
|
591
|
-
"price-high":
|
|
592
|
-
"name-asc":
|
|
612
|
+
relevance: s.Relevance,
|
|
613
|
+
rating: s.Rating,
|
|
614
|
+
downloads: s.Downloads,
|
|
615
|
+
newest: s.Newest,
|
|
616
|
+
"price-low": s.PriceLow,
|
|
617
|
+
"price-high": s.PriceHigh,
|
|
618
|
+
"name-asc": s.NameAsc
|
|
593
619
|
})[e], Ue = (e) => {
|
|
594
620
|
if (e !== "all") return {
|
|
595
|
-
free:
|
|
596
|
-
paid:
|
|
597
|
-
subscription:
|
|
621
|
+
free: a.Free,
|
|
622
|
+
paid: a.PaidOnetime,
|
|
623
|
+
subscription: a.Subscription
|
|
598
624
|
}[e];
|
|
599
|
-
},
|
|
600
|
-
|
|
601
|
-
},
|
|
625
|
+
}, W = U.trim() !== "" || N !== "all" || F !== "any" || R !== "all" || z !== "all" || B !== "all" || V || j !== "all" || H !== "relevance", We = D.trim() !== "" && D !== U, Ge = () => {
|
|
626
|
+
O(""), P("all"), L("any"), je("all"), Me("all"), Ne("all"), Pe(!1), Fe("relevance"), M("all");
|
|
627
|
+
}, G = (N === "all" ? 0 : 1) + (F === "any" ? 0 : 1) + (R === "all" ? 0 : 1) + (z === "all" ? 0 : 1) + (B === "all" ? 0 : 1) + +!!V + (j === "all" ? 0 : 1), Ke = c(() => {
|
|
602
628
|
let e = {
|
|
603
|
-
sortBy: He(
|
|
629
|
+
sortBy: He(H),
|
|
604
630
|
pagination: { limit: 50 }
|
|
605
631
|
};
|
|
606
|
-
if (
|
|
607
|
-
e.filter = {},
|
|
608
|
-
let t = Ue(
|
|
609
|
-
t && (e.filter.pricingModel = t),
|
|
632
|
+
if (W) {
|
|
633
|
+
e.filter = {}, U.trim() && (e.filter.search = U.trim()), j !== "all" && (e.filter.type = j), z !== "all" && (e.filter.category = z), R !== "all" && (e.filter.nature = R === "digital" ? o.Digital : o.Physical);
|
|
634
|
+
let t = Ue(N);
|
|
635
|
+
t && (e.filter.pricingModel = t), F !== "any" && (e.filter.minRating = parseFloat(F)), V && (e.filter.featured = !0), B !== "all" && (e.filter.license = B);
|
|
610
636
|
}
|
|
611
637
|
return e;
|
|
612
638
|
}, [
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
I,
|
|
616
|
-
F,
|
|
617
|
-
A,
|
|
618
|
-
M,
|
|
619
|
-
R,
|
|
620
|
-
L,
|
|
639
|
+
U,
|
|
640
|
+
j,
|
|
621
641
|
z,
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
642
|
+
R,
|
|
643
|
+
N,
|
|
644
|
+
F,
|
|
645
|
+
V,
|
|
646
|
+
B,
|
|
647
|
+
H,
|
|
648
|
+
W
|
|
649
|
+
]), { featured: K, mostDownloaded: q, recentlyAdded: J, freeItems: Y, loading: qe, error: Je, refetch: Ye } = i({ skip: W }), { products: Xe, totalCount: X, facets: Z, loading: Ze, error: Qe, refetch: $e } = r(W ? Ke : {}, { skip: !W }), et = W ? Ze : qe, tt = W ? Qe : Je, nt = W ? $e : Ye, rt = W ? Xe : [], it = ie(X);
|
|
650
|
+
it.current = X;
|
|
651
|
+
let at = ie(h);
|
|
652
|
+
at.current = h, ne(() => {
|
|
653
|
+
!U.trim() || Ze || at.current.emit("store.marketplace.searched", {
|
|
654
|
+
query: U,
|
|
655
|
+
resultCount: it.current
|
|
630
656
|
});
|
|
631
|
-
}, [
|
|
632
|
-
let
|
|
633
|
-
|
|
634
|
-
}, [
|
|
635
|
-
|
|
636
|
-
},
|
|
637
|
-
...
|
|
638
|
-
...
|
|
639
|
-
...
|
|
640
|
-
...
|
|
657
|
+
}, [U, Ze]);
|
|
658
|
+
let Q = te((e) => {
|
|
659
|
+
d(`${p}/marketplace/product/${e.id}`);
|
|
660
|
+
}, [d, p]), ot = () => {
|
|
661
|
+
g(), d(`${p}/cart`);
|
|
662
|
+
}, $ = c(() => [...new Map([
|
|
663
|
+
...K,
|
|
664
|
+
...q,
|
|
665
|
+
...J,
|
|
666
|
+
...Y
|
|
641
667
|
].map((e) => [e.id, e])).values()], [
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
]),
|
|
647
|
-
|
|
668
|
+
K,
|
|
669
|
+
q,
|
|
670
|
+
J,
|
|
671
|
+
Y
|
|
672
|
+
]), st = !!oe?.id, { data: ct } = t({
|
|
673
|
+
variables: { limit: 100 },
|
|
674
|
+
skip: !st,
|
|
675
|
+
fetchPolicy: "cache-and-network"
|
|
676
|
+
}), lt = c(() => {
|
|
677
|
+
if (!ct?.myStoreAppInstallations?.items) return [];
|
|
678
|
+
let e = /* @__PURE__ */ new Set(), t = [];
|
|
679
|
+
for (let n of ct.myStoreAppInstallations.items) n.productStatus === "UNLISTED" && !e.has(n.productId) && (e.add(n.productId), t.push({
|
|
680
|
+
id: n.productId,
|
|
681
|
+
name: n.productName ?? "Unknown App",
|
|
682
|
+
icon: n.productIcon ?? void 0
|
|
683
|
+
}));
|
|
684
|
+
return t;
|
|
685
|
+
}, [ct]), ut = c(() => {
|
|
686
|
+
if (Z?.types && Z.types.length > 0) return [{
|
|
648
687
|
id: "all",
|
|
649
688
|
name: "All Apps",
|
|
650
|
-
count:
|
|
651
|
-
}, ...
|
|
689
|
+
count: X
|
|
690
|
+
}, ...Z.types.map((e) => ({
|
|
652
691
|
id: e.value,
|
|
653
692
|
name: e.value.charAt(0) + e.value.slice(1).toLowerCase().replace(/_/g, " "),
|
|
654
693
|
count: e.count
|
|
655
694
|
}))];
|
|
656
|
-
let e =
|
|
695
|
+
let e = $.reduce((e, t) => (e.set(t.type, (e.get(t.type) ?? 0) + 1), e), /* @__PURE__ */ new Map()), t = Array.from(e.entries()).flatMap(([e, t]) => t > 0 ? [{
|
|
657
696
|
id: e,
|
|
658
697
|
name: e.charAt(0) + e.slice(1).toLowerCase().replace(/_/g, " "),
|
|
659
698
|
count: t
|
|
@@ -661,358 +700,358 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
661
700
|
return [{
|
|
662
701
|
id: "all",
|
|
663
702
|
name: "All Apps",
|
|
664
|
-
count:
|
|
703
|
+
count: $.length
|
|
665
704
|
}, ...t];
|
|
666
705
|
}, [
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
]),
|
|
706
|
+
Z,
|
|
707
|
+
$,
|
|
708
|
+
X
|
|
709
|
+
]), dt = c(() => Z?.categories && Z.categories.length > 0 ? [{
|
|
671
710
|
value: "all",
|
|
672
711
|
label: "All Categories"
|
|
673
|
-
}, ...
|
|
712
|
+
}, ...Z.categories.map((e) => ({
|
|
674
713
|
value: e.value,
|
|
675
714
|
label: e.value
|
|
676
715
|
}))] : [{
|
|
677
716
|
value: "all",
|
|
678
717
|
label: "All Categories"
|
|
679
|
-
}, ...Array.from(new Set(
|
|
718
|
+
}, ...Array.from(new Set($.flatMap((e) => e.category ? [e.category] : []))).map((e) => ({
|
|
680
719
|
value: e,
|
|
681
720
|
label: e
|
|
682
|
-
})).sort((e, t) => e.label.localeCompare(t.label))], [
|
|
721
|
+
})).sort((e, t) => e.label.localeCompare(t.label))], [Z, $]), ft = c(() => Z?.licenses && Z.licenses.length > 0 ? [{
|
|
683
722
|
value: "all",
|
|
684
723
|
label: "All Licenses"
|
|
685
|
-
}, ...
|
|
724
|
+
}, ...Z.licenses.map((e) => ({
|
|
686
725
|
value: e.value,
|
|
687
726
|
label: e.value
|
|
688
727
|
}))] : [{
|
|
689
728
|
value: "all",
|
|
690
729
|
label: "All Licenses"
|
|
691
|
-
}], [
|
|
692
|
-
return /* @__PURE__ */
|
|
730
|
+
}], [Z]);
|
|
731
|
+
return /* @__PURE__ */ C("div", {
|
|
693
732
|
className: "flex h-full flex-col",
|
|
694
733
|
children: [
|
|
695
|
-
/* @__PURE__ */
|
|
734
|
+
/* @__PURE__ */ C("header", {
|
|
696
735
|
className: "relative overflow-hidden border-b border-border-seam bg-bg-surface px-6 py-4",
|
|
697
736
|
children: [
|
|
698
|
-
/* @__PURE__ */
|
|
699
|
-
/* @__PURE__ */
|
|
737
|
+
/* @__PURE__ */ S(ye, { intensity: "subtle" }),
|
|
738
|
+
/* @__PURE__ */ C("div", {
|
|
700
739
|
className: "flex items-center justify-between",
|
|
701
|
-
children: [/* @__PURE__ */
|
|
740
|
+
children: [/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ C("h1", {
|
|
702
741
|
className: "text-2xl font-bold text-text-primary",
|
|
703
742
|
children: [
|
|
704
743
|
"App",
|
|
705
744
|
" ",
|
|
706
|
-
/* @__PURE__ */
|
|
745
|
+
/* @__PURE__ */ S(xe, { children: m("pages.marketplace.title", { defaultValue: "Marketplace" }) })
|
|
707
746
|
]
|
|
708
|
-
}), /* @__PURE__ */
|
|
747
|
+
}), /* @__PURE__ */ S("p", {
|
|
709
748
|
className: "text-sm text-text-muted",
|
|
710
|
-
children:
|
|
711
|
-
})] }), /* @__PURE__ */
|
|
749
|
+
children: m("pages.marketplace.subtitle", { defaultValue: "Discover apps, workflows, and integrations for your workspace" })
|
|
750
|
+
})] }), /* @__PURE__ */ C("button", {
|
|
712
751
|
type: "button",
|
|
713
752
|
"data-tour": "store-marketplace-cart-button",
|
|
714
|
-
onClick: () =>
|
|
753
|
+
onClick: () => d(`${p}/cart`),
|
|
715
754
|
className: "cursor-pointer relative flex items-center gap-2 rounded-lg border border-border-default bg-bg-surface px-4 py-2 text-sm font-medium text-text-primary transition-colors hover:bg-bg-sunken",
|
|
716
755
|
children: [
|
|
717
|
-
/* @__PURE__ */
|
|
718
|
-
|
|
719
|
-
|
|
756
|
+
/* @__PURE__ */ S(me, { className: "size-5" }),
|
|
757
|
+
m("pages.marketplace.cart", { defaultValue: "Cart" }),
|
|
758
|
+
_ > 0 && /* @__PURE__ */ S("span", {
|
|
720
759
|
className: "absolute -right-2 -top-2 flex size-5 items-center justify-center rounded-full bg-action-primary-bg text-xs font-bold text-action-primary-text",
|
|
721
|
-
children:
|
|
760
|
+
children: _
|
|
722
761
|
})
|
|
723
762
|
]
|
|
724
763
|
})]
|
|
725
764
|
}),
|
|
726
|
-
/* @__PURE__ */
|
|
765
|
+
/* @__PURE__ */ C("div", {
|
|
727
766
|
className: "mt-4",
|
|
728
|
-
children: [/* @__PURE__ */
|
|
767
|
+
children: [/* @__PURE__ */ C("div", {
|
|
729
768
|
className: "relative",
|
|
730
769
|
children: [
|
|
731
|
-
/* @__PURE__ */
|
|
732
|
-
htmlFor:
|
|
770
|
+
/* @__PURE__ */ S("label", {
|
|
771
|
+
htmlFor: ce,
|
|
733
772
|
className: "sr-only",
|
|
734
|
-
children:
|
|
773
|
+
children: m("pages.marketplace.search.label", { defaultValue: "Search marketplace products" })
|
|
735
774
|
}),
|
|
736
|
-
/* @__PURE__ */
|
|
737
|
-
/* @__PURE__ */
|
|
738
|
-
id:
|
|
775
|
+
/* @__PURE__ */ S(pe, { className: "absolute left-4 top-1/2 size-5 -translate-y-1/2 text-text-muted" }),
|
|
776
|
+
/* @__PURE__ */ S("input", {
|
|
777
|
+
id: ce,
|
|
739
778
|
"data-tour": "store-marketplace-search-input",
|
|
740
|
-
"aria-label":
|
|
779
|
+
"aria-label": m("pages.marketplace.search.label", { defaultValue: "Search marketplace products" }),
|
|
741
780
|
type: "text",
|
|
742
|
-
value:
|
|
743
|
-
onChange: (e) =>
|
|
744
|
-
placeholder:
|
|
781
|
+
value: D,
|
|
782
|
+
onChange: (e) => O(e.target.value),
|
|
783
|
+
placeholder: m("pages.marketplace.search.placeholder", { defaultValue: "Search apps, workflows, integrations..." }),
|
|
745
784
|
className: "w-full rounded-xl border border-border-default bg-bg-sunken py-3 pl-12 pr-4 text-text-primary placeholder-text-muted focus:border-action-primary-border focus:bg-bg-surface focus:outline-none focus:ring-2 focus:ring-action-primary-border/20"
|
|
746
785
|
}),
|
|
747
|
-
|
|
786
|
+
D && /* @__PURE__ */ S("button", {
|
|
748
787
|
type: "button",
|
|
749
|
-
onClick: () =>
|
|
750
|
-
"aria-label":
|
|
788
|
+
onClick: () => O(""),
|
|
789
|
+
"aria-label": m("pages.marketplace.search.clear", { defaultValue: "Clear search" }),
|
|
751
790
|
className: "cursor-pointer absolute right-4 top-1/2 -translate-y-1/2 text-text-muted transition-colors hover:text-text-primary",
|
|
752
|
-
children: /* @__PURE__ */
|
|
791
|
+
children: /* @__PURE__ */ S(x, {
|
|
753
792
|
className: "size-4",
|
|
754
793
|
"aria-hidden": "true"
|
|
755
794
|
})
|
|
756
795
|
})
|
|
757
796
|
]
|
|
758
|
-
}),
|
|
797
|
+
}), D.trim() && /* @__PURE__ */ S("div", {
|
|
759
798
|
"aria-live": "polite",
|
|
760
799
|
className: "mt-2 flex items-center gap-2 text-sm text-text-muted",
|
|
761
|
-
children: We ||
|
|
762
|
-
|
|
800
|
+
children: We || Ze ? /* @__PURE__ */ C(_e, { children: [/* @__PURE__ */ S(fe, { className: "size-4 animate-spin" }), /* @__PURE__ */ S("span", { children: m("pages.marketplace.search.searching", { defaultValue: "Searching..." }) })] }) : /* @__PURE__ */ C("span", { children: [
|
|
801
|
+
X,
|
|
763
802
|
" result",
|
|
764
|
-
|
|
803
|
+
X === 1 ? "" : "s",
|
|
765
804
|
" for “",
|
|
766
|
-
|
|
805
|
+
U,
|
|
767
806
|
"”"
|
|
768
807
|
] })
|
|
769
808
|
})]
|
|
770
809
|
}),
|
|
771
|
-
/* @__PURE__ */
|
|
810
|
+
/* @__PURE__ */ C("div", {
|
|
772
811
|
className: "mt-4 flex flex-wrap items-center gap-3",
|
|
773
812
|
children: [
|
|
774
|
-
/* @__PURE__ */
|
|
813
|
+
/* @__PURE__ */ C("button", {
|
|
775
814
|
type: "button",
|
|
776
815
|
"data-tour": "store-marketplace-filters-button",
|
|
777
816
|
onClick: () => Le(!Ie),
|
|
778
|
-
className: `cursor-pointer flex items-center gap-2 rounded-lg border px-3 py-2 text-sm font-medium transition-colors ${Ie ||
|
|
817
|
+
className: `cursor-pointer flex items-center gap-2 rounded-lg border px-3 py-2 text-sm font-medium transition-colors ${Ie || G > 0 ? "border-action-primary-border bg-action-primary-bg/10 text-text-link" : "border-border-default bg-bg-surface text-text-primary transition-colors hover:bg-bg-sunken"}`,
|
|
779
818
|
children: [
|
|
780
|
-
/* @__PURE__ */
|
|
781
|
-
|
|
782
|
-
|
|
819
|
+
/* @__PURE__ */ S(he, { className: "size-4" }),
|
|
820
|
+
m("pages.marketplace.filters", { defaultValue: "Filters" }),
|
|
821
|
+
G > 0 && /* @__PURE__ */ S("span", {
|
|
783
822
|
className: "flex size-5 items-center justify-center rounded-full bg-action-primary-bg text-xs text-action-primary-text",
|
|
784
|
-
children:
|
|
823
|
+
children: G
|
|
785
824
|
})
|
|
786
825
|
]
|
|
787
826
|
}),
|
|
788
|
-
/* @__PURE__ */
|
|
827
|
+
/* @__PURE__ */ C("div", {
|
|
789
828
|
className: "flex flex-wrap items-center gap-2",
|
|
790
829
|
"data-tour": "store-marketplace-quick-filters",
|
|
791
830
|
children: [
|
|
792
|
-
/* @__PURE__ */
|
|
831
|
+
/* @__PURE__ */ C("button", {
|
|
793
832
|
type: "button",
|
|
794
|
-
onClick: () =>
|
|
795
|
-
className: `cursor-pointer flex items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${
|
|
796
|
-
children: [/* @__PURE__ */
|
|
833
|
+
onClick: () => P(N === "free" ? "all" : "free"),
|
|
834
|
+
className: `cursor-pointer flex items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${N === "free" ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-primary transition-colors hover:bg-bg-surface"}`,
|
|
835
|
+
children: [/* @__PURE__ */ S(de, { className: "size-3.5" }), "Free"]
|
|
797
836
|
}),
|
|
798
|
-
/* @__PURE__ */
|
|
837
|
+
/* @__PURE__ */ C("button", {
|
|
799
838
|
type: "button",
|
|
800
|
-
onClick: () =>
|
|
801
|
-
className: `cursor-pointer flex items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${
|
|
802
|
-
children: [/* @__PURE__ */ b
|
|
839
|
+
onClick: () => L(F === "4" ? "any" : "4"),
|
|
840
|
+
className: `cursor-pointer flex items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${F === "4" ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-primary transition-colors hover:bg-bg-surface"}`,
|
|
841
|
+
children: [/* @__PURE__ */ S(b, { className: "size-3.5" }), "4+ Stars"]
|
|
803
842
|
}),
|
|
804
|
-
/* @__PURE__ */
|
|
843
|
+
/* @__PURE__ */ C("button", {
|
|
805
844
|
type: "button",
|
|
806
|
-
onClick: () => Pe(!
|
|
807
|
-
className: `cursor-pointer flex items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${
|
|
808
|
-
children: [/* @__PURE__ */
|
|
845
|
+
onClick: () => Pe(!V),
|
|
846
|
+
className: `cursor-pointer flex items-center gap-1.5 rounded-full px-3 py-1.5 text-sm font-medium transition-colors ${V ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken text-text-primary transition-colors hover:bg-bg-surface"}`,
|
|
847
|
+
children: [/* @__PURE__ */ S(y, { className: "size-3.5" }), "Featured"]
|
|
809
848
|
})
|
|
810
849
|
]
|
|
811
850
|
}),
|
|
812
|
-
|
|
851
|
+
W && /* @__PURE__ */ C("button", {
|
|
813
852
|
type: "button",
|
|
814
853
|
onClick: Ge,
|
|
815
854
|
className: "cursor-pointer flex items-center gap-1 text-sm text-text-muted transition-colors hover:text-text-primary",
|
|
816
|
-
children: [/* @__PURE__ */
|
|
855
|
+
children: [/* @__PURE__ */ S(x, {
|
|
817
856
|
className: "size-4",
|
|
818
857
|
"aria-hidden": "true"
|
|
819
858
|
}), "Clear all"]
|
|
820
859
|
}),
|
|
821
|
-
/* @__PURE__ */
|
|
860
|
+
/* @__PURE__ */ S("div", {
|
|
822
861
|
className: "ml-auto",
|
|
823
862
|
"data-tour": "store-marketplace-section-sort",
|
|
824
|
-
children: /* @__PURE__ */
|
|
863
|
+
children: /* @__PURE__ */ S(I, {
|
|
825
864
|
label: "Sort",
|
|
826
|
-
value:
|
|
865
|
+
value: H,
|
|
827
866
|
options: Ve,
|
|
828
867
|
onChange: (e) => Fe(e)
|
|
829
868
|
})
|
|
830
869
|
})
|
|
831
870
|
]
|
|
832
871
|
}),
|
|
833
|
-
Ie && /* @__PURE__ */
|
|
872
|
+
Ie && /* @__PURE__ */ C("div", {
|
|
834
873
|
className: "mt-4 rounded-lg border border-border-seam bg-bg-surface p-4",
|
|
835
|
-
children: [/* @__PURE__ */
|
|
874
|
+
children: [/* @__PURE__ */ C("div", {
|
|
836
875
|
className: "flex flex-wrap items-start gap-6",
|
|
837
876
|
children: [
|
|
838
|
-
/* @__PURE__ */
|
|
877
|
+
/* @__PURE__ */ C("div", {
|
|
839
878
|
className: "flex flex-col gap-2",
|
|
840
|
-
children: [/* @__PURE__ */
|
|
879
|
+
children: [/* @__PURE__ */ S("span", {
|
|
841
880
|
className: "text-xs font-medium uppercase tracking-wider text-text-muted",
|
|
842
881
|
children: "Pricing"
|
|
843
|
-
}), /* @__PURE__ */
|
|
882
|
+
}), /* @__PURE__ */ S(I, {
|
|
844
883
|
label: "Price",
|
|
845
|
-
value:
|
|
884
|
+
value: N,
|
|
846
885
|
options: Re,
|
|
847
|
-
onChange: (e) =>
|
|
886
|
+
onChange: (e) => P(e)
|
|
848
887
|
})]
|
|
849
888
|
}),
|
|
850
|
-
/* @__PURE__ */
|
|
889
|
+
/* @__PURE__ */ C("div", {
|
|
851
890
|
className: "flex flex-col gap-2",
|
|
852
|
-
children: [/* @__PURE__ */
|
|
891
|
+
children: [/* @__PURE__ */ S("span", {
|
|
853
892
|
className: "text-xs font-medium uppercase tracking-wider text-text-muted",
|
|
854
893
|
children: "Min Rating"
|
|
855
|
-
}), /* @__PURE__ */
|
|
894
|
+
}), /* @__PURE__ */ S(I, {
|
|
856
895
|
label: "Rating",
|
|
857
|
-
value:
|
|
896
|
+
value: F,
|
|
858
897
|
options: ze,
|
|
859
|
-
onChange: (e) =>
|
|
898
|
+
onChange: (e) => L(e)
|
|
860
899
|
})]
|
|
861
900
|
}),
|
|
862
|
-
|
|
901
|
+
dt.length > 1 && /* @__PURE__ */ C("div", {
|
|
863
902
|
className: "flex flex-col gap-2",
|
|
864
|
-
children: [/* @__PURE__ */
|
|
903
|
+
children: [/* @__PURE__ */ S("span", {
|
|
865
904
|
className: "text-xs font-medium uppercase tracking-wider text-text-muted",
|
|
866
905
|
children: "Category"
|
|
867
|
-
}), /* @__PURE__ */
|
|
906
|
+
}), /* @__PURE__ */ S(I, {
|
|
868
907
|
label: "Category",
|
|
869
|
-
value:
|
|
870
|
-
options:
|
|
908
|
+
value: z,
|
|
909
|
+
options: dt,
|
|
871
910
|
onChange: Me
|
|
872
911
|
})]
|
|
873
912
|
}),
|
|
874
|
-
/* @__PURE__ */
|
|
913
|
+
/* @__PURE__ */ C("div", {
|
|
875
914
|
className: "flex flex-col gap-2",
|
|
876
|
-
children: [/* @__PURE__ */
|
|
915
|
+
children: [/* @__PURE__ */ S("span", {
|
|
877
916
|
className: "text-xs font-medium uppercase tracking-wider text-text-muted",
|
|
878
917
|
children: "Nature"
|
|
879
|
-
}), /* @__PURE__ */
|
|
918
|
+
}), /* @__PURE__ */ S(I, {
|
|
880
919
|
label: "Nature",
|
|
881
|
-
value:
|
|
920
|
+
value: R,
|
|
882
921
|
options: Be,
|
|
883
922
|
onChange: (e) => je(e)
|
|
884
923
|
})]
|
|
885
924
|
}),
|
|
886
|
-
|
|
925
|
+
ft.length > 1 && /* @__PURE__ */ C("div", {
|
|
887
926
|
className: "flex flex-col gap-2",
|
|
888
|
-
children: [/* @__PURE__ */
|
|
927
|
+
children: [/* @__PURE__ */ S("span", {
|
|
889
928
|
className: "text-xs font-medium uppercase tracking-wider text-text-muted",
|
|
890
929
|
children: "License"
|
|
891
|
-
}), /* @__PURE__ */
|
|
930
|
+
}), /* @__PURE__ */ S(I, {
|
|
892
931
|
label: "License",
|
|
893
|
-
value:
|
|
894
|
-
options:
|
|
932
|
+
value: B,
|
|
933
|
+
options: ft,
|
|
895
934
|
onChange: Ne
|
|
896
935
|
})]
|
|
897
936
|
})
|
|
898
937
|
]
|
|
899
|
-
}),
|
|
938
|
+
}), G > 0 && /* @__PURE__ */ C("div", {
|
|
900
939
|
className: "mt-4 flex flex-wrap items-center gap-2 border-t border-border-default pt-4",
|
|
901
940
|
children: [
|
|
902
|
-
/* @__PURE__ */
|
|
941
|
+
/* @__PURE__ */ S("span", {
|
|
903
942
|
className: "text-xs font-medium text-text-muted",
|
|
904
943
|
children: "Active filters:"
|
|
905
944
|
}),
|
|
906
|
-
|
|
945
|
+
j !== "all" && /* @__PURE__ */ C("button", {
|
|
907
946
|
type: "button",
|
|
908
|
-
onClick: () =>
|
|
947
|
+
onClick: () => M("all"),
|
|
909
948
|
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
910
949
|
children: [
|
|
911
|
-
/* @__PURE__ */
|
|
950
|
+
/* @__PURE__ */ S("span", {
|
|
912
951
|
className: "text-text-muted",
|
|
913
952
|
children: "Type:"
|
|
914
953
|
}),
|
|
915
954
|
" ",
|
|
916
|
-
|
|
917
|
-
/* @__PURE__ */
|
|
955
|
+
j,
|
|
956
|
+
/* @__PURE__ */ S(x, {
|
|
918
957
|
className: "size-3",
|
|
919
958
|
"aria-hidden": "true"
|
|
920
959
|
})
|
|
921
960
|
]
|
|
922
961
|
}),
|
|
923
|
-
|
|
962
|
+
N !== "all" && /* @__PURE__ */ C("button", {
|
|
924
963
|
type: "button",
|
|
925
|
-
onClick: () =>
|
|
964
|
+
onClick: () => P("all"),
|
|
926
965
|
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
927
966
|
children: [
|
|
928
|
-
/* @__PURE__ */
|
|
967
|
+
/* @__PURE__ */ S("span", {
|
|
929
968
|
className: "text-text-muted",
|
|
930
969
|
children: "Price:"
|
|
931
970
|
}),
|
|
932
971
|
" ",
|
|
933
|
-
Re.find((e) => e.value ===
|
|
934
|
-
/* @__PURE__ */
|
|
972
|
+
Re.find((e) => e.value === N)?.label,
|
|
973
|
+
/* @__PURE__ */ S(x, {
|
|
935
974
|
className: "size-3",
|
|
936
975
|
"aria-hidden": "true"
|
|
937
976
|
})
|
|
938
977
|
]
|
|
939
978
|
}),
|
|
940
|
-
|
|
979
|
+
F !== "any" && /* @__PURE__ */ C("button", {
|
|
941
980
|
type: "button",
|
|
942
|
-
onClick: () =>
|
|
981
|
+
onClick: () => L("any"),
|
|
943
982
|
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
944
983
|
children: [
|
|
945
|
-
/* @__PURE__ */
|
|
984
|
+
/* @__PURE__ */ S("span", {
|
|
946
985
|
className: "text-text-muted",
|
|
947
986
|
children: "Rating:"
|
|
948
987
|
}),
|
|
949
988
|
" ",
|
|
950
|
-
ze.find((e) => e.value ===
|
|
951
|
-
/* @__PURE__ */
|
|
989
|
+
ze.find((e) => e.value === F)?.label,
|
|
990
|
+
/* @__PURE__ */ S(x, {
|
|
952
991
|
className: "size-3",
|
|
953
992
|
"aria-hidden": "true"
|
|
954
993
|
})
|
|
955
994
|
]
|
|
956
995
|
}),
|
|
957
|
-
|
|
996
|
+
z !== "all" && /* @__PURE__ */ C("button", {
|
|
958
997
|
type: "button",
|
|
959
998
|
onClick: () => Me("all"),
|
|
960
999
|
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
961
1000
|
children: [
|
|
962
|
-
/* @__PURE__ */
|
|
1001
|
+
/* @__PURE__ */ S("span", {
|
|
963
1002
|
className: "text-text-muted",
|
|
964
1003
|
children: "Category:"
|
|
965
1004
|
}),
|
|
966
1005
|
" ",
|
|
967
|
-
|
|
968
|
-
/* @__PURE__ */
|
|
1006
|
+
z,
|
|
1007
|
+
/* @__PURE__ */ S(x, {
|
|
969
1008
|
className: "size-3",
|
|
970
1009
|
"aria-hidden": "true"
|
|
971
1010
|
})
|
|
972
1011
|
]
|
|
973
1012
|
}),
|
|
974
|
-
|
|
1013
|
+
R !== "all" && /* @__PURE__ */ C("button", {
|
|
975
1014
|
type: "button",
|
|
976
1015
|
onClick: () => je("all"),
|
|
977
1016
|
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
978
1017
|
children: [
|
|
979
|
-
/* @__PURE__ */
|
|
1018
|
+
/* @__PURE__ */ S("span", {
|
|
980
1019
|
className: "text-text-muted",
|
|
981
1020
|
children: "Nature:"
|
|
982
1021
|
}),
|
|
983
1022
|
" ",
|
|
984
|
-
Be.find((e) => e.value ===
|
|
985
|
-
/* @__PURE__ */
|
|
1023
|
+
Be.find((e) => e.value === R)?.label,
|
|
1024
|
+
/* @__PURE__ */ S(x, {
|
|
986
1025
|
className: "size-3",
|
|
987
1026
|
"aria-hidden": "true"
|
|
988
1027
|
})
|
|
989
1028
|
]
|
|
990
1029
|
}),
|
|
991
|
-
|
|
1030
|
+
B !== "all" && /* @__PURE__ */ C("button", {
|
|
992
1031
|
type: "button",
|
|
993
1032
|
onClick: () => Ne("all"),
|
|
994
1033
|
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
995
1034
|
children: [
|
|
996
|
-
/* @__PURE__ */
|
|
1035
|
+
/* @__PURE__ */ S("span", {
|
|
997
1036
|
className: "text-text-muted",
|
|
998
1037
|
children: "License:"
|
|
999
1038
|
}),
|
|
1000
1039
|
" ",
|
|
1001
|
-
|
|
1002
|
-
/* @__PURE__ */
|
|
1040
|
+
ft.find((e) => e.value === B)?.label,
|
|
1041
|
+
/* @__PURE__ */ S(x, {
|
|
1003
1042
|
className: "size-3",
|
|
1004
1043
|
"aria-hidden": "true"
|
|
1005
1044
|
})
|
|
1006
1045
|
]
|
|
1007
1046
|
}),
|
|
1008
|
-
|
|
1047
|
+
V && /* @__PURE__ */ C("button", {
|
|
1009
1048
|
type: "button",
|
|
1010
1049
|
onClick: () => Pe(!1),
|
|
1011
1050
|
className: "inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-action-primary-border bg-action-primary-bg/5 px-3 py-1.5 text-xs font-medium text-text-link shadow-sm transition-colors hover:bg-action-primary-bg/15",
|
|
1012
1051
|
children: [
|
|
1013
|
-
/* @__PURE__ */
|
|
1052
|
+
/* @__PURE__ */ S(y, { className: "size-3" }),
|
|
1014
1053
|
"Featured Only",
|
|
1015
|
-
/* @__PURE__ */
|
|
1054
|
+
/* @__PURE__ */ S(x, {
|
|
1016
1055
|
className: "size-3",
|
|
1017
1056
|
"aria-hidden": "true"
|
|
1018
1057
|
})
|
|
@@ -1023,125 +1062,136 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
1023
1062
|
})
|
|
1024
1063
|
]
|
|
1025
1064
|
}),
|
|
1026
|
-
/* @__PURE__ */
|
|
1065
|
+
/* @__PURE__ */ S("main", {
|
|
1027
1066
|
className: "flex-1 overflow-y-auto",
|
|
1028
|
-
children: /* @__PURE__ */
|
|
1067
|
+
children: /* @__PURE__ */ C("div", {
|
|
1029
1068
|
className: "mx-auto max-w-7xl space-y-8 p-6",
|
|
1030
1069
|
children: [
|
|
1031
|
-
/* @__PURE__ */
|
|
1032
|
-
|
|
1070
|
+
/* @__PURE__ */ S(Ce, { children: "The marketplace is where you discover and install apps, agents, workflows, nodes and widgets that extend your workspaces. Browse featured and trending picks, filter by type or category, search for something specific, then open any product to view pricing and reviews before adding it to your cart." }),
|
|
1071
|
+
tt && /* @__PURE__ */ C("div", {
|
|
1033
1072
|
role: "alert",
|
|
1034
1073
|
className: "flex flex-col items-center justify-center rounded-xl border border-status-error-border bg-status-error-bg-subtle p-8 text-center",
|
|
1035
1074
|
children: [
|
|
1036
|
-
/* @__PURE__ */
|
|
1037
|
-
/* @__PURE__ */
|
|
1075
|
+
/* @__PURE__ */ S(u, { className: "mb-4 size-12 text-status-error-text" }),
|
|
1076
|
+
/* @__PURE__ */ S("h3", {
|
|
1038
1077
|
className: "mb-2 text-lg font-semibold text-status-error-text-emphasis",
|
|
1039
1078
|
children: "Failed to load marketplace"
|
|
1040
1079
|
}),
|
|
1041
|
-
/* @__PURE__ */
|
|
1080
|
+
/* @__PURE__ */ S("p", {
|
|
1042
1081
|
className: "mb-4 text-sm text-status-error-text",
|
|
1043
|
-
children:
|
|
1082
|
+
children: tt.message || "An error occurred while fetching products"
|
|
1044
1083
|
}),
|
|
1045
|
-
/* @__PURE__ */
|
|
1084
|
+
/* @__PURE__ */ S("button", {
|
|
1046
1085
|
type: "button",
|
|
1047
|
-
onClick: () =>
|
|
1086
|
+
onClick: () => nt(),
|
|
1048
1087
|
className: "cursor-pointer rounded-lg bg-status-error-bg px-4 py-2 text-sm font-medium text-status-error-text transition-colors hover:bg-status-error-bg-emphasis",
|
|
1049
1088
|
children: "Try Again"
|
|
1050
1089
|
})
|
|
1051
1090
|
]
|
|
1052
1091
|
}),
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
!
|
|
1092
|
+
et && !tt && /* @__PURE__ */ S(Ae, {}),
|
|
1093
|
+
!et && !tt && /* @__PURE__ */ C(_e, { children: [
|
|
1094
|
+
!W && j === "all" && K.length > 0 && /* @__PURE__ */ S(ke, {
|
|
1056
1095
|
dataTour: "store-marketplace-hero-section",
|
|
1057
|
-
featuredProducts:
|
|
1058
|
-
onProductClick:
|
|
1096
|
+
featuredProducts: K,
|
|
1097
|
+
onProductClick: Q
|
|
1059
1098
|
}),
|
|
1060
|
-
|
|
1099
|
+
ut.length > 1 && /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("h2", {
|
|
1061
1100
|
className: "mb-4 text-lg font-semibold text-text-primary",
|
|
1062
1101
|
children: "Browse by Type"
|
|
1063
|
-
}), /* @__PURE__ */
|
|
1102
|
+
}), /* @__PURE__ */ S("div", {
|
|
1064
1103
|
className: "flex flex-wrap gap-2",
|
|
1065
1104
|
"data-tour": "store-marketplace-type-categories",
|
|
1066
|
-
children:
|
|
1105
|
+
children: ut.map((e) => /* @__PURE__ */ S(Oe, {
|
|
1067
1106
|
typeId: e.id,
|
|
1068
1107
|
name: e.name,
|
|
1069
1108
|
count: e.count,
|
|
1070
|
-
active:
|
|
1071
|
-
onClick: () =>
|
|
1109
|
+
active: j === e.id,
|
|
1110
|
+
onClick: () => M(e.id)
|
|
1072
1111
|
}, e.id))
|
|
1073
1112
|
})] }),
|
|
1074
|
-
|
|
1075
|
-
icon:
|
|
1076
|
-
title:
|
|
1077
|
-
subtitle: `${
|
|
1078
|
-
}),
|
|
1113
|
+
W && /* @__PURE__ */ C("section", { children: [/* @__PURE__ */ S(A, {
|
|
1114
|
+
icon: ue,
|
|
1115
|
+
title: U ? "Search Results" : "Filtered Results",
|
|
1116
|
+
subtitle: `${X} app${X === 1 ? "" : "s"} found`
|
|
1117
|
+
}), rt.length > 0 ? /* @__PURE__ */ S("div", {
|
|
1079
1118
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",
|
|
1080
1119
|
"data-tour": "store-marketplace-product-grid",
|
|
1081
|
-
children:
|
|
1120
|
+
children: rt.map((e) => /* @__PURE__ */ S(k, {
|
|
1082
1121
|
product: e,
|
|
1083
|
-
onClick: () =>
|
|
1122
|
+
onClick: () => Q(e)
|
|
1084
1123
|
}, e.id))
|
|
1085
|
-
}) : /* @__PURE__ */
|
|
1124
|
+
}) : /* @__PURE__ */ S(Se, {
|
|
1086
1125
|
illustration: "empty-search",
|
|
1087
1126
|
title: "No apps match your filters",
|
|
1088
1127
|
description: "Try adjusting your filter criteria or clearing filters to see more results.",
|
|
1089
|
-
action: /* @__PURE__ */
|
|
1128
|
+
action: /* @__PURE__ */ S("button", {
|
|
1090
1129
|
type: "button",
|
|
1091
1130
|
onClick: Ge,
|
|
1092
1131
|
className: "cursor-pointer rounded-lg bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text transition-opacity hover:opacity-90",
|
|
1093
1132
|
children: "Clear All Filters"
|
|
1094
1133
|
})
|
|
1095
1134
|
})] }),
|
|
1096
|
-
!
|
|
1097
|
-
|
|
1098
|
-
icon:
|
|
1135
|
+
!W && j === "all" && /* @__PURE__ */ C(_e, { children: [
|
|
1136
|
+
q.length > 0 && /* @__PURE__ */ C("section", { children: [/* @__PURE__ */ S(A, {
|
|
1137
|
+
icon: ge,
|
|
1099
1138
|
title: "Most Downloaded",
|
|
1100
1139
|
subtitle: "Top picks by our community"
|
|
1101
|
-
}), /* @__PURE__ */
|
|
1140
|
+
}), /* @__PURE__ */ S("div", {
|
|
1102
1141
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
1103
1142
|
"data-tour": "store-marketplace-most-downloaded",
|
|
1104
|
-
children:
|
|
1143
|
+
children: q.slice(0, 6).map((e) => /* @__PURE__ */ S(k, {
|
|
1105
1144
|
product: e,
|
|
1106
|
-
onClick: () =>
|
|
1145
|
+
onClick: () => Q(e)
|
|
1107
1146
|
}, e.id))
|
|
1108
1147
|
})] }),
|
|
1109
|
-
|
|
1110
|
-
icon:
|
|
1148
|
+
J.length > 0 && /* @__PURE__ */ C("section", { children: [/* @__PURE__ */ S(A, {
|
|
1149
|
+
icon: se,
|
|
1111
1150
|
title: "New Releases",
|
|
1112
1151
|
subtitle: "Recently published apps"
|
|
1113
|
-
}), /* @__PURE__ */
|
|
1152
|
+
}), /* @__PURE__ */ S("div", {
|
|
1114
1153
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
1115
|
-
children:
|
|
1154
|
+
children: J.slice(0, 6).map((e) => /* @__PURE__ */ S(k, {
|
|
1116
1155
|
product: e,
|
|
1117
|
-
onClick: () =>
|
|
1156
|
+
onClick: () => Q(e)
|
|
1118
1157
|
}, e.id))
|
|
1119
1158
|
})] }),
|
|
1120
|
-
|
|
1121
|
-
icon:
|
|
1159
|
+
Y.length > 0 && /* @__PURE__ */ C("section", { children: [/* @__PURE__ */ S(A, {
|
|
1160
|
+
icon: de,
|
|
1122
1161
|
title: "Free Apps",
|
|
1123
1162
|
subtitle: "No cost, full functionality"
|
|
1124
|
-
}), /* @__PURE__ */
|
|
1163
|
+
}), /* @__PURE__ */ S("div", {
|
|
1125
1164
|
className: "grid grid-cols-2 gap-2 sm:grid-cols-3 lg:grid-cols-6",
|
|
1126
|
-
children:
|
|
1165
|
+
children: Y.slice(0, 6).map((e) => /* @__PURE__ */ S(k, {
|
|
1127
1166
|
product: e,
|
|
1128
|
-
onClick: () =>
|
|
1167
|
+
onClick: () => Q(e),
|
|
1129
1168
|
variant: "compact"
|
|
1130
1169
|
}, e.id))
|
|
1131
1170
|
})] }),
|
|
1132
|
-
|
|
1133
|
-
icon:
|
|
1171
|
+
$.length > 0 && /* @__PURE__ */ C("section", { children: [/* @__PURE__ */ S(A, {
|
|
1172
|
+
icon: f,
|
|
1134
1173
|
title: "All Apps",
|
|
1135
|
-
subtitle: `${
|
|
1136
|
-
}), /* @__PURE__ */
|
|
1174
|
+
subtitle: `${$.length} apps available`
|
|
1175
|
+
}), /* @__PURE__ */ S("div", {
|
|
1137
1176
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4",
|
|
1138
|
-
children:
|
|
1177
|
+
children: $.map((e) => /* @__PURE__ */ S(k, {
|
|
1139
1178
|
product: e,
|
|
1140
|
-
onClick: () =>
|
|
1179
|
+
onClick: () => Q(e)
|
|
1141
1180
|
}, e.id))
|
|
1142
1181
|
})] })
|
|
1143
1182
|
] }),
|
|
1144
|
-
|
|
1183
|
+
st && lt.length > 0 && /* @__PURE__ */ C("section", { children: [/* @__PURE__ */ S(A, {
|
|
1184
|
+
icon: u,
|
|
1185
|
+
title: "Deprecated Apps You've Installed",
|
|
1186
|
+
subtitle: "These apps are no longer supported — hover the badge for details"
|
|
1187
|
+
}), /* @__PURE__ */ S("div", {
|
|
1188
|
+
className: "grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",
|
|
1189
|
+
children: lt.map((e) => /* @__PURE__ */ S(De, {
|
|
1190
|
+
product: e,
|
|
1191
|
+
onClick: () => d(`${p}/marketplace/product/${e.id}`)
|
|
1192
|
+
}, e.id))
|
|
1193
|
+
})] }),
|
|
1194
|
+
$.length === 0 && /* @__PURE__ */ S(Se, {
|
|
1145
1195
|
illustration: "onboarding",
|
|
1146
1196
|
title: "No apps available yet",
|
|
1147
1197
|
description: "The marketplace is empty. Check back soon for new apps, workflows, and integrations."
|
|
@@ -1150,22 +1200,22 @@ var De = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(1)}M` : e >= 1e3 ? `${(e / 1e3).
|
|
|
1150
1200
|
]
|
|
1151
1201
|
})
|
|
1152
1202
|
}),
|
|
1153
|
-
/* @__PURE__ */
|
|
1154
|
-
isOpen:
|
|
1155
|
-
onClose:
|
|
1156
|
-
onCheckout:
|
|
1157
|
-
cartItems:
|
|
1158
|
-
itemCount:
|
|
1159
|
-
subtotal:
|
|
1160
|
-
tax:
|
|
1161
|
-
total:
|
|
1162
|
-
updateQuantity:
|
|
1163
|
-
removeProduct:
|
|
1203
|
+
/* @__PURE__ */ S(ee, {
|
|
1204
|
+
isOpen: le,
|
|
1205
|
+
onClose: g,
|
|
1206
|
+
onCheckout: ot,
|
|
1207
|
+
cartItems: v,
|
|
1208
|
+
itemCount: _,
|
|
1209
|
+
subtotal: be,
|
|
1210
|
+
tax: Ee,
|
|
1211
|
+
total: w,
|
|
1212
|
+
updateQuantity: T,
|
|
1213
|
+
removeProduct: E
|
|
1164
1214
|
})
|
|
1165
1215
|
]
|
|
1166
1216
|
});
|
|
1167
1217
|
};
|
|
1168
1218
|
//#endregion
|
|
1169
|
-
export {
|
|
1219
|
+
export { L as MarketplaceHomePage };
|
|
1170
1220
|
|
|
1171
1221
|
//# sourceMappingURL=MarketplaceHomePage.js.map
|