@ncds/ui-admin 1.6.3 → 1.6.4-alpha.0

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 (260) hide show
  1. package/mcp/bin/server.d.ts +1 -0
  2. package/mcp/bin/server.js +62 -0
  3. package/mcp/bin/server.mjs +14 -0
  4. package/mcp/bin/tools/getComponentHtml.d.ts +3 -0
  5. package/mcp/bin/tools/getComponentHtml.js +30 -0
  6. package/mcp/bin/tools/getComponentProps.d.ts +3 -0
  7. package/mcp/bin/tools/getComponentProps.js +16 -0
  8. package/mcp/bin/tools/listComponents.d.ts +3 -0
  9. package/mcp/bin/tools/listComponents.js +15 -0
  10. package/mcp/bin/tools/searchComponent.d.ts +3 -0
  11. package/mcp/bin/tools/searchComponent.js +20 -0
  12. package/mcp/bin/tools/validateHtml.d.ts +10 -0
  13. package/mcp/bin/tools/validateHtml.js +142 -0
  14. package/mcp/bin/types.d.ts +28 -0
  15. package/mcp/bin/types.js +5 -0
  16. package/mcp/bin/utils/dataLoader.d.ts +11 -0
  17. package/mcp/bin/utils/dataLoader.js +68 -0
  18. package/mcp/bin/utils/logger.d.ts +18 -0
  19. package/mcp/bin/utils/logger.js +27 -0
  20. package/mcp/bin/utils/response.d.ts +23 -0
  21. package/mcp/bin/utils/response.js +31 -0
  22. package/mcp/bin/version.d.ts +1 -0
  23. package/mcp/bin/version.js +4 -0
  24. package/mcp/data/.gitkeep +0 -0
  25. package/mcp/data/_meta.json +7 -0
  26. package/mcp/data/badge-group.json +73 -0
  27. package/mcp/data/badge.json +86 -0
  28. package/mcp/data/bread-crumb.json +22 -0
  29. package/mcp/data/breadcrumb.json +31 -0
  30. package/mcp/data/button-group.json +65 -0
  31. package/mcp/data/button.json +114 -0
  32. package/mcp/data/carousel-arrow.json +59 -0
  33. package/mcp/data/carousel-number-group.json +57 -0
  34. package/mcp/data/carousel.json +22 -0
  35. package/mcp/data/checkbox.json +31 -0
  36. package/mcp/data/combobox.json +114 -0
  37. package/mcp/data/date-picker.json +77 -0
  38. package/mcp/data/divider.json +56 -0
  39. package/mcp/data/dot.json +55 -0
  40. package/mcp/data/dropdown.json +81 -0
  41. package/mcp/data/empty-state.json +34 -0
  42. package/mcp/data/featured-icon.json +83 -0
  43. package/mcp/data/file-input.json +76 -0
  44. package/mcp/data/horizontal-tab.json +71 -0
  45. package/mcp/data/image-file-input.json +97 -0
  46. package/mcp/data/input.json +104 -0
  47. package/mcp/data/modal.json +85 -0
  48. package/mcp/data/notification.json +116 -0
  49. package/mcp/data/number-input.json +128 -0
  50. package/mcp/data/pagination.json +65 -0
  51. package/mcp/data/password-input.json +47 -0
  52. package/mcp/data/progress-bar.json +51 -0
  53. package/mcp/data/progress-circle.json +54 -0
  54. package/mcp/data/radio.json +31 -0
  55. package/mcp/data/range-date-picker-with-buttons.json +64 -0
  56. package/mcp/data/range-date-picker.json +55 -0
  57. package/mcp/data/select-dropdown.json +32 -0
  58. package/mcp/data/select.json +64 -0
  59. package/mcp/data/selectbox.json +129 -0
  60. package/mcp/data/slider.json +57 -0
  61. package/mcp/data/spinner.json +54 -0
  62. package/mcp/data/switch.json +71 -0
  63. package/mcp/data/tab.json +122 -0
  64. package/mcp/data/tag.json +66 -0
  65. package/mcp/data/textarea.json +88 -0
  66. package/mcp/data/toggle.json +59 -0
  67. package/mcp/data/tooltip.json +123 -0
  68. package/mcp/data/vertical-tab.json +64 -0
  69. package/mcp/templates/.mcp.json.example +8 -0
  70. package/mcp/templates/README.md +31 -0
  71. package/package.json +24 -3
  72. package/dist/cjs/assets/scripts/comboBox.js +0 -280
  73. package/dist/cjs/assets/scripts/datePicker.js +0 -706
  74. package/dist/cjs/assets/scripts/featuredIcon.js +0 -95
  75. package/dist/cjs/assets/scripts/fileInput/FileInput.js +0 -183
  76. package/dist/cjs/assets/scripts/fileInput/FileInputModel.js +0 -246
  77. package/dist/cjs/assets/scripts/fileInput/FileInputView.js +0 -455
  78. package/dist/cjs/assets/scripts/fileInput/const/classNames.js +0 -35
  79. package/dist/cjs/assets/scripts/fileInput/const/index.js +0 -27
  80. package/dist/cjs/assets/scripts/fileInput/const/types.js +0 -13
  81. package/dist/cjs/assets/scripts/fileInput/index.js +0 -44
  82. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInput.js +0 -187
  83. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputModel.js +0 -255
  84. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputView.js +0 -354
  85. package/dist/cjs/assets/scripts/imageFileInput/const/classNames.js +0 -41
  86. package/dist/cjs/assets/scripts/imageFileInput/const/index.js +0 -27
  87. package/dist/cjs/assets/scripts/imageFileInput/const/types.js +0 -13
  88. package/dist/cjs/assets/scripts/imageFileInput/index.js +0 -44
  89. package/dist/cjs/assets/scripts/index.js +0 -30
  90. package/dist/cjs/assets/scripts/modal/Modal.js +0 -116
  91. package/dist/cjs/assets/scripts/modal/ModalActions.js +0 -128
  92. package/dist/cjs/assets/scripts/modal/ModalContent.js +0 -46
  93. package/dist/cjs/assets/scripts/modal/ModalHeader.js +0 -115
  94. package/dist/cjs/assets/scripts/modal/const/classNames.js +0 -41
  95. package/dist/cjs/assets/scripts/modal/const/index.js +0 -27
  96. package/dist/cjs/assets/scripts/modal/const/types.js +0 -5
  97. package/dist/cjs/assets/scripts/modal/index.js +0 -61
  98. package/dist/cjs/assets/scripts/modal/utils/contentUtils.js +0 -35
  99. package/dist/cjs/assets/scripts/notification/FloatingNotification.js +0 -180
  100. package/dist/cjs/assets/scripts/notification/FullWidthNotification.js +0 -120
  101. package/dist/cjs/assets/scripts/notification/MessageNotification.js +0 -146
  102. package/dist/cjs/assets/scripts/notification/Notification.js +0 -116
  103. package/dist/cjs/assets/scripts/notification/const/classNames.js +0 -50
  104. package/dist/cjs/assets/scripts/notification/const/icons.js +0 -45
  105. package/dist/cjs/assets/scripts/notification/const/index.js +0 -87
  106. package/dist/cjs/assets/scripts/notification/const/sizes.js +0 -54
  107. package/dist/cjs/assets/scripts/notification/const/types.js +0 -14
  108. package/dist/cjs/assets/scripts/notification/index.js +0 -92
  109. package/dist/cjs/assets/scripts/notification/utils.js +0 -92
  110. package/dist/cjs/assets/scripts/progress-bar/ProgressBar.js +0 -272
  111. package/dist/cjs/assets/scripts/progress-bar/index.js +0 -12
  112. package/dist/cjs/assets/scripts/selectBox.js +0 -319
  113. package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +0 -46
  114. package/dist/cjs/assets/scripts/tab.js +0 -40
  115. package/dist/cjs/assets/scripts/tag/Tag.js +0 -268
  116. package/dist/cjs/assets/scripts/tag/const/classNames.js +0 -24
  117. package/dist/cjs/assets/scripts/tag/const/index.js +0 -38
  118. package/dist/cjs/assets/scripts/tag/const/sizes.js +0 -13
  119. package/dist/cjs/assets/scripts/tag/const/types.js +0 -5
  120. package/dist/cjs/assets/scripts/tag/index.js +0 -44
  121. package/dist/cjs/assets/scripts/tooltip/Tooltip.js +0 -380
  122. package/dist/cjs/assets/scripts/tooltip/TooltipLayerManager.js +0 -84
  123. package/dist/cjs/assets/scripts/tooltip/const/classNames.js +0 -29
  124. package/dist/cjs/assets/scripts/tooltip/const/constants.js +0 -56
  125. package/dist/cjs/assets/scripts/tooltip/const/icons.js +0 -15
  126. package/dist/cjs/assets/scripts/tooltip/const/index.js +0 -123
  127. package/dist/cjs/assets/scripts/tooltip/const/templates.js +0 -49
  128. package/dist/cjs/assets/scripts/tooltip/const/types.js +0 -5
  129. package/dist/cjs/assets/scripts/tooltip/index.js +0 -57
  130. package/dist/cjs/assets/scripts/tooltip/utils.js +0 -41
  131. package/dist/cjs/assets/scripts/utils/unifiedBox/DOMRenderer.js +0 -384
  132. package/dist/cjs/assets/scripts/utils/unifiedBox/DropdownModel.js +0 -368
  133. package/dist/cjs/assets/scripts/utils/unifiedBox/UnifiedBoxController.js +0 -681
  134. package/dist/cjs/assets/scripts/utils/unifiedBox/UnifiedBoxManager.js +0 -711
  135. package/dist/esm/assets/scripts/comboBox.js +0 -275
  136. package/dist/esm/assets/scripts/datePicker.js +0 -699
  137. package/dist/esm/assets/scripts/featuredIcon.js +0 -90
  138. package/dist/esm/assets/scripts/fileInput/FileInput.js +0 -178
  139. package/dist/esm/assets/scripts/fileInput/FileInputModel.js +0 -241
  140. package/dist/esm/assets/scripts/fileInput/FileInputView.js +0 -450
  141. package/dist/esm/assets/scripts/fileInput/const/classNames.js +0 -25
  142. package/dist/esm/assets/scripts/fileInput/const/index.js +0 -2
  143. package/dist/esm/assets/scripts/fileInput/const/types.js +0 -7
  144. package/dist/esm/assets/scripts/fileInput/index.js +0 -9
  145. package/dist/esm/assets/scripts/imageFileInput/ImageFileInput.js +0 -182
  146. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputModel.js +0 -250
  147. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputView.js +0 -349
  148. package/dist/esm/assets/scripts/imageFileInput/const/classNames.js +0 -30
  149. package/dist/esm/assets/scripts/imageFileInput/const/index.js +0 -2
  150. package/dist/esm/assets/scripts/imageFileInput/const/types.js +0 -7
  151. package/dist/esm/assets/scripts/imageFileInput/index.js +0 -9
  152. package/dist/esm/assets/scripts/index.js +0 -28
  153. package/dist/esm/assets/scripts/modal/Modal.js +0 -110
  154. package/dist/esm/assets/scripts/modal/ModalActions.js +0 -123
  155. package/dist/esm/assets/scripts/modal/ModalContent.js +0 -41
  156. package/dist/esm/assets/scripts/modal/ModalHeader.js +0 -110
  157. package/dist/esm/assets/scripts/modal/const/classNames.js +0 -31
  158. package/dist/esm/assets/scripts/modal/const/index.js +0 -2
  159. package/dist/esm/assets/scripts/modal/const/types.js +0 -1
  160. package/dist/esm/assets/scripts/modal/index.js +0 -15
  161. package/dist/esm/assets/scripts/modal/utils/contentUtils.js +0 -28
  162. package/dist/esm/assets/scripts/notification/FloatingNotification.js +0 -176
  163. package/dist/esm/assets/scripts/notification/FullWidthNotification.js +0 -115
  164. package/dist/esm/assets/scripts/notification/MessageNotification.js +0 -141
  165. package/dist/esm/assets/scripts/notification/Notification.js +0 -111
  166. package/dist/esm/assets/scripts/notification/const/classNames.js +0 -44
  167. package/dist/esm/assets/scripts/notification/const/icons.js +0 -39
  168. package/dist/esm/assets/scripts/notification/const/index.js +0 -4
  169. package/dist/esm/assets/scripts/notification/const/sizes.js +0 -48
  170. package/dist/esm/assets/scripts/notification/const/types.js +0 -8
  171. package/dist/esm/assets/scripts/notification/index.js +0 -11
  172. package/dist/esm/assets/scripts/notification/utils.js +0 -79
  173. package/dist/esm/assets/scripts/progress-bar/ProgressBar.js +0 -267
  174. package/dist/esm/assets/scripts/progress-bar/index.js +0 -1
  175. package/dist/esm/assets/scripts/selectBox.js +0 -314
  176. package/dist/esm/assets/scripts/shared/ButtonCloseX.js +0 -38
  177. package/dist/esm/assets/scripts/tab.js +0 -35
  178. package/dist/esm/assets/scripts/tag/Tag.js +0 -263
  179. package/dist/esm/assets/scripts/tag/const/classNames.js +0 -16
  180. package/dist/esm/assets/scripts/tag/const/index.js +0 -3
  181. package/dist/esm/assets/scripts/tag/const/sizes.js +0 -7
  182. package/dist/esm/assets/scripts/tag/const/types.js +0 -1
  183. package/dist/esm/assets/scripts/tag/index.js +0 -9
  184. package/dist/esm/assets/scripts/tooltip/Tooltip.js +0 -375
  185. package/dist/esm/assets/scripts/tooltip/TooltipLayerManager.js +0 -79
  186. package/dist/esm/assets/scripts/tooltip/const/classNames.js +0 -23
  187. package/dist/esm/assets/scripts/tooltip/const/constants.js +0 -50
  188. package/dist/esm/assets/scripts/tooltip/const/icons.js +0 -9
  189. package/dist/esm/assets/scripts/tooltip/const/index.js +0 -4
  190. package/dist/esm/assets/scripts/tooltip/const/templates.js +0 -42
  191. package/dist/esm/assets/scripts/tooltip/const/types.js +0 -1
  192. package/dist/esm/assets/scripts/tooltip/index.js +0 -10
  193. package/dist/esm/assets/scripts/tooltip/utils.js +0 -35
  194. package/dist/esm/assets/scripts/utils/unifiedBox/DOMRenderer.js +0 -379
  195. package/dist/esm/assets/scripts/utils/unifiedBox/DropdownModel.js +0 -363
  196. package/dist/esm/assets/scripts/utils/unifiedBox/UnifiedBoxController.js +0 -676
  197. package/dist/esm/assets/scripts/utils/unifiedBox/UnifiedBoxManager.js +0 -706
  198. package/dist/types/assets/scripts/comboBox.d.ts +0 -91
  199. package/dist/types/assets/scripts/datePicker.d.ts +0 -87
  200. package/dist/types/assets/scripts/featuredIcon.d.ts +0 -23
  201. package/dist/types/assets/scripts/fileInput/FileInput.d.ts +0 -67
  202. package/dist/types/assets/scripts/fileInput/FileInputModel.d.ts +0 -70
  203. package/dist/types/assets/scripts/fileInput/FileInputView.d.ts +0 -77
  204. package/dist/types/assets/scripts/fileInput/const/classNames.d.ts +0 -17
  205. package/dist/types/assets/scripts/fileInput/const/index.d.ts +0 -3
  206. package/dist/types/assets/scripts/fileInput/const/types.d.ts +0 -132
  207. package/dist/types/assets/scripts/fileInput/index.d.ts +0 -4
  208. package/dist/types/assets/scripts/imageFileInput/ImageFileInput.d.ts +0 -64
  209. package/dist/types/assets/scripts/imageFileInput/ImageFileInputModel.d.ts +0 -74
  210. package/dist/types/assets/scripts/imageFileInput/ImageFileInputView.d.ts +0 -80
  211. package/dist/types/assets/scripts/imageFileInput/const/classNames.d.ts +0 -20
  212. package/dist/types/assets/scripts/imageFileInput/const/index.d.ts +0 -3
  213. package/dist/types/assets/scripts/imageFileInput/const/types.d.ts +0 -126
  214. package/dist/types/assets/scripts/imageFileInput/index.d.ts +0 -4
  215. package/dist/types/assets/scripts/index.d.ts +0 -33
  216. package/dist/types/assets/scripts/modal/Modal.d.ts +0 -28
  217. package/dist/types/assets/scripts/modal/ModalActions.d.ts +0 -19
  218. package/dist/types/assets/scripts/modal/ModalContent.d.ts +0 -14
  219. package/dist/types/assets/scripts/modal/ModalHeader.d.ts +0 -16
  220. package/dist/types/assets/scripts/modal/const/classNames.d.ts +0 -23
  221. package/dist/types/assets/scripts/modal/const/index.d.ts +0 -3
  222. package/dist/types/assets/scripts/modal/const/types.d.ts +0 -62
  223. package/dist/types/assets/scripts/modal/index.d.ts +0 -8
  224. package/dist/types/assets/scripts/modal/utils/contentUtils.d.ts +0 -11
  225. package/dist/types/assets/scripts/notification/FloatingNotification.d.ts +0 -25
  226. package/dist/types/assets/scripts/notification/FullWidthNotification.d.ts +0 -22
  227. package/dist/types/assets/scripts/notification/MessageNotification.d.ts +0 -23
  228. package/dist/types/assets/scripts/notification/Notification.d.ts +0 -22
  229. package/dist/types/assets/scripts/notification/const/classNames.d.ts +0 -44
  230. package/dist/types/assets/scripts/notification/const/icons.d.ts +0 -26
  231. package/dist/types/assets/scripts/notification/const/index.d.ts +0 -6
  232. package/dist/types/assets/scripts/notification/const/sizes.d.ts +0 -33
  233. package/dist/types/assets/scripts/notification/const/types.d.ts +0 -20
  234. package/dist/types/assets/scripts/notification/index.d.ts +0 -8
  235. package/dist/types/assets/scripts/notification/utils.d.ts +0 -9
  236. package/dist/types/assets/scripts/progress-bar/ProgressBar.d.ts +0 -68
  237. package/dist/types/assets/scripts/progress-bar/index.d.ts +0 -2
  238. package/dist/types/assets/scripts/selectBox.d.ts +0 -77
  239. package/dist/types/assets/scripts/shared/ButtonCloseX.d.ts +0 -6
  240. package/dist/types/assets/scripts/tab.d.ts +0 -8
  241. package/dist/types/assets/scripts/tag/Tag.d.ts +0 -28
  242. package/dist/types/assets/scripts/tag/const/classNames.d.ts +0 -12
  243. package/dist/types/assets/scripts/tag/const/index.d.ts +0 -4
  244. package/dist/types/assets/scripts/tag/const/sizes.d.ts +0 -8
  245. package/dist/types/assets/scripts/tag/const/types.d.ts +0 -34
  246. package/dist/types/assets/scripts/tag/index.d.ts +0 -4
  247. package/dist/types/assets/scripts/tooltip/Tooltip.d.ts +0 -55
  248. package/dist/types/assets/scripts/tooltip/TooltipLayerManager.d.ts +0 -22
  249. package/dist/types/assets/scripts/tooltip/const/classNames.d.ts +0 -18
  250. package/dist/types/assets/scripts/tooltip/const/constants.d.ts +0 -34
  251. package/dist/types/assets/scripts/tooltip/const/icons.d.ts +0 -5
  252. package/dist/types/assets/scripts/tooltip/const/index.d.ts +0 -6
  253. package/dist/types/assets/scripts/tooltip/const/templates.d.ts +0 -17
  254. package/dist/types/assets/scripts/tooltip/const/types.d.ts +0 -15
  255. package/dist/types/assets/scripts/tooltip/index.d.ts +0 -7
  256. package/dist/types/assets/scripts/tooltip/utils.d.ts +0 -3
  257. package/dist/types/assets/scripts/utils/unifiedBox/DOMRenderer.d.ts +0 -108
  258. package/dist/types/assets/scripts/utils/unifiedBox/DropdownModel.d.ts +0 -158
  259. package/dist/types/assets/scripts/utils/unifiedBox/UnifiedBoxController.d.ts +0 -171
  260. package/dist/types/assets/scripts/utils/unifiedBox/UnifiedBoxManager.d.ts +0 -99
@@ -1,91 +0,0 @@
1
- import { Size } from '@ncds/ui-admin/constant/size';
2
- import { OptionValue } from '../../src/types';
3
- import { DropdownOption } from './utils/unifiedBox/DropdownModel';
4
- import { UnifiedBoxManagerConfig } from './utils/unifiedBox/UnifiedBoxManager';
5
- export interface ComboBoxOptionType {
6
- id: string | number;
7
- label: string;
8
- disabled?: boolean;
9
- }
10
- export interface ComboBoxConfig {
11
- options?: ComboBoxOptionType[];
12
- placeholder?: string;
13
- value?: OptionValue;
14
- onChange?: (value: OptionValue) => void;
15
- onSearch?: (searchValue: string) => void;
16
- onEdit?: () => void;
17
- onSelectAll?: () => void;
18
- onSearchAll?: () => void;
19
- onComplete?: () => void;
20
- onTagRemove?: (tagId: string | number) => void;
21
- onScrollBottom?: () => void;
22
- searchDebounceMs?: number;
23
- maxHeight?: number;
24
- disabled?: boolean;
25
- size?: Extract<Size, 'xs' | 'sm'>;
26
- multiple?: boolean;
27
- showFooterButtons?: boolean;
28
- label?: string;
29
- required?: boolean;
30
- }
31
- export declare class ComboBox {
32
- private element;
33
- private unifiedSelectBox;
34
- private targetSelect;
35
- private isInitializing;
36
- private lastValue;
37
- constructor(element: HTMLElement, config?: ComboBoxConfig);
38
- /**
39
- * 타겟 select 요소 찾기
40
- */
41
- private findTargetSelect;
42
- /**
43
- * HTML select에서 옵션 파싱
44
- */
45
- private parseOptionsFromHTML;
46
- /**
47
- * HTML에서 속성 파싱
48
- */
49
- private parseAttributesFromHTML;
50
- /**
51
- * 타겟 select와 동기화 (Single 모드)
52
- */
53
- private syncWithTargetSelect;
54
- /**
55
- * 타겟 select와 동기화 (Multiple 모드)
56
- */
57
- private syncWithTargetSelectMultiple;
58
- getValues(): DropdownOption[];
59
- getOptions(): DropdownOption[];
60
- setValues(value: DropdownOption[]): void;
61
- updateOptions(newOptions: DropdownOption[]): void;
62
- setDisabled(disabled: boolean): void;
63
- open(): void;
64
- close(): void;
65
- focus(): void;
66
- destroy(): void;
67
- clearInput(): void;
68
- getDebugInfo(): {
69
- config: UnifiedBoxManagerConfig;
70
- modelState: any;
71
- isOpen: boolean;
72
- };
73
- selectAll(): void;
74
- deselectAll(): void;
75
- getSelectedCount(): number;
76
- isMultiple(): boolean;
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;
90
- }
91
- //# sourceMappingURL=comboBox.d.ts.map
@@ -1,87 +0,0 @@
1
- import { Options as FlatpickrOptions } from 'flatpickr/dist/types/options';
2
- export type DatePickerSize = 'xs' | 'sm';
3
- export interface ValidationError {
4
- index: number;
5
- date: string | Date;
6
- minDate?: string | Date;
7
- maxDate?: string | Date;
8
- violations: Array<'minDate' | 'maxDate'>;
9
- previousDate?: string | Date;
10
- }
11
- interface Options {
12
- buttons?: DatePickerButton[];
13
- size: DatePickerSize;
14
- autoComplete?: 'on' | 'off';
15
- datePickerOptions: DatePickerOptionWrapper[];
16
- onValidationError?: (error: ValidationError) => void;
17
- }
18
- interface DatePickerOptionWrapper {
19
- element: string;
20
- attrName?: string;
21
- placeholder?: string;
22
- options: FlatpickrOptions;
23
- }
24
- interface DatePickerButton {
25
- text: string;
26
- period: number;
27
- unit: 'days' | 'weeks' | 'months' | 'years';
28
- isCurrent: boolean;
29
- }
30
- export declare class DatePicker {
31
- private static instanceCounter;
32
- private static usedWrappers;
33
- private readonly contentWrapper;
34
- private readonly datePickerOptions;
35
- private readonly size;
36
- private readonly instanceId;
37
- private separator;
38
- private autoComplete;
39
- private buttons;
40
- private flatpickrInstances;
41
- private currentButton;
42
- private dateFormat;
43
- private onValidationError?;
44
- constructor(wrapper: HTMLElement, options: Options);
45
- private validateWrapper;
46
- private init;
47
- private validationDependencies;
48
- private initializeWrapper;
49
- private initButtonGroup;
50
- private createButtonElement;
51
- private reRenderButtonGroup;
52
- private initDatePicker;
53
- private initializeFlatpickr;
54
- private createBlurHandler;
55
- private setupFlatpickrLocale;
56
- private createInputHandler;
57
- private findFlatpickrInstanceByInput;
58
- private clearInputValue;
59
- private restorePreviousDate;
60
- private createHourInputHandler;
61
- private createMinuteInputHandler;
62
- private createMouseDownHandler;
63
- private createOnChangeHandler;
64
- private invokeOriginalOnChange;
65
- private isValidDate;
66
- private validateAndRestoreIfNeeded;
67
- private findFlatpickrInstanceIndexByInput;
68
- private restoreDateToInstance;
69
- private createOnReadyHandler;
70
- private createOnDestroyHandler;
71
- private convertDateOption;
72
- private validateDate;
73
- private checkDateViolations;
74
- setDate(dates: string[]): void;
75
- private formatDateForOption;
76
- private parseDateWithMultipleFormats;
77
- private formatMomentDate;
78
- private calculatePeriod;
79
- private updateDateWithButton;
80
- private setMultipleDates;
81
- private updateButtonsByPeriod;
82
- private calculateDatesFromButton;
83
- private convertFlatpickrFormatToMoment;
84
- getDates(): string[];
85
- }
86
- export {};
87
- //# sourceMappingURL=datePicker.d.ts.map
@@ -1,23 +0,0 @@
1
- export type FeaturedIconTheme = 'light-circle' | 'dark-circle' | 'outline-circle' | 'square-outline';
2
- export type FeaturedIconColor = 'neutral' | 'error' | 'warning' | 'success';
3
- export type FeaturedIconSize = 'sm' | 'md' | 'lg' | 'xl';
4
- export interface FeaturedIconOptions {
5
- svgString: string;
6
- theme?: FeaturedIconTheme;
7
- color?: FeaturedIconColor;
8
- size?: FeaturedIconSize;
9
- className?: string;
10
- }
11
- export declare class FeaturedIcon {
12
- private element;
13
- private options;
14
- constructor(options: FeaturedIconOptions);
15
- private createElement;
16
- private addSizeToSvg;
17
- getElement(): HTMLElement;
18
- updateColor(color: FeaturedIconColor): void;
19
- updateSize(size: FeaturedIconSize): void;
20
- destroy(): void;
21
- static create(options: FeaturedIconOptions): FeaturedIcon;
22
- }
23
- //# sourceMappingURL=featuredIcon.d.ts.map
@@ -1,67 +0,0 @@
1
- import { BaseFileInputOptions, UploadedFile } from './const/types';
2
- export declare class FileInput {
3
- private model;
4
- private view;
5
- constructor(options: BaseFileInputOptions);
6
- /**
7
- * 컨테이너에 요소 추가
8
- */
9
- private appendToContainer;
10
- /**
11
- * 이벤트 리스너 설정
12
- */
13
- private setupEventListeners;
14
- /**
15
- * 파일 선택 버튼 클릭 핸들러
16
- */
17
- private handleBrowseClick;
18
- /**
19
- * 파일 변경 핸들러
20
- */
21
- private handleFileChange;
22
- /**
23
- * 파일 제거 핸들러
24
- * 주의: 이 메서드는 renderFileTags에서 사용되지만,
25
- * 파일 선택 시 자동 렌더링이 비활성화되어 있으므로 수동으로 호출해야 함
26
- */
27
- private handleRemoveFile;
28
- /**
29
- * 변경 알림 (onChange/onFileSelect 호출)
30
- * 주의: 이 메서드는 setFiles 등 내부적으로 파일 목록이 변경될 때만 사용됨
31
- */
32
- private notifyChange;
33
- /**
34
- * 뷰 렌더링 (내부용)
35
- */
36
- private render;
37
- /**
38
- * 파일 태그를 수동으로 렌더링
39
- * 사용자가 콜백에서 직접 호출하여 태그를 렌더링할 수 있음
40
- */
41
- renderFileTags(): void;
42
- /**
43
- * DOM 요소 반환
44
- */
45
- getElement(): HTMLDivElement;
46
- /**
47
- * 현재 파일 목록 반환
48
- */
49
- getFiles(): File[];
50
- /**
51
- * 초기 업로드된 파일 목록 설정
52
- */
53
- setFiles(uploadedFiles: UploadedFile[]): void;
54
- /**
55
- * 모든 파일 제거
56
- */
57
- clearFiles(): void;
58
- /**
59
- * disabled 상태 설정
60
- */
61
- setDisabled(disabled: boolean): void;
62
- /**
63
- * 리소스 정리
64
- */
65
- destroy(): void;
66
- }
67
- //# sourceMappingURL=FileInput.d.ts.map
@@ -1,70 +0,0 @@
1
- import { BaseFileInputOptions, InvalidFile, RequiredFileInputProps, UploadedFile } from './const/types';
2
- export declare class FileInputModel {
3
- private options;
4
- private internalFiles;
5
- private initialFiles;
6
- private newlyAddedFiles;
7
- private deletedInitialFiles;
8
- constructor(options: BaseFileInputOptions);
9
- /**
10
- * 옵션 반환
11
- */
12
- getOptions(): RequiredFileInputProps;
13
- /**
14
- * 현재 파일 목록 반환 (초기 파일 + 새로 추가된 파일, 삭제 표시된 파일 제외)
15
- */
16
- getFiles(): File[];
17
- /**
18
- * 파일명에서 MIME 타입 추론
19
- */
20
- private getMimeTypeFromFileName;
21
- /**
22
- * 초기 업로드된 파일 목록 설정 (UploadedFile[] 타입만 허용)
23
- */
24
- setFiles(uploadedFiles: UploadedFile[]): void;
25
- /**
26
- * 파일 추가
27
- */
28
- addFiles(files: File[]): void;
29
- /**
30
- * 특정 인덱스의 파일 제거
31
- */
32
- removeFile(index: number): void;
33
- /**
34
- * 모든 파일 제거
35
- */
36
- clearFiles(): void;
37
- /**
38
- * 파일 유효성 검사
39
- */
40
- validateFiles(fileList: File[]): {
41
- validFiles: File[];
42
- invalidFiles: InvalidFile[];
43
- };
44
- /**
45
- * disabled 상태 설정
46
- */
47
- setDisabled(disabled: boolean): void;
48
- /**
49
- * disabled 상태 반환
50
- */
51
- isDisabled(): boolean;
52
- /**
53
- * Controlled mode 여부 확인
54
- * onChange가 있으면 Controlled mode로 판단
55
- */
56
- isControlled(): boolean;
57
- /**
58
- * 파일이 초기 파일인지 확인 (UploadedFile로 설정된 기존 파일)
59
- */
60
- isInitialFile(file: File): boolean;
61
- /**
62
- * 파일이 새로 추가된 파일인지 확인
63
- */
64
- isNewlyAddedFile(file: File): boolean;
65
- /**
66
- * 파일이 삭제 표시된 초기 파일인지 확인
67
- */
68
- isDeletedInitialFile(file: File): boolean;
69
- }
70
- //# sourceMappingURL=FileInputModel.d.ts.map
@@ -1,77 +0,0 @@
1
- import { RequiredFileInputProps } from './const/types';
2
- import { FileInputModel } from './FileInputModel';
3
- export declare class FileInputView {
4
- private element;
5
- private fileInputElement;
6
- private buttonElement;
7
- private fileTagsContainer;
8
- private tagInstances;
9
- private options;
10
- private model;
11
- private renderedFiles;
12
- constructor(options: RequiredFileInputProps, model: FileInputModel);
13
- /**
14
- * 메인 DOM 요소 생성
15
- */
16
- private createElement;
17
- /**
18
- * Hidden file input 생성
19
- */
20
- private createFileInput;
21
- /**
22
- * Input container 생성
23
- */
24
- private createInputContainer;
25
- /**
26
- * Label container 생성
27
- */
28
- private createLabelContainer;
29
- /**
30
- * Help icon 생성
31
- */
32
- private createHelpIcon;
33
- private createButton;
34
- private createShareIcon;
35
- /**
36
- * Hint text 생성
37
- */
38
- private createHintText;
39
- /**
40
- * Hint list 생성
41
- */
42
- private createHintList;
43
- /**
44
- * 파일 태그 렌더링 (삭제 표시된 초기 파일 포함)
45
- */
46
- renderFileTags(files: File[], onRemove: (index: number) => void): void;
47
- /**
48
- * 삭제 표시된 초기 파일을 포함한 전체 파일 목록 반환
49
- */
50
- private getAllFilesIncludingDeleted;
51
- /**
52
- * 두 파일이 같은 파일인지 확인
53
- */
54
- private isSameFile;
55
- /**
56
- * 특정 인덱스에 파일 태그 삽입
57
- */
58
- private insertFileTagAtIndex;
59
- /**
60
- * 파일 태그 생성 (마지막에 추가)
61
- */
62
- private createFileTag;
63
- /**
64
- * 파일 태그 컨테이너 생성
65
- */
66
- private createFileTagContainer;
67
- /**
68
- * 파일 인덱스 업데이트
69
- */
70
- private updateFileIndices;
71
- setButtonDisabled(disabled: boolean): void;
72
- getElement(): HTMLDivElement;
73
- getFileInputElement(): HTMLInputElement;
74
- getButtonElement(): HTMLButtonElement;
75
- destroy(): void;
76
- }
77
- //# sourceMappingURL=FileInputView.d.ts.map
@@ -1,17 +0,0 @@
1
- export declare const FILE_INPUT_CLASS_NAMES: {
2
- fileInput: string;
3
- inputContainer: string;
4
- label: string;
5
- helpIcon: string;
6
- hintText: string;
7
- hintList: string;
8
- hintItem: string;
9
- fileTags: string;
10
- fileTagContainer: string;
11
- fileImage: string;
12
- };
13
- export declare const getFileInputSizeClassName: (size: string) => string;
14
- export declare const getButtonSizeClassName: (size: string) => string;
15
- export declare const getLabelClassName: (isRequired?: boolean) => "ncua-label" | "ncua-label ncua-label--required";
16
- export declare const getHintTextClassName: (destructive?: boolean) => "ncua-input__hint-text" | "ncua-input__hint-text ncua-input__hint-text--destructive";
17
- //# sourceMappingURL=classNames.d.ts.map
@@ -1,3 +0,0 @@
1
- export * from './classNames';
2
- export * from './types';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1,132 +0,0 @@
1
- export declare enum FileInputErrorType {
2
- ALREADY_UPLOADED = "ALREADY_UPLOADED",
3
- EXCEED_MAX_FILE_SIZE = "EXCEED_MAX_FILE_SIZE",
4
- EXCEED_MAX_FILE_COUNT = "EXCEED_MAX_FILE_COUNT"
5
- }
6
- export interface InvalidFile extends Omit<File, 'constructor'> {
7
- errorType: FileInputErrorType;
8
- }
9
- export type FileInputSize = 'xs' | 'sm' | 'md' | 'lg';
10
- export type UploadedFile = {
11
- fileName: string;
12
- fileImageUrl?: string;
13
- };
14
- export interface BaseFileInputOptions {
15
- /**
16
- * Size of the input
17
- */
18
- size?: FileInputSize;
19
- /**
20
- * Accepted file types
21
- * e.g. '.jpg,.png,.pdf' or 'image/*'
22
- */
23
- accept?: string;
24
- /**
25
- * Allow multiple file selection
26
- */
27
- multiple?: boolean;
28
- /**
29
- * Maximum number of files
30
- */
31
- maxFileCount?: number;
32
- /**
33
- * Maximum file size in bytes
34
- */
35
- maxFileSize?: number;
36
- /**
37
- * Initial files (controlled mode)
38
- */
39
- value?: File[];
40
- /**
41
- * Callback when files change (controlled mode)
42
- */
43
- onChange?: (files: File[]) => void;
44
- /**
45
- * Callback when files are selected (uncontrolled mode)
46
- */
47
- onFileSelect?: (files: File[]) => void;
48
- /**
49
- * Callback when file selection fails
50
- */
51
- onFail?: (files: InvalidFile[]) => void;
52
- /**
53
- * Label shown on the button
54
- */
55
- buttonLabel?: string;
56
- /**
57
- * Whether the input is disabled
58
- */
59
- disabled?: boolean;
60
- /**
61
- * Label text
62
- */
63
- label?: string;
64
- /**
65
- * Hint text items to display as a list
66
- */
67
- hintItems?: string[];
68
- /**
69
- * Whether the input is required
70
- */
71
- isRequired?: boolean;
72
- /**
73
- * Whether to show the help icon
74
- */
75
- showHelpIcon?: boolean;
76
- /**
77
- * Hint text to display
78
- */
79
- hintText?: string;
80
- /**
81
- * Validation state
82
- */
83
- validation?: boolean;
84
- /**
85
- * Destructive state
86
- */
87
- destructive?: boolean;
88
- /**
89
- * Show image preview for image files
90
- */
91
- showImagePreview?: boolean;
92
- /**
93
- * Name attribute for file input (for PHP form submission)
94
- */
95
- fileInputName?: string;
96
- /**
97
- * Name attribute for checkbox input (for existing files deletion)
98
- */
99
- checkboxName?: string;
100
- /**
101
- * Container element or selector to automatically append the file input
102
- * Can be a DOM element, element ID, or CSS selector
103
- */
104
- container?: HTMLElement | string;
105
- /**
106
- * Additional CSS class names to add to the main file input element
107
- */
108
- className?: string;
109
- }
110
- export interface RequiredFileInputProps extends Required<Pick<BaseFileInputOptions, 'size' | 'buttonLabel'>> {
111
- accept?: string;
112
- multiple: boolean;
113
- maxFileCount?: number;
114
- maxFileSize?: number;
115
- value?: File[];
116
- onChange?: (files: File[]) => void;
117
- onFileSelect?: (files: File[]) => void;
118
- onFail?: (files: InvalidFile[]) => void;
119
- disabled: boolean;
120
- label?: string;
121
- hintItems?: string[];
122
- isRequired?: boolean;
123
- showHelpIcon?: boolean;
124
- hintText?: string;
125
- validation?: boolean;
126
- destructive?: boolean;
127
- showImagePreview: boolean;
128
- fileInputName?: string;
129
- checkboxName?: string;
130
- className?: string;
131
- }
132
- //# sourceMappingURL=types.d.ts.map
@@ -1,4 +0,0 @@
1
- export * from './const/classNames';
2
- export * from './const/types';
3
- export { FileInput } from './FileInput';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1,64 +0,0 @@
1
- import { BaseImageFileInputOptions, UploadedFile } from './const/types';
2
- export declare class ImageFileInput {
3
- private model;
4
- private view;
5
- constructor(options: BaseImageFileInputOptions);
6
- /**
7
- * 컨테이너에 요소 추가
8
- */
9
- private appendToContainer;
10
- /**
11
- * 이벤트 리스너 설정
12
- */
13
- private setupEventListeners;
14
- /**
15
- * 파일 선택 버튼 클릭 핸들러
16
- */
17
- private handleBrowseClick;
18
- /**
19
- * 파일 변경 핸들러
20
- */
21
- private handleFileChange;
22
- /**
23
- * 파일 제거 핸들러
24
- */
25
- private handleRemoveFile;
26
- /**
27
- * 변경 알림 (onChange/onFileSelect 호출)
28
- */
29
- private notifyChange;
30
- /**
31
- * 뷰 렌더링 (내부용)
32
- */
33
- private render;
34
- /**
35
- * 이미지 프리뷰를 수동으로 렌더링
36
- * 사용자가 콜백에서 직접 호출하여 프리뷰를 렌더링할 수 있음
37
- */
38
- renderImagePreviews(): void;
39
- /**
40
- * DOM 요소 반환
41
- */
42
- getElement(): HTMLDivElement;
43
- /**
44
- * 현재 파일 목록 반환
45
- */
46
- getFiles(): File[];
47
- /**
48
- * 초기 업로드된 파일 목록 설정
49
- */
50
- setFiles(uploadedFiles: UploadedFile[]): void;
51
- /**
52
- * 모든 파일 제거
53
- */
54
- clearFiles(): void;
55
- /**
56
- * disabled 상태 설정
57
- */
58
- setDisabled(disabled: boolean): void;
59
- /**
60
- * 리소스 정리
61
- */
62
- destroy(): void;
63
- }
64
- //# sourceMappingURL=ImageFileInput.d.ts.map