@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
@@ -165,7 +165,7 @@ export var AuthLayout = function (_a) {
165
165
  isLoadingAuthSettings: isLoadingAuthSettings,
166
166
  reloadAuthSettings: loadAuthSettings,
167
167
  }); }, [solidSettingsData, isLoadingAuthSettings, loadAuthSettings]);
168
- var legalFooter = shouldRenderFooter ? (_jsx("div", { className: "solid-auth-legal-footer hidden md:flex", children: _jsxs("div", { className: "solid-auth-legal-footer-row", children: [showLegalLinks ? (_jsxs("p", { className: "solid-auth-legal-copy", children: [_jsx("span", { children: "Made with" }), _jsx("svg", { "aria-hidden": "true", className: "solid-auth-legal-heart", width: "12", height: "12", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M1.24264 8.24264L8 15L14.7574 8.24264C15.553 7.44699 16 6.36786 16 5.24264V5.05234C16 2.8143 14.1857 1 11.9477 1C10.7166 1 9.55233 1.55959 8.78331 2.52086L8 3.5L7.21669 2.52086C6.44767 1.55959 5.28338 1 4.05234 1C1.8143 1 0 2.8143 0 5.05234V5.24264C0 6.36786 0.44699 7.44699 1.24264 8.24264Z", fill: "#ff0000" }) }), _jsx("span", { children: "in Mumbai" })] })) : null, (appTnc || appPrivacyPolicy) && (_jsxs("div", { className: "solid-auth-legal-links", children: [appTnc ? (_jsx(Link, { className: "solid-auth-legal-link", href: appTnc, children: "Terms of Service" })) : null, appPrivacyPolicy ? (_jsx(Link, { className: "solid-auth-legal-link", href: appPrivacyPolicy, children: "Privacy Policy" })) : null] })), copyright ? (_jsx("p", { className: "solid-auth-legal-copy solid-auth-legal-copy--muted", children: copyright })) : null] }) })) : null;
168
+ var legalFooter = shouldRenderFooter ? (_jsx("div", { className: "solid-auth-legal-footer hidden md:flex", children: _jsxs("div", { className: "solid-auth-legal-footer-row", children: [(appTnc || appPrivacyPolicy) && (_jsxs("div", { className: "solid-auth-legal-links", children: [appTnc ? (_jsx(Link, { className: "solid-auth-legal-link", href: appTnc, children: "Terms of Service" })) : null, appPrivacyPolicy ? (_jsx(Link, { className: "solid-auth-legal-link", href: appPrivacyPolicy, children: "Privacy Policy" })) : null] })), copyright ? (_jsx("p", { className: "solid-auth-legal-copy solid-auth-legal-copy--muted", children: copyright })) : null] }) })) : null;
169
169
  var formPane = (_jsx("div", { className: "solid-auth-form-pane solid-login-dark-bg", children: _jsxs("div", { className: "solid-auth-form-pane-inner", children: [_jsx("div", { className: "solid-auth-form-pane-brand", children: renderBrand("start") }), _jsx("div", { className: "solid-auth-form-pane-content", children: authChildren }), legalFooter] }) }));
170
170
  var imagePane = (_jsxs("div", { className: "solid-auth-image-pane position-relative ".concat(isLeft ? "solid-left-layout pane-on-right" : "solid-right-layout pane-on-left").trim(), style: { backgroundImage: toCssBackgroundImage(authBackgroundSrc) }, children: [((_m = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _m === void 0 ? void 0 : _m.appLogoPosition) === "in_image_view" &&
171
171
  _jsx("div", { className: "solid-logo flex items-center gap-4 ".concat((_o = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _o === void 0 ? void 0 : _o.appLogoPosition), children: _jsx(Image, { alt: "solid logo", src: normalizeAssetUrl((_p = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _p === void 0 ? void 0 : _p.appLogo) || SolidLogo, className: "relative", fill: true }) }), showAuthContent &&
@@ -1 +1 @@
1
- {"version":3,"file":"AuthLayout.js","sourceRoot":"","sources":["../../../src/components/auth/AuthLayout.tsx"],"names":[],"mappings":"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","sourcesContent":["import Link from \"../common/Link\";\nimport { usePathname } from \"../../hooks/usePathname\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useCallback, useContext, useEffect, useMemo, useState } from \"react\";\nimport Image from \"../common/Image\";\nimport SolidLogo from '../../resources/images/SolidXLogo.svg'\nimport AuthScreenCenterBackgroundImage from '../../resources/images/auth/solid-login-light.png';\nimport { SolidButton, SolidDialog, SolidDivider } from \"../shad-cn-ui\";\nimport { LayoutContext } from \"../layout/context/layoutcontext\";\nimport { solidGet } from \"../../http/solidHttp\";\nimport { AuthSettingsContext } from \"./AuthSettingsContext\";\nimport { normalizeAssetUrl, toCssBackgroundImage } from \"../../helpers/assetUrl\";\nimport { toLegacySettingsShape } from \"../../helpers/settingsPayload\";\nimport { SolidToastProvider } from \"../common/SolidToastProvider\";\nimport { SolidSpinner } from \"../shad-cn-ui\";\nimport { BackendReconnectIndicator } from \"../common/BackendReconnectIndicator\";\n\nconst SHADCN_PLACEHOLDER_IMAGE = \"https://ui.shadcn.com/placeholder.svg\";\n\nexport const AuthLayout = ({ children }: { children: React.ReactNode }) => {\n const layoutContext = useContext(LayoutContext);\n const [solidSettingsData, setSolidSettingsData] = useState<any>(null);\n const [isLoadingAuthSettings, setIsLoadingAuthSettings] = useState(true);\n\n const [allowRegistration, setAllowRegistration] = useState<boolean | null>(null);\n const [isRestricted, setIsRestricted] = useState(false);\n const pathname = usePathname();\n const router = useRouter();\n\n const loadAuthSettings = useCallback(async () => {\n setIsLoadingAuthSettings(true);\n try {\n const response = await solidGet(\"/setting/wrapped\");\n setSolidSettingsData(toLegacySettingsShape(response?.data ?? null));\n } catch (error) {\n console.error(\"Failed to load auth settings\", error);\n setSolidSettingsData(null);\n } finally {\n setIsLoadingAuthSettings(false);\n }\n }, []);\n\n useEffect(() => {\n loadAuthSettings();\n }, [loadAuthSettings]);\n\n useEffect(() => {\n const allowPublicRegistration = solidSettingsData?.data?.allowPublicRegistration;\n if (allowPublicRegistration === false) {\n setAllowRegistration(false);\n if (pathname === \"/auth/register\") {\n setIsRestricted(true);\n } else {\n setIsRestricted(false);\n }\n } else if (allowPublicRegistration === true) {\n setAllowRegistration(true);\n setIsRestricted(false);\n }\n }, [solidSettingsData, pathname]);\n\n const authLoadingContent = (\n <div className=\"flex items-center justify-center min-h-[240px]\" aria-busy=\"true\" aria-live=\"polite\">\n <SolidSpinner size={32} />\n </div>\n );\n const authChildren = isLoadingAuthSettings\n ? authLoadingContent\n : pathname !== \"/auth/register\" || allowRegistration !== false\n ? children\n : null;\n const handleRegistration = () => {\n router.push(\"/auth/login\");\n setIsRestricted(false);\n }\n\n const authTheme = layoutContext?.themeMode === \"dark\" ? \"dark\" : \"light\";\n\n const solidSideBanner = () => {\n const layout = solidSettingsData?.data?.authPagesLayout || \"center\";\n\n let src = '';\n\n if (layout === 'left') {\n src = solidSettingsData?.data?.authScreenLeftBackgroundImage || SHADCN_PLACEHOLDER_IMAGE;\n } else if (layout === 'right') {\n src = solidSettingsData?.data?.authScreenRightBackgroundImage || SHADCN_PLACEHOLDER_IMAGE;\n } else if (layout === 'center') {\n src = solidSettingsData?.data?.authScreenCenterBackgroundImage\n || (authTheme === \"light\"\n ? ((AuthScreenCenterBackgroundImage as any).src || AuthScreenCenterBackgroundImage)\n : \"\");\n }\n\n return normalizeAssetUrl(src);\n };\n\n const authLogoSrc = normalizeAssetUrl(solidSettingsData?.data?.appLogo || \"\");\n const authBackgroundSrc = solidSideBanner();\n const appTitle = solidSettingsData?.data?.appTitle || \"\";\n const appSubtitle = solidSettingsData?.data?.appSubtitle || \"\";\n const appDescription = solidSettingsData?.data?.appDescription || \"\";\n const showAuthContent = solidSettingsData?.data?.showAuthContent === true;\n const showLegalLinks = solidSettingsData?.data?.showLegalLinks === true;\n const appTnc = solidSettingsData?.data?.appTnc || \"\";\n const appPrivacyPolicy = solidSettingsData?.data?.appPrivacyPolicy || \"\";\n const copyright = solidSettingsData?.data?.copyright || \"\";\n\n const renderBrand = (align: \"center\" | \"start\" = \"start\") => {\n if (!authLogoSrc && !appTitle) return null;\n\n const brandLabel = appTitle || \"Application logo\";\n\n return (\n <div className={`solid-auth-brand ${align === \"center\" ? \"is-center\" : \"\"}`} aria-label={brandLabel}>\n {authLogoSrc ? (\n <span className=\"solid-auth-brand-logo\">\n <img src={authLogoSrc} alt={brandLabel} />\n </span>\n ) : null}\n {appTitle ? <span className=\"solid-auth-brand-text\">{appTitle}</span> : null}\n </div>\n );\n };\n\n const authLayout = solidSettingsData?.data?.authPagesLayout || \"center\";\n const isCenter = authLayout === \"center\";\n const isLeft = authLayout === \"left\";\n const isRight = authLayout === \"right\";\n const shouldRenderFooter = showLegalLinks || Boolean(copyright);\n const authSettingsContextValue = useMemo(\n () => ({\n solidSettingsData,\n isLoadingAuthSettings,\n reloadAuthSettings: loadAuthSettings,\n }),\n [solidSettingsData, isLoadingAuthSettings, loadAuthSettings]\n );\n\n const legalFooter = shouldRenderFooter ? (\n <div className=\"solid-auth-legal-footer hidden md:flex\">\n <div className=\"solid-auth-legal-footer-row\">\n {showLegalLinks ? (\n <p className=\"solid-auth-legal-copy\">\n <span>Made with</span>\n <svg\n aria-hidden=\"true\"\n className=\"solid-auth-legal-heart\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1.24264 8.24264L8 15L14.7574 8.24264C15.553 7.44699 16 6.36786 16 5.24264V5.05234C16 2.8143 14.1857 1 11.9477 1C10.7166 1 9.55233 1.55959 8.78331 2.52086L8 3.5L7.21669 2.52086C6.44767 1.55959 5.28338 1 4.05234 1C1.8143 1 0 2.8143 0 5.05234V5.24264C0 6.36786 0.44699 7.44699 1.24264 8.24264Z\"\n fill=\"#ff0000\"\n />\n </svg>\n <span>in Mumbai</span>\n </p>\n ) : null}\n {(appTnc || appPrivacyPolicy) && (\n <div className=\"solid-auth-legal-links\">\n {appTnc ? (\n <Link className=\"solid-auth-legal-link\" href={appTnc}>\n Terms of Service\n </Link>\n ) : null}\n {appPrivacyPolicy ? (\n <Link className=\"solid-auth-legal-link\" href={appPrivacyPolicy}>\n Privacy Policy\n </Link>\n ) : null}\n </div>\n )}\n {copyright ? (\n <p className=\"solid-auth-legal-copy solid-auth-legal-copy--muted\">{copyright}</p>\n ) : null}\n </div>\n </div>\n ) : null;\n\n const formPane = (\n <div className=\"solid-auth-form-pane solid-login-dark-bg\">\n <div className=\"solid-auth-form-pane-inner\">\n <div className=\"solid-auth-form-pane-brand\">\n {renderBrand(\"start\")}\n </div>\n <div className=\"solid-auth-form-pane-content\">\n {authChildren}\n </div>\n {legalFooter}\n </div>\n </div>\n );\n\n const imagePane = (\n <div\n className={`solid-auth-image-pane position-relative ${isLeft ? \"solid-left-layout pane-on-right\" : \"solid-right-layout pane-on-left\"}`.trim()}\n style={{ backgroundImage: toCssBackgroundImage(authBackgroundSrc) }}\n >\n {solidSettingsData?.data?.appLogoPosition === \"in_image_view\" &&\n <div className={`solid-logo flex items-center gap-4 ${solidSettingsData?.data?.appLogoPosition}`}>\n <Image\n alt=\"solid logo\"\n src={normalizeAssetUrl(solidSettingsData?.data?.appLogo) || SolidLogo}\n className=\"relative\"\n fill\n />\n </div>\n }\n {showAuthContent &&\n <div className=\"w-full\" style={{ zIndex: 1 }}>\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n <div className=\"w-[66.666667%] px-2 pt-2 mx-auto\">\n {solidSettingsData?.data?.appSubtitle && <h1 className=\"solid-auth-image-subtitle m-0\">{solidSettingsData?.data?.appSubtitle}</h1>}\n {solidSettingsData?.data?.appTitle && <h1 className=\"solid-auth-image-title mt-0\">{solidSettingsData?.data?.appTitle}</h1>}\n {solidSettingsData?.data?.appDescription && <p className=\"solid-auth-image-helper-text\">{solidSettingsData?.data?.appDescription}</p>}\n </div>\n </div>\n </div>\n }\n </div>\n );\n\n return (\n <AuthSettingsContext.Provider value={authSettingsContextValue}>\n <div\n className={`solid-auth-theme-wrapper ${authLayout} auth-theme-${authTheme}`}\n data-auth-theme={authTheme}\n style={isCenter ? { position: \"relative\" } : undefined}\n >\n {isCenter && authBackgroundSrc ? (\n <div\n aria-hidden=\"true\"\n style={{\n position: \"absolute\",\n inset: 0,\n zIndex: 0,\n backgroundImage: toCssBackgroundImage(authBackgroundSrc),\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\",\n }}\n />\n ) : null}\n <SolidToastProvider />\n <BackendReconnectIndicator variant=\"floating\" />\n {!isCenter && (\n <div className=\"solid-auth-split\">\n {isLeft && formPane}\n {imagePane}\n {isRight && formPane}\n </div>\n )}\n {isCenter && <div className=\"solid-center-layout\" style={{ position: \"relative\", zIndex: 1 }}>\n <div className=\"solid-auth-center-stack\">\n {renderBrand(\"center\")}\n {showAuthContent &&\n <div className=\"solid-auth-center-details\">\n {appSubtitle ? <p className=\"solid-auth-center-subtitle\">{appSubtitle}</p> : null}\n {/* {appTitle ? <h1 className=\"solid-auth-center-title\">{appTitle}</h1> : null} */}\n {appDescription ? <p className=\"solid-auth-center-description\">{appDescription}</p> : null}\n </div>\n }\n {authChildren}\n </div>\n {legalFooter}\n </div>}\n <SolidDialog\n visible={isRestricted}\n onHide={handleRegistration}\n header=\"Access Restricted\"\n headerClassName=\"py-2\" contentClassName=\"px-0 pb-0\"\n className=\"solid-confirm-dialog\"\n footer={\n <div className=\"flex items-center justify-start\">\n <SolidButton size=\"sm\" onClick={handleRegistration}>Close</SolidButton>\n </div>\n }\n >\n <SolidDivider className=\"m-0\" />\n <div className=\"p-6\">\n <p>Sign-up is not available. Please contact the admin.</p>\n </div>\n </SolidDialog>\n </div>\n </AuthSettingsContext.Provider>\n )\n}\n"]}
1
+ {"version":3,"file":"AuthLayout.js","sourceRoot":"","sources":["../../../src/components/auth/AuthLayout.tsx"],"names":[],"mappings":"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","sourcesContent":["import Link from \"../common/Link\";\nimport { usePathname } from \"../../hooks/usePathname\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useCallback, useContext, useEffect, useMemo, useState } from \"react\";\nimport Image from \"../common/Image\";\nimport SolidLogo from '../../resources/images/SolidXLogo.svg'\nimport AuthScreenCenterBackgroundImage from '../../resources/images/auth/solid-login-light.png';\nimport { SolidButton, SolidDialog, SolidDivider } from \"../shad-cn-ui\";\nimport { LayoutContext } from \"../layout/context/layoutcontext\";\nimport { solidGet } from \"../../http/solidHttp\";\nimport { AuthSettingsContext } from \"./AuthSettingsContext\";\nimport { normalizeAssetUrl, toCssBackgroundImage } from \"../../helpers/assetUrl\";\nimport { toLegacySettingsShape } from \"../../helpers/settingsPayload\";\nimport { SolidToastProvider } from \"../common/SolidToastProvider\";\nimport { SolidSpinner } from \"../shad-cn-ui\";\nimport { BackendReconnectIndicator } from \"../common/BackendReconnectIndicator\";\n\nconst SHADCN_PLACEHOLDER_IMAGE = \"https://ui.shadcn.com/placeholder.svg\";\n\nexport const AuthLayout = ({ children }: { children: React.ReactNode }) => {\n const layoutContext = useContext(LayoutContext);\n const [solidSettingsData, setSolidSettingsData] = useState<any>(null);\n const [isLoadingAuthSettings, setIsLoadingAuthSettings] = useState(true);\n\n const [allowRegistration, setAllowRegistration] = useState<boolean | null>(null);\n const [isRestricted, setIsRestricted] = useState(false);\n const pathname = usePathname();\n const router = useRouter();\n\n const loadAuthSettings = useCallback(async () => {\n setIsLoadingAuthSettings(true);\n try {\n const response = await solidGet(\"/setting/wrapped\");\n setSolidSettingsData(toLegacySettingsShape(response?.data ?? null));\n } catch (error) {\n console.error(\"Failed to load auth settings\", error);\n setSolidSettingsData(null);\n } finally {\n setIsLoadingAuthSettings(false);\n }\n }, []);\n\n useEffect(() => {\n loadAuthSettings();\n }, [loadAuthSettings]);\n\n useEffect(() => {\n const allowPublicRegistration = solidSettingsData?.data?.allowPublicRegistration;\n if (allowPublicRegistration === false) {\n setAllowRegistration(false);\n if (pathname === \"/auth/register\") {\n setIsRestricted(true);\n } else {\n setIsRestricted(false);\n }\n } else if (allowPublicRegistration === true) {\n setAllowRegistration(true);\n setIsRestricted(false);\n }\n }, [solidSettingsData, pathname]);\n\n const authLoadingContent = (\n <div className=\"flex items-center justify-center min-h-[240px]\" aria-busy=\"true\" aria-live=\"polite\">\n <SolidSpinner size={32} />\n </div>\n );\n const authChildren = isLoadingAuthSettings\n ? authLoadingContent\n : pathname !== \"/auth/register\" || allowRegistration !== false\n ? children\n : null;\n const handleRegistration = () => {\n router.push(\"/auth/login\");\n setIsRestricted(false);\n }\n\n const authTheme = layoutContext?.themeMode === \"dark\" ? \"dark\" : \"light\";\n\n const solidSideBanner = () => {\n const layout = solidSettingsData?.data?.authPagesLayout || \"center\";\n\n let src = '';\n\n if (layout === 'left') {\n src = solidSettingsData?.data?.authScreenLeftBackgroundImage || SHADCN_PLACEHOLDER_IMAGE;\n } else if (layout === 'right') {\n src = solidSettingsData?.data?.authScreenRightBackgroundImage || SHADCN_PLACEHOLDER_IMAGE;\n } else if (layout === 'center') {\n src = solidSettingsData?.data?.authScreenCenterBackgroundImage\n || (authTheme === \"light\"\n ? ((AuthScreenCenterBackgroundImage as any).src || AuthScreenCenterBackgroundImage)\n : \"\");\n }\n\n return normalizeAssetUrl(src);\n };\n\n const authLogoSrc = normalizeAssetUrl(solidSettingsData?.data?.appLogo || \"\");\n const authBackgroundSrc = solidSideBanner();\n const appTitle = solidSettingsData?.data?.appTitle || \"\";\n const appSubtitle = solidSettingsData?.data?.appSubtitle || \"\";\n const appDescription = solidSettingsData?.data?.appDescription || \"\";\n const showAuthContent = solidSettingsData?.data?.showAuthContent === true;\n const showLegalLinks = solidSettingsData?.data?.showLegalLinks === true;\n const appTnc = solidSettingsData?.data?.appTnc || \"\";\n const appPrivacyPolicy = solidSettingsData?.data?.appPrivacyPolicy || \"\";\n const copyright = solidSettingsData?.data?.copyright || \"\";\n\n const renderBrand = (align: \"center\" | \"start\" = \"start\") => {\n if (!authLogoSrc && !appTitle) return null;\n\n const brandLabel = appTitle || \"Application logo\";\n\n return (\n <div className={`solid-auth-brand ${align === \"center\" ? \"is-center\" : \"\"}`} aria-label={brandLabel}>\n {authLogoSrc ? (\n <span className=\"solid-auth-brand-logo\">\n <img src={authLogoSrc} alt={brandLabel} />\n </span>\n ) : null}\n {appTitle ? <span className=\"solid-auth-brand-text\">{appTitle}</span> : null}\n </div>\n );\n };\n\n const authLayout = solidSettingsData?.data?.authPagesLayout || \"center\";\n const isCenter = authLayout === \"center\";\n const isLeft = authLayout === \"left\";\n const isRight = authLayout === \"right\";\n const shouldRenderFooter = showLegalLinks || Boolean(copyright);\n const authSettingsContextValue = useMemo(\n () => ({\n solidSettingsData,\n isLoadingAuthSettings,\n reloadAuthSettings: loadAuthSettings,\n }),\n [solidSettingsData, isLoadingAuthSettings, loadAuthSettings]\n );\n\n const legalFooter = shouldRenderFooter ? (\n <div className=\"solid-auth-legal-footer hidden md:flex\">\n <div className=\"solid-auth-legal-footer-row\">\n {/* {showLegalLinks ? (\n <p className=\"solid-auth-legal-copy\">\n <span>Made with</span>\n <svg\n aria-hidden=\"true\"\n className=\"solid-auth-legal-heart\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M1.24264 8.24264L8 15L14.7574 8.24264C15.553 7.44699 16 6.36786 16 5.24264V5.05234C16 2.8143 14.1857 1 11.9477 1C10.7166 1 9.55233 1.55959 8.78331 2.52086L8 3.5L7.21669 2.52086C6.44767 1.55959 5.28338 1 4.05234 1C1.8143 1 0 2.8143 0 5.05234V5.24264C0 6.36786 0.44699 7.44699 1.24264 8.24264Z\"\n fill=\"#ff0000\"\n />\n </svg>\n <span>in Mumbai</span>\n </p>\n ) : null} */}\n {(appTnc || appPrivacyPolicy) && (\n <div className=\"solid-auth-legal-links\">\n {appTnc ? (\n <Link className=\"solid-auth-legal-link\" href={appTnc}>\n Terms of Service\n </Link>\n ) : null}\n {appPrivacyPolicy ? (\n <Link className=\"solid-auth-legal-link\" href={appPrivacyPolicy}>\n Privacy Policy\n </Link>\n ) : null}\n </div>\n )}\n {copyright ? (\n <p className=\"solid-auth-legal-copy solid-auth-legal-copy--muted\">{copyright}</p>\n ) : null}\n </div>\n </div>\n ) : null;\n\n const formPane = (\n <div className=\"solid-auth-form-pane solid-login-dark-bg\">\n <div className=\"solid-auth-form-pane-inner\">\n <div className=\"solid-auth-form-pane-brand\">\n {renderBrand(\"start\")}\n </div>\n <div className=\"solid-auth-form-pane-content\">\n {authChildren}\n </div>\n {legalFooter}\n </div>\n </div>\n );\n\n const imagePane = (\n <div\n className={`solid-auth-image-pane position-relative ${isLeft ? \"solid-left-layout pane-on-right\" : \"solid-right-layout pane-on-left\"}`.trim()}\n style={{ backgroundImage: toCssBackgroundImage(authBackgroundSrc) }}\n >\n {solidSettingsData?.data?.appLogoPosition === \"in_image_view\" &&\n <div className={`solid-logo flex items-center gap-4 ${solidSettingsData?.data?.appLogoPosition}`}>\n <Image\n alt=\"solid logo\"\n src={normalizeAssetUrl(solidSettingsData?.data?.appLogo) || SolidLogo}\n className=\"relative\"\n fill\n />\n </div>\n }\n {showAuthContent &&\n <div className=\"w-full\" style={{ zIndex: 1 }}>\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n <div className=\"w-[66.666667%] px-2 pt-2 mx-auto\">\n {solidSettingsData?.data?.appSubtitle && <h1 className=\"solid-auth-image-subtitle m-0\">{solidSettingsData?.data?.appSubtitle}</h1>}\n {solidSettingsData?.data?.appTitle && <h1 className=\"solid-auth-image-title mt-0\">{solidSettingsData?.data?.appTitle}</h1>}\n {solidSettingsData?.data?.appDescription && <p className=\"solid-auth-image-helper-text\">{solidSettingsData?.data?.appDescription}</p>}\n </div>\n </div>\n </div>\n }\n </div>\n );\n\n return (\n <AuthSettingsContext.Provider value={authSettingsContextValue}>\n <div\n className={`solid-auth-theme-wrapper ${authLayout} auth-theme-${authTheme}`}\n data-auth-theme={authTheme}\n style={isCenter ? { position: \"relative\" } : undefined}\n >\n {isCenter && authBackgroundSrc ? (\n <div\n aria-hidden=\"true\"\n style={{\n position: \"absolute\",\n inset: 0,\n zIndex: 0,\n backgroundImage: toCssBackgroundImage(authBackgroundSrc),\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\",\n }}\n />\n ) : null}\n <SolidToastProvider />\n <BackendReconnectIndicator variant=\"floating\" />\n {!isCenter && (\n <div className=\"solid-auth-split\">\n {isLeft && formPane}\n {imagePane}\n {isRight && formPane}\n </div>\n )}\n {isCenter && <div className=\"solid-center-layout\" style={{ position: \"relative\", zIndex: 1 }}>\n <div className=\"solid-auth-center-stack\">\n {renderBrand(\"center\")}\n {showAuthContent &&\n <div className=\"solid-auth-center-details\">\n {appSubtitle ? <p className=\"solid-auth-center-subtitle\">{appSubtitle}</p> : null}\n {/* {appTitle ? <h1 className=\"solid-auth-center-title\">{appTitle}</h1> : null} */}\n {appDescription ? <p className=\"solid-auth-center-description\">{appDescription}</p> : null}\n </div>\n }\n {authChildren}\n </div>\n {legalFooter}\n </div>}\n <SolidDialog\n visible={isRestricted}\n onHide={handleRegistration}\n header=\"Access Restricted\"\n headerClassName=\"py-2\" contentClassName=\"px-0 pb-0\"\n className=\"solid-confirm-dialog\"\n footer={\n <div className=\"flex items-center justify-start\">\n <SolidButton size=\"sm\" onClick={handleRegistration}>Close</SolidButton>\n </div>\n }\n >\n <SolidDivider className=\"m-0\" />\n <div className=\"p-6\">\n <p>Sign-up is not available. Please contact the admin.</p>\n </div>\n </SolidDialog>\n </div>\n </AuthSettingsContext.Provider>\n )\n}\n"]}
@@ -140,7 +140,7 @@ export const AuthLayout = ({ children }: { children: React.ReactNode }) => {
140
140
  const legalFooter = shouldRenderFooter ? (
141
141
  <div className="solid-auth-legal-footer hidden md:flex">
142
142
  <div className="solid-auth-legal-footer-row">
143
- {showLegalLinks ? (
143
+ {/* {showLegalLinks ? (
144
144
  <p className="solid-auth-legal-copy">
145
145
  <span>Made with</span>
146
146
  <svg
@@ -159,7 +159,7 @@ export const AuthLayout = ({ children }: { children: React.ReactNode }) => {
159
159
  </svg>
160
160
  <span>in Mumbai</span>
161
161
  </p>
162
- ) : null}
162
+ ) : null} */}
163
163
  {(appTnc || appPrivacyPolicy) && (
164
164
  <div className="solid-auth-legal-links">
165
165
  {appTnc ? (
@@ -1,7 +1,8 @@
1
1
  interface DropzonePlaceholderProps {
2
2
  mediaTypes?: string[];
3
+ mediaAllowedExtensions?: string[];
3
4
  mediaMaxSizeKb?: number;
4
5
  }
5
- export declare const DropzonePlaceholder: ({ mediaTypes, mediaMaxSizeKb }: DropzonePlaceholderProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const DropzonePlaceholder: ({ mediaTypes, mediaAllowedExtensions, mediaMaxSizeKb }: DropzonePlaceholderProps) => import("react/jsx-runtime").JSX.Element;
6
7
  export {};
7
8
  //# sourceMappingURL=DropzonePlaceholder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropzonePlaceholder.d.ts","sourceRoot":"","sources":["../../../src/components/common/DropzonePlaceholder.tsx"],"names":[],"mappings":"AAGA,UAAU,wBAAwB;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,mBAAmB,mCAAoC,wBAAwB,4CAwB3F,CAAA"}
1
+ {"version":3,"file":"DropzonePlaceholder.d.ts","sourceRoot":"","sources":["../../../src/components/common/DropzonePlaceholder.tsx"],"names":[],"mappings":"AAEA,UAAU,wBAAwB;IAC9B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,mBAAmB,2DAA4D,wBAAwB,4CA6BnH,CAAA"}
@@ -1,12 +1,15 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { SolidButton } from "../shad-cn-ui";
3
+ import { getAllowedMediaExtensionsLabel, getAllowedMediaTypesLabel } from "../../helpers/getAcceptedFileTypes";
3
4
  export var DropzonePlaceholder = function (_a) {
4
- var mediaTypes = _a.mediaTypes, mediaMaxSizeKb = _a.mediaMaxSizeKb;
5
- var supportedFormats = (mediaTypes === null || mediaTypes === void 0 ? void 0 : mediaTypes.length)
6
- ? mediaTypes.map(function (type) { return type.toUpperCase(); }).join(", ")
7
- : "PDF, JPEG | File";
8
- // Convert max size from KB to MB and ensure it's at least 1MB
9
- var maxSizeMB = mediaMaxSizeKb ? (mediaMaxSizeKb / 1024).toFixed(1) : "10";
10
- return (_jsxs("div", { className: 'solid-dropzone', children: [_jsx("svg", { className: "solid-dropzone-icon", xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M11 16V7.85L8.4 10.45L7 9L12 4L17 9L15.6 10.45L13 7.85V16H11ZM6 20C5.45 20 4.97917 19.8042 4.5875 19.4125C4.19583 19.0208 4 18.55 4 18V15H6V18H18V15H20V18C20 18.55 19.8042 19.0208 19.4125 19.4125C19.0208 19.8042 18.55 20 18 20H6Z", fill: "currentColor" }) }), _jsxs("div", { className: 'solid-dropzone-title', children: ["Drag and Drop or ", _jsx("span", { className: 'solid-dropzone-title-accent', children: "choose files" }), " to upload"] }), _jsxs("p", { className: "solid-dropzone-meta", children: ["Supported format: ", supportedFormats, " | Max size: ", maxSizeMB, " MB"] }), _jsx("div", { children: _jsx(SolidButton, { variant: "outline", size: 'sm', type: "button", children: "Click to Browse" }) })] }));
5
+ var mediaTypes = _a.mediaTypes, mediaAllowedExtensions = _a.mediaAllowedExtensions, mediaMaxSizeKb = _a.mediaMaxSizeKb;
6
+ var allowedTypesLabel = getAllowedMediaTypesLabel(mediaTypes);
7
+ var allowedExtensionsLabel = getAllowedMediaExtensionsLabel(mediaAllowedExtensions);
8
+ var maxSizeLabel = !mediaMaxSizeKb || mediaMaxSizeKb <= 0
9
+ ? "No limit"
10
+ : mediaMaxSizeKb >= 1024
11
+ ? "".concat((mediaMaxSizeKb / 1024).toFixed(1), " MB")
12
+ : "".concat(mediaMaxSizeKb, " KB");
13
+ return (_jsxs("div", { className: 'solid-dropzone', children: [_jsx("svg", { className: "solid-dropzone-icon", xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M11 16V7.85L8.4 10.45L7 9L12 4L17 9L15.6 10.45L13 7.85V16H11ZM6 20C5.45 20 4.97917 19.8042 4.5875 19.4125C4.19583 19.0208 4 18.55 4 18V15H6V18H18V15H20V18C20 18.55 19.8042 19.0208 19.4125 19.4125C19.0208 19.8042 18.55 20 18 20H6Z", fill: "currentColor" }) }), _jsxs("div", { className: 'solid-dropzone-title', children: ["Drag and Drop or ", _jsx("span", { className: 'solid-dropzone-title-accent', children: "choose files" }), " to upload"] }), _jsxs("p", { className: "solid-dropzone-meta m-0", children: ["Allowed file types: ", allowedTypesLabel, " | Max file size: ", maxSizeLabel] }), allowedExtensionsLabel && (_jsxs("p", { className: "solid-dropzone-meta m-0", children: ["Allowed extensions: ", allowedExtensionsLabel] })), _jsx("div", { children: _jsx(SolidButton, { variant: "outline", size: 'sm', type: "button", children: "Click to Browse" }) })] }));
11
14
  };
12
15
  //# sourceMappingURL=DropzonePlaceholder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DropzonePlaceholder.js","sourceRoot":"","sources":["../../../src/components/common/DropzonePlaceholder.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAM5C,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,EAAwD;QAAtD,UAAU,gBAAA,EAAE,cAAc,oBAAA;IAC5D,IAAM,gBAAgB,GAAG,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM;QACvC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,WAAW,EAAE,EAAlB,CAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACvD,CAAC,CAAC,kBAAkB,CAAC;IAEzB,8DAA8D;IAC9D,IAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE7E,OAAO,CACH,eAAK,SAAS,EAAC,gBAAgB,aAC3B,cAAK,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,iBAAa,MAAM,YAC7I,eAAM,CAAC,EAAC,uOAAuO,EAAC,IAAI,EAAC,cAAc,GAAG,GACpQ,EACN,eAAK,SAAS,EAAC,sBAAsB,kCAChB,eAAM,SAAS,EAAC,6BAA6B,6BAAoB,kBAChF,EACN,aAAG,SAAS,EAAC,qBAAqB,mCAAoB,gBAAgB,mBAAe,SAAS,WAAQ,EACtG,wBACI,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,gCAExC,GACZ,IACJ,CACT,CAAA;AACL,CAAC,CAAA","sourcesContent":["\n\nimport { SolidButton } from \"../shad-cn-ui\";\ninterface DropzonePlaceholderProps {\n mediaTypes?: string[];\n mediaMaxSizeKb?: number;\n}\n\nexport const DropzonePlaceholder = ({ mediaTypes, mediaMaxSizeKb }: DropzonePlaceholderProps) => {\n const supportedFormats = mediaTypes?.length\n ? mediaTypes.map(type => type.toUpperCase()).join(\", \")\n : \"PDF, JPEG | File\";\n\n // Convert max size from KB to MB and ensure it's at least 1MB\n const maxSizeMB = mediaMaxSizeKb ? (mediaMaxSizeKb / 1024).toFixed(1) : \"10\";\n\n return (\n <div className='solid-dropzone'>\n <svg className=\"solid-dropzone-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M11 16V7.85L8.4 10.45L7 9L12 4L17 9L15.6 10.45L13 7.85V16H11ZM6 20C5.45 20 4.97917 19.8042 4.5875 19.4125C4.19583 19.0208 4 18.55 4 18V15H6V18H18V15H20V18C20 18.55 19.8042 19.0208 19.4125 19.4125C19.0208 19.8042 18.55 20 18 20H6Z\" fill=\"currentColor\" />\n </svg>\n <div className='solid-dropzone-title'>\n Drag and Drop or <span className='solid-dropzone-title-accent'>choose files</span> to upload\n </div>\n <p className=\"solid-dropzone-meta\">Supported format: {supportedFormats} | Max size: {maxSizeMB} MB</p>\n <div>\n <SolidButton variant=\"outline\" size='sm' type=\"button\">\n Click to Browse\n </SolidButton>\n </div>\n </div>\n )\n}\n"]}
1
+ {"version":3,"file":"DropzonePlaceholder.js","sourceRoot":"","sources":["../../../src/components/common/DropzonePlaceholder.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,8BAA8B,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAO/G,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,EAAgF;QAA9E,UAAU,gBAAA,EAAE,sBAAsB,4BAAA,EAAE,cAAc,oBAAA;IACpF,IAAM,iBAAiB,GAAG,yBAAyB,CAAC,UAAU,CAAC,CAAC;IAChE,IAAM,sBAAsB,GAAG,8BAA8B,CAAC,sBAAsB,CAAC,CAAC;IAEtF,IAAM,YAAY,GAAG,CAAC,cAAc,IAAI,cAAc,IAAI,CAAC;QACvD,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,cAAc,IAAI,IAAI;YACpB,CAAC,CAAC,UAAG,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAK;YAC5C,CAAC,CAAC,UAAG,cAAc,QAAK,CAAC;IAEjC,OAAO,CACH,eAAK,SAAS,EAAC,gBAAgB,aAC3B,cAAK,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,iBAAa,MAAM,YAC7I,eAAM,CAAC,EAAC,uOAAuO,EAAC,IAAI,EAAC,cAAc,GAAG,GACpQ,EACN,eAAK,SAAS,EAAC,sBAAsB,kCAChB,eAAM,SAAS,EAAC,6BAA6B,6BAAoB,kBAChF,EACN,aAAG,SAAS,EAAC,yBAAyB,qCAAsB,iBAAiB,wBAAoB,YAAY,IAAK,EACjH,sBAAsB,IAAI,CACvB,aAAG,SAAS,EAAC,yBAAyB,qCAAsB,sBAAsB,IAAK,CAC1F,EACD,wBACI,KAAC,WAAW,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,IAAI,EAAC,QAAQ,gCAExC,GACZ,IACJ,CACT,CAAA;AACL,CAAC,CAAA","sourcesContent":["import { SolidButton } from \"../shad-cn-ui\";\nimport { getAllowedMediaExtensionsLabel, getAllowedMediaTypesLabel } from \"../../helpers/getAcceptedFileTypes\";\ninterface DropzonePlaceholderProps {\n mediaTypes?: string[];\n mediaAllowedExtensions?: string[];\n mediaMaxSizeKb?: number;\n}\n\nexport const DropzonePlaceholder = ({ mediaTypes, mediaAllowedExtensions, mediaMaxSizeKb }: DropzonePlaceholderProps) => {\n const allowedTypesLabel = getAllowedMediaTypesLabel(mediaTypes);\n const allowedExtensionsLabel = getAllowedMediaExtensionsLabel(mediaAllowedExtensions);\n\n const maxSizeLabel = !mediaMaxSizeKb || mediaMaxSizeKb <= 0\n ? \"No limit\"\n : mediaMaxSizeKb >= 1024\n ? `${(mediaMaxSizeKb / 1024).toFixed(1)} MB`\n : `${mediaMaxSizeKb} KB`;\n\n return (\n <div className='solid-dropzone'>\n <svg className=\"solid-dropzone-icon\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n <path d=\"M11 16V7.85L8.4 10.45L7 9L12 4L17 9L15.6 10.45L13 7.85V16H11ZM6 20C5.45 20 4.97917 19.8042 4.5875 19.4125C4.19583 19.0208 4 18.55 4 18V15H6V18H18V15H20V18C20 18.55 19.8042 19.0208 19.4125 19.4125C19.0208 19.8042 18.55 20 18 20H6Z\" fill=\"currentColor\" />\n </svg>\n <div className='solid-dropzone-title'>\n Drag and Drop or <span className='solid-dropzone-title-accent'>choose files</span> to upload\n </div>\n <p className=\"solid-dropzone-meta m-0\">Allowed file types: {allowedTypesLabel} | Max file size: {maxSizeLabel}</p>\n {allowedExtensionsLabel && (\n <p className=\"solid-dropzone-meta m-0\">Allowed extensions: {allowedExtensionsLabel}</p>\n )}\n <div>\n <SolidButton variant=\"outline\" size='sm' type=\"button\">\n Click to Browse\n </SolidButton>\n </div>\n </div>\n )\n}\n"]}
@@ -1,18 +1,20 @@
1
-
2
-
3
1
  import { SolidButton } from "../shad-cn-ui";
2
+ import { getAllowedMediaExtensionsLabel, getAllowedMediaTypesLabel } from "../../helpers/getAcceptedFileTypes";
4
3
  interface DropzonePlaceholderProps {
5
4
  mediaTypes?: string[];
5
+ mediaAllowedExtensions?: string[];
6
6
  mediaMaxSizeKb?: number;
7
7
  }
8
8
 
9
- export const DropzonePlaceholder = ({ mediaTypes, mediaMaxSizeKb }: DropzonePlaceholderProps) => {
10
- const supportedFormats = mediaTypes?.length
11
- ? mediaTypes.map(type => type.toUpperCase()).join(", ")
12
- : "PDF, JPEG | File";
9
+ export const DropzonePlaceholder = ({ mediaTypes, mediaAllowedExtensions, mediaMaxSizeKb }: DropzonePlaceholderProps) => {
10
+ const allowedTypesLabel = getAllowedMediaTypesLabel(mediaTypes);
11
+ const allowedExtensionsLabel = getAllowedMediaExtensionsLabel(mediaAllowedExtensions);
13
12
 
14
- // Convert max size from KB to MB and ensure it's at least 1MB
15
- const maxSizeMB = mediaMaxSizeKb ? (mediaMaxSizeKb / 1024).toFixed(1) : "10";
13
+ const maxSizeLabel = !mediaMaxSizeKb || mediaMaxSizeKb <= 0
14
+ ? "No limit"
15
+ : mediaMaxSizeKb >= 1024
16
+ ? `${(mediaMaxSizeKb / 1024).toFixed(1)} MB`
17
+ : `${mediaMaxSizeKb} KB`;
16
18
 
17
19
  return (
18
20
  <div className='solid-dropzone'>
@@ -22,7 +24,10 @@ export const DropzonePlaceholder = ({ mediaTypes, mediaMaxSizeKb }: DropzonePlac
22
24
  <div className='solid-dropzone-title'>
23
25
  Drag and Drop or <span className='solid-dropzone-title-accent'>choose files</span> to upload
24
26
  </div>
25
- <p className="solid-dropzone-meta">Supported format: {supportedFormats} | Max size: {maxSizeMB} MB</p>
27
+ <p className="solid-dropzone-meta m-0">Allowed file types: {allowedTypesLabel} | Max file size: {maxSizeLabel}</p>
28
+ {allowedExtensionsLabel && (
29
+ <p className="solid-dropzone-meta m-0">Allowed extensions: {allowedExtensionsLabel}</p>
30
+ )}
26
31
  <div>
27
32
  <SolidButton variant="outline" size='sm' type="button">
28
33
  Click to Browse
@@ -72,7 +72,9 @@
72
72
 
73
73
  .resultsMeta {
74
74
  display: inline-flex;
75
+ flex-direction: row;
75
76
  align-items: center;
77
+ flex-shrink: 0;
76
78
  min-height: 1.75rem;
77
79
  padding: 0.15rem 0.6rem;
78
80
  border-radius: 999px;
@@ -80,6 +82,7 @@
80
82
  color: var(--primary-color, #7c3aed);
81
83
  font-size: 0.76rem;
82
84
  font-weight: 600;
85
+ white-space: nowrap;
83
86
  }
84
87
 
85
88
  .legend {
@@ -247,7 +250,7 @@
247
250
  .groupCard {
248
251
  border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
249
252
  border-radius: 1rem;
250
- overflow: hidden;
253
+ overflow: visible;
251
254
  background: color-mix(in srgb, var(--surface-card, var(--card)) 96%, var(--card) 4%);
252
255
  }
253
256
 
@@ -1 +1 @@
1
- {"version":3,"file":"SolidFormStepper.d.ts","sourceRoot":"","sources":["../../../src/components/common/SolidFormStepper.tsx"],"names":[],"mappings":"AAUA,UAAU,KAAK;IACX,qBAAqB,CAAC,EAAE,GAAG,CAAC;IAC5B,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,uBAAuB,CAAC,EAAE,GAAG,CAAA;IAC7B,0BAA0B,CAAC,EAAE,GAAG,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAC/B;AAED,eAAO,MAAM,gBAAgB,UAAW,KAAK,4CAwS5C,CAAA"}
1
+ {"version":3,"file":"SolidFormStepper.d.ts","sourceRoot":"","sources":["../../../src/components/common/SolidFormStepper.tsx"],"names":[],"mappings":"AAUA,UAAU,KAAK;IACX,qBAAqB,CAAC,EAAE,GAAG,CAAC;IAC5B,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACxB,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,uBAAuB,CAAC,EAAE,GAAG,CAAA;IAC7B,0BAA0B,CAAC,EAAE,GAAG,CAAA;IAChC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;CAC/B;AAED,eAAO,MAAM,gBAAgB,UAAW,KAAK,4CA8S5C,CAAA"}
@@ -69,6 +69,7 @@ export var SolidFormStepper = function (props) {
69
69
  var activeStep = (_s = solidFormViewWorkflowData === null || solidFormViewWorkflowData === void 0 ? void 0 : solidFormViewWorkflowData[0]) === null || _s === void 0 ? void 0 : _s.value;
70
70
  var _u = useState(""), solidWorkflowFieldKey = _u[0], setSolidWorkflowFieldKey = _u[1];
71
71
  var _v = useState(1), visibleStepsCount = _v[0], setVisibleStepsCount = _v[1];
72
+ var isStepperDisabled = solidWorkflowFieldEnabled === false || id === "new" || viewMode === "view";
72
73
  // Dynamic responsive logic
73
74
  useEffect(function () {
74
75
  var calculateVisibleSteps = function () {
@@ -190,7 +191,7 @@ export var SolidFormStepper = function (props) {
190
191
  });
191
192
  }); };
192
193
  var handleButtonClick = function (stepValue) {
193
- if (solidWorkflowFieldEnabled === false || id === "new" || viewMode === "view") {
194
+ if (isStepperDisabled) {
194
195
  return;
195
196
  }
196
197
  else {
@@ -233,11 +234,11 @@ export var SolidFormStepper = function (props) {
233
234
  }
234
235
  var hasPreviousSteps = previousSteps.length > 0 && !isSingleVisibleStep;
235
236
  var hasNextSteps = nextSteps.length > 0 || (isSingleVisibleStep && previousSteps.length > 0);
236
- return (_jsx(_Fragment, { children: _jsxs("div", { ref: containerRef, className: 'arrow-stepper-container', children: [hasPreviousSteps && (_jsxs(SolidPopover, { autoCloseGroup: "solid-form-stepper-overflow", children: [_jsx(SolidPopoverTrigger, { asChild: true, children: _jsx("button", { type: 'button', className: "overflow-button overflow-left-button", children: _jsx(SolidIcon, { name: "si-ellipsis-h" }) }) }), _jsx(SolidPopoverContent, { align: "start", className: "solid-custom-overlay solid-form-stepper-overlay", children: _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }, children: previousSteps.map(function (step, index) {
237
+ return (_jsx(_Fragment, { children: _jsxs("div", { ref: containerRef, className: 'arrow-stepper-container', children: [hasPreviousSteps && (_jsxs(SolidPopover, { autoCloseGroup: "solid-form-stepper-overflow", children: [_jsx(SolidPopoverTrigger, { asChild: true, children: _jsx("button", { type: 'button', className: "overflow-button overflow-left-button", disabled: isStepperDisabled, children: _jsx(SolidIcon, { name: "si-ellipsis-h" }) }) }), _jsx(SolidPopoverContent, { align: "start", className: "solid-custom-overlay solid-form-stepper-overlay", children: _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }, children: previousSteps.map(function (step, index) {
237
238
  var stepIndex = index;
238
239
  var isStepActive = stepIndex === activeIndex;
239
240
  var isStepBeforeActive = stepIndex < activeIndex;
240
- return (_jsx("button", { type: 'button', className: "overlay-step-button ".concat(isStepActive ? 'active' : '', " ").concat(isStepBeforeActive ? 'completed' : ''), onClick: function () { return handleButtonClick(step.value); }, children: step.label }, stepIndex));
241
+ return (_jsx("button", { type: 'button', className: "overlay-step-button ".concat(isStepActive ? 'active' : '', " ").concat(isStepBeforeActive ? 'completed' : ''), onClick: function () { return handleButtonClick(step.value); }, disabled: isStepperDisabled, children: step.label }, stepIndex));
241
242
  }) }) })] })), visibleSteps.map(function (step) {
242
243
  var stepIndex = solidFormViewWorkflowData.findIndex(function (s) { return s.value === step.value; });
243
244
  var isActive = stepIndex === activeIndex;
@@ -247,13 +248,13 @@ export var SolidFormStepper = function (props) {
247
248
  ? 'arrow-step-active'
248
249
  : isBeforeActive
249
250
  ? 'arrow-step-completed'
250
- : 'arrow-step-future'), onClick: function () { return handleButtonClick(step.value); }, title: step.label, children: _jsx("span", { className: "step-text", children: step.label }) }, step.value));
251
- }), hasNextSteps && (_jsxs(SolidPopover, { autoCloseGroup: "solid-form-stepper-overflow", children: [_jsx(SolidPopoverTrigger, { asChild: true, children: _jsx("button", { type: 'button', className: "overflow-button overflow-right-button", children: _jsx(SolidIcon, { name: "si-ellipsis-h" }) }) }), _jsx(SolidPopoverContent, { className: "solid-custom-overlay solid-form-stepper-overlay", children: _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }, children: (isSingleVisibleStep
251
+ : 'arrow-step-future'), onClick: function () { return handleButtonClick(step.value); }, title: step.label, disabled: isStepperDisabled, children: _jsx("span", { className: "step-text", children: step.label }) }, step.value));
252
+ }), hasNextSteps && (_jsxs(SolidPopover, { autoCloseGroup: "solid-form-stepper-overflow", children: [_jsx(SolidPopoverTrigger, { asChild: true, children: _jsx("button", { type: 'button', className: "overflow-button overflow-right-button", disabled: isStepperDisabled, children: _jsx(SolidIcon, { name: "si-ellipsis-h" }) }) }), _jsx(SolidPopoverContent, { className: "solid-custom-overlay solid-form-stepper-overlay", children: _jsx("div", { style: { display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }, children: (isSingleVisibleStep
252
253
  ? __spreadArray(__spreadArray([], previousSteps, true), nextSteps, true) : nextSteps).map(function (step) {
253
254
  var stepIndex = solidFormViewWorkflowData.findIndex(function (s) { return s.value === step.value; });
254
255
  var isStepActive = stepIndex === activeIndex;
255
256
  var isStepBeforeActive = stepIndex < activeIndex;
256
- return (_jsx("button", { type: 'button', className: "overlay-step-button ".concat(isStepActive ? 'active' : '', " ").concat(isStepBeforeActive ? 'completed' : ''), onClick: function () { return handleButtonClick(step.value); }, children: step.label }, stepIndex));
257
+ return (_jsx("button", { type: 'button', className: "overlay-step-button ".concat(isStepActive ? 'active' : '', " ").concat(isStepBeforeActive ? 'completed' : ''), onClick: function () { return handleButtonClick(step.value); }, disabled: isStepperDisabled, children: step.label }, stepIndex));
257
258
  }) }) })] }))] }) }));
258
259
  };
259
260
  //# sourceMappingURL=SolidFormStepper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SolidFormStepper.js","sourceRoot":"","sources":["../../../src/components/common/SolidFormStepper.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { createSolidEntityApi } from '../../redux/api/solidEntityApi';\nimport { useFormik } from 'formik';\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { ERROR_MESSAGES } from '../../constants/error-messages';\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../redux/features/toastSlice';\nimport { SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from '../shad-cn-ui';\nimport { SolidIcon } from '../shad-cn-ui/SolidIcon';\n\ninterface Props {\n solidFormViewMetaData?: any;\n modelName?: any,\n initialEntityData?: any;\n id?: any,\n solidWorkflowFieldValue?: any\n setSolidWorkflowFieldValue?: any\n onStepperUpdate?: () => void\n}\n\nexport const SolidFormStepper = (props: Props) => {\n const { solidFormViewMetaData, modelName, initialEntityData, id, solidWorkflowFieldValue, setSolidWorkflowFieldValue, onStepperUpdate } = props;\n const dispatch = useDispatch();\n const containerRef = useRef<HTMLDivElement>(null);\n\n const searchParams = useSearchParams();\n const viewMode = searchParams.get('viewMode');\n\n const solidFormViewWorkflowData = solidFormViewMetaData?.data?.solidFormViewWorkflowData;\n const solidWorkflowField = solidFormViewMetaData?.data?.solidView?.layout?.attrs?.workflowField;\n const solidWorkflowFieldEnabled = solidFormViewMetaData?.data?.solidView?.layout?.attrs?.workflowFieldUpdateEnabled;\n const defaultWorkflowFieldValue = solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.defaultValue;\n const defaultWorkflowFieldDisplayName = solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.displayName;\n const activeStep = solidFormViewWorkflowData?.[0]?.value;\n const [solidWorkflowFieldKey, setSolidWorkflowFieldKey] = useState<string>(\"\");\n const [visibleStepsCount, setVisibleStepsCount] = useState<number>(1);\n\n // Dynamic responsive logic\n useEffect(() => {\n const calculateVisibleSteps = () => {\n if (!containerRef.current || !solidFormViewWorkflowData || solidFormViewWorkflowData.length === 0) return;\n\n const containerWidth = containerRef.current.offsetWidth;\n const isMobile = window.innerWidth <= 767;\n const overflowButtonWidth = isMobile ? 38 : 50;\n const arrowWidth = 30; // Width for arrow between buttons\n const spacing = 0; // No gap needed as arrows connect buttons\n\n const tempContainer = document.createElement('div');\n tempContainer.style.visibility = 'hidden';\n tempContainer.style.position = 'absolute';\n document.body.appendChild(tempContainer);\n\n const buttonWidths: number[] = [];\n\n solidFormViewWorkflowData.forEach((step: any) => {\n const tempButton = document.createElement('button');\n tempButton.className = 'arrow-step-button';\n tempButton.textContent = step.label;\n tempButton.style.padding = '0.5rem 1.5rem';\n tempButton.style.minWidth = '100px';\n tempContainer.appendChild(tempButton);\n buttonWidths.push(Math.max(100, tempButton.offsetWidth));\n });\n\n document.body.removeChild(tempContainer);\n\n let count = 0;\n let totalWidth = 0;\n\n for (let i = 0; i < buttonWidths.length; i++) {\n const buttonWidth = buttonWidths[i];\n const arrowSpace = i > 0 ? arrowWidth : 0;\n const needsOverflow = i < buttonWidths.length - 1;\n const requiredWidth = totalWidth + buttonWidth + arrowSpace + (needsOverflow ? overflowButtonWidth : 0);\n\n if (requiredWidth <= containerWidth) {\n totalWidth += buttonWidth + arrowSpace;\n count++;\n } else {\n break;\n }\n }\n\n count = Math.max(1, count);\n setVisibleStepsCount(count);\n };\n\n calculateVisibleSteps();\n\n const resizeObserver = new ResizeObserver(calculateVisibleSteps);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n\n const timeoutId = setTimeout(calculateVisibleSteps, 100);\n\n return () => {\n resizeObserver.disconnect();\n clearTimeout(timeoutId);\n };\n }, [solidFormViewWorkflowData]);\n\n useEffect(() => {\n if (!solidWorkflowField) return;\n\n setSolidWorkflowFieldKey(solidWorkflowField);\n\n setSolidWorkflowFieldValue(() => {\n if (initialEntityData?.[solidWorkflowField] !== undefined) {\n if (solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.type === \"relation\") {\n return initialEntityData[solidWorkflowField]?.id || initialEntityData[solidWorkflowField];\n } else {\n return initialEntityData[solidWorkflowField];\n }\n } else if (defaultWorkflowFieldValue !== undefined) {\n return defaultWorkflowFieldValue;\n } else {\n return activeStep;\n }\n });\n }, [solidWorkflowField, initialEntityData, defaultWorkflowFieldValue, activeStep]);\n\n const formik = useFormik({\n enableReinitialize: true,\n initialValues: {\n id: +id,\n [solidWorkflowFieldKey]: solidWorkflowFieldValue || \"\",\n },\n onSubmit: (values) => {\n handleStepChange(values);\n }\n });\n\n const entityApi = createSolidEntityApi(modelName);\n const { usePatchUpdateSolidEntityMutation } = entityApi;\n\n const [\n updateStepper,\n { isSuccess: isStepperUpdateSuccessfull, isError: isStepperUpdateError, error: stepperUpdateError },\n ] = usePatchUpdateSolidEntityMutation();\n\n const handleStepChange = async (values: any) => {\n try {\n const result = await updateStepper({ id: values.id, data: { [solidWorkflowFieldKey]: values[solidWorkflowFieldKey] } }).unwrap();\n if (result?.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.FIELD_UPDATE(defaultWorkflowFieldDisplayName), detail: ERROR_MESSAGES.FIELD_UPDATE_SUCCESSFULLY(defaultWorkflowFieldDisplayName) }));\n if (result?.data?.[solidWorkflowFieldKey]) {\n setSolidWorkflowFieldValue(result.data[solidWorkflowFieldKey]);\n }\n if (onStepperUpdate) {\n onStepperUpdate();\n }\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.UPDATING_STEPPER, error);\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.UPDATE_FAILED, detail: ERROR_MESSAGES.FAILED_UPDATE_FROM }));\n }\n }\n\n const handleButtonClick = (stepValue: any) => {\n if (solidWorkflowFieldEnabled === false || id === \"new\" || viewMode === \"view\") {\n return\n } else {\n formik.setFieldValue(solidWorkflowFieldKey, stepValue);\n formik.handleSubmit();\n }\n }\n\n const activeIndex = solidFormViewWorkflowData?.findIndex((step: any) => step.value === solidWorkflowFieldValue) ?? -1;\n\n let visibleSteps: any[] = [];\n let previousSteps: any[] = [];\n let nextSteps: any[] = [];\n const isSingleVisibleStep = visibleStepsCount === 1;\n\n if (solidFormViewWorkflowData && solidFormViewWorkflowData.length > 0) {\n if (activeIndex === -1) {\n visibleSteps = solidFormViewWorkflowData.slice(0, visibleStepsCount);\n nextSteps = solidFormViewWorkflowData.slice(visibleStepsCount);\n } else if (visibleStepsCount === 1) {\n visibleSteps = [solidFormViewWorkflowData[activeIndex]];\n previousSteps = solidFormViewWorkflowData.slice(0, activeIndex);\n nextSteps = solidFormViewWorkflowData.slice(activeIndex + 1);\n } else {\n const totalSteps = solidFormViewWorkflowData.length;\n\n if (activeIndex < visibleStepsCount) {\n visibleSteps = solidFormViewWorkflowData.slice(0, visibleStepsCount);\n nextSteps = solidFormViewWorkflowData.slice(visibleStepsCount);\n } else {\n const slotsAvailable = visibleStepsCount - 1;\n const afterActive = Math.min(Math.floor(slotsAvailable / 2), totalSteps - activeIndex - 1);\n const beforeActive = slotsAvailable - afterActive;\n\n const startIndex = Math.max(0, activeIndex - beforeActive);\n const endIndex = Math.min(totalSteps, activeIndex + afterActive + 1);\n\n previousSteps = solidFormViewWorkflowData.slice(0, startIndex);\n visibleSteps = solidFormViewWorkflowData.slice(startIndex, endIndex);\n nextSteps = solidFormViewWorkflowData.slice(endIndex);\n }\n }\n }\n\n const hasPreviousSteps =\n previousSteps.length > 0 && !isSingleVisibleStep;\n\n const hasNextSteps =\n nextSteps.length > 0 || (isSingleVisibleStep && previousSteps.length > 0);\n\n return (\n <>\n <div ref={containerRef} className='arrow-stepper-container'>\n {hasPreviousSteps && (\n <SolidPopover autoCloseGroup=\"solid-form-stepper-overflow\">\n <SolidPopoverTrigger asChild>\n <button\n type='button'\n className=\"overflow-button overflow-left-button\"\n >\n <SolidIcon name=\"si-ellipsis-h\" />\n </button>\n </SolidPopoverTrigger>\n <SolidPopoverContent align=\"start\" className=\"solid-custom-overlay solid-form-stepper-overlay\">\n <div style={{ display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }}>\n {previousSteps.map((step: any, index: number) => {\n const stepIndex = index;\n const isStepActive = stepIndex === activeIndex;\n const isStepBeforeActive = stepIndex < activeIndex;\n\n return (\n <button\n key={stepIndex}\n type='button'\n className={`overlay-step-button ${isStepActive ? 'active' : ''} ${isStepBeforeActive ? 'completed' : ''}`}\n onClick={() => handleButtonClick(step.value)}\n >\n {step.label}\n </button>\n )\n })}\n </div>\n </SolidPopoverContent>\n </SolidPopover>\n )}\n\n {visibleSteps.map((step: any) => {\n const stepIndex = solidFormViewWorkflowData.findIndex(\n (s: any) => s.value === step.value\n );\n\n const isActive = stepIndex === activeIndex;\n const isBeforeActive = stepIndex < activeIndex;\n const isSingleButton = visibleSteps.length === 1;\n\n return (\n <button\n key={step.value}\n type=\"button\"\n className={`arrow-step-button ${isSingleButton ? 'single-button' : ''\n } ${isActive\n ? 'arrow-step-active'\n : isBeforeActive\n ? 'arrow-step-completed'\n : 'arrow-step-future'\n }`}\n onClick={() => handleButtonClick(step.value)}\n title={step.label}\n >\n <span className=\"step-text\">{step.label}</span>\n </button>\n );\n })}\n\n {hasNextSteps && (\n <SolidPopover autoCloseGroup=\"solid-form-stepper-overflow\">\n <SolidPopoverTrigger asChild>\n <button\n type='button'\n className=\"overflow-button overflow-right-button\"\n >\n <SolidIcon name=\"si-ellipsis-h\" />\n </button>\n </SolidPopoverTrigger>\n <SolidPopoverContent className=\"solid-custom-overlay solid-form-stepper-overlay\">\n <div style={{ display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }}>\n {(isSingleVisibleStep\n ? [...previousSteps, ...nextSteps]\n : nextSteps).map((step: any) => {\n\n const stepIndex = solidFormViewWorkflowData.findIndex(\n (s: any) => s.value === step.value\n );\n\n const isStepActive = stepIndex === activeIndex;\n const isStepBeforeActive = stepIndex < activeIndex;\n\n return (\n <button\n key={stepIndex}\n type='button'\n className={`overlay-step-button ${isStepActive ? 'active' : ''} ${isStepBeforeActive ? 'completed' : ''}`}\n onClick={() => handleButtonClick(step.value)}\n >\n {step.label}\n </button>\n )\n })}\n </div>\n </SolidPopoverContent>\n </SolidPopover>\n )}\n </div>\n </>\n )\n}\n"]}
1
+ {"version":3,"file":"SolidFormStepper.js","sourceRoot":"","sources":["../../../src/components/common/SolidFormStepper.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport { createSolidEntityApi } from '../../redux/api/solidEntityApi';\nimport { useFormik } from 'formik';\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { ERROR_MESSAGES } from '../../constants/error-messages';\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../redux/features/toastSlice';\nimport { SolidPopover, SolidPopoverContent, SolidPopoverTrigger } from '../shad-cn-ui';\nimport { SolidIcon } from '../shad-cn-ui/SolidIcon';\n\ninterface Props {\n solidFormViewMetaData?: any;\n modelName?: any,\n initialEntityData?: any;\n id?: any,\n solidWorkflowFieldValue?: any\n setSolidWorkflowFieldValue?: any\n onStepperUpdate?: () => void\n}\n\nexport const SolidFormStepper = (props: Props) => {\n const { solidFormViewMetaData, modelName, initialEntityData, id, solidWorkflowFieldValue, setSolidWorkflowFieldValue, onStepperUpdate } = props;\n const dispatch = useDispatch();\n const containerRef = useRef<HTMLDivElement>(null);\n\n const searchParams = useSearchParams();\n const viewMode = searchParams.get('viewMode');\n\n const solidFormViewWorkflowData = solidFormViewMetaData?.data?.solidFormViewWorkflowData;\n const solidWorkflowField = solidFormViewMetaData?.data?.solidView?.layout?.attrs?.workflowField;\n const solidWorkflowFieldEnabled = solidFormViewMetaData?.data?.solidView?.layout?.attrs?.workflowFieldUpdateEnabled;\n const defaultWorkflowFieldValue = solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.defaultValue;\n const defaultWorkflowFieldDisplayName = solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.displayName;\n const activeStep = solidFormViewWorkflowData?.[0]?.value;\n const [solidWorkflowFieldKey, setSolidWorkflowFieldKey] = useState<string>(\"\");\n const [visibleStepsCount, setVisibleStepsCount] = useState<number>(1);\n const isStepperDisabled = solidWorkflowFieldEnabled === false || id === \"new\" || viewMode === \"view\";\n\n // Dynamic responsive logic\n useEffect(() => {\n const calculateVisibleSteps = () => {\n if (!containerRef.current || !solidFormViewWorkflowData || solidFormViewWorkflowData.length === 0) return;\n\n const containerWidth = containerRef.current.offsetWidth;\n const isMobile = window.innerWidth <= 767;\n const overflowButtonWidth = isMobile ? 38 : 50;\n const arrowWidth = 30; // Width for arrow between buttons\n const spacing = 0; // No gap needed as arrows connect buttons\n\n const tempContainer = document.createElement('div');\n tempContainer.style.visibility = 'hidden';\n tempContainer.style.position = 'absolute';\n document.body.appendChild(tempContainer);\n\n const buttonWidths: number[] = [];\n\n solidFormViewWorkflowData.forEach((step: any) => {\n const tempButton = document.createElement('button');\n tempButton.className = 'arrow-step-button';\n tempButton.textContent = step.label;\n tempButton.style.padding = '0.5rem 1.5rem';\n tempButton.style.minWidth = '100px';\n tempContainer.appendChild(tempButton);\n buttonWidths.push(Math.max(100, tempButton.offsetWidth));\n });\n\n document.body.removeChild(tempContainer);\n\n let count = 0;\n let totalWidth = 0;\n\n for (let i = 0; i < buttonWidths.length; i++) {\n const buttonWidth = buttonWidths[i];\n const arrowSpace = i > 0 ? arrowWidth : 0;\n const needsOverflow = i < buttonWidths.length - 1;\n const requiredWidth = totalWidth + buttonWidth + arrowSpace + (needsOverflow ? overflowButtonWidth : 0);\n\n if (requiredWidth <= containerWidth) {\n totalWidth += buttonWidth + arrowSpace;\n count++;\n } else {\n break;\n }\n }\n\n count = Math.max(1, count);\n setVisibleStepsCount(count);\n };\n\n calculateVisibleSteps();\n\n const resizeObserver = new ResizeObserver(calculateVisibleSteps);\n if (containerRef.current) {\n resizeObserver.observe(containerRef.current);\n }\n\n const timeoutId = setTimeout(calculateVisibleSteps, 100);\n\n return () => {\n resizeObserver.disconnect();\n clearTimeout(timeoutId);\n };\n }, [solidFormViewWorkflowData]);\n\n useEffect(() => {\n if (!solidWorkflowField) return;\n\n setSolidWorkflowFieldKey(solidWorkflowField);\n\n setSolidWorkflowFieldValue(() => {\n if (initialEntityData?.[solidWorkflowField] !== undefined) {\n if (solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.type === \"relation\") {\n return initialEntityData[solidWorkflowField]?.id || initialEntityData[solidWorkflowField];\n } else {\n return initialEntityData[solidWorkflowField];\n }\n } else if (defaultWorkflowFieldValue !== undefined) {\n return defaultWorkflowFieldValue;\n } else {\n return activeStep;\n }\n });\n }, [solidWorkflowField, initialEntityData, defaultWorkflowFieldValue, activeStep]);\n\n const formik = useFormik({\n enableReinitialize: true,\n initialValues: {\n id: +id,\n [solidWorkflowFieldKey]: solidWorkflowFieldValue || \"\",\n },\n onSubmit: (values) => {\n handleStepChange(values);\n }\n });\n\n const entityApi = createSolidEntityApi(modelName);\n const { usePatchUpdateSolidEntityMutation } = entityApi;\n\n const [\n updateStepper,\n { isSuccess: isStepperUpdateSuccessfull, isError: isStepperUpdateError, error: stepperUpdateError },\n ] = usePatchUpdateSolidEntityMutation();\n\n const handleStepChange = async (values: any) => {\n try {\n const result = await updateStepper({ id: values.id, data: { [solidWorkflowFieldKey]: values[solidWorkflowFieldKey] } }).unwrap();\n if (result?.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.FIELD_UPDATE(defaultWorkflowFieldDisplayName), detail: ERROR_MESSAGES.FIELD_UPDATE_SUCCESSFULLY(defaultWorkflowFieldDisplayName) }));\n if (result?.data?.[solidWorkflowFieldKey]) {\n setSolidWorkflowFieldValue(result.data[solidWorkflowFieldKey]);\n }\n if (onStepperUpdate) {\n onStepperUpdate();\n }\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.UPDATING_STEPPER, error);\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.UPDATE_FAILED, detail: ERROR_MESSAGES.FAILED_UPDATE_FROM }));\n }\n }\n\n const handleButtonClick = (stepValue: any) => {\n if (isStepperDisabled) {\n return\n } else {\n formik.setFieldValue(solidWorkflowFieldKey, stepValue);\n formik.handleSubmit();\n }\n }\n\n const activeIndex = solidFormViewWorkflowData?.findIndex((step: any) => step.value === solidWorkflowFieldValue) ?? -1;\n\n let visibleSteps: any[] = [];\n let previousSteps: any[] = [];\n let nextSteps: any[] = [];\n const isSingleVisibleStep = visibleStepsCount === 1;\n\n if (solidFormViewWorkflowData && solidFormViewWorkflowData.length > 0) {\n if (activeIndex === -1) {\n visibleSteps = solidFormViewWorkflowData.slice(0, visibleStepsCount);\n nextSteps = solidFormViewWorkflowData.slice(visibleStepsCount);\n } else if (visibleStepsCount === 1) {\n visibleSteps = [solidFormViewWorkflowData[activeIndex]];\n previousSteps = solidFormViewWorkflowData.slice(0, activeIndex);\n nextSteps = solidFormViewWorkflowData.slice(activeIndex + 1);\n } else {\n const totalSteps = solidFormViewWorkflowData.length;\n\n if (activeIndex < visibleStepsCount) {\n visibleSteps = solidFormViewWorkflowData.slice(0, visibleStepsCount);\n nextSteps = solidFormViewWorkflowData.slice(visibleStepsCount);\n } else {\n const slotsAvailable = visibleStepsCount - 1;\n const afterActive = Math.min(Math.floor(slotsAvailable / 2), totalSteps - activeIndex - 1);\n const beforeActive = slotsAvailable - afterActive;\n\n const startIndex = Math.max(0, activeIndex - beforeActive);\n const endIndex = Math.min(totalSteps, activeIndex + afterActive + 1);\n\n previousSteps = solidFormViewWorkflowData.slice(0, startIndex);\n visibleSteps = solidFormViewWorkflowData.slice(startIndex, endIndex);\n nextSteps = solidFormViewWorkflowData.slice(endIndex);\n }\n }\n }\n\n const hasPreviousSteps =\n previousSteps.length > 0 && !isSingleVisibleStep;\n\n const hasNextSteps =\n nextSteps.length > 0 || (isSingleVisibleStep && previousSteps.length > 0);\n\n return (\n <>\n <div ref={containerRef} className='arrow-stepper-container'>\n {hasPreviousSteps && (\n <SolidPopover autoCloseGroup=\"solid-form-stepper-overflow\">\n <SolidPopoverTrigger asChild>\n <button\n type='button'\n className=\"overflow-button overflow-left-button\"\n disabled={isStepperDisabled}\n >\n <SolidIcon name=\"si-ellipsis-h\" />\n </button>\n </SolidPopoverTrigger>\n <SolidPopoverContent align=\"start\" className=\"solid-custom-overlay solid-form-stepper-overlay\">\n <div style={{ display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }}>\n {previousSteps.map((step: any, index: number) => {\n const stepIndex = index;\n const isStepActive = stepIndex === activeIndex;\n const isStepBeforeActive = stepIndex < activeIndex;\n\n return (\n <button\n key={stepIndex}\n type='button'\n className={`overlay-step-button ${isStepActive ? 'active' : ''} ${isStepBeforeActive ? 'completed' : ''}`}\n onClick={() => handleButtonClick(step.value)}\n disabled={isStepperDisabled}\n >\n {step.label}\n </button>\n )\n })}\n </div>\n </SolidPopoverContent>\n </SolidPopover>\n )}\n\n {visibleSteps.map((step: any) => {\n const stepIndex = solidFormViewWorkflowData.findIndex(\n (s: any) => s.value === step.value\n );\n\n const isActive = stepIndex === activeIndex;\n const isBeforeActive = stepIndex < activeIndex;\n const isSingleButton = visibleSteps.length === 1;\n\n return (\n <button\n key={step.value}\n type=\"button\"\n className={`arrow-step-button ${isSingleButton ? 'single-button' : ''\n } ${isActive\n ? 'arrow-step-active'\n : isBeforeActive\n ? 'arrow-step-completed'\n : 'arrow-step-future'\n }`}\n onClick={() => handleButtonClick(step.value)}\n title={step.label}\n disabled={isStepperDisabled}\n >\n <span className=\"step-text\">{step.label}</span>\n </button>\n );\n })}\n\n {hasNextSteps && (\n <SolidPopover autoCloseGroup=\"solid-form-stepper-overflow\">\n <SolidPopoverTrigger asChild>\n <button\n type='button'\n className=\"overflow-button overflow-right-button\"\n disabled={isStepperDisabled}\n >\n <SolidIcon name=\"si-ellipsis-h\" />\n </button>\n </SolidPopoverTrigger>\n <SolidPopoverContent className=\"solid-custom-overlay solid-form-stepper-overlay\">\n <div style={{ display: 'flex', flexDirection: 'column', gap: '0.25rem', padding: '0.5rem' }}>\n {(isSingleVisibleStep\n ? [...previousSteps, ...nextSteps]\n : nextSteps).map((step: any) => {\n\n const stepIndex = solidFormViewWorkflowData.findIndex(\n (s: any) => s.value === step.value\n );\n\n const isStepActive = stepIndex === activeIndex;\n const isStepBeforeActive = stepIndex < activeIndex;\n\n return (\n <button\n key={stepIndex}\n type='button'\n className={`overlay-step-button ${isStepActive ? 'active' : ''} ${isStepBeforeActive ? 'completed' : ''}`}\n onClick={() => handleButtonClick(step.value)}\n disabled={isStepperDisabled}\n >\n {step.label}\n </button>\n )\n })}\n </div>\n </SolidPopoverContent>\n </SolidPopover>\n )}\n </div>\n </>\n )\n}\n"]}
@@ -34,6 +34,7 @@ export const SolidFormStepper = (props: Props) => {
34
34
  const activeStep = solidFormViewWorkflowData?.[0]?.value;
35
35
  const [solidWorkflowFieldKey, setSolidWorkflowFieldKey] = useState<string>("");
36
36
  const [visibleStepsCount, setVisibleStepsCount] = useState<number>(1);
37
+ const isStepperDisabled = solidWorkflowFieldEnabled === false || id === "new" || viewMode === "view";
37
38
 
38
39
  // Dynamic responsive logic
39
40
  useEffect(() => {
@@ -159,7 +160,7 @@ export const SolidFormStepper = (props: Props) => {
159
160
  }
160
161
 
161
162
  const handleButtonClick = (stepValue: any) => {
162
- if (solidWorkflowFieldEnabled === false || id === "new" || viewMode === "view") {
163
+ if (isStepperDisabled) {
163
164
  return
164
165
  } else {
165
166
  formik.setFieldValue(solidWorkflowFieldKey, stepValue);
@@ -218,6 +219,7 @@ export const SolidFormStepper = (props: Props) => {
218
219
  <button
219
220
  type='button'
220
221
  className="overflow-button overflow-left-button"
222
+ disabled={isStepperDisabled}
221
223
  >
222
224
  <SolidIcon name="si-ellipsis-h" />
223
225
  </button>
@@ -235,6 +237,7 @@ export const SolidFormStepper = (props: Props) => {
235
237
  type='button'
236
238
  className={`overlay-step-button ${isStepActive ? 'active' : ''} ${isStepBeforeActive ? 'completed' : ''}`}
237
239
  onClick={() => handleButtonClick(step.value)}
240
+ disabled={isStepperDisabled}
238
241
  >
239
242
  {step.label}
240
243
  </button>
@@ -267,6 +270,7 @@ export const SolidFormStepper = (props: Props) => {
267
270
  }`}
268
271
  onClick={() => handleButtonClick(step.value)}
269
272
  title={step.label}
273
+ disabled={isStepperDisabled}
270
274
  >
271
275
  <span className="step-text">{step.label}</span>
272
276
  </button>
@@ -279,6 +283,7 @@ export const SolidFormStepper = (props: Props) => {
279
283
  <button
280
284
  type='button'
281
285
  className="overflow-button overflow-right-button"
286
+ disabled={isStepperDisabled}
282
287
  >
283
288
  <SolidIcon name="si-ellipsis-h" />
284
289
  </button>
@@ -302,6 +307,7 @@ export const SolidFormStepper = (props: Props) => {
302
307
  type='button'
303
308
  className={`overlay-step-button ${isStepActive ? 'active' : ''} ${isStepBeforeActive ? 'completed' : ''}`}
304
309
  onClick={() => handleButtonClick(step.value)}
310
+ disabled={isStepperDisabled}
305
311
  >
306
312
  {step.label}
307
313
  </button>
@@ -1 +1 @@
1
- {"version":3,"file":"SolidThemeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/common/SolidThemeProvider.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,kBAAkB,YAqB9B,CAAC"}
1
+ {"version":3,"file":"SolidThemeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/common/SolidThemeProvider.tsx"],"names":[],"mappings":"AA6BA,eAAO,MAAM,kBAAkB,YA8E9B,CAAC"}