@solidxai/core-ui 0.1.14 → 0.1.15-beta.0

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 (180) hide show
  1. package/dist/components/auth/AuthLayout.js +1 -1
  2. package/dist/components/auth/AuthLayout.js.map +1 -1
  3. package/dist/components/auth/AuthLayout.tsx +2 -2
  4. package/dist/components/common/DropzonePlaceholder.d.ts +2 -1
  5. package/dist/components/common/DropzonePlaceholder.d.ts.map +1 -1
  6. package/dist/components/common/DropzonePlaceholder.js +10 -7
  7. package/dist/components/common/DropzonePlaceholder.js.map +1 -1
  8. package/dist/components/common/DropzonePlaceholder.tsx +14 -9
  9. package/dist/components/common/SettingsComponent.module.css +4 -1
  10. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  11. package/dist/components/common/SolidFormStepper.js +7 -6
  12. package/dist/components/common/SolidFormStepper.js.map +1 -1
  13. package/dist/components/common/SolidFormStepper.tsx +7 -1
  14. package/dist/components/common/SolidThemeProvider.d.ts.map +1 -1
  15. package/dist/components/common/SolidThemeProvider.js +127 -11
  16. package/dist/components/common/SolidThemeProvider.js.map +1 -1
  17. package/dist/components/common/SolidThemeProvider.tsx +104 -22
  18. package/dist/components/core/card/CardGrid.d.ts +1 -1
  19. package/dist/components/core/card/CardGrid.d.ts.map +1 -1
  20. package/dist/components/core/card/CardGrid.js +2 -2
  21. package/dist/components/core/card/CardGrid.js.map +1 -1
  22. package/dist/components/core/card/CardGrid.tsx +4 -0
  23. package/dist/components/core/card/CardItem.d.ts +2 -0
  24. package/dist/components/core/card/CardItem.d.ts.map +1 -1
  25. package/dist/components/core/card/CardItem.js +5 -4
  26. package/dist/components/core/card/CardItem.js.map +1 -1
  27. package/dist/components/core/card/CardItem.tsx +16 -1
  28. package/dist/components/core/card/SolidCardView.d.ts +28 -1
  29. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  30. package/dist/components/core/card/SolidCardView.js +99 -44
  31. package/dist/components/core/card/SolidCardView.js.map +1 -1
  32. package/dist/components/core/card/SolidCardView.tsx +119 -7
  33. package/dist/components/core/card/SolidCardViewConfigure.d.ts +1 -1
  34. package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
  35. package/dist/components/core/card/SolidCardViewConfigure.js +15 -6
  36. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  37. package/dist/components/core/card/SolidCardViewConfigure.tsx +34 -0
  38. package/dist/components/core/common/PDFViewer.d.ts +9 -5
  39. package/dist/components/core/common/PDFViewer.d.ts.map +1 -1
  40. package/dist/components/core/common/PDFViewer.js +10 -102
  41. package/dist/components/core/common/PDFViewer.js.map +1 -1
  42. package/dist/components/core/common/PDFViewer.tsx +29 -88
  43. package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
  44. package/dist/components/core/common/SolidCreateButton.js +2 -2
  45. package/dist/components/core/common/SolidCreateButton.js.map +1 -1
  46. package/dist/components/core/common/SolidCreateButton.tsx +22 -2
  47. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  48. package/dist/components/core/common/SolidGlobalSearchElement.js +216 -198
  49. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  50. package/dist/components/core/common/SolidGlobalSearchElement.tsx +287 -216
  51. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  52. package/dist/components/core/form/SolidFormActionHeader.js +21 -21
  53. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  54. package/dist/components/core/form/SolidFormActionHeader.tsx +62 -53
  55. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  56. package/dist/components/core/form/SolidFormView.js +101 -74
  57. package/dist/components/core/form/SolidFormView.js.map +1 -1
  58. package/dist/components/core/form/SolidFormView.tsx +46 -19
  59. package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
  60. package/dist/components/core/form/fields/SolidMediaMultipleField.js +3 -2
  61. package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
  62. package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +3 -1
  63. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  64. package/dist/components/core/form/fields/SolidMediaSingleField.js +3 -2
  65. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  66. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +3 -1
  67. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts +1 -0
  68. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  69. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +20 -2
  70. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  71. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +29 -2
  72. package/dist/components/core/form/fields/solidFields.module.css +7 -0
  73. package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
  74. package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
  75. package/dist/components/core/kanban/KanbanBoard.js +2 -2
  76. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  77. package/dist/components/core/kanban/KanbanBoard.tsx +3 -1
  78. package/dist/components/core/kanban/KanbanCard.d.ts +2 -0
  79. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  80. package/dist/components/core/kanban/KanbanCard.js +5 -3
  81. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  82. package/dist/components/core/kanban/KanbanCard.tsx +15 -2
  83. package/dist/components/core/kanban/KanbanColumn.d.ts +3 -1
  84. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  85. package/dist/components/core/kanban/KanbanColumn.js +2 -2
  86. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  87. package/dist/components/core/kanban/KanbanColumn.tsx +4 -2
  88. package/dist/components/core/kanban/SolidKanbanView.d.ts +25 -1
  89. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  90. package/dist/components/core/kanban/SolidKanbanView.js +95 -50
  91. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  92. package/dist/components/core/kanban/SolidKanbanView.tsx +87 -9
  93. package/dist/components/core/list/PLAN.md +1 -1
  94. package/dist/components/core/list/SolidListView.d.ts +11 -0
  95. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  96. package/dist/components/core/list/SolidListView.js +51 -90
  97. package/dist/components/core/list/SolidListView.js.map +1 -1
  98. package/dist/components/core/list/SolidListView.tsx +77 -112
  99. package/dist/components/core/list/SolidListViewColumn.d.ts +2 -1
  100. package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
  101. package/dist/components/core/list/SolidListViewColumn.js +2 -2
  102. package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
  103. package/dist/components/core/list/SolidListViewColumn.tsx +4 -3
  104. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  105. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  106. package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
  107. package/dist/components/core/list/columns/SolidRelationColumn.d.ts +1 -1
  108. package/dist/components/core/list/columns/SolidRelationColumn.d.ts.map +1 -1
  109. package/dist/components/core/list/columns/SolidRelationColumn.js +2 -2
  110. package/dist/components/core/list/columns/SolidRelationColumn.js.map +1 -1
  111. package/dist/components/core/list/columns/SolidRelationColumn.tsx +2 -2
  112. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts +2 -2
  113. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
  114. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +5 -4
  115. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  116. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +5 -4
  117. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  118. package/dist/components/core/model/CreateModel.js +2 -1
  119. package/dist/components/core/model/CreateModel.js.map +1 -1
  120. package/dist/components/core/model/CreateModel.tsx +2 -0
  121. package/dist/components/core/model/FieldMetaData.d.ts +1 -1
  122. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  123. package/dist/components/core/model/FieldMetaData.js +8 -8
  124. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  125. package/dist/components/core/model/FieldMetaData.tsx +2 -2
  126. package/dist/components/core/model/FieldMetaDataForm.css +119 -0
  127. package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
  128. package/dist/components/core/model/FieldMetaDataForm.js +147 -97
  129. package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
  130. package/dist/components/core/model/FieldMetaDataForm.tsx +124 -32
  131. package/dist/components/core/module/ModuleMetadataExplorer.css +64 -0
  132. package/dist/components/core/module/ModulePackageDialog.css +117 -12
  133. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  134. package/dist/components/core/tree/SolidTreeView.js +6 -3
  135. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  136. package/dist/components/core/tree/SolidTreeView.tsx +27 -13
  137. package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -1
  138. package/dist/components/layout/AdminHeaderActions.js +16 -11
  139. package/dist/components/layout/AdminHeaderActions.js.map +1 -1
  140. package/dist/components/layout/AdminHeaderActions.tsx +16 -9
  141. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  142. package/dist/components/layout/AdminTopHeader.js +1 -18
  143. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  144. package/dist/components/layout/AdminTopHeader.tsx +3 -21
  145. package/dist/helpers/getAcceptedFileTypes.d.ts +12 -2
  146. package/dist/helpers/getAcceptedFileTypes.d.ts.map +1 -1
  147. package/dist/helpers/getAcceptedFileTypes.js +72 -16
  148. package/dist/helpers/getAcceptedFileTypes.js.map +1 -1
  149. package/dist/helpers/getAcceptedFileTypes.tsx +101 -18
  150. package/dist/helpers/registry.js +2 -1
  151. package/dist/helpers/registry.js.map +1 -1
  152. package/dist/helpers/registry.ts +3 -1
  153. package/dist/index.d.ts +6 -1
  154. package/dist/index.d.ts.map +1 -1
  155. package/dist/index.js +3 -0
  156. package/dist/index.js.map +1 -1
  157. package/dist/index.ts +6 -2
  158. package/dist/resources/globals.css +274 -109
  159. package/dist/resources/solid-custom.css +11 -0
  160. package/dist/resources/solid-responsive.css +1 -5
  161. package/dist/resources/solid-tailwind-generated.css +1 -1
  162. package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -1
  163. package/dist/routes/pages/admin/core/CardPage.js +15 -2
  164. package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
  165. package/dist/routes/pages/admin/core/CardPage.tsx +17 -2
  166. package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
  167. package/dist/routes/pages/admin/core/DashboardPage.js +31 -3
  168. package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
  169. package/dist/routes/pages/admin/core/DashboardPage.tsx +39 -11
  170. package/dist/routes/pages/admin/core/KanbanPage.d.ts.map +1 -1
  171. package/dist/routes/pages/admin/core/KanbanPage.js +15 -2
  172. package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
  173. package/dist/routes/pages/admin/core/KanbanPage.tsx +17 -2
  174. package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
  175. package/dist/routes/pages/admin/core/ListPage.js +5 -13
  176. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  177. package/dist/routes/pages/admin/core/ListPage.tsx +5 -15
  178. package/dist/types/index.d.ts +2 -4
  179. package/dist/types/solid-core.d.ts +12 -13
  180. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PDFViewer.js","sourceRoot":"","sources":["../../../../src/components/core/common/PDFViewer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { SolidButton } from '../../shad-cn-ui/SolidButton';\nimport { SolidIcon } from '../../shad-cn-ui/SolidIcon';\n\nexport interface PDFViewerProps {\n url?: string | null;\n /** Height of the viewport the PDF renders into. */\n height?: string;\n}\n\n/**\n * Renders a PDF using the browser's built-in PDF viewer.\n *\n * The signed URL is fetched into a blob first, which both keeps any auth on the\n * request and guarantees inline rendering regardless of the `Content-Disposition`\n * the storage provider sends back. Everything else — zoom, rotation, page\n * navigation, text search/selection, print, download — is handled natively by\n * the browser, so there is no pdf.js worker to configure or version-match.\n */\nexport default function PDFViewer({ url, height = '70vh' }: PDFViewerProps) {\n const [blobUrl, setBlobUrl] = useState<string | null>(null);\n const [error, setError] = useState<string | null>(null);\n const [reloadToken, setReloadToken] = useState(0);\n const blobUrlRef = useRef<string | null>(null);\n\n useEffect(() => {\n if (!url) return;\n\n const controller = new AbortController();\n setError(null);\n setBlobUrl(null);\n\n fetch(url, { signal: controller.signal })\n .then(async (res) => {\n if (!res.ok) throw new Error(`Request failed with ${res.status}`);\n\n const contentType = res.headers.get('content-type') ?? '';\n if (contentType && !contentType.includes('pdf') && !contentType.includes('octet-stream')) {\n throw new Error(`Unexpected content type: ${contentType}`);\n }\n\n const blob = await res.blob();\n const nextBlobUrl = URL.createObjectURL(blob);\n\n // Revoke the URL this one replaces so repeated previews don't leak.\n if (blobUrlRef.current) URL.revokeObjectURL(blobUrlRef.current);\n blobUrlRef.current = nextBlobUrl;\n\n setBlobUrl(nextBlobUrl);\n })\n .catch((err) => {\n if (controller.signal.aborted) return;\n console.error('PDF load error:', err);\n setError('Failed to load PDF');\n });\n\n return () => controller.abort();\n }, [url, reloadToken]);\n\n useEffect(() => {\n return () => {\n if (blobUrlRef.current) URL.revokeObjectURL(blobUrlRef.current);\n };\n }, []);\n\n if (!url) {\n return (\n <div\n className=\"flex min-h-0 items-center justify-center rounded-lg bg-[var(--solid-surface-pane)]\"\n style={{ height }}\n >\n <p className=\"text-[var(--solid-text-muted)]\">No PDF URL provided</p>\n </div>\n );\n }\n\n if (error) {\n return (\n <div\n className=\"flex min-h-0 flex-col items-center justify-center gap-4 rounded-lg bg-[var(--solid-danger-soft)]\"\n style={{ height }}\n >\n <p className=\"text-[var(--solid-danger)]\">{error}</p>\n <SolidButton\n onClick={() => setReloadToken((t) => t + 1)}\n leftIcon={<SolidIcon name=\"si-refresh\" size={16} aria-hidden />}\n >\n Retry\n </SolidButton>\n </div>\n );\n }\n\n if (!blobUrl) {\n return (\n <div\n className=\"flex min-h-0 items-center justify-center rounded-lg bg-[var(--solid-surface-pane)]\"\n style={{ height }}\n >\n <p className=\"text-[var(--solid-text-secondary)]\">Loading PDF...</p>\n </div>\n );\n }\n\n return (\n <iframe\n src={blobUrl}\n title=\"PDF preview\"\n className=\"block min-h-0 w-full rounded-lg border border-[var(--solid-border-default)] bg-[var(--solid-surface-pane)]\"\n style={{ height }}\n />\n );\n}\n"]}
1
+ {"version":3,"file":"PDFViewer.js","sourceRoot":"","sources":["../../../../src/components/core/common/PDFViewer.tsx"],"names":[],"mappings":";AAMA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAwC;QAAtC,GAAG,SAAA,EAAE,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAA;IACpD,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,CACH,cACI,SAAS,EAAC,oFAAoF,EAC9F,KAAK,EAAE,EAAE,MAAM,QAAA,EAAE,YAEjB,YAAG,SAAS,EAAC,gCAAgC,oCAAwB,GACnE,CACT,CAAC;KACL;IAED,OAAO,CACH,eAAK,SAAS,EAAC,6BAA6B,EAAC,KAAK,EAAE,EAAE,MAAM,QAAA,EAAE,aAC1D,iBACI,GAAG,EAAE,GAAG,EACR,KAAK,EAAC,aAAa,EACnB,SAAS,EAAC,mHAAmH,GAC/H,EAMF,YACI,IAAI,EAAE,GAAG,EACT,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,uEAAuE,iDAGjF,IACF,CACT,CAAC;AACN,CAAC","sourcesContent":["export interface PDFViewerProps {\n url?: string | null;\n /** Height of the viewport the PDF renders into. */\n height?: string;\n}\n\n/**\n * Renders a PDF using the browser's built-in PDF viewer.\n *\n * The signed URL is handed straight to the iframe instead of being fetched into a\n * blob first. `fetch` is subject to CORS, so a blob-based viewer only works where\n * the storage bucket explicitly allows the app's origin — which differs per\n * environment and silently breaks on any bucket that hasn't been configured.\n * Iframes are not subject to CORS, so this renders identically everywhere.\n *\n * Zoom, rotation, page navigation, text search/selection, print and download all\n * come from the browser's native viewer, so there is no pdf.js worker to\n * configure or version-match.\n */\nexport default function PDFViewer({ url, height = '70vh' }: PDFViewerProps) {\n if (!url) {\n return (\n <div\n className=\"flex min-h-0 items-center justify-center rounded-lg bg-[var(--solid-surface-pane)]\"\n style={{ height }}\n >\n <p className=\"text-[var(--solid-text-muted)]\">No PDF URL provided</p>\n </div>\n );\n }\n\n return (\n <div className=\"flex min-h-0 flex-col gap-2\" style={{ height }}>\n <iframe\n src={url}\n title=\"PDF preview\"\n className=\"block min-h-0 w-full flex-1 rounded-lg border border-[var(--solid-border-default)] bg-[var(--solid-surface-pane)]\"\n />\n {/*\n Escape hatch: a browser that won't render PDFs inline (iOS Safari, or\n an object stored with a non-PDF content type) shows a blank frame with\n no error event to hook. This keeps the document reachable in that case.\n */}\n <a\n href={url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"shrink-0 text-center text-xs text-[var(--solid-text-muted)] underline\"\n >\n Not rendering? Open in a new tab\n </a>\n </div>\n );\n}\n"]}
@@ -1,7 +1,3 @@
1
- import { useEffect, useRef, useState } from 'react';
2
- import { SolidButton } from '../../shad-cn-ui/SolidButton';
3
- import { SolidIcon } from '../../shad-cn-ui/SolidIcon';
4
-
5
1
  export interface PDFViewerProps {
6
2
  url?: string | null;
7
3
  /** Height of the viewport the PDF renders into. */
@@ -11,58 +7,17 @@ export interface PDFViewerProps {
11
7
  /**
12
8
  * Renders a PDF using the browser's built-in PDF viewer.
13
9
  *
14
- * The signed URL is fetched into a blob first, which both keeps any auth on the
15
- * request and guarantees inline rendering regardless of the `Content-Disposition`
16
- * the storage provider sends back. Everything else — zoom, rotation, page
17
- * navigation, text search/selection, print, download — is handled natively by
18
- * the browser, so there is no pdf.js worker to configure or version-match.
10
+ * The signed URL is handed straight to the iframe instead of being fetched into a
11
+ * blob first. `fetch` is subject to CORS, so a blob-based viewer only works where
12
+ * the storage bucket explicitly allows the app's origin — which differs per
13
+ * environment and silently breaks on any bucket that hasn't been configured.
14
+ * Iframes are not subject to CORS, so this renders identically everywhere.
15
+ *
16
+ * Zoom, rotation, page navigation, text search/selection, print and download all
17
+ * come from the browser's native viewer, so there is no pdf.js worker to
18
+ * configure or version-match.
19
19
  */
20
20
  export default function PDFViewer({ url, height = '70vh' }: PDFViewerProps) {
21
- const [blobUrl, setBlobUrl] = useState<string | null>(null);
22
- const [error, setError] = useState<string | null>(null);
23
- const [reloadToken, setReloadToken] = useState(0);
24
- const blobUrlRef = useRef<string | null>(null);
25
-
26
- useEffect(() => {
27
- if (!url) return;
28
-
29
- const controller = new AbortController();
30
- setError(null);
31
- setBlobUrl(null);
32
-
33
- fetch(url, { signal: controller.signal })
34
- .then(async (res) => {
35
- if (!res.ok) throw new Error(`Request failed with ${res.status}`);
36
-
37
- const contentType = res.headers.get('content-type') ?? '';
38
- if (contentType && !contentType.includes('pdf') && !contentType.includes('octet-stream')) {
39
- throw new Error(`Unexpected content type: ${contentType}`);
40
- }
41
-
42
- const blob = await res.blob();
43
- const nextBlobUrl = URL.createObjectURL(blob);
44
-
45
- // Revoke the URL this one replaces so repeated previews don't leak.
46
- if (blobUrlRef.current) URL.revokeObjectURL(blobUrlRef.current);
47
- blobUrlRef.current = nextBlobUrl;
48
-
49
- setBlobUrl(nextBlobUrl);
50
- })
51
- .catch((err) => {
52
- if (controller.signal.aborted) return;
53
- console.error('PDF load error:', err);
54
- setError('Failed to load PDF');
55
- });
56
-
57
- return () => controller.abort();
58
- }, [url, reloadToken]);
59
-
60
- useEffect(() => {
61
- return () => {
62
- if (blobUrlRef.current) URL.revokeObjectURL(blobUrlRef.current);
63
- };
64
- }, []);
65
-
66
21
  if (!url) {
67
22
  return (
68
23
  <div
@@ -74,40 +29,26 @@ export default function PDFViewer({ url, height = '70vh' }: PDFViewerProps) {
74
29
  );
75
30
  }
76
31
 
77
- if (error) {
78
- return (
79
- <div
80
- className="flex min-h-0 flex-col items-center justify-center gap-4 rounded-lg bg-[var(--solid-danger-soft)]"
81
- style={{ height }}
82
- >
83
- <p className="text-[var(--solid-danger)]">{error}</p>
84
- <SolidButton
85
- onClick={() => setReloadToken((t) => t + 1)}
86
- leftIcon={<SolidIcon name="si-refresh" size={16} aria-hidden />}
87
- >
88
- Retry
89
- </SolidButton>
90
- </div>
91
- );
92
- }
93
-
94
- if (!blobUrl) {
95
- return (
96
- <div
97
- className="flex min-h-0 items-center justify-center rounded-lg bg-[var(--solid-surface-pane)]"
98
- style={{ height }}
99
- >
100
- <p className="text-[var(--solid-text-secondary)]">Loading PDF...</p>
101
- </div>
102
- );
103
- }
104
-
105
32
  return (
106
- <iframe
107
- src={blobUrl}
108
- title="PDF preview"
109
- className="block min-h-0 w-full rounded-lg border border-[var(--solid-border-default)] bg-[var(--solid-surface-pane)]"
110
- style={{ height }}
111
- />
33
+ <div className="flex min-h-0 flex-col gap-2" style={{ height }}>
34
+ <iframe
35
+ src={url}
36
+ title="PDF preview"
37
+ className="block min-h-0 w-full flex-1 rounded-lg border border-[var(--solid-border-default)] bg-[var(--solid-surface-pane)]"
38
+ />
39
+ {/*
40
+ Escape hatch: a browser that won't render PDFs inline (iOS Safari, or
41
+ an object stored with a non-PDF content type) shows a blank frame with
42
+ no error event to hook. This keeps the document reachable in that case.
43
+ */}
44
+ <a
45
+ href={url}
46
+ target="_blank"
47
+ rel="noopener noreferrer"
48
+ className="shrink-0 text-center text-xs text-[var(--solid-text-muted)] underline"
49
+ >
50
+ Not rendering? Open in a new tab
51
+ </a>
52
+ </div>
112
53
  );
113
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolidCreateButton.d.ts","sourceRoot":"","sources":["../../../../src/components/core/common/SolidCreateButton.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,iBAAiB,0FAAmG,GAAG,4CA6DnI,CAAC"}
1
+ {"version":3,"file":"SolidCreateButton.d.ts","sourceRoot":"","sources":["../../../../src/components/core/common/SolidCreateButton.tsx"],"names":[],"mappings":"AAOA,eAAO,MAAM,iBAAiB,0FAAmG,GAAG,4CAiFnI,CAAC"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import Link from "../../common/Link";
3
3
  import { usePathname } from "../../../hooks/usePathname";
4
4
  import { normalizeSolidListTreeKanbanActionPath } from "../../../helpers/routePaths";
@@ -25,6 +25,6 @@ export var SolidCreateButton = function (_a) {
25
25
  var label = ((_c = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _c === void 0 ? void 0 : _c.addButtonTitle) || "Add";
26
26
  var className = ((_d = solidListViewLayout === null || solidListViewLayout === void 0 ? void 0 : solidListViewLayout.attrs) === null || _d === void 0 ? void 0 : _d.addButtonClassName) || "";
27
27
  var defaultIcon = _jsx(Plus, { size: 14 });
28
- return (_jsx("div", { children: _jsx(Link, { href: createPath, onClick: storeCurrentViewContext, children: responsiveIconOnly ? (_jsxs(_Fragment, { children: [_jsx(SolidButton, { type: "button", icon: icon, leftIcon: !icon ? defaultIcon : undefined, className: "".concat(className, " lg:hidden solid-icon-button "), size: 'sm' }), _jsx(SolidButton, { type: "button", icon: icon, leftIcon: !icon ? defaultIcon : undefined, className: "".concat(className, " hidden lg:inline-flex"), size: 'sm', children: label })] })) : (_jsx(SolidButton, { type: "button", icon: icon, leftIcon: !icon ? defaultIcon : undefined, className: "".concat(className), size: 'sm', children: label })) }) }));
28
+ return (_jsx("div", { children: _jsxs(Link, { href: createPath, onClick: storeCurrentViewContext, children: [_jsx(SolidButton, { type: "button", icon: icon, leftIcon: !icon ? defaultIcon : undefined, className: "".concat(className, " max-[576px]:hidden sm:hidden lg:flex"), size: 'sm', children: label }), _jsx(SolidButton, { type: "button", icon: icon, leftIcon: !icon ? defaultIcon : undefined, className: "".concat(className, " lg:hidden solid-icon-button "), size: 'sm' })] }) }));
29
29
  };
30
30
  //# sourceMappingURL=SolidCreateButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidCreateButton.js","sourceRoot":"","sources":["../../../../src/components/core/common/SolidCreateButton.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,EAAkG;;QAAhG,eAAe,qBAAA,EAAE,uBAAuB,6BAAA,EAAE,mBAAmB,yBAAA,EAAE,0BAA0B,EAA1B,kBAAkB,mBAAG,KAAK,KAAA;IACzH,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,IAAM,iBAAiB,GAAG;QACtB,IAAI,eAAe,EAAE;YACjB,IAAM,aAAa,GAAG,sCAAsC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACxF,IAAM,KAAK,GAAG,IAAI,eAAe,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE,CAAC;YACtE,OAAO,KAAK,CAAC,CAAC,CAAC,UAAG,aAAa,cAAI,KAAK,CAAE,CAAC,CAAC,CAAC,aAAa,CAAC;SAC9D;QAED,OAAO,UAAG,sCAAsC,CAAC,QAAQ,EAAE,MAAM,CAAC,uBAAoB,CAAC;IAC3F,CAAC,CAAC;IAEF,IAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,IAAM,uBAAuB,GAAG;QAC5B,4BAA4B,EAAE,CAAC;IACnC,CAAC,CAAC;IAEF,IAAM,IAAI,GAAG,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,aAAa,CAAC;IACvD,IAAM,KAAK,GAAG,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,cAAc,KAAI,KAAK,CAAC;IAClE,IAAM,SAAS,GAAG,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,kBAAkB,KAAI,EAAE,CAAC;IACvE,IAAM,WAAW,GAAG,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC;IAEvC,OAAO,CACH,wBACI,KAAC,IAAI,IAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,uBAAuB,YACnD,kBAAkB,CAAC,CAAC,CAAC,CAClB,8BACI,KAAC,WAAW,IACR,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACzC,SAAS,EAAE,UAAG,SAAS,kCAA+B,EACtD,IAAI,EAAC,IAAI,GACX,EAEF,KAAC,WAAW,IACR,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACzC,SAAS,EAAE,UAAG,SAAS,2BAAwB,EAC/C,IAAI,EAAC,IAAI,YAER,KAAK,GACI,IACf,CACN,CAAC,CAAC,CAAC,CACA,KAAC,WAAW,IACR,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACzC,SAAS,EAAE,UAAG,SAAS,CAAE,EACzB,IAAI,EAAC,IAAI,YAER,KAAK,GACI,CACjB,GAEE,GACL,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import Link from \"../../common/Link\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { normalizeSolidListTreeKanbanActionPath } from \"../../../helpers/routePaths\";\nimport { storeCurrentModelViewContext } from \"../../../helpers/modelViewPersistence\";\nimport { SolidButton } from \"../../shad-cn-ui\";\nimport { Plus } from \"lucide-react\";\n\nexport const SolidCreateButton = ({ createButtonUrl, createActionQueryParams, solidListViewLayout, responsiveIconOnly = false }: any) => {\n const pathName = usePathname();\n\n const resolveCreatePath = () => {\n if (createButtonUrl) {\n const normalizedUrl = normalizeSolidListTreeKanbanActionPath(pathName, createButtonUrl);\n const query = new URLSearchParams(createActionQueryParams).toString();\n return query ? `${normalizedUrl}?${query}` : normalizedUrl;\n }\n\n return `${normalizeSolidListTreeKanbanActionPath(pathName, \"form\")}/new?viewMode=edit`;\n };\n\n const createPath = resolveCreatePath();\n const storeCurrentViewContext = () => {\n storeCurrentModelViewContext();\n };\n\n const icon = solidListViewLayout?.attrs?.addButtonIcon;\n const label = solidListViewLayout?.attrs?.addButtonTitle || \"Add\";\n const className = solidListViewLayout?.attrs?.addButtonClassName || \"\";\n const defaultIcon = <Plus size={14} />;\n\n return (\n <div>\n <Link href={createPath} onClick={storeCurrentViewContext}>\n {responsiveIconOnly ? (\n <>\n <SolidButton\n type=\"button\"\n icon={icon}\n leftIcon={!icon ? defaultIcon : undefined}\n className={`${className} lg:hidden solid-icon-button `}\n size='sm'\n />\n\n <SolidButton\n type=\"button\"\n icon={icon}\n leftIcon={!icon ? defaultIcon : undefined}\n className={`${className} hidden lg:inline-flex`}\n size='sm'\n >\n {label}\n </SolidButton>\n </>\n ) : (\n <SolidButton\n type=\"button\"\n icon={icon}\n leftIcon={!icon ? defaultIcon : undefined}\n className={`${className}`}\n size='sm'\n >\n {label}\n </SolidButton>\n )}\n\n </Link>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"SolidCreateButton.js","sourceRoot":"","sources":["../../../../src/components/core/common/SolidCreateButton.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,sCAAsC,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,EAAkG;;QAAhG,eAAe,qBAAA,EAAE,uBAAuB,6BAAA,EAAE,mBAAmB,yBAAA,EAAE,0BAA0B,EAA1B,kBAAkB,mBAAG,KAAK,KAAA;IACzH,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,IAAM,iBAAiB,GAAG;QACtB,IAAI,eAAe,EAAE;YACjB,IAAM,aAAa,GAAG,sCAAsC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACxF,IAAM,KAAK,GAAG,IAAI,eAAe,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE,CAAC;YACtE,OAAO,KAAK,CAAC,CAAC,CAAC,UAAG,aAAa,cAAI,KAAK,CAAE,CAAC,CAAC,CAAC,aAAa,CAAC;SAC9D;QAED,OAAO,UAAG,sCAAsC,CAAC,QAAQ,EAAE,MAAM,CAAC,uBAAoB,CAAC;IAC3F,CAAC,CAAC;IAEF,IAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,IAAM,uBAAuB,GAAG;QAC5B,4BAA4B,EAAE,CAAC;IACnC,CAAC,CAAC;IAEF,IAAM,IAAI,GAAG,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,aAAa,CAAC;IACvD,IAAM,KAAK,GAAG,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,cAAc,KAAI,KAAK,CAAC;IAClE,IAAM,SAAS,GAAG,CAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,kBAAkB,KAAI,EAAE,CAAC;IACvE,IAAM,WAAW,GAAG,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,CAAC;IAEvC,OAAO,CACH,wBACI,MAAC,IAAI,IAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,uBAAuB,aAEpD,KAAC,WAAW,IACR,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACzC,SAAS,EAAE,UAAG,SAAS,0CAAuC,EAC9D,IAAI,EAAC,IAAI,YAER,KAAK,GACI,EAGd,KAAC,WAAW,IACR,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACzC,SAAS,EAAE,UAAG,SAAS,kCAA+B,EACtD,IAAI,EAAC,IAAI,GACX,IAkCC,GACL,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import Link from \"../../common/Link\";\nimport { usePathname } from \"../../../hooks/usePathname\";\nimport { normalizeSolidListTreeKanbanActionPath } from \"../../../helpers/routePaths\";\nimport { storeCurrentModelViewContext } from \"../../../helpers/modelViewPersistence\";\nimport { SolidButton } from \"../../shad-cn-ui\";\nimport { Plus } from \"lucide-react\";\n\nexport const SolidCreateButton = ({ createButtonUrl, createActionQueryParams, solidListViewLayout, responsiveIconOnly = false }: any) => {\n const pathName = usePathname();\n\n const resolveCreatePath = () => {\n if (createButtonUrl) {\n const normalizedUrl = normalizeSolidListTreeKanbanActionPath(pathName, createButtonUrl);\n const query = new URLSearchParams(createActionQueryParams).toString();\n return query ? `${normalizedUrl}?${query}` : normalizedUrl;\n }\n\n return `${normalizeSolidListTreeKanbanActionPath(pathName, \"form\")}/new?viewMode=edit`;\n };\n\n const createPath = resolveCreatePath();\n const storeCurrentViewContext = () => {\n storeCurrentModelViewContext();\n };\n\n const icon = solidListViewLayout?.attrs?.addButtonIcon;\n const label = solidListViewLayout?.attrs?.addButtonTitle || \"Add\";\n const className = solidListViewLayout?.attrs?.addButtonClassName || \"\";\n const defaultIcon = <Plus size={14} />;\n\n return (\n <div>\n <Link href={createPath} onClick={storeCurrentViewContext}>\n {/* Desktop Version */}\n <SolidButton\n type=\"button\"\n icon={icon}\n leftIcon={!icon ? defaultIcon : undefined}\n className={`${className} max-[576px]:hidden sm:hidden lg:flex`}\n size='sm'\n >\n {label}\n </SolidButton>\n\n {/* Mobile Version */}\n <SolidButton\n type=\"button\"\n icon={icon}\n leftIcon={!icon ? defaultIcon : undefined}\n className={`${className} lg:hidden solid-icon-button `}\n size='sm'\n />\n\n {/* {responsiveIconOnly ? (\n <>\n <SolidButton\n type=\"button\"\n icon={icon}\n leftIcon={!icon ? defaultIcon : undefined}\n className={`${className} lg:hidden solid-icon-button `}\n size='sm'\n />\n\n <SolidButton\n type=\"button\"\n icon={icon}\n leftIcon={!icon ? defaultIcon : undefined}\n className={`${className} hidden lg:inline-flex`}\n size='sm'\n >\n {label}\n </SolidButton>\n </>\n ) : (\n <SolidButton\n type=\"button\"\n icon={icon}\n leftIcon={!icon ? defaultIcon : undefined}\n className={`${className}`}\n size='sm'\n >\n {label}\n </SolidButton>\n )} */}\n\n </Link>\n </div>\n );\n};\n"]}
@@ -31,7 +31,27 @@ export const SolidCreateButton = ({ createButtonUrl, createActionQueryParams, so
31
31
  return (
32
32
  <div>
33
33
  <Link href={createPath} onClick={storeCurrentViewContext}>
34
- {responsiveIconOnly ? (
34
+ {/* Desktop Version */}
35
+ <SolidButton
36
+ type="button"
37
+ icon={icon}
38
+ leftIcon={!icon ? defaultIcon : undefined}
39
+ className={`${className} max-[576px]:hidden sm:hidden lg:flex`}
40
+ size='sm'
41
+ >
42
+ {label}
43
+ </SolidButton>
44
+
45
+ {/* Mobile Version */}
46
+ <SolidButton
47
+ type="button"
48
+ icon={icon}
49
+ leftIcon={!icon ? defaultIcon : undefined}
50
+ className={`${className} lg:hidden solid-icon-button `}
51
+ size='sm'
52
+ />
53
+
54
+ {/* {responsiveIconOnly ? (
35
55
  <>
36
56
  <SolidButton
37
57
  type="button"
@@ -61,7 +81,7 @@ export const SolidCreateButton = ({ createButtonUrl, createActionQueryParams, so
61
81
  >
62
82
  {label}
63
83
  </SolidButton>
64
- )}
84
+ )} */}
65
85
 
66
86
  </Link>
67
87
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"SolidGlobalSearchElement.d.ts","sourceRoot":"","sources":["../../../../src/components/core/common/SolidGlobalSearchElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6F,MAAM,OAAO,CAAC;AAclH,OAA0B,EAAE,eAAe,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AA0B3G,MAAM,MAAM,eAAe,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;CAClC,CAAA;AAoUD,eAAO,MAAM,2BAA2B,sBAAuB,GAAG,aAAa,GAAG,yBAAyB,MAAM,iBAAiB,MAAM,QAavI,CAAA;AAGD,eAAO,MAAM,mBAAmB,iBAAkB,GAAG,gBAAgB,GAAG,eAAe,GAAG,qBAAqB,GAAG,kBAAkB,YAAY,EAAE,qBAAqB,eAAe,EAAE,QAwBvL,CAAA;AAoID,eAAO,MAAM,wBAAwB,kFA+0DnC,CAAC"}
1
+ {"version":3,"file":"SolidGlobalSearchElement.d.ts","sourceRoot":"","sources":["../../../../src/components/core/common/SolidGlobalSearchElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoG,MAAM,OAAO,CAAC;AAYzH,OAA0B,EAAE,eAAe,EAAE,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AA0B3G,MAAM,MAAM,eAAe,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB,EAAE,MAAM,CAAC;CAClC,CAAA;AAoUD,eAAO,MAAM,2BAA2B,sBAAuB,GAAG,aAAa,GAAG,yBAAyB,MAAM,iBAAiB,MAAM,QAavI,CAAA;AAGD,eAAO,MAAM,mBAAmB,iBAAkB,GAAG,gBAAgB,GAAG,eAAe,GAAG,qBAAqB,GAAG,kBAAkB,YAAY,EAAE,qBAAqB,eAAe,EAAE,QAwBvL,CAAA;AA2JD,eAAO,MAAM,wBAAwB,kFAi4DnC,CAAC"}