@ncds/ui-admin 1.7.0 → 1.8.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 (621) hide show
  1. package/dist/cjs/assets/scripts/baseBox.js +54 -56
  2. package/dist/cjs/assets/scripts/comboBox.js +54 -105
  3. package/dist/cjs/assets/scripts/datePicker.js +289 -324
  4. package/dist/cjs/assets/scripts/featuredIcon.js +41 -49
  5. package/dist/cjs/assets/scripts/fileInput/const/classNames.js +4 -10
  6. package/dist/cjs/assets/scripts/fileInput/fileInput.js +33 -34
  7. package/dist/cjs/assets/scripts/fileInput/fileInputModel.js +27 -35
  8. package/dist/cjs/assets/scripts/fileInput/fileInputView.js +53 -48
  9. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInput.js +61 -64
  10. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputModel.js +79 -112
  11. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputView.js +107 -105
  12. package/dist/cjs/assets/scripts/imageFileInput/const/classNames.js +6 -16
  13. package/dist/cjs/assets/scripts/index.js +2 -0
  14. package/dist/cjs/assets/scripts/modal/Modal.js +43 -55
  15. package/dist/cjs/assets/scripts/modal/ModalActions.js +40 -52
  16. package/dist/cjs/assets/scripts/modal/ModalContent.js +22 -22
  17. package/dist/cjs/assets/scripts/modal/ModalHeader.js +37 -48
  18. package/dist/cjs/assets/scripts/modal/const/classNames.js +5 -13
  19. package/dist/cjs/assets/scripts/modal/utils/contentUtils.js +1 -1
  20. package/dist/cjs/assets/scripts/notification/FloatingNotification.js +91 -93
  21. package/dist/cjs/assets/scripts/notification/FullWidthNotification.js +92 -80
  22. package/dist/cjs/assets/scripts/notification/MessageNotification.js +92 -79
  23. package/dist/cjs/assets/scripts/notification/Notification.js +50 -65
  24. package/dist/cjs/assets/scripts/notification/const/classNames.js +1 -1
  25. package/dist/cjs/assets/scripts/notification/const/icons.js +11 -25
  26. package/dist/cjs/assets/scripts/notification/const/sizes.js +11 -19
  27. package/dist/cjs/assets/scripts/notification/const/types.js +1 -1
  28. package/dist/cjs/assets/scripts/notification/utils.js +28 -23
  29. package/dist/cjs/assets/scripts/progress-bar/ProgressBar.js +140 -141
  30. package/dist/cjs/assets/scripts/selectBox.js +72 -132
  31. package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +18 -19
  32. package/dist/cjs/assets/scripts/slider.js +104 -122
  33. package/dist/cjs/assets/scripts/tab.js +8 -8
  34. package/dist/cjs/assets/scripts/table/Table.js +377 -0
  35. package/dist/cjs/assets/scripts/table/const/classNames.js +33 -0
  36. package/dist/cjs/assets/scripts/table/const/index.js +27 -0
  37. package/dist/cjs/assets/scripts/table/const/types.js +5 -0
  38. package/dist/cjs/assets/scripts/table/index.js +43 -0
  39. package/dist/cjs/assets/scripts/tag/Tag.js +108 -115
  40. package/dist/cjs/assets/scripts/tag/const/classNames.js +3 -7
  41. package/dist/cjs/assets/scripts/tag/const/sizes.js +4 -4
  42. package/dist/cjs/assets/scripts/tooltip/Tooltip.js +155 -182
  43. package/dist/cjs/assets/scripts/tooltip/TooltipLayerManager.js +23 -25
  44. package/dist/cjs/assets/scripts/tooltip/const/classNames.js +1 -1
  45. package/dist/cjs/assets/scripts/tooltip/const/constants.js +14 -14
  46. package/dist/cjs/assets/scripts/tooltip/const/icons.js +7 -7
  47. package/dist/cjs/assets/scripts/tooltip/const/templates.js +42 -25
  48. package/dist/cjs/assets/scripts/tooltip/utils.js +17 -18
  49. package/dist/cjs/assets/scripts/utils/debounce.js +7 -8
  50. package/dist/cjs/assets/scripts/utils/unifiedBox/domRenderer.js +102 -116
  51. package/dist/cjs/assets/scripts/utils/unifiedBox/dropdownModel.js +103 -144
  52. package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxController.js +180 -207
  53. package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +166 -362
  54. package/dist/cjs/constant/color.js +1 -1
  55. package/dist/cjs/index.js +0 -297
  56. package/dist/cjs/src/components/badge/Badge.js +17 -30
  57. package/dist/cjs/src/components/badge/index.js +0 -11
  58. package/dist/cjs/src/components/badge/utils.js +11 -10
  59. package/dist/cjs/src/components/badge-group/BadgeGroup.js +42 -0
  60. package/dist/cjs/src/components/badge-group/index.js +16 -0
  61. package/dist/cjs/src/components/bread-crumb/BreadCrumb.js +55 -0
  62. package/dist/cjs/src/components/button/Button.js +37 -58
  63. package/dist/cjs/src/components/button/ButtonCloseX.js +12 -22
  64. package/dist/cjs/src/components/button/ButtonStepper.js +9 -7
  65. package/dist/cjs/src/components/button/index.js +0 -11
  66. package/dist/cjs/src/components/button-group/ButtonGroup.js +97 -0
  67. package/dist/cjs/src/components/button-group/index.js +16 -0
  68. package/dist/cjs/src/components/carousel-arrow/CarouselArrow.js +34 -0
  69. package/dist/cjs/src/components/carousel-arrow/index.js +16 -0
  70. package/dist/cjs/src/components/carousel-number-group/CarouselNumberGroup.js +33 -0
  71. package/dist/cjs/src/components/{carousel → carousel-number-group}/index.js +0 -11
  72. package/dist/cjs/src/components/checkbox/Checkbox.js +28 -49
  73. package/dist/cjs/src/components/checkbox/CheckboxInput.js +23 -42
  74. package/dist/cjs/src/components/combo-box/ComboBox.js +290 -0
  75. package/dist/cjs/src/components/data-grid/DataGrid.js +182 -0
  76. package/dist/cjs/src/components/data-grid/DataGrid.types.js +5 -0
  77. package/dist/cjs/src/components/data-grid/index.js +27 -0
  78. package/dist/cjs/src/components/date-picker/CustomInput.js +16 -32
  79. package/dist/cjs/src/components/date-picker/DatePicker.js +416 -256
  80. package/dist/cjs/src/components/date-picker/index.js +0 -22
  81. package/dist/cjs/src/components/date-picker/utils.js +2 -4
  82. package/dist/cjs/src/components/divider/Divider.js +14 -25
  83. package/dist/cjs/src/components/dot/Dot.js +11 -28
  84. package/dist/cjs/src/components/dropdown/Dropdown.js +90 -132
  85. package/dist/cjs/src/components/empty-state/EmptyState.js +28 -45
  86. package/dist/cjs/src/components/featured-icon/FeaturedIcon.js +14 -33
  87. package/dist/cjs/src/components/file-input/FileInput.js +102 -148
  88. package/dist/cjs/src/components/horizontal-tab/HorizontalTab.js +53 -0
  89. package/dist/cjs/src/components/horizontal-tab/index.js +16 -0
  90. package/dist/cjs/src/components/image-file-input/ImageFileInput.js +109 -170
  91. package/dist/cjs/src/components/image-file-input/components/ImagePreview.js +8 -17
  92. package/dist/cjs/src/components/index.js +156 -24
  93. package/dist/cjs/src/components/input-base/InputBase.js +195 -0
  94. package/dist/cjs/src/components/input-base/index.js +16 -0
  95. package/dist/cjs/src/components/modal/Modal.js +76 -105
  96. package/dist/cjs/src/components/notification/FloatingNotification.js +52 -80
  97. package/dist/cjs/src/components/notification/FullWidthNotification.js +67 -101
  98. package/dist/cjs/src/components/notification/MessageNotification.js +60 -89
  99. package/dist/cjs/src/components/notification/Notification.js +18 -36
  100. package/dist/cjs/src/components/number-input/NumberInput.js +112 -0
  101. package/dist/cjs/src/components/number-input/index.js +16 -0
  102. package/dist/cjs/src/components/pagination/NavButton.js +28 -42
  103. package/dist/cjs/src/components/pagination/Pagination.js +58 -97
  104. package/dist/cjs/src/components/password-input/PasswordInput.js +55 -0
  105. package/dist/cjs/src/components/password-input/index.js +16 -0
  106. package/dist/cjs/src/components/progress-bar/ProgressBar.js +45 -60
  107. package/dist/cjs/src/components/progress-bar/components/SegmentBar.js +11 -9
  108. package/dist/cjs/src/components/progress-bar/components/SegmentLabels.js +32 -43
  109. package/dist/cjs/src/components/progress-bar/hooks/useProgressBar.js +59 -78
  110. package/dist/cjs/src/components/progress-bar/utils.js +8 -8
  111. package/dist/cjs/src/components/progress-circle/ProgressCircle.js +49 -72
  112. package/dist/cjs/src/components/radio/Radio.js +24 -43
  113. package/dist/cjs/src/components/radio/RadioInput.js +18 -36
  114. package/dist/cjs/src/components/range-date-picker/RangeDatePicker.js +147 -0
  115. package/dist/cjs/src/components/range-date-picker/index.js +16 -0
  116. package/dist/cjs/src/components/range-date-picker-with-buttons/RangeDatePickerWithButtons.js +81 -0
  117. package/dist/cjs/src/components/range-date-picker-with-buttons/index.js +16 -0
  118. package/dist/cjs/src/components/select/Select.js +36 -63
  119. package/dist/cjs/src/components/select-box/SelectBox.js +260 -0
  120. package/dist/cjs/src/components/select-dropdown/SelectDropdown.js +64 -100
  121. package/dist/cjs/src/components/shared/hintText/HintText.js +13 -30
  122. package/dist/cjs/src/components/shared/label/Label.js +12 -29
  123. package/dist/cjs/src/components/slider/Slider.js +25 -28
  124. package/dist/cjs/src/components/spinner/Spinner.js +25 -39
  125. package/dist/cjs/src/components/switch/Switch.js +44 -69
  126. package/dist/cjs/src/components/tab/TabButton.js +41 -61
  127. package/dist/cjs/src/components/tab/index.js +0 -22
  128. package/dist/cjs/src/components/table/Table.js +269 -0
  129. package/dist/cjs/src/components/table/index.js +16 -0
  130. package/dist/cjs/src/components/table/types.js +5 -0
  131. package/dist/cjs/src/components/tag/Tag.js +65 -85
  132. package/dist/cjs/src/components/textarea/Textarea.js +79 -0
  133. package/dist/cjs/src/components/textarea/index.js +16 -0
  134. package/dist/cjs/src/components/toggle/Toggle.js +28 -52
  135. package/dist/cjs/src/components/tooltip/Tooltip.js +75 -108
  136. package/dist/cjs/src/components/vertical-tab/VerticalTab.js +48 -0
  137. package/dist/cjs/src/components/vertical-tab/index.js +16 -0
  138. package/dist/cjs/src/constant/breakpoint.js +3 -3
  139. package/dist/cjs/src/constant/date-picker.js +1 -1
  140. package/dist/cjs/src/constant/size.js +1 -1
  141. package/dist/cjs/src/hooks/dropdown/useDropdown.js +58 -60
  142. package/dist/cjs/src/hooks/dropdown/useDropdownKeyboard.js +37 -40
  143. package/dist/cjs/src/hooks/dropdown/useDropdownPosition.js +7 -9
  144. package/dist/cjs/src/hooks/dropdown/useOutsideClick.js +11 -11
  145. package/dist/cjs/src/hooks/dropdown/useScrollLock.js +23 -19
  146. package/dist/cjs/src/hooks/dropdown/useWindowResize.js +12 -13
  147. package/dist/cjs/src/hooks/useCallbackRef.js +2 -2
  148. package/dist/cjs/src/hooks/useMediaQuery.js +8 -11
  149. package/dist/cjs/src/hooks/useMergeRefs.js +2 -2
  150. package/dist/cjs/src/utils/date-picker.js +29 -30
  151. package/dist/cjs/src/utils/dropdown/dropdownUtils.js +39 -35
  152. package/dist/cjs/src/utils/dropdown/multiSelect.js +25 -45
  153. package/dist/esm/assets/scripts/baseBox.js +53 -57
  154. package/dist/esm/assets/scripts/comboBox.js +54 -107
  155. package/dist/esm/assets/scripts/datePicker.js +288 -324
  156. package/dist/esm/assets/scripts/featuredIcon.js +40 -50
  157. package/dist/esm/assets/scripts/fileInput/const/classNames.js +4 -10
  158. package/dist/esm/assets/scripts/fileInput/fileInput.js +32 -35
  159. package/dist/esm/assets/scripts/fileInput/fileInputModel.js +26 -36
  160. package/dist/esm/assets/scripts/fileInput/fileInputView.js +52 -49
  161. package/dist/esm/assets/scripts/imageFileInput/ImageFileInput.js +60 -65
  162. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputModel.js +78 -113
  163. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputView.js +106 -106
  164. package/dist/esm/assets/scripts/imageFileInput/const/classNames.js +6 -16
  165. package/dist/esm/assets/scripts/index.js +2 -0
  166. package/dist/esm/assets/scripts/modal/Modal.js +43 -55
  167. package/dist/esm/assets/scripts/modal/ModalActions.js +39 -53
  168. package/dist/esm/assets/scripts/modal/ModalContent.js +21 -23
  169. package/dist/esm/assets/scripts/modal/ModalHeader.js +36 -49
  170. package/dist/esm/assets/scripts/modal/const/classNames.js +5 -13
  171. package/dist/esm/assets/scripts/modal/utils/contentUtils.js +1 -1
  172. package/dist/esm/assets/scripts/notification/FloatingNotification.js +90 -94
  173. package/dist/esm/assets/scripts/notification/FullWidthNotification.js +91 -81
  174. package/dist/esm/assets/scripts/notification/MessageNotification.js +91 -80
  175. package/dist/esm/assets/scripts/notification/Notification.js +49 -66
  176. package/dist/esm/assets/scripts/notification/const/classNames.js +1 -1
  177. package/dist/esm/assets/scripts/notification/const/icons.js +11 -25
  178. package/dist/esm/assets/scripts/notification/const/sizes.js +11 -19
  179. package/dist/esm/assets/scripts/notification/const/types.js +1 -1
  180. package/dist/esm/assets/scripts/notification/utils.js +28 -23
  181. package/dist/esm/assets/scripts/progress-bar/ProgressBar.js +139 -142
  182. package/dist/esm/assets/scripts/selectBox.js +71 -133
  183. package/dist/esm/assets/scripts/shared/ButtonCloseX.js +18 -19
  184. package/dist/esm/assets/scripts/slider.js +103 -123
  185. package/dist/esm/assets/scripts/tab.js +7 -9
  186. package/dist/esm/assets/scripts/table/Table.js +370 -0
  187. package/dist/esm/assets/scripts/table/const/classNames.js +27 -0
  188. package/dist/esm/assets/scripts/table/const/index.js +2 -0
  189. package/dist/esm/assets/scripts/table/const/types.js +1 -0
  190. package/dist/esm/assets/scripts/table/index.js +8 -0
  191. package/dist/esm/assets/scripts/tag/Tag.js +107 -116
  192. package/dist/esm/assets/scripts/tag/const/classNames.js +3 -7
  193. package/dist/esm/assets/scripts/tag/const/sizes.js +4 -4
  194. package/dist/esm/assets/scripts/tooltip/Tooltip.js +154 -183
  195. package/dist/esm/assets/scripts/tooltip/TooltipLayerManager.js +22 -26
  196. package/dist/esm/assets/scripts/tooltip/const/classNames.js +1 -1
  197. package/dist/esm/assets/scripts/tooltip/const/constants.js +14 -14
  198. package/dist/esm/assets/scripts/tooltip/const/icons.js +7 -7
  199. package/dist/esm/assets/scripts/tooltip/const/templates.js +42 -25
  200. package/dist/esm/assets/scripts/tooltip/utils.js +17 -18
  201. package/dist/esm/assets/scripts/utils/debounce.js +7 -8
  202. package/dist/esm/assets/scripts/utils/unifiedBox/domRenderer.js +101 -117
  203. package/dist/esm/assets/scripts/utils/unifiedBox/dropdownModel.js +103 -144
  204. package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxController.js +179 -208
  205. package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +165 -363
  206. package/dist/esm/constant/color.js +1 -1
  207. package/dist/esm/index.js +0 -27
  208. package/dist/esm/src/components/badge/Badge.js +17 -30
  209. package/dist/esm/src/components/badge/index.js +1 -2
  210. package/dist/esm/src/components/badge/utils.js +11 -10
  211. package/dist/esm/src/components/badge-group/BadgeGroup.js +35 -0
  212. package/dist/esm/src/components/badge-group/index.js +1 -0
  213. package/dist/esm/src/components/bread-crumb/BreadCrumb.js +48 -0
  214. package/dist/esm/src/components/button/Button.js +37 -58
  215. package/dist/esm/src/components/button/ButtonCloseX.js +12 -22
  216. package/dist/esm/src/components/button/ButtonStepper.js +9 -7
  217. package/dist/esm/src/components/button/index.js +0 -1
  218. package/dist/esm/src/components/button-group/ButtonGroup.js +89 -0
  219. package/dist/esm/src/components/button-group/index.js +1 -0
  220. package/dist/esm/src/components/carousel-arrow/CarouselArrow.js +26 -0
  221. package/dist/esm/src/components/carousel-arrow/index.js +1 -0
  222. package/dist/esm/src/components/carousel-number-group/CarouselNumberGroup.js +25 -0
  223. package/dist/esm/src/components/carousel-number-group/index.js +1 -0
  224. package/dist/esm/src/components/checkbox/Checkbox.js +28 -49
  225. package/dist/esm/src/components/checkbox/CheckboxInput.js +23 -42
  226. package/dist/esm/src/components/combo-box/ComboBox.js +284 -0
  227. package/dist/esm/src/components/data-grid/DataGrid.js +175 -0
  228. package/dist/esm/src/components/data-grid/DataGrid.types.js +1 -0
  229. package/dist/esm/src/components/data-grid/index.js +2 -0
  230. package/dist/esm/src/components/date-picker/CustomInput.js +16 -32
  231. package/dist/esm/src/components/date-picker/DatePicker.js +421 -260
  232. package/dist/esm/src/components/date-picker/index.js +0 -2
  233. package/dist/esm/src/components/date-picker/utils.js +2 -4
  234. package/dist/esm/src/components/divider/Divider.js +14 -25
  235. package/dist/esm/src/components/dot/Dot.js +11 -28
  236. package/dist/esm/src/components/dropdown/Dropdown.js +90 -132
  237. package/dist/esm/src/components/empty-state/EmptyState.js +28 -45
  238. package/dist/esm/src/components/featured-icon/FeaturedIcon.js +14 -33
  239. package/dist/esm/src/components/file-input/FileInput.js +102 -148
  240. package/dist/esm/src/components/horizontal-tab/HorizontalTab.js +46 -0
  241. package/dist/esm/src/components/horizontal-tab/index.js +1 -0
  242. package/dist/esm/src/components/image-file-input/ImageFileInput.js +109 -170
  243. package/dist/esm/src/components/image-file-input/components/ImagePreview.js +8 -17
  244. package/dist/esm/src/components/index.js +18 -6
  245. package/dist/esm/src/components/input-base/InputBase.js +189 -0
  246. package/dist/esm/src/components/input-base/index.js +1 -0
  247. package/dist/esm/src/components/modal/Modal.js +76 -105
  248. package/dist/esm/src/components/notification/FloatingNotification.js +52 -80
  249. package/dist/esm/src/components/notification/FullWidthNotification.js +67 -101
  250. package/dist/esm/src/components/notification/MessageNotification.js +60 -89
  251. package/dist/esm/src/components/notification/Notification.js +18 -36
  252. package/dist/esm/src/components/{input → number-input}/NumberInput.js +34 -54
  253. package/dist/esm/src/components/number-input/index.js +1 -0
  254. package/dist/esm/src/components/pagination/NavButton.js +28 -42
  255. package/dist/esm/src/components/pagination/Pagination.js +58 -97
  256. package/dist/esm/src/components/password-input/PasswordInput.js +48 -0
  257. package/dist/esm/src/components/password-input/index.js +1 -0
  258. package/dist/esm/src/components/progress-bar/ProgressBar.js +45 -60
  259. package/dist/esm/src/components/progress-bar/components/SegmentBar.js +11 -9
  260. package/dist/esm/src/components/progress-bar/components/SegmentLabels.js +32 -43
  261. package/dist/esm/src/components/progress-bar/hooks/useProgressBar.js +59 -78
  262. package/dist/esm/src/components/progress-bar/utils.js +8 -8
  263. package/dist/esm/src/components/progress-circle/ProgressCircle.js +49 -72
  264. package/dist/esm/src/components/radio/Radio.js +24 -43
  265. package/dist/esm/src/components/radio/RadioInput.js +18 -36
  266. package/dist/esm/src/components/range-date-picker/RangeDatePicker.js +141 -0
  267. package/dist/esm/src/components/range-date-picker/index.js +1 -0
  268. package/dist/esm/src/components/range-date-picker-with-buttons/RangeDatePickerWithButtons.js +75 -0
  269. package/dist/esm/src/components/range-date-picker-with-buttons/index.js +1 -0
  270. package/dist/esm/src/components/select/Select.js +36 -63
  271. package/dist/esm/src/components/select-box/SelectBox.js +254 -0
  272. package/dist/esm/src/components/select-dropdown/SelectDropdown.js +64 -100
  273. package/dist/esm/src/components/shared/hintText/HintText.js +13 -30
  274. package/dist/esm/src/components/shared/label/Label.js +12 -29
  275. package/dist/esm/src/components/slider/Slider.js +25 -28
  276. package/dist/esm/src/components/spinner/Spinner.js +25 -39
  277. package/dist/esm/src/components/switch/Switch.js +44 -69
  278. package/dist/esm/src/components/tab/TabButton.js +41 -61
  279. package/dist/esm/src/components/tab/index.js +1 -3
  280. package/dist/esm/src/components/table/Table.js +262 -0
  281. package/dist/esm/src/components/table/index.js +1 -0
  282. package/dist/esm/src/components/table/types.js +1 -0
  283. package/dist/esm/src/components/tag/Tag.js +65 -85
  284. package/dist/esm/src/components/textarea/Textarea.js +72 -0
  285. package/dist/esm/src/components/textarea/index.js +1 -0
  286. package/dist/esm/src/components/toggle/Toggle.js +28 -52
  287. package/dist/esm/src/components/tooltip/Tooltip.js +75 -108
  288. package/dist/esm/src/components/vertical-tab/VerticalTab.js +40 -0
  289. package/dist/esm/src/components/vertical-tab/index.js +1 -0
  290. package/dist/esm/src/constant/breakpoint.js +3 -3
  291. package/dist/esm/src/constant/date-picker.js +1 -1
  292. package/dist/esm/src/constant/size.js +1 -1
  293. package/dist/esm/src/hooks/dropdown/useDropdown.js +58 -60
  294. package/dist/esm/src/hooks/dropdown/useDropdownKeyboard.js +37 -40
  295. package/dist/esm/src/hooks/dropdown/useDropdownPosition.js +7 -9
  296. package/dist/esm/src/hooks/dropdown/useOutsideClick.js +11 -11
  297. package/dist/esm/src/hooks/dropdown/useScrollLock.js +23 -19
  298. package/dist/esm/src/hooks/dropdown/useWindowResize.js +12 -13
  299. package/dist/esm/src/hooks/useCallbackRef.js +2 -2
  300. package/dist/esm/src/hooks/useMediaQuery.js +8 -11
  301. package/dist/esm/src/hooks/useMergeRefs.js +2 -2
  302. package/dist/esm/src/utils/date-picker.js +29 -30
  303. package/dist/esm/src/utils/dropdown/dropdownUtils.js +39 -35
  304. package/dist/esm/src/utils/dropdown/multiSelect.js +25 -45
  305. package/dist/temp/assets/scripts/baseBox.js +53 -57
  306. package/dist/temp/assets/scripts/comboBox.js +62 -93
  307. package/dist/temp/assets/scripts/datePicker.js +286 -293
  308. package/dist/temp/assets/scripts/featuredIcon.js +40 -47
  309. package/dist/temp/assets/scripts/fileInput/const/classNames.js +4 -8
  310. package/dist/temp/assets/scripts/fileInput/fileInput.js +29 -33
  311. package/dist/temp/assets/scripts/fileInput/fileInputModel.js +24 -32
  312. package/dist/temp/assets/scripts/fileInput/fileInputView.js +52 -49
  313. package/dist/temp/assets/scripts/imageFileInput/ImageFileInput.js +57 -63
  314. package/dist/temp/assets/scripts/imageFileInput/ImageFileInputModel.js +79 -99
  315. package/dist/temp/assets/scripts/imageFileInput/ImageFileInputView.js +106 -104
  316. package/dist/temp/assets/scripts/imageFileInput/const/classNames.js +6 -10
  317. package/dist/temp/assets/scripts/index.d.ts +2 -0
  318. package/dist/temp/assets/scripts/index.js +2 -0
  319. package/dist/temp/assets/scripts/modal/Modal.js +46 -52
  320. package/dist/temp/assets/scripts/modal/ModalActions.js +42 -50
  321. package/dist/temp/assets/scripts/modal/ModalContent.js +21 -23
  322. package/dist/temp/assets/scripts/modal/ModalHeader.js +40 -46
  323. package/dist/temp/assets/scripts/modal/const/classNames.js +5 -5
  324. package/dist/temp/assets/scripts/modal/utils/contentUtils.js +1 -1
  325. package/dist/temp/assets/scripts/notification/FloatingNotification.js +80 -77
  326. package/dist/temp/assets/scripts/notification/FullWidthNotification.js +78 -62
  327. package/dist/temp/assets/scripts/notification/MessageNotification.js +81 -64
  328. package/dist/temp/assets/scripts/notification/Notification.js +48 -62
  329. package/dist/temp/assets/scripts/notification/const/classNames.js +1 -1
  330. package/dist/temp/assets/scripts/notification/const/icons.js +11 -25
  331. package/dist/temp/assets/scripts/notification/const/sizes.js +11 -11
  332. package/dist/temp/assets/scripts/notification/const/types.js +1 -1
  333. package/dist/temp/assets/scripts/notification/utils.js +31 -26
  334. package/dist/temp/assets/scripts/progress-bar/ProgressBar.js +124 -119
  335. package/dist/temp/assets/scripts/selectBox.js +81 -105
  336. package/dist/temp/assets/scripts/shared/ButtonCloseX.js +14 -13
  337. package/dist/temp/assets/scripts/slider.js +105 -113
  338. package/dist/temp/assets/scripts/tab.js +7 -9
  339. package/dist/temp/assets/scripts/table/Table.d.ts +41 -0
  340. package/dist/temp/assets/scripts/table/Table.js +378 -0
  341. package/dist/temp/assets/scripts/table/const/classNames.d.ts +27 -0
  342. package/dist/temp/assets/scripts/table/const/classNames.js +27 -0
  343. package/dist/temp/assets/scripts/table/const/index.d.ts +2 -0
  344. package/dist/temp/assets/scripts/table/const/index.js +2 -0
  345. package/dist/temp/assets/scripts/table/const/types.d.ts +23 -0
  346. package/dist/temp/assets/scripts/table/const/types.js +1 -0
  347. package/dist/temp/assets/scripts/table/index.d.ts +3 -0
  348. package/dist/temp/assets/scripts/table/index.js +8 -0
  349. package/dist/temp/assets/scripts/tag/Tag.js +104 -112
  350. package/dist/temp/assets/scripts/tag/const/classNames.js +3 -3
  351. package/dist/temp/assets/scripts/tag/const/sizes.js +4 -4
  352. package/dist/temp/assets/scripts/tooltip/Tooltip.js +125 -150
  353. package/dist/temp/assets/scripts/tooltip/TooltipLayerManager.js +20 -23
  354. package/dist/temp/assets/scripts/tooltip/const/classNames.js +1 -1
  355. package/dist/temp/assets/scripts/tooltip/const/constants.d.ts +1 -1
  356. package/dist/temp/assets/scripts/tooltip/const/constants.js +14 -14
  357. package/dist/temp/assets/scripts/tooltip/const/icons.js +7 -7
  358. package/dist/temp/assets/scripts/tooltip/const/templates.js +42 -13
  359. package/dist/temp/assets/scripts/tooltip/utils.js +13 -15
  360. package/dist/temp/assets/scripts/utils/debounce.js +5 -9
  361. package/dist/temp/assets/scripts/utils/unifiedBox/domRenderer.js +96 -105
  362. package/dist/temp/assets/scripts/utils/unifiedBox/dropdownModel.js +96 -121
  363. package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxController.js +170 -193
  364. package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +173 -250
  365. package/dist/temp/constant/color.js +1 -1
  366. package/dist/temp/index.d.ts +0 -27
  367. package/dist/temp/index.js +0 -27
  368. package/dist/temp/src/components/badge/Badge.js +3 -15
  369. package/dist/temp/src/components/badge/index.d.ts +0 -1
  370. package/dist/temp/src/components/badge/index.js +0 -1
  371. package/dist/temp/src/components/badge/utils.js +5 -7
  372. package/dist/{types/src/components/badge → temp/src/components/badge-group}/BadgeGroup.d.ts +1 -1
  373. package/dist/temp/src/components/badge-group/BadgeGroup.js +13 -0
  374. package/dist/temp/src/components/badge-group/index.d.ts +1 -0
  375. package/dist/temp/src/components/badge-group/index.js +1 -0
  376. package/dist/temp/src/components/bread-crumb/BreadCrumb.js +20 -0
  377. package/dist/temp/src/components/button/Button.js +21 -38
  378. package/dist/temp/src/components/button/ButtonCloseX.js +3 -15
  379. package/dist/temp/src/components/button/ButtonStepper.js +2 -3
  380. package/dist/temp/src/components/button/index.d.ts +0 -1
  381. package/dist/temp/src/components/button/index.js +0 -1
  382. package/dist/{types/src/components/button → temp/src/components/button-group}/ButtonGroup.d.ts +5 -4
  383. package/dist/temp/src/components/button-group/ButtonGroup.js +51 -0
  384. package/dist/temp/src/components/button-group/index.d.ts +1 -0
  385. package/dist/temp/src/components/button-group/index.js +1 -0
  386. package/dist/temp/src/components/carousel-arrow/CarouselArrow.js +9 -0
  387. package/dist/temp/src/components/carousel-arrow/index.d.ts +1 -0
  388. package/dist/temp/src/components/carousel-arrow/index.js +1 -0
  389. package/dist/temp/src/components/carousel-number-group/CarouselNumberGroup.js +10 -0
  390. package/dist/{types/src/components/carousel → temp/src/components/carousel-number-group}/index.d.ts +0 -1
  391. package/dist/temp/src/components/{carousel → carousel-number-group}/index.js +0 -1
  392. package/dist/temp/src/components/checkbox/Checkbox.js +2 -25
  393. package/dist/temp/src/components/checkbox/CheckboxInput.js +6 -29
  394. package/dist/temp/src/components/combo-box/ComboBox.js +165 -0
  395. package/dist/temp/src/components/data-grid/DataGrid.d.ts +28 -0
  396. package/dist/temp/src/components/data-grid/DataGrid.js +88 -0
  397. package/dist/temp/src/components/data-grid/DataGrid.types.d.ts +35 -0
  398. package/dist/temp/src/components/data-grid/DataGrid.types.js +1 -0
  399. package/dist/temp/src/components/data-grid/index.d.ts +2 -0
  400. package/dist/temp/src/components/data-grid/index.js +2 -0
  401. package/dist/temp/src/components/date-picker/CustomInput.js +5 -28
  402. package/dist/temp/src/components/date-picker/DatePicker.d.ts +11 -7
  403. package/dist/temp/src/components/date-picker/DatePicker.js +394 -221
  404. package/dist/temp/src/components/date-picker/index.d.ts +0 -2
  405. package/dist/temp/src/components/date-picker/index.js +0 -2
  406. package/dist/temp/src/components/date-picker/utils.js +1 -2
  407. package/dist/temp/src/components/divider/Divider.js +1 -15
  408. package/dist/temp/src/components/dot/Dot.js +2 -25
  409. package/dist/temp/src/components/dropdown/Dropdown.js +23 -39
  410. package/dist/temp/src/components/empty-state/EmptyState.js +3 -29
  411. package/dist/temp/src/components/featured-icon/FeaturedIcon.js +3 -26
  412. package/dist/temp/src/components/file-input/FileInput.d.ts +1 -1
  413. package/dist/temp/src/components/file-input/FileInput.js +33 -69
  414. package/dist/{types/src/components/tab → temp/src/components/horizontal-tab}/HorizontalTab.d.ts +1 -1
  415. package/dist/temp/src/components/horizontal-tab/HorizontalTab.js +24 -0
  416. package/dist/temp/src/components/horizontal-tab/index.d.ts +1 -0
  417. package/dist/temp/src/components/horizontal-tab/index.js +1 -0
  418. package/dist/temp/src/components/image-file-input/ImageFileInput.d.ts +1 -1
  419. package/dist/temp/src/components/image-file-input/ImageFileInput.js +45 -73
  420. package/dist/temp/src/components/image-file-input/components/ImagePreview.js +2 -14
  421. package/dist/temp/src/components/index.d.ts +17 -5
  422. package/dist/temp/src/components/index.js +17 -5
  423. package/dist/temp/src/components/{input → input-base}/InputBase.d.ts +1 -0
  424. package/dist/temp/src/components/input-base/InputBase.js +96 -0
  425. package/dist/temp/src/components/input-base/index.d.ts +1 -0
  426. package/dist/temp/src/components/input-base/index.js +1 -0
  427. package/dist/temp/src/components/modal/Modal.js +15 -41
  428. package/dist/temp/src/components/notification/FloatingNotification.js +11 -34
  429. package/dist/temp/src/components/notification/FullWidthNotification.js +12 -35
  430. package/dist/temp/src/components/notification/MessageNotification.js +8 -31
  431. package/dist/temp/src/components/notification/Notification.js +4 -27
  432. package/dist/{types/src/components/input → temp/src/components/number-input}/NumberInput.d.ts +1 -1
  433. package/dist/temp/src/components/number-input/NumberInput.js +68 -0
  434. package/dist/temp/src/components/number-input/index.d.ts +1 -0
  435. package/dist/temp/src/components/number-input/index.js +1 -0
  436. package/dist/temp/src/components/pagination/NavButton.js +19 -31
  437. package/dist/temp/src/components/pagination/Pagination.js +33 -60
  438. package/dist/temp/src/components/{input → password-input}/PasswordInput.d.ts +1 -1
  439. package/dist/temp/src/components/password-input/PasswordInput.js +28 -0
  440. package/dist/temp/src/components/password-input/index.d.ts +1 -0
  441. package/dist/temp/src/components/password-input/index.js +1 -0
  442. package/dist/temp/src/components/progress-bar/ProgressBar.js +10 -22
  443. package/dist/temp/src/components/progress-bar/components/SegmentBar.js +5 -6
  444. package/dist/temp/src/components/progress-bar/components/SegmentLabels.js +11 -24
  445. package/dist/temp/src/components/progress-bar/hooks/useProgressBar.js +36 -45
  446. package/dist/temp/src/components/progress-bar/utils.js +8 -8
  447. package/dist/temp/src/components/progress-circle/ProgressCircle.js +5 -17
  448. package/dist/temp/src/components/radio/Radio.js +2 -25
  449. package/dist/temp/src/components/radio/RadioInput.js +2 -25
  450. package/dist/{types/src/components/date-picker → temp/src/components/range-date-picker}/RangeDatePicker.d.ts +1 -1
  451. package/dist/temp/src/components/range-date-picker/RangeDatePicker.js +104 -0
  452. package/dist/temp/src/components/range-date-picker/index.d.ts +1 -0
  453. package/dist/temp/src/components/range-date-picker/index.js +1 -0
  454. package/dist/{types/src/components/date-picker → temp/src/components/range-date-picker-with-buttons}/RangeDatePickerWithButtons.d.ts +1 -1
  455. package/dist/temp/src/components/range-date-picker-with-buttons/RangeDatePickerWithButtons.js +43 -0
  456. package/dist/temp/src/components/range-date-picker-with-buttons/index.d.ts +1 -0
  457. package/dist/temp/src/components/range-date-picker-with-buttons/index.js +1 -0
  458. package/dist/temp/src/components/select/Select.js +3 -26
  459. package/dist/temp/src/components/select-box/SelectBox.js +130 -0
  460. package/dist/temp/src/components/select-dropdown/SelectDropdown.js +11 -34
  461. package/dist/temp/src/components/shared/hintText/HintText.js +2 -25
  462. package/dist/temp/src/components/shared/label/Label.js +2 -25
  463. package/dist/temp/src/components/slider/Slider.js +15 -16
  464. package/dist/temp/src/components/spinner/Spinner.js +4 -17
  465. package/dist/temp/src/components/switch/Switch.js +17 -30
  466. package/dist/temp/src/components/tab/TabButton.js +6 -29
  467. package/dist/temp/src/components/tab/index.d.ts +0 -2
  468. package/dist/temp/src/components/tab/index.js +0 -2
  469. package/dist/temp/src/components/table/Table.d.ts +46 -0
  470. package/dist/temp/src/components/table/Table.js +115 -0
  471. package/dist/temp/src/components/table/index.d.ts +1 -0
  472. package/dist/temp/src/components/table/index.js +1 -0
  473. package/dist/temp/src/components/table/types.d.ts +45 -0
  474. package/dist/temp/src/components/table/types.js +1 -0
  475. package/dist/temp/src/components/tag/Tag.js +39 -53
  476. package/dist/temp/src/components/textarea/Textarea.js +34 -0
  477. package/dist/temp/src/components/textarea/index.d.ts +1 -0
  478. package/dist/temp/src/components/textarea/index.js +1 -0
  479. package/dist/temp/src/components/toggle/Toggle.js +3 -26
  480. package/dist/temp/src/components/tooltip/Tooltip.js +49 -67
  481. package/dist/temp/src/components/{tab → vertical-tab}/VerticalTab.d.ts +1 -1
  482. package/dist/temp/src/components/vertical-tab/VerticalTab.js +20 -0
  483. package/dist/temp/src/components/vertical-tab/index.d.ts +1 -0
  484. package/dist/temp/src/components/vertical-tab/index.js +1 -0
  485. package/dist/temp/src/constant/breakpoint.js +3 -3
  486. package/dist/temp/src/constant/date-picker.js +1 -1
  487. package/dist/temp/src/constant/size.js +1 -1
  488. package/dist/temp/src/hooks/dropdown/useDropdown.js +37 -37
  489. package/dist/temp/src/hooks/dropdown/useDropdownKeyboard.js +26 -27
  490. package/dist/temp/src/hooks/dropdown/useDropdownPosition.js +7 -7
  491. package/dist/temp/src/hooks/dropdown/useOutsideClick.js +7 -7
  492. package/dist/temp/src/hooks/dropdown/useScrollLock.js +17 -17
  493. package/dist/temp/src/hooks/dropdown/useWindowResize.js +10 -11
  494. package/dist/temp/src/hooks/useCallbackRef.js +2 -2
  495. package/dist/temp/src/hooks/useMediaQuery.js +8 -9
  496. package/dist/temp/src/hooks/useMergeRefs.js +2 -2
  497. package/dist/temp/src/utils/date-picker.js +23 -25
  498. package/dist/temp/src/utils/dropdown/dropdownUtils.js +26 -27
  499. package/dist/temp/src/utils/dropdown/multiSelect.js +23 -25
  500. package/dist/types/assets/scripts/index.d.ts +2 -0
  501. package/dist/types/assets/scripts/table/Table.d.ts +41 -0
  502. package/dist/types/assets/scripts/table/const/classNames.d.ts +27 -0
  503. package/dist/types/assets/scripts/table/const/index.d.ts +2 -0
  504. package/dist/types/assets/scripts/table/const/types.d.ts +23 -0
  505. package/dist/types/assets/scripts/table/index.d.ts +3 -0
  506. package/dist/types/assets/scripts/tooltip/const/constants.d.ts +1 -1
  507. package/dist/types/index.d.ts +0 -27
  508. package/dist/types/src/components/badge/index.d.ts +0 -1
  509. package/dist/{temp/src/components/badge → types/src/components/badge-group}/BadgeGroup.d.ts +1 -1
  510. package/dist/types/src/components/badge-group/index.d.ts +1 -0
  511. package/dist/types/src/components/button/index.d.ts +0 -1
  512. package/dist/{temp/src/components/button → types/src/components/button-group}/ButtonGroup.d.ts +5 -4
  513. package/dist/types/src/components/button-group/index.d.ts +1 -0
  514. package/dist/types/src/components/carousel-arrow/index.d.ts +1 -0
  515. package/dist/{temp/src/components/carousel → types/src/components/carousel-number-group}/index.d.ts +0 -1
  516. package/dist/types/src/components/data-grid/DataGrid.d.ts +28 -0
  517. package/dist/types/src/components/data-grid/DataGrid.types.d.ts +35 -0
  518. package/dist/types/src/components/data-grid/index.d.ts +2 -0
  519. package/dist/types/src/components/date-picker/DatePicker.d.ts +11 -7
  520. package/dist/types/src/components/date-picker/index.d.ts +0 -2
  521. package/dist/types/src/components/file-input/FileInput.d.ts +1 -1
  522. package/dist/{temp/src/components/tab → types/src/components/horizontal-tab}/HorizontalTab.d.ts +1 -1
  523. package/dist/types/src/components/horizontal-tab/index.d.ts +1 -0
  524. package/dist/types/src/components/image-file-input/ImageFileInput.d.ts +1 -1
  525. package/dist/types/src/components/index.d.ts +17 -5
  526. package/dist/types/src/components/{input → input-base}/InputBase.d.ts +1 -0
  527. package/dist/types/src/components/input-base/index.d.ts +1 -0
  528. package/dist/{temp/src/components/input → types/src/components/number-input}/NumberInput.d.ts +1 -1
  529. package/dist/types/src/components/number-input/index.d.ts +1 -0
  530. package/dist/types/src/components/{input → password-input}/PasswordInput.d.ts +1 -1
  531. package/dist/types/src/components/password-input/index.d.ts +1 -0
  532. package/dist/{temp/src/components/date-picker → types/src/components/range-date-picker}/RangeDatePicker.d.ts +1 -1
  533. package/dist/types/src/components/range-date-picker/index.d.ts +1 -0
  534. package/dist/{temp/src/components/date-picker → types/src/components/range-date-picker-with-buttons}/RangeDatePickerWithButtons.d.ts +1 -1
  535. package/dist/types/src/components/range-date-picker-with-buttons/index.d.ts +1 -0
  536. package/dist/types/src/components/tab/index.d.ts +0 -2
  537. package/dist/types/src/components/table/Table.d.ts +46 -0
  538. package/dist/types/src/components/table/index.d.ts +1 -0
  539. package/dist/types/src/components/table/types.d.ts +45 -0
  540. package/dist/types/src/components/textarea/index.d.ts +1 -0
  541. package/dist/types/src/components/{tab → vertical-tab}/VerticalTab.d.ts +1 -1
  542. package/dist/types/src/components/vertical-tab/index.d.ts +1 -0
  543. package/dist/ui-admin/assets/styles/style.css +625 -165
  544. package/package.json +2 -1
  545. package/dist/cjs/src/components/badge/BadgeGroup.js +0 -62
  546. package/dist/cjs/src/components/breadcrumb/BreadCrumb.js +0 -66
  547. package/dist/cjs/src/components/button/ButtonGroup.js +0 -116
  548. package/dist/cjs/src/components/carousel/CarouselArrow.js +0 -41
  549. package/dist/cjs/src/components/carousel/CarouselNumberGroup.js +0 -45
  550. package/dist/cjs/src/components/combobox/ComboBox.js +0 -349
  551. package/dist/cjs/src/components/date-picker/RangeDatePicker.js +0 -154
  552. package/dist/cjs/src/components/date-picker/RangeDatePickerWithButtons.js +0 -99
  553. package/dist/cjs/src/components/input/InputBase.js +0 -229
  554. package/dist/cjs/src/components/input/NumberInput.js +0 -132
  555. package/dist/cjs/src/components/input/PasswordInput.js +0 -72
  556. package/dist/cjs/src/components/input/Textarea.js +0 -107
  557. package/dist/cjs/src/components/input/index.js +0 -49
  558. package/dist/cjs/src/components/selectbox/SelectBox.js +0 -318
  559. package/dist/cjs/src/components/tab/HorizontalTab.js +0 -68
  560. package/dist/cjs/src/components/tab/VerticalTab.js +0 -60
  561. package/dist/esm/src/components/badge/BadgeGroup.js +0 -55
  562. package/dist/esm/src/components/breadcrumb/BreadCrumb.js +0 -59
  563. package/dist/esm/src/components/button/ButtonGroup.js +0 -108
  564. package/dist/esm/src/components/carousel/CarouselArrow.js +0 -33
  565. package/dist/esm/src/components/carousel/CarouselNumberGroup.js +0 -37
  566. package/dist/esm/src/components/carousel/index.js +0 -2
  567. package/dist/esm/src/components/combobox/ComboBox.js +0 -343
  568. package/dist/esm/src/components/date-picker/RangeDatePicker.js +0 -148
  569. package/dist/esm/src/components/date-picker/RangeDatePickerWithButtons.js +0 -93
  570. package/dist/esm/src/components/input/InputBase.js +0 -223
  571. package/dist/esm/src/components/input/PasswordInput.js +0 -65
  572. package/dist/esm/src/components/input/Textarea.js +0 -100
  573. package/dist/esm/src/components/input/index.js +0 -4
  574. package/dist/esm/src/components/selectbox/SelectBox.js +0 -312
  575. package/dist/esm/src/components/tab/HorizontalTab.js +0 -61
  576. package/dist/esm/src/components/tab/VerticalTab.js +0 -52
  577. package/dist/temp/src/components/badge/BadgeGroup.js +0 -36
  578. package/dist/temp/src/components/breadcrumb/BreadCrumb.js +0 -33
  579. package/dist/temp/src/components/button/ButtonGroup.js +0 -72
  580. package/dist/temp/src/components/carousel/CarouselArrow.js +0 -24
  581. package/dist/temp/src/components/carousel/CarouselNumberGroup.js +0 -24
  582. package/dist/temp/src/components/combobox/ComboBox.js +0 -199
  583. package/dist/temp/src/components/date-picker/RangeDatePicker.js +0 -117
  584. package/dist/temp/src/components/date-picker/RangeDatePickerWithButtons.js +0 -55
  585. package/dist/temp/src/components/input/InputBase.js +0 -121
  586. package/dist/temp/src/components/input/NumberInput.js +0 -93
  587. package/dist/temp/src/components/input/PasswordInput.js +0 -51
  588. package/dist/temp/src/components/input/Textarea.js +0 -60
  589. package/dist/temp/src/components/input/index.d.ts +0 -4
  590. package/dist/temp/src/components/input/index.js +0 -4
  591. package/dist/temp/src/components/selectbox/SelectBox.js +0 -163
  592. package/dist/temp/src/components/tab/HorizontalTab.js +0 -37
  593. package/dist/temp/src/components/tab/VerticalTab.js +0 -32
  594. package/dist/types/src/components/input/index.d.ts +0 -4
  595. /package/dist/cjs/src/components/{breadcrumb → bread-crumb}/index.js +0 -0
  596. /package/dist/cjs/src/components/{combobox → combo-box}/index.js +0 -0
  597. /package/dist/cjs/src/components/{selectbox → select-box}/index.js +0 -0
  598. /package/dist/esm/src/components/{breadcrumb → bread-crumb}/index.js +0 -0
  599. /package/dist/esm/src/components/{combobox → combo-box}/index.js +0 -0
  600. /package/dist/esm/src/components/{selectbox → select-box}/index.js +0 -0
  601. /package/dist/temp/src/components/{breadcrumb → bread-crumb}/BreadCrumb.d.ts +0 -0
  602. /package/dist/temp/src/components/{breadcrumb → bread-crumb}/index.d.ts +0 -0
  603. /package/dist/temp/src/components/{breadcrumb → bread-crumb}/index.js +0 -0
  604. /package/dist/temp/src/components/{carousel → carousel-arrow}/CarouselArrow.d.ts +0 -0
  605. /package/dist/temp/src/components/{carousel → carousel-number-group}/CarouselNumberGroup.d.ts +0 -0
  606. /package/dist/temp/src/components/{combobox → combo-box}/ComboBox.d.ts +0 -0
  607. /package/dist/temp/src/components/{combobox → combo-box}/index.d.ts +0 -0
  608. /package/dist/temp/src/components/{combobox → combo-box}/index.js +0 -0
  609. /package/dist/temp/src/components/{selectbox → select-box}/SelectBox.d.ts +0 -0
  610. /package/dist/temp/src/components/{selectbox → select-box}/index.d.ts +0 -0
  611. /package/dist/temp/src/components/{selectbox → select-box}/index.js +0 -0
  612. /package/dist/temp/src/components/{input → textarea}/Textarea.d.ts +0 -0
  613. /package/dist/types/src/components/{breadcrumb → bread-crumb}/BreadCrumb.d.ts +0 -0
  614. /package/dist/types/src/components/{breadcrumb → bread-crumb}/index.d.ts +0 -0
  615. /package/dist/types/src/components/{carousel → carousel-arrow}/CarouselArrow.d.ts +0 -0
  616. /package/dist/types/src/components/{carousel → carousel-number-group}/CarouselNumberGroup.d.ts +0 -0
  617. /package/dist/types/src/components/{combobox → combo-box}/ComboBox.d.ts +0 -0
  618. /package/dist/types/src/components/{combobox → combo-box}/index.d.ts +0 -0
  619. /package/dist/types/src/components/{selectbox → select-box}/SelectBox.d.ts +0 -0
  620. /package/dist/types/src/components/{selectbox → select-box}/index.d.ts +0 -0
  621. /package/dist/types/src/components/{input → textarea}/Textarea.d.ts +0 -0
@@ -1,20 +1,9 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  /**
13
2
  * SelectBox 통합 컨트롤러
14
3
  * 이벤트 처리, UI 상태 제어, 사용자 인터랙션 담당
15
4
  */
16
- var UnifiedBoxController = /** @class */ (function () {
17
- function UnifiedBoxController(config) {
5
+ export class UnifiedBoxController {
6
+ constructor(config) {
18
7
  this.isOpen = false;
19
8
  this.focusedIndex = -1;
20
9
  this.isKeyboardNavigation = false;
@@ -34,8 +23,7 @@ var UnifiedBoxController = /** @class */ (function () {
34
23
  /**
35
24
  * 상태 변경 리스너 (Observer Pattern)
36
25
  */
37
- UnifiedBoxController.prototype.onStateChange = function (newState, changedFields) {
38
- var _a, _b;
26
+ onStateChange(newState, changedFields) {
39
27
  // 드롭다운 열기/닫기 상태 동기화
40
28
  if (changedFields.includes('isOpen')) {
41
29
  this.isOpen = newState.isOpen;
@@ -52,46 +40,43 @@ var UnifiedBoxController = /** @class */ (function () {
52
40
  }
53
41
  // 선택 상태 변경 알림
54
42
  if (changedFields.includes('selectedValues')) {
55
- (_b = (_a = this.config).onSelectionChange) === null || _b === void 0 ? void 0 : _b.call(_a, newState.selectedValues);
43
+ this.config.onSelectionChange?.(newState.selectedValues);
56
44
  }
57
45
  // 검색어 변경 알림은 UnifiedSelectBox에서 디바운싱 적용 후 처리하므로 여기서는 호출하지 않음
58
46
  // (디바운싱이 적용되지 않은 즉시 호출을 방지하기 위해)
59
- };
47
+ }
60
48
  /**
61
49
  * 이벤트 핸들러 설정
62
50
  */
63
- UnifiedBoxController.prototype.setupEventHandlers = function () {
64
- var _this = this;
51
+ setupEventHandlers() {
65
52
  // 외부 클릭 핸들러
66
- this.outsideClickHandler = function (e) {
67
- var target = e.target;
68
- var isInsideTrigger = _this.config.triggerElement.contains(target);
69
- var isInsideDropdown = _this.config.dropdownElement.contains(target);
53
+ this.outsideClickHandler = (e) => {
54
+ const target = e.target;
55
+ const isInsideTrigger = this.config.triggerElement.contains(target);
56
+ const isInsideDropdown = this.config.dropdownElement.contains(target);
70
57
  if (isInsideTrigger || isInsideDropdown) {
71
58
  return;
72
59
  }
73
- _this.close();
60
+ this.close();
74
61
  };
75
62
  // 키보드 핸들러
76
- this.keyDownHandler = function (e) {
77
- _this.handleKeyDown(e);
63
+ this.keyDownHandler = (e) => {
64
+ this.handleKeyDown(e);
78
65
  };
79
66
  if (this.config.type !== 'combobox') {
80
- this.config.triggerElement.addEventListener('click', function () {
81
- var _a, _b;
82
- if (!_this.config.disabled && ((_b = (_a = _this.config).canToggle) === null || _b === void 0 ? void 0 : _b.call(_a)) !== false) {
83
- _this.toggle();
67
+ this.config.triggerElement.addEventListener('click', () => {
68
+ if (!this.config.disabled && this.config.canToggle?.() !== false) {
69
+ this.toggle();
84
70
  }
85
71
  });
86
72
  }
87
73
  // 키보드 이벤트
88
74
  this.config.triggerElement.addEventListener('keydown', this.keyDownHandler);
89
- };
75
+ }
90
76
  /**
91
77
  * 드롭다운 열기
92
78
  */
93
- UnifiedBoxController.prototype.open = function () {
94
- var _a, _b;
79
+ open() {
95
80
  if (this.config.disabled || this.isOpen)
96
81
  return;
97
82
  this.config.model.setOpen(true);
@@ -99,13 +84,12 @@ var UnifiedBoxController = /** @class */ (function () {
99
84
  this.enableOutsideClick();
100
85
  this.enableScrollLock();
101
86
  this.enableScrollBottomDetection(); // 스크롤 감지 활성화
102
- (_b = (_a = this.config).onOpen) === null || _b === void 0 ? void 0 : _b.call(_a);
103
- };
87
+ this.config.onOpen?.();
88
+ }
104
89
  /**
105
90
  * 드롭다운 닫기
106
91
  */
107
- UnifiedBoxController.prototype.close = function () {
108
- var _a, _b;
92
+ close() {
109
93
  if (!this.isOpen)
110
94
  return;
111
95
  this.config.model.setOpen(false);
@@ -113,24 +97,24 @@ var UnifiedBoxController = /** @class */ (function () {
113
97
  this.disableScrollLock();
114
98
  this.disableScrollBottomDetection(); // 스크롤 감지 비활성화
115
99
  this.isKeyboardNavigation = false;
116
- (_b = (_a = this.config).onClose) === null || _b === void 0 ? void 0 : _b.call(_a);
117
- };
100
+ this.config.onClose?.();
101
+ }
118
102
  /**
119
103
  * 드롭다운 토글
120
104
  */
121
- UnifiedBoxController.prototype.toggle = function () {
105
+ toggle() {
122
106
  if (this.isOpen) {
123
107
  this.close();
124
108
  }
125
109
  else {
126
110
  this.open();
127
111
  }
128
- };
112
+ }
129
113
  /**
130
114
  * 키보드 입력 처리
131
115
  */
132
- UnifiedBoxController.prototype.handleKeyDown = function (event) {
133
- var state = this.config.model.getState();
116
+ handleKeyDown(event) {
117
+ const state = this.config.model.getState();
134
118
  switch (event.key) {
135
119
  case 'ArrowDown':
136
120
  event.preventDefault();
@@ -152,7 +136,7 @@ var UnifiedBoxController = /** @class */ (function () {
152
136
  case 'Enter':
153
137
  event.preventDefault();
154
138
  if (state.isOpen && state.focusedIndex >= 0 && state.focusedIndex < state.filteredOptions.length) {
155
- var focusedOption = state.filteredOptions[state.focusedIndex];
139
+ const focusedOption = state.filteredOptions[state.focusedIndex];
156
140
  this.config.model.toggleOption(focusedOption.id);
157
141
  }
158
142
  break;
@@ -169,17 +153,17 @@ var UnifiedBoxController = /** @class */ (function () {
169
153
  }
170
154
  break;
171
155
  }
172
- };
156
+ }
173
157
  /**
174
158
  * 옵션 검색
175
159
  */
176
- UnifiedBoxController.prototype.searchOption = function (char) {
177
- var state = this.config.model.getState();
178
- var options = state.filteredOptions;
179
- var startIndex = this.focusedIndex >= 0 ? this.focusedIndex + 1 : 0;
180
- for (var i = 0; i < options.length; i++) {
181
- var index = (startIndex + i) % options.length;
182
- var option = options[index];
160
+ searchOption(char) {
161
+ const state = this.config.model.getState();
162
+ const options = state.filteredOptions;
163
+ const startIndex = this.focusedIndex >= 0 ? this.focusedIndex + 1 : 0;
164
+ for (let i = 0; i < options.length; i++) {
165
+ const index = (startIndex + i) % options.length;
166
+ const option = options[index];
183
167
  // option.label이 존재하고 문자열인지 확인
184
168
  if (option && option.label && typeof option.label === 'string') {
185
169
  if (option.label.toLowerCase().startsWith(char.toLowerCase())) {
@@ -188,19 +172,19 @@ var UnifiedBoxController = /** @class */ (function () {
188
172
  }
189
173
  }
190
174
  }
191
- };
175
+ }
192
176
  /**
193
177
  * 드롭다운 표시/숨김 업데이트
194
178
  */
195
- UnifiedBoxController.prototype.updateDropdownVisibility = function (isOpen) {
179
+ updateDropdownVisibility(isOpen) {
196
180
  this.config.dropdownElement.style.display = isOpen ? 'block' : 'none';
197
- };
181
+ }
198
182
  /**
199
183
  * 옵션 표시 업데이트
200
184
  */
201
- UnifiedBoxController.prototype.updateOptionsDisplay = function (state) {
202
- var hasFilteredOptions = state.filteredOptions.length > 0;
203
- var countChanged = this.lastFilteredOptionsCount !== state.filteredOptions.length;
185
+ updateOptionsDisplay(state) {
186
+ const hasFilteredOptions = state.filteredOptions.length > 0;
187
+ const countChanged = this.lastFilteredOptionsCount !== state.filteredOptions.length;
204
188
  // 빈 옵션일 때 해시 초기화 및 전체 렌더링
205
189
  if (!hasFilteredOptions) {
206
190
  this.lastFilteredOptionsHash = '';
@@ -208,10 +192,10 @@ var UnifiedBoxController = /** @class */ (function () {
208
192
  }
209
193
  else {
210
194
  // 옵션 개수가 변경되었는지 먼저 확인 (빠른 체크)
211
- var optionsChanged = countChanged;
195
+ let optionsChanged = countChanged;
212
196
  // 개수가 변경되지 않았을 때만 해시 계산 (O(n) 연산 최소화)
213
197
  if (!optionsChanged) {
214
- var currentHash = state.filteredOptions.map(function (opt) { return opt.id; }).join(',');
198
+ const currentHash = state.filteredOptions.map((opt) => opt.id).join(',');
215
199
  optionsChanged = this.lastFilteredOptionsHash !== currentHash;
216
200
  if (optionsChanged) {
217
201
  this.lastFilteredOptionsHash = currentHash;
@@ -219,18 +203,17 @@ var UnifiedBoxController = /** @class */ (function () {
219
203
  }
220
204
  else {
221
205
  // 개수가 변경되었으면 해시도 재계산
222
- this.lastFilteredOptionsHash = state.filteredOptions.map(function (opt) { return opt.id; }).join(',');
206
+ this.lastFilteredOptionsHash = state.filteredOptions.map((opt) => opt.id).join(',');
223
207
  }
224
208
  // 옵션이 변경되지 않았고 선택 상태만 변경된 경우 DOM 조작만 수행
225
209
  if (!optionsChanged) {
226
210
  // 선택 상태만 업데이트 (전체 재렌더링 방지)
227
- this.optionElements.forEach(function (element, index) {
228
- var _a;
229
- var optionId = (_a = state.filteredOptions[index]) === null || _a === void 0 ? void 0 : _a.id;
211
+ this.optionElements.forEach((element, index) => {
212
+ const optionId = state.filteredOptions[index]?.id;
230
213
  if (!optionId)
231
214
  return;
232
- var isSelected = state.selectedValues.includes(optionId);
233
- var isFocused = index === state.focusedIndex;
215
+ const isSelected = state.selectedValues.includes(optionId);
216
+ const isFocused = index === state.focusedIndex;
234
217
  // 선택 상태 업데이트
235
218
  if (isSelected) {
236
219
  element.classList.add('ncua-select-dropdown__option--selected');
@@ -252,25 +235,29 @@ var UnifiedBoxController = /** @class */ (function () {
252
235
  }
253
236
  }
254
237
  // 옵션이 변경되었거나 빈 경우에만 전체 렌더링
255
- var renderableOptions = state.filteredOptions.map(function (option, index) { return (__assign(__assign({}, option), { selected: state.selectedValues.includes(option.id), focused: index === state.focusedIndex })); });
256
- var showNoResults = state.filteredOptions.length === 0 && (state.showAllItems || state.searchValue.length > 0);
257
- var optionsList = this.config.dropdownElement.querySelector('.ncua-select-dropdown__options');
238
+ const renderableOptions = state.filteredOptions.map((option, index) => ({
239
+ ...option,
240
+ selected: state.selectedValues.includes(option.id),
241
+ focused: index === state.focusedIndex,
242
+ }));
243
+ const showNoResults = state.filteredOptions.length === 0 && (state.showAllItems || state.searchValue.length > 0);
244
+ const optionsList = this.config.dropdownElement.querySelector('.ncua-select-dropdown__options');
258
245
  if (optionsList) {
259
246
  this.optionElements = this.config.renderer.updateOptionsList(optionsList, renderableOptions, this.config.renderConfig, showNoResults);
260
247
  // 옵션 클릭 이벤트 등록
261
248
  this.attachOptionEventHandlers();
262
249
  // 캐시 업데이트 (이미 위에서 업데이트했으면 다시 업데이트하지 않음)
263
250
  if (!this.lastFilteredOptionsHash) {
264
- this.lastFilteredOptionsHash = state.filteredOptions.map(function (opt) { return opt.id; }).join(',');
251
+ this.lastFilteredOptionsHash = state.filteredOptions.map((opt) => opt.id).join(',');
265
252
  }
266
253
  this.lastFilteredOptionsCount = state.filteredOptions.length;
267
254
  }
268
- };
255
+ }
269
256
  /**
270
257
  * 포커스된 옵션 업데이트
271
258
  */
272
- UnifiedBoxController.prototype.updateFocusedOption = function (focusedIndex) {
273
- this.optionElements.forEach(function (element, index) {
259
+ updateFocusedOption(focusedIndex) {
260
+ this.optionElements.forEach((element, index) => {
274
261
  if (index === focusedIndex) {
275
262
  element.classList.add('ncua-select-dropdown__option--focused');
276
263
  element.scrollIntoView({ block: 'nearest' });
@@ -279,102 +266,97 @@ var UnifiedBoxController = /** @class */ (function () {
279
266
  element.classList.remove('ncua-select-dropdown__option--focused');
280
267
  }
281
268
  });
282
- };
269
+ }
283
270
  /**
284
271
  * 옵션 클릭 이벤트 핸들러 등록
285
272
  */
286
- UnifiedBoxController.prototype.attachOptionEventHandlers = function () {
287
- var _this = this;
273
+ attachOptionEventHandlers() {
288
274
  // 기존 이벤트 리스너 제거
289
275
  this.removeOptionEventHandlers();
290
- this.optionElements.forEach(function (element, index) {
291
- var optionId = element.getAttribute('data-value');
276
+ this.optionElements.forEach((element, index) => {
277
+ const optionId = element.getAttribute('data-value');
292
278
  // data-value가 없거나 빈 문자열인 경우에도 처리
293
279
  if (optionId === null)
294
280
  return;
295
281
  // 클릭 이벤트 핸들러 생성 및 저장
296
- var clickHandler = function (event) {
282
+ const clickHandler = (event) => {
297
283
  event.preventDefault();
298
284
  event.stopPropagation();
299
- _this.config.model.toggleOption(optionId);
285
+ this.config.model.toggleOption(optionId);
300
286
  // 단일 선택 모드에서는 선택 후 드롭다운 닫기
301
- if (!_this.config.model.isMultiple()) {
302
- setTimeout(function () { return _this.close(); }, 100);
287
+ if (!this.config.model.isMultiple()) {
288
+ setTimeout(() => this.close(), 100);
303
289
  }
304
290
  };
305
- var hoverHandler = function () {
306
- if (!_this.isKeyboardNavigation) {
307
- _this.config.model.setFocusedIndex(index);
291
+ const hoverHandler = () => {
292
+ if (!this.isKeyboardNavigation) {
293
+ this.config.model.setFocusedIndex(index);
308
294
  }
309
295
  };
310
296
  // 이벤트 리스너 등록
311
297
  element.addEventListener('click', clickHandler);
312
298
  element.addEventListener('mouseenter', hoverHandler);
313
299
  // 나중에 제거할 수 있도록 핸들러 저장
314
- _this.handlerMap.set(element, { click: clickHandler, hover: hoverHandler });
300
+ this.handlerMap.set(element, { click: clickHandler, hover: hoverHandler });
315
301
  });
316
302
  // 마우스 이동 감지 (한 번만 등록)
317
303
  if (!this.mouseMoveHandlerAttached) {
318
- this.config.dropdownElement.addEventListener('mousemove', function () {
319
- _this.isKeyboardNavigation = false;
304
+ this.config.dropdownElement.addEventListener('mousemove', () => {
305
+ this.isKeyboardNavigation = false;
320
306
  });
321
307
  this.mouseMoveHandlerAttached = true;
322
308
  }
323
- };
309
+ }
324
310
  /**
325
311
  * 옵션 이벤트 핸들러 제거
326
312
  */
327
- UnifiedBoxController.prototype.removeOptionEventHandlers = function () {
328
- var _this = this;
329
- this.optionElements.forEach(function (element) {
330
- var handlers = _this.handlerMap.get(element);
313
+ removeOptionEventHandlers() {
314
+ this.optionElements.forEach((element) => {
315
+ const handlers = this.handlerMap.get(element);
331
316
  if (handlers) {
332
317
  element.removeEventListener('click', handlers.click);
333
318
  element.removeEventListener('mouseenter', handlers.hover);
334
- _this.handlerMap.delete(element);
319
+ this.handlerMap.delete(element);
335
320
  }
336
321
  });
337
- };
322
+ }
338
323
  /**
339
324
  * 옵션 업데이트가 필요한지 판단
340
325
  */
341
- UnifiedBoxController.prototype.shouldUpdateOptions = function (changedFields) {
342
- return changedFields.some(function (field) {
343
- return ['options', 'filteredOptions', 'selectedValues', 'showAllItems'].includes(field);
344
- });
345
- };
326
+ shouldUpdateOptions(changedFields) {
327
+ return changedFields.some((field) => ['options', 'filteredOptions', 'selectedValues', 'showAllItems'].includes(field));
328
+ }
346
329
  /**
347
330
  * 외부 클릭 감지 활성화
348
331
  */
349
- UnifiedBoxController.prototype.enableOutsideClick = function () {
332
+ enableOutsideClick() {
350
333
  document.addEventListener('mousedown', this.outsideClickHandler);
351
- };
334
+ }
352
335
  /**
353
336
  * 외부 클릭 감지 비활성화
354
337
  */
355
- UnifiedBoxController.prototype.disableOutsideClick = function () {
338
+ disableOutsideClick() {
356
339
  document.removeEventListener('mousedown', this.outsideClickHandler);
357
- };
340
+ }
358
341
  /**
359
342
  * 스크롤 잠금 활성화 (드롭다운 내부 스크롤은 허용)
360
343
  * ComboBox 또는 multiple 모드에서는 스크롤 잠금 비활성화
361
344
  */
362
- UnifiedBoxController.prototype.enableScrollLock = function () {
363
- var _this = this;
345
+ enableScrollLock() {
364
346
  // ComboBox 또는 multiple 모드에서는 스크롤 잠금 비활성화
365
347
  if (this.config.type === 'combobox' || this.config.model.isMultiple()) {
366
348
  return;
367
349
  }
368
350
  this.scrollPosition = window.pageYOffset;
369
351
  this.scrollLockHandlers = {
370
- wheel: function (e) {
352
+ wheel: (e) => {
371
353
  // 드롭다운 내부에서 발생한 이벤트 처리
372
- if (_this.config.dropdownElement && _this.config.dropdownElement.contains(e.target)) {
354
+ if (this.config.dropdownElement && this.config.dropdownElement.contains(e.target)) {
373
355
  // 드롭다운 내부의 스크롤 가능한 요소 찾기
374
- var scrollableElement = _this.findScrollableParent(e.target, _this.config.dropdownElement);
356
+ const scrollableElement = this.findScrollableParent(e.target, this.config.dropdownElement);
375
357
  if (scrollableElement) {
376
- var deltaY = e.deltaY;
377
- var scrollTop = scrollableElement.scrollTop, scrollHeight = scrollableElement.scrollHeight, clientHeight = scrollableElement.clientHeight;
358
+ const { deltaY } = e;
359
+ const { scrollTop, scrollHeight, clientHeight } = scrollableElement;
378
360
  // 스크롤이 위쪽 끝에 도달했고 위로 스크롤하려는 경우
379
361
  if (scrollTop === 0 && deltaY < 0) {
380
362
  e.preventDefault();
@@ -392,10 +374,10 @@ var UnifiedBoxController = /** @class */ (function () {
392
374
  // 드롭다운 외부의 모든 스크롤 방지
393
375
  e.preventDefault();
394
376
  },
395
- touchmove: function (e) {
377
+ touchmove: (e) => {
396
378
  // 드롭다운 내부에서의 터치 스크롤 처리
397
- if (_this.config.dropdownElement && _this.config.dropdownElement.contains(e.target)) {
398
- var scrollableElement = _this.findScrollableParent(e.target, _this.config.dropdownElement);
379
+ if (this.config.dropdownElement && this.config.dropdownElement.contains(e.target)) {
380
+ const scrollableElement = this.findScrollableParent(e.target, this.config.dropdownElement);
399
381
  if (scrollableElement) {
400
382
  // 터치 스크롤은 브라우저가 자동으로 처리하도록 허용
401
383
  return;
@@ -404,9 +386,9 @@ var UnifiedBoxController = /** @class */ (function () {
404
386
  // 드롭다운 외부의 터치 스크롤 방지
405
387
  e.preventDefault();
406
388
  },
407
- keydown: function (e) {
389
+ keydown: (e) => {
408
390
  // 페이지 스크롤 키만 막기 (화살표 키는 드롭다운 네비게이션에서 처리)
409
- var keys = ['PageUp', 'PageDown', 'Home', 'End', 'Space'];
391
+ const keys = ['PageUp', 'PageDown', 'Home', 'End', 'Space'];
410
392
  if (keys.includes(e.key) || e.key === ' ') {
411
393
  e.preventDefault();
412
394
  }
@@ -415,17 +397,17 @@ var UnifiedBoxController = /** @class */ (function () {
415
397
  document.addEventListener('wheel', this.scrollLockHandlers.wheel, { passive: false });
416
398
  document.addEventListener('touchmove', this.scrollLockHandlers.touchmove, { passive: false });
417
399
  document.addEventListener('keydown', this.scrollLockHandlers.keydown);
418
- };
400
+ }
419
401
  /**
420
402
  * 스크롤 가능한 부모 요소 찾기
421
403
  */
422
- UnifiedBoxController.prototype.findScrollableParent = function (element, boundary) {
423
- var current = element;
404
+ findScrollableParent(element, boundary) {
405
+ let current = element;
424
406
  while (current && current !== boundary && boundary.contains(current)) {
425
- var computedStyle = window.getComputedStyle(current);
426
- var overflowY = computedStyle.overflowY;
407
+ const computedStyle = window.getComputedStyle(current);
408
+ const overflowY = computedStyle.overflowY;
427
409
  if (overflowY === 'auto' || overflowY === 'scroll') {
428
- var scrollHeight = current.scrollHeight, clientHeight = current.clientHeight;
410
+ const { scrollHeight, clientHeight } = current;
429
411
  if (scrollHeight > clientHeight) {
430
412
  return current;
431
413
  }
@@ -433,56 +415,55 @@ var UnifiedBoxController = /** @class */ (function () {
433
415
  current = current.parentElement;
434
416
  }
435
417
  return null;
436
- };
418
+ }
437
419
  /**
438
420
  * 스크롤 잠금 해제
439
421
  */
440
- UnifiedBoxController.prototype.disableScrollLock = function () {
422
+ disableScrollLock() {
441
423
  if (this.scrollLockHandlers) {
442
424
  document.removeEventListener('wheel', this.scrollLockHandlers.wheel);
443
425
  document.removeEventListener('touchmove', this.scrollLockHandlers.touchmove);
444
426
  document.removeEventListener('keydown', this.scrollLockHandlers.keydown);
445
427
  this.scrollLockHandlers = null;
446
428
  }
447
- };
429
+ }
448
430
  /**
449
431
  * 마우스 호버 처리 (외부에서 호출용)
450
432
  */
451
- UnifiedBoxController.prototype.handleMouseHover = function (index) {
433
+ handleMouseHover(index) {
452
434
  if (!this.isKeyboardNavigation) {
453
435
  this.config.model.setFocusedIndex(index);
454
436
  }
455
- };
437
+ }
456
438
  /**
457
439
  * 옵션 배열 업데이트
458
440
  */
459
- UnifiedBoxController.prototype.updateOptions = function (options) {
460
- var _this = this;
441
+ updateOptions(options) {
461
442
  this.config.model.updateOptions(options);
462
443
  // 스크롤 리스너는 이미 등록되어 있으므로 제거/재등록 불필요
463
444
  // DOM이 완전히 교체되는 경우에만 재등록 필요 (현재는 updateContainerChildren에서 요소 재사용)
464
445
  // 옵션 업데이트 후 스크롤 감지가 필요한 경우에만 확인
465
446
  if (this.isOpen && this.config.onScrollBottom && !this.scrollBottomHandler) {
466
447
  // 스크롤 리스너가 없을 때만 등록 (드롭다운이 열려있고 리스너가 없는 경우)
467
- requestAnimationFrame(function () {
468
- _this.enableScrollBottomDetection();
448
+ requestAnimationFrame(() => {
449
+ this.enableScrollBottomDetection();
469
450
  });
470
451
  }
471
- };
472
- UnifiedBoxController.prototype.getIsOpen = function () {
452
+ }
453
+ getIsOpen() {
473
454
  return this.config.model.getState().isOpen;
474
- };
475
- UnifiedBoxController.prototype.setFocus = function (index) {
455
+ }
456
+ setFocus(index) {
476
457
  this.config.model.setFocusedIndex(index);
477
- };
478
- UnifiedBoxController.prototype.getFocusedIndex = function () {
458
+ }
459
+ getFocusedIndex() {
479
460
  return this.config.model.getState().focusedIndex;
480
- };
461
+ }
481
462
  /**
482
463
  * 드롭다운 위치 조정 (화면 크기에 따라 up/down 방향 결정)
483
464
  * 단일 선택 모드에서만 적용
484
465
  */
485
- UnifiedBoxController.prototype.adjustDropdownPosition = function () {
466
+ adjustDropdownPosition() {
486
467
  if (!this.config.dropdownElement || !this.config.triggerElement)
487
468
  return;
488
469
  // ComboBox 또는 multiple 모드에서는 위치 조정 비활성화
@@ -490,138 +471,134 @@ var UnifiedBoxController = /** @class */ (function () {
490
471
  return;
491
472
  }
492
473
  // 일시적으로 드롭다운을 보이게 해서 크기 측정
493
- var dropdown = this.config.dropdownElement;
494
- var originalDisplay = dropdown.style.display;
495
- var originalVisibility = dropdown.style.visibility;
474
+ const dropdown = this.config.dropdownElement;
475
+ const originalDisplay = dropdown.style.display;
476
+ const originalVisibility = dropdown.style.visibility;
496
477
  dropdown.style.display = 'block';
497
478
  dropdown.style.visibility = 'hidden';
498
- var result = this.calculateDropdownPosition();
479
+ const result = this.calculateDropdownPosition();
499
480
  // 방향에 따른 클래스 설정
500
481
  dropdown.classList.remove('ncua-select-dropdown--up', 'ncua-select-dropdown--down');
501
- dropdown.classList.add("ncua-select-dropdown--".concat(result.direction));
482
+ dropdown.classList.add(`ncua-select-dropdown--${result.direction}`);
502
483
  // 미세 위치 조정
503
484
  this.adjustDropdownPositionDetails(dropdown);
504
485
  // 원래 상태로 복원
505
486
  dropdown.style.display = originalDisplay;
506
487
  dropdown.style.visibility = originalVisibility;
507
- };
488
+ }
508
489
  /**
509
490
  * 드롭다운 위치 계산 (React dropdownUtils.ts 로직 참고)
510
491
  */
511
- UnifiedBoxController.prototype.calculateDropdownPosition = function () {
492
+ calculateDropdownPosition() {
512
493
  if (!this.config.triggerElement || !this.config.dropdownElement) {
513
494
  return { direction: 'down', maxHeight: this.config.renderConfig.maxHeight };
514
495
  }
515
- var triggerRect = this.config.triggerElement.getBoundingClientRect();
516
- var viewportHeight = window.innerHeight;
517
- var dropdownHeight = Math.min(this.config.renderConfig.maxHeight, this.estimateDropdownHeight());
518
- var offset = 20; // 여유 공간
496
+ const triggerRect = this.config.triggerElement.getBoundingClientRect();
497
+ const viewportHeight = window.innerHeight;
498
+ const dropdownHeight = Math.min(this.config.renderConfig.maxHeight, this.estimateDropdownHeight());
499
+ const offset = 20; // 여유 공간
519
500
  // 아래쪽 공간이 충분한지 확인
520
- var spaceBelow = viewportHeight - triggerRect.bottom;
501
+ const spaceBelow = viewportHeight - triggerRect.bottom;
521
502
  if (spaceBelow < dropdownHeight + offset) {
522
503
  return { direction: 'up', maxHeight: this.config.renderConfig.maxHeight };
523
504
  }
524
505
  else {
525
506
  return { direction: 'down', maxHeight: this.config.renderConfig.maxHeight };
526
507
  }
527
- };
508
+ }
528
509
  /**
529
510
  * 드롭다운 예상 높이 계산
530
511
  */
531
- UnifiedBoxController.prototype.estimateDropdownHeight = function () {
532
- var itemHeight = 40; // 대략적인 옵션 항목 높이
533
- var itemCount = this.config.model.getState().filteredOptions.length || this.config.model.getState().options.length;
512
+ estimateDropdownHeight() {
513
+ const itemHeight = 40; // 대략적인 옵션 항목 높이
514
+ const itemCount = this.config.model.getState().filteredOptions.length || this.config.model.getState().options.length;
534
515
  return Math.min(itemCount * itemHeight, this.config.renderConfig.maxHeight);
535
- };
516
+ }
536
517
  /**
537
518
  * 드롭다운 세부 위치 조정 (뷰포트 경계 처리)
538
519
  */
539
- UnifiedBoxController.prototype.adjustDropdownPositionDetails = function (dropdownElement) {
540
- var dropdownRect = dropdownElement.getBoundingClientRect();
541
- var viewportWidth = window.innerWidth;
542
- var viewportHeight = window.innerHeight;
520
+ adjustDropdownPositionDetails(dropdownElement) {
521
+ const dropdownRect = dropdownElement.getBoundingClientRect();
522
+ const viewportWidth = window.innerWidth;
523
+ const viewportHeight = window.innerHeight;
543
524
  // 좌우 위치 조정
544
525
  if (dropdownRect.right > viewportWidth) {
545
- var overflow = dropdownRect.right - viewportWidth;
546
- var currentLeft = parseInt(dropdownElement.style.left || '0');
547
- dropdownElement.style.left = "".concat(currentLeft - overflow - 10, "px");
526
+ const overflow = dropdownRect.right - viewportWidth;
527
+ const currentLeft = parseInt(dropdownElement.style.left || '0');
528
+ dropdownElement.style.left = `${currentLeft - overflow - 10}px`;
548
529
  }
549
530
  if (dropdownRect.left < 0) {
550
531
  dropdownElement.style.left = '10px';
551
532
  }
552
533
  // 상하 위치 조정 (이미 up/down 방향이 결정된 후 미세 조정)
553
534
  if (dropdownRect.bottom > viewportHeight) {
554
- var overflow = dropdownRect.bottom - viewportHeight;
555
- var currentMaxHeight = parseInt(dropdownElement.style.maxHeight || String(this.config.renderConfig.maxHeight));
556
- dropdownElement.style.maxHeight = "".concat(currentMaxHeight - overflow - 10, "px");
535
+ const overflow = dropdownRect.bottom - viewportHeight;
536
+ const currentMaxHeight = parseInt(dropdownElement.style.maxHeight || String(this.config.renderConfig.maxHeight));
537
+ dropdownElement.style.maxHeight = `${currentMaxHeight - overflow - 10}px`;
557
538
  }
558
- };
539
+ }
559
540
  /**
560
541
  * 스크롤 바닥 감지 활성화
561
542
  */
562
- UnifiedBoxController.prototype.enableScrollBottomDetection = function () {
563
- var _this = this;
543
+ enableScrollBottomDetection() {
564
544
  if (!this.config.onScrollBottom)
565
545
  return;
566
546
  // 이미 리스너가 등록되어 있으면 중복 등록 방지
567
547
  if (this.scrollBottomHandler)
568
548
  return;
569
- var optionsList = this.config.dropdownElement.querySelector('.ncua-select-dropdown__options');
549
+ const optionsList = this.config.dropdownElement.querySelector('.ncua-select-dropdown__options');
570
550
  if (!optionsList)
571
551
  return;
572
- this.scrollBottomHandler = function (e) {
573
- var _a, _b;
574
- var target = e.target;
575
- var scrollTop = target.scrollTop;
576
- var scrollHeight = target.scrollHeight;
577
- var clientHeight = target.clientHeight;
552
+ this.scrollBottomHandler = (e) => {
553
+ const target = e.target;
554
+ const scrollTop = target.scrollTop;
555
+ const scrollHeight = target.scrollHeight;
556
+ const clientHeight = target.clientHeight;
578
557
  // 바닥에서 10px 이내에 도달했을 때
579
- var threshold = 10;
580
- var isAtBottom = scrollTop + clientHeight >= scrollHeight - threshold;
558
+ const threshold = 10;
559
+ const isAtBottom = scrollTop + clientHeight >= scrollHeight - threshold;
581
560
  if (isAtBottom) {
582
- var now = Date.now();
561
+ const now = Date.now();
583
562
  // 500ms 디바운스 (중복 호출 방지)
584
- if (now - _this.lastScrollBottomTime > 100) {
585
- _this.lastScrollBottomTime = now;
586
- (_b = (_a = _this.config).onScrollBottom) === null || _b === void 0 ? void 0 : _b.call(_a);
563
+ if (now - this.lastScrollBottomTime > 100) {
564
+ this.lastScrollBottomTime = now;
565
+ this.config.onScrollBottom?.();
587
566
  }
588
567
  }
589
568
  };
590
569
  optionsList.addEventListener('scroll', this.scrollBottomHandler);
591
- };
570
+ }
592
571
  /**
593
572
  * 스크롤 바닥 감지 비활성화
594
573
  */
595
- UnifiedBoxController.prototype.disableScrollBottomDetection = function () {
574
+ disableScrollBottomDetection() {
596
575
  if (this.scrollBottomHandler) {
597
- var optionsList = this.config.dropdownElement.querySelector('.ncua-select-dropdown__options');
576
+ const optionsList = this.config.dropdownElement.querySelector('.ncua-select-dropdown__options');
598
577
  if (optionsList) {
599
578
  optionsList.removeEventListener('scroll', this.scrollBottomHandler);
600
579
  }
601
580
  this.scrollBottomHandler = undefined;
602
581
  }
603
- };
582
+ }
604
583
  /**
605
584
  * disabled 상태 설정
606
585
  */
607
- UnifiedBoxController.prototype.setDisabled = function (disabled) {
586
+ setDisabled(disabled) {
608
587
  this.config.disabled = disabled;
609
588
  // disabled로 설정될 때 드롭다운이 열려있으면 닫기
610
589
  if (disabled && this.isOpen) {
611
590
  this.close();
612
591
  }
613
- };
592
+ }
614
593
  /**
615
594
  * 정리
616
595
  */
617
- UnifiedBoxController.prototype.destroy = function () {
596
+ destroy() {
618
597
  this.config.model.removeListener(this);
619
598
  this.disableOutsideClick();
620
599
  this.disableScrollLock();
621
600
  this.removeOptionEventHandlers();
622
601
  this.disableScrollBottomDetection(); // 스크롤 감지 정리
623
602
  this.config.triggerElement.removeEventListener('keydown', this.keyDownHandler);
624
- };
625
- return UnifiedBoxController;
626
- }());
627
- export { UnifiedBoxController };
603
+ }
604
+ }