@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,137 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.MessageNotification = void 0;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ var _dynamic = _interopRequireDefault(require("@ncds/ui-admin-icon/dynamic"));
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _react = require("react");
11
+ var _color = require("../../../constant/color");
12
+ var _button = require("../button");
13
+ var _FeaturedIcon = require("../featured-icon/FeaturedIcon");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ var __assign = void 0 && (void 0).__assign || function () {
16
+ __assign = Object.assign || function (t) {
17
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
18
+ s = arguments[i];
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
20
+ }
21
+ return t;
22
+ };
23
+ return __assign.apply(this, arguments);
24
+ };
25
+ var __rest = void 0 && (void 0).__rest || function (s, e) {
26
+ var t = {};
27
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
28
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
29
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
30
+ }
31
+ return t;
32
+ };
33
+ var iconNameMap = {
34
+ neutral: 'pin-02',
35
+ error: 'alert-triangle',
36
+ warning: 'alert-circle',
37
+ success: 'check-circle'
38
+ };
39
+ var iconColorMap = {
40
+ neutral: 'gray700',
41
+ error: 'red500',
42
+ warning: 'orange500',
43
+ success: 'green600'
44
+ };
45
+ var MessageNotification = exports.MessageNotification = /*#__PURE__*/(0, _react.forwardRef)(function (_a, ref) {
46
+ var title = _a.title,
47
+ supportingText = _a.supportingText,
48
+ icon = _a.icon,
49
+ _b = _a.color,
50
+ color = _b === void 0 ? 'neutral' : _b,
51
+ onClose = _a.onClose,
52
+ className = _a.className,
53
+ actions = _a.actions,
54
+ onHidePermanently = _a.onHidePermanently,
55
+ rest = __rest(_a, ["title", "supportingText", "icon", "color", "onClose", "className", "actions", "onHidePermanently"]);
56
+ // message 타입은 neutral, error, warning, success 4가지 색상만 지원
57
+ var validColor = color === 'info' ? 'neutral' : color;
58
+ var iconColor = validColor;
59
+ var featuredIconProps = {
60
+ name: icon || iconNameMap[validColor] || 'pin-02',
61
+ size: 'lg',
62
+ color: iconColor,
63
+ theme: 'light-circle'
64
+ };
65
+ var closeIconColor = _color.COLOR[iconColorMap[validColor] || 'gray700'];
66
+ return (0, _jsxRuntime.jsx)("div", __assign({
67
+ ref: ref,
68
+ className: (0, _classnames.default)('ncua-message-notification', "ncua-message-notification--".concat(validColor), className),
69
+ role: "alert"
70
+ }, rest, {
71
+ children: (0, _jsxRuntime.jsx)("div", __assign({
72
+ className: "ncua-message-notification__container"
73
+ }, {
74
+ children: (0, _jsxRuntime.jsxs)("div", __assign({
75
+ className: "ncua-message-notification__content"
76
+ }, {
77
+ children: [(0, _jsxRuntime.jsxs)("div", __assign({
78
+ className: "ncua-message-notification__content-wrapper"
79
+ }, {
80
+ children: [iconNameMap[validColor] && (0, _jsxRuntime.jsx)(_FeaturedIcon.FeaturedIcon, __assign({}, featuredIconProps, {
81
+ className: "ncua-message-notification__icon"
82
+ })), (0, _jsxRuntime.jsxs)("div", __assign({
83
+ className: "ncua-message-notification__text-container"
84
+ }, {
85
+ children: [(0, _jsxRuntime.jsx)("span", __assign({
86
+ className: "ncua-message-notification__title"
87
+ }, {
88
+ children: title
89
+ })), supportingText && (0, _jsxRuntime.jsx)("span", __assign({
90
+ className: "ncua-message-notification__supporting-text"
91
+ }, {
92
+ children: supportingText
93
+ }))]
94
+ }))]
95
+ })), (0, _jsxRuntime.jsx)("div", __assign({
96
+ className: "ncua-message-notification__actions-container"
97
+ }, {
98
+ children: actions && (0, _jsxRuntime.jsx)("div", __assign({
99
+ className: "ncua-message-notification__actions"
100
+ }, {
101
+ children: actions.map(function (action) {
102
+ return (0, _jsxRuntime.jsx)(_button.Button, {
103
+ size: "xs",
104
+ hierarchy: action.hierarchy || 'text',
105
+ label: action.label,
106
+ onClick: action === null || action === void 0 ? void 0 : action.onClick
107
+ }, "".concat(action.label, "-").concat(action.hierarchy));
108
+ })
109
+ }))
110
+ })), (0, _jsxRuntime.jsxs)("div", __assign({
111
+ className: "ncua-message-notification__footer-container"
112
+ }, {
113
+ children: [onHidePermanently && (0, _jsxRuntime.jsx)("button", __assign({
114
+ type: "button",
115
+ className: (0, _classnames.default)('ncua-notification__action-button', 'ncua-notification__action-button--text', 'ncua-message-notification__hide-link'),
116
+ onClick: onHidePermanently
117
+ }, {
118
+ children: "\uB2E4\uC2DC \uBCF4\uC9C0 \uC54A\uAE30"
119
+ })), onClose && (0, _jsxRuntime.jsx)("button", __assign({
120
+ type: "button",
121
+ className: "ncua-message-notification__close-button",
122
+ onClick: onClose,
123
+ "aria-label": "\uC54C\uB9BC \uB2EB\uAE30"
124
+ }, {
125
+ children: (0, _jsxRuntime.jsx)(_dynamic.default, {
126
+ name: "x-close",
127
+ width: 20,
128
+ height: 20,
129
+ color: closeIconColor
130
+ })
131
+ }))]
132
+ }))]
133
+ }))
134
+ }))
135
+ }));
136
+ });
137
+ MessageNotification.displayName = 'MessageNotification';
@@ -8,6 +8,7 @@ var _jsxRuntime = require("react/jsx-runtime");
8
8
  var _react = require("react");
9
9
  var _FloatingNotification = require("./FloatingNotification");
10
10
  var _FullWidthNotification = require("./FullWidthNotification");
11
+ var _MessageNotification = require("./MessageNotification");
11
12
  var __assign = void 0 && (void 0).__assign || function () {
12
13
  __assign = Object.assign || function (t) {
13
14
  for (var s, i = 1, n = arguments.length; i < n; i++) {
@@ -32,14 +33,27 @@ var Notification = exports.Notification = /*#__PURE__*/(0, _react.forwardRef)(fu
32
33
  _c = _a.color,
33
34
  color = _c === void 0 ? 'neutral' : _c,
34
35
  rest = __rest(_a, ["type", "color"]);
35
- return type === 'floating' ? (0, _jsxRuntime.jsx)(_FloatingNotification.FloatingNotification, __assign({
36
- color: color
37
- }, rest, {
38
- ref: ref
39
- })) : (0, _jsxRuntime.jsx)(_FullWidthNotification.FullWidthNotification, __assign({
40
- color: color
41
- }, rest, {
42
- ref: ref
43
- }));
36
+ if (type === 'floating') {
37
+ return (0, _jsxRuntime.jsx)(_FloatingNotification.FloatingNotification, __assign({
38
+ color: color
39
+ }, rest, {
40
+ ref: ref
41
+ }));
42
+ }
43
+ if (type === 'full-width') {
44
+ return (0, _jsxRuntime.jsx)(_FullWidthNotification.FullWidthNotification, __assign({
45
+ color: color
46
+ }, rest, {
47
+ ref: ref
48
+ }));
49
+ }
50
+ if (type === 'message') {
51
+ return (0, _jsxRuntime.jsx)(_MessageNotification.MessageNotification, __assign({
52
+ color: color
53
+ }, rest, {
54
+ ref: ref
55
+ }));
56
+ }
57
+ return null;
44
58
  });
45
59
  Notification.displayName = 'Notification';
@@ -35,4 +35,15 @@ Object.keys(_FullWidthNotification).forEach(function (key) {
35
35
  return _FullWidthNotification[key];
36
36
  }
37
37
  });
38
+ });
39
+ var _MessageNotification = require("./MessageNotification");
40
+ Object.keys(_MessageNotification).forEach(function (key) {
41
+ if (key === "default" || key === "__esModule") return;
42
+ if (key in exports && exports[key] === _MessageNotification[key]) return;
43
+ Object.defineProperty(exports, key, {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _MessageNotification[key];
47
+ }
48
+ });
38
49
  });
@@ -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;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SingleLabel = exports.SegmentLabels = void 0;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ var _utils = require("../utils");
9
+ var __assign = void 0 && (void 0).__assign || function () {
10
+ __assign = Object.assign || function (t) {
11
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
12
+ s = arguments[i];
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
14
+ }
15
+ return t;
16
+ };
17
+ return __assign.apply(this, arguments);
18
+ };
19
+ var SegmentLabels = function (_a) {
20
+ var segments = _a.segments,
21
+ segmentCount = _a.segmentCount,
22
+ _b = _a.showZeroLabel,
23
+ showZeroLabel = _b === void 0 ? false : _b;
24
+ if (segmentCount >= 2) {
25
+ return (0, _jsxRuntime.jsx)("div", __assign({
26
+ className: "ncua-progress-bar__labels--multiple"
27
+ }, {
28
+ children: segments.map(function (segment, index) {
29
+ // 0%이고 showZeroLabel이 false면 라벨 표시하지 않음
30
+ if (segment.value === 0 && !showZeroLabel) {
31
+ return null;
32
+ }
33
+ var leftPosition = 0;
34
+ for (var i = 0; i < index; i++) {
35
+ leftPosition += segments[i].width;
36
+ }
37
+ // 0%일 때는 segment 시작 위치에 맞추되, 라벨이 게이지 바를 넘어가지 않도록 조정
38
+ // 그 외에는 중앙에 정렬
39
+ var isZero = segment.value === 0;
40
+ // 0%일 때는 약간의 오프셋을 주어 자연스럽게 보이도록 함 (라벨 너비의 절반 정도)
41
+ var labelPosition = isZero ? Math.max(0, leftPosition - 1) : leftPosition + segment.width / 2;
42
+ var transform = isZero ? 'translateX(0)' : 'translateX(-50%)';
43
+ return (0, _jsxRuntime.jsx)("span", __assign({
44
+ className: "ncua-progress-bar__label ncua-progress-bar__label--segment ".concat((0, _utils.getLabelColorClass)(segment.color)),
45
+ style: {
46
+ left: "".concat(labelPosition, "%"),
47
+ transform: transform
48
+ }
49
+ }, {
50
+ children: "".concat(segment.value.toFixed(0), "%")
51
+ }), index);
52
+ })
53
+ }));
54
+ }
55
+ return null;
56
+ };
57
+ exports.SegmentLabels = SegmentLabels;
58
+ var SingleLabel = function (_a) {
59
+ var labelType = _a.labelType,
60
+ displayValue = _a.displayValue,
61
+ totalValue = _a.totalValue,
62
+ _b = _a.showZeroLabel,
63
+ showZeroLabel = _b === void 0 ? false : _b;
64
+ // 0%이고 showZeroLabel이 false면 라벨 표시하지 않음
65
+ if (totalValue === 0 && !showZeroLabel) {
66
+ return null;
67
+ }
68
+ return (0, _jsxRuntime.jsx)("span", __assign({
69
+ className: "ncua-progress-bar__label ncua-progress-bar__label-".concat(labelType)
70
+ }, {
71
+ children: displayValue
72
+ }));
73
+ };
74
+ exports.SingleLabel = SingleLabel;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useProgressBar = void 0;
7
+ var _react = require("react");
8
+ var _utils = require("../utils");
9
+ var __assign = void 0 && (void 0).__assign || function () {
10
+ __assign = Object.assign || function (t) {
11
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
12
+ s = arguments[i];
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
14
+ }
15
+ return t;
16
+ };
17
+ return __assign.apply(this, arguments);
18
+ };
19
+ /**
20
+ * segments를 처리하여 프로그레스 바에 표시할 데이터를 계산합니다.
21
+ */
22
+ var processSegments = function (segments, segmentCount, valueToPercent) {
23
+ // segment가 2개 이상일 때만 valueToPercent 적용 (기본값: true)
24
+ var shouldApplyValueToPercent = segmentCount >= 2 && valueToPercent !== false;
25
+ var segmentsToProcess = segments;
26
+ // valueToPercent 적용: segments의 합계를 100%로 규정하고 비율로 계산
27
+ if (shouldApplyValueToPercent) {
28
+ // 원본 값들의 합계 계산
29
+ var originalTotal_1 = segmentsToProcess.reduce(function (sum, seg) {
30
+ return sum + Number(seg.value);
31
+ }, 0);
32
+ if (originalTotal_1 > 0) {
33
+ // 각 segment를 합계 대비 비율로 변환 (합계를 100%로 규정)
34
+ segmentsToProcess = segmentsToProcess.map(function (segment) {
35
+ return {
36
+ value: segment.value / originalTotal_1 * 100,
37
+ color: segment.color
38
+ };
39
+ });
40
+ }
41
+ }
42
+ // 각 값 제한 (0-100 범위)
43
+ var limitedSegments = segmentsToProcess.map(function (segment) {
44
+ return {
45
+ value: (0, _utils.clampValue)(segment.value),
46
+ color: segment.color
47
+ };
48
+ });
49
+ // 전체 합계 계산
50
+ var actualTotal = limitedSegments.reduce(function (sum, seg) {
51
+ return sum + seg.value;
52
+ }, 0);
53
+ var total = Math.min(actualTotal, 100);
54
+ // 모든 segments를 좌측에서부터 연속적으로 배치 (비율로 계산)
55
+ var processed = limitedSegments.map(function (segment) {
56
+ return __assign(__assign({}, segment), {
57
+ width: actualTotal > 0 ? segment.value / actualTotal * total : 0
58
+ });
59
+ });
60
+ return {
61
+ totalValue: total,
62
+ displayValue: "".concat(total.toFixed(0), "%"),
63
+ processedSegments: processed,
64
+ shouldSpaceOut: false // 항상 왼쪽에 붙도록 통일
65
+ };
66
+ };
67
+ var useProgressBar = function (label, value, segments, valueToPercent) {
68
+ var _a;
69
+ var hasSegments = Boolean(segments && segments.length > 0);
70
+ var segmentCount = (_a = segments === null || segments === void 0 ? void 0 : segments.length) !== null && _a !== void 0 ? _a : 0;
71
+ var _b = (0, _react.useMemo)(function () {
72
+ // segments가 있을 때는 각 값을 제한하고 전체 합계를 계산
73
+ // value는 무시되며, 각 segment의 값을 value로 처리
74
+ if (hasSegments) {
75
+ return processSegments(segments, segmentCount, valueToPercent);
76
+ }
77
+ // value만 있을 때는 valueToPercent 무시 (이미 퍼센트로 간주)
78
+ if (value !== undefined) {
79
+ var clamped = (0, _utils.clampValue)(value);
80
+ return {
81
+ totalValue: clamped,
82
+ displayValue: "".concat(clamped.toFixed(0), "%"),
83
+ processedSegments: [],
84
+ shouldSpaceOut: false
85
+ };
86
+ }
87
+ return {
88
+ totalValue: 0,
89
+ displayValue: '0%',
90
+ processedSegments: [],
91
+ shouldSpaceOut: false
92
+ };
93
+ }, [hasSegments, segments, segmentCount, value, valueToPercent]),
94
+ totalValue = _b.totalValue,
95
+ displayValue = _b.displayValue,
96
+ processedSegments = _b.processedSegments,
97
+ shouldSpaceOut = _b.shouldSpaceOut;
98
+ // segment의 개수가 2이상일때는 bottom 라벨로 고정
99
+ var effectiveLabel = segmentCount >= 2 ? 'bottom' : label;
100
+ var progressValueStyle = (0, _react.useMemo)(function () {
101
+ if (effectiveLabel === 'top-float' || effectiveLabel === 'bottom-float') {
102
+ return {
103
+ '--progress-value': "".concat(totalValue, "%")
104
+ };
105
+ }
106
+ return undefined;
107
+ }, [effectiveLabel, totalValue]);
108
+ return {
109
+ totalValue: totalValue,
110
+ displayValue: displayValue,
111
+ processedSegments: processedSegments,
112
+ effectiveLabel: effectiveLabel,
113
+ progressValueStyle: progressValueStyle,
114
+ hasSegments: hasSegments,
115
+ segmentCount: segmentCount,
116
+ shouldSpaceOut: shouldSpaceOut
117
+ };
118
+ };
119
+ exports.useProgressBar = useProgressBar;
@@ -13,4 +13,15 @@ Object.keys(_ProgressBar).forEach(function (key) {
13
13
  return _ProgressBar[key];
14
14
  }
15
15
  });
16
+ });
17
+ var _types = require("./types");
18
+ Object.keys(_types).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _types[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _types[key];
25
+ }
26
+ });
16
27
  });