maru_design2 2.16.1 → 2.16.4
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/CHANGELOG.md +9 -0
- package/dist/components/atoms/icon/iconmap.d.ts +3 -1
- package/dist/components/molecules/table/header/SortableColumn.d.ts +10 -3
- package/dist/components/molecules/table/header/THead.d.ts +3 -3
- package/dist/index.js +149 -103
- package/dist/utils/highlight.d.ts +1 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.16.2](https://github.com/42maru-ai/maru-design2/compare/v2.16.1...v2.16.2) (2024-09-27)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* :bento: Icon - UPDATE,ADD sort icons ([c9b14c0](https://github.com/42maru-ai/maru-design2/commit/c9b14c094b4425f9e74d373bf67eb3212a7dbfce))
|
|
9
|
+
* :bug: Dropdown - UPDATE input type condition ([6dbf931](https://github.com/42maru-ai/maru-design2/commit/6dbf931fc35a1b5d8d1052ae15a7e196e0a18b11))
|
|
10
|
+
* :children_crossing: Table - UPDATE sort icon ([7be523c](https://github.com/42maru-ai/maru-design2/commit/7be523c625aa69560dd8ea0d0093b6f6a6cbdbb8))
|
|
11
|
+
|
|
3
12
|
## [2.16.1](https://github.com/42maru-ai/maru-design2/compare/v2.16.0...v2.16.1) (2024-09-23)
|
|
4
13
|
|
|
5
14
|
|
|
@@ -197,7 +197,9 @@ export declare const ICONS: {
|
|
|
197
197
|
readonly Settings02_s2420: "Settings02_s2420";
|
|
198
198
|
readonly Share03_s1215: "Share03_s1215";
|
|
199
199
|
readonly Share03_s1613: "Share03_s1613";
|
|
200
|
-
readonly
|
|
200
|
+
readonly SortDown_s0815: "SortDown_s0815";
|
|
201
|
+
readonly SortOutline_s1415: "SortOutline_s1415";
|
|
202
|
+
readonly SortUp_s0815: "SortUp_s0815";
|
|
201
203
|
readonly State_s16: "State_s16";
|
|
202
204
|
readonly State_s18: "State_s18";
|
|
203
205
|
readonly StopCircle_s1413: "StopCircle_s1413";
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { IColumnFormats, ISort } from '../types';
|
|
2
2
|
interface Props {
|
|
3
3
|
format: IColumnFormats;
|
|
4
|
-
|
|
5
|
-
onSortClick: (columnName: string
|
|
4
|
+
sort?: ISort;
|
|
5
|
+
onSortClick: (columnName: string) => () => void;
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* 정렬 아닌거 마우스오버하면 쌍방 화살표
|
|
9
|
+
* 내림차순 정렬이면 아래 화살표
|
|
10
|
+
* 오름차순 정렬이면 위 화살표
|
|
11
|
+
* 색깔은 언제나 b500 #5c5c5c
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
declare function SortableColumn({ format, sort, onSortClick }: Props): import("react/jsx-runtime").JSX.Element;
|
|
8
15
|
export default SortableColumn;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { IColumnFormats, ISort } from '../types';
|
|
2
2
|
interface Props {
|
|
3
3
|
formats: IColumnFormats[];
|
|
4
|
-
|
|
5
|
-
onSortClick: (columnName: string
|
|
4
|
+
sort?: ISort;
|
|
5
|
+
onSortClick: (columnName: string) => () => void;
|
|
6
6
|
hasCheckbox?: boolean;
|
|
7
7
|
allCheckbox: boolean;
|
|
8
8
|
onAllCheck: (checked: boolean) => void;
|
|
@@ -12,5 +12,5 @@ interface Props {
|
|
|
12
12
|
onReset: () => void;
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
|
-
declare function THead({ formats,
|
|
15
|
+
declare function THead({ formats, sort, onSortClick, hasCheckbox, allCheckbox, onAllCheck, hasActionCol, filter, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
16
16
|
export default THead;
|
package/dist/index.js
CHANGED
|
@@ -87,7 +87,7 @@ function styleInject(css, ref) {
|
|
|
87
87
|
var css_248z$i = "* {\n /* HTML5 display-role reset for older browsers */\n}\n* html,\n* body,\n* div,\n* span,\n* applet,\n* object,\n* iframe,\n* h1,\n* h2,\n* h3,\n* h4,\n* h5,\n* h6,\n* p,\n* blockquote,\n* pre,\n* a,\n* abbr,\n* acronym,\n* address,\n* big,\n* cite,\n* code,\n* del,\n* dfn,\n* em,\n* img,\n* ins,\n* kbd,\n* q,\n* s,\n* samp,\n* small,\n* strike,\n* strong,\n* sub,\n* sup,\n* tt,\n* var,\n* b,\n* u,\n* i,\n* center,\n* dl,\n* dt,\n* dd,\n* ol,\n* ul,\n* li,\n* fieldset,\n* form,\n* label,\n* legend,\n* table,\n* caption,\n* tbody,\n* tfoot,\n* thead,\n* tr,\n* th,\n* td,\n* article,\n* aside,\n* canvas,\n* details,\n* embed,\n* figure,\n* figcaption,\n* footer,\n* header,\n* hgroup,\n* menu,\n* nav,\n* output,\n* ruby,\n* section,\n* summary,\n* time,\n* mark,\n* audio,\n* video {\n padding: 0;\n border: 0;\n margin: 0;\n font: inherit;\n font-size: 100%;\n vertical-align: baseline;\n}\n* article,\n* aside,\n* details,\n* figcaption,\n* figure,\n* footer,\n* header,\n* hgroup,\n* menu,\n* nav,\n* section {\n display: block;\n}\n* ol,\n* ul {\n list-style: none;\n}\n* blockquote,\n* q {\n quotes: none;\n}\n* blockquote::before,\n* blockquote::after,\n* q::before,\n* q::after {\n content: \"\";\n content: none;\n}\n* table {\n border-collapse: collapse;\n border-spacing: 0;\n}\n* html {\n box-sizing: border-box;\n}\n* *,\n* *::before,\n* *::after {\n box-sizing: inherit;\n}";
|
|
88
88
|
styleInject(css_248z$i);
|
|
89
89
|
|
|
90
|
-
var css_248z$h = ".scrollbar, * {\n scrollbar-track-color: #e4e4e4;\n scrollbar-arrow-color: #e4e4e4;\n scrollbar-3dlight-color: #e4e4e4;\n scrollbar-highlight-color: #e4e4e4;\n scrollbar-shadow-color: #e4e4e4;\n scrollbar-face-color: #e4e4e4;\n}\n\n.scrollbar::-webkit-scrollbar, ::-webkit-scrollbar {\n background: inherit;\n width: 6px;\n height: 6px;\n}\n\n.scrollbar::-webkit-scrollbar-track, ::-webkit-scrollbar-track {\n background: none;\n}\n\n.scrollbar::-webkit-scrollbar-thumb, ::-webkit-scrollbar-thumb {\n background-color: #e4e4e4;\n border-radius: 16px;\n}\n\n.scrollbar::-webkit-scrollbar-button, ::-webkit-scrollbar-button {\n display: none;\n}\n\n@font-face {\n font-family: \"Pretendard\";\n src: url(\"../../assets/fonts/PretendardVariable.woff2\") format(\"woff2-variations\");\n}\n:root {\n --primary: var(--p);\n --primary-50-per: var(--p-50-per);\n --primary-50: var(--p-50);\n --primary-20-per: var(--p-20-per);\n --primary-20: var(--p-20);\n --primary-10-per: var(--p-10-per);\n --primary-10: var(--p-10);\n}\n\n[data-theme=blue] {\n --p: #308acc;\n --p-50-per: #308acc80;\n --p-50: #97c4e5;\n --p-20-per: #308acc33;\n --p-20: #d6e8f5;\n --p-10-per: #308acc1a;\n --p-10: #eaf3fa;\n --p-05-per: #308acc0d;\n --p-05: #f5fafd;\n}\n\n[data-theme=green] {\n --p: #096412;\n --p-50-per: #09641280;\n --p-50: #84b188;\n --p-20-per: #09641233;\n --p-20: #cee0d0;\n --p-10-per: #0964121a;\n --p-10: #e6f0e7;\n --p-05-per: #0964120d;\n --p-05: #f3f7f3;\n}";
|
|
90
|
+
var css_248z$h = ".scrollbar, * {\n scrollbar-track-color: #e4e4e4;\n scrollbar-arrow-color: #e4e4e4;\n scrollbar-3dlight-color: #e4e4e4;\n scrollbar-highlight-color: #e4e4e4;\n scrollbar-shadow-color: #e4e4e4;\n scrollbar-face-color: #e4e4e4;\n}\n\n.scrollbar::-webkit-scrollbar, ::-webkit-scrollbar {\n background: inherit;\n width: 6px;\n height: 6px;\n}\n\n.scrollbar::-webkit-scrollbar-track, ::-webkit-scrollbar-track {\n background: none;\n}\n\n.scrollbar::-webkit-scrollbar-thumb, ::-webkit-scrollbar-thumb {\n background-color: #e4e4e4;\n border-radius: 16px;\n}\n\n.scrollbar::-webkit-scrollbar-button, ::-webkit-scrollbar-button {\n display: none;\n}\n\n@font-face {\n font-family: \"Pretendard\";\n src: url(\"../../assets/fonts/PretendardVariable.woff2\") format(\"woff2-variations\");\n}\n* {\n -webkit-font-smoothing: antialiased;\n}\n\n:root {\n --primary: var(--p);\n --primary-50-per: var(--p-50-per);\n --primary-50: var(--p-50);\n --primary-20-per: var(--p-20-per);\n --primary-20: var(--p-20);\n --primary-10-per: var(--p-10-per);\n --primary-10: var(--p-10);\n}\n\n[data-theme=blue] {\n --p: #308acc;\n --p-50-per: #308acc80;\n --p-50: #97c4e5;\n --p-20-per: #308acc33;\n --p-20: #d6e8f5;\n --p-10-per: #308acc1a;\n --p-10: #eaf3fa;\n --p-05-per: #308acc0d;\n --p-05: #f5fafd;\n}\n\n[data-theme=green] {\n --p: #096412;\n --p-50-per: #09641280;\n --p-50: #84b188;\n --p-20-per: #09641233;\n --p-20: #cee0d0;\n --p-10-per: #0964121a;\n --p-10: #e6f0e7;\n --p-05-per: #0964120d;\n --p-05: #f3f7f3;\n}";
|
|
91
91
|
styleInject(css_248z$h);
|
|
92
92
|
|
|
93
93
|
function StyleProvider(_a) {
|
|
@@ -3031,26 +3031,89 @@ var iconmap = {
|
|
|
3031
3031
|
"circles": [],
|
|
3032
3032
|
"rects": []
|
|
3033
3033
|
},
|
|
3034
|
-
"
|
|
3035
|
-
"width": "
|
|
3036
|
-
"height": "
|
|
3037
|
-
"viewBox": "0 0
|
|
3034
|
+
"SortDown_s0815": {
|
|
3035
|
+
"width": "8",
|
|
3036
|
+
"height": "12",
|
|
3037
|
+
"viewBox": "0 0 8 12",
|
|
3038
3038
|
"fill": "none",
|
|
3039
3039
|
"paths": [{
|
|
3040
|
-
"d": "
|
|
3041
|
-
"
|
|
3042
|
-
"
|
|
3043
|
-
"
|
|
3040
|
+
"d": "M3.85693 1V11",
|
|
3041
|
+
"stroke": "#8C8C8C",
|
|
3042
|
+
"strokeWidth": "1.5",
|
|
3043
|
+
"strokeLinecap": "round",
|
|
3044
|
+
"strokeLinejoin": "round"
|
|
3044
3045
|
}, {
|
|
3045
|
-
"d": "
|
|
3046
|
-
"
|
|
3047
|
-
"
|
|
3048
|
-
"
|
|
3046
|
+
"d": "M6.71408 8.14258L3.85693 10.9997",
|
|
3047
|
+
"stroke": "#8C8C8C",
|
|
3048
|
+
"strokeWidth": "1.5",
|
|
3049
|
+
"strokeLinecap": "round",
|
|
3050
|
+
"strokeLinejoin": "round"
|
|
3049
3051
|
}, {
|
|
3050
|
-
"d": "
|
|
3051
|
-
"
|
|
3052
|
-
"
|
|
3053
|
-
"
|
|
3052
|
+
"d": "M1 8.14258L3.85714 10.9997",
|
|
3053
|
+
"stroke": "#8C8C8C",
|
|
3054
|
+
"strokeWidth": "1.5",
|
|
3055
|
+
"strokeLinecap": "round",
|
|
3056
|
+
"strokeLinejoin": "round"
|
|
3057
|
+
}],
|
|
3058
|
+
"circles": [],
|
|
3059
|
+
"rects": []
|
|
3060
|
+
},
|
|
3061
|
+
"SortOutline_s1415": {
|
|
3062
|
+
"width": "14",
|
|
3063
|
+
"height": "12",
|
|
3064
|
+
"viewBox": "0 0 14 12",
|
|
3065
|
+
"fill": "none",
|
|
3066
|
+
"paths": [{
|
|
3067
|
+
"d": "M3.61914 1V11",
|
|
3068
|
+
"stroke": "#8C8C8C",
|
|
3069
|
+
"strokeWidth": "1.5",
|
|
3070
|
+
"strokeLinecap": "round",
|
|
3071
|
+
"strokeLinejoin": "round"
|
|
3072
|
+
}, {
|
|
3073
|
+
"d": "M6.23809 3.61905L3.61905 1L1 3.61905",
|
|
3074
|
+
"stroke": "#8C8C8C",
|
|
3075
|
+
"strokeWidth": "1.5",
|
|
3076
|
+
"strokeLinecap": "round",
|
|
3077
|
+
"strokeLinejoin": "round"
|
|
3078
|
+
}, {
|
|
3079
|
+
"d": "M12.7937 8.38086L10.1747 10.9999L7.71436 8.38086",
|
|
3080
|
+
"stroke": "#8C8C8C",
|
|
3081
|
+
"strokeWidth": "1.5",
|
|
3082
|
+
"strokeLinecap": "round",
|
|
3083
|
+
"strokeLinejoin": "round"
|
|
3084
|
+
}, {
|
|
3085
|
+
"d": "M10.1748 11V1",
|
|
3086
|
+
"stroke": "#8C8C8C",
|
|
3087
|
+
"strokeWidth": "1.5",
|
|
3088
|
+
"strokeLinecap": "round",
|
|
3089
|
+
"strokeLinejoin": "round"
|
|
3090
|
+
}],
|
|
3091
|
+
"circles": [],
|
|
3092
|
+
"rects": []
|
|
3093
|
+
},
|
|
3094
|
+
"SortUp_s0815": {
|
|
3095
|
+
"width": "8",
|
|
3096
|
+
"height": "12",
|
|
3097
|
+
"viewBox": "0 0 8 12",
|
|
3098
|
+
"fill": "none",
|
|
3099
|
+
"paths": [{
|
|
3100
|
+
"d": "M3.85693 1V11",
|
|
3101
|
+
"stroke": "#8C8C8C",
|
|
3102
|
+
"strokeWidth": "1.5",
|
|
3103
|
+
"strokeLinecap": "round",
|
|
3104
|
+
"strokeLinejoin": "round"
|
|
3105
|
+
}, {
|
|
3106
|
+
"d": "M6.71408 3.85714L3.85693 1",
|
|
3107
|
+
"stroke": "#8C8C8C",
|
|
3108
|
+
"strokeWidth": "1.5",
|
|
3109
|
+
"strokeLinecap": "round",
|
|
3110
|
+
"strokeLinejoin": "round"
|
|
3111
|
+
}, {
|
|
3112
|
+
"d": "M1 3.85714L3.85714 1",
|
|
3113
|
+
"stroke": "#8C8C8C",
|
|
3114
|
+
"strokeWidth": "1.5",
|
|
3115
|
+
"strokeLinecap": "round",
|
|
3116
|
+
"strokeLinejoin": "round"
|
|
3054
3117
|
}],
|
|
3055
3118
|
"circles": [],
|
|
3056
3119
|
"rects": []
|
|
@@ -3794,7 +3857,9 @@ var ICONS = {
|
|
|
3794
3857
|
"Settings02_s2420": "Settings02_s2420",
|
|
3795
3858
|
"Share03_s1215": "Share03_s1215",
|
|
3796
3859
|
"Share03_s1613": "Share03_s1613",
|
|
3797
|
-
"
|
|
3860
|
+
"SortDown_s0815": "SortDown_s0815",
|
|
3861
|
+
"SortOutline_s1415": "SortOutline_s1415",
|
|
3862
|
+
"SortUp_s0815": "SortUp_s0815",
|
|
3798
3863
|
"State_s16": "State_s16",
|
|
3799
3864
|
"State_s18": "State_s18",
|
|
3800
3865
|
"StopCircle_s1413": "StopCircle_s1413",
|
|
@@ -4167,8 +4232,8 @@ var Input = /*#__PURE__*/forwardRef(function (_a, inputRef) {
|
|
|
4167
4232
|
className = _a.className,
|
|
4168
4233
|
props = __rest(_a, ["invalid", "label", "type", "onClear", "hiddenClearButton", "wrapperRef", "startNode", "endNode", "className"]);
|
|
4169
4234
|
var _c = useState(true),
|
|
4170
|
-
|
|
4171
|
-
|
|
4235
|
+
maskingPassword = _c[0],
|
|
4236
|
+
setMaskingPassword = _c[1]; // *로 보이고 싶으면 true
|
|
4172
4237
|
var _d = useState(false),
|
|
4173
4238
|
showClearButton = _d[0],
|
|
4174
4239
|
setShowClearButton = _d[1];
|
|
@@ -4176,7 +4241,7 @@ var Input = /*#__PURE__*/forwardRef(function (_a, inputRef) {
|
|
|
4176
4241
|
var hashId = uuidv4(4);
|
|
4177
4242
|
useEffect(function () {
|
|
4178
4243
|
return function () {
|
|
4179
|
-
|
|
4244
|
+
setMaskingPassword(true);
|
|
4180
4245
|
setShowClearButton(false);
|
|
4181
4246
|
};
|
|
4182
4247
|
}, []);
|
|
@@ -4253,7 +4318,7 @@ var Input = /*#__PURE__*/forwardRef(function (_a, inputRef) {
|
|
|
4253
4318
|
})), jsx("input", __assign({}, props, {
|
|
4254
4319
|
id: "maru-input-".concat(hashId),
|
|
4255
4320
|
ref: combineRef,
|
|
4256
|
-
type: type === 'password' &&
|
|
4321
|
+
type: type === 'password' && maskingPassword ? 'password' : 'text',
|
|
4257
4322
|
onChange: handleInputChange,
|
|
4258
4323
|
onBlur: handleInputBlur
|
|
4259
4324
|
})), jsxs("div", __assign({
|
|
@@ -4262,14 +4327,17 @@ var Input = /*#__PURE__*/forwardRef(function (_a, inputRef) {
|
|
|
4262
4327
|
children: [type === 'password' && !props.disabled && jsx("button", __assign({
|
|
4263
4328
|
type: "button",
|
|
4264
4329
|
onClick: function onClick() {
|
|
4265
|
-
return
|
|
4330
|
+
return setMaskingPassword(function (prev) {
|
|
4266
4331
|
return !prev;
|
|
4267
4332
|
});
|
|
4268
4333
|
},
|
|
4269
4334
|
tabIndex: -1
|
|
4270
4335
|
}, {
|
|
4271
|
-
children: jsx(Icon
|
|
4272
|
-
|
|
4336
|
+
children: jsx(Icon
|
|
4337
|
+
// 현재 상태에 대한 아이콘이 아니라 어떻게 하고싶냐는 뜻의 아이콘이니까 반대로 되어있는게 맞다
|
|
4338
|
+
, {
|
|
4339
|
+
// 현재 상태에 대한 아이콘이 아니라 어떻게 하고싶냐는 뜻의 아이콘이니까 반대로 되어있는게 맞다
|
|
4340
|
+
name: maskingPassword ? ICONS.Eye_s16 : ICONS.EyeOff_s16,
|
|
4273
4341
|
color: "#bdbdbd"
|
|
4274
4342
|
})
|
|
4275
4343
|
})), endNode && jsx("div", __assign({
|
|
@@ -23177,45 +23245,9 @@ var noSpace = function noSpace(text) {
|
|
|
23177
23245
|
return '';
|
|
23178
23246
|
};
|
|
23179
23247
|
|
|
23180
|
-
|
|
23181
|
-
var setHighlightTextOnDataExceptSpace = function setHighlightTextOnDataExceptSpace(data, targetKey, compareText, autoExcept) {
|
|
23182
|
-
if (autoExcept === void 0) {
|
|
23183
|
-
autoExcept = false;
|
|
23184
|
-
}
|
|
23185
|
-
var setHighlightIdx = function setHighlightIdx(dt) {
|
|
23186
|
-
var pqi = 0;
|
|
23187
|
-
var idx = [-1, -1];
|
|
23188
|
-
for (var i = 0; i <= dt[targetKey].length; i += 1) {
|
|
23189
|
-
if (dt[targetKey][i] !== ' ') {
|
|
23190
|
-
if (pqi === compareText.length) {
|
|
23191
|
-
idx[1] = i;
|
|
23192
|
-
break;
|
|
23193
|
-
}
|
|
23194
|
-
if (dt[targetKey][i].toLowerCase() === compareText[pqi]) {
|
|
23195
|
-
if (pqi === 0) {
|
|
23196
|
-
idx[0] = i;
|
|
23197
|
-
}
|
|
23198
|
-
pqi += 1;
|
|
23199
|
-
} else {
|
|
23200
|
-
pqi = 0;
|
|
23201
|
-
}
|
|
23202
|
-
}
|
|
23203
|
-
}
|
|
23204
|
-
return idx;
|
|
23205
|
-
};
|
|
23248
|
+
var searchData = function searchData(data, displayKey, query) {
|
|
23206
23249
|
return data.reduce(function (acc, curr) {
|
|
23207
|
-
|
|
23208
|
-
if (noSpace(curr[targetKey]).toLowerCase().includes(compareText)) {
|
|
23209
|
-
var highlightIdx = setHighlightIdx(curr);
|
|
23210
|
-
if (highlightIdx.every(function (el) {
|
|
23211
|
-
return el !== -1;
|
|
23212
|
-
})) {
|
|
23213
|
-
var highlightText = "".concat(curr[targetKey].slice(0, highlightIdx[0]), "<em>").concat(curr[targetKey].slice(highlightIdx[0], highlightIdx[1]), "</em>").concat(curr[targetKey].slice(highlightIdx[1]));
|
|
23214
|
-
acc.push(__assign(__assign({}, curr), (_a = {}, _a[targetKey] = highlightText, _a)));
|
|
23215
|
-
return acc;
|
|
23216
|
-
}
|
|
23217
|
-
}
|
|
23218
|
-
if (!autoExcept) {
|
|
23250
|
+
if (noSpace(curr[displayKey]).toLowerCase().includes(query)) {
|
|
23219
23251
|
acc.push(curr);
|
|
23220
23252
|
}
|
|
23221
23253
|
return acc;
|
|
@@ -23544,16 +23576,10 @@ function DropdownMenu(_a) {
|
|
|
23544
23576
|
rowId: item[idKey]
|
|
23545
23577
|
}, {
|
|
23546
23578
|
children: jsx("span", {
|
|
23547
|
-
|
|
23548
|
-
dangerouslySetInnerHTML: {
|
|
23549
|
-
__html: item[displayKey]
|
|
23550
|
-
}
|
|
23579
|
+
children: item[displayKey]
|
|
23551
23580
|
})
|
|
23552
23581
|
})) : jsx("span", {
|
|
23553
|
-
|
|
23554
|
-
dangerouslySetInnerHTML: {
|
|
23555
|
-
__html: item[displayKey]
|
|
23556
|
-
}
|
|
23582
|
+
children: item[displayKey]
|
|
23557
23583
|
})
|
|
23558
23584
|
}), "maru-dropdown-menu-item-".concat(item[idKey]));
|
|
23559
23585
|
})
|
|
@@ -23629,22 +23655,26 @@ function Dropdown(_a) {
|
|
|
23629
23655
|
initInputValue();
|
|
23630
23656
|
};
|
|
23631
23657
|
useEffect(function () {
|
|
23632
|
-
if (
|
|
23633
|
-
|
|
23634
|
-
|
|
23635
|
-
|
|
23636
|
-
|
|
23658
|
+
if (type === 'input') {
|
|
23659
|
+
if (selected === null || selected === void 0 ? void 0 : selected[displayKey]) {
|
|
23660
|
+
setInputValue(selected[displayKey]);
|
|
23661
|
+
} else {
|
|
23662
|
+
// selected === undefined
|
|
23663
|
+
setInputValue('');
|
|
23664
|
+
}
|
|
23637
23665
|
}
|
|
23638
|
-
}, [selected]);
|
|
23666
|
+
}, [type, selected]);
|
|
23639
23667
|
// type=input 일때, inputValue 변경 시(사용자가 타이핑) 메뉴 아이템 파싱하여 표시하기 위한 useEffect
|
|
23640
23668
|
useEffect(function () {
|
|
23641
|
-
|
|
23642
|
-
|
|
23643
|
-
|
|
23644
|
-
|
|
23645
|
-
|
|
23669
|
+
if (type === 'input') {
|
|
23670
|
+
var pretreatedQeury = noSpace(inputValue).toLowerCase();
|
|
23671
|
+
if (pretreatedQeury !== '') {
|
|
23672
|
+
setFilteredData(searchData(data, displayKey, pretreatedQeury));
|
|
23673
|
+
} else {
|
|
23674
|
+
initFilteredData();
|
|
23675
|
+
}
|
|
23646
23676
|
}
|
|
23647
|
-
}, [inputValue]);
|
|
23677
|
+
}, [type, inputValue]);
|
|
23648
23678
|
var handleInputChange = function handleInputChange(e) {
|
|
23649
23679
|
setInputValue(e.currentTarget.value);
|
|
23650
23680
|
};
|
|
@@ -24419,22 +24449,43 @@ function FilterTh(_a) {
|
|
|
24419
24449
|
}));
|
|
24420
24450
|
}
|
|
24421
24451
|
|
|
24452
|
+
/**
|
|
24453
|
+
* 정렬 아닌거 마우스오버하면 쌍방 화살표
|
|
24454
|
+
* 내림차순 정렬이면 아래 화살표
|
|
24455
|
+
* 오름차순 정렬이면 위 화살표
|
|
24456
|
+
* 색깔은 언제나 b500 #5c5c5c
|
|
24457
|
+
* @returns
|
|
24458
|
+
*/
|
|
24422
24459
|
function SortableColumn(_a) {
|
|
24423
24460
|
var format = _a.format,
|
|
24424
|
-
|
|
24461
|
+
sort = _a.sort,
|
|
24425
24462
|
onSortClick = _a.onSortClick;
|
|
24426
24463
|
var _b = useState(false),
|
|
24427
24464
|
hover = _b[0],
|
|
24428
24465
|
setHover = _b[1];
|
|
24429
|
-
var
|
|
24466
|
+
var iconName = useMemo(function () {
|
|
24467
|
+
// 정렬 아닌거 마우스오버하면 쌍방 화살표
|
|
24468
|
+
if (sort && sort.columnName !== format.columnIdKey && hover) {
|
|
24469
|
+
return ICONS.SortOutline_s1415;
|
|
24470
|
+
}
|
|
24471
|
+
if (sort && sort.columnName === format.columnIdKey) {
|
|
24472
|
+
// 내림차순 정렬이면 아래 화살표
|
|
24473
|
+
if (sort.desc) {
|
|
24474
|
+
return ICONS.SortDown_s0815;
|
|
24475
|
+
}
|
|
24476
|
+
// 오름차순 정렬이면 위 화살표
|
|
24477
|
+
return ICONS.SortUp_s0815;
|
|
24478
|
+
}
|
|
24479
|
+
return undefined;
|
|
24480
|
+
}, [sort, format, hover]);
|
|
24430
24481
|
return !format.sortable ? jsx("span", {
|
|
24431
24482
|
children: format.columnName
|
|
24432
24483
|
}) : jsx(Button, __assign({
|
|
24433
|
-
onClick: onSortClick(format.columnIdKey
|
|
24484
|
+
onClick: onSortClick(format.columnIdKey),
|
|
24434
24485
|
variant: "text",
|
|
24435
|
-
endIcon: {
|
|
24436
|
-
name:
|
|
24437
|
-
color:
|
|
24486
|
+
endIcon: iconName && {
|
|
24487
|
+
name: iconName,
|
|
24488
|
+
color: '#5c5c5c'
|
|
24438
24489
|
},
|
|
24439
24490
|
color: "secondary",
|
|
24440
24491
|
className: "maru-table-header-sortable",
|
|
@@ -24451,7 +24502,7 @@ function SortableColumn(_a) {
|
|
|
24451
24502
|
|
|
24452
24503
|
function THead(_a) {
|
|
24453
24504
|
var formats = _a.formats,
|
|
24454
|
-
|
|
24505
|
+
sort = _a.sort,
|
|
24455
24506
|
onSortClick = _a.onSortClick,
|
|
24456
24507
|
hasCheckbox = _a.hasCheckbox,
|
|
24457
24508
|
allCheckbox = _a.allCheckbox,
|
|
@@ -24506,12 +24557,12 @@ function THead(_a) {
|
|
|
24506
24557
|
}, {
|
|
24507
24558
|
children: jsx(SortableColumn, {
|
|
24508
24559
|
format: format,
|
|
24509
|
-
|
|
24560
|
+
sort: sort,
|
|
24510
24561
|
onSortClick: onSortClick
|
|
24511
24562
|
})
|
|
24512
24563
|
})) : jsx(SortableColumn, {
|
|
24513
24564
|
format: format,
|
|
24514
|
-
|
|
24565
|
+
sort: sort,
|
|
24515
24566
|
onSortClick: onSortClick
|
|
24516
24567
|
})
|
|
24517
24568
|
}, "column-".concat(format.columnIdKey));
|
|
@@ -24631,19 +24682,14 @@ function Table(_a) {
|
|
|
24631
24682
|
}
|
|
24632
24683
|
}
|
|
24633
24684
|
}, [data, checkedIds]);
|
|
24634
|
-
var handleSortClick = function handleSortClick(columnName
|
|
24635
|
-
if (sortable === void 0) {
|
|
24636
|
-
sortable = false;
|
|
24637
|
-
}
|
|
24685
|
+
var handleSortClick = function handleSortClick(columnName) {
|
|
24638
24686
|
return function () {
|
|
24639
|
-
|
|
24640
|
-
|
|
24641
|
-
|
|
24642
|
-
};
|
|
24643
|
-
if (sortable) {
|
|
24687
|
+
if (sort) {
|
|
24688
|
+
// 현재 정렬중인건 방향만 바꾸고 다른거 정렬시키려면 내림차순으로
|
|
24689
|
+
var desc = sort.columnName === columnName ? !sort.desc : true;
|
|
24644
24690
|
onSort === null || onSort === void 0 ? void 0 : onSort({
|
|
24645
24691
|
columnName: columnName,
|
|
24646
|
-
desc: desc
|
|
24692
|
+
desc: desc
|
|
24647
24693
|
});
|
|
24648
24694
|
}
|
|
24649
24695
|
};
|
|
@@ -24690,7 +24736,7 @@ function Table(_a) {
|
|
|
24690
24736
|
hasActionCol: hasActionCol
|
|
24691
24737
|
}), jsx(THead, {
|
|
24692
24738
|
formats: formats,
|
|
24693
|
-
|
|
24739
|
+
sort: sort,
|
|
24694
24740
|
onSortClick: handleSortClick,
|
|
24695
24741
|
hasCheckbox: checkedIds != null,
|
|
24696
24742
|
allCheckbox: allChecked,
|
|
@@ -1,3 +1 @@
|
|
|
1
|
-
declare const
|
|
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;
|