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