maru_design2 2.4.1 → 2.4.3

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.
Files changed (115) hide show
  1. package/.claude/settings.local.json +7 -0
  2. package/.idea/MaruDesign2.iml +13 -0
  3. package/.idea/codeStyles/Project.xml +77 -0
  4. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  5. package/.idea/inspectionProfiles/Project_Default.xml +94 -0
  6. package/.idea/jsLinters/eslint.xml +6 -0
  7. package/.idea/material_theme_project_new.xml +12 -0
  8. package/.idea/modules.xml +8 -0
  9. package/.idea/prettier.xml +8 -0
  10. package/.idea/vcs.xml +6 -0
  11. package/.idea/watcherTasks.xml +4 -0
  12. package/CHANGELOG.md +9 -0
  13. package/dist/components/atoms/button/Button.d.ts +33 -30
  14. package/dist/components/atoms/button/index.d.ts +1 -1
  15. package/dist/components/atoms/checkbox/Checkbox.d.ts +21 -21
  16. package/dist/components/atoms/checkbox/index.d.ts +1 -1
  17. package/dist/components/atoms/chip/Chip.d.ts +29 -25
  18. package/dist/components/atoms/chip/index.d.ts +1 -1
  19. package/dist/components/atoms/code/Code.d.ts +7 -0
  20. package/dist/components/atoms/code/index.d.ts +1 -0
  21. package/dist/components/atoms/icon/Icon.d.ts +16 -17
  22. package/dist/components/atoms/icon/iconmap.d.ts +421 -172
  23. package/dist/components/atoms/icon/index.d.ts +2 -2
  24. package/dist/components/atoms/input/Input.d.ts +43 -31
  25. package/dist/components/atoms/input/index.d.ts +1 -1
  26. package/dist/components/atoms/popover/Popover.d.ts +19 -19
  27. package/dist/components/atoms/popover/index.d.ts +1 -1
  28. package/dist/components/atoms/radio/Radio.d.ts +14 -12
  29. package/dist/components/atoms/radio/index.d.ts +1 -1
  30. package/dist/components/atoms/skeleton/Contents.d.ts +1 -0
  31. package/dist/components/atoms/skeleton/Skeleton.d.ts +6 -0
  32. package/dist/components/atoms/skeleton/index.d.ts +1 -0
  33. package/dist/components/atoms/slider/Slider.d.ts +31 -0
  34. package/dist/components/atoms/slider/index.d.ts +1 -0
  35. package/dist/components/atoms/textarea/Textarea.d.ts +38 -0
  36. package/dist/components/atoms/textarea/index.d.ts +1 -0
  37. package/dist/components/atoms/toggle/Toggle.d.ts +20 -20
  38. package/dist/components/atoms/toggle/index.d.ts +1 -1
  39. package/dist/components/atoms/tooltip/Tooltip.d.ts +29 -22
  40. package/dist/components/atoms/tooltip/index.d.ts +1 -1
  41. package/dist/components/molecules/calendar/Calendar.d.ts +27 -0
  42. package/dist/components/molecules/calendar/DatePickerHeader.d.ts +3 -0
  43. package/dist/components/molecules/calendar/DatePickerWrapper.d.ts +9 -0
  44. package/dist/components/molecules/calendar/index.d.ts +1 -0
  45. package/dist/components/molecules/dropdown/Dropdown.d.ts +90 -77
  46. package/dist/components/molecules/dropdown/index.d.ts +1 -1
  47. package/dist/components/molecules/dropdown/menu/MenuItem.d.ts +16 -0
  48. package/dist/components/molecules/dropdown/menu/index.d.ts +31 -0
  49. package/dist/components/molecules/dropdown/{toggles → toggleButton}/Arrow.d.ts +9 -8
  50. package/dist/components/molecules/dropdown/toggleButton/Clear.d.ts +6 -0
  51. package/dist/components/molecules/dropdown/toggleButton/index.d.ts +19 -0
  52. package/dist/components/molecules/modal/Modal.d.ts +48 -50
  53. package/dist/components/molecules/modal/index.d.ts +1 -1
  54. package/dist/components/molecules/multiSelectDropdown/MultiSelectDropdown.d.ts +76 -0
  55. package/dist/components/molecules/multiSelectDropdown/index.d.ts +1 -0
  56. package/dist/components/molecules/multiSelectDropdown/menu/MenuItem.d.ts +12 -0
  57. package/dist/components/molecules/multiSelectDropdown/menu/index.d.ts +21 -0
  58. package/dist/components/molecules/multiSelectDropdown/toggleButton/Arrow.d.ts +9 -0
  59. package/dist/components/molecules/multiSelectDropdown/toggleButton/Clear.d.ts +6 -0
  60. package/dist/components/molecules/multiSelectDropdown/toggleButton/index.d.ts +17 -0
  61. package/dist/components/molecules/pagination/Pagination.d.ts +22 -26
  62. package/dist/components/molecules/pagination/index.d.ts +1 -1
  63. package/dist/components/molecules/searchInput/SearchInput.d.ts +34 -0
  64. package/dist/components/molecules/searchInput/filter/FilterPopover.d.ts +16 -0
  65. package/dist/components/molecules/searchInput/filter/index.d.ts +17 -0
  66. package/dist/components/molecules/searchInput/index.d.ts +1 -0
  67. package/dist/components/molecules/table/Colgroup.d.ts +9 -9
  68. package/dist/components/molecules/table/Table.d.ts +3 -3
  69. package/dist/components/molecules/table/body/BinButtonTd.d.ts +7 -0
  70. package/dist/components/molecules/table/body/ChartButtonTd.d.ts +8 -0
  71. package/dist/components/molecules/table/body/CheckboxTd.d.ts +6 -7
  72. package/dist/components/molecules/table/body/EmptyTr.d.ts +8 -0
  73. package/dist/components/molecules/table/body/KebabMenuTd.d.ts +7 -7
  74. package/dist/components/molecules/table/body/RadioTd.d.ts +6 -0
  75. package/dist/components/molecules/table/body/Tr.d.ts +7 -0
  76. package/dist/components/molecules/table/body/index.d.ts +7 -0
  77. package/dist/components/molecules/table/header/FilterButtonsTh.d.ts +7 -0
  78. package/dist/components/molecules/table/header/FilterTh.d.ts +8 -0
  79. package/dist/components/molecules/table/header/SortableColumn.d.ts +15 -0
  80. package/dist/components/molecules/table/header/index.d.ts +17 -0
  81. package/dist/components/molecules/table/index.d.ts +1 -1
  82. package/dist/components/molecules/table/types.d.ts +125 -92
  83. package/dist/components/molecules/toast/Details.d.ts +6 -0
  84. package/dist/components/molecules/toast/Toast.d.ts +31 -0
  85. package/dist/components/molecules/toast/ToastContext.d.ts +15 -0
  86. package/dist/components/molecules/toast/ToastStyle.d.ts +18 -0
  87. package/dist/components/molecules/toast/index.d.ts +1 -0
  88. package/dist/components/molecules/toast/types.d.ts +4 -0
  89. package/dist/components/styleProvider/StyleProvider.d.ts +10 -10
  90. package/dist/components/styleProvider/index.d.ts +1 -1
  91. package/dist/enums/color.d.ts +14 -12
  92. package/dist/enums/direction.d.ts +2 -2
  93. package/dist/enums/gap.d.ts +4 -2
  94. package/dist/enums/size.d.ts +8 -10
  95. package/dist/enums/type.d.ts +4 -4
  96. package/dist/enums/variant.d.ts +8 -6
  97. package/dist/hooks/useButtonState.d.ts +16 -16
  98. package/dist/hooks/useColor.d.ts +4 -4
  99. package/dist/hooks/useCombineRef.d.ts +11 -11
  100. package/dist/hooks/useCreatePortal.d.ts +7 -7
  101. package/dist/hooks/useId.d.ts +7 -7
  102. package/dist/index.d.ts +22 -14
  103. package/dist/index.js +89490 -4280
  104. package/dist/utils/copy.d.ts +6 -0
  105. package/dist/utils/format.d.ts +2 -2
  106. package/dist/utils/highlight.d.ts +1 -3
  107. package/package.json +74 -70
  108. package/dist/components/molecules/dropdown/Menu.d.ts +0 -19
  109. package/dist/components/molecules/dropdown/toggles/Button.d.ts +0 -24
  110. package/dist/components/molecules/dropdown/toggles/Clear.d.ts +0 -8
  111. package/dist/components/molecules/dropdown/toggles/Input.d.ts +0 -24
  112. package/dist/components/molecules/table/body/ExpandingRow.d.ts +0 -9
  113. package/dist/components/molecules/table/body/TBody.d.ts +0 -28
  114. package/dist/components/molecules/table/body/TBodyEmptyContent.d.ts +0 -14
  115. package/dist/components/molecules/table/header/THead.d.ts +0 -12
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 복사해주는 함수 성공하면 'complete'를, 실패하면 'undefined'를 리턴
3
+ * @param text
4
+ * @returns
5
+ */
6
+ export declare const textCopy: (text: string) => Promise<'complete' | undefined>;
@@ -1,2 +1,2 @@
1
- declare const noSpace: (text: string) => string;
2
- export { noSpace };
1
+ declare const noSpace: (text: string) => string;
2
+ export { noSpace };
@@ -1,3 +1 @@
1
- declare const setHighlightTextOnData: <T>(cb: (func: unknown) => void, data: T[], targetKey: string, compareText: string) => void;
2
- declare const setHighlightTextOnDataExceptSpace: <T>(data: T[], targetKey: string, compareText: string, autoExcept?: boolean) => typeof data;
3
- export { setHighlightTextOnData, setHighlightTextOnDataExceptSpace };
1
+ export declare const searchData: <T>(data: T[], displayKey: string, query: string) => typeof data;
package/package.json CHANGED
@@ -1,70 +1,74 @@
1
- {
2
- "name": "maru_design2",
3
- "version": "2.4.1",
4
- "main": "./dist/index.js",
5
- "author": "zena-42maru",
6
- "license": "MIT",
7
- "peerDependencies": {
8
- "react": "^17.0.2",
9
- "react-dom": "^17.0.2"
10
- },
11
- "devDependencies": {
12
- "@babel/core": "^7.18.10",
13
- "@babel/preset-env": "^7.24.4",
14
- "@babel/preset-react": "^7.24.1",
15
- "@babel/preset-typescript": "^7.24.1",
16
- "@chromatic-com/storybook": "^1",
17
- "@popperjs/core": "^2.11.6",
18
- "@rollup/plugin-babel": "^5.3.1",
19
- "@rollup/plugin-commonjs": "^22.0.2",
20
- "@rollup/plugin-image": "^2.1.1",
21
- "@rollup/plugin-node-resolve": "^13.3.0",
22
- "@rollup/plugin-typescript": "^8.3.4",
23
- "@storybook/addon-actions": "^8.0.9",
24
- "@storybook/addon-essentials": "^8.0.9",
25
- "@storybook/addon-interactions": "^8.0.9",
26
- "@storybook/addon-links": "^8.0.9",
27
- "@storybook/addon-webpack5-compiler-swc": "^1.0.2",
28
- "@storybook/preset-scss": "^1.0.3",
29
- "@storybook/react": "^8.0.9",
30
- "@storybook/react-webpack5": "^8.0.9",
31
- "@storybook/test": "^8.0.9",
32
- "@types/react": "^17.0.11",
33
- "@types/react-dom": "^17.0.8",
34
- "@typescript-eslint/eslint-plugin": "^5.31.0",
35
- "@typescript-eslint/parser": "^5.31.0",
36
- "chromatic": "^11.3.0",
37
- "classnames": "^2.5.1",
38
- "css-loader": "^6.7.1",
39
- "eslint": "^8.20.0",
40
- "eslint-config-airbnb": "^19.0.4",
41
- "eslint-config-prettier": "^8.5.0",
42
- "eslint-plugin-import": "^2.26.0",
43
- "eslint-plugin-jsx-a11y": "^6.6.1",
44
- "eslint-plugin-prettier": "^4.2.1",
45
- "eslint-plugin-react": "^7.30.1",
46
- "eslint-plugin-simple-import-sort": "^7.0.0",
47
- "postcss": "^8.4.16",
48
- "postcss-url": "^10.1.3",
49
- "prettier": "^3.2.5",
50
- "rollup": "^2.77.3",
51
- "rollup-plugin-peer-deps-external": "^2.2.4",
52
- "rollup-plugin-postcss": "^4.0.2",
53
- "sass": "^1.54.4",
54
- "sass-loader": "^13.0.2",
55
- "storybook": "^8.0.9",
56
- "style-loader": "^3.3.1",
57
- "typescript": "^4.7.4"
58
- },
59
- "dependencies": {
60
- "react": "^17.0.2",
61
- "react-dom": "^17.0.2"
62
- },
63
- "scripts": {
64
- "storybook": "storybook dev -p 6006",
65
- "build-storybook": "storybook build",
66
- "build": "rollup -c",
67
- "release": "rm -rf dist && yarn build && mv README.md temp.md && yarn publish && mv temp.md README.md",
68
- "svg": "node ./scripts/svg-parser.js"
69
- }
70
- }
1
+ {
2
+ "name": "maru_design2",
3
+ "version": "2.4.3",
4
+ "main": "./dist/index.js",
5
+ "author": "zena-42maru",
6
+ "license": "MIT",
7
+ "peerDependencies": {
8
+ "react": "^18.3.1",
9
+ "react-dom": "^18.3.1"
10
+ },
11
+ "devDependencies": {
12
+ "@babel/core": "^7.18.10",
13
+ "@babel/preset-env": "^7.24.4",
14
+ "@babel/preset-react": "^7.24.1",
15
+ "@babel/preset-typescript": "^7.24.1",
16
+ "@chromatic-com/storybook": "^1",
17
+ "@popperjs/core": "^2.11.6",
18
+ "@rollup/plugin-babel": "^5.3.1",
19
+ "@rollup/plugin-commonjs": "^22.0.2",
20
+ "@rollup/plugin-image": "^2.1.1",
21
+ "@rollup/plugin-node-resolve": "^13.3.0",
22
+ "@rollup/plugin-typescript": "^8.3.4",
23
+ "@storybook/addon-actions": "^8.0.9",
24
+ "@storybook/addon-essentials": "^8.0.9",
25
+ "@storybook/addon-interactions": "^8.0.9",
26
+ "@storybook/addon-links": "^8.0.9",
27
+ "@storybook/addon-webpack5-compiler-swc": "^1.0.2",
28
+ "@storybook/preset-scss": "^1.0.3",
29
+ "@storybook/react": "^8.0.9",
30
+ "@storybook/react-webpack5": "^8.0.9",
31
+ "@storybook/test": "^8.0.9",
32
+ "@types/react": "^17.0.11",
33
+ "@types/react-datepicker": "^6.2.0",
34
+ "@types/react-dom": "^17.0.8",
35
+ "@typescript-eslint/eslint-plugin": "^5.31.0",
36
+ "@typescript-eslint/parser": "^5.31.0",
37
+ "chromatic": "^11.3.0",
38
+ "classnames": "^2.5.1",
39
+ "css-loader": "^6.7.1",
40
+ "date-fns": "^3.6.0",
41
+ "eslint": "^8.20.0",
42
+ "eslint-config-airbnb": "^19.0.4",
43
+ "eslint-config-prettier": "^8.5.0",
44
+ "eslint-plugin-import": "^2.26.0",
45
+ "eslint-plugin-jsx-a11y": "^6.6.1",
46
+ "eslint-plugin-prettier": "^4.2.1",
47
+ "eslint-plugin-react": "^7.30.1",
48
+ "eslint-plugin-simple-import-sort": "^7.0.0",
49
+ "highlight.js": "^11.11.1",
50
+ "postcss": "^8.4.16",
51
+ "postcss-url": "^10.1.3",
52
+ "prettier": "^3.2.5",
53
+ "rollup": "^2.77.3",
54
+ "rollup-plugin-peer-deps-external": "^2.2.4",
55
+ "rollup-plugin-postcss": "^4.0.2",
56
+ "sass": "^1.54.4",
57
+ "sass-loader": "^13.0.2",
58
+ "storybook": "^8.0.9",
59
+ "style-loader": "^3.3.1",
60
+ "typescript": "^4.7.4"
61
+ },
62
+ "dependencies": {
63
+ "react": "^17.0.2",
64
+ "react-datepicker": "^6.9.0",
65
+ "react-dom": "^17.0.2"
66
+ },
67
+ "scripts": {
68
+ "storybook": "storybook dev -p 6006",
69
+ "build-storybook": "storybook build",
70
+ "build": "rollup -c",
71
+ "release": "rm -rf dist && yarn build && mv README.md temp.md && yarn publish && mv temp.md README.md",
72
+ "svg": "node ./scripts/svg-parser.mjs"
73
+ }
74
+ }
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
- interface Props<T extends Record<string, any>> {
3
- parent: HTMLElement;
4
- menuItemEls: HTMLButtonElement[];
5
- selectedId: string | undefined;
6
- idKey: string;
7
- displayKey: string;
8
- filteredData: T[];
9
- width?: number;
10
- height?: number;
11
- customMenuItem?: ({ children, rowId, }: {
12
- children: React.ReactNode;
13
- rowId: string | number;
14
- }) => JSX.Element;
15
- onSelect: (id?: string) => void;
16
- closeMenu: () => void;
17
- }
18
- declare function DropdownMenu<T extends Record<string, any>>({ parent, menuItemEls, selectedId, idKey, displayKey, filteredData, width, height, customMenuItem: CustomMenuItem, onSelect, closeMenu, }: Props<T>): import("react/jsx-runtime").JSX.Element;
19
- export default DropdownMenu;
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import { TColor } from '../../../../enums/color';
3
- interface Props<T extends Record<string, any>> {
4
- open: boolean;
5
- selected: T | undefined;
6
- displayKey: string;
7
- color: TColor;
8
- width?: number;
9
- disabled?: boolean;
10
- placeholder?: string;
11
- errored?: boolean;
12
- inlineLabel?: string;
13
- startArrow?: boolean;
14
- toggleEndNode?: React.ReactNode;
15
- customButton?: React.ReactNode;
16
- initFilteredData: () => void;
17
- toggleMenuOpen: () => void;
18
- initInputValue: () => void;
19
- clearSelected: () => void;
20
- onClear?: () => void;
21
- onKeyDown: (e: React.KeyboardEvent) => void;
22
- }
23
- declare function DropdownToggleButton<T extends Record<string, any>>({ open, selected, displayKey, color, width, disabled, placeholder, errored, inlineLabel, startArrow, toggleEndNode, customButton, initFilteredData, toggleMenuOpen, initInputValue, clearSelected, onClear, onKeyDown, }: Props<T>): import("react/jsx-runtime").JSX.Element;
24
- export default DropdownToggleButton;
@@ -1,8 +0,0 @@
1
- interface Props {
2
- clearSelected: () => void;
3
- initInputValue: () => void;
4
- onClear: () => void;
5
- initFilteredData: () => void;
6
- }
7
- declare function Clear({ clearSelected, initInputValue, onClear, initFilteredData, }: Props): import("react/jsx-runtime").JSX.Element;
8
- export default Clear;
@@ -1,24 +0,0 @@
1
- import React from 'react';
2
- import { TColor } from '../../../../enums/color';
3
- interface Props<T extends Record<string, any>> {
4
- open: boolean;
5
- value: string;
6
- selected: T | undefined;
7
- color: TColor;
8
- width?: number;
9
- disabled?: boolean;
10
- placeholder?: string;
11
- errored?: boolean;
12
- inlineLabel?: string;
13
- startArrow?: boolean;
14
- toggleEndNode?: React.ReactNode;
15
- onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
16
- initFilteredData: () => void;
17
- toggleMenuOpen: () => void;
18
- initInputValue: () => void;
19
- clearSelected: () => void;
20
- onClear?: () => void;
21
- onKeyDown: (e: React.KeyboardEvent) => void;
22
- }
23
- declare function DropdownToggleInput<T extends Record<string, any>>({ open, value, selected, color, width, disabled, placeholder, errored, inlineLabel, startArrow, toggleEndNode, onChange, initFilteredData, toggleMenuOpen, initInputValue, clearSelected, onClear, onKeyDown, }: Props<T>): import("react/jsx-runtime").JSX.Element;
24
- export default DropdownToggleInput;
@@ -1,9 +0,0 @@
1
- import { IExpandingColumnFormats } from '../types';
2
- interface Props {
3
- rowId: string;
4
- expandingData: any;
5
- expandingRowIdKey?: string;
6
- expandingFormat?: IExpandingColumnFormats[];
7
- }
8
- declare function ExpandingRow({ rowId, expandingData, expandingRowIdKey, expandingFormat, }: Props): import("react/jsx-runtime").JSX.Element | null;
9
- export default ExpandingRow;
@@ -1,28 +0,0 @@
1
- import React from 'react';
2
- import { IColumnFormats } from '../types';
3
- interface Props {
4
- rowIdKey: string;
5
- data: Record<string, any>[];
6
- formats: IColumnFormats[];
7
- checkedIds?: string[];
8
- onCheck?: (ids: string[]) => void;
9
- hasKebabMenu: boolean;
10
- kebabContent?: (rowId: string, onClose: () => void) => React.ReactNode;
11
- noData?: {
12
- isNoData: boolean;
13
- message: string;
14
- };
15
- loading?: {
16
- isLoading: boolean;
17
- content?: React.ReactNode;
18
- };
19
- onRowClick?: (rowId: string) => void;
20
- selectedRow?: {
21
- rowId: string;
22
- className?: string;
23
- };
24
- onRowMouseOver?: (rowId: string) => void;
25
- onRowMouseLeave?: (rowId: string) => void;
26
- }
27
- declare function TBody({ rowIdKey, formats, data, checkedIds, onCheck, hasKebabMenu, kebabContent, onRowClick, selectedRow, onRowMouseOver, onRowMouseLeave, noData, loading, }: Props): import("react/jsx-runtime").JSX.Element;
28
- export default TBody;
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- interface Props {
3
- status: string;
4
- noData?: {
5
- isNoData: boolean;
6
- message: string;
7
- };
8
- loading?: {
9
- isLoading: boolean;
10
- content?: React.ReactNode;
11
- };
12
- }
13
- declare function TBodyEmptyContent({ status, noData, loading }: Props): import("react/jsx-runtime").JSX.Element;
14
- export default TBodyEmptyContent;
@@ -1,12 +0,0 @@
1
- import { IColumnFormats, ISort } from '../types';
2
- interface Props {
3
- formats: IColumnFormats[];
4
- currentSort?: ISort;
5
- onSortClick: (columnName: string, sortable: boolean) => () => void;
6
- hasCheckbox?: boolean;
7
- allCheckbox: boolean;
8
- onAllCheck: (checked: boolean) => void;
9
- hasKebabMenu: boolean;
10
- }
11
- declare function THead({ formats, currentSort, onSortClick, hasCheckbox, allCheckbox, onAllCheck, hasKebabMenu, }: Props): import("react/jsx-runtime").JSX.Element;
12
- export default THead;