@solidxai/core-ui 0.1.15 → 0.1.16-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/components/common/SolidSettings/SettingsImageRemoveButton.d.ts.map +1 -1
- package/dist/components/common/SolidSettings/SettingsImageRemoveButton.js +2 -1
- package/dist/components/common/SolidSettings/SettingsImageRemoveButton.js.map +1 -1
- package/dist/components/common/SolidSettings/SettingsImageRemoveButton.tsx +3 -2
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardView.js +1 -1
- package/dist/components/core/card/SolidCardView.js.map +1 -1
- package/dist/components/core/card/SolidCardView.tsx +1 -0
- 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 +3 -3
- package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.tsx +4 -3
- package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterHeader.js +10 -7
- package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterHeader.tsx +12 -9
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +3 -3
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +2 -3
- package/dist/components/core/filter/SolidBooleanFilterElement.js +1 -1
- package/dist/components/core/filter/SolidBooleanFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidBooleanFilterElement.tsx +1 -1
- package/dist/components/core/filter/SolidManyToManyFilterElement.js +1 -1
- package/dist/components/core/filter/SolidManyToManyFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidManyToManyFilterElement.tsx +1 -1
- package/dist/components/core/filter/SolidManyToOneFilterElement.js +1 -1
- package/dist/components/core/filter/SolidManyToOneFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidManyToOneFilterElement.tsx +1 -1
- package/dist/components/core/filter/SolidOneToManyFilterElement.js +1 -1
- package/dist/components/core/filter/SolidOneToManyFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidOneToManyFilterElement.tsx +1 -1
- package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js +1 -1
- package/dist/components/core/filter/SolidSelectionDynamicFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidSelectionDynamicFilterElement.tsx +1 -1
- package/dist/components/core/filter/SolidSelectionStaticFilterElement.js +1 -1
- package/dist/components/core/filter/SolidSelectionStaticFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidSelectionStaticFilterElement.tsx +1 -1
- package/dist/components/core/filter/SolidVarInputsFilterElement.js +5 -5
- package/dist/components/core/filter/SolidVarInputsFilterElement.js.map +1 -1
- package/dist/components/core/filter/SolidVarInputsFilterElement.tsx +5 -5
- package/dist/components/core/filter/fields/SolidBooleanField.js +1 -1
- package/dist/components/core/filter/fields/SolidBooleanField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidBooleanField.tsx +1 -1
- package/dist/components/core/filter/fields/SolidDateField.js +1 -1
- package/dist/components/core/filter/fields/SolidDateField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidDateField.tsx +1 -1
- package/dist/components/core/filter/fields/SolidDatetimeField.js +1 -1
- package/dist/components/core/filter/fields/SolidDatetimeField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidDatetimeField.tsx +1 -1
- package/dist/components/core/filter/fields/SolidExternalIdField.js +1 -1
- package/dist/components/core/filter/fields/SolidExternalIdField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidExternalIdField.tsx +1 -1
- package/dist/components/core/filter/fields/SolidIdField.js +1 -1
- package/dist/components/core/filter/fields/SolidIdField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidIdField.tsx +1 -1
- package/dist/components/core/filter/fields/SolidIntField.js +1 -1
- package/dist/components/core/filter/fields/SolidIntField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidIntField.tsx +1 -1
- package/dist/components/core/filter/fields/SolidMediaMultipleField.js +1 -1
- package/dist/components/core/filter/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidMediaMultipleField.tsx +1 -1
- package/dist/components/core/filter/fields/SolidMediaSingleField.js +1 -1
- package/dist/components/core/filter/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidMediaSingleField.tsx +1 -1
- package/dist/components/core/filter/fields/SolidSelectionDynamicField.js +1 -1
- package/dist/components/core/filter/fields/SolidSelectionDynamicField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidSelectionDynamicField.tsx +1 -1
- package/dist/components/core/filter/fields/SolidSelectionStaticField.js +1 -1
- package/dist/components/core/filter/fields/SolidSelectionStaticField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidSelectionStaticField.tsx +1 -1
- package/dist/components/core/filter/fields/SolidShortTextField.js +1 -1
- package/dist/components/core/filter/fields/SolidShortTextField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidShortTextField.tsx +1 -1
- package/dist/components/core/filter/fields/SolidTimeField.js +1 -1
- package/dist/components/core/filter/fields/SolidTimeField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidTimeField.tsx +1 -1
- package/dist/components/core/filter/fields/SolidUuidField.js +1 -1
- package/dist/components/core/filter/fields/SolidUuidField.js.map +1 -1
- package/dist/components/core/filter/fields/SolidUuidField.tsx +1 -1
- package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js +1 -1
- package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.js.map +1 -1
- package/dist/components/core/filter/fields/relations/SolidRelationManyToManyField.tsx +1 -1
- package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js +1 -1
- package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.js.map +1 -1
- package/dist/components/core/filter/fields/relations/SolidRelationManyToOneField.tsx +1 -1
- package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js +1 -1
- package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.js.map +1 -1
- package/dist/components/core/filter/fields/relations/SolidRelationOneToManyField.tsx +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +5 -3
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +7 -3
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +5 -2
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.tsx +7 -2
- package/dist/components/core/form/fields/solidFields.module.css +23 -15
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +1 -2
- package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.js +3 -3
- package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +4 -3
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +1 -1
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +1 -0
- package/dist/components/core/list/SolidListViewConfigure.d.ts +1 -1
- package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.js +3 -4
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.tsx +4 -4
- package/dist/components/core/model/FieldMetaDataForm.js +23 -23
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.tsx +30 -30
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +2 -2
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +3 -1
- package/dist/components/core/users/CreateUserRole.js +1 -1
- package/dist/components/core/users/CreateUserRole.js.map +1 -1
- package/dist/components/core/users/CreateUserRole.tsx +1 -1
- package/dist/components/layout/FilterMenu.d.ts.map +1 -1
- package/dist/components/layout/FilterMenu.js +2 -1
- package/dist/components/layout/FilterMenu.js.map +1 -1
- package/dist/components/layout/FilterMenu.tsx +6 -5
- package/dist/components/layout/GlobalSearch.d.ts.map +1 -1
- package/dist/components/layout/GlobalSearch.js +2 -1
- package/dist/components/layout/GlobalSearch.js.map +1 -1
- package/dist/components/layout/GlobalSearch.tsx +2 -1
- package/dist/components/layout/ListingHeader.d.ts.map +1 -1
- package/dist/components/layout/ListingHeader.js +8 -4
- package/dist/components/layout/ListingHeader.js.map +1 -1
- package/dist/components/layout/ListingHeader.tsx +9 -9
- package/dist/components/layout/navbar-one.d.ts.map +1 -1
- package/dist/components/layout/navbar-one.js.map +1 -1
- package/dist/components/layout/navbar-one.tsx +4 -16
- package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
- package/dist/components/layout/navbar-two-menu.js +8 -3
- package/dist/components/layout/navbar-two-menu.js.map +1 -1
- package/dist/components/layout/navbar-two-menu.tsx +9 -4
- package/dist/components/shad-cn-ui/SolidDropdownMenu.d.ts +3 -1
- package/dist/components/shad-cn-ui/SolidDropdownMenu.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidDropdownMenu.js +3 -2
- package/dist/components/shad-cn-ui/SolidDropdownMenu.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidDropdownMenu.tsx +10 -3
- package/dist/components/shad-cn-ui/SolidIcon.js +1 -1
- package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidIcon.tsx +1 -1
- package/dist/components/workflow/WorkflowNodeDocsPanel.css +29 -0
- package/dist/components/workflow/WorkflowNodeSchemaEditor.css +65 -0
- package/dist/helpers/getAcceptedFileTypes.d.ts +1 -0
- package/dist/helpers/getAcceptedFileTypes.d.ts.map +1 -1
- package/dist/helpers/getAcceptedFileTypes.js +6 -0
- package/dist/helpers/getAcceptedFileTypes.js.map +1 -1
- package/dist/helpers/getAcceptedFileTypes.tsx +7 -0
- package/dist/helpers/mediaType.d.ts.map +1 -1
- package/dist/helpers/mediaType.js +6 -3
- package/dist/helpers/mediaType.js.map +1 -1
- package/dist/helpers/mediaType.ts +6 -3
- package/dist/resources/globals.css +94 -879
- package/dist/resources/solid-custom.css +88 -56
- package/dist/resources/solid-responsive.css +1 -106
- package/dist/resources/stylesheets/_config.scss +1 -10
- package/dist/resources/stylesheets/_utils.scss +0 -7
- package/dist/resources/themes/solid-dark-purple/theme.css +11 -5853
- package/dist/resources/themes/solid-light-purple/theme.css +6 -5896
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +0 -5
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.css +293 -0
- package/dist/styles.d.ts +0 -1
- package/dist/styles.d.ts.map +1 -1
- package/dist/styles.js +0 -1
- package/dist/styles.js.map +1 -1
- package/dist/styles.ts +0 -1
- package/package.json +1 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navbar-two-menu.d.ts","sourceRoot":"","sources":["../../../src/components/layout/navbar-two-menu.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"navbar-two-menu.d.ts","sourceRoot":"","sources":["../../../src/components/layout/navbar-two-menu.tsx"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,kBAAmB,GAAG,4CAmHxC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -12,6 +12,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
13
|
import Link from "../common/Link";
|
|
14
14
|
import { useState, useEffect } from "react";
|
|
15
|
+
import { ChevronDown, ChevronUp } from "lucide-react";
|
|
15
16
|
import { useSearchParams } from "../../hooks/useSearchParams";
|
|
16
17
|
import { resolveRetainedModelViewRoute } from "../../helpers/modelViewPersistence";
|
|
17
18
|
import { SolidMenuItemIcon } from "./SolidMenuItemIcon";
|
|
@@ -29,8 +30,10 @@ var NavbarTwoMenu = function (_a) {
|
|
|
29
30
|
var _a, _b, _c;
|
|
30
31
|
var isSelected = activeId !== null && item.id !== null && item.id === activeId;
|
|
31
32
|
var isParentActive = activeId !== null && ((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) > 0 && hasActiveChild(item.items);
|
|
32
|
-
return (_jsx("div", { className: "flex items-center cursor-pointer menuHead px-4 ".concat(isSelected || isParentActive ? "
|
|
33
|
-
|
|
33
|
+
return (_jsx("div", { className: "flex items-center cursor-pointer menuHead px-4 ".concat(isSelected || isParentActive ? "is-active" : ""), onClick: options.onClick, children: _jsxs(Link, { href: (item === null || item === void 0 ? void 0 : item.url) ? item === null || item === void 0 ? void 0 : item.url : "#", className: "w-full flex justify-between font-normal", children: [_jsxs("div", { className: "flex items-center", style: { gap: 10 }, children: [_jsx(SolidMenuItemIcon, { item: (_b = item.source) !== null && _b !== void 0 ? _b : item }), _jsx("span", { children: item.label })] }), ((_c = item === null || item === void 0 ? void 0 : item.items) === null || _c === void 0 ? void 0 : _c.length) > 0 &&
|
|
34
|
+
expandedKeys[item.key]
|
|
35
|
+
? _jsx(ChevronUp, { className: "sidebar-chevrons", size: 16, "aria-hidden": "true" })
|
|
36
|
+
: _jsx(ChevronDown, { className: "sidebar-chevrons", size: 16, "aria-hidden": "true" })] }) }, item === null || item === void 0 ? void 0 : item.key));
|
|
34
37
|
};
|
|
35
38
|
var createMenuItems = function (menuItems) {
|
|
36
39
|
return menuItems.map(function (mi) {
|
|
@@ -77,7 +80,9 @@ var NavbarTwoMenu = function (_a) {
|
|
|
77
80
|
var isExpanded = !!expandedKeys[item.key];
|
|
78
81
|
var isSelected = activeId !== null && item.id !== null && item.id === activeId;
|
|
79
82
|
var isParentActive = hasChildren && hasActiveChild(item.items);
|
|
80
|
-
return (_jsxs("li", { children: [_jsxs("div", { className: "flex items-center cursor-pointer menuHead px-4 ".concat(isSelected || isParentActive ? "
|
|
83
|
+
return (_jsxs("li", { children: [_jsxs("div", { className: "flex items-center cursor-pointer menuHead px-4 ".concat(isSelected || isParentActive ? "is-active" : ""), children: [_jsx(Link, { href: (item === null || item === void 0 ? void 0 : item.url) ? item === null || item === void 0 ? void 0 : item.url : "#", className: "w-full flex justify-between font-normal", children: _jsxs("div", { className: "flex items-center", style: { gap: 10 }, children: [_jsx(SolidMenuItemIcon, { item: (_a = item.source) !== null && _a !== void 0 ? _a : item }), _jsx("span", { children: item.label })] }) }), hasChildren && (_jsx("button", { type: "button", className: "sidebar-chevrons-button", onClick: function () { return toggleExpansion(item.key); }, "aria-label": "Toggle ".concat(item.label, " menu"), children: isExpanded
|
|
84
|
+
? _jsx(ChevronUp, { className: "sidebar-chevrons", size: 16, "aria-hidden": "true" })
|
|
85
|
+
: _jsx(ChevronDown, { className: "sidebar-chevrons", size: 16, "aria-hidden": "true" }) }))] }), hasChildren && isExpanded && (_jsx("div", { className: "solid-panel-menu-children pl-6", children: renderMenuItems(item.items) }))] }, item.key));
|
|
81
86
|
}) }));
|
|
82
87
|
};
|
|
83
88
|
return _jsx("div", { className: "solid-panel-menu", children: renderMenuItems(items) });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navbar-two-menu.js","sourceRoot":"","sources":["../../../src/components/layout/navbar-two-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import Link from \"../common/Link\";\nimport { useState, useEffect } from \"react\";\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { resolveRetainedModelViewRoute } from \"../../helpers/modelViewPersistence\";\nimport { SolidMenuItemIcon } from \"./SolidMenuItemIcon\";\n\nconst NavbarTwoMenu = ({ menuItems }: any) => {\n const searchParams = useSearchParams();\n const [expandedKeys, setExpandedKeys] = useState<any>({});\n\n const activeId = searchParams.get(\"menuItemId\");\n const hasActiveChild = (items: any[]): boolean => {\n if (!activeId) return false;\n return items?.some((item) =>\n (item.id !== null && item.id === activeId) || hasActiveChild(item.items ?? [])\n );\n };\n const itemRenderer = (item: any, options: any) => {\n const isSelected = activeId !== null && item.id !== null && item.id === activeId;\n const isParentActive = activeId !== null && item.items?.length > 0 && hasActiveChild(item.items);\n return (\n <div key={item?.key} className={`flex items-center cursor-pointer menuHead px-4 ${isSelected || isParentActive ? \"p-highlight\" : \"\"}`} onClick={options.onClick} >\n <Link href={item?.url ? item?.url : \"#\"} className=\"w-full flex justify-between font-normal\">\n <div className=\"flex items-center\" style={{ gap: 10 }}>\n <SolidMenuItemIcon item={item.source ?? item} />\n <span>\n {item.label}\n </span>\n </div>\n {item?.items?.length > 0 &&\n <span className={`sidebar-chevrons ${expandedKeys[item.key] ? \"pi pi-angle-up\" : \"pi pi-angle-down\"}`} />\n }\n </Link>\n </div>\n )\n };\n\n const createMenuItems = (menuItems: any[]): any[] =>\n menuItems.map((mi) => {\n const resolvedPath = mi.path ? resolveRetainedModelViewRoute(mi.path) : null;\n const menuItemId = new URLSearchParams(resolvedPath?.split(\"?\")[1]).get(\"menuItemId\");\n return {\n key: mi.key,\n id: menuItemId, // ← extracted from path\n label: mi.title,\n source: mi,\n // iconVariant: mi.iconVariant,\n template: itemRenderer,\n url: resolvedPath,\n items: mi.children ? createMenuItems(mi.children) : null,\n };\n })\n\n\n const items = createMenuItems(menuItems);\n\n // Auto-expand parents with active child when activeId changes\n useEffect(() => {\n const newExpandedKeys: any = {};\n const expandIfActive = (items: any[]) => {\n items?.forEach((item) => {\n if (item.items?.length && hasActiveChild(item.items)) {\n newExpandedKeys[item.key] = true;\n expandIfActive(item.items);\n }\n });\n };\n expandIfActive(createMenuItems(menuItems));\n setExpandedKeys((prev: any) => ({ ...prev, ...newExpandedKeys }));\n }, [activeId]);\n\n const toggleExpansion = (key: string) => {\n setExpandedKeys((prev: any) => ({ ...prev, [key]: !prev[key] }));\n };\n\n const renderMenuItems = (menuItems: any[]): React.ReactNode => {\n return (\n <ul className=\"solid-panel-menu-list\">\n {menuItems.map((item) => {\n const hasChildren = item.items && item.items.length > 0;\n const isExpanded = !!expandedKeys[item.key];\n const isSelected = activeId !== null && item.id !== null && item.id === activeId;\n const isParentActive = hasChildren && hasActiveChild(item.items);\n\n return (\n <li key={item.key}>\n <div className={`flex items-center cursor-pointer menuHead px-4 ${isSelected || isParentActive ? \"p-highlight\" : \"\"}`}>\n <Link href={item?.url ? item?.url : \"#\"} className=\"w-full flex justify-between font-normal\">\n <div className=\"flex items-center\" style={{ gap: 10 }}>\n <SolidMenuItemIcon item={item.source ?? item} />\n <span>{item.label}</span>\n </div>\n </Link>\n {hasChildren && (\n <button\n type=\"button\"\n className=\"sidebar-chevrons-button\"\n onClick={() => toggleExpansion(item.key)}\n aria-label={`Toggle ${item.label} menu`}\n >\n <span className={`sidebar-chevrons ${isExpanded ? \"pi pi-angle-up\" : \"pi pi-angle-down\"}`} />\n </button>\n )}\n </div>\n {hasChildren && isExpanded && (\n <div className=\"solid-panel-menu-children pl-6\">\n {renderMenuItems(item.items)}\n </div>\n )}\n </li>\n );\n })}\n </ul>\n );\n };\n\n return <div className=\"solid-panel-menu\">{renderMenuItems(items)}</div>;\n};\n\nexport default NavbarTwoMenu;\n"]}
|
|
1
|
+
{"version":3,"file":"navbar-two-menu.js","sourceRoot":"","sources":["../../../src/components/layout/navbar-two-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import Link from \"../common/Link\";\nimport { useState, useEffect } from \"react\";\nimport { ChevronDown, ChevronUp } from \"lucide-react\";\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { resolveRetainedModelViewRoute } from \"../../helpers/modelViewPersistence\";\nimport { SolidMenuItemIcon } from \"./SolidMenuItemIcon\";\n\nconst NavbarTwoMenu = ({ menuItems }: any) => {\n const searchParams = useSearchParams();\n const [expandedKeys, setExpandedKeys] = useState<any>({});\n\n const activeId = searchParams.get(\"menuItemId\");\n const hasActiveChild = (items: any[]): boolean => {\n if (!activeId) return false;\n return items?.some((item) =>\n (item.id !== null && item.id === activeId) || hasActiveChild(item.items ?? [])\n );\n };\n const itemRenderer = (item: any, options: any) => {\n const isSelected = activeId !== null && item.id !== null && item.id === activeId;\n const isParentActive = activeId !== null && item.items?.length > 0 && hasActiveChild(item.items);\n return (\n <div key={item?.key} className={`flex items-center cursor-pointer menuHead px-4 ${isSelected || isParentActive ? \"is-active\" : \"\"}`} onClick={options.onClick} >\n <Link href={item?.url ? item?.url : \"#\"} className=\"w-full flex justify-between font-normal\">\n <div className=\"flex items-center\" style={{ gap: 10 }}>\n <SolidMenuItemIcon item={item.source ?? item} />\n <span>\n {item.label}\n </span>\n </div>\n {item?.items?.length > 0 &&\n expandedKeys[item.key]\n ? <ChevronUp className=\"sidebar-chevrons\" size={16} aria-hidden=\"true\" />\n : <ChevronDown className=\"sidebar-chevrons\" size={16} aria-hidden=\"true\" />\n }\n </Link>\n </div>\n )\n };\n\n const createMenuItems = (menuItems: any[]): any[] =>\n menuItems.map((mi) => {\n const resolvedPath = mi.path ? resolveRetainedModelViewRoute(mi.path) : null;\n const menuItemId = new URLSearchParams(resolvedPath?.split(\"?\")[1]).get(\"menuItemId\");\n return {\n key: mi.key,\n id: menuItemId, // ← extracted from path\n label: mi.title,\n source: mi,\n // iconVariant: mi.iconVariant,\n template: itemRenderer,\n url: resolvedPath,\n items: mi.children ? createMenuItems(mi.children) : null,\n };\n })\n\n\n const items = createMenuItems(menuItems);\n\n // Auto-expand parents with active child when activeId changes\n useEffect(() => {\n const newExpandedKeys: any = {};\n const expandIfActive = (items: any[]) => {\n items?.forEach((item) => {\n if (item.items?.length && hasActiveChild(item.items)) {\n newExpandedKeys[item.key] = true;\n expandIfActive(item.items);\n }\n });\n };\n expandIfActive(createMenuItems(menuItems));\n setExpandedKeys((prev: any) => ({ ...prev, ...newExpandedKeys }));\n }, [activeId]);\n\n const toggleExpansion = (key: string) => {\n setExpandedKeys((prev: any) => ({ ...prev, [key]: !prev[key] }));\n };\n\n const renderMenuItems = (menuItems: any[]): React.ReactNode => {\n return (\n <ul className=\"solid-panel-menu-list\">\n {menuItems.map((item) => {\n const hasChildren = item.items && item.items.length > 0;\n const isExpanded = !!expandedKeys[item.key];\n const isSelected = activeId !== null && item.id !== null && item.id === activeId;\n const isParentActive = hasChildren && hasActiveChild(item.items);\n\n return (\n <li key={item.key}>\n <div className={`flex items-center cursor-pointer menuHead px-4 ${isSelected || isParentActive ? \"is-active\" : \"\"}`}>\n <Link href={item?.url ? item?.url : \"#\"} className=\"w-full flex justify-between font-normal\">\n <div className=\"flex items-center\" style={{ gap: 10 }}>\n <SolidMenuItemIcon item={item.source ?? item} />\n <span>{item.label}</span>\n </div>\n </Link>\n {hasChildren && (\n <button\n type=\"button\"\n className=\"sidebar-chevrons-button\"\n onClick={() => toggleExpansion(item.key)}\n aria-label={`Toggle ${item.label} menu`}\n >\n {isExpanded\n ? <ChevronUp className=\"sidebar-chevrons\" size={16} aria-hidden=\"true\" />\n : <ChevronDown className=\"sidebar-chevrons\" size={16} aria-hidden=\"true\" />}\n </button>\n )}\n </div>\n {hasChildren && isExpanded && (\n <div className=\"solid-panel-menu-children pl-6\">\n {renderMenuItems(item.items)}\n </div>\n )}\n </li>\n );\n })}\n </ul>\n );\n };\n\n return <div className=\"solid-panel-menu\">{renderMenuItems(items)}</div>;\n};\n\nexport default NavbarTwoMenu;\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Link from "../common/Link";
|
|
2
2
|
import { useState, useEffect } from "react";
|
|
3
|
+
import { ChevronDown, ChevronUp } from "lucide-react";
|
|
3
4
|
import { useSearchParams } from "../../hooks/useSearchParams";
|
|
4
5
|
import { resolveRetainedModelViewRoute } from "../../helpers/modelViewPersistence";
|
|
5
6
|
import { SolidMenuItemIcon } from "./SolidMenuItemIcon";
|
|
@@ -19,7 +20,7 @@ const NavbarTwoMenu = ({ menuItems }: any) => {
|
|
|
19
20
|
const isSelected = activeId !== null && item.id !== null && item.id === activeId;
|
|
20
21
|
const isParentActive = activeId !== null && item.items?.length > 0 && hasActiveChild(item.items);
|
|
21
22
|
return (
|
|
22
|
-
<div key={item?.key} className={`flex items-center cursor-pointer menuHead px-4 ${isSelected || isParentActive ? "
|
|
23
|
+
<div key={item?.key} className={`flex items-center cursor-pointer menuHead px-4 ${isSelected || isParentActive ? "is-active" : ""}`} onClick={options.onClick} >
|
|
23
24
|
<Link href={item?.url ? item?.url : "#"} className="w-full flex justify-between font-normal">
|
|
24
25
|
<div className="flex items-center" style={{ gap: 10 }}>
|
|
25
26
|
<SolidMenuItemIcon item={item.source ?? item} />
|
|
@@ -28,7 +29,9 @@ const NavbarTwoMenu = ({ menuItems }: any) => {
|
|
|
28
29
|
</span>
|
|
29
30
|
</div>
|
|
30
31
|
{item?.items?.length > 0 &&
|
|
31
|
-
|
|
32
|
+
expandedKeys[item.key]
|
|
33
|
+
? <ChevronUp className="sidebar-chevrons" size={16} aria-hidden="true" />
|
|
34
|
+
: <ChevronDown className="sidebar-chevrons" size={16} aria-hidden="true" />
|
|
32
35
|
}
|
|
33
36
|
</Link>
|
|
34
37
|
</div>
|
|
@@ -84,7 +87,7 @@ const NavbarTwoMenu = ({ menuItems }: any) => {
|
|
|
84
87
|
|
|
85
88
|
return (
|
|
86
89
|
<li key={item.key}>
|
|
87
|
-
<div className={`flex items-center cursor-pointer menuHead px-4 ${isSelected || isParentActive ? "
|
|
90
|
+
<div className={`flex items-center cursor-pointer menuHead px-4 ${isSelected || isParentActive ? "is-active" : ""}`}>
|
|
88
91
|
<Link href={item?.url ? item?.url : "#"} className="w-full flex justify-between font-normal">
|
|
89
92
|
<div className="flex items-center" style={{ gap: 10 }}>
|
|
90
93
|
<SolidMenuItemIcon item={item.source ?? item} />
|
|
@@ -98,7 +101,9 @@ const NavbarTwoMenu = ({ menuItems }: any) => {
|
|
|
98
101
|
onClick={() => toggleExpansion(item.key)}
|
|
99
102
|
aria-label={`Toggle ${item.label} menu`}
|
|
100
103
|
>
|
|
101
|
-
|
|
104
|
+
{isExpanded
|
|
105
|
+
? <ChevronUp className="sidebar-chevrons" size={16} aria-hidden="true" />
|
|
106
|
+
: <ChevronDown className="sidebar-chevrons" size={16} aria-hidden="true" />}
|
|
102
107
|
</button>
|
|
103
108
|
)}
|
|
104
109
|
</div>
|
|
@@ -13,5 +13,7 @@ export declare const SolidDropdownMenuRadioItem: React.ForwardRefExoticComponent
|
|
|
13
13
|
export declare const SolidDropdownMenuLabel: React.ForwardRefExoticComponent<Omit<DropdownMenu.DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
14
14
|
export declare const SolidDropdownMenuSeparator: React.ForwardRefExoticComponent<Omit<DropdownMenu.DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
15
15
|
export declare const SolidDropdownMenuSubTrigger: React.ForwardRefExoticComponent<Omit<DropdownMenu.DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
-
export declare const SolidDropdownMenuSubContent: React.ForwardRefExoticComponent<Omit<DropdownMenu.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> &
|
|
16
|
+
export declare const SolidDropdownMenuSubContent: React.ForwardRefExoticComponent<Omit<DropdownMenu.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
17
|
+
side?: "left" | "right" | undefined;
|
|
18
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
17
19
|
//# sourceMappingURL=SolidDropdownMenu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidDropdownMenu.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidDropdownMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAO9D,eAAO,MAAM,iBAAiB,0CAAoB,CAAC;AACnD,eAAO,MAAM,wBAAwB,iHAAuB,CAAC;AAC7D,eAAO,MAAM,oBAAoB,6CAAmB,CAAC;AACrD,eAAO,MAAM,2BAA2B,iHAA0B,CAAC;AAEnE,eAAO,MAAM,wBAAwB,iKAenC,CAAC;AAEH,eAAO,MAAM,qBAAqB,8JAKhC,CAAC;AAMH,eAAO,MAAM,6BAA6B;WAHjC,MAAM,SAAS;wCAwBtB,CAAC;AAEH,eAAO,MAAM,0BAA0B,mKAkBrC,CAAC;AAEH,eAAO,MAAM,sBAAsB,+JAKjC,CAAC;AAEH,eAAO,MAAM,0BAA0B,mKAKrC,CAAC;AAEH,eAAO,MAAM,2BAA2B,oKActC,CAAC;
|
|
1
|
+
{"version":3,"file":"SolidDropdownMenu.d.ts","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidDropdownMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAO9D,eAAO,MAAM,iBAAiB,0CAAoB,CAAC;AACnD,eAAO,MAAM,wBAAwB,iHAAuB,CAAC;AAC7D,eAAO,MAAM,oBAAoB,6CAAmB,CAAC;AACrD,eAAO,MAAM,2BAA2B,iHAA0B,CAAC;AAEnE,eAAO,MAAM,wBAAwB,iKAenC,CAAC;AAEH,eAAO,MAAM,qBAAqB,8JAKhC,CAAC;AAMH,eAAO,MAAM,6BAA6B;WAHjC,MAAM,SAAS;wCAwBtB,CAAC;AAEH,eAAO,MAAM,0BAA0B,mKAkBrC,CAAC;AAEH,eAAO,MAAM,sBAAsB,+JAKjC,CAAC;AAEH,eAAO,MAAM,0BAA0B,mKAKrC,CAAC;AAEH,eAAO,MAAM,2BAA2B,oKActC,CAAC;AAMH,eAAO,MAAM,2BAA2B;;wCAkBtC,CAAC"}
|
|
@@ -64,7 +64,8 @@ export var SolidDropdownMenuSubTrigger = React.forwardRef(function SolidDropdown
|
|
|
64
64
|
return (_jsxs(DropdownMenu.SubTrigger, __assign({ ref: ref, className: cx("solid-dropdown-menu-item solid-dropdown-menu-subtrigger", className) }, props, { children: [children, _jsx(SolidIcon, { name: "si-chevron-right", className: "solid-dropdown-menu-subtrigger-icon", "aria-hidden": true })] })));
|
|
65
65
|
});
|
|
66
66
|
export var SolidDropdownMenuSubContent = React.forwardRef(function SolidDropdownMenuSubContent(_a, ref) {
|
|
67
|
-
var className = _a.className, _b = _a.
|
|
68
|
-
|
|
67
|
+
var className = _a.className, _b = _a.side, side = _b === void 0 ? "right" : _b, _c = _a.sideOffset, sideOffset = _c === void 0 ? 2 : _c, _d = _a.alignOffset, alignOffset = _d === void 0 ? -4 : _d, props = __rest(_a, ["className", "side", "sideOffset", "alignOffset"]);
|
|
68
|
+
var SubContent = DropdownMenu.SubContent;
|
|
69
|
+
return (_jsx(DropdownMenu.Portal, { children: _jsx(SubContent, __assign({ ref: ref, side: side, sideOffset: sideOffset, alignOffset: alignOffset, className: cx("solid-dropdown-menu-content solid-dropdown-menu-subcontent", className) }, props)) }));
|
|
69
70
|
});
|
|
70
71
|
//# sourceMappingURL=SolidDropdownMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidDropdownMenu.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidDropdownMenu.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SolidDropdownMenu.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidDropdownMenu.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport * as DropdownMenu from \"@radix-ui/react-dropdown-menu\";\nimport { SolidIcon } from \"./SolidIcon\";\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nexport const SolidDropdownMenu = DropdownMenu.Root;\nexport const SolidDropdownMenuTrigger = DropdownMenu.Trigger;\nexport const SolidDropdownMenuSub = DropdownMenu.Sub;\nexport const SolidDropdownMenuRadioGroup = DropdownMenu.RadioGroup;\n\nexport const SolidDropdownMenuContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof DropdownMenu.Content>\n>(function SolidDropdownMenuContent({ className, sideOffset = 6, align = \"end\", ...props }, ref) {\n return (\n <DropdownMenu.Portal>\n <DropdownMenu.Content\n ref={ref}\n sideOffset={sideOffset}\n align={align}\n className={cx(\"solid-dropdown-menu-content\", className)}\n {...props}\n />\n </DropdownMenu.Portal>\n );\n});\n\nexport const SolidDropdownMenuItem = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof DropdownMenu.Item>\n>(function SolidDropdownMenuItem({ className, ...props }, ref) {\n return <DropdownMenu.Item ref={ref} className={cx(\"solid-dropdown-menu-item\", className)} {...props} />;\n});\n\ntype SolidDropdownMenuCheckboxItemProps = React.ComponentPropsWithoutRef<typeof DropdownMenu.CheckboxItem> & {\n icon?: React.ReactNode;\n};\n\nexport const SolidDropdownMenuCheckboxItem = React.forwardRef<\n HTMLDivElement,\n SolidDropdownMenuCheckboxItemProps\n>(function SolidDropdownMenuCheckboxItem({ className, children, checked, icon, ...props }, ref) {\n return (\n <DropdownMenu.CheckboxItem\n ref={ref}\n checked={checked}\n className={cx(\"solid-dropdown-menu-item solid-dropdown-menu-checkbox-item\", className)}\n {...props}\n >\n <span className=\"solid-dropdown-menu-indicator\">\n {icon ? icon : (\n <DropdownMenu.ItemIndicator>\n <SolidIcon name=\"si-check\" aria-hidden />\n </DropdownMenu.ItemIndicator>\n )}\n </span>\n <span className=\"solid-dropdown-menu-item-text\">{children}</span>\n </DropdownMenu.CheckboxItem>\n );\n});\n\nexport const SolidDropdownMenuRadioItem = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof DropdownMenu.RadioItem>\n>(function SolidDropdownMenuRadioItem({ className, children, ...props }, ref) {\n return (\n <DropdownMenu.RadioItem\n ref={ref}\n className={cx(\"solid-dropdown-menu-item solid-dropdown-menu-radio-item\", className)}\n {...props}\n >\n <span className=\"solid-dropdown-menu-indicator\">\n <DropdownMenu.ItemIndicator>\n <SolidIcon name=\"si-check\" aria-hidden />\n </DropdownMenu.ItemIndicator>\n </span>\n <span className=\"solid-dropdown-menu-item-text\">{children}</span>\n </DropdownMenu.RadioItem>\n );\n});\n\nexport const SolidDropdownMenuLabel = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof DropdownMenu.Label>\n>(function SolidDropdownMenuLabel({ className, ...props }, ref) {\n return <DropdownMenu.Label ref={ref} className={cx(\"solid-dropdown-menu-label\", className)} {...props} />;\n});\n\nexport const SolidDropdownMenuSeparator = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof DropdownMenu.Separator>\n>(function SolidDropdownMenuSeparator({ className, ...props }, ref) {\n return <DropdownMenu.Separator ref={ref} className={cx(\"solid-dropdown-menu-separator\", className)} {...props} />;\n});\n\nexport const SolidDropdownMenuSubTrigger = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof DropdownMenu.SubTrigger>\n>(function SolidDropdownMenuSubTrigger({ className, children, ...props }, ref) {\n return (\n <DropdownMenu.SubTrigger\n ref={ref}\n className={cx(\"solid-dropdown-menu-item solid-dropdown-menu-subtrigger\", className)}\n {...props}\n >\n {children}\n <SolidIcon name=\"si-chevron-right\" className=\"solid-dropdown-menu-subtrigger-icon\" aria-hidden />\n </DropdownMenu.SubTrigger>\n );\n});\n\ntype SolidDropdownMenuSubContentProps = React.ComponentPropsWithoutRef<typeof DropdownMenu.SubContent> & {\n side?: \"left\" | \"right\";\n};\n\nexport const SolidDropdownMenuSubContent = React.forwardRef<\n HTMLDivElement,\n SolidDropdownMenuSubContentProps\n>(function SolidDropdownMenuSubContent({ className, side = \"right\", sideOffset = 2, alignOffset = -4, ...props }, ref) {\n const SubContent = DropdownMenu.SubContent as unknown as React.ComponentType<any>;\n\n return (\n <DropdownMenu.Portal>\n <SubContent\n ref={ref}\n side={side}\n sideOffset={sideOffset}\n alignOffset={alignOffset}\n className={cx(\"solid-dropdown-menu-content solid-dropdown-menu-subcontent\", className)}\n {...props}\n />\n </DropdownMenu.Portal>\n );\n});\n"]}
|
|
@@ -112,14 +112,21 @@ export const SolidDropdownMenuSubTrigger = React.forwardRef<
|
|
|
112
112
|
);
|
|
113
113
|
});
|
|
114
114
|
|
|
115
|
+
type SolidDropdownMenuSubContentProps = React.ComponentPropsWithoutRef<typeof DropdownMenu.SubContent> & {
|
|
116
|
+
side?: "left" | "right";
|
|
117
|
+
};
|
|
118
|
+
|
|
115
119
|
export const SolidDropdownMenuSubContent = React.forwardRef<
|
|
116
120
|
HTMLDivElement,
|
|
117
|
-
|
|
118
|
-
>(function SolidDropdownMenuSubContent({ className, sideOffset = 2, alignOffset = -4, ...props }, ref) {
|
|
121
|
+
SolidDropdownMenuSubContentProps
|
|
122
|
+
>(function SolidDropdownMenuSubContent({ className, side = "right", sideOffset = 2, alignOffset = -4, ...props }, ref) {
|
|
123
|
+
const SubContent = DropdownMenu.SubContent as unknown as React.ComponentType<any>;
|
|
124
|
+
|
|
119
125
|
return (
|
|
120
126
|
<DropdownMenu.Portal>
|
|
121
|
-
<
|
|
127
|
+
<SubContent
|
|
122
128
|
ref={ref}
|
|
129
|
+
side={side}
|
|
123
130
|
sideOffset={sideOffset}
|
|
124
131
|
alignOffset={alignOffset}
|
|
125
132
|
className={cx("solid-dropdown-menu-content solid-dropdown-menu-subcontent", className)}
|
|
@@ -99,7 +99,7 @@ var ICON_MAP = {
|
|
|
99
99
|
"si-users": Users,
|
|
100
100
|
"si-wifi": Wifi
|
|
101
101
|
};
|
|
102
|
-
var SPIN_CLASSNAMES = new Set(["
|
|
102
|
+
var SPIN_CLASSNAMES = new Set(["si-spin"]);
|
|
103
103
|
function cx() {
|
|
104
104
|
var parts = [];
|
|
105
105
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidIcon.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidIcon.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SolidIcon.js","sourceRoot":"","sources":["../../../src/components/shad-cn-ui/SolidIcon.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport type { LucideIcon } from \"lucide-react\";\nimport {\n AlertCircle,\n AlertTriangle,\n Archive,\n ArrowDownWideNarrow,\n ArrowLeft,\n ArrowRight,\n ArrowUpWideNarrow,\n BarChart3,\n Bell,\n Bot,\n Calendar,\n CalendarMinus,\n CalendarPlus,\n Check,\n CheckCircle2,\n ChevronsLeft,\n ChevronsRight,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n CircleHelp,\n Code,\n Cog,\n Columns3,\n Copy,\n Download,\n DownloadCloud,\n ExternalLink,\n Eye,\n EyeOff,\n File,\n FilePenLine,\n FileSpreadsheet,\n FileText,\n FileType,\n Filter,\n FilterX,\n History,\n Image as ImageIcon,\n Inbox,\n Info,\n LayoutGrid,\n Loader2,\n Lock,\n Mail,\n Menu,\n MessageSquare,\n Minus,\n MoreHorizontal,\n MoreVertical,\n Pencil,\n Plus,\n Power,\n RefreshCcw,\n Save,\n Search,\n Send,\n SlidersHorizontal,\n Star,\n Terminal,\n Trash2,\n Upload,\n UploadCloud,\n User,\n Users,\n Wifi,\n X,\n XCircle\n} from \"lucide-react\";\n\ntype IconComponent = LucideIcon;\n\nconst ICON_MAP = {\n \"si-android\": Bot,\n \"si-angle-double-left\": ChevronsLeft,\n \"si-angle-double-right\": ChevronsRight,\n \"si-angle-down\": ChevronDown,\n \"si-angle-left\": ChevronLeft,\n \"si-angle-right\": ChevronRight,\n \"si-angle-up\": ChevronUp,\n \"si-archive\": Archive,\n \"si-arrow-left\": ArrowLeft,\n \"si-arrow-right\": ArrowRight,\n \"si-bars\": Menu,\n \"si-bell\": Bell,\n \"si-calendar\": Calendar,\n \"si-calendar-minus\": CalendarMinus,\n \"si-calendar-plus\": CalendarPlus,\n \"si-chart-bar\": BarChart3,\n \"si-chart-line\": BarChart3,\n \"si-check\": Check,\n \"si-check-circle\": CheckCircle2,\n \"si-chevron-down\": ChevronDown,\n \"si-chevron-left\": ChevronLeft,\n \"si-chevron-right\": ChevronRight,\n \"si-chevron-up\": ChevronUp,\n \"si-clone\": Copy,\n \"si-cloud-download\": DownloadCloud,\n \"si-cloud-upload\": UploadCloud,\n \"si-code\": Code,\n \"si-cog\": Cog,\n \"si-comments\": MessageSquare,\n \"si-copy\": Copy,\n \"si-download\": Download,\n \"si-ellipsis-h\": MoreHorizontal,\n \"si-ellipsis-v\": MoreVertical,\n \"si-envelope\": Mail,\n \"si-exclamation-circle\": AlertCircle,\n \"si-exclamation-triangle\": AlertTriangle,\n \"si-external-link\": ExternalLink,\n \"si-eye\": Eye,\n \"si-eye-slash\": EyeOff,\n \"si-file\": File,\n \"si-file-edit\": FilePenLine,\n \"si-file-excel\": FileSpreadsheet,\n \"si-file-pdf\": FileText,\n \"si-file-word\": FileType,\n \"si-filter\": Filter,\n \"si-filter-fill\": Filter,\n \"si-filter-slash\": FilterX,\n \"si-history\": History,\n \"si-image\": ImageIcon,\n \"si-inbox\": Inbox,\n \"si-info-circle\": Info,\n \"si-lock\": Lock,\n \"si-minus\": Minus,\n \"si-objects-column\": Columns3,\n \"si-pencil\": Pencil,\n \"si-plus\": Plus,\n \"si-power-off\": Power,\n \"si-refresh\": RefreshCcw,\n \"si-save\": Save,\n \"si-search\": Search,\n \"si-send\": Send,\n \"si-sliders-h\": SlidersHorizontal,\n \"si-sort-down-fill\": ArrowDownWideNarrow,\n \"si-sort-up-fill\": ArrowUpWideNarrow,\n \"si-spinner\": Loader2,\n \"si-star\": Star,\n \"si-terminal\": Terminal,\n \"si-th-large\": LayoutGrid,\n \"si-times\": X,\n \"si-times-circle\": XCircle,\n \"si-trash\": Trash2,\n \"si-upload\": Upload,\n \"si-user\": User,\n \"si-users\": Users,\n \"si-wifi\": Wifi\n} satisfies Record<string, IconComponent>;\n\nexport type SolidIconName = keyof typeof ICON_MAP;\n\nconst SPIN_CLASSNAMES = new Set([\"si-spin\"]);\n\nfunction cx(...parts: Array<string | false | undefined>) {\n return parts.filter(Boolean).join(\" \");\n}\n\nfunction isSolidIconName(name: string): name is SolidIconName {\n return Object.prototype.hasOwnProperty.call(ICON_MAP, name);\n}\n\nexport interface SolidIconProps extends React.SVGAttributes<SVGSVGElement> {\n name: SolidIconName;\n size?: number | string;\n spin?: boolean;\n}\n\nexport const ICON_KEYS = Object.keys(ICON_MAP) as SolidIconName[];\n\nexport function SolidIcon({ name, size = \"1em\", spin, className, ...rest }: SolidIconProps) {\n const IconComponent = ICON_MAP[name] ?? CircleHelp;\n\n return (\n <IconComponent\n size={size}\n className={cx(\"solid-icon\", spin && \"solid-icon--spin\", className)}\n {...rest}\n />\n );\n}\n\nexport type SolidIconMeta = {\n name: SolidIconName;\n spin?: boolean;\n};\n\nexport function parseSolidIconMeta(value?: string | null): SolidIconMeta | undefined {\n if (!value) return undefined;\n const tokens = value.trim().split(/\\s+/).filter(Boolean);\n if (tokens.length === 0) return undefined;\n\n let spin = false;\n let matchedName: SolidIconName | undefined;\n\n for (const token of tokens) {\n if (SPIN_CLASSNAMES.has(token)) {\n spin = true;\n continue;\n }\n\n if (!token.startsWith(\"pi-\") && !token.startsWith(\"si-\")) {\n continue;\n }\n\n const normalized = token.startsWith(\"pi-\") ? `si-${token.slice(3)}` : token;\n if (isSolidIconName(normalized)) {\n matchedName = normalized;\n }\n }\n\n if (!matchedName) return undefined;\n\n return { name: matchedName, spin };\n}\n\nexport function normalizeSolidIconName(value?: string | null): SolidIconName | undefined {\n return parseSolidIconMeta(value)?.name;\n}\n"]}
|
|
@@ -154,7 +154,7 @@ const ICON_MAP = {
|
|
|
154
154
|
|
|
155
155
|
export type SolidIconName = keyof typeof ICON_MAP;
|
|
156
156
|
|
|
157
|
-
const SPIN_CLASSNAMES = new Set(["
|
|
157
|
+
const SPIN_CLASSNAMES = new Set(["si-spin"]);
|
|
158
158
|
|
|
159
159
|
function cx(...parts: Array<string | false | undefined>) {
|
|
160
160
|
return parts.filter(Boolean).join(" ");
|
|
@@ -245,3 +245,32 @@
|
|
|
245
245
|
.workflow-node-docs pre {
|
|
246
246
|
max-width: 100%;
|
|
247
247
|
}
|
|
248
|
+
|
|
249
|
+
html.dark .workflow-node-docs,
|
|
250
|
+
[data-theme="dark"] .workflow-node-docs {
|
|
251
|
+
color: var(--foreground);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
html.dark .workflow-node-docs-title-row h2,
|
|
255
|
+
html.dark .workflow-node-docs-section-trigger.solid-accordion-trigger,
|
|
256
|
+
html.dark .workflow-node-docs-row-heading strong,
|
|
257
|
+
html.dark .workflow-node-docs-section-title,
|
|
258
|
+
html.dark .workflow-node-docs-examples-inline strong,
|
|
259
|
+
[data-theme="dark"] .workflow-node-docs-title-row h2,
|
|
260
|
+
[data-theme="dark"] .workflow-node-docs-section-trigger.solid-accordion-trigger,
|
|
261
|
+
[data-theme="dark"] .workflow-node-docs-row-heading strong,
|
|
262
|
+
[data-theme="dark"] .workflow-node-docs-section-title,
|
|
263
|
+
[data-theme="dark"] .workflow-node-docs-examples-inline strong {
|
|
264
|
+
color: var(--foreground);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
html.dark .workflow-node-docs-type,
|
|
268
|
+
html.dark .workflow-node-docs-description,
|
|
269
|
+
html.dark .workflow-node-docs-meta-row span,
|
|
270
|
+
html.dark .workflow-node-docs-meta-row code,
|
|
271
|
+
[data-theme="dark"] .workflow-node-docs-type,
|
|
272
|
+
[data-theme="dark"] .workflow-node-docs-description,
|
|
273
|
+
[data-theme="dark"] .workflow-node-docs-meta-row span,
|
|
274
|
+
[data-theme="dark"] .workflow-node-docs-meta-row code {
|
|
275
|
+
color: var(--muted-foreground);
|
|
276
|
+
}
|
|
@@ -997,3 +997,68 @@
|
|
|
997
997
|
grid-template-columns: 1fr;
|
|
998
998
|
}
|
|
999
999
|
}
|
|
1000
|
+
|
|
1001
|
+
/* Workflow node dialogs inherit the active application theme, including all labels. */
|
|
1002
|
+
html.dark .solid-workflow-node-editor-dialog,
|
|
1003
|
+
[data-theme="dark"] .solid-workflow-node-editor-dialog {
|
|
1004
|
+
color: var(--foreground);
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
html.dark .workflow-node-editor-dialog-title,
|
|
1008
|
+
html.dark .workflow-node-editor-section-heading,
|
|
1009
|
+
html.dark .workflow-add-node-category-title,
|
|
1010
|
+
html.dark .workflow-add-node-card-title,
|
|
1011
|
+
[data-theme="dark"] .workflow-node-editor-dialog-title,
|
|
1012
|
+
[data-theme="dark"] .workflow-node-editor-section-heading,
|
|
1013
|
+
[data-theme="dark"] .workflow-add-node-category-title,
|
|
1014
|
+
[data-theme="dark"] .workflow-add-node-card-title {
|
|
1015
|
+
color: var(--foreground);
|
|
1016
|
+
}
|
|
1017
|
+
|
|
1018
|
+
html.dark .workflow-node-editor-dialog-subtitle,
|
|
1019
|
+
html.dark .workflow-node-editor-label,
|
|
1020
|
+
html.dark .workflow-add-node-subcategory-title,
|
|
1021
|
+
html.dark .workflow-add-node-card-description,
|
|
1022
|
+
[data-theme="dark"] .workflow-node-editor-dialog-subtitle,
|
|
1023
|
+
[data-theme="dark"] .workflow-node-editor-label,
|
|
1024
|
+
[data-theme="dark"] .workflow-add-node-subcategory-title,
|
|
1025
|
+
[data-theme="dark"] .workflow-add-node-card-description {
|
|
1026
|
+
color: var(--muted-foreground);
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
html.dark .workflow-add-node-search,
|
|
1030
|
+
html.dark .workflow-add-node-card,
|
|
1031
|
+
[data-theme="dark"] .workflow-add-node-search,
|
|
1032
|
+
[data-theme="dark"] .workflow-add-node-card {
|
|
1033
|
+
background: var(--card);
|
|
1034
|
+
border-color: var(--border);
|
|
1035
|
+
color: var(--foreground);
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
html.dark .workflow-add-node-category + .workflow-add-node-category,
|
|
1039
|
+
[data-theme="dark"] .workflow-add-node-category + .workflow-add-node-category {
|
|
1040
|
+
border-top-color: var(--border);
|
|
1041
|
+
}
|
|
1042
|
+
|
|
1043
|
+
html.dark .workflow-add-node-search-action,
|
|
1044
|
+
[data-theme="dark"] .workflow-add-node-search-action {
|
|
1045
|
+
color: var(--muted-foreground);
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
html.dark .workflow-add-node-search-action:hover,
|
|
1049
|
+
html.dark .workflow-add-node-search-action:focus-visible,
|
|
1050
|
+
html.dark .workflow-add-node-search-action.is-active,
|
|
1051
|
+
[data-theme="dark"] .workflow-add-node-search-action:hover,
|
|
1052
|
+
[data-theme="dark"] .workflow-add-node-search-action:focus-visible,
|
|
1053
|
+
[data-theme="dark"] .workflow-add-node-search-action.is-active {
|
|
1054
|
+
background: var(--surface-hover);
|
|
1055
|
+
color: var(--primary);
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
html.dark .workflow-add-node-card:hover,
|
|
1059
|
+
html.dark .workflow-add-node-card:focus-visible,
|
|
1060
|
+
[data-theme="dark"] .workflow-add-node-card:hover,
|
|
1061
|
+
[data-theme="dark"] .workflow-add-node-card:focus-visible {
|
|
1062
|
+
border-color: var(--primary);
|
|
1063
|
+
box-shadow: var(--shadow-soft);
|
|
1064
|
+
}
|
|
@@ -10,5 +10,6 @@ export declare const getAvailableMediaExtensionOptions: (mediaTypes?: string[] |
|
|
|
10
10
|
}>;
|
|
11
11
|
export declare const getAllowedMediaTypesLabel: (mediaTypes?: string[] | null) => string;
|
|
12
12
|
export declare const getAllowedMediaExtensionsLabel: (mediaAllowedExtensions?: string[] | null) => string | null;
|
|
13
|
+
export declare const getAllowedMediaExtensionsErrorMessage: (mediaAllowedExtensions?: string[] | null) => string | null;
|
|
13
14
|
export default function getAcceptedFileTypes(mediaTypes?: string[] | null, mediaAllowedExtensions?: string[] | null, mediaConfig?: MediaConfig | null): Record<string, string[]>;
|
|
14
15
|
//# sourceMappingURL=getAcceptedFileTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAcceptedFileTypes.d.ts","sourceRoot":"","sources":["../../src/helpers/getAcceptedFileTypes.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACtB,wBAAwB,CAAC,EAAE,KAAK,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACN,CAAC;AAuCF,eAAO,MAAM,iCAAiC,gBAAiB,MAAM,EAAE,GAAG,IAAI,6BAA6B,WAAW,CAAC,0BAA0B,CAAC,GAAG,IAAI,KAAG,MAAM;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAKjM,CAAC;AAEF,eAAO,MAAM,yBAAyB,gBAAiB,MAAM,EAAE,GAAG,IAAI,KAAG,MAWxE,CAAC;AAEF,eAAO,MAAM,8BAA8B,4BAA6B,MAAM,EAAE,GAAG,IAAI,KAAG,MAAM,GAAG,IAOlG,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,sBAAsB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,4BA+BpJ"}
|
|
1
|
+
{"version":3,"file":"getAcceptedFileTypes.d.ts","sourceRoot":"","sources":["../../src/helpers/getAcceptedFileTypes.tsx"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACtB,wBAAwB,CAAC,EAAE,KAAK,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACN,CAAC;AAuCF,eAAO,MAAM,iCAAiC,gBAAiB,MAAM,EAAE,GAAG,IAAI,6BAA6B,WAAW,CAAC,0BAA0B,CAAC,GAAG,IAAI,KAAG,MAAM;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAKjM,CAAC;AAEF,eAAO,MAAM,yBAAyB,gBAAiB,MAAM,EAAE,GAAG,IAAI,KAAG,MAWxE,CAAC;AAEF,eAAO,MAAM,8BAA8B,4BAA6B,MAAM,EAAE,GAAG,IAAI,KAAG,MAAM,GAAG,IAOlG,CAAC;AAEF,eAAO,MAAM,qCAAqC,4BAA6B,MAAM,EAAE,GAAG,IAAI,KAAG,MAAM,GAAG,IAKzG,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,sBAAsB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,4BA+BpJ"}
|
|
@@ -41,6 +41,12 @@ export var getAllowedMediaExtensionsLabel = function (mediaAllowedExtensions) {
|
|
|
41
41
|
}
|
|
42
42
|
return selectedExtensions.map(function (extension) { return ".".concat(extension); }).join(", ");
|
|
43
43
|
};
|
|
44
|
+
export var getAllowedMediaExtensionsErrorMessage = function (mediaAllowedExtensions) {
|
|
45
|
+
var allowedExtensionsLabel = getAllowedMediaExtensionsLabel(mediaAllowedExtensions);
|
|
46
|
+
return allowedExtensionsLabel
|
|
47
|
+
? "Please upload a file with one of these extensions: ".concat(allowedExtensionsLabel)
|
|
48
|
+
: null;
|
|
49
|
+
};
|
|
44
50
|
export default function getAcceptedFileTypes(mediaTypes, mediaAllowedExtensions, mediaConfig) {
|
|
45
51
|
var effectiveExtensions = normalizeExtensions(mediaAllowedExtensions);
|
|
46
52
|
if (effectiveExtensions.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getAcceptedFileTypes.js","sourceRoot":"","sources":["../../src/helpers/getAcceptedFileTypes.tsx"],"names":[],"mappings":"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","sourcesContent":["export type MediaConfig = {\n mediaFileTypeDefinitions?: Array<{\n mediaType: string;\n extension: string;\n }>;\n};\n\nconst MEDIA_TYPE_LABELS: Record<string, string> = {\n image: \"Images\",\n audio: \"Audio\",\n video: \"Video\",\n file: \"Documents and archives\",\n pdf: \"PDF\",\n};\n\nconst normalizeExtensions = (extensions?: string[] | null): string[] => Array.from(\n new Set(\n (Array.isArray(extensions) ? extensions : [])\n .map((extension) => String(extension || \"\").trim().toLowerCase().replace(/^\\./, \"\"))\n .filter(Boolean)\n )\n);\n\nconst normalizeMediaTypes = (mediaTypes?: string[] | null): string[] => Array.from(\n new Set(\n (Array.isArray(mediaTypes) ? mediaTypes : [])\n .map((type) => String(type || \"\").trim().toLowerCase())\n .filter(Boolean)\n )\n);\n\nconst getCategoryExtensions = (mediaTypes?: string[] | null, mediaFileTypeDefinitions?: MediaConfig[\"mediaFileTypeDefinitions\"] | null): string[] => {\n const allowedMediaTypes = new Set(normalizeMediaTypes(mediaTypes));\n if (allowedMediaTypes.size === 0) {\n return [];\n }\n\n return normalizeExtensions(\n (mediaFileTypeDefinitions ?? [])\n .filter((fileType) => allowedMediaTypes.has(String(fileType?.mediaType || \"\").toLowerCase()))\n .map((fileType) => String(fileType?.extension || \"\").trim().toLowerCase())\n );\n};\n\nexport const getAvailableMediaExtensionOptions = (mediaTypes?: string[] | null, mediaFileTypeDefinitions?: MediaConfig[\"mediaFileTypeDefinitions\"] | null): Array<{ label: string; value: string }> => {\n return getCategoryExtensions(mediaTypes, mediaFileTypeDefinitions).map((extension) => ({\n label: `.${extension}`,\n value: extension,\n }));\n};\n\nexport const getAllowedMediaTypesLabel = (mediaTypes?: string[] | null): string => {\n const normalizedMediaTypes = normalizeMediaTypes(mediaTypes);\n if (normalizedMediaTypes.length === 0) {\n return \"Any file\";\n }\n\n const labels = normalizedMediaTypes.map(\n (type) => MEDIA_TYPE_LABELS[type] || type.toUpperCase()\n );\n\n return labels.length > 0 ? labels.join(\", \") : \"Any file\";\n};\n\nexport const getAllowedMediaExtensionsLabel = (mediaAllowedExtensions?: string[] | null): string | null => {\n const selectedExtensions = normalizeExtensions(mediaAllowedExtensions);\n if (selectedExtensions.length === 0) {\n return null;\n }\n\n return selectedExtensions.map((extension) => `.${extension}`).join(\", \");\n};\n\nexport default function getAcceptedFileTypes(mediaTypes?: string[] | null, mediaAllowedExtensions?: string[] | null, mediaConfig?: MediaConfig | null) {\n const effectiveExtensions = normalizeExtensions(mediaAllowedExtensions);\n if (effectiveExtensions.length > 0) {\n return {\n \"application/octet-stream\": effectiveExtensions.map((extension) => `.${extension}`),\n };\n }\n\n const normalizedMediaTypes = normalizeMediaTypes(mediaTypes);\n if (normalizedMediaTypes.length === 0) {\n return {};\n }\n\n const categoryExtensions = getCategoryExtensions(mediaTypes, mediaConfig?.mediaFileTypeDefinitions);\n const allowedExtensions = categoryExtensions.map((extension) => `.${extension}`);\n const acceptGroups: string[] = [];\n\n if (normalizedMediaTypes.includes(\"image\")) acceptGroups.push(\"image/*\");\n if (normalizedMediaTypes.includes(\"audio\")) acceptGroups.push(\"audio/*\");\n if (normalizedMediaTypes.includes(\"video\")) acceptGroups.push(\"video/*\");\n if (normalizedMediaTypes.includes(\"pdf\")) acceptGroups.push(\"application/pdf\");\n if (normalizedMediaTypes.includes(\"file\")) acceptGroups.push(\"application/*\", \"text/*\");\n\n if (acceptGroups.length === 0) {\n return {};\n }\n\n return acceptGroups.reduce<Record<string, string[]>>((acceptMap, acceptGroup) => {\n acceptMap[acceptGroup] = allowedExtensions;\n return acceptMap;\n }, {});\n}\n"]}
|
|
1
|
+
{"version":3,"file":"getAcceptedFileTypes.js","sourceRoot":"","sources":["../../src/helpers/getAcceptedFileTypes.tsx"],"names":[],"mappings":"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","sourcesContent":["export type MediaConfig = {\n mediaFileTypeDefinitions?: Array<{\n mediaType: string;\n extension: string;\n }>;\n};\n\nconst MEDIA_TYPE_LABELS: Record<string, string> = {\n image: \"Images\",\n audio: \"Audio\",\n video: \"Video\",\n file: \"Documents and archives\",\n pdf: \"PDF\",\n};\n\nconst normalizeExtensions = (extensions?: string[] | null): string[] => Array.from(\n new Set(\n (Array.isArray(extensions) ? extensions : [])\n .map((extension) => String(extension || \"\").trim().toLowerCase().replace(/^\\./, \"\"))\n .filter(Boolean)\n )\n);\n\nconst normalizeMediaTypes = (mediaTypes?: string[] | null): string[] => Array.from(\n new Set(\n (Array.isArray(mediaTypes) ? mediaTypes : [])\n .map((type) => String(type || \"\").trim().toLowerCase())\n .filter(Boolean)\n )\n);\n\nconst getCategoryExtensions = (mediaTypes?: string[] | null, mediaFileTypeDefinitions?: MediaConfig[\"mediaFileTypeDefinitions\"] | null): string[] => {\n const allowedMediaTypes = new Set(normalizeMediaTypes(mediaTypes));\n if (allowedMediaTypes.size === 0) {\n return [];\n }\n\n return normalizeExtensions(\n (mediaFileTypeDefinitions ?? [])\n .filter((fileType) => allowedMediaTypes.has(String(fileType?.mediaType || \"\").toLowerCase()))\n .map((fileType) => String(fileType?.extension || \"\").trim().toLowerCase())\n );\n};\n\nexport const getAvailableMediaExtensionOptions = (mediaTypes?: string[] | null, mediaFileTypeDefinitions?: MediaConfig[\"mediaFileTypeDefinitions\"] | null): Array<{ label: string; value: string }> => {\n return getCategoryExtensions(mediaTypes, mediaFileTypeDefinitions).map((extension) => ({\n label: `.${extension}`,\n value: extension,\n }));\n};\n\nexport const getAllowedMediaTypesLabel = (mediaTypes?: string[] | null): string => {\n const normalizedMediaTypes = normalizeMediaTypes(mediaTypes);\n if (normalizedMediaTypes.length === 0) {\n return \"Any file\";\n }\n\n const labels = normalizedMediaTypes.map(\n (type) => MEDIA_TYPE_LABELS[type] || type.toUpperCase()\n );\n\n return labels.length > 0 ? labels.join(\", \") : \"Any file\";\n};\n\nexport const getAllowedMediaExtensionsLabel = (mediaAllowedExtensions?: string[] | null): string | null => {\n const selectedExtensions = normalizeExtensions(mediaAllowedExtensions);\n if (selectedExtensions.length === 0) {\n return null;\n }\n\n return selectedExtensions.map((extension) => `.${extension}`).join(\", \");\n};\n\nexport const getAllowedMediaExtensionsErrorMessage = (mediaAllowedExtensions?: string[] | null): string | null => {\n const allowedExtensionsLabel = getAllowedMediaExtensionsLabel(mediaAllowedExtensions);\n return allowedExtensionsLabel\n ? `Please upload a file with one of these extensions: ${allowedExtensionsLabel}`\n : null;\n};\n\nexport default function getAcceptedFileTypes(mediaTypes?: string[] | null, mediaAllowedExtensions?: string[] | null, mediaConfig?: MediaConfig | null) {\n const effectiveExtensions = normalizeExtensions(mediaAllowedExtensions);\n if (effectiveExtensions.length > 0) {\n return {\n \"application/octet-stream\": effectiveExtensions.map((extension) => `.${extension}`),\n };\n }\n\n const normalizedMediaTypes = normalizeMediaTypes(mediaTypes);\n if (normalizedMediaTypes.length === 0) {\n return {};\n }\n\n const categoryExtensions = getCategoryExtensions(mediaTypes, mediaConfig?.mediaFileTypeDefinitions);\n const allowedExtensions = categoryExtensions.map((extension) => `.${extension}`);\n const acceptGroups: string[] = [];\n\n if (normalizedMediaTypes.includes(\"image\")) acceptGroups.push(\"image/*\");\n if (normalizedMediaTypes.includes(\"audio\")) acceptGroups.push(\"audio/*\");\n if (normalizedMediaTypes.includes(\"video\")) acceptGroups.push(\"video/*\");\n if (normalizedMediaTypes.includes(\"pdf\")) acceptGroups.push(\"application/pdf\");\n if (normalizedMediaTypes.includes(\"file\")) acceptGroups.push(\"application/*\", \"text/*\");\n\n if (acceptGroups.length === 0) {\n return {};\n }\n\n return acceptGroups.reduce<Record<string, string[]>>((acceptMap, acceptGroup) => {\n acceptMap[acceptGroup] = allowedExtensions;\n return acceptMap;\n }, {});\n}\n"]}
|
|
@@ -71,6 +71,13 @@ export const getAllowedMediaExtensionsLabel = (mediaAllowedExtensions?: string[]
|
|
|
71
71
|
return selectedExtensions.map((extension) => `.${extension}`).join(", ");
|
|
72
72
|
};
|
|
73
73
|
|
|
74
|
+
export const getAllowedMediaExtensionsErrorMessage = (mediaAllowedExtensions?: string[] | null): string | null => {
|
|
75
|
+
const allowedExtensionsLabel = getAllowedMediaExtensionsLabel(mediaAllowedExtensions);
|
|
76
|
+
return allowedExtensionsLabel
|
|
77
|
+
? `Please upload a file with one of these extensions: ${allowedExtensionsLabel}`
|
|
78
|
+
: null;
|
|
79
|
+
};
|
|
80
|
+
|
|
74
81
|
export default function getAcceptedFileTypes(mediaTypes?: string[] | null, mediaAllowedExtensions?: string[] | null, mediaConfig?: MediaConfig | null) {
|
|
75
82
|
const effectiveExtensions = normalizeExtensions(mediaAllowedExtensions);
|
|
76
83
|
if (effectiveExtensions.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaType.d.ts","sourceRoot":"","sources":["../../src/helpers/mediaType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"mediaType.d.ts","sourceRoot":"","sources":["../../src/helpers/mediaType.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AACpD,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,MAAM,CAAC;AAyClD,eAAO,MAAM,mBAAmB;;;;MAA0F,gBAEzH,CAAC;AAEF,eAAO,MAAM,mBAAmB,cACnB,gBAAgB,mCACsD,CAAC;AAEpF,eAAO,MAAM,mBAAmB,SAAU,MAAM,KAAG,SAOlD,CAAC"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
var
|
|
3
|
-
|
|
1
|
+
// Keep these fallback extensions aligned with the supported MEDIA_FILE_TYPES metadata.
|
|
2
|
+
var imageExtensions = ["png", "jpg", "jpeg", "webp", "gif", "bmp", "tiff", "heic", "heif"];
|
|
3
|
+
// These extensions are supported by the media metadata and should open in the video lightbox
|
|
4
|
+
// when the stored MIME type is missing or generic.
|
|
5
|
+
var videoExtensions = ["mp4", "webm", "ogg", "mov", "m4v", "3g2", "mpeg", "mpg", "mkv", "avi"];
|
|
6
|
+
var audioExtensions = ["mp3", "wav", "ogg", "aac", "m4a", "flac", "webm"];
|
|
4
7
|
var getMediaExtension = function (value) {
|
|
5
8
|
var _a, _b;
|
|
6
9
|
if (!value)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mediaType.js","sourceRoot":"","sources":["../../src/helpers/mediaType.ts"],"names":[],"mappings":"AAAA,IAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"mediaType.js","sourceRoot":"","sources":["../../src/helpers/mediaType.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,IAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7F,6FAA6F;AAC7F,mDAAmD;AACnD,IAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AACjG,IAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAK5E,IAAM,iBAAiB,GAAG,UAAC,KAAc;;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,IAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,MAAA,MAAA,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,0CAAE,WAAW,EAAE,mCAAI,EAAE,CAAC;AAC1D,CAAC,CAAC;AAEF,IAAM,YAAY,GAAG,UAAC,EAAoF;QAAlF,GAAG,SAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAA;IAC7C,IAAM,kBAAkB,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAChE,IAAI,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC3C,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC3C,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,kBAAkB,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC3C,OAAO,OAAO,CAAC;KAChB;IAED,IAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,CAAC,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACxE,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACvC,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACvC,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACvC,OAAO,OAAO,CAAC;KAChB;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,EAAmF;;QAAjF,GAAG,SAAA,EAAE,QAAQ,cAAA,EAAE,QAAQ,cAAA;IAC3D,OAAO,MAAA,YAAY,CAAC,EAAE,GAAG,KAAA,EAAE,QAAQ,UAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,mCAAI,MAAM,CAAC;AAC7D,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,mBAAmB,GAAG,UACjC,SAA2B,IACQ,OAAA,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,OAAO,EAA9C,CAA8C,CAAC;AAEpF,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,GAAY;IAC9C,IAAM,SAAS,GAAG,YAAY,CAAC,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;IACxC,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,OAAO,EAAE;QAClD,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC","sourcesContent":["// Keep these fallback extensions aligned with the supported MEDIA_FILE_TYPES metadata.\nconst imageExtensions = [\"png\", \"jpg\", \"jpeg\", \"webp\", \"gif\", \"bmp\", \"tiff\", \"heic\", \"heif\"];\n// These extensions are supported by the media metadata and should open in the video lightbox\n// when the stored MIME type is missing or generic.\nconst videoExtensions = [\"mp4\", \"webm\", \"ogg\", \"mov\", \"m4v\", \"3g2\", \"mpeg\", \"mpg\", \"mkv\", \"avi\"];\nconst audioExtensions = [\"mp3\", \"wav\", \"ogg\", \"aac\", \"m4a\", \"flac\", \"webm\"];\n\nexport type MediaKind = \"image\" | \"video\" | \"audio\";\nexport type MediaPreviewKind = MediaKind | \"file\";\n\nconst getMediaExtension = (value?: string): string => {\n if (!value) return \"\";\n\n const cleanValue = value.split(\"?\")[0];\n return cleanValue.split(\".\").pop()?.toLowerCase() ?? \"\";\n};\n\nconst getMediaKind = ({ url, fileName, mimeType }: { url?: string; fileName?: string; mimeType?: string; }): MediaKind | null => {\n const normalizedMimeType = String(mimeType || \"\").toLowerCase();\n if (normalizedMimeType.startsWith(\"image/\")) {\n return \"image\";\n }\n\n if (normalizedMimeType.startsWith(\"video/\")) {\n return \"video\";\n }\n\n if (normalizedMimeType.startsWith(\"audio/\")) {\n return \"audio\";\n }\n\n const extension = getMediaExtension(fileName) || getMediaExtension(url);\n if (!extension) return null;\n\n if (imageExtensions.includes(extension)) {\n return \"image\";\n }\n\n if (videoExtensions.includes(extension)) {\n return \"video\";\n }\n\n if (audioExtensions.includes(extension)) {\n return \"audio\";\n }\n\n return null;\n};\n\nexport const getMediaPreviewKind = ({ url, fileName, mimeType}: { url?: string; fileName?: string; mimeType?: string; }): MediaPreviewKind => {\n return getMediaKind({ url, fileName, mimeType }) ?? \"file\";\n};\n\nexport const isLightboxMediaKind = (\n mediaKind: MediaPreviewKind\n): mediaKind is \"image\" | \"video\" => mediaKind === \"image\" || mediaKind === \"video\";\n\nexport const getMediaTypeFromUrl = (url?: string): MediaKind => {\n const mediaKind = getMediaKind({ url });\n if (mediaKind === \"video\" || mediaKind === \"audio\") {\n return mediaKind;\n }\n\n return \"image\";\n};\n"]}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
const
|
|
3
|
-
|
|
1
|
+
// Keep these fallback extensions aligned with the supported MEDIA_FILE_TYPES metadata.
|
|
2
|
+
const imageExtensions = ["png", "jpg", "jpeg", "webp", "gif", "bmp", "tiff", "heic", "heif"];
|
|
3
|
+
// These extensions are supported by the media metadata and should open in the video lightbox
|
|
4
|
+
// when the stored MIME type is missing or generic.
|
|
5
|
+
const videoExtensions = ["mp4", "webm", "ogg", "mov", "m4v", "3g2", "mpeg", "mpg", "mkv", "avi"];
|
|
6
|
+
const audioExtensions = ["mp3", "wav", "ogg", "aac", "m4a", "flac", "webm"];
|
|
4
7
|
|
|
5
8
|
export type MediaKind = "image" | "video" | "audio";
|
|
6
9
|
export type MediaPreviewKind = MediaKind | "file";
|