@syncfusion/ej2-react-form-builder 0.1.0-beta → 35.1.37
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 +81 -36
- package/diConfig.json +148 -0
- package/dist/ej2-react-form-builder.min.js +10 -0
- package/dist/ej2-react-form-builder.umd.min.js +11 -0
- package/dist/ej2-react-form-builder.umd.min.js.map +1 -0
- package/dist/es6/ej2-react-form-builder.es2015.js +60 -0
- package/dist/es6/ej2-react-form-builder.es2015.js.map +1 -0
- package/form-builder.d.ts +4 -0
- package/form-builder.js +4 -0
- package/index.d.ts +2 -4
- package/index.js +2 -4
- package/license +6 -13
- package/package.json +19 -43
- package/src/form-builder/formbuilder.component.d.ts +37 -0
- package/src/form-builder/formbuilder.component.js +50 -0
- package/src/form-builder/index.d.ts +2 -0
- package/src/form-builder/index.js +2 -0
- package/src/form-builder/toolboxitems-directive.d.ts +28 -0
- package/src/form-builder/toolboxitems-directive.js +47 -0
- package/src/global.js +1 -0
- package/src/index.d.ts +2 -16
- package/src/index.js +2 -6
- package/Common/CheckboxGroup.d.ts +0 -13
- package/Common/CheckboxGroup.js +0 -50
- package/Common/ConditionalRuleEngine.d.ts +0 -296
- package/Common/ConditionalRuleEngine.js +0 -566
- package/Common/CustomTabComponent.d.ts +0 -17
- package/Common/CustomTabComponent.js +0 -30
- package/Common/CustomValidationEngine.d.ts +0 -58
- package/Common/CustomValidationEngine.js +0 -146
- package/Common/DataGridComponent.d.ts +0 -20
- package/Common/DataGridComponent.js +0 -273
- package/Common/FormValidator.d.ts +0 -485
- package/Common/FormValidator.js +0 -575
- package/Common/MinMaxRuleEngine.d.ts +0 -105
- package/Common/MinMaxRuleEngine.js +0 -365
- package/Common/StaticHtmlRenderer.d.ts +0 -14
- package/Common/StaticHtmlRenderer.js +0 -24
- package/Common/expressions/DependencyTracker.d.ts +0 -30
- package/Common/expressions/DependencyTracker.js +0 -128
- package/Common/expressions/ExpressionEngine.d.ts +0 -95
- package/Common/expressions/ExpressionEngine.js +0 -506
- package/Common/expressions/ExpressionParser.d.ts +0 -41
- package/Common/expressions/ExpressionParser.js +0 -269
- package/Common/expressions/useGridExpressions.d.ts +0 -12
- package/Common/expressions/useGridExpressions.js +0 -71
- package/Common/globalFormId.d.ts +0 -26
- package/Common/globalFormId.js +0 -45
- package/Common/json-converter.d.ts +0 -444
- package/Common/json-converter.js +0 -1184
- package/Common/parser.d.ts +0 -98
- package/Common/parser.js +0 -753
- package/Common/utils.d.ts +0 -130
- package/Common/utils.js +0 -574
- package/src/FormBuilder.d.ts +0 -211
- package/src/FormBuilder.js +0 -1299
- package/src/components/Database/ConnectionForm.d.ts +0 -8
- package/src/components/Database/ConnectionForm.js +0 -28
- package/src/components/TopBar.d.ts +0 -10
- package/src/components/TopBar.js +0 -7
- package/src/components/icons/ComponentIcons.d.ts +0 -44
- package/src/components/icons/ComponentIcons.js +0 -40
- package/src/components/layout/FormFieldWrapper.d.ts +0 -41
- package/src/components/layout/FormFieldWrapper.js +0 -112
- package/src/components/layout/LeftPane.d.ts +0 -23
- package/src/components/layout/LeftPane.js +0 -310
- package/src/components/layout/ListBoxPane.d.ts +0 -24
- package/src/components/layout/ListBoxPane.js +0 -94
- package/src/components/layout/MainSection.d.ts +0 -39
- package/src/components/layout/MainSection.js +0 -1766
- package/src/components/layout/Preview.d.ts +0 -12
- package/src/components/layout/Preview.js +0 -337
- package/src/components/layout/RightPane.d.ts +0 -22
- package/src/components/layout/RightPane.js +0 -370
- package/src/components/theme/ThemeSwitcher.d.ts +0 -14
- package/src/components/theme/ThemeSwitcher.js +0 -24
- package/src/components/theme/theme-constant.d.ts +0 -37
- package/src/components/theme/theme-constant.js +0 -23
- package/src/config/component-properties.json +0 -4929
- package/src/config/form-setting.json +0 -56
- package/src/config/locale.d.ts +0 -449
- package/src/config/locale.js +0 -449
- package/src/context/FormSchemaContext.d.ts +0 -32
- package/src/context/FormSchemaContext.js +0 -155
- package/src/context/LocalizationContext.d.ts +0 -27
- package/src/context/LocalizationContext.js +0 -43
- package/src/context/ThemeContext.d.ts +0 -23
- package/src/context/ThemeContext.js +0 -161
- package/src/context/contexts.d.ts +0 -6
- package/src/context/contexts.js +0 -6
- package/src/context/defaultFormSchema.d.ts +0 -6
- package/src/context/defaultFormSchema.js +0 -20
- package/src/defaultPalette.d.ts +0 -9
- package/src/defaultPalette.js +0 -45
- package/src/defaultTemplate.d.ts +0 -3
- package/src/defaultTemplate.js +0 -185
- package/src/import/schemaImportUtils.d.ts +0 -24
- package/src/import/schemaImportUtils.js +0 -121
- package/src/types/ActionButtons.d.ts +0 -44
- package/src/types/ActionButtons.js +0 -27
- package/src/types/ComponentProperties.d.ts +0 -33
- package/src/types/ComponentProperties.js +0 -2
- package/src/types/FormSchema.d.ts +0 -585
- package/src/types/FormSchema.js +0 -147
- package/src/types/connection.d.ts +0 -19
- package/src/types/connection.js +0 -9
- package/src/utils/AttributesEditor.d.ts +0 -13
- package/src/utils/AttributesEditor.js +0 -117
- package/src/utils/ButtonGroupEditor.d.ts +0 -15
- package/src/utils/ButtonGroupEditor.js +0 -141
- package/src/utils/ChoiceBasedFieldEditor.d.ts +0 -16
- package/src/utils/ChoiceBasedFieldEditor.js +0 -87
- package/src/utils/ClipboardHelper.d.ts +0 -26
- package/src/utils/ClipboardHelper.js +0 -83
- package/src/utils/ColumnBuilder.d.ts +0 -11
- package/src/utils/ColumnBuilder.js +0 -153
- package/src/utils/ColumnSpanEditor.d.ts +0 -8
- package/src/utils/ColumnSpanEditor.js +0 -98
- package/src/utils/ConditionDataEditor.d.ts +0 -29
- package/src/utils/ConditionDataEditor.js +0 -177
- package/src/utils/ConditionalEditorUtils.d.ts +0 -27
- package/src/utils/ConditionalEditorUtils.js +0 -310
- package/src/utils/ConditionsEditor.d.ts +0 -20
- package/src/utils/ConditionsEditor.js +0 -571
- package/src/utils/CustomAccordion.d.ts +0 -13
- package/src/utils/CustomAccordion.js +0 -38
- package/src/utils/CustomValidationEditor.d.ts +0 -11
- package/src/utils/CustomValidationEditor.js +0 -208
- package/src/utils/DataSourceCollector.d.ts +0 -3
- package/src/utils/DataSourceCollector.js +0 -252
- package/src/utils/ExpressionEditor.d.ts +0 -13
- package/src/utils/ExpressionEditor.js +0 -99
- package/src/utils/FormSettingsPanel.d.ts +0 -9
- package/src/utils/FormSettingsPanel.js +0 -60
- package/src/utils/LookupConfig.d.ts +0 -11
- package/src/utils/LookupConfig.js +0 -159
- package/src/utils/MinMaxValueEditor.d.ts +0 -25
- package/src/utils/MinMaxValueEditor.js +0 -188
- package/src/utils/OptionsEditor.d.ts +0 -8
- package/src/utils/OptionsEditor.js +0 -79
- package/src/utils/PropertyRenderer.d.ts +0 -22
- package/src/utils/PropertyRenderer.js +0 -210
- package/src/utils/ValueRenderer.d.ts +0 -2
- package/src/utils/ValueRenderer.js +0 -91
- package/src/utils/ej2DbAdaptor.d.ts +0 -6
- package/src/utils/ej2DbAdaptor.js +0 -38
- package/src/utils/mappingHeuristics.d.ts +0 -10
- package/src/utils/mappingHeuristics.js +0 -33
- package/src/utils/renderComponent.d.ts +0 -18
- package/src/utils/renderComponent.js +0 -300
- package/styles/tailwind3.css +0 -67
- package/styles/themes/action-buttons.css +0 -110
- package/styles/themes/datagrid.css +0 -380
- package/styles/themes/drag-reorder.css +0 -248
- package/styles/themes/import-dialog.css +0 -292
- package/styles/themes/index.css +0 -658
- package/styles/themes/left-pane.css +0 -253
- package/styles/themes/options-editor.css +0 -63
- package/styles/themes/preview.css +0 -702
- package/styles/themes/property-dialog.css +0 -371
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type ConnectionConfig } from '../../types/connection';
|
|
3
|
-
export interface ConnectionFormProps {
|
|
4
|
-
value?: ConnectionConfig;
|
|
5
|
-
onChange?: (c: ConnectionConfig) => void;
|
|
6
|
-
}
|
|
7
|
-
declare const ConnectionForm: React.FC<ConnectionFormProps>;
|
|
8
|
-
export default ConnectionForm;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { defaultConnection } from '../../types/connection';
|
|
3
|
-
import { TextBoxComponent, NumericTextBoxComponent } from '@syncfusion/ej2-react-inputs';
|
|
4
|
-
import { CheckBoxComponent } from '@syncfusion/ej2-react-buttons';
|
|
5
|
-
import { DropDownListComponent } from '@syncfusion/ej2-react-dropdowns';
|
|
6
|
-
const ConnectionForm = ({ value = defaultConnection, onChange }) => {
|
|
7
|
-
const cfg = { ...defaultConnection, ...value };
|
|
8
|
-
const isSqlite = (cfg.type || '').toLowerCase() === 'sqlite';
|
|
9
|
-
function update(partial) {
|
|
10
|
-
const merged = { ...cfg, ...partial };
|
|
11
|
-
onChange?.(merged);
|
|
12
|
-
}
|
|
13
|
-
return (_jsx("div", { style: { marginTop: 8 }, children: _jsxs("div", { style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: 8 }, children: [_jsxs("div", { children: [_jsx("label", { style: { display: 'block', marginBottom: 6 }, children: "Connection Name" }), _jsx(TextBoxComponent, { style: { width: '100%' }, value: cfg.name || '', placeholder: "Optional name", change: (e) => update({ name: e.value }) })] }), _jsxs("div", { children: [_jsx("label", { style: { display: 'block', marginBottom: 6 }, children: "Database Type" }), _jsx(DropDownListComponent, { style: { width: '100%' }, dataSource: [
|
|
14
|
-
{ value: 'postgres', text: 'PostgreSQL' },
|
|
15
|
-
{ value: 'mysql', text: 'MySQL' },
|
|
16
|
-
{ value: 'mssql', text: 'MSSQL' },
|
|
17
|
-
{ value: 'sqlite', text: 'SQLite (file)' },
|
|
18
|
-
{ value: 'mongodb', text: 'MongoDB' },
|
|
19
|
-
], fields: { value: 'value', text: 'text' }, value: cfg.type, change: (e) => update({ type: e.value }) })] }), _jsxs("div", { children: [_jsx("label", { style: { display: 'block', marginBottom: 6 }, children: "Host" }), _jsx(TextBoxComponent, { style: { width: '100%' }, value: cfg.host, placeholder: "hostname, IP or sqlite file path", change: (e) => {
|
|
20
|
-
const host = e.value;
|
|
21
|
-
// If sqlite, mirror host into database field to simplify input
|
|
22
|
-
if (isSqlite)
|
|
23
|
-
update({ host, database: host });
|
|
24
|
-
else
|
|
25
|
-
update({ host });
|
|
26
|
-
} })] }), _jsxs("div", { children: [_jsx("label", { style: { display: 'block', marginBottom: 6 }, children: "Port" }), _jsx(NumericTextBoxComponent, { style: { width: '100%' }, value: cfg.port || 5432, min: 1, max: 65535, step: 1, format: "n0", enabled: !isSqlite })] }), _jsxs("div", { children: [_jsx("label", { style: { display: 'block', marginBottom: 6 }, children: "Database" }), _jsx(TextBoxComponent, { style: { width: '100%' }, value: cfg.database, placeholder: "database name or sqlite file", change: (e) => update({ database: e.value }), enabled: !isSqlite })] }), _jsx("div", { style: { alignSelf: 'center' }, children: _jsx(CheckBoxComponent, { checked: !!cfg.ssl?.require, label: "Require SSL", change: (e) => update({ ssl: { ...(cfg.ssl || {}), require: e.checked } }), disabled: isSqlite }) }), _jsxs("div", { children: [_jsx("label", { style: { display: 'block', marginBottom: 6 }, children: "Username" }), _jsx(TextBoxComponent, { style: { width: '100%' }, value: cfg.auth?.username || '', htmlAttributes: { autocomplete: 'username' }, placeholder: "username", change: (e) => update({ auth: { ...(cfg.auth || {}), username: e.value } }), enabled: !isSqlite })] }), _jsxs("div", { children: [_jsx("label", { style: { display: 'block', marginBottom: 6 }, children: "Password" }), _jsx(TextBoxComponent, { style: { width: '100%' }, value: cfg.auth?.password || '', htmlAttributes: { type: 'password', autocomplete: 'current-password' }, placeholder: "password", change: (e) => update({ auth: { ...(cfg.auth || {}), password: e.value } }), enabled: !isSqlite })] }), _jsx("div", { style: { gridColumn: '1 / -1' }, children: _jsx(CheckBoxComponent, { checked: !!cfg.auth?.saveCredentials, label: "Save credentials securely", change: (e) => update({ auth: { ...(cfg.auth || {}), saveCredentials: e.checked } }), disabled: isSqlite }) })] }) }));
|
|
27
|
-
};
|
|
28
|
-
export default ConnectionForm;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type JSX } from 'react';
|
|
2
|
-
import type { ThemeMode, ThemeVariant } from './theme/theme-constant';
|
|
3
|
-
interface TopBarProps {
|
|
4
|
-
themeMode: ThemeMode;
|
|
5
|
-
currentTheme: ThemeVariant;
|
|
6
|
-
setMode: (mode: ThemeMode) => void;
|
|
7
|
-
setTheme: (variant: ThemeVariant) => void;
|
|
8
|
-
}
|
|
9
|
-
export default function TopBar({ themeMode, setMode }: TopBarProps): JSX.Element;
|
|
10
|
-
export {};
|
package/src/components/TopBar.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { ButtonComponent } from '@syncfusion/ej2-react-buttons';
|
|
3
|
-
import { AppBarComponent } from '@syncfusion/ej2-react-navigations';
|
|
4
|
-
import { DarkModeIcon } from './icons/ComponentIcons';
|
|
5
|
-
export default function TopBar({ themeMode, setMode }) {
|
|
6
|
-
return (_jsx("div", { id: "layoutroot", className: themeMode, children: _jsx("div", { className: "topbar", children: _jsxs(AppBarComponent, { colorMode: 'Primary', children: [_jsxs("div", { style: { display: 'flex', gap: "10px", marginLeft: "10px" }, children: [_jsx("span", { className: 'e-icons e-edit' }), _jsx("span", { children: "Form Builder" })] }), _jsx("div", { className: "e-appbar-spacer" }), themeMode === 'dark' && (_jsx(ButtonComponent, { iconCss: 'e-icons e-brightness', style: { borderRadius: '50px' }, onClick: () => setMode('light'), cssClass: `icon-botton e-primary`, "aria-label": "Light mode" })), themeMode === 'light' && (_jsx(ButtonComponent, { onClick: () => setMode('dark'), cssClass: 'icon-button e-primary', "aria-label": "Dark mode", children: _jsx(DarkModeIcon, {}) }))] }) }) }));
|
|
7
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface IconProps {
|
|
3
|
-
className?: string;
|
|
4
|
-
}
|
|
5
|
-
export declare const TextBoxIcon: React.FC<IconProps>;
|
|
6
|
-
export declare const NumericIcon: React.FC<IconProps>;
|
|
7
|
-
export declare const DateRangeIcon: React.FC<IconProps>;
|
|
8
|
-
export declare const CheckboxIcon: React.FC<IconProps>;
|
|
9
|
-
export declare const CheckboxGroupIcon: React.FC<IconProps>;
|
|
10
|
-
export declare const TextAreaIcon: React.FC<IconProps>;
|
|
11
|
-
export declare const EmailIcon: React.FC<IconProps>;
|
|
12
|
-
export declare const PasswordIcon: React.FC<IconProps>;
|
|
13
|
-
export declare const DropdownIcon: React.FC<IconProps>;
|
|
14
|
-
export declare const DatePickerIcon: React.FC<IconProps>;
|
|
15
|
-
export declare const RadioIcon: React.FC<IconProps>;
|
|
16
|
-
export declare const ButtonIcon: React.FC<IconProps>;
|
|
17
|
-
export declare const UrlIcon: React.FC<IconProps>;
|
|
18
|
-
export declare const PhoneIcon: React.FC<IconProps>;
|
|
19
|
-
export declare const MultiSelectIcon: React.FC<IconProps>;
|
|
20
|
-
export declare const DateTimePickerIcon: React.FC<IconProps>;
|
|
21
|
-
export declare const TimePickerIcon: React.FC<IconProps>;
|
|
22
|
-
export declare const SwitchIcon: React.FC<IconProps>;
|
|
23
|
-
export declare const SignatureIcon: React.FC<IconProps>;
|
|
24
|
-
export declare const RatingIcon: React.FC<IconProps>;
|
|
25
|
-
export declare const ImageEditorIcon: React.FC<IconProps>;
|
|
26
|
-
export declare const FileUploadIcon: React.FC<IconProps>;
|
|
27
|
-
export declare const RangeSliderIcon: React.FC<IconProps>;
|
|
28
|
-
export declare const ColorPickerIcon: React.FC<IconProps>;
|
|
29
|
-
export declare const InputMaskIcon: React.FC<IconProps>;
|
|
30
|
-
export declare const MessageIcon: React.FC<IconProps>;
|
|
31
|
-
export declare const PanelIcon: React.FC<IconProps>;
|
|
32
|
-
export declare const TableIcon: React.FC<IconProps>;
|
|
33
|
-
export declare const DataGridIcon: React.FC<IconProps>;
|
|
34
|
-
export declare const TabsIcon: React.FC<IconProps>;
|
|
35
|
-
export declare const SplitButtonIcon: React.FC<IconProps>;
|
|
36
|
-
export declare const CardIcon: React.FC<IconProps>;
|
|
37
|
-
export declare const RichTextEditorIcon: React.FC<IconProps>;
|
|
38
|
-
export declare const TemplateIcon: React.FC<IconProps>;
|
|
39
|
-
export declare const LookupIcon: React.FC<IconProps>;
|
|
40
|
-
export declare const StaticHtmlIcon: React.FC<IconProps>;
|
|
41
|
-
export declare const OrderNumberIcon: React.FC<IconProps>;
|
|
42
|
-
export declare const DarkModeIcon: React.FC<IconProps>;
|
|
43
|
-
export declare const FormDropZoneIcon: React.FC<IconProps>;
|
|
44
|
-
export {};
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
export const TextBoxIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "5", width: "16", height: "10", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("line", { x1: "5", y1: "8", x2: "11", y2: "8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "5", y1: "12", x2: "15", y2: "12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })] }));
|
|
3
|
-
export const NumericIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "5", width: "16", height: "10", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("text", { x: "10", y: "13", fontFamily: "Arial, sans-serif", fontSize: "8", fill: "currentColor", textAnchor: "middle", fontWeight: "600", children: "123" })] }));
|
|
4
|
-
export const DateRangeIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "4", width: "16", height: "13", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("line", { x1: "2", y1: "8", x2: "18", y2: "8", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("line", { x1: "6", y1: "2", x2: "6", y2: "6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "14", y1: "2", x2: "14", y2: "6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("rect", { x: "5", y: "10.5", width: "2", height: "2", rx: "0.5", fill: "currentColor" }), _jsx("rect", { x: "9", y: "10.5", width: "2", height: "2", rx: "0.5", fill: "currentColor" }), _jsx("rect", { x: "13", y: "10.5", width: "2", height: "2", rx: "0.5", fill: "currentColor" })] }));
|
|
5
|
-
export const CheckboxIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "3", y: "3", width: "14", height: "14", rx: "2", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("path", { d: "M6 10L9 13L14 7", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
6
|
-
export const CheckboxGroupIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "3", y: "3", width: "14", height: "14", rx: "2", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("path", { d: "M7 10h6", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round" }), _jsx("path", { d: "M10 7v6", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round" })] }));
|
|
7
|
-
export const TextAreaIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "3", width: "16", height: "14", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("line", { x1: "5", y1: "6", x2: "11", y2: "6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "5", y1: "9", x2: "15", y2: "9", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "5", y1: "12", x2: "13", y2: "12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })] }));
|
|
8
|
-
export const EmailIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "5", width: "16", height: "10", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("path", { d: "M2 7L10 11L18 7", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
9
|
-
export const PasswordIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "8", width: "16", height: "9", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("path", { d: "M5 8V6C5 3.79086 6.79086 2 9 2H11C13.2091 2 15 3.79086 15 6V8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("circle", { cx: "10", cy: "12.5", r: "1.5", fill: "currentColor" })] }));
|
|
10
|
-
export const DropdownIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "5", width: "16", height: "10", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("path", { d: "M14 9L10 12L6 9", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
11
|
-
export const DatePickerIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "4", width: "16", height: "13", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("line", { x1: "2", y1: "8", x2: "18", y2: "8", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("line", { x1: "6", y1: "2", x2: "6", y2: "6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "14", y1: "2", x2: "14", y2: "6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("circle", { cx: "7", cy: "12", r: "1", fill: "currentColor" }), _jsx("circle", { cx: "10", cy: "12", r: "1", fill: "currentColor" }), _jsx("circle", { cx: "13", cy: "12", r: "1", fill: "currentColor" })] }));
|
|
12
|
-
export const RadioIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("circle", { cx: "10", cy: "10", r: "7", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("circle", { cx: "10", cy: "10", r: "4", fill: "currentColor" })] }));
|
|
13
|
-
export const ButtonIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "3", y: "6", width: "14", height: "8", rx: "2", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("text", { x: "10", y: "12.5", fontFamily: "Arial, sans-serif", fontSize: "6", fill: "currentColor", textAnchor: "middle", fontWeight: "600", children: "BTN" })] }));
|
|
14
|
-
export const UrlIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M8 10.5L12 10.5M6 13L8 11L6 9M14 7L12 9L14 11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("rect", { x: "2", y: "5", width: "16", height: "10", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" })] }));
|
|
15
|
-
export const PhoneIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "6", y: "2", width: "8", height: "16", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("line", { x1: "9", y1: "15", x2: "11", y2: "15", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })] }));
|
|
16
|
-
export const MultiSelectIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "5", width: "16", height: "10", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("rect", { x: "5", y: "8", width: "3", height: "1.5", rx: "0.5", fill: "currentColor" }), _jsx("rect", { x: "9", y: "8", width: "3", height: "1.5", rx: "0.5", fill: "currentColor" }), _jsx("path", { d: "M14 9L10 12L6 9", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
17
|
-
export const DateTimePickerIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "4", width: "16", height: "13", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("line", { x1: "2", y1: "8", x2: "18", y2: "8", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("line", { x1: "6", y1: "2", x2: "6", y2: "6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "14", y1: "2", x2: "14", y2: "6", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("circle", { cx: "10", cy: "12", r: "2", stroke: "currentColor", strokeWidth: "1", fill: "none" }), _jsx("line", { x1: "10", y1: "12", x2: "10", y2: "10.5", stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round" })] }));
|
|
18
|
-
export const TimePickerIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("circle", { cx: "10", cy: "10", r: "7", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("path", { d: "M10 6V10L13 12", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
19
|
-
export const SwitchIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "3", y: "7", width: "14", height: "6", rx: "3", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("circle", { cx: "13", cy: "10", r: "2", fill: "currentColor" })] }));
|
|
20
|
-
export const SignatureIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M3 15C3 15 4 11 6 10C8 9 9 11 10 11C11 11 11.5 9 13 9C14.5 9 15 11 16 11C17 11 18 8 18 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", fill: "none" }), _jsx("line", { x1: "2", y1: "17", x2: "18", y2: "17", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })] }));
|
|
21
|
-
export const RatingIcon = ({ className = '' }) => (_jsx("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M10 3L11.5 7.5H16L12.5 10.5L14 15L10 12L6 15L7.5 10.5L4 7.5H8.5L10 3Z", stroke: "currentColor", strokeWidth: "1.5", strokeLinejoin: "round", fill: "none" }) }));
|
|
22
|
-
export const ImageEditorIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "3", width: "16", height: "14", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("circle", { cx: "7", cy: "8", r: "1.5", fill: "currentColor" }), _jsx("path", { d: "M2 14L6 10L9 13L13 9L18 14", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
23
|
-
export const FileUploadIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("path", { d: "M10 13V4M10 4L7 7M10 4L13 7", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M3 13V15C3 16.1046 3.89543 17 5 17H15C16.1046 17 17 16.1046 17 15V13", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })] }));
|
|
24
|
-
export const RangeSliderIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("line", { x1: "3", y1: "10", x2: "17", y2: "10", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("circle", { cx: "7", cy: "10", r: "2.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("circle", { cx: "13", cy: "10", r: "2.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" })] }));
|
|
25
|
-
export const ColorPickerIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("circle", { cx: "10", cy: "10", r: "7", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("path", { d: "M10 3 L10 10 L17 10", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("circle", { cx: "10", cy: "10", r: "2", fill: "currentColor" })] }));
|
|
26
|
-
export const InputMaskIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "6", width: "16", height: "8", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("text", { x: "5", y: "12", fontFamily: "monospace", fontSize: "6", fill: "currentColor", fontWeight: "600", children: "###" })] }));
|
|
27
|
-
export const MessageIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "5", width: "16", height: "10", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("circle", { cx: "6", cy: "10", r: "0.75", fill: "currentColor" }), _jsx("line", { x1: "8.5", y1: "10", x2: "15", y2: "10", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })] }));
|
|
28
|
-
export const PanelIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "4", width: "16", height: "12", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("line", { x1: "2", y1: "7.5", x2: "18", y2: "7.5", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("rect", { x: "4", y: "9.5", width: "12", height: "5", rx: "0.5", stroke: "currentColor", strokeWidth: "1", strokeDasharray: "2 2", fill: "none" })] }));
|
|
29
|
-
export const TableIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "3", width: "16", height: "14", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("line", { x1: "2", y1: "8", x2: "18", y2: "8", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("line", { x1: "2", y1: "13", x2: "18", y2: "13", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("line", { x1: "10", y1: "3", x2: "10", y2: "17", stroke: "currentColor", strokeWidth: "1.5" })] }));
|
|
30
|
-
export const DataGridIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "3", width: "16", height: "14", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("line", { x1: "2", y1: "8", x2: "18", y2: "8", stroke: "currentColor", strokeWidth: "1" }), _jsx("line", { x1: "2", y1: "13", x2: "18", y2: "13", stroke: "currentColor", strokeWidth: "1" }), _jsx("line", { x1: "7", y1: "3", x2: "7", y2: "17", stroke: "currentColor", strokeWidth: "1" }), _jsx("line", { x1: "13", y1: "3", x2: "13", y2: "17", stroke: "currentColor", strokeWidth: "1" })] }));
|
|
31
|
-
export const TabsIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "6", width: "16", height: "11", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("path", { d: "M2 6 C2 5.17 2.67 4.5 3.5 4.5 H6.5 C7.33 4.5 8 5.17 8 6", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("path", { d: "M9 6 C9 5.17 9.67 4.5 10.5 4.5 H13.5 C14.33 4.5 15 5.17 15 6", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("rect", { x: "4", y: "9", width: "12", height: "6", rx: "0.5", stroke: "currentColor", strokeWidth: "1", strokeDasharray: "2 2", fill: "none" })] }));
|
|
32
|
-
export const SplitButtonIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "5", width: "15", height: "10", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("line", { x1: "13", y1: "5", x2: "13", y2: "15", stroke: "currentColor", strokeWidth: "1.5" })] }));
|
|
33
|
-
export const CardIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "3", width: "16", height: "14", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("line", { x1: "2", y1: "8", x2: "18", y2: "8", stroke: "currentColor", strokeWidth: "1.5" }), _jsx("line", { x1: "5", y1: "11", x2: "15", y2: "11", stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round" }), _jsx("line", { x1: "5", y1: "14", x2: "13", y2: "14", stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round" })] }));
|
|
34
|
-
export const RichTextEditorIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "3", width: "16", height: "14", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("line", { x1: "3", y1: "6.5", x2: "4", y2: "6.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "5", y1: "6.5", x2: "6", y2: "6.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "7", y1: "6.5", x2: "8", y2: "6.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "9", y1: "6.5", x2: "10", y2: "6.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "11", y1: "6.5", x2: "17", y2: "6.5", stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round" }), _jsx("line", { x1: "3", y1: "9", x2: "17", y2: "9", stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round" }), _jsx("line", { x1: "3", y1: "11.5", x2: "15", y2: "11.5", stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round" }), _jsx("line", { x1: "3", y1: "14", x2: "13", y2: "14", stroke: "currentColor", strokeWidth: "1", strokeLinecap: "round" })] }));
|
|
35
|
-
export const TemplateIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "3", y: "3", width: "14", height: "14", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("path", { d: "M6 7H14", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round" }), _jsx("path", { d: "M6 10H14", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round" }), _jsx("path", { d: "M6 13H10", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round" })] }));
|
|
36
|
-
export const LookupIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className: className, children: [_jsx("circle", { cx: "11", cy: "11", r: "8" }), _jsx("path", { d: "m21 21-4.35-4.35" }), _jsx("path", { d: "M8 7h6" }), _jsx("path", { d: "M8 11h4" }), _jsx("path", { d: "M8 15h6" })] }));
|
|
37
|
-
export const StaticHtmlIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, xmlns: "http://www.w3.org/2000/svg", role: "presentation", width: "24", height: "24", viewBox: "0 0 50 50", fill: "none", stroke: "currentColor", strokeWidth: "4", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("polyline", { points: "14 36 4 25 14 14" }), _jsx("polyline", { points: "36 14 46 25 36 36" }), _jsx("line", { x1: "30", y1: "10", x2: "20", y2: "40" })] }));
|
|
38
|
-
export const OrderNumberIcon = ({ className = '' }) => (_jsxs("svg", { "aria-hidden": "true", className: className, width: "24", height: "24", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("rect", { x: "2", y: "3", width: "16", height: "14", rx: "1.5", stroke: "currentColor", strokeWidth: "1.5", fill: "none" }), _jsx("path", { d: "M6 7L8 10L6 13", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("line", { x1: "10", y1: "7", x2: "16", y2: "7", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "10", y1: "10", x2: "16", y2: "10", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }), _jsx("line", { x1: "10", y1: "13", x2: "16", y2: "13", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })] }));
|
|
39
|
-
export const DarkModeIcon = () => (_jsx("svg", { "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", children: _jsx("path", { d: "M3.54688 2.14062L3.29688 2.35938L3.0625 2.59375L2.84375 2.84375L2.625 3.09375L2.42188 3.35938L2.23438 3.64062L2.07812 3.9375L1.92188 4.23438L1.78125 4.54688L1.65625 4.85938L1.5625 5.1875L1.46875 5.51562L1.40625 5.85938L1.35938 6.20312L1.32812 6.5625L1.3125 6.92188L1.32812 7.23438L1.34375 7.54688L1.39062 7.85938L1.4375 8.17188L1.51562 8.46875L1.59375 8.76562L1.6875 9.04688L1.79688 9.32812L1.92188 9.60938L2.0625 9.875L2.21875 10.1406L2.375 10.3906L2.54688 10.625L2.73438 10.8594L2.92188 11.0938L3.125 11.3125L3.34375 11.5156L3.57812 11.7031L3.8125 11.8906L4.04688 12.0625L4.29688 12.2188L4.5625 12.375L4.82812 12.5156L5.10938 12.6406L5.39062 12.75L5.67188 12.8438L5.96875 12.9219L6.26562 13L6.57812 13.0469L6.89062 13.0938L7.20312 13.1094L7.51562 13.125L7.875 13.1094L8.23438 13.0781L8.57812 13.0312L8.92188 12.9688L9.25 12.875L9.57812 12.7812L9.89062 12.6562L10.2031 12.5156L10.5 12.3594L10.7969 12.2031L11.0781 12.0156L11.3438 11.8125L11.5938 11.5938L11.8438 11.375L12.0781 11.1406L12.2969 10.8906L11.9688 10.9375L11.6406 10.9688L11.2969 11H10.9531H10.5625L10.1875 10.9688L9.8125 10.9219L9.4375 10.8594L9.07812 10.7656L8.71875 10.6719L8.375 10.5469L8.03125 10.4062L7.6875 10.2656L7.375 10.0938L7.04688 9.92188L6.75 9.71875L6.45312 9.51562L6.17188 9.28125L5.89062 9.04688L5.64062 8.79688L5.39062 8.54688L5.15625 8.26562L4.92188 7.98438L4.71875 7.6875L4.51562 7.39062L4.34375 7.0625L4.17188 6.75L4.03125 6.40625L3.89062 6.0625L3.76562 5.71875L3.67188 5.35938L3.57812 5L3.51562 4.625L3.46875 4.25L3.4375 3.875V3.48438V3.14062L3.46875 2.79688L3.5 2.46875L3.54688 2.14062ZM4.71875 0L4.84375 0.015625L4.95312 0.046875L5.0625 0.109375L5.15625 0.1875L5.21875 0.265625L5.28125 0.359375L5.3125 0.4375L5.34375 0.53125V0.640625V0.734375L5.32812 0.828125L5.17188 1.21875L5.0625 1.53125L4.96875 1.84375L4.89062 2.15625L4.82812 2.48438L4.78125 2.8125L4.75 3.14062V3.48438V3.79688L4.78125 4.125L4.8125 4.42188L4.875 4.73438L4.9375 5.03125L5.03125 5.32812L5.125 5.625L5.23438 5.90625L5.35938 6.17188L5.5 6.4375L5.64062 6.70312L5.8125 6.95312L5.98438 7.20312L6.15625 7.4375L6.35938 7.65625L6.5625 7.875L6.78125 8.07812L7 8.28125L7.23438 8.45312L7.48438 8.625L7.73438 8.79688L8 8.9375L8.26562 9.07812L8.53125 9.20312L8.8125 9.3125L9.10938 9.40625L9.40625 9.5L9.70312 9.5625L10.0156 9.625L10.3125 9.65625L10.6406 9.6875H10.9531H11.2969L11.625 9.65625L11.9531 9.60938L12.2812 9.54688L12.5938 9.46875L12.9062 9.375L13.2188 9.26562L13.6094 9.10938L13.7031 9.09375L13.7969 9.07812L13.9062 9.09375L14 9.125L14.0781 9.15625L14.1719 9.21875L14.25 9.28125L14.3125 9.35938L14.3594 9.4375L14.4062 9.53125L14.4219 9.625L14.4375 9.71875V9.8125L14.4219 9.92188L14.375 10.0156L14.2656 10.25L14.1406 10.4844L14.0156 10.7188L13.875 10.9531L13.5781 11.3906L13.2344 11.7969L12.875 12.1875L12.5 12.5625L12.0938 12.8906L11.6562 13.2031L11.4219 13.3438L11.2031 13.4844L10.9688 13.6094L10.7188 13.7188L10.4844 13.8281L10.2344 13.9375L9.96875 14.0312L9.71875 14.1094L9.45312 14.1875L9.1875 14.25L8.92188 14.3125L8.64062 14.3594L8.375 14.3906L8.09375 14.4219L7.8125 14.4375H7.51562L7.14062 14.4219L6.75 14.4062L6.375 14.3438L6 14.2812L5.64062 14.2031L5.28125 14.0938L4.9375 13.9844L4.59375 13.8438L4.26562 13.7031L3.9375 13.5312L3.625 13.3438L3.3125 13.1562L3.01562 12.9375L2.73438 12.7188L2.46875 12.4844L2.20312 12.2344L1.95312 11.9688L1.71875 11.7031L1.5 11.4219L1.28125 11.125L1.09375 10.8125L0.90625 10.5L0.734375 10.1719L0.59375 9.84375L0.453125 9.5L0.34375 9.15625L0.234375 8.79688L0.15625 8.4375L0.09375 8.0625L0.03125 7.6875L0.015625 7.29688L0 6.92188V6.625L0.015625 6.34375L0.046875 6.0625L0.078125 5.79688L0.125 5.51562L0.1875 5.25L0.25 4.98438L0.328125 4.71875L0.40625 4.46875L0.5 4.20312L0.609375 3.95312L0.71875 3.71875L0.828125 3.46875L0.953125 3.23438L1.09375 3.01562L1.23438 2.78125L1.54688 2.34375L1.875 1.9375L2.25 1.5625L2.64062 1.20312L3.04688 0.875L3.48438 0.5625L3.71875 0.421875L3.95312 0.296875L4.1875 0.171875L4.42188 0.0625L4.5625 0.015625L4.71875 0Z", fill: "white" }) }));
|
|
40
|
-
export const FormDropZoneIcon = () => (_jsxs("svg", { "aria-hidden": "true", xmlns: "http://www.w3.org/2000/svg", width: "96", height: "96", viewBox: "0 0 96 96", fill: "none", children: [_jsx("rect", { x: "52.4453", y: "19.8672", width: "8.53634", height: "45.4857", transform: "rotate(45 52.4453 19.8672)", fill: "#F2994A" }), _jsx("rect", { x: "54.4609", y: "17.8574", width: "21.3409", height: "2.84286", transform: "rotate(45 54.4609 17.8574)", fill: "black" }), _jsx("path", { d: "M58.4694 13.837C61.8 10.5064 67.2 10.5064 70.5306 13.837L73.5597 16.866C76.8903 20.1967 76.8903 25.5967 73.5596 28.9273L69.5392 32.9477L54.449 17.8574L58.4694 13.837Z", fill: "#F33131" }), _jsx("rect", { x: "58.4922", y: "25.9053", width: "12.8045", height: "45.4857", transform: "rotate(45 58.4922 25.9053)", fill: "#E7BB33" }), _jsx("path", { d: "M20.2812 52.0312L35.3715 67.1215L15.7652 71.6376L20.2812 52.0312Z", fill: "#8E8E8E" }), _jsx("path", { d: "M20.2812 52.0312L35.3715 67.1215L25.5683 69.3796L18.0232 61.8344L20.2812 52.0312Z", fill: "#D2D2D2" }), _jsx("path", { d: "M25.5 76C55.5 96 54 52.5 85.8438 79.9495", stroke: "#8E8E8E", strokeWidth: "5", strokeLinecap: "round" })] }));
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { FormComponent } from '../../types/FormSchema';
|
|
3
|
-
interface FormFieldWrapperProps {
|
|
4
|
-
component: FormComponent;
|
|
5
|
-
parentPath?: string;
|
|
6
|
-
onEdit: (fieldId: string) => void;
|
|
7
|
-
onCopy: (field: FormComponent) => void;
|
|
8
|
-
onPaste: (targetFieldId: string) => void;
|
|
9
|
-
onDelete: (fieldId: string) => void;
|
|
10
|
-
onMoveUp?: (fieldId: string) => void;
|
|
11
|
-
onMoveDown?: (fieldId: string) => void;
|
|
12
|
-
onNestedMoveUp?: (fieldId: string, parentId: string, parentPath: string, cellInfo?: {
|
|
13
|
-
row?: number;
|
|
14
|
-
col?: number;
|
|
15
|
-
tabIndex?: number;
|
|
16
|
-
}) => void;
|
|
17
|
-
onNestedMoveDown?: (fieldId: string, parentId: string, parentPath: string, cellInfo?: {
|
|
18
|
-
row?: number;
|
|
19
|
-
col?: number;
|
|
20
|
-
tabIndex?: number;
|
|
21
|
-
}) => void;
|
|
22
|
-
isNested?: boolean;
|
|
23
|
-
nestingContext?: {
|
|
24
|
-
parentId: string;
|
|
25
|
-
parentPath: string;
|
|
26
|
-
cellInfo?: {
|
|
27
|
-
row?: number;
|
|
28
|
-
col?: number;
|
|
29
|
-
tabIndex?: number;
|
|
30
|
-
};
|
|
31
|
-
};
|
|
32
|
-
onSwitchWidget?: (fieldId: string, newWidgetTypePascal: string) => void;
|
|
33
|
-
children: React.ReactNode;
|
|
34
|
-
isActive?: boolean;
|
|
35
|
-
index?: number;
|
|
36
|
-
totalCount?: number;
|
|
37
|
-
mode?: 'Simple' | 'Developer';
|
|
38
|
-
hasClipboardData?: boolean;
|
|
39
|
-
}
|
|
40
|
-
export declare const FormFieldWrapper: React.NamedExoticComponent<FormFieldWrapperProps>;
|
|
41
|
-
export {};
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import React, { useCallback } from 'react';
|
|
3
|
-
import { ButtonComponent } from '@syncfusion/ej2-react-buttons';
|
|
4
|
-
import { TooltipComponent } from '@syncfusion/ej2-react-popups';
|
|
5
|
-
import { ACTION_BUTTON_ICONS, ACTION_BUTTON_LABELS, ActionButtonType } from '../../types/ActionButtons';
|
|
6
|
-
import { MenuComponent } from '@syncfusion/ej2-react-navigations';
|
|
7
|
-
const UI_TYPE = {
|
|
8
|
-
'textbox': { type: 'string', diplayText: "Text Box" },
|
|
9
|
-
'textarea': { type: 'string', diplayText: "Text Area" },
|
|
10
|
-
'inputMask': { type: 'string', diplayText: "Input Mask" },
|
|
11
|
-
'number': { type: 'numeric', diplayText: "Number" },
|
|
12
|
-
'rangeSlider': { type: 'numeric', diplayText: "Range Slider" },
|
|
13
|
-
'rating': { type: 'numeric', diplayText: "Rating" },
|
|
14
|
-
'checkbox': { type: 'boolean', diplayText: "Checkbox" },
|
|
15
|
-
'switch': { type: 'boolean', diplayText: "Switch" },
|
|
16
|
-
'date': { type: 'date', diplayText: "Date" },
|
|
17
|
-
'dateTime': { type: 'date', diplayText: "Date / Time" },
|
|
18
|
-
'time': { type: 'date', diplayText: "Time" },
|
|
19
|
-
'dateRange': { type: 'date', diplayText: "Date Range" },
|
|
20
|
-
'multiselect': { type: 'array', diplayText: "Multi Select" },
|
|
21
|
-
'checkboxGroup': { type: 'array', diplayText: "Checkbox Group" },
|
|
22
|
-
'dropdown': { type: 'string', diplayText: "Dropdown List" },
|
|
23
|
-
'radio': { type: 'string', diplayText: "Radio Button" },
|
|
24
|
-
'colorPicker': { type: 'string', diplayText: "Color Picker" }
|
|
25
|
-
};
|
|
26
|
-
function generateWidgetMenuItems(currentWidgetType) {
|
|
27
|
-
const currentSemantic = UI_TYPE[currentWidgetType]?.type;
|
|
28
|
-
if (!currentSemantic) {
|
|
29
|
-
return { items: [], hasValidType: false };
|
|
30
|
-
}
|
|
31
|
-
const grouped = {};
|
|
32
|
-
Object.entries(UI_TYPE).forEach(([widget, mapping]) => {
|
|
33
|
-
if (mapping?.type) {
|
|
34
|
-
if (!grouped[mapping.type])
|
|
35
|
-
grouped[mapping.type] = [];
|
|
36
|
-
grouped[mapping.type].push(widget);
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
const items = [];
|
|
40
|
-
const matching = grouped[currentSemantic]
|
|
41
|
-
.filter(w => w !== currentWidgetType)
|
|
42
|
-
.map(w => ({ text: UI_TYPE[w]?.diplayText || w, data: w }));
|
|
43
|
-
items.push(...matching);
|
|
44
|
-
Object.keys(grouped)
|
|
45
|
-
.filter(k => k !== currentSemantic)
|
|
46
|
-
.sort()
|
|
47
|
-
.forEach(sem => {
|
|
48
|
-
const widgets = grouped[sem].map(w => ({ text: UI_TYPE[w]?.diplayText || w, data: w }));
|
|
49
|
-
items.push({
|
|
50
|
-
text: sem.charAt(0).toUpperCase() + sem.slice(1),
|
|
51
|
-
items: widgets
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
return { items, hasValidType: true };
|
|
55
|
-
}
|
|
56
|
-
export const FormFieldWrapper = React.memo(({ component, onEdit, onCopy, onPaste, onDelete, onSwitchWidget, onMoveUp, onMoveDown, onNestedMoveUp, onNestedMoveDown, isNested, nestingContext, children, isActive, index, totalCount, mode, hasClipboardData }) => {
|
|
57
|
-
const handleEdit = useCallback(() => onEdit(component.id), [onEdit, component.id]);
|
|
58
|
-
const handleCopy = useCallback(() => onCopy(component), [onCopy, component]);
|
|
59
|
-
const handlePaste = useCallback(() => onPaste(component.id), [onPaste, component.id]);
|
|
60
|
-
const handleDelete = useCallback(() => onDelete(component.id), [onDelete, component.id]);
|
|
61
|
-
const handleSwitchWidget = useCallback((args) => {
|
|
62
|
-
const widgetType = args?.item?.data || args?.item?.text || '';
|
|
63
|
-
if (onSwitchWidget && widgetType) {
|
|
64
|
-
onSwitchWidget(component.id, widgetType);
|
|
65
|
-
}
|
|
66
|
-
}, [onSwitchWidget, component.id]);
|
|
67
|
-
const handleMoveUp = useCallback(() => {
|
|
68
|
-
if (isNested && onNestedMoveUp && nestingContext) {
|
|
69
|
-
onNestedMoveUp(component.id, nestingContext.parentId, nestingContext.parentPath, nestingContext.cellInfo);
|
|
70
|
-
}
|
|
71
|
-
else if (!isNested && onMoveUp) {
|
|
72
|
-
onMoveUp(component.id);
|
|
73
|
-
}
|
|
74
|
-
}, [isNested, onMoveUp, onNestedMoveUp, component.id, nestingContext]);
|
|
75
|
-
const handleMoveDown = useCallback(() => {
|
|
76
|
-
if (isNested && onNestedMoveDown && nestingContext) {
|
|
77
|
-
onNestedMoveDown(component.id, nestingContext.parentId, nestingContext.parentPath, nestingContext.cellInfo);
|
|
78
|
-
}
|
|
79
|
-
else if (!isNested && onMoveDown) {
|
|
80
|
-
onMoveDown(component.id);
|
|
81
|
-
}
|
|
82
|
-
}, [isNested, onMoveDown, onNestedMoveDown, component.id, nestingContext]);
|
|
83
|
-
const { items: menuItemsContent, hasValidType } = generateWidgetMenuItems(component.type);
|
|
84
|
-
const menuItems = [
|
|
85
|
-
{
|
|
86
|
-
text: '',
|
|
87
|
-
cssClass: 'parent-menuitem',
|
|
88
|
-
iconCss: ACTION_BUTTON_ICONS[ActionButtonType.SWITCH_WIDGET],
|
|
89
|
-
items: menuItemsContent
|
|
90
|
-
}
|
|
91
|
-
];
|
|
92
|
-
return (_jsxs("div", { "aria-label": `${component.label} ${component.type}`, "aria-pressed": isActive, tabIndex: 0, className: `form-field-wrapper${isActive ? ' is-active' : ''}`, style: { padding: "5px" }, "data-field-id": component.id, onClick: e => {
|
|
93
|
-
e.preventDefault();
|
|
94
|
-
if (e.target.closest('.action-buttons'))
|
|
95
|
-
return;
|
|
96
|
-
e.stopPropagation();
|
|
97
|
-
handleEdit();
|
|
98
|
-
}, onKeyDown: e => {
|
|
99
|
-
if (e.code === 'Enter') {
|
|
100
|
-
e.preventDefault();
|
|
101
|
-
if (e.target.closest('.action-buttons'))
|
|
102
|
-
return;
|
|
103
|
-
e.stopPropagation();
|
|
104
|
-
handleEdit();
|
|
105
|
-
}
|
|
106
|
-
}, children: [_jsx("div", { className: "action-button-wrapper", children: _jsxs("div", { className: "action-buttons", role: "toolbar", "aria-label": "Field actions", children: [(index === undefined || index > 0) && (_jsx(ButtonComponent, { iconCss: 'e-icons e-arrow-up', cssClass: "e-small e-flat action-btn", type: 'button', "aria-label": "Move up", onClick: handleMoveUp })), (totalCount === undefined || index === undefined || index < totalCount - 1) && (_jsx(ButtonComponent, { iconCss: 'e-icons e-arrow-down', cssClass: "e-small e-flat action-btn", type: 'button', "aria-label": "Move down", onClick: handleMoveDown })), _jsx(ButtonComponent, { iconCss: ACTION_BUTTON_ICONS[ActionButtonType.PASTE], cssClass: "e-small e-flat action-btn", type: 'button', style: { display: hasClipboardData ? 'block' : 'none' }, "aria-label": ACTION_BUTTON_LABELS[ActionButtonType.PASTE], onClick: handlePaste }), onSwitchWidget && hasValidType && mode === 'Developer' && (_jsx(MenuComponent, { className: "change-component", style: { display: 'none', overflow: 'hidden' }, items: menuItems, showItemOnClick: true, select: handleSwitchWidget, "aria-label": ACTION_BUTTON_LABELS[ActionButtonType.SWITCH_WIDGET] }, component.id)), _jsx(ButtonComponent, { iconCss: ACTION_BUTTON_ICONS[ActionButtonType.COPY], cssClass: "e-small e-flat action-btn", type: 'button', "aria-label": ACTION_BUTTON_LABELS[ActionButtonType.COPY], onClick: handleCopy }), _jsx(ButtonComponent, { iconCss: ACTION_BUTTON_ICONS[ActionButtonType.DELETE], cssClass: "e-small e-flat action-btn", type: 'button', "aria-label": ACTION_BUTTON_LABELS[ActionButtonType.DELETE], onClick: handleDelete })] }) }), _jsx(TooltipComponent, { target: ".action-buttons .action-btn", position: "TopCenter", showTipPointer: true, opensOn: "Hover" }), children] }));
|
|
107
|
-
}, (prev, next) => {
|
|
108
|
-
// Re-render if component changes (shallow comparison)
|
|
109
|
-
// This allows updates when component properties change
|
|
110
|
-
return prev.component === next.component && prev.children === next.children && prev.hasClipboardData === next.hasClipboardData;
|
|
111
|
-
});
|
|
112
|
-
FormFieldWrapper.displayName = 'FormFieldWrapper';
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { type PaletteComponent, type PaletteConfig, type FormComponent } from '../../types/FormSchema';
|
|
3
|
-
import type { DefaultTemplates } from '../../types/FormSchema';
|
|
4
|
-
import type { FieldDragStartedEventArgs } from '../../FormBuilder';
|
|
5
|
-
interface LeftPaneProps {
|
|
6
|
-
className?: string;
|
|
7
|
-
onDragStart?: (component: PaletteComponent) => void;
|
|
8
|
-
templates?: DefaultTemplates[];
|
|
9
|
-
paletteConfig?: PaletteConfig;
|
|
10
|
-
onFieldDragStarted?: (args: FieldDragStartedEventArgs) => void;
|
|
11
|
-
mode?: 'Simple' | 'Developer';
|
|
12
|
-
/** Mobile breakpoint toggle - when true, palette items become click-to-add */
|
|
13
|
-
isMobile?: boolean;
|
|
14
|
-
/** Drop handler invoked when a palette item is clicked (mobile mode) */
|
|
15
|
-
onDrop?: (component: FormComponent, dropTargetIndex?: number | null, dropPosition?: 'before' | 'after' | null) => void;
|
|
16
|
-
containerWidth?: number;
|
|
17
|
-
}
|
|
18
|
-
export declare const floatFocus: (args: any) => void;
|
|
19
|
-
export declare const floatBlur: (args: any) => void;
|
|
20
|
-
export declare const getIconComponent: (type: string) => React.JSX.Element;
|
|
21
|
-
export declare const simpleModeHiddenTypes: Set<string>;
|
|
22
|
-
declare const LeftPane: React.FC<LeftPaneProps>;
|
|
23
|
-
export default LeftPane;
|