maru_design2 2.22.4 → 2.23.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/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.23.1](https://github.com/42maru-ai/maru-design2/compare/v2.23.0...v2.23.1) (2025-02-19)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * :bug: Input - update date,time format length check ([ef06558](https://github.com/42maru-ai/maru-design2/commit/ef06558d6927dd9419451cc3fbe4250fdd2f0bf0))
9
+ * :bug: SearchInput - update filter pos.left [#507](https://github.com/42maru-ai/maru-design2/issues/507) ([32175e3](https://github.com/42maru-ai/maru-design2/commit/32175e38eaebab151a1d5ceedcd91846c274bbea))
10
+ * :lipstick: StyleProvider - add root color [#508](https://github.com/42maru-ai/maru-design2/issues/508) ([99c7715](https://github.com/42maru-ai/maru-design2/commit/99c7715d3dbfdc77ff5eac0c26a7db75ab7d2d47))
11
+ * :lipstick: Table - update kebab menu align, width ([b1bd901](https://github.com/42maru-ai/maru-design2/commit/b1bd90130d347cd2ad7788368b53098d2277c950))
12
+
13
+ ## [2.23.0](https://github.com/42maru-ai/maru-design2/compare/v2.22.4...v2.23.0) (2025-02-17)
14
+
15
+
16
+ ### Features
17
+
18
+ * :bug: Popover,Tooltip,Dropdown - update open logics [#486](https://github.com/42maru-ai/maru-design2/issues/486) ([dc76a0d](https://github.com/42maru-ai/maru-design2/commit/dc76a0d067598bc2cc070c584611d0707c824f17))
19
+ * :sparkles: Input - add date, time type [#444](https://github.com/42maru-ai/maru-design2/issues/444) ([f520e00](https://github.com/42maru-ai/maru-design2/commit/f520e004c4416ce9a4c2ba5b977d9b175ca87bdb))
20
+ * :sparkles: Input - add persistent placeholder [#479](https://github.com/42maru-ai/maru-design2/issues/479) ([7c30ffc](https://github.com/42maru-ai/maru-design2/commit/7c30ffcf02231764c5869d58369b3669a75d5227))
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * :bug: SearchInput - update popover to div [#480](https://github.com/42maru-ai/maru-design2/issues/480) ([b20ea19](https://github.com/42maru-ai/maru-design2/commit/b20ea1959991000e07bbfb196dc65d6816d62885))
26
+
3
27
  ## [2.22.4](https://github.com/42maru-ai/maru-design2/compare/v2.22.3...v2.22.4) (2025-02-12)
4
28
 
5
29
 
@@ -4,6 +4,7 @@ import { TCheckboxSize } from '../../../enums/size';
4
4
  import './checkbox.scss';
5
5
  export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'checked' | 'type'> {
6
6
  checked?: boolean;
7
+ label?: string;
7
8
  /**
8
9
  * (@v1 variant)
9
10
  */
@@ -12,7 +13,6 @@ export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputE
12
13
  * 컴포넌트와 라벨 사이의 거리
13
14
  */
14
15
  gap?: TGap;
15
- label?: string;
16
16
  /**
17
17
  * [16, 18, 24]
18
18
  */
@@ -11,7 +11,7 @@ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElem
11
11
  };
12
12
  label?: string;
13
13
  /**
14
- * 데이터 타입. ['text', 'password', 'number']
14
+ * 데이터 타입
15
15
  */
16
16
  type?: TInputType;
17
17
  /**
@@ -35,5 +35,9 @@ export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElem
35
35
  */
36
36
  endNode?: React.ReactNode;
37
37
  className?: string;
38
+ /**
39
+ * true이면 placeholder가 없어지지 않음
40
+ */
41
+ persistentPlaceholder?: boolean;
38
42
  }
39
43
  export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
@@ -22,7 +22,7 @@ export interface TooltipProps {
22
22
  */
23
23
  portal?: boolean;
24
24
  /**
25
- * 대상와 툴팁 사이의 거리. ['6px', '4px', '0px']
25
+ * 대상와 툴팁 사이의 거리
26
26
  */
27
27
  gap?: TTooltipGap;
28
28
  }
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ parent: HTMLElement;
4
+ onClose: () => void;
5
+ formats: {
6
+ columnIdKey: string;
7
+ columnName?: string;
8
+ filter?: React.ReactNode;
9
+ }[];
10
+ resetButtonContent?: string;
11
+ onReset: () => void;
12
+ searchButtonContent?: string;
13
+ onSearch: () => void;
14
+ }
15
+ declare function FilterPopover({ parent, onClose, formats, resetButtonContent, onReset, searchButtonContent, onSearch, }: Props): import("react/jsx-runtime").JSX.Element;
16
+ export default FilterPopover;
@@ -1,4 +1,4 @@
1
1
  export declare const GAPS: readonly ["8px", "4px", "2px"];
2
2
  export type TGap = (typeof GAPS)[number];
3
- export declare const TOOLTIP_GAPS: readonly ["6px", "4px", "0px"];
3
+ export declare const TOOLTIP_GAPS: readonly [6, 4, 0];
4
4
  export type TTooltipGap = (typeof TOOLTIP_GAPS)[number];
@@ -1,4 +1,4 @@
1
- export declare const INPUT_TYPES: readonly ["text", "password", "number"];
1
+ export declare const INPUT_TYPES: readonly ["text", "password", "number", "date", "time"];
2
2
  export type TInputType = (typeof INPUT_TYPES)[number];
3
3
  export declare const DROPDOWN_TYPES: readonly ["button", "search"];
4
4
  export type TDropdownType = (typeof DROPDOWN_TYPES)[number];
package/dist/index.js CHANGED
@@ -87,7 +87,7 @@ function styleInject(css, ref) {
87
87
  var css_248z$l = "* {\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$l);
89
89
 
90
- var css_248z$k = ".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}\n\n[data-theme=navy] {\n --p: #213a78;\n --p-50-per: #213a787f;\n --p-50: #909cbb;\n --p-20-per: #213a7833;\n --p-20: #d3d8e4;\n --p-10-per: #213a781a;\n --p-10: #e9ebf1;\n --p-05-per: #213a780d;\n --p-05: #f4f5f8;\n}";
90
+ var css_248z$k = ".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 --primary-05-per: var(--p-05-per);\n --primary-05: var(--p-05);\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}\n\n[data-theme=navy] {\n --p: #213a78;\n --p-50-per: #213a787f;\n --p-50: #909cbb;\n --p-20-per: #213a7833;\n --p-20: #d3d8e4;\n --p-10-per: #213a781a;\n --p-10: #e9ebf1;\n --p-05-per: #213a780d;\n --p-05: #f4f5f8;\n}";
91
91
  styleInject(css_248z$k);
92
92
 
93
93
  function StyleProvider(_a) {
@@ -6362,7 +6362,7 @@ function Chip(_a) {
6362
6362
  }));
6363
6363
  }
6364
6364
 
6365
- var css_248z$g = ".maru-input-wrapper .maru-input-label {\n margin-bottom: 8px;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n}\n.maru-input-wrapper .maru-input-label label {\n color: #5c5c5c;\n}\n.maru-input-wrapper .maru-input {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n height: 37px;\n padding: 8px 10px 8px 14px;\n border: 1px solid #e4e4e4;\n border-radius: 6px;\n}\n.maru-input-wrapper .maru-input > input {\n width: 100%;\n border: unset;\n outline: unset;\n background-color: transparent;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 400;\n color: #5c5c5c;\n}\n.maru-input-wrapper .maru-input > input::-webkit-input-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-input-wrapper .maru-input > input::-moz-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-input-wrapper .maru-input > input:-ms-input-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-input-wrapper .maru-input > input::-ms-input-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-input-wrapper .maru-input > input::placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-input-wrapper .maru-input:focus-visible, .maru-input-wrapper .maru-input:focus-within {\n border-color: #5c5c5c;\n background-color: #fafafa;\n}\n.maru-input-wrapper .maru-input.errored {\n outline: 1px solid #e53e3e;\n border-color: #e53e3e;\n}\n.maru-input-wrapper .maru-input:hover {\n outline: 1px solid #e4e4e4;\n border-color: #e4e4e4;\n background-color: #fafafa;\n}\n.maru-input-wrapper .maru-input.disabled {\n background-color: #fafafa;\n}\n.maru-input-wrapper .maru-input.disabled > input {\n color: #bdbdbd;\n}\n.maru-input-wrapper .maru-input.disabled > input::-webkit-input-placeholder {\n color: #bdbdbd;\n}\n.maru-input-wrapper .maru-input.disabled > input::-moz-placeholder {\n color: #bdbdbd;\n}\n.maru-input-wrapper .maru-input.disabled > input:-ms-input-placeholder {\n color: #bdbdbd;\n}\n.maru-input-wrapper .maru-input.disabled > input::-ms-input-placeholder {\n color: #bdbdbd;\n}\n.maru-input-wrapper .maru-input.disabled > input::placeholder {\n color: #bdbdbd;\n}\n.maru-input-wrapper .maru-input.disabled:hover {\n outline: unset;\n}\n.maru-input-wrapper .maru-input-start-node {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n margin-right: 10px;\n}\n.maru-input-wrapper .maru-input-end-node-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n gap: 6px;\n}\n.maru-input-wrapper .maru-input-end-node-wrapper > button {\n padding: unset;\n margin: unset;\n border: unset;\n background-color: unset;\n cursor: pointer;\n display: flex;\n}\n.maru-input-wrapper .maru-input-end-node-wrapper .maru-input-end-node {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n}\n.maru-input-wrapper .maru-input-footer {\n display: block;\n margin-top: 4px;\n}\n.maru-input-wrapper .maru-input-footer > span {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 12px;\n letter-spacing: -0.48px;\n font-weight: 500;\n color: #e53e3e;\n font-weight: 400;\n}";
6365
+ var css_248z$g = ".maru-input-wrapper .maru-input-label {\n margin-bottom: 8px;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n}\n.maru-input-wrapper .maru-input-label label {\n color: #5c5c5c;\n}\n.maru-input-wrapper .maru-input {\n display: flex;\n justify-content: flex-start;\n align-items: center;\n flex-direction: row;\n height: 37px;\n padding: 8px 10px 8px 14px;\n border: 1px solid #e4e4e4;\n border-radius: 6px;\n}\n.maru-input-wrapper .maru-input .persistent-placeholder {\n position: absolute;\n z-index: -1;\n}\n.maru-input-wrapper .maru-input .persistent-placeholder > span {\n color: #8c8c8c;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 300;\n}\n.maru-input-wrapper .maru-input .persistent-placeholder > span[data-hidden] {\n visibility: hidden;\n}\n.maru-input-wrapper .maru-input > input {\n width: 100%;\n border: unset;\n outline: unset;\n background-color: transparent;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 400;\n color: #5c5c5c;\n padding: unset;\n}\n.maru-input-wrapper .maru-input > input::-webkit-input-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-input-wrapper .maru-input > input::-moz-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-input-wrapper .maru-input > input:-ms-input-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-input-wrapper .maru-input > input::-ms-input-placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-input-wrapper .maru-input > input::placeholder {\n font-weight: 300;\n color: #8c8c8c;\n}\n.maru-input-wrapper .maru-input:focus-visible, .maru-input-wrapper .maru-input:focus-within {\n border-color: #5c5c5c;\n background-color: rgba(228, 228, 228, 0.2);\n}\n.maru-input-wrapper .maru-input.errored {\n outline: 1px solid #e53e3e;\n border-color: #e53e3e;\n}\n.maru-input-wrapper .maru-input:hover {\n outline: 1px solid #e4e4e4;\n border-color: #e4e4e4;\n background-color: rgba(228, 228, 228, 0.2);\n}\n.maru-input-wrapper .maru-input.disabled {\n background-color: #fafafa;\n}\n.maru-input-wrapper .maru-input.disabled > input {\n color: #bdbdbd;\n}\n.maru-input-wrapper .maru-input.disabled > input::-webkit-input-placeholder {\n color: #bdbdbd;\n}\n.maru-input-wrapper .maru-input.disabled > input::-moz-placeholder {\n color: #bdbdbd;\n}\n.maru-input-wrapper .maru-input.disabled > input:-ms-input-placeholder {\n color: #bdbdbd;\n}\n.maru-input-wrapper .maru-input.disabled > input::-ms-input-placeholder {\n color: #bdbdbd;\n}\n.maru-input-wrapper .maru-input.disabled > input::placeholder {\n color: #bdbdbd;\n}\n.maru-input-wrapper .maru-input.disabled:hover {\n outline: unset;\n}\n.maru-input-wrapper .maru-input-start-node {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n margin-right: 10px;\n}\n.maru-input-wrapper .maru-input-end-node-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n gap: 6px;\n}\n.maru-input-wrapper .maru-input-end-node-wrapper > button {\n padding: unset;\n margin: unset;\n border: unset;\n background-color: unset;\n cursor: pointer;\n display: flex;\n}\n.maru-input-wrapper .maru-input-end-node-wrapper .maru-input-end-node {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n}\n.maru-input-wrapper .maru-input-footer {\n display: block;\n margin-top: 4px;\n}\n.maru-input-wrapper .maru-input-footer > span {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 12px;\n letter-spacing: -0.48px;\n font-weight: 500;\n color: #e53e3e;\n font-weight: 400;\n}";
6366
6366
  styleInject(css_248z$g);
6367
6367
 
6368
6368
  var Input = /*#__PURE__*/forwardRef(function (_a, inputRef) {
@@ -6376,13 +6376,21 @@ var Input = /*#__PURE__*/forwardRef(function (_a, inputRef) {
6376
6376
  startNode = _a.startNode,
6377
6377
  endNode = _a.endNode,
6378
6378
  className = _a.className,
6379
- props = __rest(_a, ["invalid", "label", "type", "onClear", "hiddenClearButton", "wrapperRef", "startNode", "endNode", "className"]);
6380
- var _c = useState(true),
6381
- maskingPassword = _c[0],
6382
- setMaskingPassword = _c[1]; // *로 보이고 싶으면 true
6383
- var _d = useState(false),
6384
- showClearButton = _d[0],
6385
- setShowClearButton = _d[1];
6379
+ _c = _a.persistentPlaceholder,
6380
+ persistentPlaceholder = _c === void 0 ? false : _c,
6381
+ props = __rest(_a, ["invalid", "label", "type", "onClear", "hiddenClearButton", "wrapperRef", "startNode", "endNode", "className", "persistentPlaceholder"]);
6382
+ var _d = useState(true),
6383
+ maskingPassword = _d[0],
6384
+ setMaskingPassword = _d[1]; // *로 보이고 싶으면 true
6385
+ var _e = useState(false),
6386
+ showClearButton = _e[0],
6387
+ setShowClearButton = _e[1];
6388
+ var _f = useState(''),
6389
+ hiddenPlaceholder = _f[0],
6390
+ setHiddenPlaceholder = _f[1];
6391
+ var _g = useState(''),
6392
+ remainPlaceholder = _g[0],
6393
+ setRemainPlaceholder = _g[1];
6386
6394
  var combineRef = useCombineRef(inputRef);
6387
6395
  var hashId = uuidv4(4);
6388
6396
  useEffect(function () {
@@ -6408,6 +6416,14 @@ var Input = /*#__PURE__*/forwardRef(function (_a, inputRef) {
6408
6416
  setShowClearButton(!hiddenClearButton);
6409
6417
  }
6410
6418
  }, [combineRef.current, hiddenClearButton]);
6419
+ /**
6420
+ * persistentPlaceholder = true일때 보여줄 placeholder 세팅
6421
+ */
6422
+ useEffect(function () {
6423
+ if (persistentPlaceholder && props.placeholder) {
6424
+ setRemainPlaceholder(props.placeholder);
6425
+ }
6426
+ }, [persistentPlaceholder, props.placeholder]);
6411
6427
  var handleInputChange = function handleInputChange(e) {
6412
6428
  var _a;
6413
6429
  setShowClearButton(!hiddenClearButton);
@@ -6420,10 +6436,46 @@ var Input = /*#__PURE__*/forwardRef(function (_a, inputRef) {
6420
6436
  } else {
6421
6437
  newValue = value.slice(0, value.length - 1);
6422
6438
  }
6439
+ } else if (type === 'date') {
6440
+ var regexNum = /[^0-9]/g;
6441
+ var onlyNum = value.replace(regexNum, ''); // 숫자가 아닌 경우 ''
6442
+ onlyNum = onlyNum.length <= 8 ? onlyNum : onlyNum.slice(0, onlyNum.length - 1);
6443
+ var format = void 0;
6444
+ var regexDate = void 0;
6445
+ if (onlyNum.length <= 6) {
6446
+ // 000000 -> 0000-00
6447
+ format = '$1-$2';
6448
+ regexDate = /([0-9]{4})([0-9]+)/;
6449
+ } else if (onlyNum.length <= 8) {
6450
+ // 00000000 -> 0000-00-00
6451
+ format = '$1-$2-$3';
6452
+ regexDate = /([0-9]{4})([0-9]{2})([0-9]+)/;
6453
+ }
6454
+ newValue = onlyNum.replace(regexDate, format);
6455
+ } else if (type === 'time') {
6456
+ var regexNum = /[^0-9]/g;
6457
+ var onlyNum = value.replace(regexNum, ''); // 숫자가 아닌 경우 ''
6458
+ onlyNum = onlyNum.length <= 6 ? onlyNum : onlyNum.slice(0, onlyNum.length - 1);
6459
+ var format = void 0;
6460
+ var regexTime = void 0;
6461
+ if (onlyNum.length <= 4) {
6462
+ // 0000 -> 00:00
6463
+ format = '$1:$2';
6464
+ regexTime = /([0-9]{2})([0-9]+)/;
6465
+ } else if (onlyNum.length <= 6) {
6466
+ // 000000 -> 00:00:00
6467
+ format = '$1:$2:$3';
6468
+ regexTime = /([0-9]{2})([0-9]{2})([0-9]+)/;
6469
+ }
6470
+ newValue = onlyNum.replace(regexTime, format);
6423
6471
  }
6424
6472
  if (!newValue) {
6425
6473
  setShowClearButton(false );
6426
6474
  }
6475
+ if (persistentPlaceholder && props.placeholder) {
6476
+ setHiddenPlaceholder(newValue);
6477
+ setRemainPlaceholder(props.placeholder.substring(newValue.length));
6478
+ }
6427
6479
  e.currentTarget.value = newValue;
6428
6480
  (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, e);
6429
6481
  };
@@ -6447,6 +6499,10 @@ var Input = /*#__PURE__*/forwardRef(function (_a, inputRef) {
6447
6499
  setShowClearButton(false );
6448
6500
  combineRef.current.value = '';
6449
6501
  combineRef.current.focus();
6502
+ if (persistentPlaceholder && props.placeholder) {
6503
+ setHiddenPlaceholder('');
6504
+ setRemainPlaceholder(props.placeholder);
6505
+ }
6450
6506
  }
6451
6507
  onClear === null || onClear === void 0 ? void 0 : onClear();
6452
6508
  };
@@ -6472,12 +6528,23 @@ var Input = /*#__PURE__*/forwardRef(function (_a, inputRef) {
6472
6528
  className: "maru-input-start-node"
6473
6529
  }, {
6474
6530
  children: startNode
6531
+ })), persistentPlaceholder && jsxs("span", __assign({
6532
+ className: "persistent-placeholder"
6533
+ }, {
6534
+ children: [jsx("span", __assign({
6535
+ "data-hidden": true
6536
+ }, {
6537
+ children: hiddenPlaceholder
6538
+ })), jsx("span", {
6539
+ children: remainPlaceholder
6540
+ })]
6475
6541
  })), jsx("input", __assign({}, props, {
6476
6542
  id: "maru-input-".concat(hashId),
6477
6543
  ref: combineRef,
6478
6544
  type: type === 'password' && maskingPassword ? 'password' : 'text',
6479
6545
  onChange: handleInputChange,
6480
- onBlur: handleInputBlur
6546
+ onBlur: handleInputBlur,
6547
+ placeholder: persistentPlaceholder ? undefined : props.placeholder
6481
6548
  })), jsxs("div", __assign({
6482
6549
  className: "maru-input-end-node-wrapper"
6483
6550
  }, {
@@ -6530,7 +6597,8 @@ Input.defaultProps = {
6530
6597
  wrapperRef: undefined,
6531
6598
  startNode: undefined,
6532
6599
  endNode: undefined,
6533
- className: undefined
6600
+ className: undefined,
6601
+ persistentPlaceholder: undefined
6534
6602
  };
6535
6603
  Input.displayName = 'Input';
6536
6604
 
@@ -8353,36 +8421,16 @@ function Popover(_a) {
8353
8421
  * instance를 useMemo로 선언하면 레퍼런스의 DOM을 찾지 못 하고,
8354
8422
  * useCallback으로 선언하면 함수라서 호출 될 때 마다 새로운 객체가 생성되어 .update가 동작하지 않음
8355
8423
  */
8356
- var instance_1 = createPopper(anchorEl, popoverRef.current, {
8424
+ var instance = createPopper(anchorEl, popoverRef.current, {
8357
8425
  placement: direction,
8358
8426
  modifiers: [{
8359
- name: 'flip',
8360
- options: {
8361
- padding: 10
8362
- }
8363
- }, {
8364
8427
  name: 'offset',
8365
8428
  options: {
8366
8429
  offset: [0, 4]
8367
8430
  }
8368
8431
  }]
8369
8432
  });
8370
- var instanceSetOptions = function instanceSetOptions(isEnabled) {
8371
- return instance_1.setOptions(function (options) {
8372
- return __assign(__assign({}, options), {
8373
- modifiers: __spreadArray(__spreadArray([], options.modifiers, true), [{
8374
- name: 'eventListeners',
8375
- enabled: isEnabled,
8376
- options: {
8377
- resize: isEnabled,
8378
- scroll: isEnabled
8379
- }
8380
- }], false)
8381
- });
8382
- });
8383
- };
8384
- instanceSetOptions(true);
8385
- instance_1.update();
8433
+ instance.update();
8386
8434
  popoverRef.current.focus();
8387
8435
  }
8388
8436
  }, [open]);
@@ -8401,18 +8449,15 @@ function Popover(_a) {
8401
8449
  var PopoverBody = open ? jsx("div", __assign({
8402
8450
  className: "maru-popover-background",
8403
8451
  onClick: handleBackgroundClick,
8404
- tabIndex: -1,
8405
- "aria-hidden": true
8452
+ tabIndex: -1
8406
8453
  }, {
8407
8454
  children: jsx("div", __assign({
8408
8455
  ref: popoverRef,
8409
8456
  className: classNames('maru-popover', className),
8410
8457
  role: "tooltip",
8411
- // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex
8412
8458
  tabIndex: 0,
8413
8459
  onKeyUp: handleKeyUp,
8414
- onClick: handlePopoverClick,
8415
- "aria-hidden": true
8460
+ onClick: handlePopoverClick
8416
8461
  }, {
8417
8462
  children: children
8418
8463
  }))
@@ -8775,7 +8820,7 @@ function Toggle(_a) {
8775
8820
  });
8776
8821
  }
8777
8822
 
8778
- var css_248z$9 = ".maru-tooltip-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n padding: 0;\n}\n.maru-tooltip-wrapper[data-dir=top][data-gap=\"6px\"] {\n padding-top: 6px;\n}\n.maru-tooltip-wrapper[data-dir=top][data-gap=\"4px\"] {\n padding-top: 4px;\n}\n.maru-tooltip-wrapper[data-dir=left][data-gap=\"6px\"] {\n padding-left: 6px;\n}\n.maru-tooltip-wrapper[data-dir=left][data-gap=\"4px\"] {\n padding-left: 4px;\n}\n.maru-tooltip-wrapper[data-dir=bottom][data-gap=\"6px\"] {\n padding-bottom: 6px;\n}\n.maru-tooltip-wrapper[data-dir=bottom][data-gap=\"4px\"] {\n padding-bottom: 4px;\n}\n.maru-tooltip-wrapper[data-dir=right][data-gap=\"6px\"] {\n padding-right: 6px;\n}\n.maru-tooltip-wrapper[data-dir=right][data-gap=\"4px\"] {\n padding-right: 4px;\n}\n\n.maru-tooltip {\n z-index: 1612;\n border-radius: 6px;\n padding: 6px 10px 6px 12px;\n display: none;\n background-color: rgba(0, 0, 0, 0.8);\n}\n.maru-tooltip[data-show=true] {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n}\n.maru-tooltip[data-show=false] {\n display: none;\n}\n.maru-tooltip,\n.maru-tooltip span,\n.maru-tooltip p,\n.maru-tooltip pre {\n color: white;\n white-space: pre-wrap;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 12px;\n letter-spacing: -0.48px;\n font-weight: 400;\n line-height: 140%;\n}";
8823
+ var css_248z$9 = ".maru-tooltip-wrapper {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n}\n\n.maru-tooltip {\n z-index: 1612;\n border-radius: 6px;\n padding: 6px 10px 6px 12px;\n display: none;\n background-color: rgba(0, 0, 0, 0.8);\n}\n.maru-tooltip[data-show=true] {\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: row;\n}\n.maru-tooltip[data-show=false] {\n display: none;\n}\n.maru-tooltip,\n.maru-tooltip span,\n.maru-tooltip p,\n.maru-tooltip pre {\n color: white;\n white-space: pre-wrap;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 12px;\n letter-spacing: -0.48px;\n font-weight: 400;\n line-height: 140%;\n}";
8779
8824
  styleInject(css_248z$9);
8780
8825
 
8781
8826
  function Tooltip(_a) {
@@ -8789,7 +8834,7 @@ function Tooltip(_a) {
8789
8834
  _d = _a.portal,
8790
8835
  portal = _d === void 0 ? false : _d,
8791
8836
  _e = _a.gap,
8792
- gap = _e === void 0 ? '6px' : _e;
8837
+ gap = _e === void 0 ? 6 : _e;
8793
8838
  var _f = useState(false),
8794
8839
  open = _f[0],
8795
8840
  setOpen = _f[1];
@@ -8803,11 +8848,17 @@ function Tooltip(_a) {
8803
8848
  * useCallback으로 선언하면 함수라서 호출 될 때 마다 새로운 객체가 생성되어 .update가 동작하지 않음
8804
8849
  */
8805
8850
  var instance = createPopper(wrapperRef.current, tooltipRef.current, {
8806
- placement: direction
8851
+ placement: direction,
8852
+ modifiers: [{
8853
+ name: 'offset',
8854
+ options: {
8855
+ offset: [0, gap]
8856
+ }
8857
+ }]
8807
8858
  });
8808
8859
  instance.update();
8809
8860
  }
8810
- }, [show]);
8861
+ }, [show, gap]);
8811
8862
  var Tootip = useMemo(function () {
8812
8863
  return jsx("div", __assign({
8813
8864
  className: "maru-tooltip",
@@ -25609,7 +25660,6 @@ function DropdownMenu$1(_a) {
25609
25660
  var newWidth = width || pw;
25610
25661
  menu.style.width = "".concat(newWidth, "px");
25611
25662
  menu.style.left = "".concat(pl, "px");
25612
- // FIXME: 무슨 조건인지 잘 모르겠음
25613
25663
  if (ph + pt + menu.offsetHeight + 10 > document.body.offsetHeight) {
25614
25664
  menu.style.top = "".concat(pt - menu.offsetHeight - 4, "px");
25615
25665
  } else {
@@ -25656,17 +25706,13 @@ function DropdownMenu$1(_a) {
25656
25706
  return jsx("div", __assign({
25657
25707
  ref: menuWrapperRef,
25658
25708
  className: "maru-dropdown-menu-wrapper",
25659
- "aria-hidden": true,
25660
25709
  onClick: handleWrapperClick
25661
25710
  }, {
25662
25711
  children: jsxs("div", __assign({
25663
25712
  ref: menuRef,
25664
25713
  className: classNames('maru-dropdown-menu', "maru-dropdown-menu-".concat(color), {
25665
25714
  'maru-dropdown-search-menu': isSearch
25666
- // TODO:
25667
- // footer: menuBottomButton,
25668
25715
  }),
25669
- "aria-hidden": true,
25670
25716
  onClick: handleMenuClick
25671
25717
  }, {
25672
25718
  children: [jsx("div", __assign({
@@ -26767,6 +26813,90 @@ function Pagination(_a) {
26767
26813
  }));
26768
26814
  }
26769
26815
 
26816
+ function FilterPopover(_a) {
26817
+ var parent = _a.parent,
26818
+ onClose = _a.onClose,
26819
+ formats = _a.formats,
26820
+ resetButtonContent = _a.resetButtonContent,
26821
+ onReset = _a.onReset,
26822
+ searchButtonContent = _a.searchButtonContent,
26823
+ onSearch = _a.onSearch;
26824
+ var wrapperRef = useRef(null);
26825
+ var ref = useRef(null);
26826
+ /**
26827
+ * 팝오버 위치 설정
26828
+ */
26829
+ useEffect(function () {
26830
+ var popover = ref.current;
26831
+ if (popover) {
26832
+ var _a = parent.getClientRects()[0],
26833
+ pw = _a.width,
26834
+ ph = _a.height,
26835
+ pt = _a.top,
26836
+ pl = _a.left;
26837
+ // 402: 팝오버's width
26838
+ popover.style.left = "".concat(pl + (pw - 402), "px");
26839
+ if (ph + pt + popover.offsetHeight + 10 > document.body.offsetHeight) {
26840
+ popover.style.top = "".concat(pt - popover.offsetHeight - 4, "px");
26841
+ } else {
26842
+ popover.style.top = "".concat(pt + ph, "px");
26843
+ }
26844
+ if (wrapperRef === null || wrapperRef === void 0 ? void 0 : wrapperRef.current) {
26845
+ wrapperRef.current.style.display = 'block';
26846
+ }
26847
+ }
26848
+ }, []);
26849
+ var handleWrapperClick = function handleWrapperClick(e) {
26850
+ e.stopPropagation();
26851
+ onClose();
26852
+ };
26853
+ var handlePopoverClick = function handlePopoverClick(e) {
26854
+ e.stopPropagation();
26855
+ };
26856
+ return jsx("div", __assign({
26857
+ ref: wrapperRef,
26858
+ className: "maru-search-input-filter-popover-wrapper",
26859
+ onClick: handleWrapperClick
26860
+ }, {
26861
+ children: jsx("div", __assign({
26862
+ ref: ref,
26863
+ className: "maru-search-input-filter-popover",
26864
+ onClick: handlePopoverClick
26865
+ }, {
26866
+ children: jsxs("div", {
26867
+ children: [jsx("ul", {
26868
+ children: formats.map(function (f) {
26869
+ return jsxs("li", {
26870
+ children: [jsx("div", __assign({
26871
+ className: "filter-key"
26872
+ }, {
26873
+ children: jsx("span", {
26874
+ children: f.columnName
26875
+ })
26876
+ })), jsx("div", __assign({
26877
+ className: "filter-value"
26878
+ }, {
26879
+ children: f.filter
26880
+ }))]
26881
+ }, f.columnIdKey);
26882
+ })
26883
+ }), jsxs("div", {
26884
+ children: [jsx(Button, __assign({
26885
+ variant: "outline",
26886
+ onClick: onReset
26887
+ }, {
26888
+ children: resetButtonContent
26889
+ })), jsx(Button, __assign({
26890
+ onClick: onSearch
26891
+ }, {
26892
+ children: searchButtonContent
26893
+ }))]
26894
+ })]
26895
+ })
26896
+ }))
26897
+ }));
26898
+ }
26899
+
26770
26900
  function Filter(_a) {
26771
26901
  var on = _a.on,
26772
26902
  formats = _a.formats,
@@ -26783,7 +26913,9 @@ function Filter(_a) {
26783
26913
  onSearch();
26784
26914
  setOpen(false);
26785
26915
  };
26786
- return jsxs(Fragment, {
26916
+ return jsxs("div", __assign({
26917
+ className: "maru-search-input-filter"
26918
+ }, {
26787
26919
  children: [jsx("button", __assign({
26788
26920
  type: "button",
26789
26921
  className: classNames('maru-search-input-filter-button', {
@@ -26802,50 +26934,25 @@ function Filter(_a) {
26802
26934
  name: ICONS.Filter_s1613
26803
26935
  })
26804
26936
  }))
26805
- })), jsx(Popover, __assign({
26806
- anchorEl: inputWrapperRef.current,
26807
- open: open,
26808
- onClose: function onClose() {
26809
- return setOpen(false);
26810
- },
26811
- direction: "bottom-end",
26812
- className: "maru-search-input-filter-popover"
26937
+ })), open && jsx(CreatePortal, __assign({
26938
+ parent: inputWrapperRef.current
26813
26939
  }, {
26814
- children: jsxs("div", {
26815
- children: [jsx("ul", {
26816
- children: formats.map(function (f) {
26817
- return jsxs("li", {
26818
- children: [jsx("div", __assign({
26819
- className: "filter-key"
26820
- }, {
26821
- children: jsx("span", {
26822
- children: f.columnName
26823
- })
26824
- })), jsx("div", __assign({
26825
- className: "filter-value"
26826
- }, {
26827
- children: f.filter
26828
- }))]
26829
- }, f.columnIdKey);
26830
- })
26831
- }), jsxs("div", {
26832
- children: [jsx(Button, __assign({
26833
- variant: "outline",
26834
- onClick: onReset
26835
- }, {
26836
- children: resetButtonContent
26837
- })), jsx(Button, __assign({
26838
- onClick: handleSearch
26839
- }, {
26840
- children: searchButtonContent
26841
- }))]
26842
- })]
26940
+ children: jsx(FilterPopover, {
26941
+ parent: inputWrapperRef.current,
26942
+ onClose: function onClose() {
26943
+ return setOpen(false);
26944
+ },
26945
+ formats: formats,
26946
+ resetButtonContent: resetButtonContent,
26947
+ onReset: onReset,
26948
+ searchButtonContent: searchButtonContent,
26949
+ onSearch: handleSearch
26843
26950
  })
26844
26951
  }))]
26845
- });
26952
+ }));
26846
26953
  }
26847
26954
 
26848
- var css_248z$2 = ".maru-search-input .maru-input {\n border: 1px solid #e4e4e4;\n background-color: white;\n}\n.maru-search-input .maru-input:focus-visible, .maru-search-input .maru-input:focus-within {\n background-color: white;\n}\n.maru-search-input .maru-input:hover {\n background-color: white;\n}\n.maru-search-input .maru-input .maru-input-start-node {\n margin-right: 8px;\n}\n.maru-search-input .maru-search-input-filter-button {\n border: unset;\n background-color: unset;\n padding: unset;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n}\n.maru-search-input .maru-search-input-filter-button .maru-tooltip-wrapper {\n padding: 6px 0;\n}\n.maru-search-input .maru-search-input-filter-button svg > path {\n stroke: #bdbdbd;\n fill: white;\n}\n.maru-search-input .maru-search-input-filter-button:hover svg > path {\n stroke: #8c8c8c;\n fill: #e4e4e4;\n}\n.maru-search-input .maru-search-input-filter-button.active {\n visibility: hidden;\n}\n.maru-search-input .maru-search-input-filter-button.selected svg > path {\n stroke: var(--p);\n fill: var(--p-50);\n}\n.maru-search-input .maru-search-input-filter-popover {\n padding: 32px;\n border: 1px solid #e4e4e4;\n border-radius: 6px;\n}\n.maru-search-input .maru-search-input-filter-popover > div > ul {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.maru-search-input .maru-search-input-filter-popover > div > ul > li {\n display: flex;\n gap: 16px;\n}\n.maru-search-input .maru-search-input-filter-popover > div > ul > li .filter-key {\n width: 88px;\n display: flex;\n align-items: center;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n color: #5c5c5c;\n}\n.maru-search-input .maru-search-input-filter-popover > div > ul > li .filter-value {\n width: 232px;\n}\n.maru-search-input .maru-search-input-filter-popover > div > div {\n margin-top: 24px;\n display: flex;\n justify-content: flex-end;\n gap: 6px;\n}";
26955
+ var css_248z$2 = ".maru-search-input .maru-input {\n border: 1px solid #e4e4e4;\n background-color: white;\n}\n.maru-search-input .maru-input:focus-visible, .maru-search-input .maru-input:focus-within {\n background-color: white;\n}\n.maru-search-input .maru-input:hover {\n background-color: white;\n}\n.maru-search-input .maru-input .maru-input-start-node {\n margin-right: 8px;\n}\n.maru-search-input .maru-search-input-filter .maru-search-input-filter-button {\n border: unset;\n background-color: unset;\n padding: unset;\n cursor: pointer;\n display: flex;\n flex-direction: column;\n}\n.maru-search-input .maru-search-input-filter .maru-search-input-filter-button .maru-tooltip-wrapper {\n padding: 6px 0;\n}\n.maru-search-input .maru-search-input-filter .maru-search-input-filter-button svg > path {\n stroke: #bdbdbd;\n fill: white;\n}\n.maru-search-input .maru-search-input-filter .maru-search-input-filter-button:hover svg > path {\n stroke: #8c8c8c;\n fill: #e4e4e4;\n}\n.maru-search-input .maru-search-input-filter .maru-search-input-filter-button.active {\n visibility: hidden;\n}\n.maru-search-input .maru-search-input-filter .maru-search-input-filter-button.selected svg > path {\n stroke: var(--p);\n fill: var(--p-50);\n}\n.maru-search-input .maru-search-input-filter-popover-wrapper {\n top: 0;\n left: 0;\n width: 100vw;\n height: 100vh;\n position: fixed;\n z-index: 1600;\n display: none;\n}\n.maru-search-input .maru-search-input-filter-popover-wrapper .maru-search-input-filter-popover {\n margin-top: 4px;\n position: absolute;\n z-index: 1601;\n border-radius: 6px;\n box-shadow: 0px 0px 4px #e4e4e4;\n background-color: white;\n padding: 32px;\n border: 1px solid #e4e4e4;\n width: 402px;\n}\n.maru-search-input .maru-search-input-filter-popover-wrapper .maru-search-input-filter-popover > div > ul {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.maru-search-input .maru-search-input-filter-popover-wrapper .maru-search-input-filter-popover > div > ul > li {\n display: flex;\n gap: 16px;\n}\n.maru-search-input .maru-search-input-filter-popover-wrapper .maru-search-input-filter-popover > div > ul > li .filter-key {\n width: 88px;\n display: flex;\n align-items: center;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 500;\n color: #5c5c5c;\n}\n.maru-search-input .maru-search-input-filter-popover-wrapper .maru-search-input-filter-popover > div > ul > li .filter-value {\n width: 232px;\n}\n.maru-search-input .maru-search-input-filter-popover-wrapper .maru-search-input-filter-popover > div > div {\n margin-top: 24px;\n display: flex;\n justify-content: flex-end;\n gap: 6px;\n}";
26849
26956
  styleInject(css_248z$2);
26850
26957
 
26851
26958
  function SearchInput(_a) {
@@ -27438,7 +27545,7 @@ function THead(_a) {
27438
27545
  }));
27439
27546
  }
27440
27547
 
27441
- var css_248z$1 = "@-webkit-keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n@-webkit-keyframes blink {\n 0% {\n opacity: 0.6;\n }\n 20% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 0.6;\n }\n}\n@keyframes blink {\n 0% {\n opacity: 0.6;\n }\n 20% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 0.6;\n }\n}\n@-webkit-keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.maru-table-wrapper {\n width: 100%;\n background-color: white;\n box-shadow: 0px 0px 6px 0px #e4e4e4;\n border-radius: 6px;\n overflow-x: auto;\n}\n.maru-table-wrapper .maru-table-header-wrapper,\n.maru-table-wrapper .maru-table-body-wrapper {\n width: 100%;\n}\n.maru-table-wrapper tr {\n height: 54px;\n}\n.maru-table-wrapper th,\n.maru-table-wrapper td {\n text-align: start;\n vertical-align: middle;\n padding: 16.5px 15px;\n word-break: break-word;\n color: #5c5c5c;\n}\n.maru-table-wrapper th:first-of-type,\n.maru-table-wrapper td:first-of-type {\n padding: 16.5px 25px;\n}\n.maru-table-wrapper .checkbox-td {\n padding: 18px 15px 18px 25px !important;\n}\n.maru-table-wrapper .radio-td {\n padding: 11px 15px !important;\n}\n.maru-table-wrapper .maru-table-header tr {\n border-bottom: 1px solid #e4e4e4;\n}\n.maru-table-wrapper .maru-table-header tr th {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 600;\n}\n.maru-table-wrapper .maru-table-header .filter-th {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 16.5px;\n}\n.maru-table-wrapper .maru-table-header .filter-th.toggle-on .filter-box {\n width: 100%;\n height: 33px;\n}\n.maru-table-wrapper .maru-table-header .filter-buttons-th.toggle-on {\n padding: 18px 15px 16px 15px;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n}\n.maru-table-wrapper .maru-table-header .filter-buttons-th.toggle-on .filter-buttons-wrapper {\n height: 67px;\n}\n.maru-table-wrapper .maru-table-header .filter-buttons-th .filter-buttons-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n.maru-table-wrapper .maru-table-header .filter-buttons-th .filter-buttons-wrapper .reset-button {\n margin-bottom: 8px;\n}\n.maru-table-wrapper .maru-table-header .maru-table-header-sortable {\n padding: unset;\n margin: unset;\n color: #5c5c5c;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 600;\n}\n.maru-table-wrapper .maru-table-header .sort-icon-wrapper-th {\n display: flex;\n}\n.maru-table-wrapper .maru-table-body-scroll-wrapper {\n overflow-y: auto;\n}\n.maru-table-wrapper .maru-table-body-scroll-wrapper .maru-table-scroll {\n overflow-y: auto;\n}\n.maru-table-wrapper .maru-table-body tr:not(:last-of-type) {\n border-bottom: 1px solid #fafafa;\n}\n.maru-table-wrapper .maru-table-body tr:hover,\n.maru-table-wrapper .maru-table-body .clickable-row:hover,\n.maru-table-wrapper .maru-table-body .selected-row {\n background-color: var(--p-05);\n}\n.maru-table-wrapper .maru-table-body .highlight-row {\n background-color: var(--p-20);\n}\n.maru-table-wrapper .maru-table-body td {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 400;\n}\n.maru-table-wrapper .maru-table-body tr:last-of-type td:first-of-type {\n border-bottom-left-radius: 6px;\n}\n.maru-table-wrapper .maru-table-body tr:last-of-type td:last-of-type {\n border-bottom-right-radius: 6px;\n}\n.maru-table-wrapper .maru-table-body .clickable-row {\n cursor: pointer;\n}\n.maru-table-wrapper .maru-table-body-kebab-td .maru-table-body-kebab-wrapper {\n display: flex;\n flex-direction: column;\n}\n.maru-table-wrapper .maru-table-body-bin-button-td .maru-table-body-bin-button-wrapper {\n display: flex;\n flex-direction: column;\n}\n.maru-table-wrapper .maru-table-body-kebab {\n margin: unset;\n padding: unset;\n height: auto;\n}\n.maru-table-wrapper .maru-table-body-empty-tr > td {\n width: 100%;\n vertical-align: middle;\n text-align: center;\n}\n.maru-table-wrapper .maru-table-body-empty-tr > td p {\n margin-top: 20px;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 400;\n color: #bdbdbd;\n}\n.maru-table-wrapper .maru-table-body-empty-tr:hover {\n background-color: inherit !important;\n}\n.maru-table-wrapper .maru-table-body-empty-tr .loading-wrapper {\n -webkit-animation: blink 1s infinite;\n animation: blink 1s infinite;\n}";
27548
+ var css_248z$1 = "@-webkit-keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes rotate {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n@-webkit-keyframes blink {\n 0% {\n opacity: 0.6;\n }\n 20% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 0.6;\n }\n}\n@keyframes blink {\n 0% {\n opacity: 0.6;\n }\n 20% {\n opacity: 1;\n }\n 50% {\n opacity: 0;\n }\n 100% {\n opacity: 0.6;\n }\n}\n@-webkit-keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n@keyframes fadein {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n.maru-table-wrapper {\n width: 100%;\n background-color: white;\n box-shadow: 0px 0px 6px 0px #e4e4e4;\n border-radius: 6px;\n overflow-x: auto;\n}\n.maru-table-wrapper .maru-table-header-wrapper,\n.maru-table-wrapper .maru-table-body-wrapper {\n width: 100%;\n}\n.maru-table-wrapper tr {\n height: 54px;\n}\n.maru-table-wrapper th,\n.maru-table-wrapper td {\n text-align: start;\n vertical-align: middle;\n padding: 16.5px 15px;\n word-break: break-word;\n color: #5c5c5c;\n}\n.maru-table-wrapper th:first-of-type,\n.maru-table-wrapper td:first-of-type {\n padding: 16.5px 25px;\n}\n.maru-table-wrapper .checkbox-td {\n padding: 18px 15px 18px 25px !important;\n}\n.maru-table-wrapper .radio-td {\n padding: 11px 15px !important;\n}\n.maru-table-wrapper .maru-table-header tr {\n border-bottom: 1px solid #e4e4e4;\n}\n.maru-table-wrapper .maru-table-header tr th {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 600;\n}\n.maru-table-wrapper .maru-table-header .filter-th {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 16.5px;\n}\n.maru-table-wrapper .maru-table-header .filter-th.toggle-on .filter-box {\n width: 100%;\n height: 33px;\n}\n.maru-table-wrapper .maru-table-header .filter-buttons-th.toggle-on {\n padding: 18px 15px 16px 15px;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n}\n.maru-table-wrapper .maru-table-header .filter-buttons-th.toggle-on .filter-buttons-wrapper {\n height: 67px;\n}\n.maru-table-wrapper .maru-table-header .filter-buttons-th .filter-buttons-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n.maru-table-wrapper .maru-table-header .filter-buttons-th .filter-buttons-wrapper .reset-button {\n margin-bottom: 8px;\n}\n.maru-table-wrapper .maru-table-header .maru-table-header-sortable {\n padding: unset;\n margin: unset;\n color: #5c5c5c;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 600;\n}\n.maru-table-wrapper .maru-table-header .sort-icon-wrapper-th {\n display: flex;\n}\n.maru-table-wrapper .maru-table-body-scroll-wrapper {\n overflow-y: auto;\n}\n.maru-table-wrapper .maru-table-body-scroll-wrapper .maru-table-scroll {\n overflow-y: auto;\n}\n.maru-table-wrapper .maru-table-body tr:not(:last-of-type) {\n border-bottom: 1px solid #fafafa;\n}\n.maru-table-wrapper .maru-table-body tr:hover,\n.maru-table-wrapper .maru-table-body .clickable-row:hover,\n.maru-table-wrapper .maru-table-body .selected-row {\n background-color: var(--p-05);\n}\n.maru-table-wrapper .maru-table-body .highlight-row {\n background-color: var(--p-20);\n}\n.maru-table-wrapper .maru-table-body td {\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 400;\n}\n.maru-table-wrapper .maru-table-body tr:last-of-type td:first-of-type {\n border-bottom-left-radius: 6px;\n}\n.maru-table-wrapper .maru-table-body tr:last-of-type td:last-of-type {\n border-bottom-right-radius: 6px;\n}\n.maru-table-wrapper .maru-table-body .clickable-row {\n cursor: pointer;\n}\n.maru-table-wrapper .maru-table-body-kebab-td .maru-table-body-kebab-wrapper {\n display: flex;\n flex-direction: column;\n align-items: center;\n}\n.maru-table-wrapper .maru-table-body-bin-button-td .maru-table-body-bin-button-wrapper {\n display: flex;\n flex-direction: column;\n}\n.maru-table-wrapper .maru-table-body-kebab {\n margin: unset;\n padding: unset;\n height: auto;\n width: -webkit-fit-content;\n width: -moz-fit-content;\n width: fit-content;\n}\n.maru-table-wrapper .maru-table-body-empty-tr > td {\n width: 100%;\n vertical-align: middle;\n text-align: center;\n}\n.maru-table-wrapper .maru-table-body-empty-tr > td p {\n margin-top: 20px;\n font-family: Pretendard;\n font-style: normal;\n line-height: 150%;\n font-size: 14px;\n letter-spacing: -0.56px;\n font-weight: 400;\n color: #bdbdbd;\n}\n.maru-table-wrapper .maru-table-body-empty-tr:hover {\n background-color: inherit !important;\n}\n.maru-table-wrapper .maru-table-body-empty-tr .loading-wrapper {\n -webkit-animation: blink 1s infinite;\n animation: blink 1s infinite;\n}";
27442
27549
  styleInject(css_248z$1);
27443
27550
 
27444
27551
  // eslint-disable-next-line import/prefer-default-export
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maru_design2",
3
- "version": "2.22.4",
3
+ "version": "2.23.1",
4
4
  "main": "./dist/index.js",
5
5
  "author": "zena-42maru",
6
6
  "license": "MIT",