@flamingo-stack/openframe-frontend-core 0.0.550-1809.4793.1 → 0.0.550

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/dist/{chunk-4ARE6T4J.js → chunk-2I6KJN7F.js} +4 -4
  2. package/dist/{chunk-72SQSKU7.cjs → chunk-4A5RDQ6L.cjs} +61 -61
  3. package/dist/{chunk-72SQSKU7.cjs.map → chunk-4A5RDQ6L.cjs.map} +1 -1
  4. package/dist/{chunk-SZMZJ5Z7.js → chunk-5KAQ2JUQ.js} +2 -2
  5. package/dist/{chunk-TKAWA4FY.js → chunk-5VGIDZAM.js} +2 -2
  6. package/dist/{chunk-TV6GBR7P.cjs → chunk-6M6EZK4R.cjs} +31 -31
  7. package/dist/{chunk-TV6GBR7P.cjs.map → chunk-6M6EZK4R.cjs.map} +1 -1
  8. package/dist/{chunk-KAM2YLU4.js → chunk-6RTSYEBE.js} +2 -2
  9. package/dist/{chunk-SRNY3MXC.js → chunk-7T2HI44L.js} +2 -2
  10. package/dist/{chunk-GN2Q3WBA.js → chunk-7YDLMRVR.js} +6 -6
  11. package/dist/{chunk-WBGSHUXJ.cjs → chunk-A4L6BEB7.cjs} +7 -7
  12. package/dist/{chunk-WBGSHUXJ.cjs.map → chunk-A4L6BEB7.cjs.map} +1 -1
  13. package/dist/{chunk-QVW4B4YQ.cjs → chunk-CN2VQPLX.cjs} +4 -4
  14. package/dist/{chunk-QVW4B4YQ.cjs.map → chunk-CN2VQPLX.cjs.map} +1 -1
  15. package/dist/{chunk-KGMOXLYO.cjs → chunk-DCB4EBA5.cjs} +70 -28
  16. package/dist/chunk-DCB4EBA5.cjs.map +1 -0
  17. package/dist/{chunk-NRRY2RZR.cjs → chunk-EVCAPL5A.cjs} +39 -39
  18. package/dist/{chunk-NRRY2RZR.cjs.map → chunk-EVCAPL5A.cjs.map} +1 -1
  19. package/dist/{chunk-I4N3VQCU.cjs → chunk-GXNSFW3N.cjs} +30 -30
  20. package/dist/{chunk-I4N3VQCU.cjs.map → chunk-GXNSFW3N.cjs.map} +1 -1
  21. package/dist/{chunk-Q4NLR45P.cjs → chunk-H7ORFGB6.cjs} +11 -11
  22. package/dist/{chunk-Q4NLR45P.cjs.map → chunk-H7ORFGB6.cjs.map} +1 -1
  23. package/dist/{chunk-HT7P4QSO.cjs → chunk-HCGS2AAS.cjs} +14 -14
  24. package/dist/{chunk-HT7P4QSO.cjs.map → chunk-HCGS2AAS.cjs.map} +1 -1
  25. package/dist/{chunk-4WE5VFJX.js → chunk-HWYUSB5A.js} +2 -2
  26. package/dist/{chunk-44ERGZJT.js → chunk-IRV6TOEZ.js} +5 -5
  27. package/dist/{chunk-LALK7AGK.cjs → chunk-ISCWUJ72.cjs} +3 -3
  28. package/dist/{chunk-LALK7AGK.cjs.map → chunk-ISCWUJ72.cjs.map} +1 -1
  29. package/dist/{chunk-GAIU563C.cjs → chunk-ISLQTWWW.cjs} +9 -9
  30. package/dist/{chunk-GAIU563C.cjs.map → chunk-ISLQTWWW.cjs.map} +1 -1
  31. package/dist/{chunk-XQU5QBMJ.js → chunk-JS7FDV27.js} +3515 -3561
  32. package/dist/chunk-JS7FDV27.js.map +1 -0
  33. package/dist/{chunk-DDECEP24.cjs → chunk-LDS54O26.cjs} +505 -551
  34. package/dist/chunk-LDS54O26.cjs.map +1 -0
  35. package/dist/{chunk-2RTORV23.cjs → chunk-LLBU7RI5.cjs} +27 -27
  36. package/dist/{chunk-2RTORV23.cjs.map → chunk-LLBU7RI5.cjs.map} +1 -1
  37. package/dist/{chunk-CILHIWXK.js → chunk-M3GOE7OF.js} +2 -2
  38. package/dist/{chunk-5HTVPIQG.cjs → chunk-MGRCFN2K.cjs} +5 -5
  39. package/dist/{chunk-5HTVPIQG.cjs.map → chunk-MGRCFN2K.cjs.map} +1 -1
  40. package/dist/{chunk-WBWGQOAH.js → chunk-R7RCGLII.js} +7 -7
  41. package/dist/{chunk-QX5AXGLP.js → chunk-RSZXB6J2.js} +108 -66
  42. package/dist/chunk-RSZXB6J2.js.map +1 -0
  43. package/dist/{chunk-NGYZMQHP.js → chunk-U7UPMD3Z.js} +4 -4
  44. package/dist/{chunk-CUZTTZ5T.cjs → chunk-UYQFUEIK.cjs} +98 -98
  45. package/dist/{chunk-CUZTTZ5T.cjs.map → chunk-UYQFUEIK.cjs.map} +1 -1
  46. package/dist/{chunk-VYX4X7ND.js → chunk-WTCXDYK7.js} +2 -2
  47. package/dist/{chunk-6X3C2YAR.js → chunk-XO4YU5GN.js} +2 -2
  48. package/dist/components/case-studies/index.cjs +9 -9
  49. package/dist/components/case-studies/index.js +3 -3
  50. package/dist/components/chat/index.cjs +3 -3
  51. package/dist/components/chat/index.js +2 -2
  52. package/dist/components/command.d.ts +3 -3
  53. package/dist/components/contact/index.cjs +4 -4
  54. package/dist/components/contact/index.js +3 -3
  55. package/dist/components/docs/index.cjs +6 -6
  56. package/dist/components/docs/index.js +5 -5
  57. package/dist/components/embeds/index.cjs +4 -4
  58. package/dist/components/embeds/index.js +3 -3
  59. package/dist/components/faq/index.cjs +4 -4
  60. package/dist/components/faq/index.js +3 -3
  61. package/dist/components/features/index.cjs +3 -3
  62. package/dist/components/features/index.js +2 -2
  63. package/dist/components/help-center-pages/index.cjs +23 -23
  64. package/dist/components/help-center-pages/index.js +14 -14
  65. package/dist/components/index.cjs +141 -141
  66. package/dist/components/index.cjs.map +1 -1
  67. package/dist/components/index.js +13 -13
  68. package/dist/components/meeting-scheduler/index.cjs +60 -60
  69. package/dist/components/meeting-scheduler/index.cjs.map +1 -1
  70. package/dist/components/meeting-scheduler/index.js +5 -5
  71. package/dist/components/navigation/index.cjs +3 -3
  72. package/dist/components/navigation/index.js +2 -2
  73. package/dist/components/onboarding-guides/index.cjs +6 -6
  74. package/dist/components/onboarding-guides/index.js +5 -5
  75. package/dist/components/related-content/index.cjs +4 -4
  76. package/dist/components/related-content/index.js +3 -3
  77. package/dist/components/resizable.d.ts +1 -1
  78. package/dist/components/tickets/index.cjs +7 -7
  79. package/dist/components/tickets/index.js +6 -6
  80. package/dist/components/ui/alert.d.ts +1 -1
  81. package/dist/components/ui/badge.d.ts +1 -1
  82. package/dist/components/ui/checkbox-with-description.d.ts.map +1 -1
  83. package/dist/components/ui/field-wrapper.d.ts.map +1 -1
  84. package/dist/components/ui/file-manager/index.cjs +36 -36
  85. package/dist/components/ui/file-manager/index.js +1 -1
  86. package/dist/components/ui/index.cjs +4 -4
  87. package/dist/components/ui/index.cjs.map +1 -1
  88. package/dist/components/ui/index.js +3 -3
  89. package/dist/components/ui/label.d.ts +1 -1
  90. package/dist/components/ui/label.d.ts.map +1 -1
  91. package/dist/components/ui/status-badge.d.ts +1 -1
  92. package/dist/components/ui/tags-input.d.ts.map +1 -1
  93. package/dist/hooks/use-toast.d.ts +1 -1
  94. package/dist/index.cjs +4 -4
  95. package/dist/index.cjs.map +1 -1
  96. package/dist/index.js +3 -3
  97. package/package.json +1 -1
  98. package/src/components/features/array-entry-manager.tsx +1 -1
  99. package/src/components/features/changelog-manager.tsx +3 -3
  100. package/src/components/features/highlight-video-section.tsx +1 -1
  101. package/src/components/features/og-editor-preview.tsx +4 -4
  102. package/src/components/features/release-media-manager.tsx +1 -1
  103. package/src/components/features/seo-editor-preview.tsx +1 -1
  104. package/src/components/ui/checkbox-with-description.tsx +0 -1
  105. package/src/components/ui/field-wrapper.tsx +3 -2
  106. package/src/components/ui/field.tsx +1 -1
  107. package/src/components/ui/label.tsx +31 -15
  108. package/src/components/ui/tags-input.tsx +3 -2
  109. package/dist/chunk-DDECEP24.cjs.map +0 -1
  110. package/dist/chunk-KGMOXLYO.cjs.map +0 -1
  111. package/dist/chunk-QX5AXGLP.js.map +0 -1
  112. package/dist/chunk-XQU5QBMJ.js.map +0 -1
  113. /package/dist/{chunk-4ARE6T4J.js.map → chunk-2I6KJN7F.js.map} +0 -0
  114. /package/dist/{chunk-SZMZJ5Z7.js.map → chunk-5KAQ2JUQ.js.map} +0 -0
  115. /package/dist/{chunk-TKAWA4FY.js.map → chunk-5VGIDZAM.js.map} +0 -0
  116. /package/dist/{chunk-KAM2YLU4.js.map → chunk-6RTSYEBE.js.map} +0 -0
  117. /package/dist/{chunk-SRNY3MXC.js.map → chunk-7T2HI44L.js.map} +0 -0
  118. /package/dist/{chunk-GN2Q3WBA.js.map → chunk-7YDLMRVR.js.map} +0 -0
  119. /package/dist/{chunk-4WE5VFJX.js.map → chunk-HWYUSB5A.js.map} +0 -0
  120. /package/dist/{chunk-44ERGZJT.js.map → chunk-IRV6TOEZ.js.map} +0 -0
  121. /package/dist/{chunk-CILHIWXK.js.map → chunk-M3GOE7OF.js.map} +0 -0
  122. /package/dist/{chunk-WBWGQOAH.js.map → chunk-R7RCGLII.js.map} +0 -0
  123. /package/dist/{chunk-NGYZMQHP.js.map → chunk-U7UPMD3Z.js.map} +0 -0
  124. /package/dist/{chunk-VYX4X7ND.js.map → chunk-WTCXDYK7.js.map} +0 -0
  125. /package/dist/{chunk-6X3C2YAR.js.map → chunk-XO4YU5GN.js.map} +0 -0
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  init_unified_pagination,
4
4
  unified_pagination_exports
5
- } from "./chunk-6X3C2YAR.js";
5
+ } from "./chunk-XO4YU5GN.js";
6
6
  import {
7
7
  cn,
8
8
  init_cn
@@ -172,4 +172,4 @@ export {
172
172
  usePaginationLoading,
173
173
  PersistentPaginationWrapper
174
174
  };
175
- //# sourceMappingURL=chunk-KAM2YLU4.js.map
175
+ //# sourceMappingURL=chunk-6RTSYEBE.js.map
@@ -35,7 +35,7 @@ import {
35
35
  getContentRefLabelOrTitleCase,
36
36
  init_pagination,
37
37
  orderContentRefTypes
38
- } from "./chunk-XQU5QBMJ.js";
38
+ } from "./chunk-JS7FDV27.js";
39
39
 
40
40
  // src/components/related-content/related-content-section.tsx
41
41
  import { useEffect, useMemo, useRef, useState } from "react";
@@ -372,4 +372,4 @@ export {
372
372
  GROUP_PAGE_SIZE,
373
373
  RelatedContentSection
374
374
  };
375
- //# sourceMappingURL=chunk-SRNY3MXC.js.map
375
+ //# sourceMappingURL=chunk-7T2HI44L.js.map
@@ -1,16 +1,16 @@
1
1
  "use client";
2
2
  import {
3
3
  PersistentPaginationWrapper
4
- } from "./chunk-KAM2YLU4.js";
4
+ } from "./chunk-6RTSYEBE.js";
5
5
  import {
6
6
  DeliveryRow
7
- } from "./chunk-TKAWA4FY.js";
7
+ } from "./chunk-5VGIDZAM.js";
8
8
  import {
9
9
  EmptyState
10
- } from "./chunk-6X3C2YAR.js";
10
+ } from "./chunk-XO4YU5GN.js";
11
11
  import {
12
12
  DetailPageSkeleton
13
- } from "./chunk-4WE5VFJX.js";
13
+ } from "./chunk-HWYUSB5A.js";
14
14
  import {
15
15
  useSelfFetch
16
16
  } from "./chunk-LQPHB2YF.js";
@@ -45,7 +45,7 @@ import {
45
45
  resolveContentHref,
46
46
  toStripProfile,
47
47
  useEntityCardLink
48
- } from "./chunk-XQU5QBMJ.js";
48
+ } from "./chunk-JS7FDV27.js";
49
49
  import {
50
50
  STICKY_HEADER_OFFSET_PX,
51
51
  contentFetch,
@@ -1305,4 +1305,4 @@ export {
1305
1305
  useLegalDocs,
1306
1306
  LegalDocumentPage
1307
1307
  };
1308
- //# sourceMappingURL=chunk-GN2Q3WBA.js.map
1308
+ //# sourceMappingURL=chunk-7YDLMRVR.js.map
@@ -4,7 +4,7 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkDDECEP24cjs = require('./chunk-DDECEP24.cjs');
7
+ var _chunkLDS54O26cjs = require('./chunk-LDS54O26.cjs');
8
8
 
9
9
 
10
10
 
@@ -25,7 +25,7 @@ function PdfViewer({ src, fileName, onPreview, onDownload, height }) {
25
25
  ] });
26
26
  }
27
27
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
28
- _chunkDDECEP24cjs.EmbedViewerFrame,
28
+ _chunkLDS54O26cjs.EmbedViewerFrame,
29
29
  {
30
30
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.AdobePdfIcon, { className: "w-5 h-5 shrink-0" }),
31
31
  title: displayName,
@@ -75,7 +75,7 @@ function GoogleSheetsViewer({ externalUrl, fileName, height }) {
75
75
  ] });
76
76
  }
77
77
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
78
- _chunkDDECEP24cjs.EmbedViewerFrame,
78
+ _chunkLDS54O26cjs.EmbedViewerFrame,
79
79
  {
80
80
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.GoogleSheetsIcon, { className: "w-5 h-5 shrink-0" }),
81
81
  title: displayName,
@@ -84,7 +84,7 @@ function GoogleSheetsViewer({ externalUrl, fileName, height }) {
84
84
  {
85
85
  variant: "outline",
86
86
  size: "small-legacy",
87
- href: _chunkDDECEP24cjs.toGoogleSheetsOriginalUrl.call(void 0, externalUrl),
87
+ href: _chunkLDS54O26cjs.toGoogleSheetsOriginalUrl.call(void 0, externalUrl),
88
88
  openInNewTab: true,
89
89
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUTVOBFXRcjs.GoogleSheetsIcon, { className: "w-4 h-4" }),
90
90
  rightIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "w-4 h-4" }),
@@ -92,7 +92,7 @@ function GoogleSheetsViewer({ externalUrl, fileName, height }) {
92
92
  children: "Open in Google Sheets"
93
93
  }
94
94
  ),
95
- src: _chunkDDECEP24cjs.toGoogleSheetsEmbedUrl.call(void 0, externalUrl),
95
+ src: _chunkLDS54O26cjs.toGoogleSheetsEmbedUrl.call(void 0, externalUrl),
96
96
  height
97
97
  }
98
98
  );
@@ -113,7 +113,7 @@ function FileDownloadCard({
113
113
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-h3 text-ods-text-primary", children: fileName || "File" }),
114
114
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center justify-center gap-3 mt-2 text-h6 text-ods-text-secondary", children: [
115
115
  mimeType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: mimeType }),
116
- typeof fileSize === "number" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _chunkDDECEP24cjs.formatFileSize.call(void 0, fileSize) })
116
+ typeof fileSize === "number" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _chunkLDS54O26cjs.formatFileSize.call(void 0, fileSize) })
117
117
  ] })
118
118
  ] }),
119
119
  fileUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -134,4 +134,4 @@ function FileDownloadCard({
134
134
 
135
135
 
136
136
  exports.PdfViewer = PdfViewer; exports.GoogleSheetsViewer = GoogleSheetsViewer; exports.FileDownloadCard = FileDownloadCard;
137
- //# sourceMappingURL=chunk-WBGSHUXJ.cjs.map
137
+ //# sourceMappingURL=chunk-A4L6BEB7.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-WBGSHUXJ.cjs","../src/components/embeds/pdf-viewer.tsx","../src/components/embeds/google-sheets-viewer.tsx","../src/components/embeds/file-download-card.tsx"],"names":["jsxs","jsx","Download"],"mappings":"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","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-WBGSHUXJ.cjs","sourcesContent":[null,"\"use client\"\n\nimport React from 'react'\nimport { Button } from '../ui'\nimport { Download, Eye } from 'lucide-react'\nimport { AdobePdfIcon } from '../icons-v2-generated'\nimport { EmbedViewerFrame } from './embed-viewer-frame'\n\nexport interface PdfViewerProps {\n src: string\n fileName?: string\n onPreview?: () => void\n onDownload?: () => void\n height?: string\n}\n\nexport function PdfViewer({ src, fileName, onPreview, onDownload, height }: PdfViewerProps) {\n const displayName = fileName || 'PDF Document'\n\n // Historical shape: no src at all → standalone empty state with NO header.\n if (!src) {\n return (\n <div className=\"flex flex-col items-center justify-center py-16 text-center\">\n <AdobePdfIcon className=\"w-16 h-16 text-ods-text-secondary mb-4\" />\n <p className=\"text-ods-text-secondary\">PDF file not available</p>\n </div>\n )\n }\n\n return (\n <EmbedViewerFrame\n icon={<AdobePdfIcon className=\"w-5 h-5 shrink-0\" />}\n title={displayName}\n actions={\n <div className=\"flex items-center gap-2 w-full sm:w-auto\">\n <Button\n variant=\"outline\"\n size=\"small-legacy\"\n href={onPreview ? undefined : src}\n openInNewTab={!onPreview}\n onClick={onPreview}\n leftIcon={<Eye className=\"w-4 h-4\" />}\n className=\"flex-1 sm:flex-initial\"\n >\n Preview\n </Button>\n <Button\n variant=\"outline\"\n size=\"small-legacy\"\n href={onDownload ? undefined : src}\n openInNewTab={!onDownload}\n onClick={onDownload}\n leftIcon={<Download className=\"w-4 h-4\" />}\n className=\"flex-1 sm:flex-initial\"\n >\n Download\n </Button>\n </div>\n }\n src={src}\n height={height}\n />\n )\n}\n","\"use client\"\n\nimport React from 'react'\nimport { Button } from '../ui'\nimport { ExternalLink } from 'lucide-react'\nimport { GoogleSheetsIcon } from '../icons-v2-generated'\nimport { EmbedViewerFrame } from './embed-viewer-frame'\nimport { toGoogleSheetsEmbedUrl, toGoogleSheetsOriginalUrl } from '../../utils/embed-url-converters'\n\nexport interface GoogleSheetsViewerProps {\n externalUrl: string\n fileName?: string\n height?: string\n}\n\nexport function GoogleSheetsViewer({ externalUrl, fileName, height }: GoogleSheetsViewerProps) {\n const displayName = fileName || 'Google Sheet'\n\n // Historical shape: no URL at all → standalone empty state with NO header\n // (the frame's empty body keeps the header — that's the figma behavior).\n if (!externalUrl) {\n return (\n <div className=\"flex flex-col items-center justify-center py-16 text-center\">\n <GoogleSheetsIcon className=\"w-16 h-16 text-ods-text-secondary mb-4\" />\n <p className=\"text-ods-text-secondary\">Google Sheet URL not configured</p>\n </div>\n )\n }\n\n return (\n <EmbedViewerFrame\n icon={<GoogleSheetsIcon className=\"w-5 h-5 shrink-0\" />}\n title={displayName}\n actions={\n <Button\n variant=\"outline\"\n size=\"small-legacy\"\n href={toGoogleSheetsOriginalUrl(externalUrl)}\n openInNewTab\n leftIcon={<GoogleSheetsIcon className=\"w-4 h-4\" />}\n rightIcon={<ExternalLink className=\"w-4 h-4\" />}\n className=\"w-full sm:w-auto\"\n >\n Open in Google Sheets\n </Button>\n }\n src={toGoogleSheetsEmbedUrl(externalUrl)}\n height={height}\n />\n )\n}\n","import React from 'react'\nimport { Button } from '../ui'\nimport { FileText, Download } from 'lucide-react'\nimport { formatFileSize } from '../../utils'\n\nexport interface FileDownloadCardProps {\n fileName?: string\n mimeType?: string\n fileSize?: number\n fileUrl?: string\n}\n\n/**\n * Generic downloadable-file card for the `file` document type. Used by\n * `<DocsHubPage>`'s default `documentTypeRenderers.file`. Embedders can\n * override the default by passing their own `file` renderer.\n *\n * When `fileUrl` is missing, the Download button is omitted (the card still\n * renders the filename + type + size so the user knows what they were\n * about to download).\n */\nexport function FileDownloadCard({\n fileName,\n mimeType,\n fileSize,\n fileUrl,\n}: FileDownloadCardProps) {\n return (\n <div className=\"flex flex-col items-center justify-center py-16\">\n <div className=\"bg-ods-card border border-ods-border rounded-xl p-8 max-w-md w-full text-center space-y-4\">\n <FileText className=\"w-16 h-16 text-ods-text-secondary mx-auto\" />\n <div>\n <h3 className=\"text-h3 text-ods-text-primary\">\n {fileName || 'File'}\n </h3>\n <div className=\"flex items-center justify-center gap-3 mt-2 text-h6 text-ods-text-secondary\">\n {mimeType && <span>{mimeType}</span>}\n {typeof fileSize === 'number' && <span>{formatFileSize(fileSize)}</span>}\n </div>\n </div>\n {fileUrl && (\n <Button\n variant=\"accent\"\n href={fileUrl}\n openInNewTab\n leftIcon={<Download className=\"w-4 h-4\" />}\n >\n Download File\n </Button>\n )}\n </div>\n </div>\n )\n}\n"]}
1
+ {"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-A4L6BEB7.cjs","../src/components/embeds/pdf-viewer.tsx","../src/components/embeds/google-sheets-viewer.tsx","../src/components/embeds/file-download-card.tsx"],"names":["jsxs","jsx","Download"],"mappings":"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","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-A4L6BEB7.cjs","sourcesContent":[null,"\"use client\"\n\nimport React from 'react'\nimport { Button } from '../ui'\nimport { Download, Eye } from 'lucide-react'\nimport { AdobePdfIcon } from '../icons-v2-generated'\nimport { EmbedViewerFrame } from './embed-viewer-frame'\n\nexport interface PdfViewerProps {\n src: string\n fileName?: string\n onPreview?: () => void\n onDownload?: () => void\n height?: string\n}\n\nexport function PdfViewer({ src, fileName, onPreview, onDownload, height }: PdfViewerProps) {\n const displayName = fileName || 'PDF Document'\n\n // Historical shape: no src at all → standalone empty state with NO header.\n if (!src) {\n return (\n <div className=\"flex flex-col items-center justify-center py-16 text-center\">\n <AdobePdfIcon className=\"w-16 h-16 text-ods-text-secondary mb-4\" />\n <p className=\"text-ods-text-secondary\">PDF file not available</p>\n </div>\n )\n }\n\n return (\n <EmbedViewerFrame\n icon={<AdobePdfIcon className=\"w-5 h-5 shrink-0\" />}\n title={displayName}\n actions={\n <div className=\"flex items-center gap-2 w-full sm:w-auto\">\n <Button\n variant=\"outline\"\n size=\"small-legacy\"\n href={onPreview ? undefined : src}\n openInNewTab={!onPreview}\n onClick={onPreview}\n leftIcon={<Eye className=\"w-4 h-4\" />}\n className=\"flex-1 sm:flex-initial\"\n >\n Preview\n </Button>\n <Button\n variant=\"outline\"\n size=\"small-legacy\"\n href={onDownload ? undefined : src}\n openInNewTab={!onDownload}\n onClick={onDownload}\n leftIcon={<Download className=\"w-4 h-4\" />}\n className=\"flex-1 sm:flex-initial\"\n >\n Download\n </Button>\n </div>\n }\n src={src}\n height={height}\n />\n )\n}\n","\"use client\"\n\nimport React from 'react'\nimport { Button } from '../ui'\nimport { ExternalLink } from 'lucide-react'\nimport { GoogleSheetsIcon } from '../icons-v2-generated'\nimport { EmbedViewerFrame } from './embed-viewer-frame'\nimport { toGoogleSheetsEmbedUrl, toGoogleSheetsOriginalUrl } from '../../utils/embed-url-converters'\n\nexport interface GoogleSheetsViewerProps {\n externalUrl: string\n fileName?: string\n height?: string\n}\n\nexport function GoogleSheetsViewer({ externalUrl, fileName, height }: GoogleSheetsViewerProps) {\n const displayName = fileName || 'Google Sheet'\n\n // Historical shape: no URL at all → standalone empty state with NO header\n // (the frame's empty body keeps the header — that's the figma behavior).\n if (!externalUrl) {\n return (\n <div className=\"flex flex-col items-center justify-center py-16 text-center\">\n <GoogleSheetsIcon className=\"w-16 h-16 text-ods-text-secondary mb-4\" />\n <p className=\"text-ods-text-secondary\">Google Sheet URL not configured</p>\n </div>\n )\n }\n\n return (\n <EmbedViewerFrame\n icon={<GoogleSheetsIcon className=\"w-5 h-5 shrink-0\" />}\n title={displayName}\n actions={\n <Button\n variant=\"outline\"\n size=\"small-legacy\"\n href={toGoogleSheetsOriginalUrl(externalUrl)}\n openInNewTab\n leftIcon={<GoogleSheetsIcon className=\"w-4 h-4\" />}\n rightIcon={<ExternalLink className=\"w-4 h-4\" />}\n className=\"w-full sm:w-auto\"\n >\n Open in Google Sheets\n </Button>\n }\n src={toGoogleSheetsEmbedUrl(externalUrl)}\n height={height}\n />\n )\n}\n","import React from 'react'\nimport { Button } from '../ui'\nimport { FileText, Download } from 'lucide-react'\nimport { formatFileSize } from '../../utils'\n\nexport interface FileDownloadCardProps {\n fileName?: string\n mimeType?: string\n fileSize?: number\n fileUrl?: string\n}\n\n/**\n * Generic downloadable-file card for the `file` document type. Used by\n * `<DocsHubPage>`'s default `documentTypeRenderers.file`. Embedders can\n * override the default by passing their own `file` renderer.\n *\n * When `fileUrl` is missing, the Download button is omitted (the card still\n * renders the filename + type + size so the user knows what they were\n * about to download).\n */\nexport function FileDownloadCard({\n fileName,\n mimeType,\n fileSize,\n fileUrl,\n}: FileDownloadCardProps) {\n return (\n <div className=\"flex flex-col items-center justify-center py-16\">\n <div className=\"bg-ods-card border border-ods-border rounded-xl p-8 max-w-md w-full text-center space-y-4\">\n <FileText className=\"w-16 h-16 text-ods-text-secondary mx-auto\" />\n <div>\n <h3 className=\"text-h3 text-ods-text-primary\">\n {fileName || 'File'}\n </h3>\n <div className=\"flex items-center justify-center gap-3 mt-2 text-h6 text-ods-text-secondary\">\n {mimeType && <span>{mimeType}</span>}\n {typeof fileSize === 'number' && <span>{formatFileSize(fileSize)}</span>}\n </div>\n </div>\n {fileUrl && (\n <Button\n variant=\"accent\"\n href={fileUrl}\n openInNewTab\n leftIcon={<Download className=\"w-4 h-4\" />}\n >\n Download File\n </Button>\n )}\n </div>\n </div>\n )\n}\n"]}
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkDDECEP24cjs = require('./chunk-DDECEP24.cjs');
5
+ var _chunkLDS54O26cjs = require('./chunk-LDS54O26.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
- _chunkDDECEP24cjs.Pagination,
55
+ _chunkLDS54O26cjs.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
- _chunkDDECEP24cjs.init_pagination.call(void 0, );
68
+ _chunkLDS54O26cjs.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-QVW4B4YQ.cjs.map
213
+ //# sourceMappingURL=chunk-CN2VQPLX.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/chunk-QVW4B4YQ.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-QVW4B4YQ.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-CN2VQPLX.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-CN2VQPLX.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} "]}
@@ -7,17 +7,58 @@ var _chunkWZW7C7TFcjs = require('./chunk-WZW7C7TF.cjs');
7
7
 
8
8
  var _chunkKI4EGKNVcjs = require('./chunk-KI4EGKNV.cjs');
9
9
 
10
- // src/components/ui/field-wrapper.tsx
10
+ // src/components/ui/label.tsx
11
11
  _chunkKI4EGKNVcjs.init_cn.call(void 0, );
12
- var _react = require('react'); var React = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react); var React5 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React6 = _interopRequireWildcard(_react);
12
+ var _react = require('react'); var React = _interopRequireWildcard(_react); var React2 = _interopRequireWildcard(_react); var React3 = _interopRequireWildcard(_react); var React4 = _interopRequireWildcard(_react); var React6 = _interopRequireWildcard(_react); var React5 = _interopRequireWildcard(_react); var React7 = _interopRequireWildcard(_react);
13
+ var _reactlabel = require('@radix-ui/react-label'); var LabelPrimitive = _interopRequireWildcard(_reactlabel);
14
+ var _classvarianceauthority = require('class-variance-authority');
13
15
  var _jsxruntime = require('react/jsx-runtime');
16
+ var labelVariants = _classvarianceauthority.cva.call(void 0,
17
+ "block text-h6 text-ods-text-primary",
18
+ {
19
+ variants: {
20
+ variant: {
21
+ default: "",
22
+ /** @deprecated alias of `default` — the three small scales converged on text-h6. */
23
+ small: "",
24
+ /** @deprecated alias of `default`. */
25
+ medium: "",
26
+ large: "text-h4"
27
+ },
28
+ spacing: {
29
+ none: "",
30
+ tight: "mb-0.5",
31
+ normal: "mb-2",
32
+ loose: "mb-3"
33
+ }
34
+ },
35
+ defaultVariants: {
36
+ variant: "default",
37
+ spacing: "none"
38
+ }
39
+ }
40
+ );
41
+ var Label = React.forwardRef(({ className, variant, spacing, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
42
+ LabelPrimitive.Root,
43
+ {
44
+ ref,
45
+ className: _chunkKI4EGKNVcjs.cn.call(void 0, labelVariants({ variant, spacing }), className),
46
+ ...props
47
+ }
48
+ ));
49
+ Label.displayName = LabelPrimitive.Root.displayName;
50
+
51
+ // src/components/ui/field-wrapper.tsx
52
+ _chunkKI4EGKNVcjs.init_cn.call(void 0, );
53
+
54
+
14
55
  var errorVariantClasses = {
15
56
  error: "text-ods-error",
16
57
  warning: "text-ods-warning",
17
58
  success: "text-ods-success",
18
59
  muted: "text-ods-text-secondary"
19
60
  };
20
- var FieldWrapper = React.forwardRef(
61
+ var FieldWrapper = React2.forwardRef(
21
62
  ({ label, error, errorVariant = "error", className, children }, ref) => {
22
63
  const hasChrome = label != null || error != null;
23
64
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { ref, className: _chunkKI4EGKNVcjs.cn.call(void 0, hasChrome ? "relative flex w-full flex-col" : "contents", className), children: [
@@ -26,7 +67,7 @@ var FieldWrapper = React.forwardRef(
26
67
  // Field-wrapped controls with `label=`-prop controls showed two label
27
68
  // sizes side by side — the exact inconsistency the admin editors kept
28
69
  // reporting. One label scale, owned here and in Field together.
29
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "label", { className: "text-h6 text-ods-text-primary mb-1", children: label }),
70
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Label, { className: "mb-1", children: label }),
30
71
  children,
31
72
  error && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: _chunkKI4EGKNVcjs.cn.call(void 0, "absolute bottom-0 left-0 right-0 translate-y-full text-h6 truncate", errorVariantClasses[errorVariant]), title: error, children: error })
32
73
  ] });
@@ -43,7 +84,7 @@ var invalidBorderClasses = {
43
84
  error: "border-ods-error hover:border-ods-error has-[:focus]:border-ods-error",
44
85
  warning: "!border-ods-warning hover:!border-ods-warning has-[:focus]:!border-ods-warning"
45
86
  };
46
- var Input = React2.forwardRef(
87
+ var Input = React3.forwardRef(
47
88
  ({ className, type, invalid = false, startAdornment, endAdornment, label, error, errorVariant = "error", loading = false, ...props }, ref) => {
48
89
  const variantIsInvalid = errorVariant === "error" || errorVariant === "warning";
49
90
  const isInvalid = invalid || !!error && variantIsInvalid;
@@ -145,7 +186,7 @@ _chunkKI4EGKNVcjs.init_cn.call(void 0, );
145
186
 
146
187
  var _reactcheckbox = require('@radix-ui/react-checkbox'); var CheckboxPrimitive = _interopRequireWildcard(_reactcheckbox);
147
188
 
148
- var Checkbox = React3.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
189
+ var Checkbox = React4.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
149
190
  CheckboxPrimitive.Root,
150
191
  {
151
192
  ref,
@@ -173,17 +214,17 @@ var _reactdropdownmenu = require('@radix-ui/react-dropdown-menu'); var DropdownM
173
214
 
174
215
  // src/components/ui/portal-container.tsx
175
216
 
176
- var PortalContainerContext = React4.createContext(
217
+ var PortalContainerContext = React5.createContext(
177
218
  null
178
219
  );
179
220
  function usePortalContainer() {
180
- return React4.useContext(PortalContainerContext);
221
+ return React5.useContext(PortalContainerContext);
181
222
  }
182
- var CollisionBoundaryContext = React4.createContext(
223
+ var CollisionBoundaryContext = React5.createContext(
183
224
  null
184
225
  );
185
226
  function useCollisionBoundary() {
186
- return React4.useContext(CollisionBoundaryContext);
227
+ return React5.useContext(CollisionBoundaryContext);
187
228
  }
188
229
  var COLLISION_PADDING_PX = 8;
189
230
 
@@ -195,7 +236,7 @@ var DropdownMenuGroup = DropdownMenuPrimitive.Group;
195
236
  var DropdownMenuPortal = DropdownMenuPrimitive.Portal;
196
237
  var DropdownMenuSub = DropdownMenuPrimitive.Sub;
197
238
  var DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;
198
- var DropdownMenuSubTrigger = React5.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
239
+ var DropdownMenuSubTrigger = React6.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
199
240
  DropdownMenuPrimitive.SubTrigger,
200
241
  {
201
242
  ref,
@@ -212,7 +253,7 @@ var DropdownMenuSubTrigger = React5.forwardRef(({ className, inset, children, ..
212
253
  }
213
254
  ));
214
255
  DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
215
- var DropdownMenuSubContent = React5.forwardRef(({ className, collisionBoundary, collisionPadding, hideWhenDetached, ...props }, ref) => {
256
+ var DropdownMenuSubContent = React6.forwardRef(({ className, collisionBoundary, collisionPadding, hideWhenDetached, ...props }, ref) => {
216
257
  const container = usePortalContainer();
217
258
  const boundary = useCollisionBoundary();
218
259
  const resolvedBoundary = _nullishCoalesce(_nullishCoalesce(collisionBoundary, () => ( boundary)), () => ( void 0));
@@ -232,7 +273,7 @@ var DropdownMenuSubContent = React5.forwardRef(({ className, collisionBoundary,
232
273
  ) });
233
274
  });
234
275
  DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
235
- var DropdownMenuContent = React5.forwardRef(({
276
+ var DropdownMenuContent = React6.forwardRef(({
236
277
  className,
237
278
  sideOffset = 4,
238
279
  collisionBoundary,
@@ -260,7 +301,7 @@ var DropdownMenuContent = React5.forwardRef(({
260
301
  ) });
261
302
  });
262
303
  DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
263
- var DropdownMenuItem = React5.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
304
+ var DropdownMenuItem = React6.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
264
305
  DropdownMenuPrimitive.Item,
265
306
  {
266
307
  ref,
@@ -273,7 +314,7 @@ var DropdownMenuItem = React5.forwardRef(({ className, inset, ...props }, ref) =
273
314
  }
274
315
  ));
275
316
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
276
- var DropdownMenuCheckboxItem = React5.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
317
+ var DropdownMenuCheckboxItem = React6.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
277
318
  DropdownMenuPrimitive.CheckboxItem,
278
319
  {
279
320
  ref,
@@ -290,7 +331,7 @@ var DropdownMenuCheckboxItem = React5.forwardRef(({ className, children, checked
290
331
  }
291
332
  ));
292
333
  DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
293
- var DropdownMenuRadioItem = React5.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
334
+ var DropdownMenuRadioItem = React6.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
294
335
  DropdownMenuPrimitive.RadioItem,
295
336
  {
296
337
  ref,
@@ -306,7 +347,7 @@ var DropdownMenuRadioItem = React5.forwardRef(({ className, children, ...props }
306
347
  }
307
348
  ));
308
349
  DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
309
- var DropdownMenuLabel = React5.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
350
+ var DropdownMenuLabel = React6.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
310
351
  DropdownMenuPrimitive.Label,
311
352
  {
312
353
  ref,
@@ -319,7 +360,7 @@ var DropdownMenuLabel = React5.forwardRef(({ className, inset, ...props }, ref)
319
360
  }
320
361
  ));
321
362
  DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
322
- var DropdownMenuSeparator = React5.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
363
+ var DropdownMenuSeparator = React6.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
323
364
  DropdownMenuPrimitive.Separator,
324
365
  {
325
366
  ref,
@@ -346,7 +387,7 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
346
387
  _chunkKI4EGKNVcjs.init_cn.call(void 0, );
347
388
 
348
389
 
349
- var Skeleton = React6.forwardRef(
390
+ var Skeleton = React7.forwardRef(
350
391
  ({ className, ...props }, ref) => {
351
392
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
352
393
  "div",
@@ -362,7 +403,7 @@ var Skeleton = React6.forwardRef(
362
403
  }
363
404
  );
364
405
  Skeleton.displayName = "Skeleton";
365
- var SkeletonText = React6.forwardRef(
406
+ var SkeletonText = React7.forwardRef(
366
407
  ({ lines = 1, className, ...props }, ref) => {
367
408
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkKI4EGKNVcjs.cn.call(void 0, "space-y-2", className), ...props, children: Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
368
409
  Skeleton,
@@ -378,7 +419,7 @@ var SkeletonText = React6.forwardRef(
378
419
  }
379
420
  );
380
421
  SkeletonText.displayName = "SkeletonText";
381
- var SkeletonCard = React6.forwardRef(
422
+ var SkeletonCard = React7.forwardRef(
382
423
  ({ showImage = false, className, ...props }, ref) => {
383
424
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
384
425
  "div",
@@ -401,7 +442,7 @@ var SkeletonCard = React6.forwardRef(
401
442
  }
402
443
  );
403
444
  SkeletonCard.displayName = "SkeletonCard";
404
- var SkeletonGrid = React6.forwardRef(
445
+ var SkeletonGrid = React7.forwardRef(
405
446
  ({ columns = 3, items = 6, showImages = false, className, ...props }, ref) => {
406
447
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
407
448
  "div",
@@ -421,7 +462,7 @@ var SkeletonGrid = React6.forwardRef(
421
462
  }
422
463
  );
423
464
  SkeletonGrid.displayName = "SkeletonGrid";
424
- var SkeletonButton = React6.forwardRef(
465
+ var SkeletonButton = React7.forwardRef(
425
466
  ({ size = "default", className, ...props }, ref) => {
426
467
  const sizeClasses = {
427
468
  sm: "h-8 w-20",
@@ -443,7 +484,7 @@ var SkeletonButton = React6.forwardRef(
443
484
  }
444
485
  );
445
486
  SkeletonButton.displayName = "SkeletonButton";
446
- var SkeletonHeading = React6.forwardRef(
487
+ var SkeletonHeading = React7.forwardRef(
447
488
  ({ level = 1, className, ...props }, ref) => {
448
489
  const heightClasses = {
449
490
  1: "h-12",
@@ -468,7 +509,7 @@ var SkeletonHeading = React6.forwardRef(
468
509
  }
469
510
  );
470
511
  SkeletonHeading.displayName = "SkeletonHeading";
471
- var SkeletonList = React6.forwardRef(
512
+ var SkeletonList = React7.forwardRef(
472
513
  ({ items = 5, className, ...props }, ref) => {
473
514
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkKI4EGKNVcjs.cn.call(void 0, "space-y-3", className), ...props, children: Array.from({ length: items }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-3", children: [
474
515
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Skeleton, { className: "h-10 w-10 rounded-full flex-shrink-0" }),
@@ -480,7 +521,7 @@ var SkeletonList = React6.forwardRef(
480
521
  }
481
522
  );
482
523
  SkeletonList.displayName = "SkeletonList";
483
- var SkeletonNavigation = React6.forwardRef(
524
+ var SkeletonNavigation = React7.forwardRef(
484
525
  ({ items = 6, className, ...props }, ref) => {
485
526
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, className: _chunkKI4EGKNVcjs.cn.call(void 0, "flex items-center gap-6", className), ...props, children: Array.from({ length: items }).map((_, i) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Skeleton, { className: "h-5 w-20" }, i)) });
486
527
  }
@@ -519,5 +560,6 @@ SkeletonNavigation.displayName = "SkeletonNavigation";
519
560
 
520
561
 
521
562
 
522
- exports.FieldWrapper = FieldWrapper; exports.Input = Input; exports.Checkbox = Checkbox; exports.PortalContainerContext = PortalContainerContext; exports.usePortalContainer = usePortalContainer; exports.CollisionBoundaryContext = CollisionBoundaryContext; exports.useCollisionBoundary = useCollisionBoundary; exports.COLLISION_PADDING_PX = COLLISION_PADDING_PX; exports.DropdownMenu = DropdownMenu; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuPortal = DropdownMenuPortal; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut; exports.Skeleton = Skeleton; exports.SkeletonText = SkeletonText; exports.SkeletonCard = SkeletonCard; exports.SkeletonGrid = SkeletonGrid; exports.SkeletonButton = SkeletonButton; exports.SkeletonHeading = SkeletonHeading; exports.SkeletonList = SkeletonList; exports.SkeletonNavigation = SkeletonNavigation;
523
- //# sourceMappingURL=chunk-KGMOXLYO.cjs.map
563
+
564
+ exports.Label = Label; exports.FieldWrapper = FieldWrapper; exports.Input = Input; exports.Checkbox = Checkbox; exports.PortalContainerContext = PortalContainerContext; exports.usePortalContainer = usePortalContainer; exports.CollisionBoundaryContext = CollisionBoundaryContext; exports.useCollisionBoundary = useCollisionBoundary; exports.COLLISION_PADDING_PX = COLLISION_PADDING_PX; exports.DropdownMenu = DropdownMenu; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuPortal = DropdownMenuPortal; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut; exports.Skeleton = Skeleton; exports.SkeletonText = SkeletonText; exports.SkeletonCard = SkeletonCard; exports.SkeletonGrid = SkeletonGrid; exports.SkeletonButton = SkeletonButton; exports.SkeletonHeading = SkeletonHeading; exports.SkeletonList = SkeletonList; exports.SkeletonNavigation = SkeletonNavigation;
565
+ //# sourceMappingURL=chunk-DCB4EBA5.cjs.map