@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,77 @@
1
+ import { RequiredFileInputProps } from './const/types';
2
+ import { FileInputModel } from './FileInputModel';
3
+ export declare class FileInputView {
4
+ private element;
5
+ private fileInputElement;
6
+ private buttonElement;
7
+ private fileTagsContainer;
8
+ private tagInstances;
9
+ private options;
10
+ private model;
11
+ private renderedFiles;
12
+ constructor(options: RequiredFileInputProps, model: FileInputModel);
13
+ /**
14
+ * 메인 DOM 요소 생성
15
+ */
16
+ private createElement;
17
+ /**
18
+ * Hidden file input 생성
19
+ */
20
+ private createFileInput;
21
+ /**
22
+ * Input container 생성
23
+ */
24
+ private createInputContainer;
25
+ /**
26
+ * Label container 생성
27
+ */
28
+ private createLabelContainer;
29
+ /**
30
+ * Help icon 생성
31
+ */
32
+ private createHelpIcon;
33
+ private createButton;
34
+ private createShareIcon;
35
+ /**
36
+ * Hint text 생성
37
+ */
38
+ private createHintText;
39
+ /**
40
+ * Hint list 생성
41
+ */
42
+ private createHintList;
43
+ /**
44
+ * 파일 태그 렌더링 (삭제 표시된 초기 파일 포함)
45
+ */
46
+ renderFileTags(files: File[], onRemove: (index: number) => void): void;
47
+ /**
48
+ * 삭제 표시된 초기 파일을 포함한 전체 파일 목록 반환
49
+ */
50
+ private getAllFilesIncludingDeleted;
51
+ /**
52
+ * 두 파일이 같은 파일인지 확인
53
+ */
54
+ private isSameFile;
55
+ /**
56
+ * 특정 인덱스에 파일 태그 삽입
57
+ */
58
+ private insertFileTagAtIndex;
59
+ /**
60
+ * 파일 태그 생성 (마지막에 추가)
61
+ */
62
+ private createFileTag;
63
+ /**
64
+ * 파일 태그 컨테이너 생성
65
+ */
66
+ private createFileTagContainer;
67
+ /**
68
+ * 파일 인덱스 업데이트
69
+ */
70
+ private updateFileIndices;
71
+ setButtonDisabled(disabled: boolean): void;
72
+ getElement(): HTMLDivElement;
73
+ getFileInputElement(): HTMLInputElement;
74
+ getButtonElement(): HTMLButtonElement;
75
+ destroy(): void;
76
+ }
77
+ //# sourceMappingURL=FileInputView.d.ts.map
@@ -0,0 +1,17 @@
1
+ export declare const FILE_INPUT_CLASS_NAMES: {
2
+ fileInput: string;
3
+ inputContainer: string;
4
+ label: string;
5
+ helpIcon: string;
6
+ hintText: string;
7
+ hintList: string;
8
+ hintItem: string;
9
+ fileTags: string;
10
+ fileTagContainer: string;
11
+ fileImage: string;
12
+ };
13
+ export declare const getFileInputSizeClassName: (size: string) => string;
14
+ export declare const getButtonSizeClassName: (size: string) => string;
15
+ export declare const getLabelClassName: (isRequired?: boolean) => "ncua-label" | "ncua-label ncua-label--required";
16
+ export declare const getHintTextClassName: (destructive?: boolean) => "ncua-input__hint-text" | "ncua-input__hint-text ncua-input__hint-text--destructive";
17
+ //# sourceMappingURL=classNames.d.ts.map
@@ -0,0 +1,3 @@
1
+ export * from './classNames';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,132 @@
1
+ export declare enum FileInputErrorType {
2
+ ALREADY_UPLOADED = "ALREADY_UPLOADED",
3
+ EXCEED_MAX_FILE_SIZE = "EXCEED_MAX_FILE_SIZE",
4
+ EXCEED_MAX_FILE_COUNT = "EXCEED_MAX_FILE_COUNT"
5
+ }
6
+ export interface InvalidFile extends Omit<File, 'constructor'> {
7
+ errorType: FileInputErrorType;
8
+ }
9
+ export type FileInputSize = 'xs' | 'sm' | 'md' | 'lg';
10
+ export type UploadedFile = {
11
+ fileName: string;
12
+ fileImageUrl?: string;
13
+ };
14
+ export interface BaseFileInputOptions {
15
+ /**
16
+ * Size of the input
17
+ */
18
+ size?: FileInputSize;
19
+ /**
20
+ * Accepted file types
21
+ * e.g. '.jpg,.png,.pdf' or 'image/*'
22
+ */
23
+ accept?: string;
24
+ /**
25
+ * Allow multiple file selection
26
+ */
27
+ multiple?: boolean;
28
+ /**
29
+ * Maximum number of files
30
+ */
31
+ maxFileCount?: number;
32
+ /**
33
+ * Maximum file size in bytes
34
+ */
35
+ maxFileSize?: number;
36
+ /**
37
+ * Initial files (controlled mode)
38
+ */
39
+ value?: File[];
40
+ /**
41
+ * Callback when files change (controlled mode)
42
+ */
43
+ onChange?: (files: File[]) => void;
44
+ /**
45
+ * Callback when files are selected (uncontrolled mode)
46
+ */
47
+ onFileSelect?: (files: File[]) => void;
48
+ /**
49
+ * Callback when file selection fails
50
+ */
51
+ onFail?: (files: InvalidFile[]) => void;
52
+ /**
53
+ * Label shown on the button
54
+ */
55
+ buttonLabel?: string;
56
+ /**
57
+ * Whether the input is disabled
58
+ */
59
+ disabled?: boolean;
60
+ /**
61
+ * Label text
62
+ */
63
+ label?: string;
64
+ /**
65
+ * Hint text items to display as a list
66
+ */
67
+ hintItems?: string[];
68
+ /**
69
+ * Whether the input is required
70
+ */
71
+ isRequired?: boolean;
72
+ /**
73
+ * Whether to show the help icon
74
+ */
75
+ showHelpIcon?: boolean;
76
+ /**
77
+ * Hint text to display
78
+ */
79
+ hintText?: string;
80
+ /**
81
+ * Validation state
82
+ */
83
+ validation?: boolean;
84
+ /**
85
+ * Destructive state
86
+ */
87
+ destructive?: boolean;
88
+ /**
89
+ * Show image preview for image files
90
+ */
91
+ showImagePreview?: boolean;
92
+ /**
93
+ * Name attribute for file input (for PHP form submission)
94
+ */
95
+ fileInputName?: string;
96
+ /**
97
+ * Name attribute for checkbox input (for existing files deletion)
98
+ */
99
+ checkboxName?: string;
100
+ /**
101
+ * Container element or selector to automatically append the file input
102
+ * Can be a DOM element, element ID, or CSS selector
103
+ */
104
+ container?: HTMLElement | string;
105
+ /**
106
+ * Additional CSS class names to add to the main file input element
107
+ */
108
+ className?: string;
109
+ }
110
+ export interface RequiredFileInputProps extends Required<Pick<BaseFileInputOptions, 'size' | 'buttonLabel'>> {
111
+ accept?: string;
112
+ multiple: boolean;
113
+ maxFileCount?: number;
114
+ maxFileSize?: number;
115
+ value?: File[];
116
+ onChange?: (files: File[]) => void;
117
+ onFileSelect?: (files: File[]) => void;
118
+ onFail?: (files: InvalidFile[]) => void;
119
+ disabled: boolean;
120
+ label?: string;
121
+ hintItems?: string[];
122
+ isRequired?: boolean;
123
+ showHelpIcon?: boolean;
124
+ hintText?: string;
125
+ validation?: boolean;
126
+ destructive?: boolean;
127
+ showImagePreview: boolean;
128
+ fileInputName?: string;
129
+ checkboxName?: string;
130
+ className?: string;
131
+ }
132
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,4 @@
1
+ export * from './const/classNames';
2
+ export * from './const/types';
3
+ export { FileInput } from './FileInput';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,64 @@
1
+ import { BaseImageFileInputOptions, UploadedFile } from './const/types';
2
+ export declare class ImageFileInput {
3
+ private model;
4
+ private view;
5
+ constructor(options: BaseImageFileInputOptions);
6
+ /**
7
+ * 컨테이너에 요소 추가
8
+ */
9
+ private appendToContainer;
10
+ /**
11
+ * 이벤트 리스너 설정
12
+ */
13
+ private setupEventListeners;
14
+ /**
15
+ * 파일 선택 버튼 클릭 핸들러
16
+ */
17
+ private handleBrowseClick;
18
+ /**
19
+ * 파일 변경 핸들러
20
+ */
21
+ private handleFileChange;
22
+ /**
23
+ * 파일 제거 핸들러
24
+ */
25
+ private handleRemoveFile;
26
+ /**
27
+ * 변경 알림 (onChange/onFileSelect 호출)
28
+ */
29
+ private notifyChange;
30
+ /**
31
+ * 뷰 렌더링 (내부용)
32
+ */
33
+ private render;
34
+ /**
35
+ * 이미지 프리뷰를 수동으로 렌더링
36
+ * 사용자가 콜백에서 직접 호출하여 프리뷰를 렌더링할 수 있음
37
+ */
38
+ renderImagePreviews(): void;
39
+ /**
40
+ * DOM 요소 반환
41
+ */
42
+ getElement(): HTMLDivElement;
43
+ /**
44
+ * 현재 파일 목록 반환
45
+ */
46
+ getFiles(): File[];
47
+ /**
48
+ * 초기 업로드된 파일 목록 설정
49
+ */
50
+ setFiles(uploadedFiles: UploadedFile[]): void;
51
+ /**
52
+ * 모든 파일 제거
53
+ */
54
+ clearFiles(): void;
55
+ /**
56
+ * disabled 상태 설정
57
+ */
58
+ setDisabled(disabled: boolean): void;
59
+ /**
60
+ * 리소스 정리
61
+ */
62
+ destroy(): void;
63
+ }
64
+ //# sourceMappingURL=ImageFileInput.d.ts.map
@@ -0,0 +1,74 @@
1
+ import { BaseImageFileInputOptions, InvalidFile, RequiredImageFileInputProps, UploadedFile } from './const/types';
2
+ export declare class ImageFileInputModel {
3
+ private options;
4
+ private internalFiles;
5
+ private initialFiles;
6
+ private newlyAddedFiles;
7
+ private deletedInitialFiles;
8
+ constructor(options: BaseImageFileInputOptions);
9
+ /**
10
+ * 옵션 반환
11
+ */
12
+ getOptions(): RequiredImageFileInputProps;
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
+ * 초기 파일의 이미지 URL 반환
71
+ */
72
+ getInitialFileImageUrl(file: File): string | undefined;
73
+ }
74
+ //# sourceMappingURL=ImageFileInputModel.d.ts.map
@@ -0,0 +1,80 @@
1
+ import { RequiredImageFileInputProps } from './const/types';
2
+ import { ImageFileInputModel } from './ImageFileInputModel';
3
+ export declare class ImageFileInputView {
4
+ private element;
5
+ private fileInputElement;
6
+ private buttonElement;
7
+ private previewsContainer;
8
+ private options;
9
+ private model;
10
+ private renderedFiles;
11
+ private previewUrls;
12
+ constructor(options: RequiredImageFileInputProps, model: ImageFileInputModel);
13
+ /**
14
+ * 메인 DOM 요소 생성
15
+ */
16
+ private createElement;
17
+ /**
18
+ * Hidden file input 생성
19
+ */
20
+ private createFileInput;
21
+ /**
22
+ * Input container 생성
23
+ */
24
+ private createInputContainer;
25
+ /**
26
+ * Label container 생성
27
+ */
28
+ private createLabelContainer;
29
+ /**
30
+ * Help icon 생성
31
+ */
32
+ private createHelpIcon;
33
+ /**
34
+ * Button 생성 (파일 찾기)
35
+ */
36
+ private createButton;
37
+ /**
38
+ * Share icon (업로드 아이콘) 생성
39
+ */
40
+ private createShareIcon;
41
+ /**
42
+ * Trash icon (삭제 아이콘) 생성
43
+ */
44
+ private createTrashIcon;
45
+ /**
46
+ * Hint text 생성
47
+ */
48
+ private createHintText;
49
+ /**
50
+ * Hint list 생성
51
+ * Note: 힌트 리스트는 컴포넌트 size와 관계없이 항상 xs 사이즈로 고정됨
52
+ */
53
+ private createHintList;
54
+ /**
55
+ * 이미지 프리뷰 렌더링
56
+ */
57
+ renderImagePreviews(files: File[], onRemove: (index: number) => void, onBrowseClick: () => void): void;
58
+ /**
59
+ * 이미지 프리뷰 생성
60
+ */
61
+ private createImagePreview;
62
+ /**
63
+ * 빈 슬롯 생성 (파일 찾기 버튼)
64
+ */
65
+ private createEmptySlot;
66
+ /**
67
+ * Tooltip 생성
68
+ */
69
+ private createTooltip;
70
+ /**
71
+ * 기존 프리뷰 정리
72
+ */
73
+ private cleanupPreviews;
74
+ setButtonDisabled(disabled: boolean): void;
75
+ getElement(): HTMLDivElement;
76
+ getFileInputElement(): HTMLInputElement;
77
+ getButtonElement(): HTMLButtonElement;
78
+ destroy(): void;
79
+ }
80
+ //# sourceMappingURL=ImageFileInputView.d.ts.map
@@ -0,0 +1,20 @@
1
+ export declare const IMAGE_FILE_INPUT_CLASS_NAMES: {
2
+ imageFileInput: string;
3
+ previews: string;
4
+ previewContainer: string;
5
+ previewImage: string;
6
+ previewRemoveButton: string;
7
+ fileInput: string;
8
+ inputContainer: string;
9
+ label: string;
10
+ helpIcon: string;
11
+ hintText: string;
12
+ hintList: string;
13
+ hintItem: string;
14
+ };
15
+ export declare const getImageFileInputSizeClassName: (size: string) => string;
16
+ export declare const getFileInputSizeClassName: (size: string) => string;
17
+ export declare const getButtonSizeClassName: (size: string) => string;
18
+ export declare const getLabelClassName: (isRequired?: boolean) => "ncua-label" | "ncua-label ncua-label--required";
19
+ export declare const getHintTextClassName: (destructive?: boolean) => "ncua-input__hint-text" | "ncua-input__hint-text ncua-input__hint-text--destructive";
20
+ //# sourceMappingURL=classNames.d.ts.map
@@ -0,0 +1,3 @@
1
+ export * from './classNames';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,126 @@
1
+ export declare enum ImageFileInputErrorType {
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: ImageFileInputErrorType;
8
+ }
9
+ export type ImageFileInputSize = 'xs' | 'sm' | 'md' | 'lg';
10
+ export type UploadedFile = {
11
+ fileName: string;
12
+ fileImageUrl?: string;
13
+ };
14
+ export interface BaseImageFileInputOptions {
15
+ /**
16
+ * Size of the input
17
+ */
18
+ size?: ImageFileInputSize;
19
+ /**
20
+ * Accepted file types
21
+ * e.g. '.jpg,.png,.pdf' or 'image/*'
22
+ */
23
+ accept?: string;
24
+ /**
25
+ * Allow multiple file selection
26
+ */
27
+ multiple?: boolean;
28
+ /**
29
+ * Maximum number of files
30
+ */
31
+ maxFileCount?: number;
32
+ /**
33
+ * Maximum file size in bytes
34
+ */
35
+ maxFileSize?: number;
36
+ /**
37
+ * Initial files (controlled mode)
38
+ */
39
+ value?: File[];
40
+ /**
41
+ * Callback when files change (controlled mode)
42
+ */
43
+ onChange?: (files: File[]) => void;
44
+ /**
45
+ * Callback when files are selected (uncontrolled mode)
46
+ */
47
+ onFileSelect?: (files: File[]) => void;
48
+ /**
49
+ * Callback when file selection fails
50
+ */
51
+ onFail?: (files: InvalidFile[]) => void;
52
+ /**
53
+ * Label shown on the button
54
+ */
55
+ buttonLabel?: string;
56
+ /**
57
+ * Label shown on the image preview
58
+ */
59
+ imagePreviewTooltipLabel?: string;
60
+ /**
61
+ * Whether the input is disabled
62
+ */
63
+ disabled?: boolean;
64
+ /**
65
+ * Label text
66
+ */
67
+ label?: string;
68
+ /**
69
+ * Hint text items to display as a list
70
+ */
71
+ hintItems?: string[];
72
+ /**
73
+ * Whether the input is required
74
+ */
75
+ isRequired?: boolean;
76
+ /**
77
+ * Whether to show the help icon
78
+ */
79
+ showHelpIcon?: boolean;
80
+ /**
81
+ * Hint text to display
82
+ */
83
+ hintText?: string;
84
+ /**
85
+ * Validation state
86
+ */
87
+ validation?: boolean;
88
+ /**
89
+ * Destructive state
90
+ */
91
+ destructive?: boolean;
92
+ /**
93
+ * Name attribute for file input (for PHP form submission)
94
+ */
95
+ fileInputName?: string;
96
+ /**
97
+ * Container element or selector to automatically append the image file input
98
+ * Can be a DOM element, element ID, or CSS selector
99
+ */
100
+ container?: HTMLElement | string;
101
+ /**
102
+ * Additional CSS class names to add to the main image file input element
103
+ */
104
+ className?: string;
105
+ }
106
+ export interface RequiredImageFileInputProps extends Required<Pick<BaseImageFileInputOptions, 'size' | 'buttonLabel' | 'imagePreviewTooltipLabel'>> {
107
+ accept?: string;
108
+ multiple: boolean;
109
+ maxFileCount?: number;
110
+ maxFileSize?: number;
111
+ value?: File[];
112
+ onChange?: (files: File[]) => void;
113
+ onFileSelect?: (files: File[]) => void;
114
+ onFail?: (files: InvalidFile[]) => void;
115
+ disabled: boolean;
116
+ label?: string;
117
+ hintItems?: string[];
118
+ isRequired?: boolean;
119
+ showHelpIcon?: boolean;
120
+ hintText?: string;
121
+ validation?: boolean;
122
+ destructive?: boolean;
123
+ fileInputName?: string;
124
+ className?: string;
125
+ }
126
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,4 @@
1
+ export * from './const/classNames';
2
+ export * from './const/types';
3
+ export { ImageFileInput } from './ImageFileInput';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -1,7 +1,33 @@
1
+ import { ComboBox } from './comboBox';
2
+ import { DatePicker } from './datePicker';
3
+ import { FeaturedIcon } from './featuredIcon';
4
+ import { FileInput } from './fileInput';
5
+ import { ImageFileInput } from './imageFileInput';
6
+ import { Modal } from './modal';
7
+ import { Notification } from './notification';
8
+ import { ProgressBar } from './progress-bar';
9
+ import { SelectBox } from './selectBox';
10
+ import { Slider } from './slider';
11
+ import { Tab } from './tab';
12
+ import { Tag } from './tag';
13
+ import { Tooltip } from './tooltip';
1
14
  declare global {
2
15
  interface Window {
3
- ncua: Object;
16
+ ncua: {
17
+ Slider?: typeof Slider;
18
+ Tab?: typeof Tab;
19
+ Tag?: typeof Tag;
20
+ DatePicker?: typeof DatePicker;
21
+ FeaturedIcon?: typeof FeaturedIcon;
22
+ FileInput?: typeof FileInput;
23
+ Modal?: typeof Modal;
24
+ Notification?: typeof Notification;
25
+ ProgressBar?: typeof ProgressBar;
26
+ Tooltip?: typeof Tooltip;
27
+ SelectBox?: typeof SelectBox;
28
+ ComboBox?: typeof ComboBox;
29
+ ImageFileInput?: typeof ImageFileInput;
30
+ };
4
31
  }
5
32
  }
6
- export {};
7
33
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,28 @@
1
+ import { BaseModalOptions } from './const/types';
2
+ import { ModalHeader } from './ModalHeader';
3
+ import { ModalContent } from './ModalContent';
4
+ import { ModalActions } from './ModalActions';
5
+ export declare class Modal {
6
+ private element;
7
+ private modalElement;
8
+ private isOpen;
9
+ private options;
10
+ constructor(options?: BaseModalOptions);
11
+ private createElement;
12
+ private getBackdropClasses;
13
+ private getModalClasses;
14
+ private handleBackdropClick;
15
+ private handleKeyDown;
16
+ open(): void;
17
+ close(): void;
18
+ destroy(): void;
19
+ setContent(content: string | HTMLElement): void;
20
+ getElement(): HTMLDivElement;
21
+ getModalElement(): HTMLDivElement;
22
+ isModalOpen(): boolean;
23
+ static create(options?: BaseModalOptions): Modal;
24
+ static Header: typeof ModalHeader;
25
+ static Content: typeof ModalContent;
26
+ static Actions: typeof ModalActions;
27
+ }
28
+ //# sourceMappingURL=Modal.d.ts.map