@burdenoff/website-sdk 2026.720.3 → 2026.720.5

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/index.d.mts CHANGED
@@ -21,7 +21,7 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
21
21
  import * as React from 'react';
22
22
  import { VariantProps } from 'class-variance-authority';
23
23
  import * as LabelPrimitive from '@radix-ui/react-label';
24
- export { B as BrowseStoreResult, G as GroupedStoreProducts, P as ProductCard, a as ProductCategory, R as RatingDistribution, S as SearchSuggestion, b as StarRating, c as StoreBrowsePage, d as StoreBrowsePageProps, e as StoreFacet, f as StoreFacets, g as StoreHomePage, h as StoreHomePageProps, i as StorePageProps, j as StoreProduct, k as StoreProductDetailPage, l as StoreProductDetailPageProps, m as StoreProductDetails, n as StorePublisher, o as StoreReview, T as TypeBadge, p as formatDownloads, q as formatPrice } from './product-card-Dm1zkFkm.mjs';
24
+ export { B as BrowseStoreResult, G as GroupedStoreProducts, P as ProductCard, a as ProductCategory, R as RatingDistribution, S as SearchSuggestion, b as StarRating, c as StoreBrowsePage, d as StoreBrowsePageProps, e as StoreFacet, f as StoreFacets, g as StoreHomePage, h as StoreHomePageProps, i as StorePageProps, j as StoreProduct, k as StoreProductDetailPage, l as StoreProductDetailPageProps, m as StoreProductDetails, n as StorePublisher, o as StoreReview, p as StoreTerminology, q as StoreTypeFilter, T as TypeBadge, r as formatDownloads, s as formatPrice } from './product-card-D2HQglaf.mjs';
25
25
  export { cn } from './utils/index.mjs';
26
26
  import 'clsx';
27
27
 
@@ -55,7 +55,7 @@ declare function CareersApplyForm({ productName, recaptchaSiteKey, positions, he
55
55
 
56
56
  declare const buttonVariants: (props?: ({
57
57
  variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
58
- size?: "icon" | "default" | "sm" | "lg" | null | undefined;
58
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
59
59
  } & class_variance_authority_types.ClassProp) | undefined) => string;
60
60
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
61
61
  asChild?: boolean;
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
21
21
  import * as React from 'react';
22
22
  import { VariantProps } from 'class-variance-authority';
23
23
  import * as LabelPrimitive from '@radix-ui/react-label';
24
- export { B as BrowseStoreResult, G as GroupedStoreProducts, P as ProductCard, a as ProductCategory, R as RatingDistribution, S as SearchSuggestion, b as StarRating, c as StoreBrowsePage, d as StoreBrowsePageProps, e as StoreFacet, f as StoreFacets, g as StoreHomePage, h as StoreHomePageProps, i as StorePageProps, j as StoreProduct, k as StoreProductDetailPage, l as StoreProductDetailPageProps, m as StoreProductDetails, n as StorePublisher, o as StoreReview, T as TypeBadge, p as formatDownloads, q as formatPrice } from './product-card-Dm1zkFkm.js';
24
+ export { B as BrowseStoreResult, G as GroupedStoreProducts, P as ProductCard, a as ProductCategory, R as RatingDistribution, S as SearchSuggestion, b as StarRating, c as StoreBrowsePage, d as StoreBrowsePageProps, e as StoreFacet, f as StoreFacets, g as StoreHomePage, h as StoreHomePageProps, i as StorePageProps, j as StoreProduct, k as StoreProductDetailPage, l as StoreProductDetailPageProps, m as StoreProductDetails, n as StorePublisher, o as StoreReview, p as StoreTerminology, q as StoreTypeFilter, T as TypeBadge, r as formatDownloads, s as formatPrice } from './product-card-D2HQglaf.js';
25
25
  export { cn } from './utils/index.js';
26
26
  import 'clsx';
27
27
 
@@ -55,7 +55,7 @@ declare function CareersApplyForm({ productName, recaptchaSiteKey, positions, he
55
55
 
56
56
  declare const buttonVariants: (props?: ({
57
57
  variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
58
- size?: "icon" | "default" | "sm" | "lg" | null | undefined;
58
+ size?: "default" | "sm" | "lg" | "icon" | null | undefined;
59
59
  } & class_variance_authority_types.ClassProp) | undefined) => string;
60
60
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
61
61
  asChild?: boolean;
package/dist/index.js CHANGED
@@ -7155,7 +7155,7 @@ function SectionHead({
7155
7155
  )
7156
7156
  ] });
7157
7157
  }
7158
- var TYPE_FILTERS = [
7158
+ var DEFAULT_TYPE_FILTERS = [
7159
7159
  { type: "NODE", label: "Nodes" },
7160
7160
  { type: "WORKFLOW", label: "Workflows" },
7161
7161
  { type: "TEMPLATE", label: "Templates" },
@@ -7165,9 +7165,10 @@ var TYPE_FILTERS = [
7165
7165
  ];
7166
7166
  function TypeFilters({
7167
7167
  browsePath,
7168
- onNavigate
7168
+ onNavigate,
7169
+ typeFilters
7169
7170
  }) {
7170
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2 justify-center", children: TYPE_FILTERS.map((f) => /* @__PURE__ */ jsxRuntime.jsx(
7171
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap gap-2 justify-center", children: typeFilters.map((f) => /* @__PURE__ */ jsxRuntime.jsx(
7171
7172
  "button",
7172
7173
  {
7173
7174
  type: "button",
@@ -7219,6 +7220,7 @@ function StoreHomePage({
7219
7220
  compatibleWith,
7220
7221
  appLoginUrl,
7221
7222
  onNavigate,
7223
+ terminology,
7222
7224
  productName,
7223
7225
  heroTitle,
7224
7226
  heroSubtitle,
@@ -7273,6 +7275,10 @@ function StoreHomePage({
7273
7275
  const hasNoItems = !loading && !error && featuredItems.length === 0 && popularItems.length === 0 && freeItems.length === 0;
7274
7276
  const resolvedTitle = heroTitle ?? `${productName ? `${productName} ` : ""}Store`;
7275
7277
  const resolvedSubtitle = heroSubtitle ?? "Discover workflows, nodes, integrations, and templates built by the community.";
7278
+ const typeFilters = terminology?.typeFilters ?? DEFAULT_TYPE_FILTERS;
7279
+ const searchPlaceholder = terminology?.searchPlaceholder ?? "Search nodes, workflows, templates\u2026";
7280
+ const emptyStateDescription = terminology?.emptyStateDescription ?? "As the community ships workflows, templates, and integrations, they will show up right here.";
7281
+ const publisherCtaDescription = terminology?.publisherCtaDescription ?? `Share your workflows, nodes, and integrations with ${productName ? "the " : ""}community. Earn from your work or contribute for free.`;
7276
7282
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full", children: [
7277
7283
  /* @__PURE__ */ jsxRuntime.jsx(
7278
7284
  PageHead,
@@ -7364,7 +7370,7 @@ function StoreHomePage({
7364
7370
  {
7365
7371
  name: "q",
7366
7372
  type: "search",
7367
- placeholder: "Search nodes, workflows, templates\u2026",
7373
+ placeholder: searchPlaceholder,
7368
7374
  className: "flex-1 h-12 rounded-xl border border-border bg-background px-4 text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-primary/40 shadow-sm"
7369
7375
  }
7370
7376
  ),
@@ -7379,7 +7385,14 @@ function StoreHomePage({
7379
7385
  ]
7380
7386
  }
7381
7387
  ),
7382
- /* @__PURE__ */ jsxRuntime.jsx(TypeFilters, { browsePath, onNavigate: navigate })
7388
+ /* @__PURE__ */ jsxRuntime.jsx(
7389
+ TypeFilters,
7390
+ {
7391
+ browsePath,
7392
+ onNavigate: navigate,
7393
+ typeFilters
7394
+ }
7395
+ )
7383
7396
  ] })
7384
7397
  ] }),
7385
7398
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 pb-20 space-y-14 pt-4", children: [
@@ -7502,7 +7515,8 @@ function StoreHomePage({
7502
7515
  "No items have been published for ",
7503
7516
  productName ?? "this product",
7504
7517
  " ",
7505
- "yet. As the community ships workflows, templates, and integrations, they will show up right here."
7518
+ "yet. ",
7519
+ emptyStateDescription
7506
7520
  ] }),
7507
7521
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-center gap-3", children: [
7508
7522
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -7554,12 +7568,7 @@ function StoreHomePage({
7554
7568
  "Become a publisher"
7555
7569
  ] }),
7556
7570
  /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-2xl sm:text-3xl font-bold text-foreground mb-3", children: "Built something useful?" }),
7557
- /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted-foreground mb-8 max-w-lg mx-auto leading-relaxed", children: [
7558
- "Share your workflows, nodes, and integrations with",
7559
- " ",
7560
- productName ?? "the",
7561
- " community. Earn from your work or contribute for free."
7562
- ] }),
7571
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground mb-8 max-w-lg mx-auto leading-relaxed", children: publisherCtaDescription }),
7563
7572
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col sm:flex-row gap-3 justify-center", children: [
7564
7573
  /* @__PURE__ */ jsxRuntime.jsx(
7565
7574
  "a",
@@ -7594,16 +7603,18 @@ var SORT_OPTIONS = [
7594
7603
  { value: "PRICE_HIGH", label: "Price: High to Low" },
7595
7604
  { value: "NAME_ASC", label: "Name A\u2013Z" }
7596
7605
  ];
7597
- var TYPE_OPTIONS = [
7598
- { value: "", label: "All types" },
7599
- { value: "APP", label: "Apps" },
7600
- { value: "NODE", label: "Nodes" },
7601
- { value: "WORKFLOW", label: "Workflows" },
7602
- { value: "TEMPLATE", label: "Templates" },
7603
- { value: "INTEGRATION", label: "Integrations" },
7604
- { value: "EXTENSION", label: "Extensions" },
7605
- { value: "THEME", label: "Themes" }
7606
+ var DEFAULT_TYPE_OPTIONS = [
7607
+ { type: "APP", label: "Apps" },
7608
+ { type: "NODE", label: "Nodes" },
7609
+ { type: "WORKFLOW", label: "Workflows" },
7610
+ { type: "TEMPLATE", label: "Templates" },
7611
+ { type: "INTEGRATION", label: "Integrations" },
7612
+ { type: "EXTENSION", label: "Extensions" },
7613
+ { type: "THEME", label: "Themes" }
7606
7614
  ];
7615
+ function buildTypeOptions(typeFilters) {
7616
+ return [{ type: "", label: "All types" }, ...typeFilters];
7617
+ }
7607
7618
  var PRICING_OPTIONS = [
7608
7619
  { value: "", label: "All pricing" },
7609
7620
  { value: "FREE", label: "Free" },
@@ -7656,11 +7667,15 @@ function FacetList({
7656
7667
  function StoreBrowsePage({
7657
7668
  compatibleWith,
7658
7669
  onNavigate,
7670
+ terminology,
7659
7671
  productName,
7660
7672
  seoTitle,
7661
7673
  seoDescription
7662
7674
  }) {
7663
7675
  const client = useWebSDK();
7676
+ const typeFilters = terminology?.typeFilters ?? DEFAULT_TYPE_OPTIONS;
7677
+ const typeOptions = buildTypeOptions(typeFilters);
7678
+ const browseDescription = terminology?.browseDescription ?? "Browse all apps, workflows, nodes, and templates.";
7664
7679
  const initial = parseUrlParams();
7665
7680
  const [search, setSearch] = React.useState(initial.q);
7666
7681
  const [inputValue, setInputValue] = React.useState(initial.q);
@@ -7780,15 +7795,15 @@ function StoreBrowsePage({
7780
7795
  const sidebarContent = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-6", children: [
7781
7796
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
7782
7797
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs font-semibold uppercase tracking-wider text-muted-foreground mb-2", children: "Type" }),
7783
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: TYPE_OPTIONS.map((opt) => /* @__PURE__ */ jsxRuntime.jsx(
7798
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "space-y-1", children: typeOptions.map((opt) => /* @__PURE__ */ jsxRuntime.jsx(
7784
7799
  "button",
7785
7800
  {
7786
7801
  type: "button",
7787
- onClick: () => setType(opt.value),
7788
- className: `w-full text-left text-sm px-2 py-1.5 rounded transition-colors ${type === opt.value ? "bg-primary/10 text-primary font-medium" : "text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,
7802
+ onClick: () => setType(opt.type),
7803
+ className: `w-full text-left text-sm px-2 py-1.5 rounded transition-colors ${type === opt.type ? "bg-primary/10 text-primary font-medium" : "text-muted-foreground hover:text-foreground hover:bg-muted/50"}`,
7789
7804
  children: opt.label
7790
7805
  },
7791
- opt.value
7806
+ opt.type
7792
7807
  )) })
7793
7808
  ] }),
7794
7809
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
@@ -7858,7 +7873,7 @@ function StoreBrowsePage({
7858
7873
  PageHead,
7859
7874
  {
7860
7875
  title: seoTitle ?? `Browse Store${productName ? ` \u2013 ${productName}` : ""}`,
7861
- description: seoDescription ?? "Browse all apps, workflows, nodes, and templates.",
7876
+ description: seoDescription ?? browseDescription,
7862
7877
  productName
7863
7878
  }
7864
7879
  ),