@solidxai/core-ui 0.1.14-beta.9 → 0.1.14
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/SettingsComponent.module.css +1 -4
- package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
- package/dist/components/common/SolidFormStepper.js +6 -7
- package/dist/components/common/SolidFormStepper.js.map +1 -1
- package/dist/components/common/SolidFormStepper.tsx +1 -7
- package/dist/components/common/SolidThemeProvider.d.ts.map +1 -1
- package/dist/components/common/SolidThemeProvider.js +11 -127
- package/dist/components/common/SolidThemeProvider.js.map +1 -1
- package/dist/components/common/SolidThemeProvider.tsx +22 -104
- 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 +0 -4
- package/dist/components/core/card/CardItem.d.ts +0 -2
- package/dist/components/core/card/CardItem.d.ts.map +1 -1
- package/dist/components/core/card/CardItem.js +3 -4
- package/dist/components/core/card/CardItem.js.map +1 -1
- package/dist/components/core/card/CardItem.tsx +0 -15
- package/dist/components/core/card/SolidCardView.d.ts +1 -28
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardView.js +44 -99
- package/dist/components/core/card/SolidCardView.js.map +1 -1
- package/dist/components/core/card/SolidCardView.tsx +7 -124
- 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 +6 -15
- package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.tsx +0 -34
- package/dist/components/core/common/PDFViewer.d.ts +5 -9
- package/dist/components/core/common/PDFViewer.d.ts.map +1 -1
- package/dist/components/core/common/PDFViewer.js +102 -10
- package/dist/components/core/common/PDFViewer.js.map +1 -1
- package/dist/components/core/common/PDFViewer.tsx +88 -29
- 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 +2 -22
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +134 -137
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +119 -127
- 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 +53 -62
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +2 -5
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +2 -7
- 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 +1 -3
- package/dist/components/core/kanban/KanbanCard.d.ts +0 -2
- package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanCard.js +2 -4
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.tsx +1 -14
- package/dist/components/core/kanban/KanbanColumn.d.ts +1 -3
- 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 +2 -4
- package/dist/components/core/kanban/SolidKanbanView.d.ts +1 -25
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +50 -89
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +9 -82
- package/dist/components/core/list/PLAN.md +1 -1
- package/dist/components/core/list/SolidListView.d.ts +0 -11
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +3 -8
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +43 -82
- 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/model/CreateModel.d.ts.map +1 -1
- package/dist/components/core/model/CreateModel.js +1 -2
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/CreateModel.tsx +0 -2
- 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 +0 -119
- package/dist/components/core/model/FieldMetaDataForm.js +1 -1
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.tsx +1 -1
- package/dist/components/core/module/ModuleMetadataExplorer.css +0 -64
- package/dist/components/core/module/ModulePackageDialog.css +12 -117
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +3 -6
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +13 -35
- package/dist/components/layout/AdminHeaderActions.d.ts.map +1 -1
- package/dist/components/layout/AdminHeaderActions.js +10 -15
- package/dist/components/layout/AdminHeaderActions.js.map +1 -1
- package/dist/components/layout/AdminHeaderActions.tsx +8 -15
- package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
- package/dist/components/layout/AdminTopHeader.js +18 -1
- package/dist/components/layout/AdminTopHeader.js.map +1 -1
- package/dist/components/layout/AdminTopHeader.tsx +21 -3
- package/dist/index.d.ts +0 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/index.ts +0 -5
- package/dist/resources/globals.css +0 -15
- package/dist/resources/solid-custom.css +0 -11
- package/dist/resources/solid-tailwind-generated.css +1 -1
- package/dist/resources/themes/solid-light-modern/theme.css +3 -4
- package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/CardPage.js +2 -15
- package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/CardPage.tsx +2 -17
- package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.js +3 -31
- package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.tsx +11 -39
- package/dist/routes/pages/admin/core/KanbanPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.js +2 -15
- package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.tsx +2 -17
- package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.js +13 -5
- package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.tsx +15 -5
- package/dist/types/solid-core.d.ts +0 -8
- 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: [(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: [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;
|
|
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
|
-
{
|
|
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 ? (
|
|
@@ -72,9 +72,7 @@
|
|
|
72
72
|
|
|
73
73
|
.resultsMeta {
|
|
74
74
|
display: inline-flex;
|
|
75
|
-
flex-direction: row;
|
|
76
75
|
align-items: center;
|
|
77
|
-
flex-shrink: 0;
|
|
78
76
|
min-height: 1.75rem;
|
|
79
77
|
padding: 0.15rem 0.6rem;
|
|
80
78
|
border-radius: 999px;
|
|
@@ -82,7 +80,6 @@
|
|
|
82
80
|
color: var(--primary-color, #7c3aed);
|
|
83
81
|
font-size: 0.76rem;
|
|
84
82
|
font-weight: 600;
|
|
85
|
-
white-space: nowrap;
|
|
86
83
|
}
|
|
87
84
|
|
|
88
85
|
.legend {
|
|
@@ -250,7 +247,7 @@
|
|
|
250
247
|
.groupCard {
|
|
251
248
|
border: 1px solid color-mix(in srgb, var(--border) 85%, transparent);
|
|
252
249
|
border-radius: 1rem;
|
|
253
|
-
overflow:
|
|
250
|
+
overflow: hidden;
|
|
254
251
|
background: color-mix(in srgb, var(--surface-card, var(--card)) 96%, var(--card) 4%);
|
|
255
252
|
}
|
|
256
253
|
|
|
@@ -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,4CAwS5C,CAAA"}
|
|
@@ -69,7 +69,6 @@ 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";
|
|
73
72
|
// Dynamic responsive logic
|
|
74
73
|
useEffect(function () {
|
|
75
74
|
var calculateVisibleSteps = function () {
|
|
@@ -191,7 +190,7 @@ export var SolidFormStepper = function (props) {
|
|
|
191
190
|
});
|
|
192
191
|
}); };
|
|
193
192
|
var handleButtonClick = function (stepValue) {
|
|
194
|
-
if (
|
|
193
|
+
if (solidWorkflowFieldEnabled === false || id === "new" || viewMode === "view") {
|
|
195
194
|
return;
|
|
196
195
|
}
|
|
197
196
|
else {
|
|
@@ -234,11 +233,11 @@ export var SolidFormStepper = function (props) {
|
|
|
234
233
|
}
|
|
235
234
|
var hasPreviousSteps = previousSteps.length > 0 && !isSingleVisibleStep;
|
|
236
235
|
var hasNextSteps = nextSteps.length > 0 || (isSingleVisibleStep && previousSteps.length > 0);
|
|
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",
|
|
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) {
|
|
238
237
|
var stepIndex = index;
|
|
239
238
|
var isStepActive = stepIndex === activeIndex;
|
|
240
239
|
var isStepBeforeActive = stepIndex < activeIndex;
|
|
241
|
-
return (_jsx("button", { type: 'button', className: "overlay-step-button ".concat(isStepActive ? 'active' : '', " ").concat(isStepBeforeActive ? 'completed' : ''), onClick: function () { return handleButtonClick(step.value); },
|
|
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));
|
|
242
241
|
}) }) })] })), visibleSteps.map(function (step) {
|
|
243
242
|
var stepIndex = solidFormViewWorkflowData.findIndex(function (s) { return s.value === step.value; });
|
|
244
243
|
var isActive = stepIndex === activeIndex;
|
|
@@ -248,13 +247,13 @@ export var SolidFormStepper = function (props) {
|
|
|
248
247
|
? 'arrow-step-active'
|
|
249
248
|
: isBeforeActive
|
|
250
249
|
? 'arrow-step-completed'
|
|
251
|
-
: 'arrow-step-future'), onClick: function () { return handleButtonClick(step.value); }, title: step.label,
|
|
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",
|
|
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
|
|
253
252
|
? __spreadArray(__spreadArray([], previousSteps, true), nextSteps, true) : nextSteps).map(function (step) {
|
|
254
253
|
var stepIndex = solidFormViewWorkflowData.findIndex(function (s) { return s.value === step.value; });
|
|
255
254
|
var isStepActive = stepIndex === activeIndex;
|
|
256
255
|
var isStepBeforeActive = stepIndex < activeIndex;
|
|
257
|
-
return (_jsx("button", { type: 'button', className: "overlay-step-button ".concat(isStepActive ? 'active' : '', " ").concat(isStepBeforeActive ? 'completed' : ''), onClick: function () { return handleButtonClick(step.value); },
|
|
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));
|
|
258
257
|
}) }) })] }))] }) }));
|
|
259
258
|
};
|
|
260
259
|
//# 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 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"]}
|
|
1
|
+
{"version":3,"file":"SolidFormStepper.js","sourceRoot":"","sources":["../../../src/components/common/SolidFormStepper.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACvF,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAYpD,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,KAAY;;;IACjC,IAAA,qBAAqB,GAA6G,KAAK,sBAAlH,EAAE,SAAS,GAAkG,KAAK,UAAvG,EAAE,iBAAiB,GAA+E,KAAK,kBAApF,EAAE,EAAE,GAA2E,KAAK,GAAhF,EAAE,uBAAuB,GAAkD,KAAK,wBAAvD,EAAE,0BAA0B,GAAsB,KAAK,2BAA3B,EAAE,eAAe,GAAK,KAAK,gBAAV,CAAW;IAChJ,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAElD,IAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,IAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE9C,IAAM,yBAAyB,GAAG,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,IAAI,0CAAE,yBAAyB,CAAC;IACzF,IAAM,kBAAkB,GAAG,MAAA,MAAA,MAAA,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,IAAI,0CAAE,SAAS,0CAAE,MAAM,0CAAE,KAAK,0CAAE,aAAa,CAAC;IAChG,IAAM,yBAAyB,GAAG,MAAA,MAAA,MAAA,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,IAAI,0CAAE,SAAS,0CAAE,MAAM,0CAAE,KAAK,0CAAE,0BAA0B,CAAC;IACpH,IAAM,yBAAyB,GAAG,MAAA,MAAA,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,IAAI,0CAAE,mBAAmB,0CAAG,kBAAkB,CAAC,0CAAE,YAAY,CAAC;IACvH,IAAM,+BAA+B,GAAG,MAAA,MAAA,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,IAAI,0CAAE,mBAAmB,0CAAG,kBAAkB,CAAC,0CAAE,WAAW,CAAC;IAC5H,IAAM,UAAU,GAAG,MAAA,yBAAyB,aAAzB,yBAAyB,uBAAzB,yBAAyB,CAAG,CAAC,CAAC,0CAAE,KAAK,CAAC;IACnD,IAAA,KAAoD,QAAQ,CAAS,EAAE,CAAC,EAAvE,qBAAqB,QAAA,EAAE,wBAAwB,QAAwB,CAAC;IACzE,IAAA,KAA4C,QAAQ,CAAS,CAAC,CAAC,EAA9D,iBAAiB,QAAA,EAAE,oBAAoB,QAAuB,CAAC;IAEtE,2BAA2B;IAC3B,SAAS,CAAC;QACN,IAAM,qBAAqB,GAAG;YAC1B,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,yBAAyB,IAAI,yBAAyB,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAE1G,IAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC;YACxD,IAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,IAAI,GAAG,CAAC;YAC1C,IAAM,mBAAmB,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,IAAM,UAAU,GAAG,EAAE,CAAC,CAAC,kCAAkC;YACzD,IAAM,OAAO,GAAG,CAAC,CAAC,CAAC,0CAA0C;YAE7D,IAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpD,aAAa,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;YAC1C,aAAa,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAEzC,IAAM,YAAY,GAAa,EAAE,CAAC;YAElC,yBAAyB,CAAC,OAAO,CAAC,UAAC,IAAS;gBACxC,IAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACpD,UAAU,CAAC,SAAS,GAAG,mBAAmB,CAAC;gBAC3C,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC;gBACpC,UAAU,CAAC,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC;gBAC3C,UAAU,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;gBACpC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBACtC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAEzC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,UAAU,GAAG,CAAC,CAAC;YAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,IAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAM,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAM,aAAa,GAAG,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;gBAClD,IAAM,aAAa,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAExG,IAAI,aAAa,IAAI,cAAc,EAAE;oBACjC,UAAU,IAAI,WAAW,GAAG,UAAU,CAAC;oBACvC,KAAK,EAAE,CAAC;iBACX;qBAAM;oBACH,MAAM;iBACT;aACJ;YAED,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC3B,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC;QAEF,qBAAqB,EAAE,CAAC;QAExB,IAAM,cAAc,GAAG,IAAI,cAAc,CAAC,qBAAqB,CAAC,CAAC;QACjE,IAAI,YAAY,CAAC,OAAO,EAAE;YACtB,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;SAChD;QAED,IAAM,SAAS,GAAG,UAAU,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QAEzD,OAAO;YACH,cAAc,CAAC,UAAU,EAAE,CAAC;YAC5B,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAEhC,SAAS,CAAC;QACN,IAAI,CAAC,kBAAkB;YAAE,OAAO;QAEhC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;QAE7C,0BAA0B,CAAC;;YACvB,IAAI,CAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAG,kBAAkB,CAAC,MAAK,SAAS,EAAE;gBACvD,IAAI,CAAA,MAAA,MAAA,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,IAAI,0CAAE,mBAAmB,0CAAG,kBAAkB,CAAC,0CAAE,IAAI,MAAK,UAAU,EAAE;oBAC7F,OAAO,CAAA,MAAA,iBAAiB,CAAC,kBAAkB,CAAC,0CAAE,EAAE,KAAI,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;iBAC7F;qBAAM;oBACH,OAAO,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;iBAChD;aACJ;iBAAM,IAAI,yBAAyB,KAAK,SAAS,EAAE;gBAChD,OAAO,yBAAyB,CAAC;aACpC;iBAAM;gBACH,OAAO,UAAU,CAAC;aACrB;QACL,CAAC,CAAC,CAAC;IACP,CAAC,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnF,IAAM,MAAM,GAAG,SAAS,CAAC;QACrB,kBAAkB,EAAE,IAAI;QACxB,aAAa;gBACT,EAAE,EAAE,CAAC,EAAE;;YACP,GAAC,qBAAqB,IAAG,uBAAuB,IAAI,EAAE;eACzD;QACD,QAAQ,EAAE,UAAC,MAAM;YACb,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;KACJ,CAAC,CAAC;IAEH,IAAM,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC1C,IAAA,iCAAiC,GAAK,SAAS,kCAAd,CAAe;IAElD,IAAA,KAGF,iCAAiC,EAAE,EAFnC,aAAa,QAAA,EACb,UAAmG,EAAtF,0BAA0B,eAAA,EAAW,oBAAoB,aAAA,EAAS,kBAAkB,WAC9D,CAAC;IAExC,IAAM,gBAAgB,GAAG,UAAO,MAAW;;;;;;;;oBAEpB,qBAAM,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,IAAI,YAAI,GAAC,qBAAqB,IAAG,MAAM,CAAC,qBAAqB,CAAC,KAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAA;;oBAA1H,MAAM,GAAG,SAAiH;oBAChI,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,MAAK,GAAG,EAAE;wBAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,YAAY,CAAC,+BAA+B,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,yBAAyB,CAAC,+BAA+B,CAAC,EAAE,CAAC,CAAC,CAAC;wBACvM,IAAI,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,0CAAG,qBAAqB,CAAC,EAAE;4BACvC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;yBAClE;wBACD,IAAI,eAAe,EAAE;4BACjB,eAAe,EAAE,CAAC;yBACrB;qBACJ;;;;oBAED,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAK,CAAC,CAAC;oBACtD,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;;;;;SAEpI,CAAA;IAED,IAAM,iBAAiB,GAAG,UAAC,SAAc;QACrC,IAAI,yBAAyB,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK,IAAI,QAAQ,KAAK,MAAM,EAAE;YAC5E,OAAM;SACT;aAAM;YACH,MAAM,CAAC,aAAa,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;YACvD,MAAM,CAAC,YAAY,EAAE,CAAC;SACzB;IACL,CAAC,CAAA;IAED,IAAM,WAAW,GAAG,MAAA,yBAAyB,aAAzB,yBAAyB,uBAAzB,yBAAyB,CAAE,SAAS,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,KAAK,KAAK,uBAAuB,EAAtC,CAAsC,CAAC,mCAAI,CAAC,CAAC,CAAC;IAEtH,IAAI,YAAY,GAAU,EAAE,CAAC;IAC7B,IAAI,aAAa,GAAU,EAAE,CAAC;IAC9B,IAAI,SAAS,GAAU,EAAE,CAAC;IAC1B,IAAM,mBAAmB,GAAG,iBAAiB,KAAK,CAAC,CAAC;IAEpD,IAAI,yBAAyB,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE;QACnE,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE;YACpB,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;YACrE,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;SAClE;aAAM,IAAI,iBAAiB,KAAK,CAAC,EAAE;YAChC,YAAY,GAAG,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,CAAC;YACxD,aAAa,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;YAChE,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;SAChE;aAAM;YACH,IAAM,UAAU,GAAG,yBAAyB,CAAC,MAAM,CAAC;YAEpD,IAAI,WAAW,GAAG,iBAAiB,EAAE;gBACjC,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;gBACrE,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;aAClE;iBAAM;gBACH,IAAM,cAAc,GAAG,iBAAiB,GAAG,CAAC,CAAC;gBAC7C,IAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;gBAC3F,IAAM,YAAY,GAAG,cAAc,GAAG,WAAW,CAAC;gBAElD,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC,CAAC;gBAC3D,IAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC;gBAErE,aAAa,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBAC/D,YAAY,GAAG,yBAAyB,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBACrE,SAAS,GAAG,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aACzD;SACJ;KACJ;IAED,IAAM,gBAAgB,GAClB,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAErD,IAAM,YAAY,GACd,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE9E,OAAO,CACH,4BACI,eAAK,GAAG,EAAE,YAAY,EAAE,SAAS,EAAC,yBAAyB,aACtD,gBAAgB,IAAI,CACjB,MAAC,YAAY,IAAC,cAAc,EAAC,6BAA6B,aACtD,KAAC,mBAAmB,IAAC,OAAO,kBACxB,iBACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,sCAAsC,YAEhD,KAAC,SAAS,IAAC,IAAI,EAAC,eAAe,GAAG,GAC7B,GACS,EACtB,KAAC,mBAAmB,IAAC,KAAK,EAAC,OAAO,EAAC,SAAS,EAAC,iDAAiD,YAC1F,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,YACtF,aAAa,CAAC,GAAG,CAAC,UAAC,IAAS,EAAE,KAAa;oCACxC,IAAM,SAAS,GAAG,KAAK,CAAC;oCACxB,IAAM,YAAY,GAAG,SAAS,KAAK,WAAW,CAAC;oCAC/C,IAAM,kBAAkB,GAAG,SAAS,GAAG,WAAW,CAAC;oCAEnD,OAAO,CACH,iBAEI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,8BAAuB,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAI,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,EACzG,OAAO,EAAE,cAAM,OAAA,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAA7B,CAA6B,YAE3C,IAAI,CAAC,KAAK,IALN,SAAS,CAMT,CACZ,CAAA;gCACL,CAAC,CAAC,GACA,GACY,IACX,CAClB,EAEA,YAAY,CAAC,GAAG,CAAC,UAAC,IAAS;oBACxB,IAAM,SAAS,GAAG,yBAAyB,CAAC,SAAS,CACjD,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAtB,CAAsB,CACrC,CAAC;oBAEF,IAAM,QAAQ,GAAG,SAAS,KAAK,WAAW,CAAC;oBAC3C,IAAM,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;oBAC/C,IAAM,cAAc,GAAG,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;oBAEjD,OAAO,CACH,iBAEI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,4BAAqB,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,cAC7D,QAAQ;4BACR,CAAC,CAAC,mBAAmB;4BACrB,CAAC,CAAC,cAAc;gCACZ,CAAC,CAAC,sBAAsB;gCACxB,CAAC,CAAC,mBAAmB,CAC3B,EACN,OAAO,EAAE,cAAM,OAAA,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAA7B,CAA6B,EAC5C,KAAK,EAAE,IAAI,CAAC,KAAK,YAEjB,eAAM,SAAS,EAAC,WAAW,YAAE,IAAI,CAAC,KAAK,GAAQ,IAZ1C,IAAI,CAAC,KAAK,CAaV,CACZ,CAAC;gBACN,CAAC,CAAC,EAED,YAAY,IAAI,CACb,MAAC,YAAY,IAAC,cAAc,EAAC,6BAA6B,aACtD,KAAC,mBAAmB,IAAC,OAAO,kBACxB,iBACI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,uCAAuC,YAEjD,KAAC,SAAS,IAAC,IAAI,EAAC,eAAe,GAAG,GAC7B,GACS,EACtB,KAAC,mBAAmB,IAAC,SAAS,EAAC,iDAAiD,YAC5E,cAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,YACtF,CAAC,mBAAmB;oCACjB,CAAC,iCAAK,aAAa,SAAK,SAAS,QACjC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,UAAC,IAAS;oCAEvB,IAAM,SAAS,GAAG,yBAAyB,CAAC,SAAS,CACjD,UAAC,CAAM,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAtB,CAAsB,CACrC,CAAC;oCAEF,IAAM,YAAY,GAAG,SAAS,KAAK,WAAW,CAAC;oCAC/C,IAAM,kBAAkB,GAAG,SAAS,GAAG,WAAW,CAAC;oCAEnD,OAAO,CACH,iBAEI,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,8BAAuB,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAI,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,EACzG,OAAO,EAAE,cAAM,OAAA,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAA7B,CAA6B,YAE3C,IAAI,CAAC,KAAK,IALN,SAAS,CAMT,CACZ,CAAA;gCACL,CAAC,CAAC,GACJ,GACY,IACX,CAClB,IACC,GACP,CACN,CAAA;AACL,CAAC,CAAA","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"]}
|
|
@@ -34,7 +34,6 @@ 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";
|
|
38
37
|
|
|
39
38
|
// Dynamic responsive logic
|
|
40
39
|
useEffect(() => {
|
|
@@ -160,7 +159,7 @@ export const SolidFormStepper = (props: Props) => {
|
|
|
160
159
|
}
|
|
161
160
|
|
|
162
161
|
const handleButtonClick = (stepValue: any) => {
|
|
163
|
-
if (
|
|
162
|
+
if (solidWorkflowFieldEnabled === false || id === "new" || viewMode === "view") {
|
|
164
163
|
return
|
|
165
164
|
} else {
|
|
166
165
|
formik.setFieldValue(solidWorkflowFieldKey, stepValue);
|
|
@@ -219,7 +218,6 @@ export const SolidFormStepper = (props: Props) => {
|
|
|
219
218
|
<button
|
|
220
219
|
type='button'
|
|
221
220
|
className="overflow-button overflow-left-button"
|
|
222
|
-
disabled={isStepperDisabled}
|
|
223
221
|
>
|
|
224
222
|
<SolidIcon name="si-ellipsis-h" />
|
|
225
223
|
</button>
|
|
@@ -237,7 +235,6 @@ export const SolidFormStepper = (props: Props) => {
|
|
|
237
235
|
type='button'
|
|
238
236
|
className={`overlay-step-button ${isStepActive ? 'active' : ''} ${isStepBeforeActive ? 'completed' : ''}`}
|
|
239
237
|
onClick={() => handleButtonClick(step.value)}
|
|
240
|
-
disabled={isStepperDisabled}
|
|
241
238
|
>
|
|
242
239
|
{step.label}
|
|
243
240
|
</button>
|
|
@@ -270,7 +267,6 @@ export const SolidFormStepper = (props: Props) => {
|
|
|
270
267
|
}`}
|
|
271
268
|
onClick={() => handleButtonClick(step.value)}
|
|
272
269
|
title={step.label}
|
|
273
|
-
disabled={isStepperDisabled}
|
|
274
270
|
>
|
|
275
271
|
<span className="step-text">{step.label}</span>
|
|
276
272
|
</button>
|
|
@@ -283,7 +279,6 @@ export const SolidFormStepper = (props: Props) => {
|
|
|
283
279
|
<button
|
|
284
280
|
type='button'
|
|
285
281
|
className="overflow-button overflow-right-button"
|
|
286
|
-
disabled={isStepperDisabled}
|
|
287
282
|
>
|
|
288
283
|
<SolidIcon name="si-ellipsis-h" />
|
|
289
284
|
</button>
|
|
@@ -307,7 +302,6 @@ export const SolidFormStepper = (props: Props) => {
|
|
|
307
302
|
type='button'
|
|
308
303
|
className={`overlay-step-button ${isStepActive ? 'active' : ''} ${isStepBeforeActive ? 'completed' : ''}`}
|
|
309
304
|
onClick={() => handleButtonClick(step.value)}
|
|
310
|
-
disabled={isStepperDisabled}
|
|
311
305
|
>
|
|
312
306
|
{step.label}
|
|
313
307
|
</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":"AAIA,eAAO,MAAM,kBAAkB,YAqB9B,CAAC"}
|
|
@@ -1,137 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
11
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
12
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
13
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
14
|
-
function step(op) {
|
|
15
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
16
|
-
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
17
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
18
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
19
|
-
switch (op[0]) {
|
|
20
|
-
case 0: case 1: t = op; break;
|
|
21
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
22
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
23
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
24
|
-
default:
|
|
25
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
26
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
27
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
28
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
29
|
-
if (t[2]) _.ops.pop();
|
|
30
|
-
_.trys.pop(); continue;
|
|
31
|
-
}
|
|
32
|
-
op = body.call(thisArg, _);
|
|
33
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
34
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
import { useCallback, useContext, useEffect, useState } from "react";
|
|
1
|
+
import { useContext, useEffect } from "react";
|
|
38
2
|
import { LayoutContext } from "../layout/context/layoutcontext";
|
|
39
|
-
import { solidGet } from "../../http/solidHttp";
|
|
40
|
-
import { toLegacySettingsShape } from "../../helpers/settingsPayload";
|
|
41
|
-
import { SOLID_SETTINGS_UPDATED_EVENT } from "./SolidFaviconProvider";
|
|
42
|
-
import { getDefaultThemeKey, isRegisteredThemeKey } from "../../theme/theme-registry";
|
|
43
|
-
var THEME_MODE_STORAGE_KEY = "solidx.theme.mode";
|
|
44
|
-
var LIGHT_THEME_STORAGE_KEY = "solidx.theme.light";
|
|
45
|
-
var DARK_THEME_STORAGE_KEY = "solidx.theme.dark";
|
|
46
|
-
var LIGHT_THEME_KEY = "lightTheme";
|
|
47
|
-
var DARK_THEME_KEY = "darkTheme";
|
|
48
|
-
function normalizeThemeMode(value) {
|
|
49
|
-
return value === "dark" ? "dark" : "light";
|
|
50
|
-
}
|
|
51
|
-
function normalizeThemeFamily(value, mode) {
|
|
52
|
-
if (isRegisteredThemeKey(value, mode)) {
|
|
53
|
-
return value;
|
|
54
|
-
}
|
|
55
|
-
return getDefaultThemeKey(mode);
|
|
56
|
-
}
|
|
57
|
-
function getThemeFamilyStorageKey(mode) {
|
|
58
|
-
return mode === "dark" ? DARK_THEME_STORAGE_KEY : LIGHT_THEME_STORAGE_KEY;
|
|
59
|
-
}
|
|
60
3
|
export var SolidThemeProvider = function () {
|
|
61
4
|
var layoutContext = useContext(LayoutContext);
|
|
62
|
-
var
|
|
63
|
-
|
|
64
|
-
return "light";
|
|
65
|
-
return normalizeThemeMode(window.localStorage.getItem(THEME_MODE_STORAGE_KEY));
|
|
66
|
-
}), themeMode = _a[0], setThemeMode = _a[1];
|
|
67
|
-
var _b = useState(function () {
|
|
68
|
-
if (typeof window === "undefined") {
|
|
69
|
-
return {
|
|
70
|
-
light: getDefaultThemeKey("light"),
|
|
71
|
-
dark: getDefaultThemeKey("dark"),
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
return {
|
|
75
|
-
light: normalizeThemeFamily(window.localStorage.getItem(LIGHT_THEME_STORAGE_KEY), "light"),
|
|
76
|
-
dark: normalizeThemeFamily(window.localStorage.getItem(DARK_THEME_STORAGE_KEY), "dark"),
|
|
77
|
-
};
|
|
78
|
-
}), themeFamilies = _b[0], setThemeFamilies = _b[1];
|
|
79
|
-
var theme = normalizeThemeFamily(themeFamilies[themeMode], themeMode);
|
|
80
|
-
var refreshThemeSettings = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
81
|
-
var response, settings, nextLightThemeFamily, nextDarkThemeFamily, error_1, nextThemeMode;
|
|
82
|
-
var _a, _b, _c;
|
|
83
|
-
return __generator(this, function (_d) {
|
|
84
|
-
switch (_d.label) {
|
|
85
|
-
case 0:
|
|
86
|
-
_d.trys.push([0, 2, , 3]);
|
|
87
|
-
return [4 /*yield*/, solidGet("/setting/wrapped")];
|
|
88
|
-
case 1:
|
|
89
|
-
response = _d.sent();
|
|
90
|
-
settings = toLegacySettingsShape((_a = response === null || response === void 0 ? void 0 : response.data) !== null && _a !== void 0 ? _a : null);
|
|
91
|
-
nextLightThemeFamily = normalizeThemeFamily((_b = settings === null || settings === void 0 ? void 0 : settings.data) === null || _b === void 0 ? void 0 : _b[LIGHT_THEME_KEY], "light");
|
|
92
|
-
nextDarkThemeFamily = normalizeThemeFamily((_c = settings === null || settings === void 0 ? void 0 : settings.data) === null || _c === void 0 ? void 0 : _c[DARK_THEME_KEY], "dark");
|
|
93
|
-
setThemeFamilies({
|
|
94
|
-
light: nextLightThemeFamily,
|
|
95
|
-
dark: nextDarkThemeFamily,
|
|
96
|
-
});
|
|
97
|
-
if (typeof window !== "undefined") {
|
|
98
|
-
window.localStorage.setItem(getThemeFamilyStorageKey("light"), nextLightThemeFamily);
|
|
99
|
-
window.localStorage.setItem(getThemeFamilyStorageKey("dark"), nextDarkThemeFamily);
|
|
100
|
-
}
|
|
101
|
-
return [3 /*break*/, 3];
|
|
102
|
-
case 2:
|
|
103
|
-
error_1 = _d.sent();
|
|
104
|
-
if (typeof window !== "undefined") {
|
|
105
|
-
nextThemeMode = normalizeThemeMode(window.localStorage.getItem(THEME_MODE_STORAGE_KEY));
|
|
106
|
-
setThemeFamilies({
|
|
107
|
-
light: normalizeThemeFamily(window.localStorage.getItem(getThemeFamilyStorageKey("light")), "light"),
|
|
108
|
-
dark: normalizeThemeFamily(window.localStorage.getItem(getThemeFamilyStorageKey("dark")), "dark"),
|
|
109
|
-
});
|
|
110
|
-
setThemeMode(nextThemeMode);
|
|
111
|
-
}
|
|
112
|
-
console.error("[SolidThemeProvider] Failed to load theme settings", error_1);
|
|
113
|
-
return [3 /*break*/, 3];
|
|
114
|
-
case 3: return [2 /*return*/];
|
|
115
|
-
}
|
|
116
|
-
});
|
|
117
|
-
}); }, [layoutContext]);
|
|
5
|
+
var themeMode = (layoutContext === null || layoutContext === void 0 ? void 0 : layoutContext.themeMode) === "dark" ? "dark" : "light";
|
|
6
|
+
var theme = themeMode === "dark" ? "solid-dark-purple" : "solid-light-purple";
|
|
118
7
|
useEffect(function () {
|
|
8
|
+
// Find or create <link> element
|
|
119
9
|
var themeLink = document.getElementById("theme-css");
|
|
120
|
-
if (!themeLink) {
|
|
121
|
-
|
|
122
|
-
|
|
10
|
+
// if (!themeLink) {
|
|
11
|
+
// themeLink = document.createElement("link");
|
|
12
|
+
// themeLink.id = "theme-css";
|
|
13
|
+
// themeLink.rel = "stylesheet";
|
|
14
|
+
// document.head.appendChild(themeLink);
|
|
15
|
+
// }
|
|
16
|
+
// Update theme link dynamically
|
|
123
17
|
themeLink.href = "/themes/".concat(theme, "/theme.css");
|
|
124
18
|
}, [theme]);
|
|
125
|
-
useEffect(function () {
|
|
126
|
-
var nextThemeMode = (layoutContext === null || layoutContext === void 0 ? void 0 : layoutContext.themeMode) === "dark" ? "dark" : "light";
|
|
127
|
-
setThemeMode(function (current) { return (current === nextThemeMode ? current : nextThemeMode); });
|
|
128
|
-
}, [layoutContext === null || layoutContext === void 0 ? void 0 : layoutContext.themeMode]);
|
|
129
|
-
useEffect(function () {
|
|
130
|
-
refreshThemeSettings();
|
|
131
|
-
var handler = function () { return refreshThemeSettings(); };
|
|
132
|
-
window.addEventListener(SOLID_SETTINGS_UPDATED_EVENT, handler);
|
|
133
|
-
return function () { return window.removeEventListener(SOLID_SETTINGS_UPDATED_EVENT, handler); };
|
|
134
|
-
}, [refreshThemeSettings]);
|
|
135
19
|
return null;
|
|
136
20
|
};
|
|
137
21
|
//# sourceMappingURL=SolidThemeProvider.js.map
|