@ncds/ui-admin 1.4.1 → 1.5.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.
Files changed (82) hide show
  1. package/dist/cjs/assets/scripts/comboBox.js +18 -0
  2. package/dist/cjs/assets/scripts/datePicker.js +60 -7
  3. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputModel.js +6 -19
  4. package/dist/cjs/assets/scripts/notification/MessageNotification.js +146 -0
  5. package/dist/cjs/assets/scripts/notification/Notification.js +6 -3
  6. package/dist/cjs/assets/scripts/notification/const/classNames.js +14 -0
  7. package/dist/cjs/assets/scripts/notification/const/index.js +14 -1
  8. package/dist/cjs/assets/scripts/notification/const/sizes.js +7 -1
  9. package/dist/cjs/assets/scripts/notification/const/types.js +10 -1
  10. package/dist/cjs/assets/scripts/notification/index.js +8 -0
  11. package/dist/cjs/assets/scripts/notification/utils.js +3 -3
  12. package/dist/cjs/assets/scripts/utils/selectbox/DropdownModel.js +7 -0
  13. package/dist/cjs/assets/scripts/utils/selectbox/UnifiedSelectBox.js +77 -43
  14. package/dist/cjs/src/components/button/ButtonGroup.js +1 -2
  15. package/dist/cjs/src/components/button/ButtonStepper.js +23 -0
  16. package/dist/cjs/src/components/button/index.js +22 -0
  17. package/dist/cjs/src/components/date-picker/DatePicker.js +45 -6
  18. package/dist/cjs/src/components/date-picker/RangeDatePicker.js +3 -1
  19. package/dist/cjs/src/components/date-picker/RangeDatePickerWithButtons.js +7 -3
  20. package/dist/cjs/src/components/index.js +11 -0
  21. package/dist/cjs/src/components/input/InputBase.js +1 -1
  22. package/dist/cjs/src/components/input/NumberInput.js +130 -0
  23. package/dist/cjs/src/components/input/PasswordInput.js +3 -2
  24. package/dist/cjs/src/components/input/index.js +11 -0
  25. package/dist/cjs/src/components/notification/MessageNotification.js +137 -0
  26. package/dist/cjs/src/components/notification/Notification.js +23 -9
  27. package/dist/cjs/src/components/notification/index.js +11 -0
  28. package/dist/cjs/src/components/tooltip/Tooltip.js +32 -21
  29. package/dist/esm/assets/scripts/comboBox.js +18 -0
  30. package/dist/esm/assets/scripts/datePicker.js +60 -7
  31. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputModel.js +6 -19
  32. package/dist/esm/assets/scripts/notification/MessageNotification.js +141 -0
  33. package/dist/esm/assets/scripts/notification/Notification.js +6 -3
  34. package/dist/esm/assets/scripts/notification/const/classNames.js +14 -0
  35. package/dist/esm/assets/scripts/notification/const/index.js +2 -1
  36. package/dist/esm/assets/scripts/notification/const/sizes.js +6 -0
  37. package/dist/esm/assets/scripts/notification/const/types.js +8 -1
  38. package/dist/esm/assets/scripts/notification/index.js +1 -0
  39. package/dist/esm/assets/scripts/notification/utils.js +3 -3
  40. package/dist/esm/assets/scripts/utils/selectbox/DropdownModel.js +7 -0
  41. package/dist/esm/assets/scripts/utils/selectbox/UnifiedSelectBox.js +77 -43
  42. package/dist/esm/src/components/button/ButtonStepper.js +15 -0
  43. package/dist/esm/src/components/button/index.js +3 -1
  44. package/dist/esm/src/components/date-picker/DatePicker.js +46 -7
  45. package/dist/esm/src/components/date-picker/RangeDatePicker.js +3 -1
  46. package/dist/esm/src/components/date-picker/RangeDatePickerWithButtons.js +7 -3
  47. package/dist/esm/src/components/index.js +2 -1
  48. package/dist/esm/src/components/input/InputBase.js +1 -1
  49. package/dist/esm/src/components/input/NumberInput.js +124 -0
  50. package/dist/esm/src/components/input/PasswordInput.js +4 -3
  51. package/dist/esm/src/components/input/index.js +1 -0
  52. package/dist/esm/src/components/notification/MessageNotification.js +130 -0
  53. package/dist/esm/src/components/notification/Notification.js +23 -9
  54. package/dist/esm/src/components/notification/index.js +2 -1
  55. package/dist/esm/src/components/tooltip/Tooltip.js +33 -22
  56. package/dist/types/assets/scripts/comboBox.d.ts +12 -0
  57. package/dist/types/assets/scripts/datePicker.d.ts +1 -0
  58. package/dist/types/assets/scripts/notification/MessageNotification.d.ts +23 -0
  59. package/dist/types/assets/scripts/notification/Notification.d.ts +1 -1
  60. package/dist/types/assets/scripts/notification/const/classNames.d.ts +14 -0
  61. package/dist/types/assets/scripts/notification/const/index.d.ts +2 -1
  62. package/dist/types/assets/scripts/notification/const/sizes.d.ts +5 -0
  63. package/dist/types/assets/scripts/notification/const/types.d.ts +1 -0
  64. package/dist/types/assets/scripts/notification/index.d.ts +1 -0
  65. package/dist/types/assets/scripts/utils/selectbox/DropdownModel.d.ts +4 -0
  66. package/dist/types/assets/scripts/utils/selectbox/UnifiedSelectBox.d.ts +20 -1
  67. package/dist/types/src/components/button/ButtonGroup.d.ts +1 -3
  68. package/dist/types/src/components/button/ButtonStepper.d.ts +10 -0
  69. package/dist/types/src/components/button/index.d.ts +2 -0
  70. package/dist/types/src/components/date-picker/DatePicker.d.ts +1 -0
  71. package/dist/types/src/components/date-picker/RangeDatePickerWithButtons.d.ts +4 -4
  72. package/dist/types/src/components/index.d.ts +1 -0
  73. package/dist/types/src/components/input/NumberInput.d.ts +10 -0
  74. package/dist/types/src/components/input/index.d.ts +1 -0
  75. package/dist/types/src/components/modal/Modal.d.ts +2 -2
  76. package/dist/types/src/components/notification/MessageNotification.d.ts +40 -0
  77. package/dist/types/src/components/notification/Notification.d.ts +6 -1
  78. package/dist/types/src/components/notification/index.d.ts +1 -0
  79. package/dist/types/src/components/selectbox/SelectBox.d.ts +1 -1
  80. package/dist/types/src/components/tooltip/Tooltip.d.ts +4 -2
  81. package/dist/ui-admin/assets/styles/style.css +298 -18
  82. package/package.json +1 -1
@@ -20,20 +20,34 @@ import { jsx as _jsx } from "react/jsx-runtime";
20
20
  import { forwardRef } from 'react';
21
21
  import { FloatingNotification } from './FloatingNotification';
22
22
  import { FullWidthNotification } from './FullWidthNotification';
23
+ import { MessageNotification } from './MessageNotification';
23
24
  export var Notification = /*#__PURE__*/forwardRef(function (_a, ref) {
24
25
  var _b = _a.type,
25
26
  type = _b === void 0 ? 'floating' : _b,
26
27
  _c = _a.color,
27
28
  color = _c === void 0 ? 'neutral' : _c,
28
29
  rest = __rest(_a, ["type", "color"]);
29
- return type === 'floating' ? _jsx(FloatingNotification, __assign({
30
- color: color
31
- }, rest, {
32
- ref: ref
33
- })) : _jsx(FullWidthNotification, __assign({
34
- color: color
35
- }, rest, {
36
- ref: ref
37
- }));
30
+ if (type === 'floating') {
31
+ return _jsx(FloatingNotification, __assign({
32
+ color: color
33
+ }, rest, {
34
+ ref: ref
35
+ }));
36
+ }
37
+ if (type === 'full-width') {
38
+ return _jsx(FullWidthNotification, __assign({
39
+ color: color
40
+ }, rest, {
41
+ ref: ref
42
+ }));
43
+ }
44
+ if (type === 'message') {
45
+ return _jsx(MessageNotification, __assign({
46
+ color: color
47
+ }, rest, {
48
+ ref: ref
49
+ }));
50
+ }
51
+ return null;
38
52
  });
39
53
  Notification.displayName = 'Notification';
@@ -1,3 +1,4 @@
1
1
  export * from './Notification';
2
2
  export * from './FloatingNotification';
3
- export * from './FullWidthNotification';
3
+ export * from './FullWidthNotification';
4
+ export * from './MessageNotification';
@@ -9,7 +9,7 @@ var __assign = this && this.__assign || function () {
9
9
  return __assign.apply(this, arguments);
10
10
  };
11
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- import { HelpCircle, HelpCircleFill } from '@ncds/ui-admin-icon';
12
+ import { AlertCircle, AlertCircleFill, HelpCircle, HelpCircleFill } from '@ncds/ui-admin-icon';
13
13
  import classNames from 'classnames';
14
14
  import { useRef, useState, useCallback, useMemo } from 'react';
15
15
  import { ButtonCloseX } from '../button/ButtonCloseX';
@@ -67,22 +67,26 @@ export var Tooltip = function (_a) {
67
67
  hideArrow = _f === void 0 ? false : _f,
68
68
  _g = _a.type,
69
69
  type = _g === void 0 ? 'short' : _g,
70
+ _h = _a.iconColor,
71
+ iconColor = _h === void 0 ? 'var(--gray-300)' : _h,
72
+ _j = _a.iconStyle,
73
+ iconStyle = _j === void 0 ? 'help-circle' : _j,
70
74
  className = _a.className;
71
75
  var iconSize = size === 'sm' ? 14 : 16;
72
76
  var tooltipRef = useRef(null);
73
77
  var tooltipBgRef = useRef(null);
74
- var _h = useState(position === 'auto' ? 'bottom' : position),
75
- calculatedPosition = _h[0],
76
- setCalculatedPosition = _h[1];
77
- var _j = useState(false),
78
- isVisible = _j[0],
79
- setIsVisible = _j[1];
80
- var _k = useState(false),
81
- isManuallyClose = _k[0],
82
- setIsManuallyClose = _k[1];
78
+ var _k = useState(position === 'auto' ? 'bottom' : position),
79
+ calculatedPosition = _k[0],
80
+ setCalculatedPosition = _k[1];
83
81
  var _l = useState(false),
84
- isMeasuring = _l[0],
85
- setIsMeasuring = _l[1];
82
+ isVisible = _l[0],
83
+ setIsVisible = _l[1];
84
+ var _m = useState(false),
85
+ isManuallyClose = _m[0],
86
+ setIsManuallyClose = _m[1];
87
+ var _o = useState(false),
88
+ isMeasuring = _o[0],
89
+ setIsMeasuring = _o[1];
86
90
  var handleMouseEnter = useCallback(function () {
87
91
  if (isManuallyClose) return;
88
92
  setIsVisible(true);
@@ -130,15 +134,23 @@ export var Tooltip = function (_a) {
130
134
  onMouseEnter: handleMouseEnter,
131
135
  onMouseLeave: handleMouseLeave
132
136
  }, {
133
- children: [iconType === 'stroke' ? _jsx(HelpCircle, {
137
+ children: [iconStyle === 'help-circle' && (iconType === 'stroke' ? _jsx(HelpCircle, {
134
138
  width: iconSize,
135
139
  height: iconSize,
136
- color: "var(--gray-300)"
140
+ color: iconColor
137
141
  }) : _jsx(HelpCircleFill, {
138
142
  width: iconSize,
139
143
  height: iconSize,
140
- color: "var(--gray-300)"
141
- }), _jsxs("span", __assign({
144
+ color: iconColor
145
+ })), iconStyle === 'alert-circle' && (iconType === 'stroke' ? _jsx(AlertCircle, {
146
+ width: iconSize,
147
+ height: iconSize,
148
+ color: iconColor
149
+ }) : _jsx(AlertCircleFill, {
150
+ width: iconSize,
151
+ height: iconSize,
152
+ color: iconColor
153
+ })), _jsxs("span", __assign({
142
154
  ref: tooltipBgRef,
143
155
  className: tooltipBgClassName
144
156
  }, {
@@ -146,12 +158,11 @@ export var Tooltip = function (_a) {
146
158
  className: "ncua-tooltip__title"
147
159
  }, {
148
160
  children: title
149
- })), content && _jsx("span", {
150
- className: "ncua-tooltip__content",
151
- dangerouslySetInnerHTML: {
152
- __html: content
153
- }
154
- }), type === 'long' && _jsx(ButtonCloseX, {
161
+ })), content && _jsx("span", __assign({
162
+ className: "ncua-tooltip__content"
163
+ }, {
164
+ children: content
165
+ })), type === 'long' && _jsx(ButtonCloseX, {
155
166
  className: "ncua-tooltip__close-button",
156
167
  size: "xs",
157
168
  theme: tooltipType === 'white' ? 'dark' : 'light',
@@ -75,5 +75,17 @@ export declare class ComboBox {
75
75
  getSelectedCount(): number;
76
76
  isMultiple(): boolean;
77
77
  toggleSelectAll(): void;
78
+ /**
79
+ * 드롭다운을 스크롤의 바닥으로 이동
80
+ */
81
+ scrollToBottom(): void;
82
+ /**
83
+ * 전체 선택 버튼의 텍스트를 외부에서 변경
84
+ */
85
+ setSelectAllButtonText(text: string): void;
86
+ /**
87
+ * 특정 인덱스의 옵션으로 포커스 이동
88
+ */
89
+ setFocusIndex(index: number): void;
78
90
  }
79
91
  //# sourceMappingURL=comboBox.d.ts.map
@@ -46,6 +46,7 @@ export declare class DatePicker {
46
46
  private updateButtonsByPeriod;
47
47
  private calculateDatesFromButton;
48
48
  setDate(dates: string[]): void;
49
+ private convertFlatpickrFormatToMoment;
49
50
  getDates(): string[];
50
51
  }
51
52
  export {};
@@ -0,0 +1,23 @@
1
+ import type { BaseNotificationOptions } from './const';
2
+ export interface MessageNotificationOptions extends BaseNotificationOptions {
3
+ type?: 'message';
4
+ }
5
+ export declare class MessageNotification {
6
+ private element;
7
+ private options;
8
+ private autoCloseTimer?;
9
+ private featuredIcon?;
10
+ constructor(options: MessageNotificationOptions);
11
+ private createElement;
12
+ private buildTemplate;
13
+ private renderHidePermanentlyButton;
14
+ private renderCloseButton;
15
+ private bindEvents;
16
+ private setupAutoClose;
17
+ getElement(): HTMLElement;
18
+ appendTo(parent: HTMLElement): void;
19
+ remove(): void;
20
+ destroy(): void;
21
+ static create(options: MessageNotificationOptions): MessageNotification;
22
+ }
23
+ //# sourceMappingURL=MessageNotification.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import type { NotificationColor, BaseNotificationOptions } from './const';
2
2
  export interface NotificationOptions extends BaseNotificationOptions {
3
- type?: 'full-width' | 'floating';
3
+ type?: 'full-width' | 'floating' | 'message';
4
4
  }
5
5
  export declare class Notification {
6
6
  private instance;
@@ -23,6 +23,20 @@ export declare const CLASS_NAMES: {
23
23
  readonly ACTIONS: "ncua-floating-notification__actions";
24
24
  readonly CLOSE_BUTTON: "ncua-floating-notification__close-button";
25
25
  };
26
+ readonly MESSAGE: {
27
+ readonly BASE: "ncua-message-notification";
28
+ readonly CONTAINER: "ncua-message-notification__container";
29
+ readonly CONTENT: "ncua-message-notification__content";
30
+ readonly CONTENT_WRAPPER: "ncua-message-notification__content-wrapper";
31
+ readonly ICON: "ncua-message-notification__icon";
32
+ readonly TEXT_CONTAINER: "ncua-message-notification__text-container";
33
+ readonly TITLE: "ncua-message-notification__title";
34
+ readonly SUPPORTING_TEXT: "ncua-message-notification__supporting-text";
35
+ readonly ACTIONS_CONTAINER: "ncua-message-notification__actions-container";
36
+ readonly ACTIONS: "ncua-message-notification__actions";
37
+ readonly HIDE_LINK: "ncua-message-notification__hide-link";
38
+ readonly CLOSE_BUTTON: "ncua-message-notification__close-button";
39
+ };
26
40
  readonly COMMON: {
27
41
  readonly ACTION_BUTTON: "ncua-notification__action-button";
28
42
  };
@@ -1,5 +1,6 @@
1
1
  export type { NotificationColor, NotificationHierarchy, NotificationAction, BaseNotificationOptions } from './types';
2
2
  export { SVG_ICONS, FLOATING_ICON_MAP, FULL_WIDTH_ICON_MAP, ICON_MAP } from './icons';
3
3
  export { CLASS_NAMES } from './classNames';
4
- export { FEATURED_ICON_SIZES, ICON_PIXEL_SIZES, CLOSE_BUTTON_SIZES, CLOSE_BUTTON_SVG_SIZES, FULL_WIDTH_SIZES, getSizes, } from './sizes';
4
+ export { FEATURED_ICON_SIZES, ICON_PIXEL_SIZES, CLOSE_BUTTON_SIZES, CLOSE_BUTTON_SVG_SIZES, FULL_WIDTH_SIZES, MESSAGE_SIZES, getSizes, } from './sizes';
5
+ export { MESSAGE_CLOSE_ICON_COLORS } from './types';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -19,6 +19,11 @@ export declare const FULL_WIDTH_SIZES: {
19
19
  readonly ICON: "16";
20
20
  readonly CLOSE_BUTTON: "20";
21
21
  };
22
+ export declare const MESSAGE_SIZES: {
23
+ readonly FEATURED_ICON: "lg";
24
+ readonly ICON_PIXEL: "24";
25
+ readonly CLOSE_BUTTON: "20";
26
+ };
22
27
  export declare const getSizes: {
23
28
  readonly featuredIcon: (isMobile: boolean) => "sm" | "md";
24
29
  readonly iconPixel: (isMobile: boolean) => "16" | "20";
@@ -16,4 +16,5 @@ export interface BaseNotificationOptions {
16
16
  supportTextLink?: string;
17
17
  onHidePermanently?: () => void;
18
18
  }
19
+ export declare const MESSAGE_CLOSE_ICON_COLORS: Record<NotificationColor, string>;
19
20
  //# sourceMappingURL=types.d.ts.map
@@ -1,6 +1,7 @@
1
1
  export { Notification, type NotificationOptions } from './Notification';
2
2
  export { FullWidthNotification, type FullWidthNotificationOptions } from './FullWidthNotification';
3
3
  export { FloatingNotification, type FloatingNotificationOptions } from './FloatingNotification';
4
+ export { MessageNotification, type MessageNotificationOptions } from './MessageNotification';
4
5
  export * from './utils';
5
6
  export type { NotificationColor, NotificationHierarchy, NotificationAction, BaseNotificationOptions } from './const';
6
7
  export { SVG_ICONS, CLASS_NAMES, ICON_MAP, FLOATING_ICON_MAP, FULL_WIDTH_ICON_MAP } from './const';
@@ -114,6 +114,10 @@ export declare class DropdownModel {
114
114
  * 검색 및 필터링 업데이트 (SearchFilterUtils에서 이동)
115
115
  */
116
116
  updateSearchAndFilter(searchValue: string, showAllItems?: boolean): void;
117
+ /**
118
+ * 검색어만 업데이트 (필터링 없이, API 모드용)
119
+ */
120
+ updateSearchValue(searchValue: string): void;
117
121
  /**
118
122
  * 드롭다운이 열릴 수 있는지 확인 (ComboBox용)
119
123
  */
@@ -5,7 +5,7 @@ export interface UnifiedSelectBoxConfig {
5
5
  placeholder?: string;
6
6
  value?: OptionValue;
7
7
  onChange?: (value: OptionValue) => void;
8
- onSearch?: (searchValue: string) => void;
8
+ onSearch?: (searchValue: string) => void | Promise<void>;
9
9
  onEdit?: () => void;
10
10
  onSelectAll?: () => void;
11
11
  onSearchAll?: () => void;
@@ -48,6 +48,10 @@ export declare class UnifiedSelectBox {
48
48
  private createSelectBoxUI;
49
49
  private createDropdown;
50
50
  private setupController;
51
+ /**
52
+ * 디바운싱 타이머 취소
53
+ */
54
+ private cancelDebounceTimer;
51
55
  private handleInput;
52
56
  private handleInputClick;
53
57
  private handleClearInput;
@@ -76,5 +80,20 @@ export declare class UnifiedSelectBox {
76
80
  modelState: any;
77
81
  isOpen: boolean;
78
82
  };
83
+ /**
84
+ * 드롭다운을 스크롤의 바닥으로 이동
85
+ * 전체 선택 시 추가 데이터 로드를 트리거하기 위해 사용
86
+ */
87
+ scrollToBottom(): void;
88
+ /**
89
+ * 전체 선택 버튼의 텍스트를 외부에서 변경
90
+ * @param text 버튼에 표시할 텍스트
91
+ */
92
+ setSelectAllButtonText(text: string): void;
93
+ /**
94
+ * 특정 인덱스의 옵션으로 포커스 이동
95
+ * @param index 포커스를 이동할 옵션의 인덱스
96
+ */
97
+ setFocusIndex(index: number): void;
79
98
  }
80
99
  //# sourceMappingURL=UnifiedSelectBox.d.ts.map
@@ -164,7 +164,7 @@ export declare const ButtonGroup: {
164
164
  onBlurCapture?: React.FocusEventHandler<HTMLButtonElement> | undefined;
165
165
  onChange?: React.FormEventHandler<HTMLButtonElement> | undefined;
166
166
  onChangeCapture?: React.FormEventHandler<HTMLButtonElement> | undefined;
167
- onBeforeInput?: React.FormEventHandler<HTMLButtonElement> | undefined;
167
+ onBeforeInput?: React.InputEventHandler<HTMLButtonElement> | undefined;
168
168
  onBeforeInputCapture?: React.FormEventHandler<HTMLButtonElement> | undefined;
169
169
  onInput?: React.FormEventHandler<HTMLButtonElement> | undefined;
170
170
  onInputCapture?: React.FormEventHandler<HTMLButtonElement> | undefined;
@@ -214,8 +214,6 @@ export declare const ButtonGroup: {
214
214
  onProgressCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
215
215
  onRateChange?: React.ReactEventHandler<HTMLButtonElement> | undefined;
216
216
  onRateChangeCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
217
- onResize?: React.ReactEventHandler<HTMLButtonElement> | undefined;
218
- onResizeCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
219
217
  onSeeked?: React.ReactEventHandler<HTMLButtonElement> | undefined;
220
218
  onSeekedCapture?: React.ReactEventHandler<HTMLButtonElement> | undefined;
221
219
  onSeeking?: React.ReactEventHandler<HTMLButtonElement> | undefined;
@@ -0,0 +1,10 @@
1
+ import { Size } from '../../../constant/size';
2
+ export type ButtonStepperProps = {
3
+ size: Extract<Size, 'xs' | 'sm'>;
4
+ direction: 'up' | 'down';
5
+ disabled?: boolean;
6
+ onClick?: () => void;
7
+ className?: string;
8
+ };
9
+ export declare const ButtonStepper: ({ size, direction, disabled, onClick, className }: ButtonStepperProps) => import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=ButtonStepper.d.ts.map
@@ -1,3 +1,5 @@
1
1
  export * from './Button';
2
+ export * from './ButtonCloseX';
2
3
  export * from './ButtonGroup';
4
+ export * from './ButtonStepper';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -8,6 +8,7 @@ export type DatePickerProps = {
8
8
  datePickerOptions?: Options;
9
9
  destructive?: string;
10
10
  placeholder?: string;
11
+ isEndDate?: boolean;
11
12
  onChangeDate: (date: string) => void;
12
13
  } & Omit<DateTimePickerProps, 'size' | 'options' | 'value'>;
13
14
  export declare const DatePicker: import("react").ForwardRefExoticComponent<Omit<DatePickerProps, "ref"> & import("react").RefAttributes<DateTimePickerHandle>>;
@@ -1,14 +1,14 @@
1
- import { Dispatch, SetStateAction } from 'react';
1
+ import { type Dispatch, type SetStateAction } from 'react';
2
2
  import { PERIOD_ITEM } from '../../constant/date-picker';
3
- import { RangeDatePickerProps } from './RangeDatePicker';
3
+ import { type RangeDatePickerProps } from './RangeDatePicker';
4
4
  export type PeriodKeyType = keyof typeof PERIOD_ITEM;
5
5
  type RangeDatePickerWithButtonsProps = {
6
- fixedEndDate?: string;
6
+ useYesterdayAsEndDate?: boolean;
7
7
  currentButtonId: PeriodKeyType;
8
8
  setCurrentButtonId: Dispatch<SetStateAction<PeriodKeyType>>;
9
9
  periodKeys: PeriodKeyType[];
10
10
  size?: 'xs' | 'sm';
11
11
  } & RangeDatePickerProps;
12
- export declare const RangeDatePickerWithButtons: ({ fixedEndDate, size, currentButtonId, setCurrentButtonId, startDateOptions, endDateOptions, validationOption, periodKeys, onDateValidation, }: RangeDatePickerWithButtonsProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const RangeDatePickerWithButtons: ({ useYesterdayAsEndDate, size, currentButtonId, setCurrentButtonId, startDateOptions, endDateOptions, validationOption, periodKeys, onDateValidation, }: RangeDatePickerWithButtonsProps) => import("react/jsx-runtime").JSX.Element;
13
13
  export {};
14
14
  //# sourceMappingURL=RangeDatePickerWithButtons.d.ts.map
@@ -28,4 +28,5 @@ export * from './tab';
28
28
  export * from './tag';
29
29
  export * from './toggle';
30
30
  export * from './tooltip';
31
+ export * from './image-file-input';
31
32
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,10 @@
1
+ import { InputBaseProps } from './InputBase';
2
+ type NumberInputProps = InputBaseProps & {
3
+ minValue?: number;
4
+ maxValue?: number;
5
+ step?: number;
6
+ stepperPosition?: 'leading' | 'trailing';
7
+ };
8
+ export declare const NumberInput: import("react").ForwardRefExoticComponent<NumberInputProps & import("react").RefAttributes<HTMLInputElement>>;
9
+ export {};
10
+ //# sourceMappingURL=NumberInput.d.ts.map
@@ -1,4 +1,5 @@
1
1
  export * from './InputBase';
2
+ export * from './NumberInput';
2
3
  export * from './PasswordInput';
3
4
  export * from './Textarea';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -58,8 +58,8 @@ export type ModalHeaderProps = {
58
58
  theme: FeaturedIconTheme;
59
59
  };
60
60
  align?: ModalHeaderAlign;
61
- title?: string;
62
- subtitle?: string;
61
+ title?: string | ReactNode;
62
+ subtitle?: string | ReactNode;
63
63
  showDivider?: boolean;
64
64
  hideCloseButton?: boolean;
65
65
  };
@@ -0,0 +1,40 @@
1
+ import { type IconName } from '@ncds/ui-admin-icon/dynamic';
2
+ import { ComponentPropsWithoutRef, ReactNode } from 'react';
3
+ import { NotificationAction, NotificationColor } from './Notification';
4
+ export interface MessageNotificationProps extends Omit<ComponentPropsWithoutRef<'div'>, 'title'> {
5
+ /**
6
+ * 알림 제목 텍스트
7
+ */
8
+ title: ReactNode;
9
+ /**
10
+ * 알림 본문 텍스트 (선택사항)
11
+ */
12
+ supportingText?: ReactNode;
13
+ /**
14
+ * 알림 아이콘 이름 (지정하지 않으면 color에 따라 기본 아이콘 사용)
15
+ */
16
+ icon?: IconName;
17
+ /**
18
+ * 알림 색상 스타일
19
+ * @default 'neutral'
20
+ */
21
+ color?: NotificationColor;
22
+ /**
23
+ * 닫기 버튼 클릭 이벤트 핸들러
24
+ */
25
+ onClose?: () => void;
26
+ /**
27
+ * 추가 CSS 클래스
28
+ */
29
+ className?: string;
30
+ /**
31
+ * 액션 버튼 영역 (선택사항)
32
+ */
33
+ actions?: NotificationAction[];
34
+ /**
35
+ * 다시보지 않기 이벤트 핸들러 (선택사항)
36
+ */
37
+ onHidePermanently?: () => void;
38
+ }
39
+ export declare const MessageNotification: import("react").ForwardRefExoticComponent<MessageNotificationProps & import("react").RefAttributes<HTMLDivElement>>;
40
+ //# sourceMappingURL=MessageNotification.d.ts.map
@@ -2,7 +2,7 @@ import type { IconName } from '@ncds/ui-admin-icon/dynamic';
2
2
  import { ComponentPropsWithoutRef, ReactNode } from 'react';
3
3
  import { ColorTone } from '../../../constant/color';
4
4
  import { ButtonTheme } from '../button';
5
- export type NotificationType = 'floating' | 'full-width';
5
+ export type NotificationType = 'floating' | 'full-width' | 'message';
6
6
  export type NotificationColor = Extract<ColorTone, 'neutral' | 'error' | 'warning' | 'success' | 'info'>;
7
7
  export type NotificationSize = 'desktop' | 'mobile';
8
8
  export interface NotificationAction {
@@ -61,6 +61,11 @@ export interface NotificationProps extends Omit<ComponentPropsWithoutRef<'div'>,
61
61
  * @default 0
62
62
  */
63
63
  autoClose?: number;
64
+ /**
65
+ * 다시보지 않기 이벤트 핸들러 (선택사항)
66
+ * message, full-width 타입에서 사용 가능
67
+ */
68
+ onHidePermanently?: () => void;
64
69
  }
65
70
  export declare const Notification: import("react").ForwardRefExoticComponent<NotificationProps & import("react").RefAttributes<HTMLDivElement>>;
66
71
  //# sourceMappingURL=Notification.d.ts.map
@@ -1,4 +1,5 @@
1
1
  export * from './Notification';
2
2
  export * from './FloatingNotification';
3
3
  export * from './FullWidthNotification';
4
+ export * from './MessageNotification';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
- import { Size } from '@ncds/ui-admin/constant/size';
2
1
  import { ComponentPropsWithRef, PropsWithChildren } from 'react';
3
2
  import { UseFormRegisterReturn } from 'react-hook-form';
3
+ import { Size } from '../../../constant/size';
4
4
  import { OptionChangeHandler, OptionType, OptionValue } from '../../types/dropdown';
5
5
  export declare const DEFAULT_MAX_HEIGHT = 275;
6
6
  type BaseSelectBoxProps = Omit<ComponentPropsWithRef<'div'>, 'size' | 'onChange'>;
@@ -5,10 +5,12 @@ interface TooltipProps {
5
5
  size?: 'sm' | 'md';
6
6
  hideArrow?: boolean;
7
7
  title?: string;
8
- content?: string;
8
+ content?: React.ReactNode;
9
9
  type?: 'long' | 'short';
10
10
  className?: string;
11
+ iconColor?: string;
12
+ iconStyle?: 'help-circle' | 'alert-circle';
11
13
  }
12
- export declare const Tooltip: ({ tooltipType, iconType, position, size, title, content, hideArrow, type, className, }: TooltipProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const Tooltip: ({ tooltipType, iconType, position, size, title, content, hideArrow, type, iconColor, iconStyle, className, }: TooltipProps) => import("react/jsx-runtime").JSX.Element;
13
15
  export {};
14
16
  //# sourceMappingURL=Tooltip.d.ts.map