@ncds/ui-admin 1.3.0 → 1.5.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 (391) hide show
  1. package/dist/cjs/assets/scripts/comboBox.js +280 -0
  2. package/dist/cjs/assets/scripts/datePicker.js +231 -60
  3. package/dist/cjs/assets/scripts/featuredIcon.js +95 -0
  4. package/dist/cjs/assets/scripts/fileInput/FileInput.js +183 -0
  5. package/dist/cjs/assets/scripts/fileInput/FileInputModel.js +246 -0
  6. package/dist/cjs/assets/scripts/fileInput/FileInputView.js +455 -0
  7. package/dist/cjs/assets/scripts/fileInput/const/classNames.js +35 -0
  8. package/dist/cjs/assets/scripts/fileInput/const/index.js +27 -0
  9. package/dist/cjs/assets/scripts/fileInput/const/types.js +13 -0
  10. package/dist/cjs/assets/scripts/fileInput/index.js +44 -0
  11. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInput.js +187 -0
  12. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputModel.js +255 -0
  13. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputView.js +354 -0
  14. package/dist/cjs/assets/scripts/imageFileInput/const/classNames.js +41 -0
  15. package/dist/cjs/assets/scripts/imageFileInput/const/index.js +27 -0
  16. package/dist/cjs/assets/scripts/imageFileInput/const/types.js +13 -0
  17. package/dist/cjs/assets/scripts/imageFileInput/index.js +44 -0
  18. package/dist/cjs/assets/scripts/index.js +21 -1
  19. package/dist/cjs/assets/scripts/modal/Modal.js +116 -0
  20. package/dist/cjs/assets/scripts/modal/ModalActions.js +128 -0
  21. package/dist/cjs/assets/scripts/modal/ModalContent.js +46 -0
  22. package/dist/cjs/assets/scripts/modal/ModalHeader.js +115 -0
  23. package/dist/cjs/assets/scripts/modal/const/classNames.js +41 -0
  24. package/dist/cjs/assets/scripts/modal/const/index.js +27 -0
  25. package/dist/cjs/assets/scripts/modal/const/types.js +5 -0
  26. package/dist/cjs/assets/scripts/modal/index.js +61 -0
  27. package/dist/cjs/assets/scripts/modal/utils/contentUtils.js +35 -0
  28. package/dist/cjs/assets/scripts/notification/FloatingNotification.js +180 -0
  29. package/dist/cjs/assets/scripts/notification/FullWidthNotification.js +120 -0
  30. package/dist/cjs/assets/scripts/notification/MessageNotification.js +146 -0
  31. package/dist/cjs/assets/scripts/notification/Notification.js +116 -0
  32. package/dist/cjs/assets/scripts/notification/const/classNames.js +50 -0
  33. package/dist/cjs/assets/scripts/notification/const/icons.js +45 -0
  34. package/dist/cjs/assets/scripts/notification/const/index.js +87 -0
  35. package/dist/cjs/assets/scripts/notification/const/sizes.js +54 -0
  36. package/dist/cjs/assets/scripts/notification/const/types.js +14 -0
  37. package/dist/cjs/assets/scripts/notification/index.js +92 -0
  38. package/dist/cjs/assets/scripts/notification/utils.js +92 -0
  39. package/dist/cjs/assets/scripts/progress-bar/ProgressBar.js +272 -0
  40. package/dist/cjs/assets/scripts/progress-bar/index.js +12 -0
  41. package/dist/cjs/assets/scripts/selectBox.js +319 -0
  42. package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +46 -0
  43. package/dist/cjs/assets/scripts/tag/Tag.js +268 -0
  44. package/dist/cjs/assets/scripts/tag/const/classNames.js +24 -0
  45. package/dist/cjs/assets/scripts/tag/const/index.js +38 -0
  46. package/dist/cjs/assets/scripts/tag/const/sizes.js +13 -0
  47. package/dist/cjs/assets/scripts/tag/const/types.js +5 -0
  48. package/dist/cjs/assets/scripts/tag/index.js +44 -0
  49. package/dist/cjs/assets/scripts/tooltip/Tooltip.js +380 -0
  50. package/dist/cjs/assets/scripts/tooltip/TooltipLayerManager.js +84 -0
  51. package/dist/cjs/assets/scripts/tooltip/const/classNames.js +29 -0
  52. package/dist/cjs/assets/scripts/tooltip/const/constants.js +56 -0
  53. package/dist/cjs/assets/scripts/tooltip/const/icons.js +15 -0
  54. package/dist/cjs/assets/scripts/tooltip/const/index.js +123 -0
  55. package/dist/cjs/assets/scripts/tooltip/const/templates.js +49 -0
  56. package/dist/cjs/assets/scripts/tooltip/const/types.js +5 -0
  57. package/dist/cjs/assets/scripts/tooltip/index.js +57 -0
  58. package/dist/cjs/assets/scripts/tooltip/utils.js +41 -0
  59. package/dist/cjs/assets/scripts/utils/selectbox/DOMRenderer.js +384 -0
  60. package/dist/cjs/assets/scripts/utils/selectbox/DropdownModel.js +368 -0
  61. package/dist/cjs/assets/scripts/utils/selectbox/SelectBoxController.js +681 -0
  62. package/dist/cjs/assets/scripts/utils/selectbox/UnifiedSelectBox.js +711 -0
  63. package/dist/cjs/constant/color.js +2 -0
  64. package/dist/cjs/src/components/button/Button.js +9 -35
  65. package/dist/cjs/src/components/button/ButtonGroup.js +9 -10
  66. package/dist/cjs/src/components/button/ButtonStepper.js +22 -0
  67. package/dist/cjs/src/components/button/index.js +22 -0
  68. package/dist/cjs/src/components/checkbox/Checkbox.js +20 -19
  69. package/dist/cjs/src/components/checkbox/CheckboxInput.js +22 -45
  70. package/dist/cjs/src/components/combobox/ComboBox.js +337 -0
  71. package/dist/cjs/src/components/combobox/index.js +12 -0
  72. package/dist/cjs/src/components/date-picker/CustomInput.js +52 -0
  73. package/dist/cjs/src/components/date-picker/DatePicker.js +126 -24
  74. package/dist/cjs/src/components/date-picker/RangeDatePicker.js +3 -1
  75. package/dist/cjs/src/components/date-picker/RangeDatePickerWithButtons.js +7 -3
  76. package/dist/cjs/src/components/{input → file-upload}/FileInput.js +17 -9
  77. package/dist/cjs/src/components/file-upload/index.js +16 -0
  78. package/dist/cjs/src/components/image-file-input/ImageFileInput.js +263 -0
  79. package/dist/cjs/src/components/image-file-input/components/ImagePreview.js +44 -0
  80. package/dist/cjs/src/components/image-file-input/index.js +16 -0
  81. package/dist/cjs/src/components/index.js +44 -0
  82. package/dist/cjs/src/components/input/InputBase.js +54 -10
  83. package/dist/cjs/src/components/input/NumberInput.js +130 -0
  84. package/dist/cjs/src/components/input/Textarea.js +12 -20
  85. package/dist/cjs/src/components/input/index.js +11 -11
  86. package/dist/cjs/src/components/modal/Modal.js +7 -3
  87. package/dist/cjs/src/components/notification/FloatingNotification.js +34 -3
  88. package/dist/cjs/src/components/notification/FullWidthNotification.js +54 -5
  89. package/dist/cjs/src/components/notification/MessageNotification.js +137 -0
  90. package/dist/cjs/src/components/notification/Notification.js +23 -9
  91. package/dist/cjs/src/components/notification/index.js +11 -0
  92. package/dist/cjs/src/components/pagination/NavButton.js +1 -13
  93. package/dist/cjs/src/components/pagination/Pagination.js +6 -20
  94. package/dist/cjs/src/components/progress-bar/ProgressBar.js +89 -20
  95. package/dist/cjs/src/components/progress-bar/components/SegmentBar.js +25 -0
  96. package/dist/cjs/src/components/progress-bar/components/SegmentLabels.js +74 -0
  97. package/dist/cjs/src/components/progress-bar/hooks/useProgressBar.js +119 -0
  98. package/dist/cjs/src/components/progress-bar/index.js +11 -0
  99. package/dist/cjs/src/components/progress-bar/types.js +5 -0
  100. package/dist/cjs/src/components/progress-bar/utils.js +31 -0
  101. package/dist/cjs/src/components/radio/Radio.js +5 -6
  102. package/dist/cjs/src/components/select/Select.js +7 -4
  103. package/dist/cjs/src/components/select-dropdown/SelectDropdown.js +146 -0
  104. package/dist/cjs/src/components/select-dropdown/index.js +12 -0
  105. package/dist/cjs/src/components/selectbox/SelectBox.js +283 -0
  106. package/dist/cjs/src/components/selectbox/index.js +12 -0
  107. package/dist/cjs/src/components/shared/hintText/HintText.js +1 -1
  108. package/dist/cjs/src/components/switch/Switch.js +123 -0
  109. package/dist/cjs/src/components/switch/index.js +12 -0
  110. package/dist/cjs/src/components/tab/HorizontalTab.js +8 -20
  111. package/dist/cjs/src/components/tab/TabButton.js +33 -16
  112. package/dist/cjs/src/components/tab/VerticalTab.js +15 -30
  113. package/dist/cjs/src/components/tag/Tag.js +92 -3
  114. package/dist/cjs/src/components/tooltip/Tooltip.js +138 -30
  115. package/dist/cjs/src/hooks/dropdown/index.js +47 -0
  116. package/dist/cjs/src/hooks/dropdown/useDropdown.js +109 -0
  117. package/dist/cjs/src/hooks/dropdown/useDropdownKeyboard.js +131 -0
  118. package/dist/cjs/src/hooks/dropdown/useDropdownPosition.js +27 -0
  119. package/dist/cjs/src/hooks/dropdown/useOutsideClick.js +33 -0
  120. package/dist/cjs/src/hooks/dropdown/useScrollLock.js +78 -0
  121. package/dist/cjs/src/hooks/dropdown/useWindowResize.js +52 -0
  122. package/dist/cjs/src/hooks/index.js +18 -1
  123. package/dist/cjs/src/types/dropdown/dropdown.js +5 -0
  124. package/dist/cjs/src/types/dropdown/index.js +27 -0
  125. package/dist/cjs/src/types/dropdown/option.js +5 -0
  126. package/dist/cjs/src/types/index.js +16 -0
  127. package/dist/cjs/src/utils/date-picker.js +37 -1
  128. package/dist/cjs/src/utils/dropdown/dropdownUtils.js +107 -0
  129. package/dist/cjs/src/utils/dropdown/index.js +27 -0
  130. package/dist/cjs/src/utils/dropdown/multiSelect.js +100 -0
  131. package/dist/cjs/src/utils/index.js +27 -0
  132. package/dist/esm/assets/scripts/comboBox.js +275 -0
  133. package/dist/esm/assets/scripts/datePicker.js +228 -59
  134. package/dist/esm/assets/scripts/featuredIcon.js +90 -0
  135. package/dist/esm/assets/scripts/fileInput/FileInput.js +178 -0
  136. package/dist/esm/assets/scripts/fileInput/FileInputModel.js +241 -0
  137. package/dist/esm/assets/scripts/fileInput/FileInputView.js +450 -0
  138. package/dist/esm/assets/scripts/fileInput/const/classNames.js +25 -0
  139. package/dist/esm/assets/scripts/fileInput/const/index.js +2 -0
  140. package/dist/esm/assets/scripts/fileInput/const/types.js +7 -0
  141. package/dist/esm/assets/scripts/fileInput/index.js +9 -0
  142. package/dist/esm/assets/scripts/imageFileInput/ImageFileInput.js +182 -0
  143. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputModel.js +250 -0
  144. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputView.js +349 -0
  145. package/dist/esm/assets/scripts/imageFileInput/const/classNames.js +30 -0
  146. package/dist/esm/assets/scripts/imageFileInput/const/index.js +2 -0
  147. package/dist/esm/assets/scripts/imageFileInput/const/types.js +7 -0
  148. package/dist/esm/assets/scripts/imageFileInput/index.js +9 -0
  149. package/dist/esm/assets/scripts/index.js +21 -1
  150. package/dist/esm/assets/scripts/modal/Modal.js +110 -0
  151. package/dist/esm/assets/scripts/modal/ModalActions.js +123 -0
  152. package/dist/esm/assets/scripts/modal/ModalContent.js +41 -0
  153. package/dist/esm/assets/scripts/modal/ModalHeader.js +110 -0
  154. package/dist/esm/assets/scripts/modal/const/classNames.js +31 -0
  155. package/dist/esm/assets/scripts/modal/const/index.js +2 -0
  156. package/dist/esm/assets/scripts/modal/const/types.js +1 -0
  157. package/dist/esm/assets/scripts/modal/index.js +15 -0
  158. package/dist/esm/assets/scripts/modal/utils/contentUtils.js +28 -0
  159. package/dist/esm/assets/scripts/notification/FloatingNotification.js +176 -0
  160. package/dist/esm/assets/scripts/notification/FullWidthNotification.js +115 -0
  161. package/dist/esm/assets/scripts/notification/MessageNotification.js +141 -0
  162. package/dist/esm/assets/scripts/notification/Notification.js +111 -0
  163. package/dist/esm/assets/scripts/notification/const/classNames.js +44 -0
  164. package/dist/esm/assets/scripts/notification/const/icons.js +39 -0
  165. package/dist/esm/assets/scripts/notification/const/index.js +4 -0
  166. package/dist/esm/assets/scripts/notification/const/sizes.js +48 -0
  167. package/dist/esm/assets/scripts/notification/const/types.js +8 -0
  168. package/dist/esm/assets/scripts/notification/index.js +11 -0
  169. package/dist/esm/assets/scripts/notification/utils.js +79 -0
  170. package/dist/esm/assets/scripts/progress-bar/ProgressBar.js +267 -0
  171. package/dist/esm/assets/scripts/progress-bar/index.js +1 -0
  172. package/dist/esm/assets/scripts/selectBox.js +314 -0
  173. package/dist/esm/assets/scripts/shared/ButtonCloseX.js +38 -0
  174. package/dist/esm/assets/scripts/tag/Tag.js +263 -0
  175. package/dist/esm/assets/scripts/tag/const/classNames.js +16 -0
  176. package/dist/esm/assets/scripts/tag/const/index.js +3 -0
  177. package/dist/esm/assets/scripts/tag/const/sizes.js +7 -0
  178. package/dist/esm/assets/scripts/tag/const/types.js +1 -0
  179. package/dist/esm/assets/scripts/tag/index.js +9 -0
  180. package/dist/esm/assets/scripts/tooltip/Tooltip.js +375 -0
  181. package/dist/esm/assets/scripts/tooltip/TooltipLayerManager.js +79 -0
  182. package/dist/esm/assets/scripts/tooltip/const/classNames.js +23 -0
  183. package/dist/esm/assets/scripts/tooltip/const/constants.js +50 -0
  184. package/dist/esm/assets/scripts/tooltip/const/icons.js +9 -0
  185. package/dist/esm/assets/scripts/tooltip/const/index.js +4 -0
  186. package/dist/esm/assets/scripts/tooltip/const/templates.js +42 -0
  187. package/dist/esm/assets/scripts/tooltip/const/types.js +1 -0
  188. package/dist/esm/assets/scripts/tooltip/index.js +10 -0
  189. package/dist/esm/assets/scripts/tooltip/utils.js +35 -0
  190. package/dist/esm/assets/scripts/utils/selectbox/DOMRenderer.js +379 -0
  191. package/dist/esm/assets/scripts/utils/selectbox/DropdownModel.js +363 -0
  192. package/dist/esm/assets/scripts/utils/selectbox/SelectBoxController.js +676 -0
  193. package/dist/esm/assets/scripts/utils/selectbox/UnifiedSelectBox.js +706 -0
  194. package/dist/esm/constant/color.js +2 -0
  195. package/dist/esm/src/components/button/Button.js +10 -36
  196. package/dist/esm/src/components/button/ButtonGroup.js +9 -10
  197. package/dist/esm/src/components/button/ButtonStepper.js +14 -0
  198. package/dist/esm/src/components/button/index.js +3 -1
  199. package/dist/esm/src/components/checkbox/Checkbox.js +21 -19
  200. package/dist/esm/src/components/checkbox/CheckboxInput.js +24 -47
  201. package/dist/esm/src/components/combobox/ComboBox.js +330 -0
  202. package/dist/esm/src/components/combobox/index.js +1 -0
  203. package/dist/esm/src/components/date-picker/CustomInput.js +45 -0
  204. package/dist/esm/src/components/date-picker/DatePicker.js +127 -25
  205. package/dist/esm/src/components/date-picker/RangeDatePicker.js +3 -1
  206. package/dist/esm/src/components/date-picker/RangeDatePickerWithButtons.js +7 -3
  207. package/dist/esm/src/components/{input → file-upload}/FileInput.js +17 -9
  208. package/dist/esm/src/components/file-upload/index.js +1 -0
  209. package/dist/esm/src/components/image-file-input/ImageFileInput.js +256 -0
  210. package/dist/esm/src/components/image-file-input/components/ImagePreview.js +37 -0
  211. package/dist/esm/src/components/image-file-input/index.js +1 -0
  212. package/dist/esm/src/components/index.js +4 -0
  213. package/dist/esm/src/components/input/InputBase.js +55 -11
  214. package/dist/esm/src/components/input/NumberInput.js +124 -0
  215. package/dist/esm/src/components/input/Textarea.js +12 -20
  216. package/dist/esm/src/components/input/index.js +2 -2
  217. package/dist/esm/src/components/modal/Modal.js +7 -3
  218. package/dist/esm/src/components/notification/FloatingNotification.js +35 -4
  219. package/dist/esm/src/components/notification/FullWidthNotification.js +55 -6
  220. package/dist/esm/src/components/notification/MessageNotification.js +130 -0
  221. package/dist/esm/src/components/notification/Notification.js +23 -9
  222. package/dist/esm/src/components/notification/index.js +2 -1
  223. package/dist/esm/src/components/pagination/NavButton.js +1 -13
  224. package/dist/esm/src/components/pagination/Pagination.js +6 -20
  225. package/dist/esm/src/components/progress-bar/ProgressBar.js +89 -20
  226. package/dist/esm/src/components/progress-bar/components/SegmentBar.js +18 -0
  227. package/dist/esm/src/components/progress-bar/components/SegmentLabels.js +66 -0
  228. package/dist/esm/src/components/progress-bar/hooks/useProgressBar.js +112 -0
  229. package/dist/esm/src/components/progress-bar/index.js +2 -1
  230. package/dist/esm/src/components/progress-bar/types.js +1 -0
  231. package/dist/esm/src/components/progress-bar/utils.js +22 -0
  232. package/dist/esm/src/components/radio/Radio.js +5 -5
  233. package/dist/esm/src/components/select/Select.js +7 -4
  234. package/dist/esm/src/components/select-dropdown/SelectDropdown.js +139 -0
  235. package/dist/esm/src/components/select-dropdown/index.js +1 -0
  236. package/dist/esm/src/components/selectbox/SelectBox.js +276 -0
  237. package/dist/esm/src/components/selectbox/index.js +1 -0
  238. package/dist/esm/src/components/shared/hintText/HintText.js +1 -1
  239. package/dist/esm/src/components/switch/Switch.js +116 -0
  240. package/dist/esm/src/components/switch/index.js +1 -0
  241. package/dist/esm/src/components/tab/HorizontalTab.js +7 -19
  242. package/dist/esm/src/components/tab/TabButton.js +34 -17
  243. package/dist/esm/src/components/tab/VerticalTab.js +15 -30
  244. package/dist/esm/src/components/tag/Tag.js +92 -3
  245. package/dist/esm/src/components/tooltip/Tooltip.js +139 -31
  246. package/dist/esm/src/hooks/dropdown/index.js +6 -0
  247. package/dist/esm/src/hooks/dropdown/useDropdown.js +102 -0
  248. package/dist/esm/src/hooks/dropdown/useDropdownKeyboard.js +124 -0
  249. package/dist/esm/src/hooks/dropdown/useDropdownPosition.js +20 -0
  250. package/dist/esm/src/hooks/dropdown/useOutsideClick.js +26 -0
  251. package/dist/esm/src/hooks/dropdown/useScrollLock.js +71 -0
  252. package/dist/esm/src/hooks/dropdown/useWindowResize.js +45 -0
  253. package/dist/esm/src/hooks/index.js +4 -1
  254. package/dist/esm/src/types/dropdown/dropdown.js +1 -0
  255. package/dist/esm/src/types/dropdown/index.js +2 -0
  256. package/dist/esm/src/types/dropdown/option.js +1 -0
  257. package/dist/esm/src/types/index.js +2 -0
  258. package/dist/esm/src/utils/date-picker.js +33 -1
  259. package/dist/esm/src/utils/dropdown/dropdownUtils.js +97 -0
  260. package/dist/esm/src/utils/dropdown/index.js +2 -0
  261. package/dist/esm/src/utils/dropdown/multiSelect.js +88 -0
  262. package/dist/esm/src/utils/index.js +4 -0
  263. package/dist/types/assets/scripts/comboBox.d.ts +91 -0
  264. package/dist/types/assets/scripts/datePicker.d.ts +17 -13
  265. package/dist/types/assets/scripts/featuredIcon.d.ts +23 -0
  266. package/dist/types/assets/scripts/fileInput/FileInput.d.ts +67 -0
  267. package/dist/types/assets/scripts/fileInput/FileInputModel.d.ts +70 -0
  268. package/dist/types/assets/scripts/fileInput/FileInputView.d.ts +77 -0
  269. package/dist/types/assets/scripts/fileInput/const/classNames.d.ts +17 -0
  270. package/dist/types/assets/scripts/fileInput/const/index.d.ts +3 -0
  271. package/dist/types/assets/scripts/fileInput/const/types.d.ts +132 -0
  272. package/dist/types/assets/scripts/fileInput/index.d.ts +4 -0
  273. package/dist/types/assets/scripts/imageFileInput/ImageFileInput.d.ts +64 -0
  274. package/dist/types/assets/scripts/imageFileInput/ImageFileInputModel.d.ts +74 -0
  275. package/dist/types/assets/scripts/imageFileInput/ImageFileInputView.d.ts +80 -0
  276. package/dist/types/assets/scripts/imageFileInput/const/classNames.d.ts +20 -0
  277. package/dist/types/assets/scripts/imageFileInput/const/index.d.ts +3 -0
  278. package/dist/types/assets/scripts/imageFileInput/const/types.d.ts +126 -0
  279. package/dist/types/assets/scripts/imageFileInput/index.d.ts +4 -0
  280. package/dist/types/assets/scripts/index.d.ts +28 -2
  281. package/dist/types/assets/scripts/modal/Modal.d.ts +28 -0
  282. package/dist/types/assets/scripts/modal/ModalActions.d.ts +19 -0
  283. package/dist/types/assets/scripts/modal/ModalContent.d.ts +14 -0
  284. package/dist/types/assets/scripts/modal/ModalHeader.d.ts +16 -0
  285. package/dist/types/assets/scripts/modal/const/classNames.d.ts +23 -0
  286. package/dist/types/assets/scripts/modal/const/index.d.ts +3 -0
  287. package/dist/types/assets/scripts/modal/const/types.d.ts +62 -0
  288. package/dist/types/assets/scripts/modal/index.d.ts +8 -0
  289. package/dist/types/assets/scripts/modal/utils/contentUtils.d.ts +11 -0
  290. package/dist/types/assets/scripts/notification/FloatingNotification.d.ts +25 -0
  291. package/dist/types/assets/scripts/notification/FullWidthNotification.d.ts +22 -0
  292. package/dist/types/assets/scripts/notification/MessageNotification.d.ts +23 -0
  293. package/dist/types/assets/scripts/notification/Notification.d.ts +22 -0
  294. package/dist/types/assets/scripts/notification/const/classNames.d.ts +44 -0
  295. package/dist/types/assets/scripts/notification/const/icons.d.ts +26 -0
  296. package/dist/types/assets/scripts/notification/const/index.d.ts +6 -0
  297. package/dist/types/assets/scripts/notification/const/sizes.d.ts +33 -0
  298. package/dist/types/assets/scripts/notification/const/types.d.ts +20 -0
  299. package/dist/types/assets/scripts/notification/index.d.ts +8 -0
  300. package/dist/types/assets/scripts/notification/utils.d.ts +9 -0
  301. package/dist/types/assets/scripts/progress-bar/ProgressBar.d.ts +68 -0
  302. package/dist/types/assets/scripts/progress-bar/index.d.ts +2 -0
  303. package/dist/types/assets/scripts/selectBox.d.ts +77 -0
  304. package/dist/types/assets/scripts/shared/ButtonCloseX.d.ts +6 -0
  305. package/dist/types/assets/scripts/tag/Tag.d.ts +28 -0
  306. package/dist/types/assets/scripts/tag/const/classNames.d.ts +12 -0
  307. package/dist/types/assets/scripts/tag/const/index.d.ts +4 -0
  308. package/dist/types/assets/scripts/tag/const/sizes.d.ts +8 -0
  309. package/dist/types/assets/scripts/tag/const/types.d.ts +34 -0
  310. package/dist/types/assets/scripts/tag/index.d.ts +4 -0
  311. package/dist/types/assets/scripts/tooltip/Tooltip.d.ts +55 -0
  312. package/dist/types/assets/scripts/tooltip/TooltipLayerManager.d.ts +22 -0
  313. package/dist/types/assets/scripts/tooltip/const/classNames.d.ts +18 -0
  314. package/dist/types/assets/scripts/tooltip/const/constants.d.ts +34 -0
  315. package/dist/types/assets/scripts/tooltip/const/icons.d.ts +5 -0
  316. package/dist/types/assets/scripts/tooltip/const/index.d.ts +6 -0
  317. package/dist/types/assets/scripts/tooltip/const/templates.d.ts +17 -0
  318. package/dist/types/assets/scripts/tooltip/const/types.d.ts +15 -0
  319. package/dist/types/assets/scripts/tooltip/index.d.ts +7 -0
  320. package/dist/types/assets/scripts/tooltip/utils.d.ts +3 -0
  321. package/dist/types/assets/scripts/utils/selectbox/DOMRenderer.d.ts +108 -0
  322. package/dist/types/assets/scripts/utils/selectbox/DropdownModel.d.ts +158 -0
  323. package/dist/types/assets/scripts/utils/selectbox/SelectBoxController.d.ts +171 -0
  324. package/dist/types/assets/scripts/utils/selectbox/UnifiedSelectBox.d.ts +99 -0
  325. package/dist/types/constant/color.d.ts +3 -1
  326. package/dist/types/src/components/button/Button.d.ts +14 -12
  327. package/dist/types/src/components/button/ButtonGroup.d.ts +4 -289
  328. package/dist/types/src/components/button/ButtonStepper.d.ts +10 -0
  329. package/dist/types/src/components/button/index.d.ts +2 -0
  330. package/dist/types/src/components/checkbox/Checkbox.d.ts +2 -3
  331. package/dist/types/src/components/combobox/ComboBox.d.ts +28 -0
  332. package/dist/types/src/components/combobox/index.d.ts +3 -0
  333. package/dist/types/src/components/date-picker/CustomInput.d.ts +12 -0
  334. package/dist/types/src/components/date-picker/DatePicker.d.ts +3 -0
  335. package/dist/types/src/components/date-picker/RangeDatePickerWithButtons.d.ts +4 -4
  336. package/dist/types/src/components/{input → file-upload}/FileInput.d.ts +1 -1
  337. package/dist/types/src/components/file-upload/index.d.ts +2 -0
  338. package/dist/types/src/components/image-file-input/ImageFileInput.d.ts +78 -0
  339. package/dist/types/src/components/image-file-input/components/ImagePreview.d.ts +6 -0
  340. package/dist/types/src/components/image-file-input/index.d.ts +2 -0
  341. package/dist/types/src/components/index.d.ts +4 -0
  342. package/dist/types/src/components/input/InputBase.d.ts +2 -0
  343. package/dist/types/src/components/input/NumberInput.d.ts +10 -0
  344. package/dist/types/src/components/input/index.d.ts +1 -1
  345. package/dist/types/src/components/modal/Modal.d.ts +3 -2
  346. package/dist/types/src/components/notification/FloatingNotification.d.ts +5 -0
  347. package/dist/types/src/components/notification/FullWidthNotification.d.ts +15 -1
  348. package/dist/types/src/components/notification/MessageNotification.d.ts +40 -0
  349. package/dist/types/src/components/notification/Notification.d.ts +14 -3
  350. package/dist/types/src/components/notification/index.d.ts +1 -0
  351. package/dist/types/src/components/pagination/NavButton.d.ts +1 -4
  352. package/dist/types/src/components/pagination/Pagination.d.ts +2 -13
  353. package/dist/types/src/components/progress-bar/ProgressBar.d.ts +2 -6
  354. package/dist/types/src/components/progress-bar/components/SegmentBar.d.ts +8 -0
  355. package/dist/types/src/components/progress-bar/components/SegmentLabels.d.ts +16 -0
  356. package/dist/types/src/components/progress-bar/hooks/useProgressBar.d.ts +14 -0
  357. package/dist/types/src/components/progress-bar/index.d.ts +1 -0
  358. package/dist/types/src/components/progress-bar/types.d.ts +16 -0
  359. package/dist/types/src/components/progress-bar/utils.d.ts +13 -0
  360. package/dist/types/src/components/radio/Radio.d.ts +2 -3
  361. package/dist/types/src/components/select/Select.d.ts +1 -4
  362. package/dist/types/src/components/select-dropdown/SelectDropdown.d.ts +28 -0
  363. package/dist/types/src/components/select-dropdown/index.d.ts +2 -0
  364. package/dist/types/src/components/selectbox/SelectBox.d.ts +25 -0
  365. package/dist/types/src/components/selectbox/index.d.ts +2 -0
  366. package/dist/types/src/components/switch/Switch.d.ts +22 -0
  367. package/dist/types/src/components/switch/index.d.ts +3 -0
  368. package/dist/types/src/components/tab/HorizontalTab.d.ts +1 -2
  369. package/dist/types/src/components/tab/TabButton.d.ts +9 -12
  370. package/dist/types/src/components/tab/VerticalTab.d.ts +2 -2
  371. package/dist/types/src/components/tag/Tag.d.ts +3 -1
  372. package/dist/types/src/components/tooltip/Tooltip.d.ts +7 -3
  373. package/dist/types/src/hooks/dropdown/index.d.ts +7 -0
  374. package/dist/types/src/hooks/dropdown/useDropdown.d.ts +30 -0
  375. package/dist/types/src/hooks/dropdown/useDropdownKeyboard.d.ts +11 -0
  376. package/dist/types/src/hooks/dropdown/useDropdownPosition.d.ts +10 -0
  377. package/dist/types/src/hooks/dropdown/useOutsideClick.d.ts +6 -0
  378. package/dist/types/src/hooks/dropdown/useScrollLock.d.ts +5 -0
  379. package/dist/types/src/hooks/dropdown/useWindowResize.d.ts +8 -0
  380. package/dist/types/src/hooks/index.d.ts +2 -1
  381. package/dist/types/src/types/dropdown/dropdown.d.ts +40 -0
  382. package/dist/types/src/types/dropdown/index.d.ts +3 -0
  383. package/dist/types/src/types/dropdown/option.d.ts +20 -0
  384. package/dist/types/src/types/index.d.ts +2 -0
  385. package/dist/types/src/utils/date-picker.d.ts +3 -0
  386. package/dist/types/src/utils/dropdown/dropdownUtils.d.ts +18 -0
  387. package/dist/types/src/utils/dropdown/index.d.ts +3 -0
  388. package/dist/types/src/utils/dropdown/multiSelect.d.ts +32 -0
  389. package/dist/types/src/utils/index.d.ts +3 -0
  390. package/dist/ui-admin/assets/styles/style.css +2065 -397
  391. package/package.json +8 -4
@@ -0,0 +1,45 @@
1
+ import { useEffect, useRef } from 'react';
2
+ /**
3
+ * Resize Observer를 사용하여 요소의 크기 변화를 감지하는 커스텀 훅
4
+ * @param callback 크기 변화 시 실행될 콜백 함수
5
+ * @param isActive 옵저버 활성화 여부
6
+ * @param target 관찰할 대상 요소 (기본값: document.body)
7
+ */
8
+ export var useWindowResize = function (callback, isActive, target) {
9
+ if (isActive === void 0) {
10
+ isActive = true;
11
+ }
12
+ var resizeObserverRef = useRef(null);
13
+ useEffect(function () {
14
+ if (!isActive) return;
15
+ // Resize Observer 지원 여부 확인
16
+ if (!window.ResizeObserver) {
17
+ // Resize Observer를 지원하지 않는 브라우저의 경우 기존 방식 사용
18
+ var handleResize_1 = function () {
19
+ callback();
20
+ };
21
+ window.addEventListener('resize', handleResize_1);
22
+ return function () {
23
+ window.removeEventListener('resize', handleResize_1);
24
+ };
25
+ }
26
+ // Resize Observer 생성
27
+ resizeObserverRef.current = new ResizeObserver(function (entries) {
28
+ // entries가 비어있지 않을 때만 콜백 실행
29
+ if (entries.length > 0) {
30
+ callback();
31
+ }
32
+ });
33
+ // 관찰할 대상 요소 결정
34
+ var targetElement = target || document.body;
35
+ if (targetElement) {
36
+ resizeObserverRef.current.observe(targetElement);
37
+ }
38
+ return function () {
39
+ if (resizeObserverRef.current) {
40
+ resizeObserverRef.current.disconnect();
41
+ resizeObserverRef.current = null;
42
+ }
43
+ };
44
+ }, [callback, isActive, target]);
45
+ };
@@ -1,3 +1,6 @@
1
+ // 기존 공통 hooks
2
+ export { useCallbackRef } from './useCallbackRef';
1
3
  export { useMediaQuery } from './useMediaQuery';
2
4
  export { useMergeRefs } from './useMergeRefs';
3
- export { useCallbackRef } from './useCallbackRef';
5
+ // 드롭다운 관련 hooks
6
+ export * from './dropdown';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './dropdown';
2
+ export * from './option';
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ // 드롭다운 관련 types
2
+ export * from './dropdown';
@@ -14,4 +14,36 @@ export function getSubtractDate(_a) {
14
14
  period = _a.period,
15
15
  unit = _a.unit;
16
16
  return moment(date).subtract(period, unit).toDate();
17
- }
17
+ }
18
+ export var formatDateInput = function (input) {
19
+ var dateRegex = /^(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[0-1])$/;
20
+ if (dateRegex.test(input)) {
21
+ // 20231112 -> 2023-11-12 형식으로 변환
22
+ var year = input.substring(0, 4);
23
+ var month = input.substring(4, 6);
24
+ var day = input.substring(6, 8);
25
+ return "".concat(year, "-").concat(month, "-").concat(day);
26
+ }
27
+ return input;
28
+ };
29
+ export var formatHourInput = function (input) {
30
+ var numbers = input.replace(/\D/g, '');
31
+ var hourStr = numbers.substring(0, 2);
32
+ var hourNum = parseInt(hourStr, 10);
33
+ if (hourNum >= 0 && hourNum <= 23) {
34
+ return hourStr;
35
+ }
36
+ return input;
37
+ };
38
+ export var formatMinuteInput = function (input) {
39
+ // 숫자만 추출
40
+ var numbers = input.replace(/\D/g, '');
41
+ // 2자리 숫자로 제한
42
+ var minuteStr = numbers.substring(0, 2);
43
+ var minuteNum = parseInt(minuteStr, 10);
44
+ // 00-59 범위 체크
45
+ if (minuteNum >= 0 && minuteNum <= 59) {
46
+ return minuteStr; // 2자리로 패딩
47
+ }
48
+ return input;
49
+ };
@@ -0,0 +1,97 @@
1
+ /**
2
+ * 드롭다운 위치를 계산하는 유틸리티 함수
3
+ */
4
+ export var calculateDropdownPosition = function (_a) {
5
+ var triggerRef = _a.triggerRef,
6
+ maxHeight = _a.maxHeight,
7
+ itemCount = _a.itemCount,
8
+ _b = _a.itemHeight,
9
+ itemHeight = _b === void 0 ? 40 : _b,
10
+ _c = _a.offset,
11
+ offset = _c === void 0 ? 20 : _c;
12
+ if (!(triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.current)) {
13
+ return {
14
+ direction: 'down',
15
+ maxHeight: maxHeight
16
+ };
17
+ }
18
+ var rect = triggerRef === null || triggerRef === void 0 ? void 0 : triggerRef.current.getBoundingClientRect();
19
+ var viewportHeight = window.innerHeight;
20
+ var dropdownHeight = Math.min(maxHeight, itemCount * itemHeight);
21
+ // 아래쪽 공간이 충분한지 확인
22
+ var spaceBelow = viewportHeight - rect.bottom;
23
+ if (spaceBelow < dropdownHeight + offset) {
24
+ return {
25
+ direction: 'up',
26
+ maxHeight: maxHeight
27
+ };
28
+ } else {
29
+ return {
30
+ direction: 'down',
31
+ maxHeight: maxHeight
32
+ };
33
+ }
34
+ };
35
+ /**
36
+ * 키보드 네비게이션을 위한 포커스 인덱스 계산
37
+ */
38
+ export var calculateNextFocusIndex = function (currentIndex, direction, validOptionsLength) {
39
+ if (validOptionsLength === 0) return -1;
40
+ if (direction === 'down') {
41
+ return currentIndex < validOptionsLength - 1 ? currentIndex + 1 : 0;
42
+ } else {
43
+ return currentIndex > 0 ? currentIndex - 1 : validOptionsLength - 1;
44
+ }
45
+ };
46
+ /**
47
+ * 드롭다운이 뷰포트를 벗어나지 않도록 위치 조정
48
+ */
49
+ export var adjustDropdownPosition = function (dropdownElement, triggerElement) {
50
+ var dropdownRect = dropdownElement.getBoundingClientRect();
51
+ var viewportWidth = window.innerWidth;
52
+ var viewportHeight = window.innerHeight;
53
+ // 좌우 위치 조정
54
+ if (dropdownRect.right > viewportWidth) {
55
+ var overflow = dropdownRect.right - viewportWidth;
56
+ dropdownElement.style.left = "".concat(-overflow - 10, "px");
57
+ }
58
+ if (dropdownRect.left < 0) {
59
+ dropdownElement.style.left = '10px';
60
+ }
61
+ // 상하 위치 조정 (이미 up/down 방향이 결정된 후 미세 조정)
62
+ if (dropdownRect.bottom > viewportHeight) {
63
+ var overflow = dropdownRect.bottom - viewportHeight;
64
+ dropdownElement.style.maxHeight = "".concat(dropdownRect.height - overflow - 10, "px");
65
+ }
66
+ };
67
+ /**
68
+ * 스크롤 가능한 부모 요소를 찾는 유틸리티 함수
69
+ */
70
+ export var findScrollableParent = function (element, boundary) {
71
+ var current = element;
72
+ while (current && current !== boundary && current !== document.body) {
73
+ var style = window.getComputedStyle(current);
74
+ var overflowY = style.overflowY;
75
+ if (overflowY === 'scroll' || overflowY === 'auto') {
76
+ var scrollHeight = current.scrollHeight,
77
+ clientHeight = current.clientHeight;
78
+ if (scrollHeight > clientHeight) {
79
+ return current;
80
+ }
81
+ }
82
+ current = current.parentElement;
83
+ }
84
+ // boundary 자체가 스크롤 가능한지 확인
85
+ if (current === boundary) {
86
+ var style = window.getComputedStyle(boundary);
87
+ var overflowY = style.overflowY;
88
+ if (overflowY === 'scroll' || overflowY === 'auto') {
89
+ var scrollHeight = boundary.scrollHeight,
90
+ clientHeight = boundary.clientHeight;
91
+ if (scrollHeight > clientHeight) {
92
+ return boundary;
93
+ }
94
+ }
95
+ }
96
+ return null;
97
+ };
@@ -0,0 +1,2 @@
1
+ export * from './dropdownUtils';
2
+ export * from './multiSelect';
@@ -0,0 +1,88 @@
1
+ /**
2
+ * 전체 선택 상태를 확인하는 유틸 함수
3
+ */
4
+ export var isAllItemsSelected = function (selectedValues, options) {
5
+ if (options.length === 0) return false;
6
+ var validOptionIds = options.filter(function (option) {
7
+ return !option.disabled;
8
+ }).map(function (option) {
9
+ return option.id;
10
+ });
11
+ return validOptionIds.length > 0 && validOptionIds.every(function (id) {
12
+ return selectedValues.includes(id);
13
+ });
14
+ };
15
+ /**
16
+ * 전체 선택 버튼 텍스트를 반환하는 유틸 함수
17
+ */
18
+ export var getSelectAllButtonText = function (selectedValues, options, selectText, deselectText) {
19
+ if (selectText === void 0) {
20
+ selectText = '전체 선택';
21
+ }
22
+ if (deselectText === void 0) {
23
+ deselectText = '전체 해제';
24
+ }
25
+ return isAllItemsSelected(selectedValues, options) ? deselectText : selectText;
26
+ };
27
+ /**
28
+ * 전체 선택/해제를 처리하는 유틸 함수
29
+ */
30
+ export var handleSelectAllItems = function (selectedValues, options) {
31
+ if (isAllItemsSelected(selectedValues, options)) {
32
+ // 전체 해제: 빈 배열 반환
33
+ return [];
34
+ }
35
+ // 전체 선택: 비활성화되지 않은 모든 옵션 ID 반환
36
+ return options.filter(function (option) {
37
+ return !option.disabled;
38
+ }).map(function (option) {
39
+ return option.id;
40
+ });
41
+ };
42
+ /**
43
+ * 선택된 항목들을 태그 데이터로 변환하는 유틸 함수
44
+ */
45
+ export var getSelectedTags = function (selectedValues, options) {
46
+ return selectedValues.map(function (value) {
47
+ var option = options.find(function (opt) {
48
+ return opt.id === value;
49
+ });
50
+ return option ? {
51
+ id: option.id,
52
+ label: option.label || String(option.id)
53
+ } : null;
54
+ }).filter(function (tag) {
55
+ return tag !== null;
56
+ });
57
+ };
58
+ /**
59
+ * 태그 제거 시 선택값에서 해당 ID를 제거하는 유틸 함수
60
+ */
61
+ export var removeTagFromSelected = function (selectedValues, tagIdToRemove) {
62
+ return selectedValues.filter(function (id) {
63
+ return id !== tagIdToRemove;
64
+ });
65
+ };
66
+ /**
67
+ * 전체 선택 관련 로직을 한 번에 처리하는 커스텀 훅
68
+ */
69
+ export var useMultiSelect = function (selectedValues, options, selectText, deselectText) {
70
+ var isAllSelected = isAllItemsSelected(selectedValues, options);
71
+ var buttonText = getSelectAllButtonText(selectedValues, options, selectText, deselectText);
72
+ var toggleSelectAll = function () {
73
+ return handleSelectAllItems(selectedValues, options);
74
+ };
75
+ var getSelectedTagsData = function () {
76
+ return getSelectedTags(selectedValues, options);
77
+ };
78
+ var removeTag = function (tagId) {
79
+ return removeTagFromSelected(selectedValues, tagId);
80
+ };
81
+ return {
82
+ isAllSelected: isAllSelected,
83
+ buttonText: buttonText,
84
+ toggleSelectAll: toggleSelectAll,
85
+ getSelectedTagsData: getSelectedTagsData,
86
+ removeTag: removeTag
87
+ };
88
+ };
@@ -0,0 +1,4 @@
1
+ // 날짜 관련 utils
2
+ export * from './date-picker';
3
+ // 드롭다운 관련 utils
4
+ export * from './dropdown';
@@ -0,0 +1,91 @@
1
+ import { Size } from '@ncds/ui-admin/constant/size';
2
+ import { OptionValue } from '../../src/types';
3
+ import { DropdownOption } from './utils/selectbox/DropdownModel';
4
+ import { UnifiedSelectBoxConfig } from './utils/selectbox/UnifiedSelectBox';
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: UnifiedSelectBoxConfig;
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,22 +1,16 @@
1
+ import { Options as FlatpickrOptions } from 'flatpickr/dist/types/options';
1
2
  export type DatePickerSize = 'xs' | 'sm';
2
3
  interface Options {
3
4
  buttons?: DatePickerButton[];
4
5
  size: DatePickerSize;
6
+ autoComplete?: 'on' | 'off';
5
7
  datePickerOptions: DatePickerOptionWrapper[];
6
8
  }
7
9
  interface DatePickerOptionWrapper {
8
10
  element: string;
9
- options: DatePickerOption;
10
- }
11
- interface DatePickerOption {
12
- defaultDate?: string | Date | Date[];
13
- enableTime?: boolean;
14
- dateFormat?: string;
15
- locale?: string;
16
- mode?: 'single' | 'range' | 'multiple';
17
- maxDate?: string | Date;
18
- minDate?: string | Date;
19
- onChange?: (selectedDates: Date[], dateStr: string, instance: any) => void;
11
+ attrName?: string;
12
+ placeholder?: string;
13
+ options: FlatpickrOptions;
20
14
  }
21
15
  interface DatePickerButton {
22
16
  text: string;
@@ -25,13 +19,20 @@ interface DatePickerButton {
25
19
  isCurrent: boolean;
26
20
  }
27
21
  export declare class DatePicker {
28
- private readonly element;
22
+ private static instanceCounter;
23
+ private static usedWrappers;
24
+ private readonly contentWrapper;
29
25
  private readonly datePickerOptions;
30
26
  private readonly size;
27
+ private readonly instanceId;
28
+ private separator;
29
+ private autoComplete;
31
30
  private buttons;
32
31
  private flatpickrInstances;
33
32
  private currentButton;
33
+ private dateFormat;
34
34
  constructor(wrapper: HTMLElement, options: Options);
35
+ private validateWrapper;
35
36
  private init;
36
37
  private validationDependencies;
37
38
  private initializeWrapper;
@@ -42,8 +43,11 @@ export declare class DatePicker {
42
43
  private initializeFlatpickr;
43
44
  private updateDateWithButton;
44
45
  private setMultipleDates;
46
+ private updateButtonsByPeriod;
47
+ private calculateDatesFromButton;
45
48
  setDate(dates: string[]): void;
46
- getDates(): Date[];
49
+ private convertFlatpickrFormatToMoment;
50
+ getDates(): string[];
47
51
  }
48
52
  export {};
49
53
  //# sourceMappingURL=datePicker.d.ts.map
@@ -0,0 +1,23 @@
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
@@ -0,0 +1,67 @@
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
@@ -0,0 +1,70 @@
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