@flamingo-stack/openframe-frontend-core 0.0.557 → 0.0.558-1830.4885.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-A6TAVIBX.cjs → chunk-3TKG7SW6.cjs} +42 -42
- package/dist/{chunk-A6TAVIBX.cjs.map → chunk-3TKG7SW6.cjs.map} +1 -1
- package/dist/{chunk-SBKX2VSG.js → chunk-4VLGJEKQ.js} +2 -2
- package/dist/{chunk-V5EYGEX7.cjs → chunk-53GNFRVQ.cjs} +7 -7
- package/dist/{chunk-V5EYGEX7.cjs.map → chunk-53GNFRVQ.cjs.map} +1 -1
- package/dist/{chunk-FXVMRZIQ.js → chunk-5JHJX7OX.js} +5 -5
- package/dist/{chunk-6YXEZCVG.cjs → chunk-5WQPOH27.cjs} +5 -5
- package/dist/{chunk-6YXEZCVG.cjs.map → chunk-5WQPOH27.cjs.map} +1 -1
- package/dist/{chunk-RPCY2FAC.js → chunk-C5HQCF4R.js} +6 -6
- package/dist/{chunk-4WREPWRL.cjs → chunk-CWQSUYVV.cjs} +3 -3
- package/dist/{chunk-4WREPWRL.cjs.map → chunk-CWQSUYVV.cjs.map} +1 -1
- package/dist/{chunk-33FOBAWS.cjs → chunk-DHSIAIFG.cjs} +18 -18
- package/dist/{chunk-33FOBAWS.cjs.map → chunk-DHSIAIFG.cjs.map} +1 -1
- package/dist/{chunk-VJL46NHW.js → chunk-DNPQ2U7P.js} +4 -4
- package/dist/{chunk-G7ROZAY5.js → chunk-DV4CSNZD.js} +3 -3
- package/dist/{chunk-25YLMIWU.js → chunk-E26KVZJM.js} +3 -3
- package/dist/{chunk-YHRE4JBF.cjs → chunk-FCCSHC3H.cjs} +32 -32
- package/dist/{chunk-YHRE4JBF.cjs.map → chunk-FCCSHC3H.cjs.map} +1 -1
- package/dist/{chunk-DRNSIK3V.js → chunk-FVHFBEXH.js} +2 -2
- package/dist/{chunk-6ZOVSD4M.cjs → chunk-GYQHUJWR.cjs} +14 -14
- package/dist/{chunk-6ZOVSD4M.cjs.map → chunk-GYQHUJWR.cjs.map} +1 -1
- package/dist/{chunk-G3NBTL4I.js → chunk-IHXUZBBV.js} +6 -4
- package/dist/{chunk-G3NBTL4I.js.map → chunk-IHXUZBBV.js.map} +1 -1
- package/dist/{chunk-WBQ3NOH7.js → chunk-KL6ZDLDF.js} +2 -2
- package/dist/{chunk-Y6TXTBIQ.js → chunk-LM6NDYGD.js} +2 -2
- package/dist/{chunk-5HNZTPAB.cjs → chunk-N3OGB543.cjs} +12 -12
- package/dist/{chunk-5HNZTPAB.cjs.map → chunk-N3OGB543.cjs.map} +1 -1
- package/dist/{chunk-VJTD2DGF.cjs → chunk-NK3M6F5A.cjs} +39 -30
- package/dist/chunk-NK3M6F5A.cjs.map +1 -0
- package/dist/{chunk-DFJ7TWH6.cjs → chunk-NKEOD2AD.cjs} +3 -3
- package/dist/{chunk-DFJ7TWH6.cjs.map → chunk-NKEOD2AD.cjs.map} +1 -1
- package/dist/{chunk-5JF6H7OJ.cjs → chunk-R3OCP4A7.cjs} +76 -76
- package/dist/{chunk-5JF6H7OJ.cjs.map → chunk-R3OCP4A7.cjs.map} +1 -1
- package/dist/{chunk-IPO24G7U.cjs → chunk-R3TXAMMB.cjs} +143 -141
- package/dist/{chunk-IPO24G7U.cjs.map → chunk-R3TXAMMB.cjs.map} +1 -1
- package/dist/{chunk-LJWTXODF.js → chunk-S3NZZKNU.js} +3 -3
- package/dist/{chunk-BE6TRUKY.cjs → chunk-SI64DC72.cjs} +40 -40
- package/dist/{chunk-BE6TRUKY.cjs.map → chunk-SI64DC72.cjs.map} +1 -1
- package/dist/{chunk-NNGQ6ONX.js → chunk-UVGFICZT.js} +8 -8
- package/dist/{chunk-4EGNYOZA.cjs → chunk-VNWGXQJD.cjs} +23 -23
- package/dist/{chunk-4EGNYOZA.cjs.map → chunk-VNWGXQJD.cjs.map} +1 -1
- package/dist/{chunk-QCBBX6DO.cjs → chunk-XDMRN3SG.cjs} +97 -97
- package/dist/{chunk-QCBBX6DO.cjs.map → chunk-XDMRN3SG.cjs.map} +1 -1
- package/dist/{chunk-64HHDGRN.cjs → chunk-XL2G2HHJ.cjs} +4 -4
- package/dist/{chunk-64HHDGRN.cjs.map → chunk-XL2G2HHJ.cjs.map} +1 -1
- package/dist/{chunk-UTEQHK3H.js → chunk-YUVCH2LX.js} +6 -6
- package/dist/{chunk-26HAJBSQ.js → chunk-Z5FN5VTC.js} +2 -2
- package/dist/{chunk-VRX6Y6A7.js → chunk-ZNEVGXMU.js} +23 -14
- package/dist/chunk-ZNEVGXMU.js.map +1 -0
- package/dist/{chunk-RRWWAH37.js → chunk-ZSZ24UY6.js} +2 -2
- package/dist/components/case-studies/index.cjs +9 -9
- package/dist/components/case-studies/index.js +3 -3
- package/dist/components/chat/index.cjs +3 -3
- package/dist/components/chat/index.js +2 -2
- package/dist/components/contact/index.cjs +4 -4
- package/dist/components/contact/index.js +3 -3
- package/dist/components/docs/index.cjs +6 -6
- package/dist/components/docs/index.js +5 -5
- package/dist/components/embeds/index.cjs +4 -4
- package/dist/components/embeds/index.js +3 -3
- package/dist/components/faq/index.cjs +5 -5
- package/dist/components/faq/index.js +4 -4
- package/dist/components/features/index.cjs +3 -3
- package/dist/components/features/index.js +2 -2
- package/dist/components/features/video.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +24 -24
- package/dist/components/help-center-pages/index.js +15 -15
- package/dist/components/index.cjs +137 -137
- package/dist/components/index.js +13 -13
- package/dist/components/meeting-scheduler/index.cjs +34 -34
- package/dist/components/meeting-scheduler/index.js +4 -4
- package/dist/components/navigation/index.cjs +3 -3
- package/dist/components/navigation/index.js +2 -2
- package/dist/components/onboarding-guides/index.cjs +7 -7
- package/dist/components/onboarding-guides/index.js +6 -6
- package/dist/components/related-content/index.cjs +5 -5
- package/dist/components/related-content/index.js +4 -4
- package/dist/components/tickets/index.cjs +7 -7
- package/dist/components/tickets/index.js +6 -6
- package/dist/components/ui/index.cjs +3 -3
- package/dist/components/ui/index.js +2 -2
- package/dist/hooks/index.cjs +6 -2
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +5 -1
- package/dist/hooks/use-authed-asset-src.d.ts +16 -0
- package/dist/hooks/use-authed-asset-src.d.ts.map +1 -0
- package/dist/hooks/use-authed-image-src.d.ts +15 -6
- package/dist/hooks/use-authed-image-src.d.ts.map +1 -1
- package/dist/index.cjs +7 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +6 -2
- package/dist/utils/embed-authed-fetch.d.ts +24 -10
- package/dist/utils/embed-authed-fetch.d.ts.map +1 -1
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/features/video.tsx +13 -2
- package/src/hooks/index.ts +1 -0
- package/src/hooks/use-authed-asset-src.ts +98 -0
- package/src/hooks/use-authed-image-src.ts +15 -84
- package/src/utils/__tests__/embed-authed-fetch.test.ts +50 -1
- package/src/utils/embed-authed-fetch.ts +31 -14
- package/dist/chunk-VJTD2DGF.cjs.map +0 -1
- package/dist/chunk-VRX6Y6A7.js.map +0 -1
- /package/dist/{chunk-SBKX2VSG.js.map → chunk-4VLGJEKQ.js.map} +0 -0
- /package/dist/{chunk-FXVMRZIQ.js.map → chunk-5JHJX7OX.js.map} +0 -0
- /package/dist/{chunk-RPCY2FAC.js.map → chunk-C5HQCF4R.js.map} +0 -0
- /package/dist/{chunk-VJL46NHW.js.map → chunk-DNPQ2U7P.js.map} +0 -0
- /package/dist/{chunk-G7ROZAY5.js.map → chunk-DV4CSNZD.js.map} +0 -0
- /package/dist/{chunk-25YLMIWU.js.map → chunk-E26KVZJM.js.map} +0 -0
- /package/dist/{chunk-DRNSIK3V.js.map → chunk-FVHFBEXH.js.map} +0 -0
- /package/dist/{chunk-WBQ3NOH7.js.map → chunk-KL6ZDLDF.js.map} +0 -0
- /package/dist/{chunk-Y6TXTBIQ.js.map → chunk-LM6NDYGD.js.map} +0 -0
- /package/dist/{chunk-LJWTXODF.js.map → chunk-S3NZZKNU.js.map} +0 -0
- /package/dist/{chunk-NNGQ6ONX.js.map → chunk-UVGFICZT.js.map} +0 -0
- /package/dist/{chunk-UTEQHK3H.js.map → chunk-YUVCH2LX.js.map} +0 -0
- /package/dist/{chunk-26HAJBSQ.js.map → chunk-Z5FN5VTC.js.map} +0 -0
- /package/dist/{chunk-RRWWAH37.js.map → chunk-ZSZ24UY6.js.map} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkR3TXAMMBcjs = require('./chunk-R3TXAMMB.cjs');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -52,7 +52,7 @@ function UnifiedPagination({
|
|
|
52
52
|
};
|
|
53
53
|
if (totalPages <= 1) return null;
|
|
54
54
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
55
|
-
|
|
55
|
+
_chunkR3TXAMMBcjs.Pagination,
|
|
56
56
|
{
|
|
57
57
|
currentPage,
|
|
58
58
|
totalPages,
|
|
@@ -65,7 +65,7 @@ var init_unified_pagination = _chunkVRHGVLSLcjs.__esm.call(void 0, {
|
|
|
65
65
|
"use strict";
|
|
66
66
|
"use client";
|
|
67
67
|
_chunkSSJNN5BScjs.init_next_navigation.call(void 0, );
|
|
68
|
-
|
|
68
|
+
_chunkR3TXAMMBcjs.init_pagination.call(void 0, );
|
|
69
69
|
}
|
|
70
70
|
});
|
|
71
71
|
|
|
@@ -210,4 +210,4 @@ function EmptyState({
|
|
|
210
210
|
|
|
211
211
|
|
|
212
212
|
exports.EmptyState = EmptyState; exports.UnifiedPagination = UnifiedPagination; exports.unified_pagination_exports = unified_pagination_exports; exports.init_unified_pagination = init_unified_pagination;
|
|
213
|
-
//# sourceMappingURL=chunk-
|
|
213
|
+
//# sourceMappingURL=chunk-XL2G2HHJ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-64HHDGRN.cjs","../src/components/unified-pagination.tsx","../src/components/empty-state.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-64HHDGRN.cjs","sourcesContent":[null,"\"use client\"\n\nimport { useRouter, useSearchParams, usePathname } from \"../embed-shims/next-navigation\"\nimport { Pagination } from \"./pagination\"\n\ninterface UnifiedPaginationProps {\n currentPage: number\n totalPages: number\n onPageChange?: (page: number) => void\n className?: string\n}\n\nexport function UnifiedPagination({ \n currentPage, \n totalPages, \n onPageChange,\n className = \"mt-8 flex justify-center w-full\"\n}: UnifiedPaginationProps) {\n const router = useRouter()\n const searchParams = useSearchParams()\n const pathname = usePathname()\n\n const handlePageChange = (page: number) => {\n // Preserve current scroll position\n const currentScrollY = window.scrollY\n \n // Call the callback to update local state (prevents reload)\n if (onPageChange) {\n onPageChange(page)\n }\n \n // Update URL for bookmarking without navigation\n const params = new URLSearchParams(searchParams.toString())\n params.set(\"page\", page.toString())\n \n // Update URL without navigation (for bookmarking support)\n const newUrl = `${pathname}?${params.toString()}`\n window.history.replaceState(null, '', newUrl)\n \n // Restore scroll position after a brief delay to allow content to render\n setTimeout(() => {\n window.scrollTo({\n top: currentScrollY,\n behavior: 'instant' // Instant to prevent any scroll animation\n })\n }, 0)\n }\n\n // Don't render pagination if there's only one page\n if (totalPages <= 1) return null\n\n return (\n <div className={className}>\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={handlePageChange}\n />\n </div>\n )\n} ","\"use client\";\n\nimport { Search, FileText, Package } from \"lucide-react\"\nimport { Button } from \"./ui/button\"\nimport { useRouter } from \"../embed-shims/next-navigation\"\n\nexport interface EmptyStateProps {\n type: 'vendors' | 'posts' | 'search' | 'generic'\n title?: string\n description?: string\n showBackButton?: boolean\n onGoBack?: () => void\n backButtonText?: string\n // New CTA properties\n showCTA?: boolean\n ctaText?: string\n onCtaClick?: () => void\n /**\n * Link-CTA mode: render the CTA as a navigation link (`href` — plain or\n * `mailto:`). Wins over `onCtaClick`, and SHORT-CIRCUITS the smart-CTA\n * path-sniffing below (which reads `window.location.pathname` — an\n * SSR/client divergence server-rendered pages must never enter).\n */\n ctaHref?: string\n ctaVariant?: 'primary' | 'secondary'\n}\n\nexport function EmptyState({\n type,\n title,\n description,\n showBackButton = false,\n onGoBack,\n backButtonText = \"Go Back\",\n showCTA = true,\n ctaText,\n onCtaClick,\n ctaHref,\n ctaVariant = 'primary'\n}: EmptyStateProps) {\n const router = useRouter()\n\n // Default content based on type\n const getDefaultContent = () => {\n switch (type) {\n case 'vendors':\n return {\n icon: <Package className=\"w-full h-full\" />,\n title: \"No vendors found\",\n description: \"We couldn't find any vendors matching your criteria. Try adjusting your filters or search terms.\"\n }\n case 'posts':\n return {\n icon: <FileText className=\"w-full h-full\" />,\n title: \"No articles found\",\n description: \"We couldn't find any articles matching your criteria. Try different categories, tags, or search terms.\"\n }\n case 'search':\n return {\n icon: <Search className=\"w-full h-full\" />,\n title: \"No results found\",\n description: \"Your search didn't return any results. Try different keywords or browse our categories.\"\n }\n default:\n return {\n icon: <Search className=\"w-full h-full\" />,\n title: \"Nothing found\",\n description: \"We couldn't find what you're looking for. Try adjusting your search or filters.\"\n }\n }\n }\n\n // Smart CTA logic based on context\n const getSmartCTA = () => {\n // If custom CTA is provided, use it\n if (ctaText && onCtaClick) {\n return {\n text: ctaText,\n action: onCtaClick\n }\n }\n\n // Check if we're on the client side\n const isClient = typeof window !== 'undefined'\n const currentPath = isClient ? window.location.pathname : ''\n\n // Surgical filter reset (promoted from the hub's diverged clone during\n // the EmptyState convergence): delete ONLY the filter params the surface\n // owns — nuking the whole query string threw away unrelated state — and\n // use `replace` with `scroll: false` so resetting filters neither adds a\n // history entry nor jumps the page.\n const resetParams = (paramsToDelete: string[]) => {\n if (!isClient) return\n const params = new URLSearchParams(window.location.search)\n for (const p of paramsToDelete) params.delete(p)\n const queryString = params.toString()\n // Keep the hash — a filter reset must not clear an unrelated\n // deep-link anchor (e.g. #delivery-123).\n const hash = window.location.hash\n router.replace(\n `${window.location.pathname}${queryString ? `?${queryString}` : ''}${hash}`,\n { scroll: false },\n )\n }\n\n // Smart defaults based on type and context\n switch (type) {\n case 'search':\n return {\n text: \"Reset Filters\",\n action: () => resetParams(['search', 'page'])\n }\n case 'posts':\n // Blog-style listing pages (blog, case studies) reset their filters\n if (currentPath.includes('/blog') || currentPath.includes('/case-studies')) {\n return {\n text: \"Reset Filters\",\n action: () => resetParams(['search', 'page', 'category', 'tags'])\n }\n } else if (currentPath.includes('/profile')) {\n return {\n text: \"Browse Vendors\",\n action: () => router.push('/vendors')\n }\n }\n return {\n text: \"View All Posts\",\n action: () => router.push('/blog')\n }\n case 'vendors':\n // If we're in profile or other pages, direct to main content\n if (currentPath.includes('/profile')) {\n return {\n text: \"Browse Vendors\",\n action: () => router.push('/vendors')\n }\n } else if (currentPath.includes('/vendors') || currentPath.includes('/margin-increase/compare')) {\n return {\n text: \"Reset Filters\",\n action: () => resetParams(['search', 'page', 'category', 'subcategory'])\n }\n }\n return {\n text: \"Browse Vendors\",\n action: () => router.push('/vendors')\n }\n default:\n return {\n text: \"Browse Vendors\",\n action: () => router.push('/vendors')\n }\n }\n }\n\n const defaultContent = getDefaultContent()\n const displayTitle = title || defaultContent.title\n const displayDescription = description || defaultContent.description\n // ctaHref short-circuits BEFORE getSmartCTA(): the smart defaults read\n // window.location.pathname (SSR-empty, client-real), so a server-rendered\n // page with a link CTA must never enter that branch. Existing callers\n // without ctaHref keep today's smart-default behavior unchanged.\n const smartCTA = ctaHref ? null : getSmartCTA()\n const ctaClassName = ctaVariant === 'primary'\n ? \"w-full bg-ods-accent text-ods-text-on-accent hover:bg-ods-accent-hover transition-all duration-150 font-body font-medium\"\n : \"w-full bg-transparent border border-ods-border text-ods-text-primary hover:border-ods-accent hover:text-ods-accent transition-all duration-150 font-body font-medium\"\n\n return (\n <div className=\"flex flex-col items-center justify-center py-6 md:py-16 px-6 text-center\">\n {/* Icon */}\n <div className=\"mb-3 md:mb-6 flex items-center justify-center\">\n <div className=\"rounded-full bg-ods-card p-3 md:p-6 border border-ods-border\">\n <div className=\"w-8 h-8 md:w-16 md:h-16 text-ods-text-secondary flex items-center justify-center\">\n {defaultContent.icon}\n </div>\n </div>\n </div>\n\n {/* Title */}\n <h2 className=\"mb-2 md:mb-3 text-h3 text-ods-text-primary\">\n {displayTitle}\n </h2>\n\n {/* Description */}\n <p className=\"mb-4 md:mb-8 max-w-md text-h6 text-ods-text-secondary\">\n {displayDescription}\n </p>\n\n {/* Link CTA (ctaHref) — SSR-safe, no path sniffing */}\n {showCTA && ctaHref && (\n <div className=\"w-full max-w-xs mb-3\">\n <Button href={ctaHref} className={ctaClassName}>\n {ctaText || 'Contact us'}\n </Button>\n </div>\n )}\n\n {/* Smart CTA Button */}\n {showCTA && !ctaHref && smartCTA && (\n <div className=\"w-full max-w-xs mb-3\">\n <Button onClick={smartCTA.action} className={ctaClassName}>\n {smartCTA.text}\n </Button>\n </div>\n )}\n\n {/* Optional Back Button */}\n {showBackButton && onGoBack && (\n <div className=\"w-full max-w-xs\">\n <Button\n onClick={onGoBack}\n variant=\"outline\"\n className=\"w-full transition-all duration-150 font-body font-medium\"\n >\n {backButtonText}\n </Button>\n </div>\n )}\n </div>\n )\n} "]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-XL2G2HHJ.cjs","../src/components/unified-pagination.tsx","../src/components/empty-state.tsx"],"names":[],"mappings":"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","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-XL2G2HHJ.cjs","sourcesContent":[null,"\"use client\"\n\nimport { useRouter, useSearchParams, usePathname } from \"../embed-shims/next-navigation\"\nimport { Pagination } from \"./pagination\"\n\ninterface UnifiedPaginationProps {\n currentPage: number\n totalPages: number\n onPageChange?: (page: number) => void\n className?: string\n}\n\nexport function UnifiedPagination({ \n currentPage, \n totalPages, \n onPageChange,\n className = \"mt-8 flex justify-center w-full\"\n}: UnifiedPaginationProps) {\n const router = useRouter()\n const searchParams = useSearchParams()\n const pathname = usePathname()\n\n const handlePageChange = (page: number) => {\n // Preserve current scroll position\n const currentScrollY = window.scrollY\n \n // Call the callback to update local state (prevents reload)\n if (onPageChange) {\n onPageChange(page)\n }\n \n // Update URL for bookmarking without navigation\n const params = new URLSearchParams(searchParams.toString())\n params.set(\"page\", page.toString())\n \n // Update URL without navigation (for bookmarking support)\n const newUrl = `${pathname}?${params.toString()}`\n window.history.replaceState(null, '', newUrl)\n \n // Restore scroll position after a brief delay to allow content to render\n setTimeout(() => {\n window.scrollTo({\n top: currentScrollY,\n behavior: 'instant' // Instant to prevent any scroll animation\n })\n }, 0)\n }\n\n // Don't render pagination if there's only one page\n if (totalPages <= 1) return null\n\n return (\n <div className={className}>\n <Pagination\n currentPage={currentPage}\n totalPages={totalPages}\n onPageChange={handlePageChange}\n />\n </div>\n )\n} ","\"use client\";\n\nimport { Search, FileText, Package } from \"lucide-react\"\nimport { Button } from \"./ui/button\"\nimport { useRouter } from \"../embed-shims/next-navigation\"\n\nexport interface EmptyStateProps {\n type: 'vendors' | 'posts' | 'search' | 'generic'\n title?: string\n description?: string\n showBackButton?: boolean\n onGoBack?: () => void\n backButtonText?: string\n // New CTA properties\n showCTA?: boolean\n ctaText?: string\n onCtaClick?: () => void\n /**\n * Link-CTA mode: render the CTA as a navigation link (`href` — plain or\n * `mailto:`). Wins over `onCtaClick`, and SHORT-CIRCUITS the smart-CTA\n * path-sniffing below (which reads `window.location.pathname` — an\n * SSR/client divergence server-rendered pages must never enter).\n */\n ctaHref?: string\n ctaVariant?: 'primary' | 'secondary'\n}\n\nexport function EmptyState({\n type,\n title,\n description,\n showBackButton = false,\n onGoBack,\n backButtonText = \"Go Back\",\n showCTA = true,\n ctaText,\n onCtaClick,\n ctaHref,\n ctaVariant = 'primary'\n}: EmptyStateProps) {\n const router = useRouter()\n\n // Default content based on type\n const getDefaultContent = () => {\n switch (type) {\n case 'vendors':\n return {\n icon: <Package className=\"w-full h-full\" />,\n title: \"No vendors found\",\n description: \"We couldn't find any vendors matching your criteria. Try adjusting your filters or search terms.\"\n }\n case 'posts':\n return {\n icon: <FileText className=\"w-full h-full\" />,\n title: \"No articles found\",\n description: \"We couldn't find any articles matching your criteria. Try different categories, tags, or search terms.\"\n }\n case 'search':\n return {\n icon: <Search className=\"w-full h-full\" />,\n title: \"No results found\",\n description: \"Your search didn't return any results. Try different keywords or browse our categories.\"\n }\n default:\n return {\n icon: <Search className=\"w-full h-full\" />,\n title: \"Nothing found\",\n description: \"We couldn't find what you're looking for. Try adjusting your search or filters.\"\n }\n }\n }\n\n // Smart CTA logic based on context\n const getSmartCTA = () => {\n // If custom CTA is provided, use it\n if (ctaText && onCtaClick) {\n return {\n text: ctaText,\n action: onCtaClick\n }\n }\n\n // Check if we're on the client side\n const isClient = typeof window !== 'undefined'\n const currentPath = isClient ? window.location.pathname : ''\n\n // Surgical filter reset (promoted from the hub's diverged clone during\n // the EmptyState convergence): delete ONLY the filter params the surface\n // owns — nuking the whole query string threw away unrelated state — and\n // use `replace` with `scroll: false` so resetting filters neither adds a\n // history entry nor jumps the page.\n const resetParams = (paramsToDelete: string[]) => {\n if (!isClient) return\n const params = new URLSearchParams(window.location.search)\n for (const p of paramsToDelete) params.delete(p)\n const queryString = params.toString()\n // Keep the hash — a filter reset must not clear an unrelated\n // deep-link anchor (e.g. #delivery-123).\n const hash = window.location.hash\n router.replace(\n `${window.location.pathname}${queryString ? `?${queryString}` : ''}${hash}`,\n { scroll: false },\n )\n }\n\n // Smart defaults based on type and context\n switch (type) {\n case 'search':\n return {\n text: \"Reset Filters\",\n action: () => resetParams(['search', 'page'])\n }\n case 'posts':\n // Blog-style listing pages (blog, case studies) reset their filters\n if (currentPath.includes('/blog') || currentPath.includes('/case-studies')) {\n return {\n text: \"Reset Filters\",\n action: () => resetParams(['search', 'page', 'category', 'tags'])\n }\n } else if (currentPath.includes('/profile')) {\n return {\n text: \"Browse Vendors\",\n action: () => router.push('/vendors')\n }\n }\n return {\n text: \"View All Posts\",\n action: () => router.push('/blog')\n }\n case 'vendors':\n // If we're in profile or other pages, direct to main content\n if (currentPath.includes('/profile')) {\n return {\n text: \"Browse Vendors\",\n action: () => router.push('/vendors')\n }\n } else if (currentPath.includes('/vendors') || currentPath.includes('/margin-increase/compare')) {\n return {\n text: \"Reset Filters\",\n action: () => resetParams(['search', 'page', 'category', 'subcategory'])\n }\n }\n return {\n text: \"Browse Vendors\",\n action: () => router.push('/vendors')\n }\n default:\n return {\n text: \"Browse Vendors\",\n action: () => router.push('/vendors')\n }\n }\n }\n\n const defaultContent = getDefaultContent()\n const displayTitle = title || defaultContent.title\n const displayDescription = description || defaultContent.description\n // ctaHref short-circuits BEFORE getSmartCTA(): the smart defaults read\n // window.location.pathname (SSR-empty, client-real), so a server-rendered\n // page with a link CTA must never enter that branch. Existing callers\n // without ctaHref keep today's smart-default behavior unchanged.\n const smartCTA = ctaHref ? null : getSmartCTA()\n const ctaClassName = ctaVariant === 'primary'\n ? \"w-full bg-ods-accent text-ods-text-on-accent hover:bg-ods-accent-hover transition-all duration-150 font-body font-medium\"\n : \"w-full bg-transparent border border-ods-border text-ods-text-primary hover:border-ods-accent hover:text-ods-accent transition-all duration-150 font-body font-medium\"\n\n return (\n <div className=\"flex flex-col items-center justify-center py-6 md:py-16 px-6 text-center\">\n {/* Icon */}\n <div className=\"mb-3 md:mb-6 flex items-center justify-center\">\n <div className=\"rounded-full bg-ods-card p-3 md:p-6 border border-ods-border\">\n <div className=\"w-8 h-8 md:w-16 md:h-16 text-ods-text-secondary flex items-center justify-center\">\n {defaultContent.icon}\n </div>\n </div>\n </div>\n\n {/* Title */}\n <h2 className=\"mb-2 md:mb-3 text-h3 text-ods-text-primary\">\n {displayTitle}\n </h2>\n\n {/* Description */}\n <p className=\"mb-4 md:mb-8 max-w-md text-h6 text-ods-text-secondary\">\n {displayDescription}\n </p>\n\n {/* Link CTA (ctaHref) — SSR-safe, no path sniffing */}\n {showCTA && ctaHref && (\n <div className=\"w-full max-w-xs mb-3\">\n <Button href={ctaHref} className={ctaClassName}>\n {ctaText || 'Contact us'}\n </Button>\n </div>\n )}\n\n {/* Smart CTA Button */}\n {showCTA && !ctaHref && smartCTA && (\n <div className=\"w-full max-w-xs mb-3\">\n <Button onClick={smartCTA.action} className={ctaClassName}>\n {smartCTA.text}\n </Button>\n </div>\n )}\n\n {/* Optional Back Button */}\n {showBackButton && onGoBack && (\n <div className=\"w-full max-w-xs\">\n <Button\n onClick={onGoBack}\n variant=\"outline\"\n className=\"w-full transition-all duration-150 font-body font-medium\"\n >\n {backButtonText}\n </Button>\n </div>\n )}\n </div>\n )\n} "]}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import {
|
|
3
3
|
ContactForm
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-E26KVZJM.js";
|
|
5
5
|
import {
|
|
6
6
|
DeliveryRow,
|
|
7
7
|
DevCardRowContent,
|
|
8
8
|
DevCardRowSkeletonList,
|
|
9
9
|
DevSectionPage
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-LM6NDYGD.js";
|
|
11
11
|
import {
|
|
12
12
|
EmptyState,
|
|
13
13
|
UnifiedPagination,
|
|
14
14
|
init_unified_pagination
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-4VLGJEKQ.js";
|
|
16
16
|
import {
|
|
17
17
|
AlertDialog,
|
|
18
18
|
AlertDialogAction,
|
|
@@ -45,14 +45,14 @@ import {
|
|
|
45
45
|
useChatAttachments,
|
|
46
46
|
useChatIdentity,
|
|
47
47
|
useOptionalTicketLive
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-IHXUZBBV.js";
|
|
49
49
|
import {
|
|
50
50
|
STICKY_HEADER_OFFSET_PX,
|
|
51
51
|
embedAuthedFetch,
|
|
52
52
|
scrollElementIntoView,
|
|
53
53
|
toast,
|
|
54
54
|
useScrollToHash
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-ZNEVGXMU.js";
|
|
56
56
|
import {
|
|
57
57
|
usePathname,
|
|
58
58
|
useRouter,
|
|
@@ -1938,4 +1938,4 @@ export {
|
|
|
1938
1938
|
HelpCenterCreateForm,
|
|
1939
1939
|
HelpCenterList
|
|
1940
1940
|
};
|
|
1941
|
-
//# sourceMappingURL=chunk-
|
|
1941
|
+
//# sourceMappingURL=chunk-YUVCH2LX.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
PageLayout,
|
|
4
4
|
formatBioText,
|
|
5
5
|
getProxiedImageUrl
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-IHXUZBBV.js";
|
|
7
7
|
import {
|
|
8
8
|
next_image_default
|
|
9
9
|
} from "./chunk-LXC6P2EO.js";
|
|
@@ -146,4 +146,4 @@ export {
|
|
|
146
146
|
DetailPageSkeleton,
|
|
147
147
|
ArticleAuthorByline
|
|
148
148
|
};
|
|
149
|
-
//# sourceMappingURL=chunk-
|
|
149
|
+
//# sourceMappingURL=chunk-Z5FN5VTC.js.map
|
|
@@ -1940,17 +1940,18 @@ function hasEmbedAuthAdapter() {
|
|
|
1940
1940
|
function needsBearerAssetFetch(url) {
|
|
1941
1941
|
if (typeof window === "undefined") return false;
|
|
1942
1942
|
const adapter2 = getRegisteredAuthAdapter();
|
|
1943
|
-
if (!adapter2
|
|
1944
|
-
return false;
|
|
1945
|
-
}
|
|
1943
|
+
if (!adapter2 || adapter2.getHeaders?.().Authorization === void 0) return false;
|
|
1946
1944
|
let target;
|
|
1945
|
+
let pageOrigin;
|
|
1947
1946
|
try {
|
|
1948
1947
|
target = new URL(url, window.location.href);
|
|
1948
|
+
pageOrigin = new URL(window.location.href).origin;
|
|
1949
1949
|
} catch {
|
|
1950
1950
|
return false;
|
|
1951
1951
|
}
|
|
1952
1952
|
if (target.protocol !== "http:" && target.protocol !== "https:") return false;
|
|
1953
|
-
|
|
1953
|
+
if (target.origin === pageOrigin) return true;
|
|
1954
|
+
return adapter2.allowedOrigins?.includes(target.origin) ?? false;
|
|
1954
1955
|
}
|
|
1955
1956
|
function embedAuthedFetch(url, init = {}) {
|
|
1956
1957
|
assertSameOrigin(url);
|
|
@@ -2417,23 +2418,23 @@ function useAuthenticatedImage(imageUrl, refreshKey, config) {
|
|
|
2417
2418
|
return { imageUrl: fetchedImageUrl, isLoading, error };
|
|
2418
2419
|
}
|
|
2419
2420
|
|
|
2420
|
-
// src/hooks/use-authed-
|
|
2421
|
+
// src/hooks/use-authed-asset-src.ts
|
|
2421
2422
|
import { useEffect as useEffect21, useReducer } from "react";
|
|
2422
2423
|
var resolvedCache = /* @__PURE__ */ new Map();
|
|
2423
2424
|
var inFlight = /* @__PURE__ */ new Map();
|
|
2424
2425
|
var cacheGeneration = 0;
|
|
2425
|
-
function
|
|
2426
|
+
function clearAuthedAssetCache() {
|
|
2426
2427
|
cacheGeneration++;
|
|
2427
2428
|
for (const url of resolvedCache.values()) URL.revokeObjectURL(url);
|
|
2428
2429
|
resolvedCache.clear();
|
|
2429
2430
|
inFlight.clear();
|
|
2430
2431
|
}
|
|
2431
|
-
function fetchAsBlobUrl(src) {
|
|
2432
|
+
function fetchAsBlobUrl(src, accept) {
|
|
2432
2433
|
let pending = inFlight.get(src);
|
|
2433
2434
|
if (!pending) {
|
|
2434
2435
|
const startedGeneration = cacheGeneration;
|
|
2435
|
-
pending = embedAuthedFetch(src, { headers: { Accept:
|
|
2436
|
-
if (!response.ok) throw new Error(`
|
|
2436
|
+
pending = embedAuthedFetch(src, { headers: { Accept: accept } }).then(async (response) => {
|
|
2437
|
+
if (!response.ok) throw new Error(`asset fetch failed: ${response.status}`);
|
|
2437
2438
|
const blobUrl = URL.createObjectURL(await response.blob());
|
|
2438
2439
|
if (startedGeneration === cacheGeneration) {
|
|
2439
2440
|
resolvedCache.set(src, blobUrl);
|
|
@@ -2447,25 +2448,31 @@ function fetchAsBlobUrl(src) {
|
|
|
2447
2448
|
}
|
|
2448
2449
|
return pending;
|
|
2449
2450
|
}
|
|
2450
|
-
function
|
|
2451
|
+
function useAuthedAssetSrc(src, accept = "*/*") {
|
|
2451
2452
|
const bearerSrc = src && needsBearerAssetFetch(src) ? src : null;
|
|
2452
2453
|
const [, rerender] = useReducer((c) => c + 1, 0);
|
|
2453
2454
|
useEffect21(() => {
|
|
2454
2455
|
if (!bearerSrc || resolvedCache.has(bearerSrc)) return;
|
|
2455
2456
|
let cancelled = false;
|
|
2456
|
-
fetchAsBlobUrl(bearerSrc).catch(() => {
|
|
2457
|
+
fetchAsBlobUrl(bearerSrc, accept).catch(() => {
|
|
2457
2458
|
}).finally(() => {
|
|
2458
2459
|
if (!cancelled) rerender();
|
|
2459
2460
|
});
|
|
2460
2461
|
return () => {
|
|
2461
2462
|
cancelled = true;
|
|
2462
2463
|
};
|
|
2463
|
-
}, [bearerSrc]);
|
|
2464
|
+
}, [bearerSrc, accept]);
|
|
2464
2465
|
if (!src) return void 0;
|
|
2465
2466
|
if (!bearerSrc) return src;
|
|
2466
2467
|
return resolvedCache.get(bearerSrc);
|
|
2467
2468
|
}
|
|
2468
2469
|
|
|
2470
|
+
// src/hooks/use-authed-image-src.ts
|
|
2471
|
+
function useAuthedImageSrc(src) {
|
|
2472
|
+
return useAuthedAssetSrc(src, "image/*");
|
|
2473
|
+
}
|
|
2474
|
+
var clearAuthedImageCache = clearAuthedAssetCache;
|
|
2475
|
+
|
|
2469
2476
|
// src/hooks/state/use-query-params.ts
|
|
2470
2477
|
init_next_navigation();
|
|
2471
2478
|
import { useEffect as useEffect22, useState as useState21, useMemo as useMemo3, useCallback as useCallback12 } from "react";
|
|
@@ -4110,8 +4117,10 @@ export {
|
|
|
4110
4117
|
useBatchImages,
|
|
4111
4118
|
configureAuthenticatedImage,
|
|
4112
4119
|
useAuthenticatedImage,
|
|
4113
|
-
|
|
4120
|
+
clearAuthedAssetCache,
|
|
4121
|
+
useAuthedAssetSrc,
|
|
4114
4122
|
useAuthedImageSrc,
|
|
4123
|
+
clearAuthedImageCache,
|
|
4115
4124
|
extractVariablesFromQuery,
|
|
4116
4125
|
isScalarType,
|
|
4117
4126
|
isInputObjectType,
|
|
@@ -4170,4 +4179,4 @@ export {
|
|
|
4170
4179
|
splitCsvEnv,
|
|
4171
4180
|
useHumanitySignals
|
|
4172
4181
|
};
|
|
4173
|
-
//# sourceMappingURL=chunk-
|
|
4182
|
+
//# sourceMappingURL=chunk-ZNEVGXMU.js.map
|