@ncds/ui-admin 1.8.0 → 1.8.2

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 (448) hide show
  1. package/dist/cjs/src/components/badge/index.js +11 -0
  2. package/dist/cjs/src/components/combo-box/ComboBox.js +1 -0
  3. package/dist/cjs/src/components/date-picker/index.js +11 -0
  4. package/dist/cjs/src/components/image-file-input/components/index.js +16 -0
  5. package/dist/cjs/src/components/image-file-input/index.js +11 -0
  6. package/dist/cjs/src/components/progress-bar/components/index.js +27 -0
  7. package/dist/cjs/src/components/progress-bar/hooks/index.js +16 -0
  8. package/dist/cjs/src/components/progress-bar/index.js +33 -0
  9. package/dist/cjs/src/components/select/Select.js +0 -1
  10. package/dist/cjs/src/components/select-dropdown/index.js +11 -7
  11. package/dist/cjs/src/components/switch/index.js +11 -7
  12. package/dist/cjs/src/components/table/Table.js +128 -16
  13. package/dist/cjs/src/components/tooltip/Tooltip.js +170 -104
  14. package/dist/cjs/src/hooks/dropdown/index.js +61 -37
  15. package/dist/cjs/src/hooks/index.js +31 -25
  16. package/dist/cjs/vitest.config.js +13 -0
  17. package/dist/esm/src/components/badge/index.js +2 -1
  18. package/dist/esm/src/components/combo-box/ComboBox.js +1 -0
  19. package/dist/esm/src/components/date-picker/index.js +1 -0
  20. package/dist/esm/src/components/empty-state/EmptyState.js +2 -3
  21. package/dist/esm/src/components/image-file-input/components/index.js +1 -0
  22. package/dist/esm/src/components/image-file-input/index.js +2 -1
  23. package/dist/esm/src/components/progress-bar/components/index.js +2 -0
  24. package/dist/esm/src/components/progress-bar/hooks/index.js +1 -0
  25. package/dist/esm/src/components/progress-bar/index.js +4 -1
  26. package/dist/esm/src/components/select/Select.js +0 -1
  27. package/dist/esm/src/components/select-dropdown/index.js +1 -1
  28. package/dist/esm/src/components/switch/index.js +1 -1
  29. package/dist/esm/src/components/table/Table.js +129 -17
  30. package/dist/esm/src/components/tag/Tag.js +2 -3
  31. package/dist/esm/src/components/tooltip/Tooltip.js +172 -106
  32. package/dist/esm/src/hooks/dropdown/index.js +6 -6
  33. package/dist/esm/src/hooks/index.js +3 -3
  34. package/dist/esm/src/types/component-meta.js +2 -0
  35. package/dist/esm/vitest.config.js +7 -0
  36. package/dist/temp/src/components/badge/index.d.ts +1 -0
  37. package/dist/temp/src/components/badge/index.js +1 -0
  38. package/dist/temp/src/components/combo-box/ComboBox.js +1 -0
  39. package/dist/temp/src/components/date-picker/index.d.ts +1 -0
  40. package/dist/temp/src/components/date-picker/index.js +1 -0
  41. package/dist/temp/src/components/empty-state/EmptyState.d.ts +3 -5
  42. package/dist/temp/src/components/empty-state/EmptyState.js +1 -2
  43. package/dist/temp/src/components/image-file-input/components/index.d.ts +1 -0
  44. package/dist/temp/src/components/image-file-input/components/index.js +1 -0
  45. package/dist/temp/src/components/image-file-input/index.d.ts +1 -0
  46. package/dist/temp/src/components/image-file-input/index.js +1 -0
  47. package/dist/temp/src/components/progress-bar/components/index.d.ts +2 -0
  48. package/dist/temp/src/components/progress-bar/components/index.js +2 -0
  49. package/dist/temp/src/components/progress-bar/hooks/index.d.ts +1 -0
  50. package/dist/temp/src/components/progress-bar/hooks/index.js +1 -0
  51. package/dist/temp/src/components/progress-bar/index.d.ts +3 -0
  52. package/dist/temp/src/components/progress-bar/index.js +3 -0
  53. package/dist/temp/src/components/select/Select.js +1 -1
  54. package/dist/temp/src/components/select-dropdown/index.d.ts +1 -1
  55. package/dist/temp/src/components/select-dropdown/index.js +1 -1
  56. package/dist/temp/src/components/spinner/Spinner.d.ts +1 -2
  57. package/dist/temp/src/components/switch/index.d.ts +1 -2
  58. package/dist/temp/src/components/switch/index.js +1 -1
  59. package/dist/temp/src/components/table/Table.d.ts +4 -2
  60. package/dist/temp/src/components/table/Table.js +95 -11
  61. package/dist/temp/src/components/table/types.d.ts +3 -1
  62. package/dist/temp/src/components/tag/Tag.d.ts +3 -5
  63. package/dist/temp/src/components/tag/Tag.js +1 -2
  64. package/dist/temp/src/components/tooltip/Tooltip.d.ts +4 -2
  65. package/dist/temp/src/components/tooltip/Tooltip.js +126 -68
  66. package/dist/temp/src/hooks/dropdown/index.d.ts +6 -6
  67. package/dist/temp/src/hooks/dropdown/index.js +6 -6
  68. package/dist/temp/src/hooks/index.d.ts +3 -3
  69. package/dist/temp/src/hooks/index.js +3 -3
  70. package/dist/temp/src/types/component-meta.d.ts +26 -0
  71. package/dist/temp/src/types/component-meta.js +2 -0
  72. package/dist/temp/src/types/dropdown/option.d.ts +2 -4
  73. package/dist/temp/src/types/side-slot.d.ts +9 -1
  74. package/dist/temp/vitest.config.d.ts +2 -0
  75. package/dist/temp/vitest.config.js +7 -0
  76. package/dist/types/src/components/badge/index.d.ts +1 -0
  77. package/dist/types/src/components/date-picker/index.d.ts +1 -0
  78. package/dist/types/src/components/empty-state/EmptyState.d.ts +3 -5
  79. package/dist/types/src/components/image-file-input/components/index.d.ts +1 -0
  80. package/dist/types/src/components/image-file-input/index.d.ts +1 -0
  81. package/dist/types/src/components/progress-bar/components/index.d.ts +2 -0
  82. package/dist/types/src/components/progress-bar/hooks/index.d.ts +1 -0
  83. package/dist/types/src/components/progress-bar/index.d.ts +3 -0
  84. package/dist/types/src/components/select-dropdown/index.d.ts +1 -1
  85. package/dist/types/src/components/spinner/Spinner.d.ts +1 -2
  86. package/dist/types/src/components/switch/index.d.ts +1 -2
  87. package/dist/types/src/components/table/Table.d.ts +4 -2
  88. package/dist/types/src/components/table/types.d.ts +3 -1
  89. package/dist/types/src/components/tag/Tag.d.ts +3 -5
  90. package/dist/types/src/components/tooltip/Tooltip.d.ts +4 -2
  91. package/dist/types/src/hooks/dropdown/index.d.ts +6 -6
  92. package/dist/types/src/hooks/index.d.ts +3 -3
  93. package/dist/types/src/types/component-meta.d.ts +26 -0
  94. package/dist/types/src/types/dropdown/option.d.ts +2 -4
  95. package/dist/types/src/types/side-slot.d.ts +9 -1
  96. package/dist/types/vitest.config.d.ts +2 -0
  97. package/dist/ui-admin/assets/styles/style.css +178 -60
  98. package/package.json +6 -1
  99. package/dist/cjs/assets/scripts/baseBox.js +0 -146
  100. package/dist/cjs/assets/scripts/comboBox.js +0 -137
  101. package/dist/cjs/assets/scripts/datePicker.js +0 -671
  102. package/dist/cjs/assets/scripts/featuredIcon.js +0 -87
  103. package/dist/cjs/assets/scripts/fileInput/const/classNames.js +0 -25
  104. package/dist/cjs/assets/scripts/fileInput/const/index.js +0 -27
  105. package/dist/cjs/assets/scripts/fileInput/const/types.js +0 -13
  106. package/dist/cjs/assets/scripts/fileInput/fileInput.js +0 -78
  107. package/dist/cjs/assets/scripts/fileInput/fileInputModel.js +0 -53
  108. package/dist/cjs/assets/scripts/fileInput/fileInputView.js +0 -152
  109. package/dist/cjs/assets/scripts/fileInput/index.js +0 -44
  110. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInput.js +0 -184
  111. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputModel.js +0 -222
  112. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputView.js +0 -356
  113. package/dist/cjs/assets/scripts/imageFileInput/const/classNames.js +0 -31
  114. package/dist/cjs/assets/scripts/imageFileInput/const/index.js +0 -27
  115. package/dist/cjs/assets/scripts/imageFileInput/const/types.js +0 -13
  116. package/dist/cjs/assets/scripts/imageFileInput/index.js +0 -44
  117. package/dist/cjs/assets/scripts/index.js +0 -32
  118. package/dist/cjs/assets/scripts/modal/Modal.js +0 -104
  119. package/dist/cjs/assets/scripts/modal/ModalActions.js +0 -116
  120. package/dist/cjs/assets/scripts/modal/ModalContent.js +0 -46
  121. package/dist/cjs/assets/scripts/modal/ModalHeader.js +0 -104
  122. package/dist/cjs/assets/scripts/modal/const/classNames.js +0 -33
  123. package/dist/cjs/assets/scripts/modal/const/index.js +0 -27
  124. package/dist/cjs/assets/scripts/modal/index.js +0 -61
  125. package/dist/cjs/assets/scripts/modal/utils/contentUtils.js +0 -35
  126. package/dist/cjs/assets/scripts/notification/FloatingNotification.js +0 -178
  127. package/dist/cjs/assets/scripts/notification/FullWidthNotification.js +0 -132
  128. package/dist/cjs/assets/scripts/notification/MessageNotification.js +0 -159
  129. package/dist/cjs/assets/scripts/notification/Notification.js +0 -101
  130. package/dist/cjs/assets/scripts/notification/const/classNames.js +0 -50
  131. package/dist/cjs/assets/scripts/notification/const/icons.js +0 -31
  132. package/dist/cjs/assets/scripts/notification/const/index.js +0 -87
  133. package/dist/cjs/assets/scripts/notification/const/sizes.js +0 -46
  134. package/dist/cjs/assets/scripts/notification/const/types.js +0 -14
  135. package/dist/cjs/assets/scripts/notification/index.js +0 -92
  136. package/dist/cjs/assets/scripts/notification/utils.js +0 -97
  137. package/dist/cjs/assets/scripts/progress-bar/ProgressBar.js +0 -271
  138. package/dist/cjs/assets/scripts/progress-bar/index.js +0 -12
  139. package/dist/cjs/assets/scripts/selectBox.js +0 -169
  140. package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +0 -45
  141. package/dist/cjs/assets/scripts/tab.js +0 -40
  142. package/dist/cjs/assets/scripts/table/Table.js +0 -377
  143. package/dist/cjs/assets/scripts/table/const/classNames.js +0 -33
  144. package/dist/cjs/assets/scripts/table/const/index.js +0 -27
  145. package/dist/cjs/assets/scripts/table/const/types.js +0 -5
  146. package/dist/cjs/assets/scripts/table/index.js +0 -43
  147. package/dist/cjs/assets/scripts/tag/Tag.js +0 -261
  148. package/dist/cjs/assets/scripts/tag/const/classNames.js +0 -20
  149. package/dist/cjs/assets/scripts/tag/const/index.js +0 -38
  150. package/dist/cjs/assets/scripts/tag/const/sizes.js +0 -13
  151. package/dist/cjs/assets/scripts/tag/const/types.js +0 -5
  152. package/dist/cjs/assets/scripts/tag/index.js +0 -44
  153. package/dist/cjs/assets/scripts/tooltip/Tooltip.js +0 -353
  154. package/dist/cjs/assets/scripts/tooltip/TooltipLayerManager.js +0 -82
  155. package/dist/cjs/assets/scripts/tooltip/const/classNames.js +0 -29
  156. package/dist/cjs/assets/scripts/tooltip/const/constants.js +0 -56
  157. package/dist/cjs/assets/scripts/tooltip/const/icons.js +0 -15
  158. package/dist/cjs/assets/scripts/tooltip/const/index.js +0 -123
  159. package/dist/cjs/assets/scripts/tooltip/const/templates.js +0 -66
  160. package/dist/cjs/assets/scripts/tooltip/const/types.js +0 -5
  161. package/dist/cjs/assets/scripts/tooltip/index.js +0 -57
  162. package/dist/cjs/assets/scripts/tooltip/utils.js +0 -40
  163. package/dist/cjs/assets/scripts/utils/debounce.js +0 -32
  164. package/dist/cjs/assets/scripts/utils/unifiedBox/domRenderer.js +0 -370
  165. package/dist/cjs/assets/scripts/utils/unifiedBox/dropdownModel.js +0 -285
  166. package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxController.js +0 -622
  167. package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +0 -473
  168. package/dist/esm/assets/scripts/baseBox.js +0 -139
  169. package/dist/esm/assets/scripts/comboBox.js +0 -130
  170. package/dist/esm/assets/scripts/datePicker.js +0 -663
  171. package/dist/esm/assets/scripts/featuredIcon.js +0 -80
  172. package/dist/esm/assets/scripts/fileInput/const/classNames.js +0 -16
  173. package/dist/esm/assets/scripts/fileInput/const/index.js +0 -2
  174. package/dist/esm/assets/scripts/fileInput/const/types.js +0 -7
  175. package/dist/esm/assets/scripts/fileInput/fileInput.js +0 -71
  176. package/dist/esm/assets/scripts/fileInput/fileInputModel.js +0 -46
  177. package/dist/esm/assets/scripts/fileInput/fileInputView.js +0 -145
  178. package/dist/esm/assets/scripts/fileInput/index.js +0 -9
  179. package/dist/esm/assets/scripts/imageFileInput/ImageFileInput.js +0 -177
  180. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputModel.js +0 -215
  181. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputView.js +0 -349
  182. package/dist/esm/assets/scripts/imageFileInput/const/classNames.js +0 -20
  183. package/dist/esm/assets/scripts/imageFileInput/const/index.js +0 -2
  184. package/dist/esm/assets/scripts/imageFileInput/const/types.js +0 -7
  185. package/dist/esm/assets/scripts/imageFileInput/index.js +0 -9
  186. package/dist/esm/assets/scripts/index.js +0 -30
  187. package/dist/esm/assets/scripts/modal/Modal.js +0 -98
  188. package/dist/esm/assets/scripts/modal/ModalActions.js +0 -109
  189. package/dist/esm/assets/scripts/modal/ModalContent.js +0 -39
  190. package/dist/esm/assets/scripts/modal/ModalHeader.js +0 -97
  191. package/dist/esm/assets/scripts/modal/const/classNames.js +0 -23
  192. package/dist/esm/assets/scripts/modal/const/index.js +0 -2
  193. package/dist/esm/assets/scripts/modal/const/types.js +0 -1
  194. package/dist/esm/assets/scripts/modal/index.js +0 -15
  195. package/dist/esm/assets/scripts/modal/utils/contentUtils.js +0 -28
  196. package/dist/esm/assets/scripts/notification/FloatingNotification.js +0 -172
  197. package/dist/esm/assets/scripts/notification/FullWidthNotification.js +0 -125
  198. package/dist/esm/assets/scripts/notification/MessageNotification.js +0 -152
  199. package/dist/esm/assets/scripts/notification/Notification.js +0 -94
  200. package/dist/esm/assets/scripts/notification/const/classNames.js +0 -44
  201. package/dist/esm/assets/scripts/notification/const/icons.js +0 -25
  202. package/dist/esm/assets/scripts/notification/const/index.js +0 -4
  203. package/dist/esm/assets/scripts/notification/const/sizes.js +0 -40
  204. package/dist/esm/assets/scripts/notification/const/types.js +0 -8
  205. package/dist/esm/assets/scripts/notification/index.js +0 -11
  206. package/dist/esm/assets/scripts/notification/utils.js +0 -84
  207. package/dist/esm/assets/scripts/progress-bar/ProgressBar.js +0 -264
  208. package/dist/esm/assets/scripts/progress-bar/index.js +0 -1
  209. package/dist/esm/assets/scripts/selectBox.js +0 -162
  210. package/dist/esm/assets/scripts/shared/ButtonCloseX.js +0 -37
  211. package/dist/esm/assets/scripts/tab.js +0 -33
  212. package/dist/esm/assets/scripts/table/Table.js +0 -370
  213. package/dist/esm/assets/scripts/table/const/classNames.js +0 -27
  214. package/dist/esm/assets/scripts/table/const/index.js +0 -2
  215. package/dist/esm/assets/scripts/table/const/types.js +0 -1
  216. package/dist/esm/assets/scripts/table/index.js +0 -8
  217. package/dist/esm/assets/scripts/tag/Tag.js +0 -254
  218. package/dist/esm/assets/scripts/tag/const/classNames.js +0 -12
  219. package/dist/esm/assets/scripts/tag/const/index.js +0 -3
  220. package/dist/esm/assets/scripts/tag/const/sizes.js +0 -7
  221. package/dist/esm/assets/scripts/tag/const/types.js +0 -1
  222. package/dist/esm/assets/scripts/tag/index.js +0 -9
  223. package/dist/esm/assets/scripts/tooltip/Tooltip.js +0 -346
  224. package/dist/esm/assets/scripts/tooltip/TooltipLayerManager.js +0 -75
  225. package/dist/esm/assets/scripts/tooltip/const/classNames.js +0 -23
  226. package/dist/esm/assets/scripts/tooltip/const/constants.js +0 -50
  227. package/dist/esm/assets/scripts/tooltip/const/icons.js +0 -9
  228. package/dist/esm/assets/scripts/tooltip/const/index.js +0 -4
  229. package/dist/esm/assets/scripts/tooltip/const/templates.js +0 -59
  230. package/dist/esm/assets/scripts/tooltip/const/types.js +0 -1
  231. package/dist/esm/assets/scripts/tooltip/index.js +0 -10
  232. package/dist/esm/assets/scripts/tooltip/utils.js +0 -34
  233. package/dist/esm/assets/scripts/utils/debounce.js +0 -26
  234. package/dist/esm/assets/scripts/utils/unifiedBox/domRenderer.js +0 -363
  235. package/dist/esm/assets/scripts/utils/unifiedBox/dropdownModel.js +0 -279
  236. package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxController.js +0 -615
  237. package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +0 -466
  238. package/dist/temp/assets/scripts/baseBox.d.ts +0 -55
  239. package/dist/temp/assets/scripts/baseBox.js +0 -140
  240. package/dist/temp/assets/scripts/comboBox.d.ts +0 -60
  241. package/dist/temp/assets/scripts/comboBox.js +0 -132
  242. package/dist/temp/assets/scripts/datePicker.d.ts +0 -86
  243. package/dist/temp/assets/scripts/datePicker.js +0 -699
  244. package/dist/temp/assets/scripts/featuredIcon.d.ts +0 -22
  245. package/dist/temp/assets/scripts/featuredIcon.js +0 -79
  246. package/dist/temp/assets/scripts/fileInput/const/classNames.d.ts +0 -15
  247. package/dist/temp/assets/scripts/fileInput/const/classNames.js +0 -16
  248. package/dist/temp/assets/scripts/fileInput/const/index.d.ts +0 -2
  249. package/dist/temp/assets/scripts/fileInput/const/index.js +0 -2
  250. package/dist/temp/assets/scripts/fileInput/const/types.d.ts +0 -88
  251. package/dist/temp/assets/scripts/fileInput/const/types.js +0 -7
  252. package/dist/temp/assets/scripts/fileInput/fileInput.d.ts +0 -13
  253. package/dist/temp/assets/scripts/fileInput/fileInput.js +0 -71
  254. package/dist/temp/assets/scripts/fileInput/fileInputModel.d.ts +0 -12
  255. package/dist/temp/assets/scripts/fileInput/fileInputModel.js +0 -37
  256. package/dist/temp/assets/scripts/fileInput/fileInputView.d.ts +0 -42
  257. package/dist/temp/assets/scripts/fileInput/fileInputView.js +0 -145
  258. package/dist/temp/assets/scripts/fileInput/index.d.ts +0 -3
  259. package/dist/temp/assets/scripts/fileInput/index.js +0 -9
  260. package/dist/temp/assets/scripts/imageFileInput/ImageFileInput.d.ts +0 -63
  261. package/dist/temp/assets/scripts/imageFileInput/ImageFileInput.js +0 -180
  262. package/dist/temp/assets/scripts/imageFileInput/ImageFileInputModel.d.ts +0 -73
  263. package/dist/temp/assets/scripts/imageFileInput/ImageFileInputModel.js +0 -214
  264. package/dist/temp/assets/scripts/imageFileInput/ImageFileInputView.d.ts +0 -79
  265. package/dist/temp/assets/scripts/imageFileInput/ImageFileInputView.js +0 -350
  266. package/dist/temp/assets/scripts/imageFileInput/const/classNames.d.ts +0 -19
  267. package/dist/temp/assets/scripts/imageFileInput/const/classNames.js +0 -20
  268. package/dist/temp/assets/scripts/imageFileInput/const/index.d.ts +0 -2
  269. package/dist/temp/assets/scripts/imageFileInput/const/index.js +0 -2
  270. package/dist/temp/assets/scripts/imageFileInput/const/types.d.ts +0 -125
  271. package/dist/temp/assets/scripts/imageFileInput/const/types.js +0 -7
  272. package/dist/temp/assets/scripts/imageFileInput/index.d.ts +0 -3
  273. package/dist/temp/assets/scripts/imageFileInput/index.js +0 -9
  274. package/dist/temp/assets/scripts/index.d.ts +0 -34
  275. package/dist/temp/assets/scripts/index.js +0 -30
  276. package/dist/temp/assets/scripts/modal/Modal.d.ts +0 -27
  277. package/dist/temp/assets/scripts/modal/Modal.js +0 -100
  278. package/dist/temp/assets/scripts/modal/ModalActions.d.ts +0 -18
  279. package/dist/temp/assets/scripts/modal/ModalActions.js +0 -117
  280. package/dist/temp/assets/scripts/modal/ModalContent.d.ts +0 -13
  281. package/dist/temp/assets/scripts/modal/ModalContent.js +0 -39
  282. package/dist/temp/assets/scripts/modal/ModalHeader.d.ts +0 -15
  283. package/dist/temp/assets/scripts/modal/ModalHeader.js +0 -96
  284. package/dist/temp/assets/scripts/modal/const/classNames.d.ts +0 -22
  285. package/dist/temp/assets/scripts/modal/const/classNames.js +0 -23
  286. package/dist/temp/assets/scripts/modal/const/index.d.ts +0 -2
  287. package/dist/temp/assets/scripts/modal/const/index.js +0 -2
  288. package/dist/temp/assets/scripts/modal/const/types.d.ts +0 -61
  289. package/dist/temp/assets/scripts/modal/const/types.js +0 -1
  290. package/dist/temp/assets/scripts/modal/index.d.ts +0 -7
  291. package/dist/temp/assets/scripts/modal/index.js +0 -15
  292. package/dist/temp/assets/scripts/modal/utils/contentUtils.d.ts +0 -10
  293. package/dist/temp/assets/scripts/modal/utils/contentUtils.js +0 -29
  294. package/dist/temp/assets/scripts/notification/FloatingNotification.d.ts +0 -24
  295. package/dist/temp/assets/scripts/notification/FloatingNotification.js +0 -157
  296. package/dist/temp/assets/scripts/notification/FullWidthNotification.d.ts +0 -21
  297. package/dist/temp/assets/scripts/notification/FullWidthNotification.js +0 -110
  298. package/dist/temp/assets/scripts/notification/MessageNotification.d.ts +0 -22
  299. package/dist/temp/assets/scripts/notification/MessageNotification.js +0 -140
  300. package/dist/temp/assets/scripts/notification/Notification.d.ts +0 -21
  301. package/dist/temp/assets/scripts/notification/Notification.js +0 -94
  302. package/dist/temp/assets/scripts/notification/const/classNames.d.ts +0 -43
  303. package/dist/temp/assets/scripts/notification/const/classNames.js +0 -44
  304. package/dist/temp/assets/scripts/notification/const/icons.d.ts +0 -25
  305. package/dist/temp/assets/scripts/notification/const/icons.js +0 -25
  306. package/dist/temp/assets/scripts/notification/const/index.d.ts +0 -5
  307. package/dist/temp/assets/scripts/notification/const/index.js +0 -4
  308. package/dist/temp/assets/scripts/notification/const/sizes.d.ts +0 -32
  309. package/dist/temp/assets/scripts/notification/const/sizes.js +0 -40
  310. package/dist/temp/assets/scripts/notification/const/types.d.ts +0 -19
  311. package/dist/temp/assets/scripts/notification/const/types.js +0 -8
  312. package/dist/temp/assets/scripts/notification/index.d.ts +0 -7
  313. package/dist/temp/assets/scripts/notification/index.js +0 -11
  314. package/dist/temp/assets/scripts/notification/utils.d.ts +0 -8
  315. package/dist/temp/assets/scripts/notification/utils.js +0 -89
  316. package/dist/temp/assets/scripts/progress-bar/ProgressBar.d.ts +0 -67
  317. package/dist/temp/assets/scripts/progress-bar/ProgressBar.js +0 -263
  318. package/dist/temp/assets/scripts/progress-bar/index.d.ts +0 -1
  319. package/dist/temp/assets/scripts/progress-bar/index.js +0 -1
  320. package/dist/temp/assets/scripts/selectBox.d.ts +0 -50
  321. package/dist/temp/assets/scripts/selectBox.js +0 -170
  322. package/dist/temp/assets/scripts/shared/ButtonCloseX.d.ts +0 -5
  323. package/dist/temp/assets/scripts/shared/ButtonCloseX.js +0 -33
  324. package/dist/temp/assets/scripts/tab.d.ts +0 -7
  325. package/dist/temp/assets/scripts/tab.js +0 -33
  326. package/dist/temp/assets/scripts/table/Table.d.ts +0 -41
  327. package/dist/temp/assets/scripts/table/Table.js +0 -378
  328. package/dist/temp/assets/scripts/table/const/classNames.d.ts +0 -27
  329. package/dist/temp/assets/scripts/table/const/classNames.js +0 -27
  330. package/dist/temp/assets/scripts/table/const/index.d.ts +0 -2
  331. package/dist/temp/assets/scripts/table/const/index.js +0 -2
  332. package/dist/temp/assets/scripts/table/const/types.d.ts +0 -23
  333. package/dist/temp/assets/scripts/table/const/types.js +0 -1
  334. package/dist/temp/assets/scripts/table/index.d.ts +0 -3
  335. package/dist/temp/assets/scripts/table/index.js +0 -8
  336. package/dist/temp/assets/scripts/tag/Tag.d.ts +0 -27
  337. package/dist/temp/assets/scripts/tag/Tag.js +0 -259
  338. package/dist/temp/assets/scripts/tag/const/classNames.d.ts +0 -11
  339. package/dist/temp/assets/scripts/tag/const/classNames.js +0 -12
  340. package/dist/temp/assets/scripts/tag/const/index.d.ts +0 -3
  341. package/dist/temp/assets/scripts/tag/const/index.js +0 -3
  342. package/dist/temp/assets/scripts/tag/const/sizes.d.ts +0 -7
  343. package/dist/temp/assets/scripts/tag/const/sizes.js +0 -7
  344. package/dist/temp/assets/scripts/tag/const/types.d.ts +0 -33
  345. package/dist/temp/assets/scripts/tag/const/types.js +0 -1
  346. package/dist/temp/assets/scripts/tag/index.d.ts +0 -3
  347. package/dist/temp/assets/scripts/tag/index.js +0 -9
  348. package/dist/temp/assets/scripts/tooltip/Tooltip.d.ts +0 -54
  349. package/dist/temp/assets/scripts/tooltip/Tooltip.js +0 -335
  350. package/dist/temp/assets/scripts/tooltip/TooltipLayerManager.d.ts +0 -21
  351. package/dist/temp/assets/scripts/tooltip/TooltipLayerManager.js +0 -71
  352. package/dist/temp/assets/scripts/tooltip/const/classNames.d.ts +0 -17
  353. package/dist/temp/assets/scripts/tooltip/const/classNames.js +0 -23
  354. package/dist/temp/assets/scripts/tooltip/const/constants.d.ts +0 -33
  355. package/dist/temp/assets/scripts/tooltip/const/constants.js +0 -46
  356. package/dist/temp/assets/scripts/tooltip/const/icons.d.ts +0 -4
  357. package/dist/temp/assets/scripts/tooltip/const/icons.js +0 -9
  358. package/dist/temp/assets/scripts/tooltip/const/index.d.ts +0 -5
  359. package/dist/temp/assets/scripts/tooltip/const/index.js +0 -4
  360. package/dist/temp/assets/scripts/tooltip/const/templates.d.ts +0 -16
  361. package/dist/temp/assets/scripts/tooltip/const/templates.js +0 -59
  362. package/dist/temp/assets/scripts/tooltip/const/types.d.ts +0 -14
  363. package/dist/temp/assets/scripts/tooltip/const/types.js +0 -1
  364. package/dist/temp/assets/scripts/tooltip/index.d.ts +0 -6
  365. package/dist/temp/assets/scripts/tooltip/index.js +0 -10
  366. package/dist/temp/assets/scripts/tooltip/utils.d.ts +0 -2
  367. package/dist/temp/assets/scripts/tooltip/utils.js +0 -33
  368. package/dist/temp/assets/scripts/utils/debounce.d.ts +0 -8
  369. package/dist/temp/assets/scripts/utils/debounce.js +0 -23
  370. package/dist/temp/assets/scripts/utils/unifiedBox/domRenderer.d.ts +0 -107
  371. package/dist/temp/assets/scripts/utils/unifiedBox/domRenderer.js +0 -367
  372. package/dist/temp/assets/scripts/utils/unifiedBox/dropdownModel.d.ts +0 -142
  373. package/dist/temp/assets/scripts/utils/unifiedBox/dropdownModel.js +0 -286
  374. package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxController.d.ts +0 -156
  375. package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxController.js +0 -604
  376. package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxManager.d.ts +0 -95
  377. package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +0 -482
  378. package/dist/types/assets/scripts/baseBox.d.ts +0 -55
  379. package/dist/types/assets/scripts/comboBox.d.ts +0 -60
  380. package/dist/types/assets/scripts/datePicker.d.ts +0 -86
  381. package/dist/types/assets/scripts/featuredIcon.d.ts +0 -22
  382. package/dist/types/assets/scripts/fileInput/const/classNames.d.ts +0 -15
  383. package/dist/types/assets/scripts/fileInput/const/index.d.ts +0 -2
  384. package/dist/types/assets/scripts/fileInput/const/types.d.ts +0 -88
  385. package/dist/types/assets/scripts/fileInput/fileInput.d.ts +0 -13
  386. package/dist/types/assets/scripts/fileInput/fileInputModel.d.ts +0 -12
  387. package/dist/types/assets/scripts/fileInput/fileInputView.d.ts +0 -42
  388. package/dist/types/assets/scripts/fileInput/index.d.ts +0 -3
  389. package/dist/types/assets/scripts/imageFileInput/ImageFileInput.d.ts +0 -63
  390. package/dist/types/assets/scripts/imageFileInput/ImageFileInputModel.d.ts +0 -73
  391. package/dist/types/assets/scripts/imageFileInput/ImageFileInputView.d.ts +0 -79
  392. package/dist/types/assets/scripts/imageFileInput/const/classNames.d.ts +0 -19
  393. package/dist/types/assets/scripts/imageFileInput/const/index.d.ts +0 -2
  394. package/dist/types/assets/scripts/imageFileInput/const/types.d.ts +0 -125
  395. package/dist/types/assets/scripts/imageFileInput/index.d.ts +0 -3
  396. package/dist/types/assets/scripts/index.d.ts +0 -34
  397. package/dist/types/assets/scripts/modal/Modal.d.ts +0 -27
  398. package/dist/types/assets/scripts/modal/ModalActions.d.ts +0 -18
  399. package/dist/types/assets/scripts/modal/ModalContent.d.ts +0 -13
  400. package/dist/types/assets/scripts/modal/ModalHeader.d.ts +0 -15
  401. package/dist/types/assets/scripts/modal/const/classNames.d.ts +0 -22
  402. package/dist/types/assets/scripts/modal/const/index.d.ts +0 -2
  403. package/dist/types/assets/scripts/modal/const/types.d.ts +0 -61
  404. package/dist/types/assets/scripts/modal/index.d.ts +0 -7
  405. package/dist/types/assets/scripts/modal/utils/contentUtils.d.ts +0 -10
  406. package/dist/types/assets/scripts/notification/FloatingNotification.d.ts +0 -24
  407. package/dist/types/assets/scripts/notification/FullWidthNotification.d.ts +0 -21
  408. package/dist/types/assets/scripts/notification/MessageNotification.d.ts +0 -22
  409. package/dist/types/assets/scripts/notification/Notification.d.ts +0 -21
  410. package/dist/types/assets/scripts/notification/const/classNames.d.ts +0 -43
  411. package/dist/types/assets/scripts/notification/const/icons.d.ts +0 -25
  412. package/dist/types/assets/scripts/notification/const/index.d.ts +0 -5
  413. package/dist/types/assets/scripts/notification/const/sizes.d.ts +0 -32
  414. package/dist/types/assets/scripts/notification/const/types.d.ts +0 -19
  415. package/dist/types/assets/scripts/notification/index.d.ts +0 -7
  416. package/dist/types/assets/scripts/notification/utils.d.ts +0 -8
  417. package/dist/types/assets/scripts/progress-bar/ProgressBar.d.ts +0 -67
  418. package/dist/types/assets/scripts/progress-bar/index.d.ts +0 -1
  419. package/dist/types/assets/scripts/selectBox.d.ts +0 -50
  420. package/dist/types/assets/scripts/shared/ButtonCloseX.d.ts +0 -5
  421. package/dist/types/assets/scripts/tab.d.ts +0 -7
  422. package/dist/types/assets/scripts/table/Table.d.ts +0 -41
  423. package/dist/types/assets/scripts/table/const/classNames.d.ts +0 -27
  424. package/dist/types/assets/scripts/table/const/index.d.ts +0 -2
  425. package/dist/types/assets/scripts/table/const/types.d.ts +0 -23
  426. package/dist/types/assets/scripts/table/index.d.ts +0 -3
  427. package/dist/types/assets/scripts/tag/Tag.d.ts +0 -27
  428. package/dist/types/assets/scripts/tag/const/classNames.d.ts +0 -11
  429. package/dist/types/assets/scripts/tag/const/index.d.ts +0 -3
  430. package/dist/types/assets/scripts/tag/const/sizes.d.ts +0 -7
  431. package/dist/types/assets/scripts/tag/const/types.d.ts +0 -33
  432. package/dist/types/assets/scripts/tag/index.d.ts +0 -3
  433. package/dist/types/assets/scripts/tooltip/Tooltip.d.ts +0 -54
  434. package/dist/types/assets/scripts/tooltip/TooltipLayerManager.d.ts +0 -21
  435. package/dist/types/assets/scripts/tooltip/const/classNames.d.ts +0 -17
  436. package/dist/types/assets/scripts/tooltip/const/constants.d.ts +0 -33
  437. package/dist/types/assets/scripts/tooltip/const/icons.d.ts +0 -4
  438. package/dist/types/assets/scripts/tooltip/const/index.d.ts +0 -5
  439. package/dist/types/assets/scripts/tooltip/const/templates.d.ts +0 -16
  440. package/dist/types/assets/scripts/tooltip/const/types.d.ts +0 -14
  441. package/dist/types/assets/scripts/tooltip/index.d.ts +0 -6
  442. package/dist/types/assets/scripts/tooltip/utils.d.ts +0 -2
  443. package/dist/types/assets/scripts/utils/debounce.d.ts +0 -8
  444. package/dist/types/assets/scripts/utils/unifiedBox/domRenderer.d.ts +0 -107
  445. package/dist/types/assets/scripts/utils/unifiedBox/dropdownModel.d.ts +0 -142
  446. package/dist/types/assets/scripts/utils/unifiedBox/unifiedBoxController.d.ts +0 -156
  447. package/dist/types/assets/scripts/utils/unifiedBox/unifiedBoxManager.d.ts +0 -95
  448. /package/dist/cjs/{assets/scripts/modal/const/types.js → src/types/component-meta.js} +0 -0
@@ -1,22 +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
- }
@@ -1,79 +0,0 @@
1
- // React 컴포넌트와 동일하게 구성
2
- const iconSizeMap = {
3
- sm: 16,
4
- md: 20,
5
- lg: 24,
6
- xl: 28,
7
- };
8
- export class FeaturedIcon {
9
- constructor(options) {
10
- this.options = {
11
- theme: 'light-circle',
12
- color: 'neutral',
13
- size: 'sm',
14
- className: '',
15
- ...options,
16
- };
17
- this.element = this.createElement();
18
- }
19
- // svgString ( ICON SVG ) 을 받아서 요소를 생성
20
- createElement() {
21
- const { theme, color, size, className, svgString } = this.options;
22
- // React FeaturedIcon과 동일한 클래스 구조
23
- const classes = [
24
- 'ncua-featured-icon',
25
- `ncua-featured-icon--${theme}`,
26
- `ncua-featured-icon--${color}`,
27
- `ncua-featured-icon--${size}`,
28
- ];
29
- if (className) {
30
- classes.push(className);
31
- }
32
- const div = document.createElement('div');
33
- div.className = classes.join(' ');
34
- // outline-circle 테마일 때 추가 요소들 (React 컴포넌트와 동일)
35
- if (theme === 'outline-circle') {
36
- const innerOutline = document.createElement('div');
37
- innerOutline.className = 'ncua-featured-icon__outline ncua-featured-icon__outline--inner';
38
- div.appendChild(innerOutline);
39
- const outerOutline = document.createElement('div');
40
- outerOutline.className = 'ncua-featured-icon__outline ncua-featured-icon__outline--outer';
41
- div.appendChild(outerOutline);
42
- }
43
- // SVG 아이콘 추가
44
- const iconSize = iconSizeMap[size];
45
- const svgWithSize = this.addSizeToSvg(svgString, iconSize);
46
- div.innerHTML += svgWithSize;
47
- return div;
48
- }
49
- addSizeToSvg(svgString, size) {
50
- return svgString.replace(/<svg([^>]*)>/, `<svg$1 width="${size}" height="${size}">`);
51
- }
52
- // Public methods
53
- getElement() {
54
- return this.element;
55
- }
56
- updateColor(color) {
57
- this.element.className = this.element.className.replace(/ncua-featured-icon--(neutral|error|warning|success)/, `ncua-featured-icon--${color}`);
58
- this.options.color = color;
59
- }
60
- updateSize(size) {
61
- const iconSize = iconSizeMap[size];
62
- this.element.className = this.element.className.replace(/ncua-featured-icon--(sm|md|lg|xl)/, `ncua-featured-icon--${size}`);
63
- const svgIcon = this.element.querySelector('svg');
64
- if (svgIcon) {
65
- svgIcon.setAttribute('width', String(iconSize));
66
- svgIcon.setAttribute('height', String(iconSize));
67
- }
68
- this.options.size = size;
69
- }
70
- destroy() {
71
- if (this.element.parentNode) {
72
- this.element.parentNode.removeChild(this.element);
73
- }
74
- }
75
- // Static factory method
76
- static create(options) {
77
- return new FeaturedIcon(options);
78
- }
79
- }
@@ -1,15 +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 getLabelClassName: (isRequired?: boolean) => "ncua-label" | "ncua-label ncua-label--required";
15
- export declare const getHintTextClassName: (destructive?: boolean) => "ncua-input__hint-text" | "ncua-input__hint-text ncua-input__hint-text--destructive";
@@ -1,16 +0,0 @@
1
- // FileInput 관련 CSS 클래스명 상수
2
- export const FILE_INPUT_CLASS_NAMES = {
3
- fileInput: 'ncua-file-input',
4
- inputContainer: 'ncua-file-input__input-container',
5
- label: 'ncua-file-input__label',
6
- helpIcon: 'ncua-input__help-icon',
7
- hintText: 'ncua-input__hint-text',
8
- hintList: 'ncua-file-input__hint-list',
9
- hintItem: 'ncua-file-input__hint-item',
10
- fileTags: 'ncua-file-input__file-tags',
11
- fileTagContainer: 'ncua-file-input__file-tag-container',
12
- fileImage: 'ncua-file-input__file-image',
13
- };
14
- export const getFileInputSizeClassName = (size) => `ncua-file-input--${size}`;
15
- export const getLabelClassName = (isRequired) => isRequired ? 'ncua-label ncua-label--required' : 'ncua-label';
16
- export const getHintTextClassName = (destructive) => destructive ? 'ncua-input__hint-text ncua-input__hint-text--destructive' : 'ncua-input__hint-text';
@@ -1,2 +0,0 @@
1
- export * from './classNames';
2
- export * from './types';
@@ -1,2 +0,0 @@
1
- export * from './classNames';
2
- export * from './types';
@@ -1,88 +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 interface BaseFileInputOptions {
11
- /**
12
- * Size of the input
13
- */
14
- size?: FileInputSize;
15
- /**
16
- * Accepted file types
17
- * e.g. '.jpg,.png,.pdf' or 'image/*'
18
- */
19
- accept?: string;
20
- /**
21
- * Allow multiple file selection
22
- */
23
- multiple?: boolean;
24
- /**
25
- * Maximum number of files
26
- */
27
- maxFileCount?: number;
28
- /**
29
- * Maximum file size in bytes
30
- */
31
- maxFileSize?: number;
32
- /**
33
- * Callback when files change
34
- */
35
- onChange?: (files: File[]) => void;
36
- /**
37
- * Callback when file selection fails
38
- */
39
- onFail?: (files: InvalidFile[]) => void;
40
- /**
41
- * Label shown on the button
42
- */
43
- buttonLabel?: string;
44
- /**
45
- * Whether the input is disabled
46
- */
47
- disabled?: boolean;
48
- /**
49
- * Label text
50
- */
51
- label?: string;
52
- /**
53
- * Hint text items to display as a list
54
- */
55
- hintItems?: string[];
56
- /**
57
- * Whether the input is required
58
- */
59
- isRequired?: boolean;
60
- /**
61
- * Whether to show the help icon
62
- */
63
- showHelpIcon?: boolean;
64
- /**
65
- * Hint text to display
66
- */
67
- hintText?: string;
68
- /**
69
- * Validation state
70
- */
71
- validation?: boolean;
72
- /**
73
- * Destructive state
74
- */
75
- destructive?: boolean;
76
- /**
77
- * Container element or selector to automatically append the file input
78
- * Can be a DOM element, element ID, or CSS selector
79
- */
80
- container?: HTMLElement | string;
81
- /**
82
- * Additional CSS class names to add to the main file input element
83
- */
84
- className?: string;
85
- }
86
- type RequiredKeys = 'size' | 'buttonLabel' | 'multiple' | 'disabled';
87
- export type RequiredFileInputProps = Required<Pick<BaseFileInputOptions, RequiredKeys>> & Omit<BaseFileInputOptions, RequiredKeys | 'container'>;
88
- export {};
@@ -1,7 +0,0 @@
1
- // FileInput 관련 타입 정의 (React FileInput.tsx와 동일)
2
- export var FileInputErrorType;
3
- (function (FileInputErrorType) {
4
- FileInputErrorType["ALREADY_UPLOADED"] = "ALREADY_UPLOADED";
5
- FileInputErrorType["EXCEED_MAX_FILE_SIZE"] = "EXCEED_MAX_FILE_SIZE";
6
- FileInputErrorType["EXCEED_MAX_FILE_COUNT"] = "EXCEED_MAX_FILE_COUNT";
7
- })(FileInputErrorType || (FileInputErrorType = {}));
@@ -1,13 +0,0 @@
1
- import { BaseFileInputOptions } from './const/types';
2
- export declare class FileInput {
3
- private model;
4
- private view;
5
- constructor(options: BaseFileInputOptions);
6
- private appendToContainer;
7
- private setupEventListeners;
8
- private handleBrowseClick;
9
- private handleFileChange;
10
- getElement(): HTMLDivElement;
11
- setDisabled(disabled: boolean): void;
12
- destroy(): void;
13
- }
@@ -1,71 +0,0 @@
1
- import { FileInputModel } from './fileInputModel';
2
- import { FileInputView } from './fileInputView';
3
- export class FileInput {
4
- constructor(options) {
5
- this.handleBrowseClick = () => {
6
- if (!this.model.isDisabled()) {
7
- this.view.getFileInputElement().click();
8
- }
9
- };
10
- this.handleFileChange = (event) => {
11
- const target = event.target;
12
- const selectedFiles = target.files;
13
- if (!selectedFiles || selectedFiles.length === 0)
14
- return;
15
- const { validFiles, invalidFiles } = this.model.validateFiles(Array.from(selectedFiles));
16
- const options = this.model.getOptions();
17
- if (validFiles.length > 0) {
18
- options.onChange?.(validFiles);
19
- }
20
- if (invalidFiles.length > 0) {
21
- options.onFail?.(invalidFiles);
22
- }
23
- target.value = '';
24
- };
25
- this.model = new FileInputModel(options);
26
- this.view = new FileInputView(this.model.getOptions());
27
- this.setupEventListeners();
28
- if (options.container) {
29
- this.appendToContainer(options.container);
30
- }
31
- }
32
- appendToContainer(container) {
33
- let containerElement = null;
34
- if (typeof container === 'string') {
35
- containerElement = document.getElementById(container);
36
- if (!containerElement) {
37
- containerElement = document.querySelector(container);
38
- }
39
- }
40
- else {
41
- containerElement = container;
42
- }
43
- if (containerElement) {
44
- containerElement.appendChild(this.getElement());
45
- }
46
- else {
47
- console.warn(`FileInput: Container not found:`, container);
48
- }
49
- }
50
- setupEventListeners() {
51
- const fileInput = this.view.getFileInputElement();
52
- const button = this.view.getButtonElement();
53
- fileInput.addEventListener('change', this.handleFileChange);
54
- button.addEventListener('click', this.handleBrowseClick);
55
- }
56
- // Public API
57
- getElement() {
58
- return this.view.getElement();
59
- }
60
- setDisabled(disabled) {
61
- this.model.setDisabled(disabled);
62
- this.view.setButtonDisabled(disabled);
63
- }
64
- destroy() {
65
- const fileInput = this.view.getFileInputElement();
66
- const button = this.view.getButtonElement();
67
- fileInput.removeEventListener('change', this.handleFileChange);
68
- button.removeEventListener('click', this.handleBrowseClick);
69
- this.view.destroy();
70
- }
71
- }
@@ -1,12 +0,0 @@
1
- import { BaseFileInputOptions, InvalidFile, RequiredFileInputProps } from './const/types';
2
- export declare class FileInputModel {
3
- private options;
4
- constructor(options: BaseFileInputOptions);
5
- getOptions(): RequiredFileInputProps;
6
- validateFiles(fileList: File[]): {
7
- validFiles: File[];
8
- invalidFiles: InvalidFile[];
9
- };
10
- setDisabled(disabled: boolean): void;
11
- isDisabled(): boolean;
12
- }
@@ -1,37 +0,0 @@
1
- import { FileInputErrorType } from './const/types';
2
- export class FileInputModel {
3
- constructor(options) {
4
- this.options = {
5
- size: 'xs',
6
- multiple: false,
7
- buttonLabel: '파일 찾기',
8
- disabled: false,
9
- ...options,
10
- };
11
- }
12
- getOptions() {
13
- return this.options;
14
- }
15
- validateFiles(fileList) {
16
- const validFiles = [];
17
- const invalidFiles = [];
18
- for (const file of fileList) {
19
- if (this.options.maxFileSize && file.size > this.options.maxFileSize) {
20
- invalidFiles.push({ ...file, errorType: FileInputErrorType.EXCEED_MAX_FILE_SIZE });
21
- continue;
22
- }
23
- if (this.options.maxFileCount && validFiles.length >= this.options.maxFileCount) {
24
- invalidFiles.push({ ...file, errorType: FileInputErrorType.EXCEED_MAX_FILE_COUNT });
25
- continue;
26
- }
27
- validFiles.push(file);
28
- }
29
- return { validFiles, invalidFiles };
30
- }
31
- setDisabled(disabled) {
32
- this.options.disabled = disabled;
33
- }
34
- isDisabled() {
35
- return this.options.disabled;
36
- }
37
- }
@@ -1,42 +0,0 @@
1
- import { RequiredFileInputProps } from './const/types';
2
- export declare class FileInputView {
3
- private element;
4
- private fileInputElement;
5
- private buttonElement;
6
- private options;
7
- constructor(options: RequiredFileInputProps);
8
- /**
9
- * 메인 DOM 요소 생성
10
- */
11
- private createElement;
12
- /**
13
- * Hidden file input 생성
14
- */
15
- private createFileInput;
16
- /**
17
- * Input container 생성
18
- */
19
- private createInputContainer;
20
- /**
21
- * Label container 생성
22
- */
23
- private createLabelContainer;
24
- /**
25
- * Help icon 생성
26
- */
27
- private createHelpIcon;
28
- private createButton;
29
- /**
30
- * Hint text 생성
31
- */
32
- private createHintText;
33
- /**
34
- * Hint list 생성
35
- */
36
- private createHintList;
37
- setButtonDisabled(disabled: boolean): void;
38
- getElement(): HTMLDivElement;
39
- getFileInputElement(): HTMLInputElement;
40
- getButtonElement(): HTMLButtonElement;
41
- destroy(): void;
42
- }
@@ -1,145 +0,0 @@
1
- import { FILE_INPUT_CLASS_NAMES, getFileInputSizeClassName, getHintTextClassName, getLabelClassName, } from './const/classNames';
2
- const HELP_ICON_SVG = `<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor">
3
- <circle cx="12" cy="12" r="10" stroke-width="2"/>
4
- <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
5
- <line x1="12" y1="17" x2="12.01" y2="17" stroke-width="2" stroke-linecap="round"/>
6
- </svg>`;
7
- const SHARE_ICON_SVG = `<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="none" class="ncua-btn__icon">
8
- <path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 12v4.2c0 1.68 0 2.52-.327 3.162a3 3 0 0 1-1.311 1.311C18.72 21 17.88 21 16.2 21H7.8c-1.68 0-2.52 0-3.162-.327a3 3 0 0 1-1.311-1.311C3 18.72 3 17.88 3 16.2V12m13-5-4-4m0 0L8 7m4-4v12"/>
9
- </svg>`;
10
- export class FileInputView {
11
- constructor(options) {
12
- this.options = options;
13
- this.element = this.createElement();
14
- this.fileInputElement = this.element.querySelector('input[type="file"]');
15
- this.buttonElement = this.element.querySelector('button');
16
- }
17
- /**
18
- * 메인 DOM 요소 생성
19
- */
20
- createElement() {
21
- const container = document.createElement('div');
22
- const baseClasses = `${FILE_INPUT_CLASS_NAMES.fileInput} ${getFileInputSizeClassName(this.options.size)}`;
23
- const customClasses = this.options.className ? ` ${this.options.className}` : '';
24
- container.className = baseClasses + customClasses;
25
- // Hidden file input 생성
26
- container.appendChild(this.createFileInput());
27
- // Input container
28
- container.appendChild(this.createInputContainer());
29
- // Hint list
30
- if (this.options.hintItems && this.options.hintItems.length > 0) {
31
- container.appendChild(this.createHintList());
32
- }
33
- return container;
34
- }
35
- /**
36
- * Hidden file input 생성
37
- */
38
- createFileInput() {
39
- const input = document.createElement('input');
40
- input.type = 'file';
41
- input.hidden = true;
42
- input.tabIndex = -1;
43
- input.setAttribute('aria-hidden', 'true');
44
- input.classList.add('no-filestyle');
45
- if (this.options.accept) {
46
- input.accept = this.options.accept;
47
- }
48
- if (this.options.multiple) {
49
- input.multiple = true;
50
- }
51
- return input;
52
- }
53
- /**
54
- * Input container 생성
55
- */
56
- createInputContainer() {
57
- const container = document.createElement('div');
58
- container.className = FILE_INPUT_CLASS_NAMES.inputContainer;
59
- // Label
60
- if (this.options.label) {
61
- container.appendChild(this.createLabelContainer());
62
- }
63
- // Button
64
- container.appendChild(this.createButton());
65
- // Hint text
66
- if (this.options.hintText) {
67
- container.appendChild(this.createHintText());
68
- }
69
- return container;
70
- }
71
- /**
72
- * Label container 생성
73
- */
74
- createLabelContainer() {
75
- const container = document.createElement('div');
76
- container.className = FILE_INPUT_CLASS_NAMES.label;
77
- const label = document.createElement('label');
78
- label.className = getLabelClassName(this.options.isRequired);
79
- label.textContent = this.options.label;
80
- container.appendChild(label);
81
- if (this.options.showHelpIcon) {
82
- container.appendChild(this.createHelpIcon());
83
- }
84
- return container;
85
- }
86
- /**
87
- * Help icon 생성
88
- */
89
- createHelpIcon() {
90
- const iconContainer = document.createElement('span');
91
- iconContainer.className = FILE_INPUT_CLASS_NAMES.helpIcon;
92
- iconContainer.innerHTML = HELP_ICON_SVG;
93
- return iconContainer;
94
- }
95
- createButton() {
96
- const button = document.createElement('button');
97
- button.type = 'button';
98
- button.className = `ncua-btn ncua-btn--${this.options.size} ncua-btn--secondary-gray`;
99
- button.disabled = this.options.disabled;
100
- button.insertAdjacentHTML('beforeend', SHARE_ICON_SVG);
101
- const label = document.createElement('span');
102
- label.className = 'ncua-btn__label';
103
- label.textContent = this.options.buttonLabel;
104
- button.appendChild(label);
105
- return button;
106
- }
107
- /**
108
- * Hint text 생성
109
- */
110
- createHintText() {
111
- const hintText = document.createElement('div');
112
- hintText.className = getHintTextClassName(this.options.destructive);
113
- hintText.textContent = this.options.hintText;
114
- return hintText;
115
- }
116
- /**
117
- * Hint list 생성
118
- */
119
- createHintList() {
120
- const ul = document.createElement('ul');
121
- ul.className = FILE_INPUT_CLASS_NAMES.hintList;
122
- this.options.hintItems?.forEach((hint) => {
123
- const li = document.createElement('li');
124
- li.className = FILE_INPUT_CLASS_NAMES.hintItem;
125
- li.textContent = hint;
126
- ul.appendChild(li);
127
- });
128
- return ul;
129
- }
130
- setButtonDisabled(disabled) {
131
- this.buttonElement.disabled = disabled;
132
- }
133
- getElement() {
134
- return this.element;
135
- }
136
- getFileInputElement() {
137
- return this.fileInputElement;
138
- }
139
- getButtonElement() {
140
- return this.buttonElement;
141
- }
142
- destroy() {
143
- // View 리소스 정리 - 이벤트 리스너는 FileInput에서 관리
144
- }
145
- }
@@ -1,3 +0,0 @@
1
- export * from './const/classNames';
2
- export * from './const/types';
3
- export { FileInput } from './fileInput';
@@ -1,9 +0,0 @@
1
- import { FileInput } from './fileInput';
2
- export * from './const/classNames';
3
- export * from './const/types';
4
- export { FileInput } from './fileInput';
5
- // 전역 등록 (추후 index.ts와 개별동작 할 수 있게끔 대비)
6
- if (typeof window !== 'undefined') {
7
- window.ncua = window.ncua || {};
8
- window.ncua.FileInput = FileInput;
9
- }
@@ -1,63 +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
- }