@myunisoft/design-system 1.3.0-rev456 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Autocomplete/Autocomplete/example-usage.d.ts +4 -0
- package/dist/components/DocumentComposer/LoadingSkeleton.d.ts +2 -0
- package/dist/components/DocumentComposer/NoSectionsPlaceholder/index.d.ts +4 -0
- package/dist/components/DocumentComposer/Treeview/CustomTreeItem.d.ts +9 -0
- package/dist/components/DocumentComposer/Treeview/hooks/useTreeItemMenu.d.ts +12 -0
- package/dist/components/DocumentComposer/Treeview/index.d.ts +3 -0
- package/dist/components/DocumentComposer/Treeview/slots/IconContainerSlot.d.ts +10 -0
- package/dist/components/DocumentComposer/Treeview/slots/LabelInputSlot.d.ts +12 -0
- package/dist/components/DocumentComposer/Treeview/slots/LabelSlot.d.ts +20 -0
- package/dist/components/DocumentComposer/Treeview/slots/index.d.ts +3 -0
- package/dist/components/DocumentComposer/Treeview/types.d.ts +50 -0
- package/dist/components/DocumentComposer/hooks/useDragVisualFeedback.d.ts +15 -0
- package/dist/components/DocumentComposer/hooks/useSectionsMap.d.ts +5 -0
- package/dist/components/DocumentComposer/hooks/useTemporarySection.d.ts +26 -0
- package/dist/components/DocumentComposer/index.d.ts +6 -0
- package/dist/components/DocumentComposer/types.d.ts +56 -0
- package/dist/components/DocumentComposer/utils/getSectionMenuItems.d.ts +14 -0
- package/dist/components/DocumentComposer/utils/sectionHelpers.d.ts +10 -0
- package/package.json +117 -117
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
declare const BasicExample: () => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const CustomOptionExample: () => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare const ProductExample: () => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export { BasicExample, CustomOptionExample, ProductExample };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RichTreeViewProApiRef, TreeItemProps } from '@mui/x-tree-view-pro';
|
|
2
|
+
import type { TreeviewProps } from './types';
|
|
3
|
+
type TreeItemCallbacks<T extends Record<string, unknown>> = Pick<TreeviewProps<T>, 'isSectionItem' | 'isVisibleItem' | 'getIconItem' | 'hasItemMenu' | 'getMenuItems' | 'isSectionDraggable' | 'onItemVisibilityChange' | 'isTemporaryItem' | 'onTemporarySectionValidation' | 'onTemporarySectionCancel' | 'onItemLabelChange' | 'hiddenSectionTooltip' | 'visibleIconTooltip' | 'hiddenIconTooltip'> & {
|
|
4
|
+
apiRef: RichTreeViewProApiRef;
|
|
5
|
+
onEditingChange?: (itemId: string | null) => void;
|
|
6
|
+
};
|
|
7
|
+
type CustomTreeItemProps<T extends Record<string, unknown>> = TreeItemProps & TreeItemCallbacks<T>;
|
|
8
|
+
export declare const CustomTreeItem: <T extends Record<string, unknown>>(props: CustomTreeItemProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const useTreeItemMenu: () => {
|
|
2
|
+
containerRef: import("react").RefObject<HTMLLIElement | null>;
|
|
3
|
+
menuAnchorEl: HTMLElement | null;
|
|
4
|
+
menuPosition: {
|
|
5
|
+
top: number;
|
|
6
|
+
left: number;
|
|
7
|
+
} | null;
|
|
8
|
+
handleMenuClick: (event: React.MouseEvent<HTMLElement>) => void;
|
|
9
|
+
handleMenuClose: () => void;
|
|
10
|
+
scheduleMenuAction: (action: () => void) => void;
|
|
11
|
+
onMenuExited: () => void;
|
|
12
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { SxProps, Theme } from '@mui/material';
|
|
2
|
+
type IconContainerSlotProps = {
|
|
3
|
+
ownerState?: unknown;
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
sx?: SxProps<Theme>;
|
|
6
|
+
isDraggable?: boolean;
|
|
7
|
+
isVisible?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const IconContainerSlot: import("react").MemoExoticComponent<(props: IconContainerSlotProps) => import("react/jsx-runtime").JSX.Element>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { InputHTMLAttributes } from 'react';
|
|
2
|
+
import type { RichTreeViewProApiRef } from '@mui/x-tree-view-pro';
|
|
3
|
+
export declare const LabelInputSlot: import("react").ForwardRefExoticComponent<InputHTMLAttributes<HTMLInputElement> & {
|
|
4
|
+
ownerState?: unknown;
|
|
5
|
+
itemId?: string;
|
|
6
|
+
isTemporary?: boolean;
|
|
7
|
+
onTemporarySectionValidation?: (label: string) => void;
|
|
8
|
+
onTemporarySectionCancel?: () => void;
|
|
9
|
+
onItemLabelChange?: (itemId: string, newLabel: string) => void;
|
|
10
|
+
apiRef?: RichTreeViewProApiRef;
|
|
11
|
+
onEditingEnd?: () => void;
|
|
12
|
+
} & import("react").RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SxProps, Theme } from '@mui/material';
|
|
2
|
+
type LabelSlotProps = {
|
|
3
|
+
ownerState?: unknown;
|
|
4
|
+
editable?: unknown;
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
sx?: SxProps<Theme>;
|
|
7
|
+
customIcon?: React.ReactNode;
|
|
8
|
+
hasMenu?: boolean;
|
|
9
|
+
isVisible?: boolean;
|
|
10
|
+
isTemporary?: boolean;
|
|
11
|
+
itemId: string;
|
|
12
|
+
menuAnchorEl?: HTMLElement | null;
|
|
13
|
+
onMenuClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
14
|
+
onItemVisibilityChange?: (itemId: string, visible: boolean) => void;
|
|
15
|
+
hiddenSectionTooltip?: string;
|
|
16
|
+
visibleIconTooltip?: string;
|
|
17
|
+
hiddenIconTooltip?: string;
|
|
18
|
+
};
|
|
19
|
+
export declare const LabelSlot: import("react").MemoExoticComponent<(props: LabelSlotProps) => import("react/jsx-runtime").JSX.Element>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { RichTreeViewProApiRef } from '@mui/x-tree-view-pro';
|
|
2
|
+
import type { TemporarySection } from '../hooks/useTemporarySection';
|
|
3
|
+
export type ItemPositionParams = {
|
|
4
|
+
itemId: string;
|
|
5
|
+
oldPosition: {
|
|
6
|
+
parentId: string | null;
|
|
7
|
+
index: number;
|
|
8
|
+
};
|
|
9
|
+
newPosition: {
|
|
10
|
+
parentId: string | null;
|
|
11
|
+
index: number;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export type ScheduleMenuAction = (action: () => void) => void;
|
|
15
|
+
type CustomTreeviewItemProps<T> = {
|
|
16
|
+
hasItemMenu: (item: T) => boolean;
|
|
17
|
+
getMenuItems: (item: T, scheduleMenuAction: ScheduleMenuAction) => React.ReactNode[];
|
|
18
|
+
isSectionItem: (item: T) => boolean;
|
|
19
|
+
getIconItem: (item: T) => React.ReactNode;
|
|
20
|
+
isItemEditable: (item: T) => boolean;
|
|
21
|
+
isVisibleItem: (item: T) => boolean;
|
|
22
|
+
onItemVisibilityChange: (itemId: string, visible: boolean) => void;
|
|
23
|
+
hiddenSectionTooltip?: string;
|
|
24
|
+
visibleIconTooltip?: string;
|
|
25
|
+
hiddenIconTooltip?: string;
|
|
26
|
+
};
|
|
27
|
+
export type TreeviewProps<T> = {
|
|
28
|
+
apiRef: RichTreeViewProApiRef;
|
|
29
|
+
items: readonly T[];
|
|
30
|
+
getItemId: (item: T) => string;
|
|
31
|
+
getItemLabel: (item: T) => string;
|
|
32
|
+
getItemChildren: (item: T) => T[] | undefined;
|
|
33
|
+
isSectionDraggable: (itemId: string) => boolean;
|
|
34
|
+
canMoveItemToNewPosition: (params: ItemPositionParams) => boolean;
|
|
35
|
+
onItemPositionChange: (params: ItemPositionParams) => void;
|
|
36
|
+
onItemLabelChange: (itemId: string, newLabel: string) => void;
|
|
37
|
+
temporaryItem: TemporarySection | null;
|
|
38
|
+
isTemporaryItem: (itemId: string) => boolean;
|
|
39
|
+
onTemporarySectionValidation: (label: string) => void;
|
|
40
|
+
onTemporarySectionCancel: () => void;
|
|
41
|
+
defaultExpandedItems: string[];
|
|
42
|
+
checkboxSelection?: boolean;
|
|
43
|
+
multiSelect?: boolean;
|
|
44
|
+
} & CustomTreeviewItemProps<T>;
|
|
45
|
+
export type TreeviewItemProps<T> = {
|
|
46
|
+
itemId: string;
|
|
47
|
+
label?: React.ReactNode;
|
|
48
|
+
children?: React.ReactNode;
|
|
49
|
+
} & CustomTreeviewItemProps<T>;
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type RefObject } from 'react';
|
|
2
|
+
import type { DocumentSection } from '../types';
|
|
3
|
+
type UseDragVisualFeedbackParams = {
|
|
4
|
+
containerRef: RefObject<HTMLDivElement | null>;
|
|
5
|
+
getSectionById: (sectionId: string) => DocumentSection | null;
|
|
6
|
+
isValidDropTarget?: (draggedSection: DocumentSection, targetSection: DocumentSection | null) => boolean;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Provides visual feedback during drag-and-drop by graying out invalid drop targets.
|
|
10
|
+
*
|
|
11
|
+
* Uses direct DOM manipulation instead of React state to avoid re-rendering
|
|
12
|
+
* all tree items on every drag event.
|
|
13
|
+
*/
|
|
14
|
+
export declare const useDragVisualFeedback: ({ containerRef, getSectionById, isValidDropTarget }: UseDragVisualFeedbackParams) => void;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { RichTreeViewProApiRef } from '@mui/x-tree-view-pro';
|
|
2
|
+
import type { DocumentSection } from '../types';
|
|
3
|
+
export type TemporarySection = Pick<DocumentSection, 'id' | 'parentId'> & {
|
|
4
|
+
parentVisible: boolean;
|
|
5
|
+
};
|
|
6
|
+
type UseTemporarySectionParams = {
|
|
7
|
+
apiRef: RichTreeViewProApiRef;
|
|
8
|
+
getSectionById: (sectionId: string) => DocumentSection | null;
|
|
9
|
+
onSectionCreate?: (parentId: string | null, title: string) => string | Promise<string>;
|
|
10
|
+
scrollToBottom?: () => void;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Flow:
|
|
14
|
+
* 1. User triggers `create(parentId)` from context menu
|
|
15
|
+
* 2. A temporary section appears in the tree in edit mode
|
|
16
|
+
* 3. User types a title and presses Enter → `validate()` is called
|
|
17
|
+
* 4. User presses Escape or leaves empty → `cancel()` is called
|
|
18
|
+
*/
|
|
19
|
+
export declare const useTemporarySection: ({ apiRef, getSectionById, onSectionCreate, scrollToBottom }: UseTemporarySectionParams) => {
|
|
20
|
+
temporarySection: TemporarySection | null;
|
|
21
|
+
create: (parentId?: string | null) => void;
|
|
22
|
+
validate: (title: string) => Promise<void>;
|
|
23
|
+
cancel: () => void;
|
|
24
|
+
isTemporary: (sectionId: string) => boolean;
|
|
25
|
+
};
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { DocumentComposerCallbacks, DocumentComposerCustomProps, DocumentSection } from './types';
|
|
2
|
+
type DocumentComposerProps = {
|
|
3
|
+
sections?: DocumentSection[];
|
|
4
|
+
} & DocumentComposerCallbacks & DocumentComposerCustomProps;
|
|
5
|
+
declare const DocumentComposer: ({ sections, onSectionOrderChange, onSectionTitleChange, onSectionDelete, onSectionVisibilityChange, onSectionCreate, noSectionsPlaceholder, isLoading, getSectionTitleChangePermission, getSectionDeletePermission, getSectionOrderChangePermission, getSectionCreatePermission, getSectionVisibilityChangePermission, hiddenSectionTooltip, visibleIconTooltip, hiddenIconTooltip, isValidDropTarget }: DocumentComposerProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default DocumentComposer;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { ItemPositionParams } from './Treeview/types';
|
|
2
|
+
export type DocumentSection = {
|
|
3
|
+
id: string;
|
|
4
|
+
title: string;
|
|
5
|
+
visible: boolean;
|
|
6
|
+
parentId: string | null;
|
|
7
|
+
sections?: DocumentSection[] | null;
|
|
8
|
+
};
|
|
9
|
+
export type DocumentComposerLabels = {
|
|
10
|
+
/** Label for the "Create section" button */
|
|
11
|
+
createSection?: string;
|
|
12
|
+
/** Label for the "Rename" menu item */
|
|
13
|
+
rename?: string;
|
|
14
|
+
/** Label for the "Delete" menu item */
|
|
15
|
+
delete?: string;
|
|
16
|
+
/** Label for the "Create subsection" menu item */
|
|
17
|
+
createSubsection?: string;
|
|
18
|
+
/** Tooltip for hidden item */
|
|
19
|
+
hiddenItemTooltip?: string;
|
|
20
|
+
};
|
|
21
|
+
export type DocumentComposerCustomProps = {
|
|
22
|
+
/** Content displayed when there are no sections */
|
|
23
|
+
noSectionsPlaceholder?: string | React.ReactNode;
|
|
24
|
+
/** Show a loading state that prevents rendering the sections */
|
|
25
|
+
isLoading?: boolean;
|
|
26
|
+
/** Returns whether section title can be edited (double-click + "Renommer" menu). Defaults to `() => true`. */
|
|
27
|
+
getSectionTitleChangePermission?: (section: DocumentSection) => boolean;
|
|
28
|
+
/** Returns whether section can be deleted ("Supprimer" menu). Defaults to `() => true`. */
|
|
29
|
+
getSectionDeletePermission?: (section: DocumentSection) => boolean;
|
|
30
|
+
/** Returns whether section can be reordered via drag & drop. Defaults to `() => true`. */
|
|
31
|
+
getSectionOrderChangePermission?: (section: DocumentSection) => boolean;
|
|
32
|
+
/** Returns whether a section can be created under this section. Defaults to `() => true`. */
|
|
33
|
+
getSectionCreatePermission?: (section: DocumentSection) => boolean;
|
|
34
|
+
/** Returns whether section visibility can be toggled. Defaults to `() => true`. */
|
|
35
|
+
getSectionVisibilityChangePermission?: (section: DocumentSection) => boolean;
|
|
36
|
+
/** Tooltip text displayed when hovering a hidden section label (visible: false) */
|
|
37
|
+
hiddenSectionTooltip?: string;
|
|
38
|
+
/** Tooltip text displayed when hovering the visibility icon of a visible section */
|
|
39
|
+
visibleIconTooltip?: string;
|
|
40
|
+
/** Tooltip text displayed when hovering the visibility icon of a hidden section */
|
|
41
|
+
hiddenIconTooltip?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Determines if `targetSection` is a valid drop location for `draggedSection`.
|
|
44
|
+
* When provided, invalid targets are visually greyed out during drag.
|
|
45
|
+
* Defaults to () => true (all targets valid).
|
|
46
|
+
* @param targetSection - The parent section where the item would be dropped, or `null` if dropping at root level.
|
|
47
|
+
*/
|
|
48
|
+
isValidDropTarget?: (draggedSection: DocumentSection, targetSection: DocumentSection | null) => boolean;
|
|
49
|
+
};
|
|
50
|
+
export type DocumentComposerCallbacks = {
|
|
51
|
+
onSectionOrderChange?: (params: ItemPositionParams) => void;
|
|
52
|
+
onSectionTitleChange?: (sectionId: string, newTitle: string) => void;
|
|
53
|
+
onSectionDelete?: (sectionId: string) => void;
|
|
54
|
+
onSectionVisibilityChange?: (sectionId: string, visible: boolean) => void;
|
|
55
|
+
onSectionCreate?: (parentId: string | null, title: string) => string | Promise<string>;
|
|
56
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ScheduleMenuAction } from '../Treeview/types';
|
|
2
|
+
import type { DocumentSection } from '../types';
|
|
3
|
+
type MenuItemCallbacks = {
|
|
4
|
+
onRename: (sectionId: string) => void;
|
|
5
|
+
onDelete: (sectionId: string) => void;
|
|
6
|
+
onCreateSubsection: (parentId: string) => void;
|
|
7
|
+
};
|
|
8
|
+
type SectionMenuCapabilities = {
|
|
9
|
+
canRename: boolean;
|
|
10
|
+
canDelete: boolean;
|
|
11
|
+
canCreateSubsection: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const getSectionMenuItems: (section: DocumentSection, callbacks: MenuItemCallbacks, scheduleMenuAction: ScheduleMenuAction, capabilities: SectionMenuCapabilities) => React.ReactNode[];
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DocumentSection } from '../types';
|
|
2
|
+
export declare const getAllExpandableSectionIds: (sections: DocumentSection[]) => string[];
|
|
3
|
+
export declare const getAllSectionsFlat: (sections: DocumentSection[]) => DocumentSection[];
|
|
4
|
+
export declare const isRootSection: (section: DocumentSection) => boolean;
|
|
5
|
+
export declare const hasSectionMenu: (_section: DocumentSection) => boolean;
|
|
6
|
+
export declare const isSectionVisible: (section: DocumentSection) => boolean;
|
|
7
|
+
export declare const getSectionChildren: (section: DocumentSection) => DocumentSection[] | undefined;
|
|
8
|
+
export declare const getSectionId: (section: DocumentSection) => string;
|
|
9
|
+
export declare const getSectionTitle: (section: DocumentSection) => string;
|
|
10
|
+
export declare const getSectionIcon: (section: DocumentSection) => import("react/jsx-runtime").JSX.Element | null;
|
package/package.json
CHANGED
|
@@ -1,117 +1,117 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@myunisoft/design-system",
|
|
3
|
-
"version": "1.3.
|
|
4
|
-
"description": "Design System of MyUnisoft",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"source": "src/index.ts",
|
|
7
|
-
"types": "dist/index.d.ts",
|
|
8
|
-
"scripts": {
|
|
9
|
-
"start": "cd website && npm start -- --port=3002",
|
|
10
|
-
"build": "rm -r dist & node esbuild",
|
|
11
|
-
"build-cypress": "rm -r dist & node esbuild-cypress",
|
|
12
|
-
"prepublishOnly": "npm run build",
|
|
13
|
-
"test": "jest --transformIgnorePatterns \"node_modules/(?!@exceljs)/\" ",
|
|
14
|
-
"parcel-build": "node esbuild",
|
|
15
|
-
"cypress": "npm run build-cypress && npx cypress open --component --browser chrome",
|
|
16
|
-
"cy:run": "npx cypress run --component --browser chrome",
|
|
17
|
-
"lint-staged": "biome lint --staged --files-ignore-unknown=true --no-errors-on-unmatched --diagnostic-level=warn && biome lint --staged --files-ignore-unknown=true --no-errors-on-unmatched --diagnostic-level=error",
|
|
18
|
-
"prepare": "husky"
|
|
19
|
-
},
|
|
20
|
-
"repository": {
|
|
21
|
-
"type": "git",
|
|
22
|
-
"url": "git+ssh://git@bitbucket.org/myunibucket/design-system.git"
|
|
23
|
-
},
|
|
24
|
-
"keywords": [],
|
|
25
|
-
"files": [
|
|
26
|
-
"dist"
|
|
27
|
-
],
|
|
28
|
-
"publishConfig": {
|
|
29
|
-
"@myunisoft:registry": "https://registry.npmjs.org/"
|
|
30
|
-
},
|
|
31
|
-
"author": "MyUnisoft",
|
|
32
|
-
"license": "MIT",
|
|
33
|
-
"homepage": "https://myunisoft.github.io/design-system/",
|
|
34
|
-
"dependencies": {
|
|
35
|
-
"@babel/runtime": "7.20.6",
|
|
36
|
-
"@emotion/react": "11.14.0",
|
|
37
|
-
"@emotion/styled": "11.14.1",
|
|
38
|
-
"@mui/material": "7.3.6",
|
|
39
|
-
"@mui/utils": "7.3.6",
|
|
40
|
-
"@mui/x-data-grid-pro": "7.29.9",
|
|
41
|
-
"@testing-library/dom": "10.1.0",
|
|
42
|
-
"autosuggest-highlight": "3.3.4",
|
|
43
|
-
"classnames": "2.3.2",
|
|
44
|
-
"exceljs": "4.4.0",
|
|
45
|
-
"i18next": "22.4.6",
|
|
46
|
-
"jspdf": "3.0.1",
|
|
47
|
-
"jspdf-autotable": "3.5.28",
|
|
48
|
-
"localforage": "1.10.0",
|
|
49
|
-
"lodash": "4.17.21",
|
|
50
|
-
"moment": "2.30.1",
|
|
51
|
-
"numeral": "2.0.6",
|
|
52
|
-
"pretty-bytes": "6.0.0",
|
|
53
|
-
"prop-types": "15.8.1",
|
|
54
|
-
"react": "19.1.1",
|
|
55
|
-
"react-color": "2.19.3",
|
|
56
|
-
"react-dom": "19.1.1",
|
|
57
|
-
"react-draft-wysiwyg": "1.15.0",
|
|
58
|
-
"react-draggable": "4.4.6",
|
|
59
|
-
"react-dropzone": "14.2.3",
|
|
60
|
-
"react-input-autosize": "3.0.0",
|
|
61
|
-
"react-spinners": "0.13.8",
|
|
62
|
-
"react-window": "2.2.3",
|
|
63
|
-
"reselect": "4.1.7",
|
|
64
|
-
"robot3": "0.3.2",
|
|
65
|
-
"sortablejs": "1.15.0",
|
|
66
|
-
"svgo": "3.0.2",
|
|
67
|
-
"tss-react": "4.9.18"
|
|
68
|
-
},
|
|
69
|
-
"resolutions": {
|
|
70
|
-
"cheerio": "<1.0.0",
|
|
71
|
-
"@mui/material": "7.3.6",
|
|
72
|
-
"@babel/core": "7.26.0"
|
|
73
|
-
},
|
|
74
|
-
"devDependencies": {
|
|
75
|
-
"@4tw/cypress-drag-drop": "2.3.0",
|
|
76
|
-
"@babel/core": "7.26.0",
|
|
77
|
-
"@babel/plugin-proposal-class-properties": "7.18.6",
|
|
78
|
-
"@babel/plugin-transform-runtime": "7.28.5",
|
|
79
|
-
"@babel/preset-env": "7.28.5",
|
|
80
|
-
"@babel/preset-react": "7.28.5",
|
|
81
|
-
"@babel/preset-typescript": "7.28.5",
|
|
82
|
-
"@biomejs/biome": "2.3.5",
|
|
83
|
-
"@parcel/transformer-inline-string": "2.8.2",
|
|
84
|
-
"@parcel/transformer-sass": "2.8.2",
|
|
85
|
-
"@parcel/transformer-svg-react": "2.8.2",
|
|
86
|
-
"@testing-library/react": "16.3.0",
|
|
87
|
-
"@types/jest": "30.0.0",
|
|
88
|
-
"@types/mocha": "10.0.10",
|
|
89
|
-
"@types/react": "19.1.0",
|
|
90
|
-
"@types/react-dom": "19.1.0",
|
|
91
|
-
"babel-jest": "29.3.1",
|
|
92
|
-
"babel-loader": "9.1.0",
|
|
93
|
-
"cheerio": "<1.0.0",
|
|
94
|
-
"css-loader": "6.7.3",
|
|
95
|
-
"cypress": "14.5.0",
|
|
96
|
-
"esbuild": "0.21.5",
|
|
97
|
-
"esbuild-sass-plugin": "2.4.4",
|
|
98
|
-
"html-webpack-plugin": "5.5.0",
|
|
99
|
-
"husky": "9.1.7",
|
|
100
|
-
"jest": "29.3.1",
|
|
101
|
-
"jest-canvas-mock": "2.4.0",
|
|
102
|
-
"jest-environment-jsdom": "29.3.1",
|
|
103
|
-
"parcel": "2.8.2",
|
|
104
|
-
"react-test-renderer": "18.3.1",
|
|
105
|
-
"sass": "1.57.1",
|
|
106
|
-
"sass-loader": "13.2.0",
|
|
107
|
-
"style-loader": "3.3.1",
|
|
108
|
-
"svg-inline-loader": "0.8.2",
|
|
109
|
-
"typescript": "5.5.4",
|
|
110
|
-
"webpack": "5.75.0"
|
|
111
|
-
},
|
|
112
|
-
"peerDependencies": {
|
|
113
|
-
"@mui/material": "7.3.6",
|
|
114
|
-
"react": "19.1.1",
|
|
115
|
-
"react-dom": "19.1.1"
|
|
116
|
-
}
|
|
117
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@myunisoft/design-system",
|
|
3
|
+
"version": "1.3.1",
|
|
4
|
+
"description": "Design System of MyUnisoft",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"source": "src/index.ts",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"start": "cd website && npm start -- --port=3002",
|
|
10
|
+
"build": "rm -r dist & node esbuild",
|
|
11
|
+
"build-cypress": "rm -r dist & node esbuild-cypress",
|
|
12
|
+
"prepublishOnly": "npm run build",
|
|
13
|
+
"test": "jest --transformIgnorePatterns \"node_modules/(?!@exceljs)/\" ",
|
|
14
|
+
"parcel-build": "node esbuild",
|
|
15
|
+
"cypress": "npm run build-cypress && npx cypress open --component --browser chrome",
|
|
16
|
+
"cy:run": "npx cypress run --component --browser chrome",
|
|
17
|
+
"lint-staged": "biome lint --staged --files-ignore-unknown=true --no-errors-on-unmatched --diagnostic-level=warn && biome lint --staged --files-ignore-unknown=true --no-errors-on-unmatched --diagnostic-level=error",
|
|
18
|
+
"prepare": "husky"
|
|
19
|
+
},
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "git+ssh://git@bitbucket.org/myunibucket/design-system.git"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [],
|
|
25
|
+
"files": [
|
|
26
|
+
"dist"
|
|
27
|
+
],
|
|
28
|
+
"publishConfig": {
|
|
29
|
+
"@myunisoft:registry": "https://registry.npmjs.org/"
|
|
30
|
+
},
|
|
31
|
+
"author": "MyUnisoft",
|
|
32
|
+
"license": "MIT",
|
|
33
|
+
"homepage": "https://myunisoft.github.io/design-system/",
|
|
34
|
+
"dependencies": {
|
|
35
|
+
"@babel/runtime": "7.20.6",
|
|
36
|
+
"@emotion/react": "11.14.0",
|
|
37
|
+
"@emotion/styled": "11.14.1",
|
|
38
|
+
"@mui/material": "7.3.6",
|
|
39
|
+
"@mui/utils": "7.3.6",
|
|
40
|
+
"@mui/x-data-grid-pro": "7.29.9",
|
|
41
|
+
"@testing-library/dom": "10.1.0",
|
|
42
|
+
"autosuggest-highlight": "3.3.4",
|
|
43
|
+
"classnames": "2.3.2",
|
|
44
|
+
"exceljs": "4.4.0",
|
|
45
|
+
"i18next": "22.4.6",
|
|
46
|
+
"jspdf": "3.0.1",
|
|
47
|
+
"jspdf-autotable": "3.5.28",
|
|
48
|
+
"localforage": "1.10.0",
|
|
49
|
+
"lodash": "4.17.21",
|
|
50
|
+
"moment": "2.30.1",
|
|
51
|
+
"numeral": "2.0.6",
|
|
52
|
+
"pretty-bytes": "6.0.0",
|
|
53
|
+
"prop-types": "15.8.1",
|
|
54
|
+
"react": "19.1.1",
|
|
55
|
+
"react-color": "2.19.3",
|
|
56
|
+
"react-dom": "19.1.1",
|
|
57
|
+
"react-draft-wysiwyg": "1.15.0",
|
|
58
|
+
"react-draggable": "4.4.6",
|
|
59
|
+
"react-dropzone": "14.2.3",
|
|
60
|
+
"react-input-autosize": "3.0.0",
|
|
61
|
+
"react-spinners": "0.13.8",
|
|
62
|
+
"react-window": "2.2.3",
|
|
63
|
+
"reselect": "4.1.7",
|
|
64
|
+
"robot3": "0.3.2",
|
|
65
|
+
"sortablejs": "1.15.0",
|
|
66
|
+
"svgo": "3.0.2",
|
|
67
|
+
"tss-react": "4.9.18"
|
|
68
|
+
},
|
|
69
|
+
"resolutions": {
|
|
70
|
+
"cheerio": "<1.0.0",
|
|
71
|
+
"@mui/material": "7.3.6",
|
|
72
|
+
"@babel/core": "7.26.0"
|
|
73
|
+
},
|
|
74
|
+
"devDependencies": {
|
|
75
|
+
"@4tw/cypress-drag-drop": "2.3.0",
|
|
76
|
+
"@babel/core": "7.26.0",
|
|
77
|
+
"@babel/plugin-proposal-class-properties": "7.18.6",
|
|
78
|
+
"@babel/plugin-transform-runtime": "7.28.5",
|
|
79
|
+
"@babel/preset-env": "7.28.5",
|
|
80
|
+
"@babel/preset-react": "7.28.5",
|
|
81
|
+
"@babel/preset-typescript": "7.28.5",
|
|
82
|
+
"@biomejs/biome": "2.3.5",
|
|
83
|
+
"@parcel/transformer-inline-string": "2.8.2",
|
|
84
|
+
"@parcel/transformer-sass": "2.8.2",
|
|
85
|
+
"@parcel/transformer-svg-react": "2.8.2",
|
|
86
|
+
"@testing-library/react": "16.3.0",
|
|
87
|
+
"@types/jest": "30.0.0",
|
|
88
|
+
"@types/mocha": "10.0.10",
|
|
89
|
+
"@types/react": "19.1.0",
|
|
90
|
+
"@types/react-dom": "19.1.0",
|
|
91
|
+
"babel-jest": "29.3.1",
|
|
92
|
+
"babel-loader": "9.1.0",
|
|
93
|
+
"cheerio": "<1.0.0",
|
|
94
|
+
"css-loader": "6.7.3",
|
|
95
|
+
"cypress": "14.5.0",
|
|
96
|
+
"esbuild": "0.21.5",
|
|
97
|
+
"esbuild-sass-plugin": "2.4.4",
|
|
98
|
+
"html-webpack-plugin": "5.5.0",
|
|
99
|
+
"husky": "9.1.7",
|
|
100
|
+
"jest": "29.3.1",
|
|
101
|
+
"jest-canvas-mock": "2.4.0",
|
|
102
|
+
"jest-environment-jsdom": "29.3.1",
|
|
103
|
+
"parcel": "2.8.2",
|
|
104
|
+
"react-test-renderer": "18.3.1",
|
|
105
|
+
"sass": "1.57.1",
|
|
106
|
+
"sass-loader": "13.2.0",
|
|
107
|
+
"style-loader": "3.3.1",
|
|
108
|
+
"svg-inline-loader": "0.8.2",
|
|
109
|
+
"typescript": "5.5.4",
|
|
110
|
+
"webpack": "5.75.0"
|
|
111
|
+
},
|
|
112
|
+
"peerDependencies": {
|
|
113
|
+
"@mui/material": "7.3.6",
|
|
114
|
+
"react": "19.1.1",
|
|
115
|
+
"react-dom": "19.1.1"
|
|
116
|
+
}
|
|
117
|
+
}
|