@ncds/ui-admin 1.2.2 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/dist/cjs/assets/scripts/comboBox.js +262 -0
  2. package/dist/cjs/assets/scripts/datePicker.js +178 -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 +268 -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/Notification.js +113 -0
  31. package/dist/cjs/assets/scripts/notification/const/classNames.js +36 -0
  32. package/dist/cjs/assets/scripts/notification/const/icons.js +45 -0
  33. package/dist/cjs/assets/scripts/notification/const/index.js +74 -0
  34. package/dist/cjs/assets/scripts/notification/const/sizes.js +48 -0
  35. package/dist/cjs/assets/scripts/notification/const/types.js +5 -0
  36. package/dist/cjs/assets/scripts/notification/index.js +84 -0
  37. package/dist/cjs/assets/scripts/notification/utils.js +92 -0
  38. package/dist/cjs/assets/scripts/progress-bar/ProgressBar.js +272 -0
  39. package/dist/cjs/assets/scripts/progress-bar/index.js +12 -0
  40. package/dist/cjs/assets/scripts/selectBox.js +319 -0
  41. package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +46 -0
  42. package/dist/cjs/assets/scripts/tag/Tag.js +268 -0
  43. package/dist/cjs/assets/scripts/tag/const/classNames.js +24 -0
  44. package/dist/cjs/assets/scripts/tag/const/index.js +38 -0
  45. package/dist/cjs/assets/scripts/tag/const/sizes.js +13 -0
  46. package/dist/cjs/assets/scripts/tag/const/types.js +5 -0
  47. package/dist/cjs/assets/scripts/tag/index.js +44 -0
  48. package/dist/cjs/assets/scripts/tooltip/Tooltip.js +380 -0
  49. package/dist/cjs/assets/scripts/tooltip/TooltipLayerManager.js +84 -0
  50. package/dist/cjs/assets/scripts/tooltip/const/classNames.js +29 -0
  51. package/dist/cjs/assets/scripts/tooltip/const/constants.js +56 -0
  52. package/dist/cjs/assets/scripts/tooltip/const/icons.js +15 -0
  53. package/dist/cjs/assets/scripts/tooltip/const/index.js +123 -0
  54. package/dist/cjs/assets/scripts/tooltip/const/templates.js +49 -0
  55. package/dist/cjs/assets/scripts/tooltip/const/types.js +5 -0
  56. package/dist/cjs/assets/scripts/tooltip/index.js +57 -0
  57. package/dist/cjs/assets/scripts/tooltip/utils.js +41 -0
  58. package/dist/cjs/assets/scripts/utils/selectbox/DOMRenderer.js +384 -0
  59. package/dist/cjs/assets/scripts/utils/selectbox/DropdownModel.js +361 -0
  60. package/dist/cjs/assets/scripts/utils/selectbox/SelectBoxController.js +681 -0
  61. package/dist/cjs/assets/scripts/utils/selectbox/UnifiedSelectBox.js +677 -0
  62. package/dist/cjs/constant/color.js +2 -0
  63. package/dist/cjs/src/components/button/Button.js +9 -35
  64. package/dist/cjs/src/components/button/ButtonGroup.js +9 -10
  65. package/dist/cjs/src/components/checkbox/Checkbox.js +20 -19
  66. package/dist/cjs/src/components/checkbox/CheckboxInput.js +22 -45
  67. package/dist/cjs/src/components/combobox/ComboBox.js +337 -0
  68. package/dist/cjs/src/components/combobox/index.js +12 -0
  69. package/dist/cjs/src/components/date-picker/CustomInput.js +52 -0
  70. package/dist/cjs/src/components/date-picker/DatePicker.js +86 -23
  71. package/dist/cjs/src/components/date-picker/RangeDatePicker.js +1 -1
  72. package/dist/cjs/src/components/{input → file-upload}/FileInput.js +17 -9
  73. package/dist/cjs/src/components/file-upload/index.js +16 -0
  74. package/dist/cjs/src/components/image-file-input/ImageFileInput.js +263 -0
  75. package/dist/cjs/src/components/image-file-input/components/ImagePreview.js +44 -0
  76. package/dist/cjs/src/components/image-file-input/index.js +16 -0
  77. package/dist/cjs/src/components/index.js +44 -0
  78. package/dist/cjs/src/components/input/InputBase.js +54 -10
  79. package/dist/cjs/src/components/input/Textarea.js +12 -20
  80. package/dist/cjs/src/components/input/index.js +0 -11
  81. package/dist/cjs/src/components/modal/Modal.js +7 -3
  82. package/dist/cjs/src/components/notification/FloatingNotification.js +34 -3
  83. package/dist/cjs/src/components/notification/FullWidthNotification.js +54 -5
  84. package/dist/cjs/src/components/pagination/NavButton.js +1 -13
  85. package/dist/cjs/src/components/pagination/Pagination.js +6 -20
  86. package/dist/cjs/src/components/progress-bar/ProgressBar.js +89 -20
  87. package/dist/cjs/src/components/progress-bar/components/SegmentBar.js +25 -0
  88. package/dist/cjs/src/components/progress-bar/components/SegmentLabels.js +74 -0
  89. package/dist/cjs/src/components/progress-bar/hooks/useProgressBar.js +119 -0
  90. package/dist/cjs/src/components/progress-bar/index.js +11 -0
  91. package/dist/cjs/src/components/progress-bar/types.js +5 -0
  92. package/dist/cjs/src/components/progress-bar/utils.js +31 -0
  93. package/dist/cjs/src/components/radio/Radio.js +5 -6
  94. package/dist/cjs/src/components/select/Select.js +7 -4
  95. package/dist/cjs/src/components/select-dropdown/SelectDropdown.js +146 -0
  96. package/dist/cjs/src/components/select-dropdown/index.js +12 -0
  97. package/dist/cjs/src/components/selectbox/SelectBox.js +283 -0
  98. package/dist/cjs/src/components/selectbox/index.js +12 -0
  99. package/dist/cjs/src/components/shared/hintText/HintText.js +1 -1
  100. package/dist/cjs/src/components/switch/Switch.js +123 -0
  101. package/dist/cjs/src/components/switch/index.js +12 -0
  102. package/dist/cjs/src/components/tab/HorizontalTab.js +8 -20
  103. package/dist/cjs/src/components/tab/TabButton.js +33 -16
  104. package/dist/cjs/src/components/tab/VerticalTab.js +15 -30
  105. package/dist/cjs/src/components/tag/Tag.js +92 -3
  106. package/dist/cjs/src/components/tooltip/Tooltip.js +125 -28
  107. package/dist/cjs/src/hooks/dropdown/index.js +47 -0
  108. package/dist/cjs/src/hooks/dropdown/useDropdown.js +109 -0
  109. package/dist/cjs/src/hooks/dropdown/useDropdownKeyboard.js +131 -0
  110. package/dist/cjs/src/hooks/dropdown/useDropdownPosition.js +27 -0
  111. package/dist/cjs/src/hooks/dropdown/useOutsideClick.js +33 -0
  112. package/dist/cjs/src/hooks/dropdown/useScrollLock.js +78 -0
  113. package/dist/cjs/src/hooks/dropdown/useWindowResize.js +52 -0
  114. package/dist/cjs/src/hooks/index.js +18 -1
  115. package/dist/cjs/src/types/dropdown/dropdown.js +5 -0
  116. package/dist/cjs/src/types/dropdown/index.js +27 -0
  117. package/dist/cjs/src/types/dropdown/option.js +5 -0
  118. package/dist/cjs/src/types/index.js +16 -0
  119. package/dist/cjs/src/utils/date-picker.js +37 -1
  120. package/dist/cjs/src/utils/dropdown/dropdownUtils.js +107 -0
  121. package/dist/cjs/src/utils/dropdown/index.js +27 -0
  122. package/dist/cjs/src/utils/dropdown/multiSelect.js +100 -0
  123. package/dist/cjs/src/utils/index.js +27 -0
  124. package/dist/esm/assets/scripts/comboBox.js +257 -0
  125. package/dist/esm/assets/scripts/datePicker.js +175 -59
  126. package/dist/esm/assets/scripts/featuredIcon.js +90 -0
  127. package/dist/esm/assets/scripts/fileInput/FileInput.js +178 -0
  128. package/dist/esm/assets/scripts/fileInput/FileInputModel.js +241 -0
  129. package/dist/esm/assets/scripts/fileInput/FileInputView.js +450 -0
  130. package/dist/esm/assets/scripts/fileInput/const/classNames.js +25 -0
  131. package/dist/esm/assets/scripts/fileInput/const/index.js +2 -0
  132. package/dist/esm/assets/scripts/fileInput/const/types.js +7 -0
  133. package/dist/esm/assets/scripts/fileInput/index.js +9 -0
  134. package/dist/esm/assets/scripts/imageFileInput/ImageFileInput.js +182 -0
  135. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputModel.js +263 -0
  136. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputView.js +349 -0
  137. package/dist/esm/assets/scripts/imageFileInput/const/classNames.js +30 -0
  138. package/dist/esm/assets/scripts/imageFileInput/const/index.js +2 -0
  139. package/dist/esm/assets/scripts/imageFileInput/const/types.js +7 -0
  140. package/dist/esm/assets/scripts/imageFileInput/index.js +9 -0
  141. package/dist/esm/assets/scripts/index.js +21 -1
  142. package/dist/esm/assets/scripts/modal/Modal.js +110 -0
  143. package/dist/esm/assets/scripts/modal/ModalActions.js +123 -0
  144. package/dist/esm/assets/scripts/modal/ModalContent.js +41 -0
  145. package/dist/esm/assets/scripts/modal/ModalHeader.js +110 -0
  146. package/dist/esm/assets/scripts/modal/const/classNames.js +31 -0
  147. package/dist/esm/assets/scripts/modal/const/index.js +2 -0
  148. package/dist/esm/assets/scripts/modal/const/types.js +1 -0
  149. package/dist/esm/assets/scripts/modal/index.js +15 -0
  150. package/dist/esm/assets/scripts/modal/utils/contentUtils.js +28 -0
  151. package/dist/esm/assets/scripts/notification/FloatingNotification.js +176 -0
  152. package/dist/esm/assets/scripts/notification/FullWidthNotification.js +115 -0
  153. package/dist/esm/assets/scripts/notification/Notification.js +108 -0
  154. package/dist/esm/assets/scripts/notification/const/classNames.js +30 -0
  155. package/dist/esm/assets/scripts/notification/const/icons.js +39 -0
  156. package/dist/esm/assets/scripts/notification/const/index.js +3 -0
  157. package/dist/esm/assets/scripts/notification/const/sizes.js +42 -0
  158. package/dist/esm/assets/scripts/notification/const/types.js +1 -0
  159. package/dist/esm/assets/scripts/notification/index.js +10 -0
  160. package/dist/esm/assets/scripts/notification/utils.js +79 -0
  161. package/dist/esm/assets/scripts/progress-bar/ProgressBar.js +267 -0
  162. package/dist/esm/assets/scripts/progress-bar/index.js +1 -0
  163. package/dist/esm/assets/scripts/selectBox.js +314 -0
  164. package/dist/esm/assets/scripts/shared/ButtonCloseX.js +38 -0
  165. package/dist/esm/assets/scripts/tag/Tag.js +263 -0
  166. package/dist/esm/assets/scripts/tag/const/classNames.js +16 -0
  167. package/dist/esm/assets/scripts/tag/const/index.js +3 -0
  168. package/dist/esm/assets/scripts/tag/const/sizes.js +7 -0
  169. package/dist/esm/assets/scripts/tag/const/types.js +1 -0
  170. package/dist/esm/assets/scripts/tag/index.js +9 -0
  171. package/dist/esm/assets/scripts/tooltip/Tooltip.js +375 -0
  172. package/dist/esm/assets/scripts/tooltip/TooltipLayerManager.js +79 -0
  173. package/dist/esm/assets/scripts/tooltip/const/classNames.js +23 -0
  174. package/dist/esm/assets/scripts/tooltip/const/constants.js +50 -0
  175. package/dist/esm/assets/scripts/tooltip/const/icons.js +9 -0
  176. package/dist/esm/assets/scripts/tooltip/const/index.js +4 -0
  177. package/dist/esm/assets/scripts/tooltip/const/templates.js +42 -0
  178. package/dist/esm/assets/scripts/tooltip/const/types.js +1 -0
  179. package/dist/esm/assets/scripts/tooltip/index.js +10 -0
  180. package/dist/esm/assets/scripts/tooltip/utils.js +35 -0
  181. package/dist/esm/assets/scripts/utils/selectbox/DOMRenderer.js +379 -0
  182. package/dist/esm/assets/scripts/utils/selectbox/DropdownModel.js +356 -0
  183. package/dist/esm/assets/scripts/utils/selectbox/SelectBoxController.js +676 -0
  184. package/dist/esm/assets/scripts/utils/selectbox/UnifiedSelectBox.js +672 -0
  185. package/dist/esm/constant/color.js +2 -0
  186. package/dist/esm/src/components/button/Button.js +10 -36
  187. package/dist/esm/src/components/button/ButtonGroup.js +9 -10
  188. package/dist/esm/src/components/checkbox/Checkbox.js +21 -19
  189. package/dist/esm/src/components/checkbox/CheckboxInput.js +24 -47
  190. package/dist/esm/src/components/combobox/ComboBox.js +330 -0
  191. package/dist/esm/src/components/combobox/index.js +1 -0
  192. package/dist/esm/src/components/date-picker/CustomInput.js +45 -0
  193. package/dist/esm/src/components/date-picker/DatePicker.js +87 -24
  194. package/dist/esm/src/components/date-picker/RangeDatePicker.js +1 -1
  195. package/dist/esm/src/components/{input → file-upload}/FileInput.js +17 -9
  196. package/dist/esm/src/components/file-upload/index.js +1 -0
  197. package/dist/esm/src/components/image-file-input/ImageFileInput.js +256 -0
  198. package/dist/esm/src/components/image-file-input/components/ImagePreview.js +37 -0
  199. package/dist/esm/src/components/image-file-input/index.js +1 -0
  200. package/dist/esm/src/components/index.js +4 -0
  201. package/dist/esm/src/components/input/InputBase.js +55 -11
  202. package/dist/esm/src/components/input/Textarea.js +12 -20
  203. package/dist/esm/src/components/input/index.js +1 -2
  204. package/dist/esm/src/components/modal/Modal.js +7 -3
  205. package/dist/esm/src/components/notification/FloatingNotification.js +35 -4
  206. package/dist/esm/src/components/notification/FullWidthNotification.js +55 -6
  207. package/dist/esm/src/components/pagination/NavButton.js +1 -13
  208. package/dist/esm/src/components/pagination/Pagination.js +6 -20
  209. package/dist/esm/src/components/progress-bar/ProgressBar.js +89 -20
  210. package/dist/esm/src/components/progress-bar/components/SegmentBar.js +18 -0
  211. package/dist/esm/src/components/progress-bar/components/SegmentLabels.js +66 -0
  212. package/dist/esm/src/components/progress-bar/hooks/useProgressBar.js +112 -0
  213. package/dist/esm/src/components/progress-bar/index.js +2 -1
  214. package/dist/esm/src/components/progress-bar/types.js +1 -0
  215. package/dist/esm/src/components/progress-bar/utils.js +22 -0
  216. package/dist/esm/src/components/radio/Radio.js +5 -5
  217. package/dist/esm/src/components/select/Select.js +7 -4
  218. package/dist/esm/src/components/select-dropdown/SelectDropdown.js +139 -0
  219. package/dist/esm/src/components/select-dropdown/index.js +1 -0
  220. package/dist/esm/src/components/selectbox/SelectBox.js +276 -0
  221. package/dist/esm/src/components/selectbox/index.js +1 -0
  222. package/dist/esm/src/components/shared/hintText/HintText.js +1 -1
  223. package/dist/esm/src/components/switch/Switch.js +116 -0
  224. package/dist/esm/src/components/switch/index.js +1 -0
  225. package/dist/esm/src/components/tab/HorizontalTab.js +7 -19
  226. package/dist/esm/src/components/tab/TabButton.js +34 -17
  227. package/dist/esm/src/components/tab/VerticalTab.js +15 -30
  228. package/dist/esm/src/components/tag/Tag.js +92 -3
  229. package/dist/esm/src/components/tooltip/Tooltip.js +125 -28
  230. package/dist/esm/src/hooks/dropdown/index.js +6 -0
  231. package/dist/esm/src/hooks/dropdown/useDropdown.js +102 -0
  232. package/dist/esm/src/hooks/dropdown/useDropdownKeyboard.js +124 -0
  233. package/dist/esm/src/hooks/dropdown/useDropdownPosition.js +20 -0
  234. package/dist/esm/src/hooks/dropdown/useOutsideClick.js +26 -0
  235. package/dist/esm/src/hooks/dropdown/useScrollLock.js +71 -0
  236. package/dist/esm/src/hooks/dropdown/useWindowResize.js +45 -0
  237. package/dist/esm/src/hooks/index.js +4 -1
  238. package/dist/esm/src/types/dropdown/dropdown.js +1 -0
  239. package/dist/esm/src/types/dropdown/index.js +2 -0
  240. package/dist/esm/src/types/dropdown/option.js +1 -0
  241. package/dist/esm/src/types/index.js +2 -0
  242. package/dist/esm/src/utils/date-picker.js +33 -1
  243. package/dist/esm/src/utils/dropdown/dropdownUtils.js +97 -0
  244. package/dist/esm/src/utils/dropdown/index.js +2 -0
  245. package/dist/esm/src/utils/dropdown/multiSelect.js +88 -0
  246. package/dist/esm/src/utils/index.js +4 -0
  247. package/dist/types/assets/scripts/comboBox.d.ts +79 -0
  248. package/dist/types/assets/scripts/datePicker.d.ts +16 -13
  249. package/dist/types/assets/scripts/featuredIcon.d.ts +23 -0
  250. package/dist/types/assets/scripts/fileInput/FileInput.d.ts +67 -0
  251. package/dist/types/assets/scripts/fileInput/FileInputModel.d.ts +70 -0
  252. package/dist/types/assets/scripts/fileInput/FileInputView.d.ts +77 -0
  253. package/dist/types/assets/scripts/fileInput/const/classNames.d.ts +17 -0
  254. package/dist/types/assets/scripts/fileInput/const/index.d.ts +3 -0
  255. package/dist/types/assets/scripts/fileInput/const/types.d.ts +132 -0
  256. package/dist/types/assets/scripts/fileInput/index.d.ts +4 -0
  257. package/dist/types/assets/scripts/imageFileInput/ImageFileInput.d.ts +64 -0
  258. package/dist/types/assets/scripts/imageFileInput/ImageFileInputModel.d.ts +74 -0
  259. package/dist/types/assets/scripts/imageFileInput/ImageFileInputView.d.ts +80 -0
  260. package/dist/types/assets/scripts/imageFileInput/const/classNames.d.ts +20 -0
  261. package/dist/types/assets/scripts/imageFileInput/const/index.d.ts +3 -0
  262. package/dist/types/assets/scripts/imageFileInput/const/types.d.ts +126 -0
  263. package/dist/types/assets/scripts/imageFileInput/index.d.ts +4 -0
  264. package/dist/types/assets/scripts/index.d.ts +28 -2
  265. package/dist/types/assets/scripts/modal/Modal.d.ts +28 -0
  266. package/dist/types/assets/scripts/modal/ModalActions.d.ts +19 -0
  267. package/dist/types/assets/scripts/modal/ModalContent.d.ts +14 -0
  268. package/dist/types/assets/scripts/modal/ModalHeader.d.ts +16 -0
  269. package/dist/types/assets/scripts/modal/const/classNames.d.ts +23 -0
  270. package/dist/types/assets/scripts/modal/const/index.d.ts +3 -0
  271. package/dist/types/assets/scripts/modal/const/types.d.ts +62 -0
  272. package/dist/types/assets/scripts/modal/index.d.ts +8 -0
  273. package/dist/types/assets/scripts/modal/utils/contentUtils.d.ts +11 -0
  274. package/dist/types/assets/scripts/notification/FloatingNotification.d.ts +25 -0
  275. package/dist/types/assets/scripts/notification/FullWidthNotification.d.ts +22 -0
  276. package/dist/types/assets/scripts/notification/Notification.d.ts +22 -0
  277. package/dist/types/assets/scripts/notification/const/classNames.d.ts +30 -0
  278. package/dist/types/assets/scripts/notification/const/icons.d.ts +26 -0
  279. package/dist/types/assets/scripts/notification/const/index.d.ts +5 -0
  280. package/dist/types/assets/scripts/notification/const/sizes.d.ts +28 -0
  281. package/dist/types/assets/scripts/notification/const/types.d.ts +19 -0
  282. package/dist/types/assets/scripts/notification/index.d.ts +7 -0
  283. package/dist/types/assets/scripts/notification/utils.d.ts +9 -0
  284. package/dist/types/assets/scripts/progress-bar/ProgressBar.d.ts +68 -0
  285. package/dist/types/assets/scripts/progress-bar/index.d.ts +2 -0
  286. package/dist/types/assets/scripts/selectBox.d.ts +77 -0
  287. package/dist/types/assets/scripts/shared/ButtonCloseX.d.ts +6 -0
  288. package/dist/types/assets/scripts/tag/Tag.d.ts +28 -0
  289. package/dist/types/assets/scripts/tag/const/classNames.d.ts +12 -0
  290. package/dist/types/assets/scripts/tag/const/index.d.ts +4 -0
  291. package/dist/types/assets/scripts/tag/const/sizes.d.ts +8 -0
  292. package/dist/types/assets/scripts/tag/const/types.d.ts +34 -0
  293. package/dist/types/assets/scripts/tag/index.d.ts +4 -0
  294. package/dist/types/assets/scripts/tooltip/Tooltip.d.ts +55 -0
  295. package/dist/types/assets/scripts/tooltip/TooltipLayerManager.d.ts +22 -0
  296. package/dist/types/assets/scripts/tooltip/const/classNames.d.ts +18 -0
  297. package/dist/types/assets/scripts/tooltip/const/constants.d.ts +34 -0
  298. package/dist/types/assets/scripts/tooltip/const/icons.d.ts +5 -0
  299. package/dist/types/assets/scripts/tooltip/const/index.d.ts +6 -0
  300. package/dist/types/assets/scripts/tooltip/const/templates.d.ts +17 -0
  301. package/dist/types/assets/scripts/tooltip/const/types.d.ts +15 -0
  302. package/dist/types/assets/scripts/tooltip/index.d.ts +7 -0
  303. package/dist/types/assets/scripts/tooltip/utils.d.ts +3 -0
  304. package/dist/types/assets/scripts/utils/selectbox/DOMRenderer.d.ts +108 -0
  305. package/dist/types/assets/scripts/utils/selectbox/DropdownModel.d.ts +154 -0
  306. package/dist/types/assets/scripts/utils/selectbox/SelectBoxController.d.ts +171 -0
  307. package/dist/types/assets/scripts/utils/selectbox/UnifiedSelectBox.d.ts +80 -0
  308. package/dist/types/constant/color.d.ts +3 -1
  309. package/dist/types/src/components/button/Button.d.ts +14 -12
  310. package/dist/types/src/components/button/ButtonGroup.d.ts +4 -289
  311. package/dist/types/src/components/checkbox/Checkbox.d.ts +2 -3
  312. package/dist/types/src/components/combobox/ComboBox.d.ts +28 -0
  313. package/dist/types/src/components/combobox/index.d.ts +3 -0
  314. package/dist/types/src/components/date-picker/CustomInput.d.ts +12 -0
  315. package/dist/types/src/components/date-picker/DatePicker.d.ts +2 -0
  316. package/dist/types/src/components/{input → file-upload}/FileInput.d.ts +1 -1
  317. package/dist/types/src/components/file-upload/index.d.ts +2 -0
  318. package/dist/types/src/components/image-file-input/ImageFileInput.d.ts +78 -0
  319. package/dist/types/src/components/image-file-input/components/ImagePreview.d.ts +6 -0
  320. package/dist/types/src/components/image-file-input/index.d.ts +2 -0
  321. package/dist/types/src/components/index.d.ts +4 -0
  322. package/dist/types/src/components/input/InputBase.d.ts +2 -0
  323. package/dist/types/src/components/input/index.d.ts +0 -1
  324. package/dist/types/src/components/modal/Modal.d.ts +3 -2
  325. package/dist/types/src/components/notification/FloatingNotification.d.ts +5 -0
  326. package/dist/types/src/components/notification/FullWidthNotification.d.ts +15 -1
  327. package/dist/types/src/components/notification/Notification.d.ts +8 -2
  328. package/dist/types/src/components/pagination/NavButton.d.ts +1 -4
  329. package/dist/types/src/components/pagination/Pagination.d.ts +2 -13
  330. package/dist/types/src/components/progress-bar/ProgressBar.d.ts +2 -6
  331. package/dist/types/src/components/progress-bar/components/SegmentBar.d.ts +8 -0
  332. package/dist/types/src/components/progress-bar/components/SegmentLabels.d.ts +16 -0
  333. package/dist/types/src/components/progress-bar/hooks/useProgressBar.d.ts +14 -0
  334. package/dist/types/src/components/progress-bar/index.d.ts +1 -0
  335. package/dist/types/src/components/progress-bar/types.d.ts +16 -0
  336. package/dist/types/src/components/progress-bar/utils.d.ts +13 -0
  337. package/dist/types/src/components/radio/Radio.d.ts +2 -3
  338. package/dist/types/src/components/select/Select.d.ts +1 -4
  339. package/dist/types/src/components/select-dropdown/SelectDropdown.d.ts +28 -0
  340. package/dist/types/src/components/select-dropdown/index.d.ts +2 -0
  341. package/dist/types/src/components/selectbox/SelectBox.d.ts +25 -0
  342. package/dist/types/src/components/selectbox/index.d.ts +2 -0
  343. package/dist/types/src/components/switch/Switch.d.ts +22 -0
  344. package/dist/types/src/components/switch/index.d.ts +3 -0
  345. package/dist/types/src/components/tab/HorizontalTab.d.ts +1 -2
  346. package/dist/types/src/components/tab/TabButton.d.ts +9 -12
  347. package/dist/types/src/components/tab/VerticalTab.d.ts +2 -2
  348. package/dist/types/src/components/tag/Tag.d.ts +3 -1
  349. package/dist/types/src/components/tooltip/Tooltip.d.ts +4 -2
  350. package/dist/types/src/hooks/dropdown/index.d.ts +7 -0
  351. package/dist/types/src/hooks/dropdown/useDropdown.d.ts +30 -0
  352. package/dist/types/src/hooks/dropdown/useDropdownKeyboard.d.ts +11 -0
  353. package/dist/types/src/hooks/dropdown/useDropdownPosition.d.ts +10 -0
  354. package/dist/types/src/hooks/dropdown/useOutsideClick.d.ts +6 -0
  355. package/dist/types/src/hooks/dropdown/useScrollLock.d.ts +5 -0
  356. package/dist/types/src/hooks/dropdown/useWindowResize.d.ts +8 -0
  357. package/dist/types/src/hooks/index.d.ts +2 -1
  358. package/dist/types/src/types/dropdown/dropdown.d.ts +40 -0
  359. package/dist/types/src/types/dropdown/index.d.ts +3 -0
  360. package/dist/types/src/types/dropdown/option.d.ts +20 -0
  361. package/dist/types/src/types/index.d.ts +2 -0
  362. package/dist/types/src/utils/date-picker.d.ts +3 -0
  363. package/dist/types/src/utils/dropdown/dropdownUtils.d.ts +18 -0
  364. package/dist/types/src/utils/dropdown/index.d.ts +3 -0
  365. package/dist/types/src/utils/dropdown/multiSelect.d.ts +32 -0
  366. package/dist/types/src/utils/index.d.ts +3 -0
  367. package/dist/ui-admin/assets/styles/style.css +1744 -358
  368. package/package.json +8 -4
@@ -50,7 +50,27 @@ var InputBase = exports.InputBase = /*#__PURE__*/(0, _react.forwardRef)(function
50
50
  leadingElement = _a.leadingElement,
51
51
  trailingElement = _a.trailingElement,
52
52
  showHelpIcon = _a.showHelpIcon,
53
- props = __rest(_a, ["size", "required", "label", "hintText", "disabled", "validation", "destructive", "leadingElement", "trailingElement", "showHelpIcon"]);
53
+ maxLength = _a.maxLength,
54
+ showTextCount = _a.showTextCount,
55
+ props = __rest(_a, ["size", "required", "label", "hintText", "disabled", "validation", "destructive", "leadingElement", "trailingElement", "showHelpIcon", "maxLength", "showTextCount"]);
56
+ var inputRef = (0, _react.useRef)(null);
57
+ var _c = (0, _react.useState)(0),
58
+ textCount = _c[0],
59
+ setTextCount = _c[1];
60
+ (0, _react.useEffect)(function () {
61
+ if (inputRef.current && showTextCount) {
62
+ setTextCount(inputRef.current.value.length);
63
+ var handleInput_1 = function () {
64
+ var _a, _b;
65
+ setTextCount((_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value.length) !== null && _b !== void 0 ? _b : 0);
66
+ };
67
+ inputRef.current.addEventListener('input', handleInput_1);
68
+ return function () {
69
+ var _a;
70
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.removeEventListener('input', handleInput_1);
71
+ };
72
+ }
73
+ }, [showTextCount]);
54
74
  var renderOutsideSlot = function (slot) {
55
75
  if (slot.type === 'custom' && slot.placement !== 'outside') {
56
76
  return null;
@@ -163,17 +183,41 @@ var InputBase = exports.InputBase = /*#__PURE__*/(0, _react.forwardRef)(function
163
183
  })
164
184
  }, {
165
185
  children: [renderLabel(), (0, _jsxRuntime.jsxs)("div", __assign({
166
- className: "ncua-input__content"
186
+ className: "ncua-input__content-wrap"
167
187
  }, {
168
- children: [leadingElement && renderOutsideSlot(leadingElement), (0, _jsxRuntime.jsxs)("div", __assign({
169
- className: (0, _classnames.default)('ncua-input__field', "ncua-input__field--".concat(size))
188
+ children: [(0, _jsxRuntime.jsxs)("div", __assign({
189
+ className: "ncua-input__content"
190
+ }, {
191
+ children: [leadingElement && renderOutsideSlot(leadingElement), (0, _jsxRuntime.jsxs)("div", __assign({
192
+ className: (0, _classnames.default)('ncua-input__field', "ncua-input__field--".concat(size))
193
+ }, {
194
+ children: [leadingElement && renderInsideSlot(leadingElement, 'left'), (0, _jsxRuntime.jsx)("input", __assign({
195
+ ref: function (node) {
196
+ if (typeof ref === 'function') {
197
+ ref(node);
198
+ } else if (ref) {
199
+ ref.current = node;
200
+ }
201
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
202
+ // @ts-ignore - ref assignment is needed for internal tracking
203
+ inputRef.current = node;
204
+ },
205
+ type: "text",
206
+ disabled: disabled,
207
+ maxLength: maxLength
208
+ }, props)), renderClearButton(), trailingElement && renderInsideSlot(trailingElement, 'right'), renderStatusIcon()]
209
+ })), trailingElement && renderOutsideSlot(trailingElement)]
210
+ })), showTextCount && maxLength && (0, _jsxRuntime.jsxs)("div", __assign({
211
+ className: "ncua-input__field-text-count"
170
212
  }, {
171
- children: [leadingElement && renderInsideSlot(leadingElement, 'left'), (0, _jsxRuntime.jsx)("input", __assign({
172
- ref: ref,
173
- type: "text",
174
- disabled: disabled
175
- }, props)), trailingElement && renderInsideSlot(trailingElement, 'right'), renderClearButton(), renderStatusIcon()]
176
- })), trailingElement && renderOutsideSlot(trailingElement)]
213
+ children: [(0, _jsxRuntime.jsx)("output", __assign({
214
+ className: "ncua-input__field-text-count-current"
215
+ }, {
216
+ children: textCount
217
+ })), (0, _jsxRuntime.jsxs)("span", {
218
+ children: ["/", maxLength]
219
+ })]
220
+ }))]
177
221
  })), hintText && (0, _jsxRuntime.jsx)(_HintText.HintText, __assign({
178
222
  className: "ncua-input__hint-text",
179
223
  destructive: destructive
@@ -70,26 +70,18 @@ var Textarea = exports.Textarea = /*#__PURE__*/(0, _react.forwardRef)(function (
70
70
  isRequired: required
71
71
  }, {
72
72
  children: label
73
- })), (0, _jsxRuntime.jsx)("div", __assign({
74
- className: "ncua-input__content"
75
- }, {
76
- children: (0, _jsxRuntime.jsx)("div", __assign({
77
- className: "ncua-input__field"
78
- }, {
79
- children: (0, _jsxRuntime.jsx)("textarea", __assign({
80
- ref: function (node) {
81
- if (typeof ref === 'function') {
82
- ref(node);
83
- } else if (ref) {
84
- ref.current = node;
85
- }
86
- textareaRef.current = node;
87
- },
88
- className: "ncua-input__textarea",
89
- disabled: disabled
90
- }, props))
91
- }))
92
- })), shouldShowHintArea && (0, _jsxRuntime.jsxs)("div", __assign({
73
+ })), (0, _jsxRuntime.jsx)("textarea", __assign({
74
+ ref: function (node) {
75
+ if (typeof ref === 'function') {
76
+ ref(node);
77
+ } else if (ref) {
78
+ ref.current = node;
79
+ }
80
+ textareaRef.current = node;
81
+ },
82
+ className: "ncua-input__textarea",
83
+ disabled: disabled
84
+ }, props)), shouldShowHintArea && (0, _jsxRuntime.jsxs)("div", __assign({
93
85
  className: "ncua-input__text-count-wrap"
94
86
  }, {
95
87
  children: [hintText && (0, _jsxRuntime.jsx)(_HintText.HintText, __assign({
@@ -35,15 +35,4 @@ Object.keys(_Textarea).forEach(function (key) {
35
35
  return _Textarea[key];
36
36
  }
37
37
  });
38
- });
39
- var _FileInput = require("./FileInput");
40
- Object.keys(_FileInput).forEach(function (key) {
41
- if (key === "default" || key === "__esModule") return;
42
- if (key in exports && exports[key] === _FileInput[key]) return;
43
- Object.defineProperty(exports, key, {
44
- enumerable: true,
45
- get: function () {
46
- return _FileInput[key];
47
- }
48
- });
49
38
  });
@@ -36,11 +36,12 @@ var Modal = function (_a) {
36
36
  _b = _a.size,
37
37
  size = _b === void 0 ? 'md' : _b,
38
38
  _c = _a.closeOnBackdropClick,
39
- closeOnBackdropClick = _c === void 0 ? true : _c,
39
+ closeOnBackdropClick = _c === void 0 ? false : _c,
40
40
  _d = _a.closeOnEsc,
41
41
  closeOnEsc = _d === void 0 ? true : _d,
42
42
  className = _a.className,
43
- restProps = __rest(_a, ["isOpen", "onClose", "children", "size", "closeOnBackdropClick", "closeOnEsc", "className"]);
43
+ zIndex = _a.zIndex,
44
+ restProps = __rest(_a, ["isOpen", "onClose", "children", "size", "closeOnBackdropClick", "closeOnEsc", "className", "zIndex"]);
44
45
  var modalRef = (0, _react.useRef)(null);
45
46
  var handleBackdropClick = function (e) {
46
47
  if (closeOnBackdropClick && e.target === e.currentTarget) {
@@ -66,7 +67,10 @@ var Modal = function (_a) {
66
67
  var modalContent = (0, _jsxRuntime.jsx)("div", __assign({
67
68
  className: (0, _classnames.default)('ncua-modal-backdrop', className),
68
69
  onClick: handleBackdropClick,
69
- ref: modalRef
70
+ ref: modalRef,
71
+ style: zIndex ? {
72
+ zIndex: zIndex
73
+ } : undefined
70
74
  }, restProps, {
71
75
  children: (0, _jsxRuntime.jsx)("div", __assign({
72
76
  className: (0, _classnames.default)('ncua-modal', "ncua-modal--".concat(size))
@@ -36,6 +36,7 @@ var iconNameMap = {
36
36
  error: 'alert-triangle',
37
37
  warning: 'alert-circle',
38
38
  success: 'check-circle'
39
+ // info는 floating에서는 지원하지 않음
39
40
  };
40
41
  var FloatingNotification = exports.FloatingNotification = /*#__PURE__*/(0, _react.forwardRef)(function (_a, ref) {
41
42
  var title = _a.title,
@@ -45,10 +46,15 @@ var FloatingNotification = exports.FloatingNotification = /*#__PURE__*/(0, _reac
45
46
  onClose = _a.onClose,
46
47
  className = _a.className,
47
48
  actions = _a.actions,
48
- rest = __rest(_a, ["title", "supportingText", "color", "onClose", "className", "actions"]);
49
+ _c = _a.autoClose,
50
+ autoClose = _c === void 0 ? 0 : _c,
51
+ rest = __rest(_a, ["title", "supportingText", "color", "onClose", "className", "actions", "autoClose"]);
52
+ var _d = (0, _react.useState)(false),
53
+ shouldRemove = _d[0],
54
+ setShouldRemove = _d[1];
49
55
  var iconColor = color;
50
56
  var featuredIconProps = {
51
- name: iconNameMap[color],
57
+ name: iconNameMap[color] || 'pin-02',
52
58
  size: 'sm',
53
59
  color: iconColor,
54
60
  theme: 'dark-circle'
@@ -56,6 +62,31 @@ var FloatingNotification = exports.FloatingNotification = /*#__PURE__*/(0, _reac
56
62
  var isMobile = (0, _useMediaQuery.useMediaQuery)(_breakpoint.MEDIA_QUERY.mobile, {
57
63
  onMatched: onClose
58
64
  });
65
+ // autoClose 타이머 관리
66
+ var timerRef = (0, _react.useRef)(null);
67
+ (0, _react.useEffect)(function () {
68
+ // autoClose가 0보다 크면 무조건 타이머 설정
69
+ if (autoClose > 0) {
70
+ timerRef.current = setTimeout(function () {
71
+ if (onClose) {
72
+ onClose();
73
+ }
74
+ // DOM에서 바로 제거
75
+ setShouldRemove(true);
76
+ }, autoClose);
77
+ }
78
+ // cleanup 함수: 컴포넌트 언마운트 시 타이머 정리
79
+ return function () {
80
+ if (timerRef.current) {
81
+ clearTimeout(timerRef.current);
82
+ timerRef.current = null;
83
+ }
84
+ };
85
+ }, [autoClose, onClose]);
86
+ // DOM에서 완전히 제거
87
+ if (shouldRemove) {
88
+ return null;
89
+ }
59
90
  return (0, _jsxRuntime.jsxs)("div", __assign({
60
91
  ref: ref,
61
92
  className: (0, _classnames.default)('ncua-floating-notification', "ncua-floating-notification--".concat(color), className),
@@ -90,7 +121,7 @@ var FloatingNotification = exports.FloatingNotification = /*#__PURE__*/(0, _reac
90
121
  children: actions.map(function (action) {
91
122
  return (0, _jsxRuntime.jsx)(_button.Button, {
92
123
  size: "xs",
93
- hierarchy: action.hierarchy || 'link',
124
+ hierarchy: action.hierarchy || 'text',
94
125
  label: action.label,
95
126
  onClick: action === null || action === void 0 ? void 0 : action.onClick
96
127
  }, "".concat(action.label, "-").concat(action.hierarchy));
@@ -32,13 +32,15 @@ var iconNameMap = {
32
32
  neutral: 'message-chat-square',
33
33
  error: 'alert-triangle',
34
34
  warning: 'alert-triangle',
35
- success: 'check-circle'
35
+ success: 'check-circle',
36
+ info: 'info-circle'
36
37
  };
37
38
  var iconColorMap = {
38
39
  neutral: 'gray700',
39
40
  error: 'red500',
40
41
  warning: 'orange500',
41
- success: 'green600'
42
+ success: 'green600',
43
+ info: 'violet600'
42
44
  };
43
45
  var FullWidthNotification = exports.FullWidthNotification = /*#__PURE__*/(0, _react.forwardRef)(function (_a, ref) {
44
46
  var title = _a.title,
@@ -48,11 +50,43 @@ var FullWidthNotification = exports.FullWidthNotification = /*#__PURE__*/(0, _re
48
50
  onClose = _a.onClose,
49
51
  className = _a.className,
50
52
  actions = _a.actions,
51
- rest = __rest(_a, ["title", "supportingText", "color", "onClose", "className", "actions"]);
53
+ _c = _a.autoClose,
54
+ autoClose = _c === void 0 ? 0 : _c,
55
+ supportTextLink = _a.supportTextLink,
56
+ onHidePermanently = _a.onHidePermanently,
57
+ rest = __rest(_a, ["title", "supportingText", "color", "onClose", "className", "actions", "autoClose", "supportTextLink", "onHidePermanently"]);
58
+ var _d = (0, _react.useState)(false),
59
+ shouldRemove = _d[0],
60
+ setShouldRemove = _d[1];
52
61
  var closeIconSize = {
53
62
  width: 20,
54
63
  height: 20
55
64
  };
65
+ // autoClose 타이머 관리
66
+ var timerRef = (0, _react.useRef)(null);
67
+ (0, _react.useEffect)(function () {
68
+ // autoClose가 0보다 크면 무조건 타이머 설정
69
+ if (autoClose > 0) {
70
+ timerRef.current = setTimeout(function () {
71
+ if (onClose) {
72
+ onClose();
73
+ }
74
+ // DOM에서 바로 제거
75
+ setShouldRemove(true);
76
+ }, autoClose);
77
+ }
78
+ // cleanup 함수: 컴포넌트 언마운트 시 타이머 정리
79
+ return function () {
80
+ if (timerRef.current) {
81
+ clearTimeout(timerRef.current);
82
+ timerRef.current = null;
83
+ }
84
+ };
85
+ }, [autoClose, onClose]);
86
+ // DOM에서 완전히 제거
87
+ if (shouldRemove) {
88
+ return null;
89
+ }
56
90
  return (0, _jsxRuntime.jsx)("div", __assign({
57
91
  ref: ref,
58
92
  className: (0, _classnames.default)('ncua-full-width-notification', "ncua-full-width-notification--".concat(color), className),
@@ -80,10 +114,19 @@ var FullWidthNotification = exports.FullWidthNotification = /*#__PURE__*/(0, _re
80
114
  className: "ncua-full-width-notification__title"
81
115
  }, {
82
116
  children: title
83
- })), supportingText && (0, _jsxRuntime.jsx)("span", __assign({
117
+ })), !supportTextLink && supportingText && (0, _jsxRuntime.jsx)("span", __assign({
84
118
  className: "ncua-full-width-notification__supporting-text"
85
119
  }, {
86
120
  children: supportingText
121
+ })), supportTextLink && supportingText && (0, _jsxRuntime.jsx)("a", __assign({
122
+ href: supportTextLink,
123
+ className: "ncua-full-width-notification__link"
124
+ }, {
125
+ children: (0, _jsxRuntime.jsx)("span", __assign({
126
+ className: "ncua-full-width-notification__supporting-text"
127
+ }, {
128
+ children: supportingText
129
+ }))
87
130
  }))]
88
131
  }))]
89
132
  })), (0, _jsxRuntime.jsxs)("div", __assign({
@@ -95,11 +138,17 @@ var FullWidthNotification = exports.FullWidthNotification = /*#__PURE__*/(0, _re
95
138
  children: actions.map(function (action) {
96
139
  return (0, _jsxRuntime.jsx)("button", __assign({
97
140
  onClick: action.onClick,
98
- className: (0, _classnames.default)('ncua-notification__action-button', "ncua-notification__action-button--".concat(action.hierarchy || 'link'))
141
+ className: (0, _classnames.default)('ncua-notification__action-button', "ncua-notification__action-button--".concat(action.hierarchy || 'text'))
99
142
  }, {
100
143
  children: action.label
101
144
  }), "".concat(action.label, "-").concat(action.hierarchy));
102
145
  })
146
+ })), onHidePermanently && (0, _jsxRuntime.jsx)("button", __assign({
147
+ type: "button",
148
+ className: (0, _classnames.default)('ncua-notification__action-button', 'ncua-notification__action-button--text', 'ncua-full-width-notification__link'),
149
+ onClick: onHidePermanently
150
+ }, {
151
+ children: "\uB2E4\uC2DC\uBCF4\uC9C0 \uC54A\uAE30"
103
152
  })), onClose && (0, _jsxRuntime.jsx)("button", __assign({
104
153
  type: "button",
105
154
  className: "ncua-full-width-notification__close-button",
@@ -48,12 +48,9 @@ var NAV_BUTTON_CONFIG = {
48
48
  };
49
49
  var NavButton = function (_a) {
50
50
  var type = _a.type,
51
- as = _a.as,
52
51
  breakPoint = _a.breakPoint,
53
52
  noPrev = _a.noPrev,
54
53
  noNext = _a.noNext,
55
- href = _a.href,
56
- target = _a.target,
57
54
  onClick = _a.onClick;
58
55
  var config = NAV_BUTTON_CONFIG[type];
59
56
  var isNavigationButton = type === 'first' || type === 'prev' || type === 'next' || type === 'last';
@@ -79,15 +76,6 @@ var NavButton = function (_a) {
79
76
  };
80
77
  // key 값 별도 계산
81
78
  var buttonKey = isNavigationButton ? "".concat(breakPoint, "-").concat(type) : undefined;
82
- if (as === 'a') {
83
- return (0, _jsxRuntime.jsx)(_Button.Button, __assign({
84
- as: "a",
85
- href: href,
86
- target: target
87
- }, buttonProps), buttonKey);
88
- }
89
- return (0, _jsxRuntime.jsx)(_Button.Button, __assign({
90
- as: "button"
91
- }, buttonProps), buttonKey);
79
+ return (0, _jsxRuntime.jsx)(_Button.Button, __assign({}, buttonProps), buttonKey);
92
80
  };
93
81
  exports.NavButton = NavButton;
@@ -38,16 +38,14 @@ var Pagination = function (_a) {
38
38
  _d = _a.pageCount,
39
39
  pageCount = _d === void 0 ? 10 : _d,
40
40
  currentPage = _a.currentPage,
41
- _e = _a.as,
42
- as = _e === void 0 ? 'button' : _e,
43
- _f = _a.breakPoint,
44
- breakPoint = _f === void 0 ? 'pc' : _f,
41
+ _e = _a.breakPoint,
42
+ breakPoint = _e === void 0 ? 'pc' : _e,
45
43
  onPageChange = _a.onPageChange,
46
- restProps = __rest(_a, ["className", "totalCount", "itemCountPerPage", "pageCount", "currentPage", "as", "breakPoint", "onPageChange"]);
44
+ restProps = __rest(_a, ["className", "totalCount", "itemCountPerPage", "pageCount", "currentPage", "breakPoint", "onPageChange"]);
47
45
  var totalPage = Math.ceil(totalCount / itemCountPerPage);
48
- var _g = (0, _react.useState)(1),
49
- start = _g[0],
50
- setStart = _g[1];
46
+ var _f = (0, _react.useState)(1),
47
+ start = _f[0],
48
+ setStart = _f[1];
51
49
  var noPrev = start === 1;
52
50
  var noNext = start + pageCount - 1 >= totalPage;
53
51
  var showJumpPageButton = totalPage > pageCount;
@@ -82,23 +80,17 @@ var Pagination = function (_a) {
82
80
  children: [showJumpPageButton && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
83
81
  children: [(0, _NavButton.NavButton)({
84
82
  type: 'first',
85
- as: as,
86
83
  breakPoint: breakPoint,
87
84
  noPrev: noPrev,
88
85
  noNext: noNext,
89
- href: restProps.href || '',
90
- target: restProps.target || '',
91
86
  onClick: function () {
92
87
  return handleClickButton(1);
93
88
  }
94
89
  }), (0, _NavButton.NavButton)({
95
90
  type: 'prev',
96
- as: as,
97
91
  breakPoint: breakPoint,
98
92
  noPrev: noPrev,
99
93
  noNext: noNext,
100
- href: restProps.href || '',
101
- target: restProps.target || '',
102
94
  onClick: function () {
103
95
  return handleClickButton(Math.max(start - pageCount, 1));
104
96
  }
@@ -133,23 +125,17 @@ var Pagination = function (_a) {
133
125
  })), showJumpPageButton && (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
134
126
  children: [(0, _NavButton.NavButton)({
135
127
  type: 'next',
136
- as: as,
137
128
  breakPoint: breakPoint,
138
129
  noPrev: noPrev,
139
130
  noNext: noNext,
140
- href: restProps.href || '',
141
- target: restProps.target || '',
142
131
  onClick: function () {
143
132
  return handleClickButton(Math.min(start + pageCount, totalPage));
144
133
  }
145
134
  }), (0, _NavButton.NavButton)({
146
135
  type: 'last',
147
- as: as,
148
136
  breakPoint: breakPoint,
149
137
  noPrev: noPrev,
150
138
  noNext: noNext,
151
- href: restProps.href || '',
152
- target: restProps.target || '',
153
139
  onClick: function () {
154
140
  return handleClickButton(totalPage);
155
141
  }
@@ -5,6 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ProgressBar = void 0;
7
7
  var _jsxRuntime = require("react/jsx-runtime");
8
+ var _useProgressBar = require("./hooks/useProgressBar");
9
+ var _SegmentBar = require("./components/SegmentBar");
10
+ var _SegmentLabels = require("./components/SegmentLabels");
11
+ var _utils = require("./utils");
8
12
  var __assign = void 0 && (void 0).__assign || function () {
9
13
  __assign = Object.assign || function (t) {
10
14
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -17,41 +21,106 @@ var __assign = void 0 && (void 0).__assign || function () {
17
21
  };
18
22
  var ProgressBar = function (_a) {
19
23
  var label = _a.label,
20
- value = _a.value;
21
- var limitedValue = Math.min(Math.max(0, value), 100);
22
- var displayValue = "".concat(limitedValue.toFixed(0), "%");
23
- var progressValueStyle = label === 'top-float' || label === 'bottom-float' ? {
24
- '--progress-value': "".concat(limitedValue, "%")
25
- } : undefined;
26
- var renderLabel = function (labelType) {
27
- return (0, _jsxRuntime.jsx)("span", __assign({
28
- className: "ncua-progress-bar__label ncua-progress-bar__label-".concat(labelType)
24
+ value = _a.value,
25
+ segments = _a.segments,
26
+ _b = _a.showZeroLabel,
27
+ showZeroLabel = _b === void 0 ? false : _b,
28
+ _c = _a.valueToPercent,
29
+ valueToPercent = _c === void 0 ? true : _c;
30
+ var _d = (0, _useProgressBar.useProgressBar)(label, value, segments, valueToPercent),
31
+ totalValue = _d.totalValue,
32
+ displayValue = _d.displayValue,
33
+ processedSegments = _d.processedSegments,
34
+ effectiveLabel = _d.effectiveLabel,
35
+ progressValueStyle = _d.progressValueStyle,
36
+ hasSegments = _d.hasSegments,
37
+ segmentCount = _d.segmentCount,
38
+ shouldSpaceOut = _d.shouldSpaceOut;
39
+ var isFloatingLabel = effectiveLabel === 'top-float' || effectiveLabel === 'bottom-float';
40
+ // segments가 1개일 때는 기존 value 방식과 동일하게 처리
41
+ if (hasSegments && segmentCount === 1) {
42
+ var singleSegment = processedSegments[0];
43
+ return (0, _jsxRuntime.jsxs)("div", __assign({
44
+ className: "ncua-progress-bar ncua-progress-bar-".concat(effectiveLabel || ''),
45
+ style: progressValueStyle
29
46
  }, {
30
- children: displayValue
47
+ children: [isFloatingLabel && (0, _jsxRuntime.jsx)(_SegmentLabels.SingleLabel, {
48
+ labelType: effectiveLabel,
49
+ displayValue: displayValue,
50
+ totalValue: totalValue,
51
+ showZeroLabel: showZeroLabel
52
+ }), (0, _jsxRuntime.jsxs)("div", __assign({
53
+ className: "ncua-progress-bar__content"
54
+ }, {
55
+ children: [(0, _jsxRuntime.jsx)("div", __assign({
56
+ className: "ncua-progress-bar__bar"
57
+ }, {
58
+ children: (0, _jsxRuntime.jsx)("div", {
59
+ className: "ncua-progress-bar__fill ".concat((0, _utils.getFillColorClass)(singleSegment.color)),
60
+ style: {
61
+ width: "".concat(totalValue, "%")
62
+ },
63
+ "aria-valuenow": totalValue,
64
+ "aria-valuemin": 0,
65
+ "aria-valuemax": 100
66
+ })
67
+ })), effectiveLabel === 'right' && (0, _jsxRuntime.jsx)(_SegmentLabels.SingleLabel, {
68
+ labelType: "right",
69
+ displayValue: displayValue,
70
+ totalValue: totalValue,
71
+ showZeroLabel: showZeroLabel
72
+ })]
73
+ })), effectiveLabel === 'bottom' && (0, _jsxRuntime.jsx)(_SegmentLabels.SingleLabel, {
74
+ labelType: "bottom",
75
+ displayValue: displayValue,
76
+ totalValue: totalValue,
77
+ showZeroLabel: showZeroLabel
78
+ })]
31
79
  }));
32
- };
33
- var isFloatingLabel = label === 'top-float' || label === 'bottom-float';
80
+ }
34
81
  return (0, _jsxRuntime.jsxs)("div", __assign({
35
- className: "ncua-progress-bar ncua-progress-bar-".concat(label),
82
+ className: "ncua-progress-bar ncua-progress-bar-".concat(effectiveLabel || ''),
36
83
  style: progressValueStyle
37
84
  }, {
38
- children: [isFloatingLabel && renderLabel(label), (0, _jsxRuntime.jsxs)("div", __assign({
85
+ children: [isFloatingLabel && (0, _jsxRuntime.jsx)(_SegmentLabels.SingleLabel, {
86
+ labelType: effectiveLabel,
87
+ displayValue: displayValue,
88
+ totalValue: totalValue,
89
+ showZeroLabel: showZeroLabel
90
+ }), (0, _jsxRuntime.jsxs)("div", __assign({
39
91
  className: "ncua-progress-bar__content"
40
92
  }, {
41
93
  children: [(0, _jsxRuntime.jsx)("div", __assign({
42
- className: "ncua-progress-bar__bar"
94
+ className: "ncua-progress-bar__bar ".concat(hasSegments ? 'ncua-progress-bar__bar--segments' : '')
43
95
  }, {
44
- children: (0, _jsxRuntime.jsx)("div", {
96
+ children: hasSegments ? (0, _jsxRuntime.jsx)(_SegmentBar.SegmentBar, {
97
+ segments: processedSegments,
98
+ shouldSpaceOut: shouldSpaceOut
99
+ }) : (0, _jsxRuntime.jsx)("div", {
45
100
  className: "ncua-progress-bar__fill",
46
101
  style: {
47
- width: "".concat(limitedValue, "%")
102
+ width: "".concat(totalValue, "%")
48
103
  },
49
- "aria-valuenow": limitedValue,
104
+ "aria-valuenow": totalValue,
50
105
  "aria-valuemin": 0,
51
106
  "aria-valuemax": 100
52
107
  })
53
- })), label === 'right' && renderLabel('right')]
54
- })), label === 'bottom' && renderLabel('bottom')]
108
+ })), effectiveLabel === 'right' && (0, _jsxRuntime.jsx)(_SegmentLabels.SingleLabel, {
109
+ labelType: "right",
110
+ displayValue: displayValue,
111
+ totalValue: totalValue,
112
+ showZeroLabel: showZeroLabel
113
+ })]
114
+ })), hasSegments && segmentCount >= 2 ? (0, _jsxRuntime.jsx)(_SegmentLabels.SegmentLabels, {
115
+ segments: processedSegments,
116
+ segmentCount: segmentCount,
117
+ showZeroLabel: showZeroLabel
118
+ }) : effectiveLabel === 'bottom' ? (0, _jsxRuntime.jsx)(_SegmentLabels.SingleLabel, {
119
+ labelType: "bottom",
120
+ displayValue: displayValue,
121
+ totalValue: totalValue,
122
+ showZeroLabel: showZeroLabel
123
+ }) : null]
55
124
  }));
56
125
  };
57
126
  exports.ProgressBar = ProgressBar;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SegmentBar = void 0;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ var _utils = require("../utils");
9
+ var SegmentBar = function (_a) {
10
+ var segments = _a.segments,
11
+ shouldSpaceOut = _a.shouldSpaceOut;
12
+ return (0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
13
+ children: segments.map(function (segment, index) {
14
+ var isFirst = index === 0;
15
+ var isLast = index === segments.length - 1;
16
+ return (0, _jsxRuntime.jsx)("div", {
17
+ className: "ncua-progress-bar__fill ".concat(isFirst ? 'ncua-progress-bar__fill--first' : '', " ").concat(isLast ? 'ncua-progress-bar__fill--last' : '', " ").concat(shouldSpaceOut && isLast ? 'ncua-progress-bar__fill--spaced' : '', " ").concat((0, _utils.getFillColorClass)(segment.color)),
18
+ style: {
19
+ width: "".concat(segment.width, "%")
20
+ }
21
+ }, index);
22
+ })
23
+ });
24
+ };
25
+ exports.SegmentBar = SegmentBar;