@antscorp/antsomi-ui 2.0.64-staging.61 → 2.0.64-staging.62
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/es/components/molecules/AddDynamicContent/styled.d.ts +12 -1
- package/es/components/molecules/DisplayFormat/styled.d.ts +12 -1
- package/es/components/molecules/Modal/Modal.d.ts +11 -11
- package/es/components/molecules/Modal/Modal.js +11 -9
- package/es/components/molecules/Select/Select.js +1 -1
- package/es/components/molecules/ShareAccess/ShareAccess.d.ts +2 -1
- package/es/components/molecules/ShareAccess/ShareAccess.js +12 -9
- package/es/components/molecules/ShareAccess/components/LayoutContent/LayoutContent.js +5 -5
- package/es/components/molecules/ShareAccess/components/PeopleAccess/PeopleAccess.js +2 -2
- package/es/components/molecules/ShareAccess/hooks/useShareAccess.d.ts +2 -1
- package/es/components/molecules/ShareAccess/index.d.ts +1 -0
- package/es/components/molecules/ShareAccess/reducer.d.ts +1 -1
- package/es/components/molecules/ShareAccess/reducer.js +7 -4
- package/es/components/molecules/ShareAccess/types.d.ts +22 -0
- package/es/components/molecules/ShareAccess/utils.d.ts +3 -1
- package/es/components/molecules/ShareAccess/utils.js +35 -2
- package/es/components/molecules/index.d.ts +1 -0
- package/es/components/organism/AccountSharing/AccountSharing.js +1 -0
- package/es/components/organism/AccountSharing/styled.js +1 -1
- package/es/components/organism/LeftMenu/components/HomeMenu/styled.d.ts +12 -1
- package/es/components/organism/PreviewTemplateModal/styled.d.ts +12 -1
- package/es/components/organism/SQLGeneration/components/styled.d.ts +12 -1
- package/es/components/organism/TextEditor/TextEditor.js +17 -1
- package/es/components/organism/TextEditor/types.d.ts +6 -2
- package/es/components/organism/TextEditor/ui/Toolbar/FormattingToolbar.js +11 -6
- package/es/providers/ConfigProvider/ConfigProvider.d.ts +4 -0
- package/es/providers/ConfigProvider/ConfigProvider.js +2 -3
- package/es/providers/ConfigProvider/GlobalStyle.d.ts +2 -2
- package/es/providers/ConfigProvider/GlobalStyle.js +67 -64
- package/package.json +2 -3
- package/CHANGELOG.md +0 -84
|
@@ -6,7 +6,18 @@ export declare const InputSuggestion: import("styled-components").StyledComponen
|
|
|
6
6
|
Option: import("rc-select/lib/Option").OptionFC;
|
|
7
7
|
_InternalPanelDoNotUseOrYouWillBeFired: (props: import("antd/es/_util/type").AnyObject) => import("react").JSX.Element;
|
|
8
8
|
}, any, {}, never>;
|
|
9
|
-
export declare const ModalCustom: import("styled-components").StyledComponent<import("react").
|
|
9
|
+
export declare const ModalCustom: import("styled-components").StyledComponent<import("react").FC<import("../Modal").ModalProps> & {
|
|
10
|
+
confirm: (props: import("antd").ModalFuncProps) => {
|
|
11
|
+
destroy: () => void;
|
|
12
|
+
update: (configUpdate: import("antd").ModalFuncProps | ((prevConfig: import("antd").ModalFuncProps) => import("antd").ModalFuncProps)) => void;
|
|
13
|
+
};
|
|
14
|
+
useModal: typeof import("antd/es/modal/useModal").default;
|
|
15
|
+
success: import("antd/es/modal/confirm").ModalFunc;
|
|
16
|
+
info: import("antd/es/modal/confirm").ModalFunc;
|
|
17
|
+
error: import("antd/es/modal/confirm").ModalFunc;
|
|
18
|
+
warning: import("antd/es/modal/confirm").ModalFunc;
|
|
19
|
+
destroyAll: () => void;
|
|
20
|
+
}, any, {}, never>;
|
|
10
21
|
export declare const ButtonCustom: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("antd").ButtonProps & import("react").RefAttributes<HTMLElement>> & {
|
|
11
22
|
Group: import("react").FC<import("antd/es/button").ButtonGroupProps>;
|
|
12
23
|
}, any, {}, never>;
|
|
@@ -6,4 +6,15 @@ export declare const InputSuggestion: import("styled-components").StyledComponen
|
|
|
6
6
|
Option: import("rc-select/lib/Option").OptionFC;
|
|
7
7
|
_InternalPanelDoNotUseOrYouWillBeFired: (props: import("antd/es/_util/type").AnyObject) => import("react").JSX.Element;
|
|
8
8
|
}, any, {}, never>;
|
|
9
|
-
export declare const ModalCustom: import("styled-components").StyledComponent<import("react").
|
|
9
|
+
export declare const ModalCustom: import("styled-components").StyledComponent<import("react").FC<import("../Modal").ModalProps> & {
|
|
10
|
+
confirm: (props: import("antd").ModalFuncProps) => {
|
|
11
|
+
destroy: () => void;
|
|
12
|
+
update: (configUpdate: import("antd").ModalFuncProps | ((prevConfig: import("antd").ModalFuncProps) => import("antd").ModalFuncProps)) => void;
|
|
13
|
+
};
|
|
14
|
+
useModal: typeof import("antd/es/modal/useModal").default;
|
|
15
|
+
success: import("antd/es/modal/confirm").ModalFunc;
|
|
16
|
+
info: import("antd/es/modal/confirm").ModalFunc;
|
|
17
|
+
error: import("antd/es/modal/confirm").ModalFunc;
|
|
18
|
+
warning: import("antd/es/modal/confirm").ModalFunc;
|
|
19
|
+
destroyAll: () => void;
|
|
20
|
+
}, any, {}, never>;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/// <reference types="hoist-non-react-statics" />
|
|
2
1
|
import React from 'react';
|
|
3
|
-
import { ModalProps as AntdModalProps } from 'antd';
|
|
2
|
+
import { ModalProps as AntdModalProps, ModalFuncProps } from 'antd';
|
|
4
3
|
export interface ModalProps extends AntdModalProps {
|
|
5
4
|
header?: React.ReactNode;
|
|
6
5
|
headerStyle?: {
|
|
@@ -10,14 +9,15 @@ export interface ModalProps extends AntdModalProps {
|
|
|
10
9
|
loading?: boolean;
|
|
11
10
|
}
|
|
12
11
|
export declare const OriginalModal: React.FC<ModalProps>;
|
|
13
|
-
export declare const Modal:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}, any, import("./styled").CustomModalProps, never> & import("hoist-non-react-statics").NonReactStatics<React.FC<AntdModalProps> & import("antd/es/modal/confirm").ModalStaticFunctions & {
|
|
12
|
+
export declare const Modal: React.FC<ModalProps> & {
|
|
13
|
+
confirm: (props: ModalFuncProps) => {
|
|
14
|
+
destroy: () => void;
|
|
15
|
+
update: (configUpdate: ModalFuncProps | ((prevConfig: ModalFuncProps) => ModalFuncProps)) => void;
|
|
16
|
+
};
|
|
19
17
|
useModal: typeof import("antd/es/modal/useModal").default;
|
|
18
|
+
success: import("antd/es/modal/confirm").ModalFunc;
|
|
19
|
+
info: import("antd/es/modal/confirm").ModalFunc;
|
|
20
|
+
error: import("antd/es/modal/confirm").ModalFunc;
|
|
21
|
+
warning: import("antd/es/modal/confirm").ModalFunc;
|
|
20
22
|
destroyAll: () => void;
|
|
21
|
-
|
|
22
|
-
_InternalPanelDoNotUseOrYouWillBeFired: (props: import("antd/es/modal/PurePanel").PurePanelProps) => React.JSX.Element;
|
|
23
|
-
}, {}> & React.FC<ModalProps>;
|
|
23
|
+
};
|
|
@@ -15,16 +15,18 @@ export const OriginalModal = memo(props => {
|
|
|
15
15
|
maskClosable: loading ? false : props.maskClosable, children: [props.header || null, props.children || null] }));
|
|
16
16
|
});
|
|
17
17
|
OriginalModal.displayName = 'OriginalModal';
|
|
18
|
-
export const Modal = OriginalModal
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
export const Modal = Object.assign(OriginalModal, {
|
|
19
|
+
confirm: (props) => StyledModal.confirm({
|
|
20
|
+
cancelText: 'Cancel',
|
|
21
|
+
...props,
|
|
22
|
+
}),
|
|
23
|
+
useModal: StyledModal.useModal,
|
|
24
|
+
success: StyledModal.success,
|
|
25
|
+
info: StyledModal.info,
|
|
26
|
+
error: StyledModal.error,
|
|
27
|
+
warning: StyledModal.warning,
|
|
28
|
+
destroyAll: StyledModal.destroyAll,
|
|
22
29
|
});
|
|
23
|
-
Modal.useModal = StyledModal.useModal;
|
|
24
|
-
Modal.success = StyledModal.success;
|
|
25
|
-
Modal.info = StyledModal.info;
|
|
26
|
-
Modal.error = StyledModal.error;
|
|
27
|
-
Modal.warning = StyledModal.warning;
|
|
28
30
|
Modal.defaultProps = {
|
|
29
31
|
loading: false,
|
|
30
32
|
};
|
|
@@ -2,8 +2,8 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
// Libraries
|
|
3
3
|
import { Select as AntdSelect } from 'antd';
|
|
4
4
|
// Components
|
|
5
|
-
import { Flex } from '@antscorp/antsomi-ui/es/components/atoms';
|
|
6
5
|
import { Text } from '../../atoms/Text';
|
|
6
|
+
import { Flex } from '../../atoms/Flex';
|
|
7
7
|
// Icons
|
|
8
8
|
import Icon from '@antscorp/icons';
|
|
9
9
|
// Constants
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { ShareAccessProps } from './types';
|
|
2
|
-
export declare const ShareAccess: (props: ShareAccessProps) => import("react/jsx-runtime").JSX.Element
|
|
3
|
+
export declare const ShareAccess: React.MemoExoticComponent<(props: ShareAccessProps) => import("react/jsx-runtime").JSX.Element>;
|
|
@@ -1,32 +1,35 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
/* eslint-disable react/jsx-no-constructed-context-values */
|
|
3
|
-
import { useReducer } from 'react';
|
|
3
|
+
import { memo, useReducer } from 'react';
|
|
4
|
+
import isEqual from 'react-fast-compare';
|
|
4
5
|
import { ShareAccessDispatchContext, ShareAccessStateContext } from './context';
|
|
5
6
|
import { LayoutContent } from './components';
|
|
6
7
|
import { shareAccessReducer } from './reducer';
|
|
7
8
|
import { updateObjAccessInfo } from './actions';
|
|
8
9
|
import { useDeepCompareEffect } from '@antscorp/antsomi-ui/es/hooks/useDeepCompareEffect';
|
|
9
|
-
import { safeParseAccessInfo } from './utils';
|
|
10
|
-
export const ShareAccess = (props) => {
|
|
11
|
-
const { accessInfo, excludeUserAccess, userId, onChange, userPermission } = props;
|
|
12
|
-
const [state, dispatch] = useReducer(shareAccessReducer(onChange), {
|
|
10
|
+
import { fromRaw, safeParseAccessInfo } from './utils';
|
|
11
|
+
export const ShareAccess = memo((props) => {
|
|
12
|
+
const { accessInfo, rawAccessInfo, excludeUserAccess, userId, onChange, onRawChange, userPermission, isLoading, } = props;
|
|
13
|
+
const [state, dispatch] = useReducer(shareAccessReducer(onChange, onRawChange), {
|
|
13
14
|
modalTransferOwnership: {
|
|
14
15
|
open: false,
|
|
15
16
|
userToOwnerShipId: -1,
|
|
16
17
|
},
|
|
17
18
|
});
|
|
18
19
|
useDeepCompareEffect(() => {
|
|
19
|
-
|
|
20
|
+
const resolved = rawAccessInfo ? fromRaw(rawAccessInfo) : accessInfo;
|
|
21
|
+
if (!resolved)
|
|
20
22
|
return;
|
|
21
23
|
dispatch(updateObjAccessInfo({
|
|
22
|
-
updated: safeParseAccessInfo(
|
|
24
|
+
updated: safeParseAccessInfo(resolved),
|
|
23
25
|
triggerOut: false,
|
|
24
26
|
}));
|
|
25
|
-
}, [accessInfo]);
|
|
27
|
+
}, [accessInfo, rawAccessInfo]);
|
|
26
28
|
return (_jsx(ShareAccessStateContext.Provider, { value: {
|
|
27
29
|
...state,
|
|
28
30
|
excludeUserAccess,
|
|
29
31
|
accessUserId: userId,
|
|
30
32
|
accessUserPermission: userPermission,
|
|
33
|
+
isLoading,
|
|
31
34
|
}, children: _jsx(ShareAccessDispatchContext.Provider, { value: dispatch, children: _jsx(LayoutContent, { ...props }) }) }));
|
|
32
|
-
};
|
|
35
|
+
}, isEqual);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useShareAccess } from '../../hooks';
|
|
2
3
|
import { GeneralAccess } from '../GeneralAccess';
|
|
3
4
|
import { ModalTransferOwnership } from '../ModalTransferOwnerShip/ModalTransferOwnerShip';
|
|
4
5
|
import { PeopleAccess } from '../PeopleAccess';
|
|
5
6
|
import { SearchUser } from '../SearchUser';
|
|
6
7
|
import { StyledLayoutContentRoot } from './styled';
|
|
7
8
|
export const LayoutContent = (props) => {
|
|
8
|
-
const { getUserInfo, generalAccessSettings, excludeUserAccess, placeholder, allowAddUser = true, hideTransferOwnership, } = props;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return (_jsxs(StyledLayoutContentRoot, { children: [allowAddUser && _jsx(SearchUser, { getUserInfo: getUserInfo, placeholder: placeholder }), _jsx(PeopleAccess, { excludeUserAccess: excludeUserAccess, hideTransferOwnership: hideTransferOwnership }), _jsx(GeneralAccess, { generalAccessSettings: generalAccessSettings }), _jsx(ModalTransferOwnership, {})] }));
|
|
9
|
+
const { getUserInfo, generalAccessSettings, excludeUserAccess, placeholder, allowAddUser = true, hideTransferOwnership, className, } = props;
|
|
10
|
+
const { state } = useShareAccess();
|
|
11
|
+
const { isLoading } = state;
|
|
12
|
+
return (_jsxs(StyledLayoutContentRoot, { className: className, children: [!isLoading && allowAddUser && (_jsx(SearchUser, { getUserInfo: getUserInfo, placeholder: placeholder })), _jsx(PeopleAccess, { excludeUserAccess: excludeUserAccess, hideTransferOwnership: hideTransferOwnership }), _jsx(GeneralAccess, { generalAccessSettings: generalAccessSettings }), _jsx(ModalTransferOwnership, {})] }));
|
|
13
13
|
};
|
|
@@ -19,7 +19,7 @@ const ROLE_BY_ACTIONS = {
|
|
|
19
19
|
export const PeopleAccess = (props) => {
|
|
20
20
|
const { excludeUserAccess, hideTransferOwnership } = props;
|
|
21
21
|
const { state, dispatch } = useShareAccess();
|
|
22
|
-
const { accessInfo, accessUserId, accessUserPermission } = state;
|
|
22
|
+
const { accessInfo, accessUserId, accessUserPermission, isLoading } = state;
|
|
23
23
|
const dataSourceSorted = useMemo(() => {
|
|
24
24
|
if (!Array.isArray(accessInfo?.listAccess))
|
|
25
25
|
return [];
|
|
@@ -86,7 +86,7 @@ export const PeopleAccess = (props) => {
|
|
|
86
86
|
};
|
|
87
87
|
if (!accessInfo)
|
|
88
88
|
return null;
|
|
89
|
-
return (_jsxs(StyledPeopleAccessRoot, { children: [_jsx("div", { className: "title", children: "People with access" }), _jsx(List, { dataSource: dataSourceSorted, loading: { spinning:
|
|
89
|
+
return (_jsxs(StyledPeopleAccessRoot, { children: [_jsx("div", { className: "title", children: "People with access" }), _jsx(List, { dataSource: dataSourceSorted, loading: { spinning: !!isLoading, indicator: _jsx(Spin, {}) }, renderItem: access => {
|
|
90
90
|
const actions = getActionsByUser({
|
|
91
91
|
userId: accessUserId,
|
|
92
92
|
updatedUserId: access.userId,
|
|
@@ -3,7 +3,8 @@ export declare const useShareAccess: () => {
|
|
|
3
3
|
state: {
|
|
4
4
|
allowEdit: boolean;
|
|
5
5
|
allowView: boolean;
|
|
6
|
-
accessInfo?: import("
|
|
6
|
+
accessInfo?: import("..").ObjectAccessInfo | undefined;
|
|
7
|
+
isLoading?: boolean | undefined;
|
|
7
8
|
accessUserId?: number | undefined;
|
|
8
9
|
accessUserPermission?: {
|
|
9
10
|
view: number;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ShareAccessAction, ShareAccessProps, ShareAccessState } from './types';
|
|
2
|
-
export declare const shareAccessReducer: (onChange: ShareAccessProps['onChange']) => (state: ShareAccessState, action: ShareAccessAction) => ShareAccessState;
|
|
2
|
+
export declare const shareAccessReducer: (onChange: ShareAccessProps['onChange'], onRawChange: ShareAccessProps['onRawChange']) => (state: ShareAccessState, action: ShareAccessAction) => ShareAccessState;
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import produce from 'immer';
|
|
2
2
|
import { TYPES } from './actions';
|
|
3
|
-
import { mappingOutData } from './utils';
|
|
4
|
-
export const shareAccessReducer = (onChange) => (state, action) => produce(state, draft => {
|
|
3
|
+
import { mappingOutData, toRaw } from './utils';
|
|
4
|
+
export const shareAccessReducer = (onChange, onRawChange) => (state, action) => produce(state, draft => {
|
|
5
5
|
switch (action.type) {
|
|
6
6
|
case TYPES.UPDATE_OBJECT_ACCESS_INFO: {
|
|
7
7
|
const { updated, triggerOut = true } = action.payload;
|
|
8
|
+
// console.log({ action });
|
|
8
9
|
draft.accessInfo = updated;
|
|
9
|
-
if (
|
|
10
|
-
|
|
10
|
+
if (triggerOut) {
|
|
11
|
+
const mapped = mappingOutData(action.payload.updated);
|
|
12
|
+
onChange?.(mapped);
|
|
13
|
+
onRawChange?.(toRaw(mapped));
|
|
11
14
|
}
|
|
12
15
|
break;
|
|
13
16
|
}
|
|
@@ -28,28 +28,50 @@ export type ObjectAccessInfo = {
|
|
|
28
28
|
ownerId: number;
|
|
29
29
|
listAccess: UserAccessInfo[];
|
|
30
30
|
};
|
|
31
|
+
export type UserAccessInfoRaw = {
|
|
32
|
+
user_id: number;
|
|
33
|
+
role: number;
|
|
34
|
+
allow_view: number;
|
|
35
|
+
allow_edit: number;
|
|
36
|
+
allow_comment: number;
|
|
37
|
+
full_name?: string;
|
|
38
|
+
email?: string;
|
|
39
|
+
avatar?: string;
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
};
|
|
42
|
+
export type ObjectAccessInfoRaw = {
|
|
43
|
+
is_public: number;
|
|
44
|
+
public_role: number | null;
|
|
45
|
+
owner_id?: number;
|
|
46
|
+
list_access: UserAccessInfoRaw[];
|
|
47
|
+
};
|
|
31
48
|
export type ActionKey = (typeof PEOPLE_ACTION_KEYS)[keyof typeof PEOPLE_ACTION_KEYS];
|
|
32
49
|
export type ExcludeUserAccess = Array<ActionKey>;
|
|
33
50
|
export type GeneralAccessSettings = {
|
|
34
51
|
publicOnlyWith?: boolean;
|
|
35
52
|
};
|
|
36
53
|
export type ShareAccessProps = {
|
|
54
|
+
className?: string;
|
|
37
55
|
userId?: number;
|
|
38
56
|
userPermission?: {
|
|
39
57
|
edit: number;
|
|
40
58
|
view: number;
|
|
41
59
|
};
|
|
42
60
|
accessInfo?: ObjectAccessInfo;
|
|
61
|
+
isLoading?: boolean;
|
|
43
62
|
allowAddUser?: boolean;
|
|
44
63
|
placeholder?: string;
|
|
45
64
|
excludeUserAccess?: ExcludeUserAccess;
|
|
46
65
|
getUserInfo?(search: string, signal: AbortSignal): Promise<UserInfo[]> | UserInfo[];
|
|
47
66
|
generalAccessSettings?: GeneralAccessSettings;
|
|
48
67
|
onChange?: (accessInfo: ObjectAccessInfo) => void;
|
|
68
|
+
rawAccessInfo?: ObjectAccessInfoRaw;
|
|
69
|
+
onRawChange?: (raw: ObjectAccessInfoRaw) => void;
|
|
49
70
|
hideTransferOwnership?: boolean;
|
|
50
71
|
};
|
|
51
72
|
export type ShareAccessState = {
|
|
52
73
|
accessInfo?: ObjectAccessInfo;
|
|
74
|
+
isLoading?: boolean;
|
|
53
75
|
accessUserId?: number;
|
|
54
76
|
accessUserPermission?: {
|
|
55
77
|
view: number;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ActionKey, ObjectAccessInfo, UserAccessInfo, UserInfo } from './types';
|
|
1
|
+
import { ActionKey, ObjectAccessInfo, ObjectAccessInfoRaw, UserAccessInfo, UserInfo } from './types';
|
|
2
2
|
export declare const mergePermission: (objectPermissionAllow: boolean, menuPermissionValue: number) => boolean;
|
|
3
3
|
export declare const composeObjectMenuPermissions: (params: {
|
|
4
4
|
isPublic: boolean;
|
|
@@ -54,6 +54,8 @@ export declare const safeParseAccessInfo: (accessInfo: ObjectAccessInfo) => {
|
|
|
54
54
|
isPublic: number;
|
|
55
55
|
publicRole: number | null;
|
|
56
56
|
};
|
|
57
|
+
export declare const fromRaw: (raw: ObjectAccessInfoRaw) => ObjectAccessInfo;
|
|
58
|
+
export declare const toRaw: (info: ObjectAccessInfo) => ObjectAccessInfoRaw;
|
|
57
59
|
export declare const mappingOutData: (shareAccess: ObjectAccessInfo) => {
|
|
58
60
|
isPublic: number;
|
|
59
61
|
publicRole: number | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MENU_PERMISSION, PEOPLE_ACTIONS, PEOPLE_ACTION_KEYS, PUBLIC_ROLE, REGEX_REMOVE_NAME, ROLE_ACCESS_LABEL, ROLE_MAPPING, } from './constants';
|
|
2
|
-
import { remove } from 'lodash';
|
|
2
|
+
import { remove, mapKeys, camelCase, snakeCase } from 'lodash';
|
|
3
3
|
import { snakeCaseToCamelCase } from '@antscorp/antsomi-ui/es/utils';
|
|
4
4
|
export const mergePermission = (objectPermissionAllow, menuPermissionValue) => {
|
|
5
5
|
const valueMapping = {
|
|
@@ -87,9 +87,42 @@ export const safeParseAccessInfo = (accessInfo) => {
|
|
|
87
87
|
return {
|
|
88
88
|
...accessInfo,
|
|
89
89
|
ownerId: +(ownerId || -1),
|
|
90
|
-
listAccess: accessInfo?.listAccess?.map(user => ({
|
|
90
|
+
listAccess: accessInfo?.listAccess?.map(user => ({
|
|
91
|
+
...user,
|
|
92
|
+
userId: +user.userId,
|
|
93
|
+
role: +user.role,
|
|
94
|
+
allowView: +user.allowView,
|
|
95
|
+
allowEdit: +user.allowEdit,
|
|
96
|
+
allowComment: +user.allowComment,
|
|
97
|
+
})),
|
|
91
98
|
};
|
|
92
99
|
};
|
|
100
|
+
export const fromRaw = (raw) => ({
|
|
101
|
+
isPublic: raw.is_public,
|
|
102
|
+
publicRole: raw.public_role,
|
|
103
|
+
ownerId: raw.owner_id ?? -1,
|
|
104
|
+
listAccess: raw.list_access.map(u => ({
|
|
105
|
+
...mapKeys(u, (_v, key) => camelCase(key)),
|
|
106
|
+
userId: u.user_id,
|
|
107
|
+
role: u.role,
|
|
108
|
+
allowView: u.allow_view,
|
|
109
|
+
allowEdit: u.allow_edit,
|
|
110
|
+
allowComment: u.allow_comment,
|
|
111
|
+
})),
|
|
112
|
+
});
|
|
113
|
+
export const toRaw = (info) => ({
|
|
114
|
+
is_public: info.isPublic,
|
|
115
|
+
public_role: info.publicRole,
|
|
116
|
+
owner_id: info.ownerId,
|
|
117
|
+
list_access: info.listAccess.map(u => ({
|
|
118
|
+
...mapKeys(u, (_v, key) => snakeCase(key)),
|
|
119
|
+
user_id: u.userId,
|
|
120
|
+
role: u.role,
|
|
121
|
+
allow_view: u.allowView,
|
|
122
|
+
allow_edit: u.allowEdit,
|
|
123
|
+
allow_comment: u.allowComment,
|
|
124
|
+
})),
|
|
125
|
+
});
|
|
93
126
|
export const mappingOutData = (shareAccess) => {
|
|
94
127
|
const result = { ...shareAccess };
|
|
95
128
|
result.listAccess = result.listAccess.map(accessInfo => {
|
|
@@ -23,6 +23,7 @@ export { IconSelectionRenderer } from './IconSelection/components/Icon';
|
|
|
23
23
|
export { AlignSetting } from './AlignSetting';
|
|
24
24
|
export { EdgeSetting } from './EdgeSetting';
|
|
25
25
|
export { ShareAccess, Constants as ShareAccessConstants, Utils as ShareAccessUtils, } from './ShareAccess';
|
|
26
|
+
export type { ObjectAccessInfo, ObjectAccessInfoRaw, UserAccessInfo, UserAccessInfoRaw, ShareAccessProps, } from './ShareAccess';
|
|
26
27
|
export { Collapse } from './Collapse';
|
|
27
28
|
export { TreeSelect } from './TreeSelect';
|
|
28
29
|
export { Card } from './Card';
|
|
@@ -528,5 +528,6 @@ export const AccountSharing = props => {
|
|
|
528
528
|
backgroundColor: THEME.token?.blue1_2,
|
|
529
529
|
padding: '20px 15px',
|
|
530
530
|
width: '400px',
|
|
531
|
+
maxHeight: 'calc(100dvh - 80px)',
|
|
531
532
|
}, children: _jsxs(TriggerPopoverStyled, { children: [_jsx("div", { className: "brand-logo", children: currentNetwork?.logo ? _jsx("img", { src: currentNetwork.logo, alt: "" }) : null }), _jsx("div", { className: "avatar", children: infoAccount ? _jsx("img", { src: infoAccount.avatar, alt: "" }) : null })] }) }), _jsx(AccountProfile, { accountId: accountId, iamDomain: formatDomain, token: token, isDisabledEdit: false, open: openAccountProfile, onClose: () => setOpenAccountProfile(false) })] }));
|
|
532
533
|
};
|
|
@@ -270,7 +270,7 @@ export const PackageSharingStyled = styled.div `
|
|
|
270
270
|
grid-template-columns: 1fr 1fr 1fr;
|
|
271
271
|
gap: 15px;
|
|
272
272
|
margin-top: 26px;
|
|
273
|
-
max-height: 335px;
|
|
273
|
+
max-height: min(335px, calc(100dvh - 380px));
|
|
274
274
|
overflow-y: auto;
|
|
275
275
|
padding: 0 7px;
|
|
276
276
|
.network-item {
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const HomeMenuWrapper: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("antd/es/flex/interface").FlexProps<import("antd/es/_util/type").AnyObject> & import("react").RefAttributes<HTMLElement>>, any, {}, never>;
|
|
3
3
|
export declare const CreateButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("antd").ButtonProps & import("react").RefAttributes<import("react").LegacyRef<HTMLElement>>>, any, {}, never>;
|
|
4
|
-
export declare const ModalWrapper: import("styled-components").StyledComponent<import("react").
|
|
4
|
+
export declare const ModalWrapper: import("styled-components").StyledComponent<import("react").FC<import("@antscorp/antsomi-ui/es/components/molecules/Modal").ModalProps> & {
|
|
5
|
+
confirm: (props: import("antd").ModalFuncProps) => {
|
|
6
|
+
destroy: () => void;
|
|
7
|
+
update: (configUpdate: import("antd").ModalFuncProps | ((prevConfig: import("antd").ModalFuncProps) => import("antd").ModalFuncProps)) => void;
|
|
8
|
+
};
|
|
9
|
+
useModal: typeof import("antd/es/modal/useModal").default;
|
|
10
|
+
success: import("antd/es/modal/confirm").ModalFunc;
|
|
11
|
+
info: import("antd/es/modal/confirm").ModalFunc;
|
|
12
|
+
error: import("antd/es/modal/confirm").ModalFunc;
|
|
13
|
+
warning: import("antd/es/modal/confirm").ModalFunc;
|
|
14
|
+
destroyAll: () => void;
|
|
15
|
+
}, any, {}, never>;
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
export declare const ModalContainer: import("styled-components").StyledComponent<import("react").
|
|
2
|
+
export declare const ModalContainer: import("styled-components").StyledComponent<import("react").FC<import("../../molecules/Modal").ModalProps> & {
|
|
3
|
+
confirm: (props: import("antd").ModalFuncProps) => {
|
|
4
|
+
destroy: () => void;
|
|
5
|
+
update: (configUpdate: import("antd").ModalFuncProps | ((prevConfig: import("antd").ModalFuncProps) => import("antd").ModalFuncProps)) => void;
|
|
6
|
+
};
|
|
7
|
+
useModal: typeof import("antd/es/modal/useModal").default;
|
|
8
|
+
success: import("antd/es/modal/confirm").ModalFunc;
|
|
9
|
+
info: import("antd/es/modal/confirm").ModalFunc;
|
|
10
|
+
error: import("antd/es/modal/confirm").ModalFunc;
|
|
11
|
+
warning: import("antd/es/modal/confirm").ModalFunc;
|
|
12
|
+
destroyAll: () => void;
|
|
13
|
+
}, any, {}, never>;
|
|
3
14
|
export declare const ModalWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
4
15
|
export declare const ImageWrapper: import("styled-components").StyledComponent<"img", any, {}, never>;
|
|
@@ -24,7 +24,18 @@ export declare const CautionLink: import("styled-components").StyledComponent<im
|
|
|
24
24
|
export declare const RatingSection: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
25
25
|
export declare const RatingText: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
26
26
|
export declare const RatingButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("antd").ButtonProps & import("react").RefAttributes<import("react").LegacyRef<HTMLElement>>>, any, {}, never>;
|
|
27
|
-
export declare const StyledModal: import("styled-components").StyledComponent<import("react").
|
|
27
|
+
export declare const StyledModal: import("styled-components").StyledComponent<import("react").FC<import("../../../molecules/Modal").ModalProps> & {
|
|
28
|
+
confirm: (props: import("antd").ModalFuncProps) => {
|
|
29
|
+
destroy: () => void;
|
|
30
|
+
update: (configUpdate: import("antd").ModalFuncProps | ((prevConfig: import("antd").ModalFuncProps) => import("antd").ModalFuncProps)) => void;
|
|
31
|
+
};
|
|
32
|
+
useModal: typeof import("antd/es/modal/useModal").default;
|
|
33
|
+
success: import("antd/es/modal/confirm").ModalFunc;
|
|
34
|
+
info: import("antd/es/modal/confirm").ModalFunc;
|
|
35
|
+
error: import("antd/es/modal/confirm").ModalFunc;
|
|
36
|
+
warning: import("antd/es/modal/confirm").ModalFunc;
|
|
37
|
+
destroyAll: () => void;
|
|
38
|
+
}, any, {}, never>;
|
|
28
39
|
export declare const ModalDescription: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("antd/es/typography/Text").TextProps & import("react").RefAttributes<HTMLSpanElement>>, any, {}, never>;
|
|
29
40
|
export declare const SearchSection: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
30
41
|
export declare const LanguageSelector: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
@@ -70,6 +70,7 @@ const TextEditorInternal = memo(forwardRef((props, ref) => {
|
|
|
70
70
|
const text = editor.getText();
|
|
71
71
|
const json = editor.getJSON();
|
|
72
72
|
const html = editor.getHTML();
|
|
73
|
+
// console.log(id, { text });
|
|
73
74
|
onUpdate?.({
|
|
74
75
|
html: htmlSerializerForOutput(html),
|
|
75
76
|
text,
|
|
@@ -106,7 +107,7 @@ const TextEditorInternal = memo(forwardRef((props, ref) => {
|
|
|
106
107
|
bulletList: false,
|
|
107
108
|
orderedList: false,
|
|
108
109
|
listItem: false,
|
|
109
|
-
undoRedo: config?.UndoRedo
|
|
110
|
+
undoRedo: config?.UndoRedo && {
|
|
110
111
|
depth: 100,
|
|
111
112
|
},
|
|
112
113
|
}),
|
|
@@ -186,7 +187,12 @@ const TextEditorInternal = memo(forwardRef((props, ref) => {
|
|
|
186
187
|
wrapperElement: contentRef.current.parentElement,
|
|
187
188
|
defaultStyle: defaultTextStyle,
|
|
188
189
|
});
|
|
190
|
+
// console.log(
|
|
191
|
+
// '[ONCREATE] safeParseContent !== initialContent:',
|
|
192
|
+
// safeParseContent !== initialContent,
|
|
193
|
+
// );
|
|
189
194
|
if (safeParseContent !== initialContent) {
|
|
195
|
+
// console.log('[ONCREATE] Calling setContent - this RESETS editor content!');
|
|
190
196
|
editor.commands.setContent(safeParseContent);
|
|
191
197
|
}
|
|
192
198
|
const text = editor.getText();
|
|
@@ -282,6 +288,7 @@ const TextEditorInternal = memo(forwardRef((props, ref) => {
|
|
|
282
288
|
});
|
|
283
289
|
}, [editor]);
|
|
284
290
|
useImperativeHandle(ref, () => ({
|
|
291
|
+
editor,
|
|
285
292
|
setLink: params => {
|
|
286
293
|
editor?.chain().setCustomLink(params).run();
|
|
287
294
|
},
|
|
@@ -308,6 +315,9 @@ const TextEditorInternal = memo(forwardRef((props, ref) => {
|
|
|
308
315
|
deleteSmartTag: handleDeleteSmartTag,
|
|
309
316
|
updateSmartTagAttrs: handleUpdateSmartTagAttrs,
|
|
310
317
|
blur: handleBlur,
|
|
318
|
+
focus() {
|
|
319
|
+
editor.chain().focus().run();
|
|
320
|
+
},
|
|
311
321
|
setContent: editor.commands.setContent,
|
|
312
322
|
style: contentRef.current?.style,
|
|
313
323
|
}));
|
|
@@ -352,6 +362,9 @@ const TextEditorWithProvider = forwardRef((props, ref) => {
|
|
|
352
362
|
}, [colors]);
|
|
353
363
|
useImperativeHandle(ref, () => ({
|
|
354
364
|
// Forward TextEditorRef methods - accessed at call time
|
|
365
|
+
get editor() {
|
|
366
|
+
return editorRef.current?.editor;
|
|
367
|
+
},
|
|
355
368
|
get style() {
|
|
356
369
|
return editorRef.current?.style;
|
|
357
370
|
},
|
|
@@ -388,6 +401,9 @@ const TextEditorWithProvider = forwardRef((props, ref) => {
|
|
|
388
401
|
get blur() {
|
|
389
402
|
return editorRef.current.blur;
|
|
390
403
|
},
|
|
404
|
+
get focus() {
|
|
405
|
+
return editorRef.current.focus;
|
|
406
|
+
},
|
|
391
407
|
get setContent() {
|
|
392
408
|
return editorRef.current.setContent;
|
|
393
409
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { JSONContent, MarkRange } from '@tiptap/core';
|
|
2
|
+
import type { Editor, JSONContent, MarkRange } from '@tiptap/core';
|
|
3
3
|
import { BubbleMenuPluginProps } from '@tiptap/extension-bubble-menu';
|
|
4
4
|
import type { Mark, Node } from '@tiptap/pm/model';
|
|
5
5
|
import { ORDERED_LIST_STYLE_TYPE, UNORDERED_LIST_STYLE_TYPE } from './constants';
|
|
@@ -29,9 +29,13 @@ export type HandleLinkRef = {
|
|
|
29
29
|
};
|
|
30
30
|
export type TextEditorRef = HandleSmartTagRef & HandleLinkRef & {
|
|
31
31
|
blur: (perserveSelection?: boolean) => void;
|
|
32
|
+
focus: () => void;
|
|
32
33
|
style?: CSSStyleDeclaration;
|
|
33
34
|
getHTML?: () => string;
|
|
34
|
-
setContent?: (text: string
|
|
35
|
+
setContent?: (text: string, options?: Partial<{
|
|
36
|
+
emitUpdate: boolean;
|
|
37
|
+
}>) => void;
|
|
38
|
+
readonly editor: Editor;
|
|
35
39
|
};
|
|
36
40
|
export type SmartTagHandler = Partial<{
|
|
37
41
|
edit: (id: string, event: React.MouseEvent) => void;
|
|
@@ -46,15 +46,20 @@ export const FormattingToolbar = (props) => {
|
|
|
46
46
|
letterSpacing: _jsx(LetterSpacingAction, { editor: editor }, "letterSpacing"),
|
|
47
47
|
indent: _jsx(IndentAction, { editor: editor }, "indent"),
|
|
48
48
|
outdent: _jsx(OutdentAction, { editor: editor }, "outdent"),
|
|
49
|
-
history: _jsx(HistoryAction, { editor: editor }, "history"),
|
|
49
|
+
history: config?.UndoRedo !== false ? _jsx(HistoryAction, { editor: editor }, "history") : null,
|
|
50
50
|
clearFormatting: _jsx(ClearFormattingAction, { editor: editor }, "clearFormatting"),
|
|
51
51
|
}), [
|
|
52
52
|
editor,
|
|
53
|
-
config?.FontFamily,
|
|
54
|
-
config?.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
config?.FontFamily?.fonts,
|
|
54
|
+
config?.FontFamily?.fontGroupingFn,
|
|
55
|
+
config?.FontFamily?.groupOrder,
|
|
56
|
+
config?.UnorderedList?.useCustomBullet,
|
|
57
|
+
config?.UndoRedo,
|
|
58
|
+
defaultTextStyle.fontFamily,
|
|
59
|
+
defaultTextStyle.fontSize,
|
|
60
|
+
defaultTextStyle?.lineHeight,
|
|
61
|
+
linkHanlder?.onUpsert,
|
|
62
|
+
smartTagHandler?.onUpsert,
|
|
58
63
|
onChangeFont,
|
|
59
64
|
]);
|
|
60
65
|
// Group actions into rows
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { StyleProviderProps } from '@ant-design/cssinjs';
|
|
1
2
|
import { ConfigProviderProps as AntdConfigProviderProps } from 'antd/es/config-provider';
|
|
2
3
|
import React, { ReactNode } from 'react';
|
|
3
4
|
import '@antscorp/antsomi-ui/es/assets/css/main.scss';
|
|
5
|
+
import { type GlobalStyleProps } from './GlobalStyle';
|
|
4
6
|
import { TLocale } from '@antscorp/antsomi-ui/es/types';
|
|
5
7
|
import 'animate.css';
|
|
6
8
|
import { AppConfigProviderProps } from '../AppConfigProvider';
|
|
@@ -8,6 +10,8 @@ interface ConfigProviderProps extends Omit<AntdConfigProviderProps, 'locale'> {
|
|
|
8
10
|
children?: ReactNode;
|
|
9
11
|
locale?: TLocale;
|
|
10
12
|
appConfig?: AppConfigProviderProps;
|
|
13
|
+
globalStyle?: GlobalStyleProps;
|
|
14
|
+
styleProviderProps?: StyleProviderProps;
|
|
11
15
|
}
|
|
12
16
|
declare const ConfigProvider: React.FC<ConfigProviderProps>;
|
|
13
17
|
export default ConfigProvider;
|
|
@@ -22,7 +22,6 @@ import 'animate.css';
|
|
|
22
22
|
import { AppConfigProvider } from '../AppConfigProvider';
|
|
23
23
|
// Hooks
|
|
24
24
|
import { useMutationObserver } from '../../hooks';
|
|
25
|
-
import { QueryDevtoolsAntsomiUI } from '../../queries';
|
|
26
25
|
// Providers
|
|
27
26
|
// import {
|
|
28
27
|
// QueryClientProviderAntsomiUI,
|
|
@@ -37,7 +36,7 @@ dayjs.extend(timezone);
|
|
|
37
36
|
dayjs.extend(relativeTime);
|
|
38
37
|
const ConfigProvider = props => {
|
|
39
38
|
// Props
|
|
40
|
-
const { children, locale, appConfig, theme = THEME, prefixCls = ANTSOMI_COMPONENT_PREFIX_CLS, ...restOfProps } = props;
|
|
39
|
+
const { children, locale, appConfig, theme = THEME, prefixCls = ANTSOMI_COMPONENT_PREFIX_CLS, globalStyle = {}, styleProviderProps = {}, ...restOfProps } = props;
|
|
41
40
|
// Refs
|
|
42
41
|
const ref = useRef(null);
|
|
43
42
|
// Handlers
|
|
@@ -82,6 +81,6 @@ const ConfigProvider = props => {
|
|
|
82
81
|
const containers = document.getElementsByClassName('antsomi-scroll-box');
|
|
83
82
|
handleScrollAction(Array.from(containers));
|
|
84
83
|
}, []);
|
|
85
|
-
return (_jsx(AntdConfigProvider, { theme: theme, prefixCls: prefixCls, ...restOfProps, children: _jsx(AppConfigProvider, { value: appConfig, children: _jsx("div", { ref: ref, children: _jsxs(App, { children: [_jsx(GlobalStyle, {}), _jsx(StyleProvider, { hashPriority: "high", children: children })
|
|
84
|
+
return (_jsx(AntdConfigProvider, { theme: theme, prefixCls: prefixCls, ...restOfProps, children: _jsx(AppConfigProvider, { value: appConfig, children: _jsx("div", { ref: ref, children: _jsxs(App, { children: [_jsx(GlobalStyle, { ...globalStyle }), _jsx(StyleProvider, { ...styleProviderProps, hashPriority: "high", children: children })] }) }) }) }));
|
|
86
85
|
};
|
|
87
86
|
export default ConfigProvider;
|
|
@@ -9,7 +9,7 @@ import { far } from '@fortawesome/free-regular-svg-icons';
|
|
|
9
9
|
import { fab } from '@fortawesome/free-brands-svg-icons';
|
|
10
10
|
library.add(fas, far, fab);
|
|
11
11
|
const { accent7, gray5, scrollBarSize, bw3, bw4, bw5 } = THEME.token || {};
|
|
12
|
-
export const GlobalStyle =
|
|
12
|
+
export const GlobalStyle = props => (_jsx(Global, { styles: css `
|
|
13
13
|
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap');
|
|
14
14
|
|
|
15
15
|
:root {
|
|
@@ -18,69 +18,72 @@ export const GlobalStyle = () => (_jsx(Global, { styles: css `
|
|
|
18
18
|
--divider-3: ${bw5};
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
21
|
+
${props.resetStyles !== false &&
|
|
22
|
+
`
|
|
23
|
+
*,
|
|
24
|
+
*:before,
|
|
25
|
+
*:after {
|
|
26
|
+
-webkit-box-sizing: border-box;
|
|
27
|
+
-moz-box-sizing: border-box;
|
|
28
|
+
box-sizing: border-box;
|
|
29
|
+
border-width: 0;
|
|
30
|
+
border-style: solid;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
blockquote,
|
|
34
|
+
dl,
|
|
35
|
+
dd,
|
|
36
|
+
h1,
|
|
37
|
+
h2,
|
|
38
|
+
h3,
|
|
39
|
+
h4,
|
|
40
|
+
h5,
|
|
41
|
+
h6,
|
|
42
|
+
hr,
|
|
43
|
+
figure,
|
|
44
|
+
p,
|
|
45
|
+
pre {
|
|
46
|
+
margin: 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
h1,
|
|
50
|
+
h2,
|
|
51
|
+
h3,
|
|
52
|
+
h4,
|
|
53
|
+
h5,
|
|
54
|
+
h6 {
|
|
55
|
+
font-size: inherit;
|
|
56
|
+
font-weight: inherit;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
ol,
|
|
60
|
+
ul {
|
|
61
|
+
list-style: none;
|
|
62
|
+
margin: 0;
|
|
63
|
+
padding: 0;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
img,
|
|
67
|
+
svg,
|
|
68
|
+
video,
|
|
69
|
+
canvas,
|
|
70
|
+
audio,
|
|
71
|
+
iframe,
|
|
72
|
+
embed,
|
|
73
|
+
object {
|
|
74
|
+
vertical-align: middle;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
img,
|
|
78
|
+
video {
|
|
79
|
+
max-width: 100%;
|
|
80
|
+
height: auto;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
hr {
|
|
84
|
+
border-color: var(--divider-1);
|
|
85
|
+
}
|
|
86
|
+
`}
|
|
84
87
|
|
|
85
88
|
.rc-virtual-list-scrollbar {
|
|
86
89
|
width: 4px !important;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@antscorp/antsomi-ui",
|
|
3
|
-
"version": "2.0.64-staging.
|
|
3
|
+
"version": "2.0.64-staging.62",
|
|
4
4
|
"description": "An enterprise-class UI design language and React UI library.",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"dist/*",
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
"unpkg": "dist/index.js",
|
|
20
20
|
"types": "es/index.d.ts",
|
|
21
21
|
"scripts": {
|
|
22
|
-
"prepublishOnly": "yarn && yarn build:es",
|
|
23
22
|
"build:es": "npm run clean && npm run copy-files && npm run ts-compile",
|
|
24
23
|
"clean": "rimraf dist lib es",
|
|
25
24
|
"dev": "vite",
|
|
@@ -91,7 +90,7 @@
|
|
|
91
90
|
"@tiptap/react": "3.10.2",
|
|
92
91
|
"@tiptap/starter-kit": "3.10.2",
|
|
93
92
|
"@tiptap/suggestion": "3.10.2",
|
|
94
|
-
"@yaireo/tagify": "
|
|
93
|
+
"@yaireo/tagify": "4.31.2",
|
|
95
94
|
"ace-builds": "1.4.14",
|
|
96
95
|
"animate.css": "^4.1.1",
|
|
97
96
|
"antd": "5.12.6",
|
package/CHANGELOG.md
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
### Changelog
|
|
2
|
-
|
|
3
|
-
All notable changes to this project will be documented in this file. Dates are displayed in UTC.
|
|
4
|
-
|
|
5
|
-
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
|
-
|
|
7
|
-
#### [v2.0.64-staging.60](https://bitbucket.org/git-vn/at.packages.frontend/compare/v2.0.64-staging.60..v2.0.64-staging.58)
|
|
8
|
-
|
|
9
|
-
- feat: update message activity timeline [`7a3bc15`](https://bitbucket.org/git-vn/at.packages.frontend/commits/7a3bc15dd2e2eb7caf91e6bf064edd48e97dcdb2)
|
|
10
|
-
- feat: add fallback scheme_code [`ecb8e67`](https://bitbucket.org/git-vn/at.packages.frontend/commits/ecb8e67a56b93610df913c2f7c37d89b8be98ad6)
|
|
11
|
-
- feat: update extra keys [`da5b04e`](https://bitbucket.org/git-vn/at.packages.frontend/commits/da5b04e9e1c6b5d0c3584c4e08ffe70733ad4e77)
|
|
12
|
-
|
|
13
|
-
#### [v2.0.64-staging.58](https://bitbucket.org/git-vn/at.packages.frontend/compare/v2.0.64-staging.58..v2.0.64-staging.54)
|
|
14
|
-
|
|
15
|
-
> 17 March 2026
|
|
16
|
-
|
|
17
|
-
- feat: add event tg [`3d5672b`](https://bitbucket.org/git-vn/at.packages.frontend/commits/3d5672bf798efc459cec8c2866692ecc48be1141)
|
|
18
|
-
- feat: update message activity timeline leads [`3b1590e`](https://bitbucket.org/git-vn/at.packages.frontend/commits/3b1590ee8c5aa8a1d671082f6fd72d9d85b6414b)
|
|
19
|
-
- feat: update message activity timeline leads [`8b4d22c`](https://bitbucket.org/git-vn/at.packages.frontend/commits/8b4d22cf8d1ad4a4cc0e7c36dcd8306ae9e2f7d7)
|
|
20
|
-
|
|
21
|
-
#### [v2.0.64-staging.54](https://bitbucket.org/git-vn/at.packages.frontend/compare/v2.0.64-staging.54..v2.0.22)
|
|
22
|
-
|
|
23
|
-
> 30 January 2026
|
|
24
|
-
|
|
25
|
-
- fix: build search logic [`#27`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/27)
|
|
26
|
-
- feat: add report area chart [`4a0fad4`](https://bitbucket.org/git-vn/at.packages.frontend/commits/4a0fad4b405425ef03b9cf6038f6e9389f44a366)
|
|
27
|
-
- chore: update storybook version [`d13f194`](https://bitbucket.org/git-vn/at.packages.frontend/commits/d13f19462c2fe117934df7fe2e09fd0aa95a0167)
|
|
28
|
-
- feat: init antsomi-genai [`d898d07`](https://bitbucket.org/git-vn/at.packages.frontend/commits/d898d07f09cf6436ff9ba2a5430e08fc44190781)
|
|
29
|
-
|
|
30
|
-
### [v2.0.22](https://bitbucket.org/git-vn/at.packages.frontend/compare/v2.0.22..v1.0.10)
|
|
31
|
-
|
|
32
|
-
> 19 January 2023
|
|
33
|
-
|
|
34
|
-
#### [v1.0.10](https://bitbucket.org/git-vn/at.packages.frontend/compare/v1.0.10..v1.0.9)
|
|
35
|
-
|
|
36
|
-
> 20 June 2024
|
|
37
|
-
|
|
38
|
-
#### [v1.0.9](https://bitbucket.org/git-vn/at.packages.frontend/compare/v1.0.9..v1.0.8)
|
|
39
|
-
|
|
40
|
-
> 20 June 2024
|
|
41
|
-
|
|
42
|
-
#### [v1.0.8](https://bitbucket.org/git-vn/at.packages.frontend/compare/v1.0.8..v1.0.3)
|
|
43
|
-
|
|
44
|
-
> 20 June 2024
|
|
45
|
-
|
|
46
|
-
- feat(SelectAccount): add component [`2f1dea0`](https://bitbucket.org/git-vn/at.packages.frontend/commits/2f1dea035af07a01a6be8da47b531d52d2977bbe)
|
|
47
|
-
- fix: update style for calendar selection [`4347b91`](https://bitbucket.org/git-vn/at.packages.frontend/commits/4347b91f5bbe31caeb64478116c1822fe443f359)
|
|
48
|
-
- feat(EditorTab): use modal async in onCloseTab [`76aece8`](https://bitbucket.org/git-vn/at.packages.frontend/commits/76aece8cc7a44385d63019058daa1f8477c8fbcb)
|
|
49
|
-
|
|
50
|
-
#### [v1.0.3](https://bitbucket.org/git-vn/at.packages.frontend/compare/v1.0.3..v1.0.2)
|
|
51
|
-
|
|
52
|
-
> 17 January 2023
|
|
53
|
-
|
|
54
|
-
- update timeline package [`e198927`](https://bitbucket.org/git-vn/at.packages.frontend/commits/e198927d83931f9155e90ab9a1d9d3a5ac2989c4)
|
|
55
|
-
- update-ticket-editor [`38dd7b0`](https://bitbucket.org/git-vn/at.packages.frontend/commits/38dd7b0a7b2b0b58a63e725419e9b057e053f44f)
|
|
56
|
-
- update-upload-file-ticket-editor [`bb2f2ef`](https://bitbucket.org/git-vn/at.packages.frontend/commits/bb2f2ef1c46f4239ad716c897e53856a6368ea7d)
|
|
57
|
-
|
|
58
|
-
#### v1.0.2
|
|
59
|
-
|
|
60
|
-
> 4 January 2023
|
|
61
|
-
|
|
62
|
-
- Sprint10/vinlt/feature/date advanced [`#24`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/24)
|
|
63
|
-
- Sprint10/sangndd/feature/extend value matches any [`#23`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/23)
|
|
64
|
-
- Sprint10/sangndd/feature/extend value matches any [`#22`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/22)
|
|
65
|
-
- [Scatter chart] Max X-axis giá trị bị lặp [`#20`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/20)
|
|
66
|
-
- Sprint8/vinlt/feature/show data label short [`#18`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/18)
|
|
67
|
-
- Fix duplicate axis max value [`#17`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/17)
|
|
68
|
-
- [Antalyser] Một số bug khi nhập axis giá trị thập phân [`#16`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/16)
|
|
69
|
-
- Sprint6/vinlt/fixbug/chart [`#15`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/15)
|
|
70
|
-
- - Axis allows input of decimal values [`#14`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/14)
|
|
71
|
-
- Sprint4/sangndd/feature/icons [`#12`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/12)
|
|
72
|
-
- Sprint4/sangndd/feature/icons [`#11`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/11)
|
|
73
|
-
- Sprint4/thanghn/fixbug/pivot alias border [`#10`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/10)
|
|
74
|
-
- fix scroll dimension and total column [`#9`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/9)
|
|
75
|
-
- [ANTALYSER][Filter][Khi filter filed có type date và semantic là "Month day" thì không load được danh sách các ngày trong tháng] [`#7`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/7)
|
|
76
|
-
- [ANTALYSER][Pivot chart][Tính năng Add border shadow chưa hoạt động] [`#8`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/8)
|
|
77
|
-
- Fix bug [ANTALYSER][Scatter chart][Label ở cột X và Y chưa đổi theo alias name đã change ở metric] [`#6`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/6)
|
|
78
|
-
- Fix bug [Pivot chart] Row color không hiển thị được khi chọn hiển thị data của metric là Bar [`#5`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/5)
|
|
79
|
-
- Fix bug package antscorp/charts [`#1`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/1)
|
|
80
|
-
- Fix bug package antscorp/chart [`#2`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/2)
|
|
81
|
-
- table component [`#1`](https://bitbucket.org/git-vn/at.packages.frontend/pull-requests/1)
|
|
82
|
-
- Update map indonesia [`fc94208`](https://bitbucket.org/git-vn/at.packages.frontend/commits/fc9420838b3f4087a5763017e9bf7e72ee8c5e31)
|
|
83
|
-
- Update geomap [`43f3098`](https://bitbucket.org/git-vn/at.packages.frontend/commits/43f3098506f30a215dc2b30734590e5c55f8b490)
|
|
84
|
-
- sync package master [`7476118`](https://bitbucket.org/git-vn/at.packages.frontend/commits/7476118de2fcfa1bd6b0a9e3c0f887b29fd149b6)
|