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