@solidxai/core-ui 0.1.14 → 0.1.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/AuthLayout.js +1 -1
- package/dist/components/auth/AuthLayout.js.map +1 -1
- package/dist/components/auth/AuthLayout.tsx +2 -2
- package/dist/components/common/DropzonePlaceholder.d.ts +2 -1
- package/dist/components/common/DropzonePlaceholder.d.ts.map +1 -1
- package/dist/components/common/DropzonePlaceholder.js +10 -7
- package/dist/components/common/DropzonePlaceholder.js.map +1 -1
- package/dist/components/common/DropzonePlaceholder.tsx +14 -9
- package/dist/components/common/SettingsComponent.module.css +4 -1
- package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
- package/dist/components/common/SolidFormStepper.js +7 -6
- package/dist/components/common/SolidFormStepper.js.map +1 -1
- package/dist/components/common/SolidFormStepper.tsx +7 -1
- package/dist/components/common/SolidThemeProvider.d.ts.map +1 -1
- package/dist/components/common/SolidThemeProvider.js +127 -11
- package/dist/components/common/SolidThemeProvider.js.map +1 -1
- package/dist/components/common/SolidThemeProvider.tsx +104 -22
- package/dist/components/core/card/CardGrid.d.ts +1 -1
- package/dist/components/core/card/CardGrid.d.ts.map +1 -1
- package/dist/components/core/card/CardGrid.js +2 -2
- package/dist/components/core/card/CardGrid.js.map +1 -1
- package/dist/components/core/card/CardGrid.tsx +4 -0
- package/dist/components/core/card/CardItem.d.ts +2 -0
- package/dist/components/core/card/CardItem.d.ts.map +1 -1
- package/dist/components/core/card/CardItem.js +5 -4
- package/dist/components/core/card/CardItem.js.map +1 -1
- package/dist/components/core/card/CardItem.tsx +16 -1
- package/dist/components/core/card/SolidCardView.d.ts +28 -1
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardView.js +99 -44
- package/dist/components/core/card/SolidCardView.js.map +1 -1
- package/dist/components/core/card/SolidCardView.tsx +119 -7
- package/dist/components/core/card/SolidCardViewConfigure.d.ts +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.js +15 -6
- package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.tsx +34 -0
- package/dist/components/core/common/PDFViewer.d.ts +9 -5
- package/dist/components/core/common/PDFViewer.d.ts.map +1 -1
- package/dist/components/core/common/PDFViewer.js +10 -102
- package/dist/components/core/common/PDFViewer.js.map +1 -1
- package/dist/components/core/common/PDFViewer.tsx +29 -88
- package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
- package/dist/components/core/common/SolidCreateButton.js +2 -2
- package/dist/components/core/common/SolidCreateButton.js.map +1 -1
- package/dist/components/core/common/SolidCreateButton.tsx +22 -2
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +216 -198
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +287 -216
- package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormActionHeader.js +21 -21
- package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
- package/dist/components/core/form/SolidFormActionHeader.tsx +62 -53
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +101 -74
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +46 -19
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +3 -2
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +3 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +3 -2
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.tsx +3 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts +1 -0
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +20 -2
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
- package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +29 -2
- package/dist/components/core/form/fields/solidFields.module.css +7 -0
- package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
- package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.js +2 -2
- package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.tsx +3 -1
- package/dist/components/core/kanban/KanbanCard.d.ts +2 -0
- package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanCard.js +5 -3
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.tsx +15 -2
- package/dist/components/core/kanban/KanbanColumn.d.ts +3 -1
- package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanColumn.js +2 -2
- package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
- package/dist/components/core/kanban/KanbanColumn.tsx +4 -2
- package/dist/components/core/kanban/SolidKanbanView.d.ts +25 -1
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +95 -50
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +87 -9
- package/dist/components/core/list/PLAN.md +1 -1
- package/dist/components/core/list/SolidListView.d.ts +11 -0
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +51 -90
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +77 -112
- package/dist/components/core/list/SolidListViewColumn.d.ts +2 -1
- package/dist/components/core/list/SolidListViewColumn.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewColumn.js +2 -2
- package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
- package/dist/components/core/list/SolidListViewColumn.tsx +4 -3
- package/dist/components/core/list/SolidListViewConfigure.js +1 -1
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
- package/dist/components/core/list/columns/SolidRelationColumn.d.ts +1 -1
- package/dist/components/core/list/columns/SolidRelationColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidRelationColumn.js +2 -2
- package/dist/components/core/list/columns/SolidRelationColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidRelationColumn.tsx +2 -2
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts +2 -2
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +5 -4
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +5 -4
- package/dist/components/core/model/CreateModel.d.ts.map +1 -1
- package/dist/components/core/model/CreateModel.js +2 -1
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/CreateModel.tsx +2 -0
- package/dist/components/core/model/FieldMetaData.d.ts +1 -1
- package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaData.js +8 -8
- package/dist/components/core/model/FieldMetaData.js.map +1 -1
- package/dist/components/core/model/FieldMetaData.tsx +2 -2
- package/dist/components/core/model/FieldMetaDataForm.css +119 -0
- package/dist/components/core/model/FieldMetaDataForm.d.ts.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.js +147 -97
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.tsx +124 -32
- package/dist/components/core/module/ModuleMetadataExplorer.css +64 -0
- package/dist/components/core/module/ModulePackageDialog.css +117 -12
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +6 -3
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +27 -13
- package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -1
- package/dist/components/layout/AdminHeaderActions.js +16 -11
- package/dist/components/layout/AdminHeaderActions.js.map +1 -1
- package/dist/components/layout/AdminHeaderActions.tsx +16 -9
- package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
- package/dist/components/layout/AdminTopHeader.js +1 -18
- package/dist/components/layout/AdminTopHeader.js.map +1 -1
- package/dist/components/layout/AdminTopHeader.tsx +3 -21
- package/dist/helpers/getAcceptedFileTypes.d.ts +12 -2
- package/dist/helpers/getAcceptedFileTypes.d.ts.map +1 -1
- package/dist/helpers/getAcceptedFileTypes.js +72 -16
- package/dist/helpers/getAcceptedFileTypes.js.map +1 -1
- package/dist/helpers/getAcceptedFileTypes.tsx +101 -18
- package/dist/helpers/registry.js +2 -1
- package/dist/helpers/registry.js.map +1 -1
- package/dist/helpers/registry.ts +3 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/index.ts +6 -2
- package/dist/resources/globals.css +274 -109
- package/dist/resources/solid-custom.css +11 -0
- package/dist/resources/solid-responsive.css +1 -5
- package/dist/resources/solid-tailwind-generated.css +1 -1
- package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/CardPage.js +15 -2
- package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/CardPage.tsx +17 -2
- package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.js +31 -3
- package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.tsx +39 -11
- package/dist/routes/pages/admin/core/KanbanPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.js +15 -2
- package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.tsx +17 -2
- package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.js +5 -13
- package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.tsx +5 -15
- package/dist/types/index.d.ts +2 -4
- package/dist/types/solid-core.d.ts +12 -13
- 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: [
|
|
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":"
|
|
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
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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":";
|
|
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
|
|
11
|
-
|
|
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
|
-
|
|
15
|
-
|
|
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">
|
|
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:
|
|
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,
|
|
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 (
|
|
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 (
|
|
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":"
|
|
1
|
+
{"version":3,"file":"SolidThemeProvider.d.ts","sourceRoot":"","sources":["../../../src/components/common/SolidThemeProvider.tsx"],"names":[],"mappings":"AA6BA,eAAO,MAAM,kBAAkB,YA8E9B,CAAC"}
|