go-xcel-interpret 1.1.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/dist/go-xcel-interpret.cjs +839 -0
- package/dist/go-xcel-interpret.css +59 -0
- package/dist/go-xcel-interpret.esm.mjs +63430 -0
- package/dist/go-xcel-interpret.umd.js +839 -0
- package/dist/src/components/BodyCssVar.d.ts +5 -0
- package/dist/src/components/GoXcelInterpret.d.ts +4 -0
- package/dist/src/components/constants.d.ts +1 -0
- package/dist/src/components/interpret/InterpretForm.d.ts +2 -0
- package/dist/src/components/interpret/InterpretTable.d.ts +2 -0
- package/dist/src/components/interpret/TabsInterpret.d.ts +24 -0
- package/dist/src/components/interpret/interpret.d.ts +14 -0
- package/dist/src/components/ui/Card.d.ts +7 -0
- package/dist/src/components/ui/Form.d.ts +23 -0
- package/dist/src/components/ui/FormOptions.d.ts +14 -0
- package/dist/src/components/ui/Layout.d.ts +19 -0
- package/dist/src/components/ui/Loading.d.ts +9 -0
- package/dist/src/components/ui/Tabs.d.ts +19 -0
- package/dist/src/components/ui/Typography.d.ts +25 -0
- package/dist/src/components/ui/form/Checkbox.d.ts +23 -0
- package/dist/src/components/ui/form/DatePicker.d.ts +15 -0
- package/dist/src/components/ui/form/Input.d.ts +21 -0
- package/dist/src/components/ui/form/InputNumber.d.ts +19 -0
- package/dist/src/components/ui/form/Radio.d.ts +30 -0
- package/dist/src/components/ui/form/Select.d.ts +18 -0
- package/dist/src/error.d.ts +5 -0
- package/dist/src/hook/useBounce.d.ts +1 -0
- package/dist/src/hook/useTemplateTabs.d.ts +12 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/services.d.ts +11 -0
- package/dist/src/types/config.d.ts +62 -0
- package/dist/src/types/index.d.ts +3 -0
- package/dist/src/types/services.d.ts +6 -0
- package/dist/src/types/template.d.ts +75 -0
- package/dist/src/utils/base64.d.ts +7 -0
- package/dist/src/utils/theme.d.ts +8 -0
- package/dist/src/utils/websocket.d.ts +9 -0
- package/dist/vite.config.d.ts +2 -0
- package/package.json +63 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ComponentPropsWithRef } from 'react';
|
|
2
|
+
import { default as Interpret } from './interpret/interpret';
|
|
3
|
+
export type GoXcelInterpretProps = ComponentPropsWithRef<typeof Interpret>;
|
|
4
|
+
export default function GoXcelInterpret(props: GoXcelInterpretProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const PRIMARY_COLOR = "#25cc89";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ComponentPropsWithRef } from 'react';
|
|
2
|
+
import { ActionMode, GoXcelConfig, InterpretFormTable, TemplateSheet } from '../../types';
|
|
3
|
+
declare const TabContentInterpret: ({ tab, mode, onUpdate, config, activeItemOptions, onItemOptions, itemOptions, }: {
|
|
4
|
+
tab: TemplateSheet;
|
|
5
|
+
mode: ActionMode;
|
|
6
|
+
onUpdate: (updatedTab: Partial<TemplateSheet>) => void;
|
|
7
|
+
config?: GoXcelConfig;
|
|
8
|
+
activeItemOptions: boolean;
|
|
9
|
+
onItemOptions: (itemOptions: Required<InterpretFormTable>["itemOptions"]) => void;
|
|
10
|
+
itemOptions: Required<InterpretFormTable>["itemOptions"];
|
|
11
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
interface TabsInterpretFormProps {
|
|
13
|
+
activeKey?: string;
|
|
14
|
+
tabs: TemplateSheet[];
|
|
15
|
+
mode?: ActionMode;
|
|
16
|
+
setActiveKey?: (key: string) => void;
|
|
17
|
+
addTab?: () => void;
|
|
18
|
+
removeTab?: (key: string) => void;
|
|
19
|
+
updateTab?: (index: number, updatedTab: Partial<TemplateSheet>) => void;
|
|
20
|
+
config?: GoXcelConfig;
|
|
21
|
+
activeOptions?: ComponentPropsWithRef<typeof TabContentInterpret>['activeItemOptions'];
|
|
22
|
+
}
|
|
23
|
+
export default function TabsInterpret({ activeKey, tabs, mode, setActiveKey, updateTab, config, activeOptions, }: TabsInterpretFormProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ComponentPropsWithRef } from 'react';
|
|
2
|
+
import { GoXcelConfig } from '../../types';
|
|
3
|
+
import { OptionHostConnect } from '../../utils/websocket';
|
|
4
|
+
import { default as TabsInterpret } from './TabsInterpret';
|
|
5
|
+
type InterpretProps = {
|
|
6
|
+
token: string;
|
|
7
|
+
identity: string;
|
|
8
|
+
waitKeyboard?: number;
|
|
9
|
+
config?: GoXcelConfig;
|
|
10
|
+
activeOptions?: ComponentPropsWithRef<typeof TabsInterpret>['activeOptions'];
|
|
11
|
+
textLoading?: string;
|
|
12
|
+
};
|
|
13
|
+
export default function Interpret({ token, identity, apiBaseUrl, protocol, waitKeyboard, config, activeOptions, textLoading, }: InterpretProps & OptionHostConnect): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface FormProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
layout?: 'horizontal' | 'vertical' | 'inline';
|
|
5
|
+
initialValues?: Record<string, any>;
|
|
6
|
+
onValuesChange?: (changedValues: Record<string, any>, allValues: Record<string, any>) => void;
|
|
7
|
+
size?: 'small' | 'middle' | 'large';
|
|
8
|
+
className?: string;
|
|
9
|
+
autoComplete?: string;
|
|
10
|
+
}
|
|
11
|
+
interface FormItemProps {
|
|
12
|
+
label?: React.ReactNode;
|
|
13
|
+
labelProps?: React.LabelHTMLAttributes<HTMLLabelElement>;
|
|
14
|
+
name?: string;
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
valuePropName?: string;
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
interface FormType extends React.FC<FormProps> {
|
|
20
|
+
Item: React.FC<FormItemProps>;
|
|
21
|
+
}
|
|
22
|
+
declare const Form: FormType;
|
|
23
|
+
export default Form;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { GoXcelConfig } from '../../types';
|
|
3
|
+
export type FormSize = 'small' | 'middle' | 'large';
|
|
4
|
+
export type FieldSpan = 8 | 12 | 16 | 24;
|
|
5
|
+
interface FormOptionsProps {
|
|
6
|
+
config?: Omit<GoXcelConfig, 'formOptions'>;
|
|
7
|
+
size: FormSize;
|
|
8
|
+
onSizeChange: (value: FormSize) => void;
|
|
9
|
+
span: FieldSpan;
|
|
10
|
+
onSpanChange: (value: FieldSpan) => void;
|
|
11
|
+
languageConfig?: GoXcelConfig['formOptions'];
|
|
12
|
+
}
|
|
13
|
+
declare const FormOptions: React.FC<FormOptionsProps>;
|
|
14
|
+
export default FormOptions;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface RowProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
gutter?: [number, number];
|
|
5
|
+
className?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const Row: React.FC<RowProps>;
|
|
8
|
+
interface ColProps {
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
span?: number;
|
|
11
|
+
sm?: number;
|
|
12
|
+
md?: number;
|
|
13
|
+
lg?: number;
|
|
14
|
+
xl?: number;
|
|
15
|
+
className?: string;
|
|
16
|
+
style?: React.CSSProperties;
|
|
17
|
+
}
|
|
18
|
+
export declare const Col: React.FC<ColProps>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ComponentStyleConfig, GoXcelTheme } from '../../types';
|
|
3
|
+
type TabPropsBase = ComponentStyleConfig['Tabs'] & {
|
|
4
|
+
theme?: GoXcelTheme;
|
|
5
|
+
};
|
|
6
|
+
export interface TabItem {
|
|
7
|
+
key: string;
|
|
8
|
+
label: React.ReactNode;
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
interface TabsProps extends TabPropsBase {
|
|
12
|
+
items: TabItem[];
|
|
13
|
+
activeKey?: string;
|
|
14
|
+
onChange?: (key: string) => void;
|
|
15
|
+
tabPosition?: 'top' | 'bottom';
|
|
16
|
+
type?: 'line' | 'card';
|
|
17
|
+
}
|
|
18
|
+
declare const Tabs: React.FC<TabsProps>;
|
|
19
|
+
export default Tabs;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { GoXcelTheme } from '../../types';
|
|
3
|
+
interface PropBase {
|
|
4
|
+
theme?: GoXcelTheme;
|
|
5
|
+
}
|
|
6
|
+
interface TitleProps extends PropBase {
|
|
7
|
+
level?: 1 | 2 | 3 | 4 | 5;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
interface TextProps extends PropBase {
|
|
12
|
+
children: React.ReactNode;
|
|
13
|
+
className?: string;
|
|
14
|
+
style?: React.CSSProperties;
|
|
15
|
+
}
|
|
16
|
+
interface ParagraphProps extends PropBase {
|
|
17
|
+
children: React.ReactNode;
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
declare const Typography: {
|
|
21
|
+
Title: React.FC<TitleProps>;
|
|
22
|
+
Text: React.FC<TextProps>;
|
|
23
|
+
Paragraph: React.FC<ParagraphProps>;
|
|
24
|
+
};
|
|
25
|
+
export default Typography;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ComponentStyleConfig, GoXcelTheme } from '../../../types';
|
|
3
|
+
type CheckboxPropsBase = ComponentStyleConfig['Checkbox'] & {
|
|
4
|
+
theme?: GoXcelTheme;
|
|
5
|
+
};
|
|
6
|
+
export interface CheckboxProps {
|
|
7
|
+
id?: string;
|
|
8
|
+
checked?: boolean;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
11
|
+
children?: React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export declare const Checkbox: React.FC<CheckboxProps & CheckboxPropsBase>;
|
|
14
|
+
interface CheckboxGroupProps {
|
|
15
|
+
id?: string;
|
|
16
|
+
value?: string[];
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
onChange?: (checkedValues: string[]) => void;
|
|
19
|
+
children?: React.ReactNode;
|
|
20
|
+
style?: React.CSSProperties;
|
|
21
|
+
}
|
|
22
|
+
export declare const CheckboxGroup: React.FC<CheckboxGroupProps>;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { default as dayjs } from 'dayjs';
|
|
3
|
+
import { ComponentStyleConfig, GoXcelTheme } from '../../../types';
|
|
4
|
+
type DatePickerPropsBase = ComponentStyleConfig['DataPicker'] & {
|
|
5
|
+
theme?: GoXcelTheme;
|
|
6
|
+
};
|
|
7
|
+
interface DatePickerProps {
|
|
8
|
+
value?: string | dayjs.Dayjs;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
showTime?: boolean;
|
|
11
|
+
onChange?: (date: dayjs.Dayjs) => void;
|
|
12
|
+
size?: 'small' | 'middle' | 'large';
|
|
13
|
+
}
|
|
14
|
+
export declare const DatePicker: React.FC<DatePickerProps & DatePickerPropsBase>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ComponentStyleConfig, GoXcelTheme } from '../../../types';
|
|
3
|
+
type InputPropsBase = ComponentStyleConfig['Input'] & {
|
|
4
|
+
theme?: GoXcelTheme;
|
|
5
|
+
};
|
|
6
|
+
interface InputProps extends InputPropsBase {
|
|
7
|
+
id?: string;
|
|
8
|
+
value?: string;
|
|
9
|
+
readOnly?: boolean;
|
|
10
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
11
|
+
size?: InputPropsBase['size'];
|
|
12
|
+
}
|
|
13
|
+
export declare const Input: React.FC<InputProps>;
|
|
14
|
+
interface TextAreaProps extends InputPropsBase {
|
|
15
|
+
id?: string;
|
|
16
|
+
value?: string;
|
|
17
|
+
readOnly?: boolean;
|
|
18
|
+
onChange?: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare const TextArea: React.FC<TextAreaProps>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ComponentStyleConfig, GoXcelTheme } from '../../../types';
|
|
3
|
+
type InputNumberPropsBase = ComponentStyleConfig['InputNumber'] & {
|
|
4
|
+
theme?: GoXcelTheme;
|
|
5
|
+
};
|
|
6
|
+
interface InputNumberProps {
|
|
7
|
+
id?: string;
|
|
8
|
+
value?: number;
|
|
9
|
+
defaultValue?: number;
|
|
10
|
+
min?: number;
|
|
11
|
+
max?: number;
|
|
12
|
+
step?: number;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
size?: InputNumberPropsBase['size'];
|
|
15
|
+
onChange?: (value: number) => void;
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
declare const InputNumber: React.FC<InputNumberProps & InputNumberPropsBase>;
|
|
19
|
+
export default InputNumber;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ComponentStyleConfig, GoXcelTheme } from '../../../types';
|
|
3
|
+
type RadioPropsBase = ComponentStyleConfig['Radio'] & {
|
|
4
|
+
theme?: GoXcelTheme;
|
|
5
|
+
};
|
|
6
|
+
interface RadioProps {
|
|
7
|
+
id?: string;
|
|
8
|
+
value?: string;
|
|
9
|
+
checked?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
12
|
+
children?: React.ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export declare const Radio: React.FC<RadioProps & RadioPropsBase>;
|
|
15
|
+
interface RadioGroupProps {
|
|
16
|
+
id?: string;
|
|
17
|
+
value?: string;
|
|
18
|
+
disabled?: boolean;
|
|
19
|
+
onChange?: (e: {
|
|
20
|
+
target: {
|
|
21
|
+
value: string;
|
|
22
|
+
};
|
|
23
|
+
}) => void;
|
|
24
|
+
options?: {
|
|
25
|
+
value: string;
|
|
26
|
+
label: string;
|
|
27
|
+
}[];
|
|
28
|
+
}
|
|
29
|
+
export declare const RadioGroup: React.FC<RadioGroupProps & RadioPropsBase>;
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ComponentStyleConfig, GoXcelTheme } from '../../../types';
|
|
3
|
+
type SelectPropsBase = ComponentStyleConfig['Select'] & {
|
|
4
|
+
theme?: GoXcelTheme;
|
|
5
|
+
};
|
|
6
|
+
interface SelectProps extends SelectPropsBase {
|
|
7
|
+
id?: string;
|
|
8
|
+
value?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
onChange?: (value: string) => void;
|
|
11
|
+
options?: {
|
|
12
|
+
value: string;
|
|
13
|
+
label: string;
|
|
14
|
+
}[];
|
|
15
|
+
size?: SelectPropsBase['size'];
|
|
16
|
+
}
|
|
17
|
+
export declare const Select: React.FC<SelectProps>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function useBounce<Args extends unknown[]>(callback: (...args: Args) => void, wait: number): readonly [(...args: Args) => void, () => void];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TemplateConfig, TemplateItem, TemplateSheet } from '../types';
|
|
2
|
+
export declare const ITEM_DEFAULT: TemplateItem[];
|
|
3
|
+
declare const useTemplateTabs: () => {
|
|
4
|
+
tabs: TemplateSheet[];
|
|
5
|
+
activeKey: string;
|
|
6
|
+
setActiveKey: import('react').Dispatch<import('react').SetStateAction<string>>;
|
|
7
|
+
addTab: () => void;
|
|
8
|
+
setTabs: (tabs: TemplateConfig["configuration"]) => void;
|
|
9
|
+
removeTab: (targetKey: string) => void;
|
|
10
|
+
updateTab: (index: number, updatedTab: Partial<TemplateSheet>) => TemplateSheet[];
|
|
11
|
+
};
|
|
12
|
+
export default useTemplateTabs;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Template, TemplateSheet, BackendResponse } from './types';
|
|
2
|
+
export type TemplateResponse = BackendResponse<Template>;
|
|
3
|
+
declare const GoXcelService: {
|
|
4
|
+
API_GO_XCEL_HOST: string | null;
|
|
5
|
+
readTemplateIdentity(token: string, identity: string): Promise<Template>;
|
|
6
|
+
applyAction(token: string, templateAction: {
|
|
7
|
+
template__uuid: string;
|
|
8
|
+
actions: TemplateSheet[];
|
|
9
|
+
}): Promise<TemplateResponse>;
|
|
10
|
+
};
|
|
11
|
+
export default GoXcelService;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
export interface GoXcelTheme {
|
|
2
|
+
primaryColor?: string;
|
|
3
|
+
}
|
|
4
|
+
type Select = {
|
|
5
|
+
borderRadius?: string;
|
|
6
|
+
focusShadowColor?: string;
|
|
7
|
+
size?: 'small' | 'middle' | 'large';
|
|
8
|
+
};
|
|
9
|
+
type Input = {
|
|
10
|
+
borderRadius?: Select['borderRadius'];
|
|
11
|
+
focusShadowColor?: Select['focusShadowColor'];
|
|
12
|
+
size?: Select['size'];
|
|
13
|
+
};
|
|
14
|
+
type DataPicker = {
|
|
15
|
+
borderRadius?: Select['borderRadius'];
|
|
16
|
+
focusShadowColor?: Select['focusShadowColor'];
|
|
17
|
+
size?: Select['size'];
|
|
18
|
+
};
|
|
19
|
+
export interface ComponentStyleConfig {
|
|
20
|
+
Select?: Select;
|
|
21
|
+
Typography?: {
|
|
22
|
+
titleHoverColor?: string;
|
|
23
|
+
};
|
|
24
|
+
Tabs?: {
|
|
25
|
+
tabPosition?: 'top' | 'bottom';
|
|
26
|
+
size?: Select['size'];
|
|
27
|
+
};
|
|
28
|
+
Input?: Input;
|
|
29
|
+
TextArea?: Input;
|
|
30
|
+
InputNumber?: Input;
|
|
31
|
+
DataPicker?: DataPicker;
|
|
32
|
+
Checkbox?: {
|
|
33
|
+
size?: Select['size'];
|
|
34
|
+
};
|
|
35
|
+
Radio?: {
|
|
36
|
+
size?: Select['size'];
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface GoXcelConfig {
|
|
40
|
+
theme?: GoXcelTheme;
|
|
41
|
+
formOptions?: {
|
|
42
|
+
language?: string;
|
|
43
|
+
languageOptions?: Record<string, {
|
|
44
|
+
small: string;
|
|
45
|
+
middle: string;
|
|
46
|
+
large: string;
|
|
47
|
+
fieldWidthPerRow: string;
|
|
48
|
+
formSize: string;
|
|
49
|
+
fullRow: string;
|
|
50
|
+
halfRow: string;
|
|
51
|
+
oneThirdRow: string;
|
|
52
|
+
twoThirdsRow: string;
|
|
53
|
+
}>;
|
|
54
|
+
};
|
|
55
|
+
components?: ComponentStyleConfig;
|
|
56
|
+
}
|
|
57
|
+
declare global {
|
|
58
|
+
interface Window {
|
|
59
|
+
GOXCEL_CONFIG?: GoXcelConfig;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { FieldSpan, FormSize } from '../components/ui/FormOptions';
|
|
2
|
+
import { GoXcelConfig } from './config';
|
|
3
|
+
export declare enum TemplateType {
|
|
4
|
+
form = "form",
|
|
5
|
+
table = "table"
|
|
6
|
+
}
|
|
7
|
+
export declare enum TemplateItemTypes {
|
|
8
|
+
input = "input",
|
|
9
|
+
check = "check",
|
|
10
|
+
radio = "radio",
|
|
11
|
+
textarea = "textarea",
|
|
12
|
+
datetime = "datetime",
|
|
13
|
+
select = "select",
|
|
14
|
+
number = "number"
|
|
15
|
+
}
|
|
16
|
+
export type OptionItemData = {
|
|
17
|
+
alias: string;
|
|
18
|
+
value?: string;
|
|
19
|
+
cell?: string;
|
|
20
|
+
};
|
|
21
|
+
export type ValueOptionData = Omit<OptionItemData, 'alias'>;
|
|
22
|
+
export interface ItemData {
|
|
23
|
+
cell_type?: boolean;
|
|
24
|
+
alias: string;
|
|
25
|
+
type: keyof typeof TemplateItemTypes;
|
|
26
|
+
cell?: string;
|
|
27
|
+
column?: string;
|
|
28
|
+
action_type: string[];
|
|
29
|
+
value?: string | number | boolean | ValueOptionData[];
|
|
30
|
+
option?: OptionItemData[];
|
|
31
|
+
}
|
|
32
|
+
export interface TemplateSheet {
|
|
33
|
+
sheet: string;
|
|
34
|
+
items: TemplateItem[];
|
|
35
|
+
}
|
|
36
|
+
export interface TemplateItem {
|
|
37
|
+
alias: string;
|
|
38
|
+
type: 'form' | 'table';
|
|
39
|
+
row_num?: number;
|
|
40
|
+
row_start?: number;
|
|
41
|
+
items: ItemData[];
|
|
42
|
+
}
|
|
43
|
+
export type ItemSheet = TemplateItem;
|
|
44
|
+
export interface Sheet {
|
|
45
|
+
sheet: string;
|
|
46
|
+
items: ItemSheet[];
|
|
47
|
+
}
|
|
48
|
+
export interface TemplateConfig {
|
|
49
|
+
uuid: string;
|
|
50
|
+
configuration: Sheet[] | null;
|
|
51
|
+
name: string;
|
|
52
|
+
}
|
|
53
|
+
export interface Template {
|
|
54
|
+
uuid: string;
|
|
55
|
+
account: string;
|
|
56
|
+
identity: string;
|
|
57
|
+
template_configuration: TemplateConfig;
|
|
58
|
+
values?: TemplateConfig['configuration'];
|
|
59
|
+
}
|
|
60
|
+
export declare enum ActionMode {
|
|
61
|
+
ADD = "ADD",
|
|
62
|
+
READ = "READ",
|
|
63
|
+
EDIT = "EDIT"
|
|
64
|
+
}
|
|
65
|
+
export interface InterpretFormTable {
|
|
66
|
+
item: TemplateItem;
|
|
67
|
+
mode: ActionMode;
|
|
68
|
+
onUpdate: (updatedTab: Partial<TemplateItem>) => void;
|
|
69
|
+
onUpdateItemData?: (index: number, itemData: ItemData) => void;
|
|
70
|
+
config?: GoXcelConfig;
|
|
71
|
+
itemOptions?: {
|
|
72
|
+
size: FormSize;
|
|
73
|
+
span: FieldSpan;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const hexToRgba: (hex: string, alpha: number) => string;
|
|
2
|
+
export declare const getPrimaryColor: (theme?: {
|
|
3
|
+
primaryColor?: string;
|
|
4
|
+
}) => string;
|
|
5
|
+
export declare const getFocusShadowColor: (props?: {
|
|
6
|
+
primaryColor?: string;
|
|
7
|
+
focusShadowColor?: string;
|
|
8
|
+
}) => string;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const urlWebsocket: (apiBaseUrl: string) => URL;
|
|
2
|
+
export declare enum EnumPathNotification {
|
|
3
|
+
applyActions = "ws/apply-actions/"
|
|
4
|
+
}
|
|
5
|
+
export type OptionHostConnect = {
|
|
6
|
+
apiBaseUrl: string;
|
|
7
|
+
protocol?: 'wss' | 'ws';
|
|
8
|
+
};
|
|
9
|
+
export declare const getHostConnect: (path: EnumPathNotification, options: OptionHostConnect) => string;
|
package/package.json
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "go-xcel-interpret",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"main": "dist/go-xcel-interpret.cjs",
|
|
6
|
+
"module": "dist/go-xcel-interpret.esM.mjs",
|
|
7
|
+
"types": "dist/src/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"publishConfig": {
|
|
12
|
+
"access": "public"
|
|
13
|
+
},
|
|
14
|
+
"scripts": {
|
|
15
|
+
"dev": "vite",
|
|
16
|
+
"build": "vite build",
|
|
17
|
+
"preview": "vite preview",
|
|
18
|
+
"release": "tsx scripts/release.ts",
|
|
19
|
+
"lint": "eslint .",
|
|
20
|
+
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,css,md}\""
|
|
21
|
+
},
|
|
22
|
+
"dependencies": {
|
|
23
|
+
"@handsontable/react-wrapper": "^15.3.0",
|
|
24
|
+
"dayjs": "^1.11.13",
|
|
25
|
+
"handsontable": "^15.3.0",
|
|
26
|
+
"react": "^19.1.0",
|
|
27
|
+
"react-dom": "^19.1.0",
|
|
28
|
+
"react-use-websocket": "^4.13.0",
|
|
29
|
+
"styled-components": "^6.1.18"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@eslint/js": "^9.28.0",
|
|
33
|
+
"@octokit/rest": "^22.0.0",
|
|
34
|
+
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
|
|
35
|
+
"@types/mime-types": "^3.0.0",
|
|
36
|
+
"@types/node": "^22.15.29",
|
|
37
|
+
"@types/react": "^19.1.6",
|
|
38
|
+
"@types/react-dom": "^19.1.6",
|
|
39
|
+
"@vitejs/plugin-react": "^4.5.1",
|
|
40
|
+
"eslint": "^9.28.0",
|
|
41
|
+
"eslint-config-prettier": "^10.1.5",
|
|
42
|
+
"eslint-plugin-prettier": "^5.5.1",
|
|
43
|
+
"eslint-plugin-react": "^7.37.5",
|
|
44
|
+
"globals": "^16.2.0",
|
|
45
|
+
"mime-types": "^3.0.1",
|
|
46
|
+
"prettier": "^3.6.2",
|
|
47
|
+
"prettier-plugin-organize-imports": "^4.1.0",
|
|
48
|
+
"simple-git": "^3.27.0",
|
|
49
|
+
"typescript": "^5.8.3",
|
|
50
|
+
"typescript-eslint": "^8.33.1",
|
|
51
|
+
"vite": "^6.3.5",
|
|
52
|
+
"vite-plugin-dts": "^4.5.4"
|
|
53
|
+
},
|
|
54
|
+
"private": false,
|
|
55
|
+
"unpkg": "dist/go-xcel-interpret.umd.js",
|
|
56
|
+
"jsdelivr": "dist/go-xcel-interpret.umd.js",
|
|
57
|
+
"exports": {
|
|
58
|
+
".": {
|
|
59
|
+
"import": "./dist/go-xcel-interpret.esm.mjs",
|
|
60
|
+
"require": "./dist/go-xcel-interpret.cjs"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|