@ncds/ui-admin 1.8.1 → 1.8.2

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 (438) hide show
  1. package/dist/cjs/src/components/badge/index.js +11 -0
  2. package/dist/cjs/src/components/date-picker/index.js +11 -0
  3. package/dist/cjs/src/components/image-file-input/components/index.js +16 -0
  4. package/dist/cjs/src/components/image-file-input/index.js +11 -0
  5. package/dist/cjs/src/components/progress-bar/components/index.js +27 -0
  6. package/dist/cjs/src/components/progress-bar/hooks/index.js +16 -0
  7. package/dist/cjs/src/components/progress-bar/index.js +33 -0
  8. package/dist/cjs/src/components/select/Select.js +0 -1
  9. package/dist/cjs/src/components/select-dropdown/index.js +11 -7
  10. package/dist/cjs/src/components/switch/index.js +11 -7
  11. package/dist/cjs/src/components/tooltip/Tooltip.js +170 -104
  12. package/dist/cjs/src/hooks/dropdown/index.js +61 -37
  13. package/dist/cjs/src/hooks/index.js +31 -25
  14. package/dist/cjs/vitest.config.js +13 -0
  15. package/dist/esm/src/components/badge/index.js +2 -1
  16. package/dist/esm/src/components/date-picker/index.js +1 -0
  17. package/dist/esm/src/components/empty-state/EmptyState.js +2 -3
  18. package/dist/esm/src/components/image-file-input/components/index.js +1 -0
  19. package/dist/esm/src/components/image-file-input/index.js +2 -1
  20. package/dist/esm/src/components/progress-bar/components/index.js +2 -0
  21. package/dist/esm/src/components/progress-bar/hooks/index.js +1 -0
  22. package/dist/esm/src/components/progress-bar/index.js +4 -1
  23. package/dist/esm/src/components/select/Select.js +0 -1
  24. package/dist/esm/src/components/select-dropdown/index.js +1 -1
  25. package/dist/esm/src/components/switch/index.js +1 -1
  26. package/dist/esm/src/components/tag/Tag.js +2 -3
  27. package/dist/esm/src/components/tooltip/Tooltip.js +172 -106
  28. package/dist/esm/src/hooks/dropdown/index.js +6 -6
  29. package/dist/esm/src/hooks/index.js +3 -3
  30. package/dist/esm/src/types/component-meta.js +2 -0
  31. package/dist/esm/vitest.config.js +7 -0
  32. package/dist/temp/src/components/badge/index.d.ts +1 -0
  33. package/dist/temp/src/components/badge/index.js +1 -0
  34. package/dist/temp/src/components/date-picker/index.d.ts +1 -0
  35. package/dist/temp/src/components/date-picker/index.js +1 -0
  36. package/dist/temp/src/components/empty-state/EmptyState.d.ts +3 -5
  37. package/dist/temp/src/components/empty-state/EmptyState.js +1 -2
  38. package/dist/temp/src/components/image-file-input/components/index.d.ts +1 -0
  39. package/dist/temp/src/components/image-file-input/components/index.js +1 -0
  40. package/dist/temp/src/components/image-file-input/index.d.ts +1 -0
  41. package/dist/temp/src/components/image-file-input/index.js +1 -0
  42. package/dist/temp/src/components/progress-bar/components/index.d.ts +2 -0
  43. package/dist/temp/src/components/progress-bar/components/index.js +2 -0
  44. package/dist/temp/src/components/progress-bar/hooks/index.d.ts +1 -0
  45. package/dist/temp/src/components/progress-bar/hooks/index.js +1 -0
  46. package/dist/temp/src/components/progress-bar/index.d.ts +3 -0
  47. package/dist/temp/src/components/progress-bar/index.js +3 -0
  48. package/dist/temp/src/components/select/Select.js +1 -1
  49. package/dist/temp/src/components/select-dropdown/index.d.ts +1 -1
  50. package/dist/temp/src/components/select-dropdown/index.js +1 -1
  51. package/dist/temp/src/components/spinner/Spinner.d.ts +1 -2
  52. package/dist/temp/src/components/switch/index.d.ts +1 -2
  53. package/dist/temp/src/components/switch/index.js +1 -1
  54. package/dist/temp/src/components/tag/Tag.d.ts +3 -5
  55. package/dist/temp/src/components/tag/Tag.js +1 -2
  56. package/dist/temp/src/components/tooltip/Tooltip.d.ts +4 -2
  57. package/dist/temp/src/components/tooltip/Tooltip.js +126 -68
  58. package/dist/temp/src/hooks/dropdown/index.d.ts +6 -6
  59. package/dist/temp/src/hooks/dropdown/index.js +6 -6
  60. package/dist/temp/src/hooks/index.d.ts +3 -3
  61. package/dist/temp/src/hooks/index.js +3 -3
  62. package/dist/temp/src/types/component-meta.d.ts +26 -0
  63. package/dist/temp/src/types/component-meta.js +2 -0
  64. package/dist/temp/src/types/dropdown/option.d.ts +2 -4
  65. package/dist/temp/src/types/side-slot.d.ts +9 -1
  66. package/dist/temp/vitest.config.d.ts +2 -0
  67. package/dist/temp/vitest.config.js +7 -0
  68. package/dist/types/src/components/badge/index.d.ts +1 -0
  69. package/dist/types/src/components/date-picker/index.d.ts +1 -0
  70. package/dist/types/src/components/empty-state/EmptyState.d.ts +3 -5
  71. package/dist/types/src/components/image-file-input/components/index.d.ts +1 -0
  72. package/dist/types/src/components/image-file-input/index.d.ts +1 -0
  73. package/dist/types/src/components/progress-bar/components/index.d.ts +2 -0
  74. package/dist/types/src/components/progress-bar/hooks/index.d.ts +1 -0
  75. package/dist/types/src/components/progress-bar/index.d.ts +3 -0
  76. package/dist/types/src/components/select-dropdown/index.d.ts +1 -1
  77. package/dist/types/src/components/spinner/Spinner.d.ts +1 -2
  78. package/dist/types/src/components/switch/index.d.ts +1 -2
  79. package/dist/types/src/components/tag/Tag.d.ts +3 -5
  80. package/dist/types/src/components/tooltip/Tooltip.d.ts +4 -2
  81. package/dist/types/src/hooks/dropdown/index.d.ts +6 -6
  82. package/dist/types/src/hooks/index.d.ts +3 -3
  83. package/dist/types/src/types/component-meta.d.ts +26 -0
  84. package/dist/types/src/types/dropdown/option.d.ts +2 -4
  85. package/dist/types/src/types/side-slot.d.ts +9 -1
  86. package/dist/types/vitest.config.d.ts +2 -0
  87. package/dist/ui-admin/assets/styles/style.css +18 -7
  88. package/package.json +6 -1
  89. package/dist/cjs/assets/scripts/baseBox.js +0 -146
  90. package/dist/cjs/assets/scripts/comboBox.js +0 -137
  91. package/dist/cjs/assets/scripts/datePicker.js +0 -671
  92. package/dist/cjs/assets/scripts/featuredIcon.js +0 -87
  93. package/dist/cjs/assets/scripts/fileInput/const/classNames.js +0 -25
  94. package/dist/cjs/assets/scripts/fileInput/const/index.js +0 -27
  95. package/dist/cjs/assets/scripts/fileInput/const/types.js +0 -13
  96. package/dist/cjs/assets/scripts/fileInput/fileInput.js +0 -78
  97. package/dist/cjs/assets/scripts/fileInput/fileInputModel.js +0 -53
  98. package/dist/cjs/assets/scripts/fileInput/fileInputView.js +0 -152
  99. package/dist/cjs/assets/scripts/fileInput/index.js +0 -44
  100. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInput.js +0 -184
  101. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputModel.js +0 -222
  102. package/dist/cjs/assets/scripts/imageFileInput/ImageFileInputView.js +0 -356
  103. package/dist/cjs/assets/scripts/imageFileInput/const/classNames.js +0 -31
  104. package/dist/cjs/assets/scripts/imageFileInput/const/index.js +0 -27
  105. package/dist/cjs/assets/scripts/imageFileInput/const/types.js +0 -13
  106. package/dist/cjs/assets/scripts/imageFileInput/index.js +0 -44
  107. package/dist/cjs/assets/scripts/index.js +0 -32
  108. package/dist/cjs/assets/scripts/modal/Modal.js +0 -104
  109. package/dist/cjs/assets/scripts/modal/ModalActions.js +0 -116
  110. package/dist/cjs/assets/scripts/modal/ModalContent.js +0 -46
  111. package/dist/cjs/assets/scripts/modal/ModalHeader.js +0 -104
  112. package/dist/cjs/assets/scripts/modal/const/classNames.js +0 -33
  113. package/dist/cjs/assets/scripts/modal/const/index.js +0 -27
  114. package/dist/cjs/assets/scripts/modal/index.js +0 -61
  115. package/dist/cjs/assets/scripts/modal/utils/contentUtils.js +0 -35
  116. package/dist/cjs/assets/scripts/notification/FloatingNotification.js +0 -178
  117. package/dist/cjs/assets/scripts/notification/FullWidthNotification.js +0 -132
  118. package/dist/cjs/assets/scripts/notification/MessageNotification.js +0 -159
  119. package/dist/cjs/assets/scripts/notification/Notification.js +0 -101
  120. package/dist/cjs/assets/scripts/notification/const/classNames.js +0 -50
  121. package/dist/cjs/assets/scripts/notification/const/icons.js +0 -31
  122. package/dist/cjs/assets/scripts/notification/const/index.js +0 -87
  123. package/dist/cjs/assets/scripts/notification/const/sizes.js +0 -46
  124. package/dist/cjs/assets/scripts/notification/const/types.js +0 -14
  125. package/dist/cjs/assets/scripts/notification/index.js +0 -92
  126. package/dist/cjs/assets/scripts/notification/utils.js +0 -97
  127. package/dist/cjs/assets/scripts/progress-bar/ProgressBar.js +0 -271
  128. package/dist/cjs/assets/scripts/progress-bar/index.js +0 -12
  129. package/dist/cjs/assets/scripts/selectBox.js +0 -169
  130. package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +0 -45
  131. package/dist/cjs/assets/scripts/tab.js +0 -40
  132. package/dist/cjs/assets/scripts/table/Table.js +0 -377
  133. package/dist/cjs/assets/scripts/table/const/classNames.js +0 -33
  134. package/dist/cjs/assets/scripts/table/const/index.js +0 -27
  135. package/dist/cjs/assets/scripts/table/const/types.js +0 -5
  136. package/dist/cjs/assets/scripts/table/index.js +0 -43
  137. package/dist/cjs/assets/scripts/tag/Tag.js +0 -261
  138. package/dist/cjs/assets/scripts/tag/const/classNames.js +0 -20
  139. package/dist/cjs/assets/scripts/tag/const/index.js +0 -38
  140. package/dist/cjs/assets/scripts/tag/const/sizes.js +0 -13
  141. package/dist/cjs/assets/scripts/tag/const/types.js +0 -5
  142. package/dist/cjs/assets/scripts/tag/index.js +0 -44
  143. package/dist/cjs/assets/scripts/tooltip/Tooltip.js +0 -353
  144. package/dist/cjs/assets/scripts/tooltip/TooltipLayerManager.js +0 -82
  145. package/dist/cjs/assets/scripts/tooltip/const/classNames.js +0 -29
  146. package/dist/cjs/assets/scripts/tooltip/const/constants.js +0 -56
  147. package/dist/cjs/assets/scripts/tooltip/const/icons.js +0 -15
  148. package/dist/cjs/assets/scripts/tooltip/const/index.js +0 -123
  149. package/dist/cjs/assets/scripts/tooltip/const/templates.js +0 -66
  150. package/dist/cjs/assets/scripts/tooltip/const/types.js +0 -5
  151. package/dist/cjs/assets/scripts/tooltip/index.js +0 -57
  152. package/dist/cjs/assets/scripts/tooltip/utils.js +0 -40
  153. package/dist/cjs/assets/scripts/utils/debounce.js +0 -32
  154. package/dist/cjs/assets/scripts/utils/unifiedBox/domRenderer.js +0 -370
  155. package/dist/cjs/assets/scripts/utils/unifiedBox/dropdownModel.js +0 -285
  156. package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxController.js +0 -622
  157. package/dist/cjs/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +0 -473
  158. package/dist/esm/assets/scripts/baseBox.js +0 -139
  159. package/dist/esm/assets/scripts/comboBox.js +0 -130
  160. package/dist/esm/assets/scripts/datePicker.js +0 -663
  161. package/dist/esm/assets/scripts/featuredIcon.js +0 -80
  162. package/dist/esm/assets/scripts/fileInput/const/classNames.js +0 -16
  163. package/dist/esm/assets/scripts/fileInput/const/index.js +0 -2
  164. package/dist/esm/assets/scripts/fileInput/const/types.js +0 -7
  165. package/dist/esm/assets/scripts/fileInput/fileInput.js +0 -71
  166. package/dist/esm/assets/scripts/fileInput/fileInputModel.js +0 -46
  167. package/dist/esm/assets/scripts/fileInput/fileInputView.js +0 -145
  168. package/dist/esm/assets/scripts/fileInput/index.js +0 -9
  169. package/dist/esm/assets/scripts/imageFileInput/ImageFileInput.js +0 -177
  170. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputModel.js +0 -215
  171. package/dist/esm/assets/scripts/imageFileInput/ImageFileInputView.js +0 -349
  172. package/dist/esm/assets/scripts/imageFileInput/const/classNames.js +0 -20
  173. package/dist/esm/assets/scripts/imageFileInput/const/index.js +0 -2
  174. package/dist/esm/assets/scripts/imageFileInput/const/types.js +0 -7
  175. package/dist/esm/assets/scripts/imageFileInput/index.js +0 -9
  176. package/dist/esm/assets/scripts/index.js +0 -30
  177. package/dist/esm/assets/scripts/modal/Modal.js +0 -98
  178. package/dist/esm/assets/scripts/modal/ModalActions.js +0 -109
  179. package/dist/esm/assets/scripts/modal/ModalContent.js +0 -39
  180. package/dist/esm/assets/scripts/modal/ModalHeader.js +0 -97
  181. package/dist/esm/assets/scripts/modal/const/classNames.js +0 -23
  182. package/dist/esm/assets/scripts/modal/const/index.js +0 -2
  183. package/dist/esm/assets/scripts/modal/const/types.js +0 -1
  184. package/dist/esm/assets/scripts/modal/index.js +0 -15
  185. package/dist/esm/assets/scripts/modal/utils/contentUtils.js +0 -28
  186. package/dist/esm/assets/scripts/notification/FloatingNotification.js +0 -172
  187. package/dist/esm/assets/scripts/notification/FullWidthNotification.js +0 -125
  188. package/dist/esm/assets/scripts/notification/MessageNotification.js +0 -152
  189. package/dist/esm/assets/scripts/notification/Notification.js +0 -94
  190. package/dist/esm/assets/scripts/notification/const/classNames.js +0 -44
  191. package/dist/esm/assets/scripts/notification/const/icons.js +0 -25
  192. package/dist/esm/assets/scripts/notification/const/index.js +0 -4
  193. package/dist/esm/assets/scripts/notification/const/sizes.js +0 -40
  194. package/dist/esm/assets/scripts/notification/const/types.js +0 -8
  195. package/dist/esm/assets/scripts/notification/index.js +0 -11
  196. package/dist/esm/assets/scripts/notification/utils.js +0 -84
  197. package/dist/esm/assets/scripts/progress-bar/ProgressBar.js +0 -264
  198. package/dist/esm/assets/scripts/progress-bar/index.js +0 -1
  199. package/dist/esm/assets/scripts/selectBox.js +0 -162
  200. package/dist/esm/assets/scripts/shared/ButtonCloseX.js +0 -37
  201. package/dist/esm/assets/scripts/tab.js +0 -33
  202. package/dist/esm/assets/scripts/table/Table.js +0 -370
  203. package/dist/esm/assets/scripts/table/const/classNames.js +0 -27
  204. package/dist/esm/assets/scripts/table/const/index.js +0 -2
  205. package/dist/esm/assets/scripts/table/const/types.js +0 -1
  206. package/dist/esm/assets/scripts/table/index.js +0 -8
  207. package/dist/esm/assets/scripts/tag/Tag.js +0 -254
  208. package/dist/esm/assets/scripts/tag/const/classNames.js +0 -12
  209. package/dist/esm/assets/scripts/tag/const/index.js +0 -3
  210. package/dist/esm/assets/scripts/tag/const/sizes.js +0 -7
  211. package/dist/esm/assets/scripts/tag/const/types.js +0 -1
  212. package/dist/esm/assets/scripts/tag/index.js +0 -9
  213. package/dist/esm/assets/scripts/tooltip/Tooltip.js +0 -346
  214. package/dist/esm/assets/scripts/tooltip/TooltipLayerManager.js +0 -75
  215. package/dist/esm/assets/scripts/tooltip/const/classNames.js +0 -23
  216. package/dist/esm/assets/scripts/tooltip/const/constants.js +0 -50
  217. package/dist/esm/assets/scripts/tooltip/const/icons.js +0 -9
  218. package/dist/esm/assets/scripts/tooltip/const/index.js +0 -4
  219. package/dist/esm/assets/scripts/tooltip/const/templates.js +0 -59
  220. package/dist/esm/assets/scripts/tooltip/const/types.js +0 -1
  221. package/dist/esm/assets/scripts/tooltip/index.js +0 -10
  222. package/dist/esm/assets/scripts/tooltip/utils.js +0 -34
  223. package/dist/esm/assets/scripts/utils/debounce.js +0 -26
  224. package/dist/esm/assets/scripts/utils/unifiedBox/domRenderer.js +0 -363
  225. package/dist/esm/assets/scripts/utils/unifiedBox/dropdownModel.js +0 -279
  226. package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxController.js +0 -615
  227. package/dist/esm/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +0 -466
  228. package/dist/temp/assets/scripts/baseBox.d.ts +0 -55
  229. package/dist/temp/assets/scripts/baseBox.js +0 -140
  230. package/dist/temp/assets/scripts/comboBox.d.ts +0 -60
  231. package/dist/temp/assets/scripts/comboBox.js +0 -132
  232. package/dist/temp/assets/scripts/datePicker.d.ts +0 -86
  233. package/dist/temp/assets/scripts/datePicker.js +0 -699
  234. package/dist/temp/assets/scripts/featuredIcon.d.ts +0 -22
  235. package/dist/temp/assets/scripts/featuredIcon.js +0 -79
  236. package/dist/temp/assets/scripts/fileInput/const/classNames.d.ts +0 -15
  237. package/dist/temp/assets/scripts/fileInput/const/classNames.js +0 -16
  238. package/dist/temp/assets/scripts/fileInput/const/index.d.ts +0 -2
  239. package/dist/temp/assets/scripts/fileInput/const/index.js +0 -2
  240. package/dist/temp/assets/scripts/fileInput/const/types.d.ts +0 -88
  241. package/dist/temp/assets/scripts/fileInput/const/types.js +0 -7
  242. package/dist/temp/assets/scripts/fileInput/fileInput.d.ts +0 -13
  243. package/dist/temp/assets/scripts/fileInput/fileInput.js +0 -71
  244. package/dist/temp/assets/scripts/fileInput/fileInputModel.d.ts +0 -12
  245. package/dist/temp/assets/scripts/fileInput/fileInputModel.js +0 -37
  246. package/dist/temp/assets/scripts/fileInput/fileInputView.d.ts +0 -42
  247. package/dist/temp/assets/scripts/fileInput/fileInputView.js +0 -145
  248. package/dist/temp/assets/scripts/fileInput/index.d.ts +0 -3
  249. package/dist/temp/assets/scripts/fileInput/index.js +0 -9
  250. package/dist/temp/assets/scripts/imageFileInput/ImageFileInput.d.ts +0 -63
  251. package/dist/temp/assets/scripts/imageFileInput/ImageFileInput.js +0 -180
  252. package/dist/temp/assets/scripts/imageFileInput/ImageFileInputModel.d.ts +0 -73
  253. package/dist/temp/assets/scripts/imageFileInput/ImageFileInputModel.js +0 -214
  254. package/dist/temp/assets/scripts/imageFileInput/ImageFileInputView.d.ts +0 -79
  255. package/dist/temp/assets/scripts/imageFileInput/ImageFileInputView.js +0 -350
  256. package/dist/temp/assets/scripts/imageFileInput/const/classNames.d.ts +0 -19
  257. package/dist/temp/assets/scripts/imageFileInput/const/classNames.js +0 -20
  258. package/dist/temp/assets/scripts/imageFileInput/const/index.d.ts +0 -2
  259. package/dist/temp/assets/scripts/imageFileInput/const/index.js +0 -2
  260. package/dist/temp/assets/scripts/imageFileInput/const/types.d.ts +0 -125
  261. package/dist/temp/assets/scripts/imageFileInput/const/types.js +0 -7
  262. package/dist/temp/assets/scripts/imageFileInput/index.d.ts +0 -3
  263. package/dist/temp/assets/scripts/imageFileInput/index.js +0 -9
  264. package/dist/temp/assets/scripts/index.d.ts +0 -34
  265. package/dist/temp/assets/scripts/index.js +0 -30
  266. package/dist/temp/assets/scripts/modal/Modal.d.ts +0 -27
  267. package/dist/temp/assets/scripts/modal/Modal.js +0 -100
  268. package/dist/temp/assets/scripts/modal/ModalActions.d.ts +0 -18
  269. package/dist/temp/assets/scripts/modal/ModalActions.js +0 -117
  270. package/dist/temp/assets/scripts/modal/ModalContent.d.ts +0 -13
  271. package/dist/temp/assets/scripts/modal/ModalContent.js +0 -39
  272. package/dist/temp/assets/scripts/modal/ModalHeader.d.ts +0 -15
  273. package/dist/temp/assets/scripts/modal/ModalHeader.js +0 -96
  274. package/dist/temp/assets/scripts/modal/const/classNames.d.ts +0 -22
  275. package/dist/temp/assets/scripts/modal/const/classNames.js +0 -23
  276. package/dist/temp/assets/scripts/modal/const/index.d.ts +0 -2
  277. package/dist/temp/assets/scripts/modal/const/index.js +0 -2
  278. package/dist/temp/assets/scripts/modal/const/types.d.ts +0 -61
  279. package/dist/temp/assets/scripts/modal/const/types.js +0 -1
  280. package/dist/temp/assets/scripts/modal/index.d.ts +0 -7
  281. package/dist/temp/assets/scripts/modal/index.js +0 -15
  282. package/dist/temp/assets/scripts/modal/utils/contentUtils.d.ts +0 -10
  283. package/dist/temp/assets/scripts/modal/utils/contentUtils.js +0 -29
  284. package/dist/temp/assets/scripts/notification/FloatingNotification.d.ts +0 -24
  285. package/dist/temp/assets/scripts/notification/FloatingNotification.js +0 -157
  286. package/dist/temp/assets/scripts/notification/FullWidthNotification.d.ts +0 -21
  287. package/dist/temp/assets/scripts/notification/FullWidthNotification.js +0 -110
  288. package/dist/temp/assets/scripts/notification/MessageNotification.d.ts +0 -22
  289. package/dist/temp/assets/scripts/notification/MessageNotification.js +0 -140
  290. package/dist/temp/assets/scripts/notification/Notification.d.ts +0 -21
  291. package/dist/temp/assets/scripts/notification/Notification.js +0 -94
  292. package/dist/temp/assets/scripts/notification/const/classNames.d.ts +0 -43
  293. package/dist/temp/assets/scripts/notification/const/classNames.js +0 -44
  294. package/dist/temp/assets/scripts/notification/const/icons.d.ts +0 -25
  295. package/dist/temp/assets/scripts/notification/const/icons.js +0 -25
  296. package/dist/temp/assets/scripts/notification/const/index.d.ts +0 -5
  297. package/dist/temp/assets/scripts/notification/const/index.js +0 -4
  298. package/dist/temp/assets/scripts/notification/const/sizes.d.ts +0 -32
  299. package/dist/temp/assets/scripts/notification/const/sizes.js +0 -40
  300. package/dist/temp/assets/scripts/notification/const/types.d.ts +0 -19
  301. package/dist/temp/assets/scripts/notification/const/types.js +0 -8
  302. package/dist/temp/assets/scripts/notification/index.d.ts +0 -7
  303. package/dist/temp/assets/scripts/notification/index.js +0 -11
  304. package/dist/temp/assets/scripts/notification/utils.d.ts +0 -8
  305. package/dist/temp/assets/scripts/notification/utils.js +0 -89
  306. package/dist/temp/assets/scripts/progress-bar/ProgressBar.d.ts +0 -67
  307. package/dist/temp/assets/scripts/progress-bar/ProgressBar.js +0 -263
  308. package/dist/temp/assets/scripts/progress-bar/index.d.ts +0 -1
  309. package/dist/temp/assets/scripts/progress-bar/index.js +0 -1
  310. package/dist/temp/assets/scripts/selectBox.d.ts +0 -50
  311. package/dist/temp/assets/scripts/selectBox.js +0 -170
  312. package/dist/temp/assets/scripts/shared/ButtonCloseX.d.ts +0 -5
  313. package/dist/temp/assets/scripts/shared/ButtonCloseX.js +0 -33
  314. package/dist/temp/assets/scripts/tab.d.ts +0 -7
  315. package/dist/temp/assets/scripts/tab.js +0 -33
  316. package/dist/temp/assets/scripts/table/Table.d.ts +0 -41
  317. package/dist/temp/assets/scripts/table/Table.js +0 -378
  318. package/dist/temp/assets/scripts/table/const/classNames.d.ts +0 -27
  319. package/dist/temp/assets/scripts/table/const/classNames.js +0 -27
  320. package/dist/temp/assets/scripts/table/const/index.d.ts +0 -2
  321. package/dist/temp/assets/scripts/table/const/index.js +0 -2
  322. package/dist/temp/assets/scripts/table/const/types.d.ts +0 -23
  323. package/dist/temp/assets/scripts/table/const/types.js +0 -1
  324. package/dist/temp/assets/scripts/table/index.d.ts +0 -3
  325. package/dist/temp/assets/scripts/table/index.js +0 -8
  326. package/dist/temp/assets/scripts/tag/Tag.d.ts +0 -27
  327. package/dist/temp/assets/scripts/tag/Tag.js +0 -259
  328. package/dist/temp/assets/scripts/tag/const/classNames.d.ts +0 -11
  329. package/dist/temp/assets/scripts/tag/const/classNames.js +0 -12
  330. package/dist/temp/assets/scripts/tag/const/index.d.ts +0 -3
  331. package/dist/temp/assets/scripts/tag/const/index.js +0 -3
  332. package/dist/temp/assets/scripts/tag/const/sizes.d.ts +0 -7
  333. package/dist/temp/assets/scripts/tag/const/sizes.js +0 -7
  334. package/dist/temp/assets/scripts/tag/const/types.d.ts +0 -33
  335. package/dist/temp/assets/scripts/tag/const/types.js +0 -1
  336. package/dist/temp/assets/scripts/tag/index.d.ts +0 -3
  337. package/dist/temp/assets/scripts/tag/index.js +0 -9
  338. package/dist/temp/assets/scripts/tooltip/Tooltip.d.ts +0 -54
  339. package/dist/temp/assets/scripts/tooltip/Tooltip.js +0 -335
  340. package/dist/temp/assets/scripts/tooltip/TooltipLayerManager.d.ts +0 -21
  341. package/dist/temp/assets/scripts/tooltip/TooltipLayerManager.js +0 -71
  342. package/dist/temp/assets/scripts/tooltip/const/classNames.d.ts +0 -17
  343. package/dist/temp/assets/scripts/tooltip/const/classNames.js +0 -23
  344. package/dist/temp/assets/scripts/tooltip/const/constants.d.ts +0 -33
  345. package/dist/temp/assets/scripts/tooltip/const/constants.js +0 -46
  346. package/dist/temp/assets/scripts/tooltip/const/icons.d.ts +0 -4
  347. package/dist/temp/assets/scripts/tooltip/const/icons.js +0 -9
  348. package/dist/temp/assets/scripts/tooltip/const/index.d.ts +0 -5
  349. package/dist/temp/assets/scripts/tooltip/const/index.js +0 -4
  350. package/dist/temp/assets/scripts/tooltip/const/templates.d.ts +0 -16
  351. package/dist/temp/assets/scripts/tooltip/const/templates.js +0 -59
  352. package/dist/temp/assets/scripts/tooltip/const/types.d.ts +0 -14
  353. package/dist/temp/assets/scripts/tooltip/const/types.js +0 -1
  354. package/dist/temp/assets/scripts/tooltip/index.d.ts +0 -6
  355. package/dist/temp/assets/scripts/tooltip/index.js +0 -10
  356. package/dist/temp/assets/scripts/tooltip/utils.d.ts +0 -2
  357. package/dist/temp/assets/scripts/tooltip/utils.js +0 -33
  358. package/dist/temp/assets/scripts/utils/debounce.d.ts +0 -8
  359. package/dist/temp/assets/scripts/utils/debounce.js +0 -23
  360. package/dist/temp/assets/scripts/utils/unifiedBox/domRenderer.d.ts +0 -107
  361. package/dist/temp/assets/scripts/utils/unifiedBox/domRenderer.js +0 -367
  362. package/dist/temp/assets/scripts/utils/unifiedBox/dropdownModel.d.ts +0 -142
  363. package/dist/temp/assets/scripts/utils/unifiedBox/dropdownModel.js +0 -286
  364. package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxController.d.ts +0 -156
  365. package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxController.js +0 -604
  366. package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxManager.d.ts +0 -95
  367. package/dist/temp/assets/scripts/utils/unifiedBox/unifiedBoxManager.js +0 -482
  368. package/dist/types/assets/scripts/baseBox.d.ts +0 -55
  369. package/dist/types/assets/scripts/comboBox.d.ts +0 -60
  370. package/dist/types/assets/scripts/datePicker.d.ts +0 -86
  371. package/dist/types/assets/scripts/featuredIcon.d.ts +0 -22
  372. package/dist/types/assets/scripts/fileInput/const/classNames.d.ts +0 -15
  373. package/dist/types/assets/scripts/fileInput/const/index.d.ts +0 -2
  374. package/dist/types/assets/scripts/fileInput/const/types.d.ts +0 -88
  375. package/dist/types/assets/scripts/fileInput/fileInput.d.ts +0 -13
  376. package/dist/types/assets/scripts/fileInput/fileInputModel.d.ts +0 -12
  377. package/dist/types/assets/scripts/fileInput/fileInputView.d.ts +0 -42
  378. package/dist/types/assets/scripts/fileInput/index.d.ts +0 -3
  379. package/dist/types/assets/scripts/imageFileInput/ImageFileInput.d.ts +0 -63
  380. package/dist/types/assets/scripts/imageFileInput/ImageFileInputModel.d.ts +0 -73
  381. package/dist/types/assets/scripts/imageFileInput/ImageFileInputView.d.ts +0 -79
  382. package/dist/types/assets/scripts/imageFileInput/const/classNames.d.ts +0 -19
  383. package/dist/types/assets/scripts/imageFileInput/const/index.d.ts +0 -2
  384. package/dist/types/assets/scripts/imageFileInput/const/types.d.ts +0 -125
  385. package/dist/types/assets/scripts/imageFileInput/index.d.ts +0 -3
  386. package/dist/types/assets/scripts/index.d.ts +0 -34
  387. package/dist/types/assets/scripts/modal/Modal.d.ts +0 -27
  388. package/dist/types/assets/scripts/modal/ModalActions.d.ts +0 -18
  389. package/dist/types/assets/scripts/modal/ModalContent.d.ts +0 -13
  390. package/dist/types/assets/scripts/modal/ModalHeader.d.ts +0 -15
  391. package/dist/types/assets/scripts/modal/const/classNames.d.ts +0 -22
  392. package/dist/types/assets/scripts/modal/const/index.d.ts +0 -2
  393. package/dist/types/assets/scripts/modal/const/types.d.ts +0 -61
  394. package/dist/types/assets/scripts/modal/index.d.ts +0 -7
  395. package/dist/types/assets/scripts/modal/utils/contentUtils.d.ts +0 -10
  396. package/dist/types/assets/scripts/notification/FloatingNotification.d.ts +0 -24
  397. package/dist/types/assets/scripts/notification/FullWidthNotification.d.ts +0 -21
  398. package/dist/types/assets/scripts/notification/MessageNotification.d.ts +0 -22
  399. package/dist/types/assets/scripts/notification/Notification.d.ts +0 -21
  400. package/dist/types/assets/scripts/notification/const/classNames.d.ts +0 -43
  401. package/dist/types/assets/scripts/notification/const/icons.d.ts +0 -25
  402. package/dist/types/assets/scripts/notification/const/index.d.ts +0 -5
  403. package/dist/types/assets/scripts/notification/const/sizes.d.ts +0 -32
  404. package/dist/types/assets/scripts/notification/const/types.d.ts +0 -19
  405. package/dist/types/assets/scripts/notification/index.d.ts +0 -7
  406. package/dist/types/assets/scripts/notification/utils.d.ts +0 -8
  407. package/dist/types/assets/scripts/progress-bar/ProgressBar.d.ts +0 -67
  408. package/dist/types/assets/scripts/progress-bar/index.d.ts +0 -1
  409. package/dist/types/assets/scripts/selectBox.d.ts +0 -50
  410. package/dist/types/assets/scripts/shared/ButtonCloseX.d.ts +0 -5
  411. package/dist/types/assets/scripts/tab.d.ts +0 -7
  412. package/dist/types/assets/scripts/table/Table.d.ts +0 -41
  413. package/dist/types/assets/scripts/table/const/classNames.d.ts +0 -27
  414. package/dist/types/assets/scripts/table/const/index.d.ts +0 -2
  415. package/dist/types/assets/scripts/table/const/types.d.ts +0 -23
  416. package/dist/types/assets/scripts/table/index.d.ts +0 -3
  417. package/dist/types/assets/scripts/tag/Tag.d.ts +0 -27
  418. package/dist/types/assets/scripts/tag/const/classNames.d.ts +0 -11
  419. package/dist/types/assets/scripts/tag/const/index.d.ts +0 -3
  420. package/dist/types/assets/scripts/tag/const/sizes.d.ts +0 -7
  421. package/dist/types/assets/scripts/tag/const/types.d.ts +0 -33
  422. package/dist/types/assets/scripts/tag/index.d.ts +0 -3
  423. package/dist/types/assets/scripts/tooltip/Tooltip.d.ts +0 -54
  424. package/dist/types/assets/scripts/tooltip/TooltipLayerManager.d.ts +0 -21
  425. package/dist/types/assets/scripts/tooltip/const/classNames.d.ts +0 -17
  426. package/dist/types/assets/scripts/tooltip/const/constants.d.ts +0 -33
  427. package/dist/types/assets/scripts/tooltip/const/icons.d.ts +0 -4
  428. package/dist/types/assets/scripts/tooltip/const/index.d.ts +0 -5
  429. package/dist/types/assets/scripts/tooltip/const/templates.d.ts +0 -16
  430. package/dist/types/assets/scripts/tooltip/const/types.d.ts +0 -14
  431. package/dist/types/assets/scripts/tooltip/index.d.ts +0 -6
  432. package/dist/types/assets/scripts/tooltip/utils.d.ts +0 -2
  433. package/dist/types/assets/scripts/utils/debounce.d.ts +0 -8
  434. package/dist/types/assets/scripts/utils/unifiedBox/domRenderer.d.ts +0 -107
  435. package/dist/types/assets/scripts/utils/unifiedBox/dropdownModel.d.ts +0 -142
  436. package/dist/types/assets/scripts/utils/unifiedBox/unifiedBoxController.d.ts +0 -156
  437. package/dist/types/assets/scripts/utils/unifiedBox/unifiedBoxManager.d.ts +0 -95
  438. /package/dist/cjs/{assets/scripts/modal/const/types.js → src/types/component-meta.js} +0 -0
@@ -1,142 +0,0 @@
1
- export interface DropdownOption {
2
- id: string | number;
3
- label: string;
4
- disabled?: boolean;
5
- originalValue?: string;
6
- }
7
- export interface DropdownState {
8
- isOpen: boolean;
9
- focusedIndex: number;
10
- selectedValues: (string | number)[];
11
- searchValue: string;
12
- showAllItems: boolean;
13
- options: DropdownOption[];
14
- filteredOptions: DropdownOption[];
15
- }
16
- export interface StateChangeListener {
17
- onStateChange(newState: DropdownState, changedFields: string[]): void;
18
- }
19
- /**
20
- * 드롭다운 상태 관리 모델
21
- * Observer Pattern을 통한 상태 변경 알림
22
- */
23
- export type FilterStrategy = (options: DropdownOption[], searchValue: string, showAllItems: boolean) => DropdownOption[];
24
- export declare class DropdownModel {
25
- private state;
26
- private listeners;
27
- protected multiple: boolean;
28
- private filterStrategy;
29
- constructor(initialOptions: DropdownOption[], multiple?: boolean, filterStrategy?: FilterStrategy);
30
- /** SelectBox 기본 전략: 항상 모든 옵션 표시 */
31
- static defaultFilterStrategy: FilterStrategy;
32
- /** ComboBox 전략: 검색어/전체보기 기반 필터링 */
33
- static comboBoxFilterStrategy: FilterStrategy;
34
- /**
35
- * 상태 변경 리스너 등록
36
- */
37
- addListener(listener: StateChangeListener): void;
38
- /**
39
- * 상태 변경 리스너 제거
40
- */
41
- removeListener(listener: StateChangeListener): void;
42
- /**
43
- * 상태 변경 알림
44
- */
45
- private notifyListeners;
46
- /**
47
- * 드롭다운 열기/닫기
48
- */
49
- setOpen(isOpen: boolean): void;
50
- /**
51
- * 포커스 인덱스 설정
52
- */
53
- setFocusedIndex(index: number): void;
54
- /**
55
- * 검색어 설정 및 필터링
56
- */
57
- setSearchValue(searchValue: string): void;
58
- /**
59
- * 전체 보기 토글
60
- */
61
- setShowAllItems(showAll: boolean): void;
62
- /**
63
- * 선택된 값들을 직접 설정 (protected)
64
- */
65
- protected setSelectedValues(values: (string | number)[]): void;
66
- /**
67
- * 옵션 선택/해제
68
- */
69
- toggleOption(optionId: string | number): void;
70
- /**
71
- * 옵션 업데이트
72
- */
73
- updateOptions(newOptions: DropdownOption[]): void;
74
- /**
75
- * 필터링된 옵션 업데이트
76
- */
77
- private updateFilteredOptions;
78
- /**
79
- * 현재 상태 반환 (읽기 전용)
80
- */
81
- getState(): Readonly<DropdownState>;
82
- /**
83
- * 다중 선택 모드 여부 반환
84
- */
85
- isMultiple(): boolean;
86
- /**
87
- * 선택된 옵션들 반환
88
- */
89
- getSelectedOptions(): DropdownOption[];
90
- /**
91
- * 옵션이 선택되었는지 확인
92
- */
93
- isOptionSelected(optionId: string | number): boolean;
94
- /**
95
- * 상태 리셋
96
- */
97
- reset(): void;
98
- /**
99
- * 전체 선택/해제 토글 (MultiSelectUtils에서 이동)
100
- */
101
- toggleSelectAll(): void;
102
- /**
103
- * 전체 선택 버튼 텍스트 반환 (MultiSelectUtils에서 이동)
104
- */
105
- getSelectAllButtonText(): string;
106
- /**
107
- * 모든 항목이 선택되었는지 확인 (MultiSelectUtils에서 이동)
108
- */
109
- isAllItemsSelected(): boolean;
110
- /**
111
- * 검색 및 필터링 업데이트 (SearchFilterUtils에서 이동)
112
- */
113
- updateSearchAndFilter(searchValue: string, showAllItems?: boolean): void;
114
- /**
115
- * 검색어만 업데이트 (필터링 없이, API 모드용)
116
- */
117
- updateSearchValue(searchValue: string): void;
118
- /**
119
- * 드롭다운이 열릴 수 있는지 확인 (ComboBox용)
120
- */
121
- canOpenDropdown(): boolean;
122
- /**
123
- * 검색 결과가 없는지 확인
124
- */
125
- hasNoResults(): boolean;
126
- /**
127
- * 값 설정 (API 호환성)
128
- */
129
- setValue(value: string | number | (string | number)[]): void;
130
- /**
131
- * 값 가져오기 (API 호환성)
132
- */
133
- getValue(): string | number | (string | number)[];
134
- /**
135
- * 입력 초기화 (ComboBox용)
136
- */
137
- clearInput(): void;
138
- /**
139
- * 디버그 정보 (개발용)
140
- */
141
- getDebugInfo(): any;
142
- }
@@ -1,286 +0,0 @@
1
- class DropdownModel {
2
- constructor(initialOptions, multiple = false, filterStrategy) {
3
- this.listeners = [];
4
- this.multiple = multiple;
5
- this.filterStrategy = filterStrategy ?? DropdownModel.defaultFilterStrategy;
6
- this.state = {
7
- isOpen: false,
8
- focusedIndex: -1,
9
- selectedValues: [],
10
- searchValue: '',
11
- showAllItems: false,
12
- options: [...initialOptions],
13
- filteredOptions: this.filterStrategy([...initialOptions], '', false),
14
- };
15
- }
16
- /**
17
- * 상태 변경 리스너 등록
18
- */
19
- addListener(listener) {
20
- this.listeners.push(listener);
21
- }
22
- /**
23
- * 상태 변경 리스너 제거
24
- */
25
- removeListener(listener) {
26
- const index = this.listeners.indexOf(listener);
27
- if (index > -1) {
28
- this.listeners.splice(index, 1);
29
- }
30
- }
31
- /**
32
- * 상태 변경 알림
33
- */
34
- notifyListeners(changedFields) {
35
- this.listeners.forEach((listener) => {
36
- listener.onStateChange({ ...this.state }, changedFields);
37
- });
38
- }
39
- /**
40
- * 드롭다운 열기/닫기
41
- */
42
- setOpen(isOpen) {
43
- if (this.state.isOpen !== isOpen) {
44
- this.state.isOpen = isOpen;
45
- if (!isOpen) {
46
- this.state.focusedIndex = -1;
47
- this.state.showAllItems = false;
48
- }
49
- this.notifyListeners(['isOpen', 'focusedIndex', 'showAllItems']);
50
- }
51
- }
52
- /**
53
- * 포커스 인덱스 설정
54
- */
55
- setFocusedIndex(index) {
56
- const maxIndex = this.state.filteredOptions.length - 1;
57
- const clampedIndex = Math.max(-1, Math.min(index, maxIndex));
58
- if (this.state.focusedIndex !== clampedIndex) {
59
- this.state.focusedIndex = clampedIndex;
60
- this.notifyListeners(['focusedIndex']);
61
- }
62
- }
63
- /**
64
- * 검색어 설정 및 필터링
65
- */
66
- setSearchValue(searchValue) {
67
- if (this.state.searchValue !== searchValue) {
68
- this.state.searchValue = searchValue;
69
- this.updateFilteredOptions();
70
- this.notifyListeners(['searchValue', 'filteredOptions']);
71
- }
72
- }
73
- /**
74
- * 전체 보기 토글
75
- */
76
- setShowAllItems(showAll) {
77
- if (this.state.showAllItems !== showAll) {
78
- this.state.showAllItems = showAll;
79
- this.updateFilteredOptions();
80
- this.notifyListeners(['showAllItems', 'filteredOptions']);
81
- }
82
- }
83
- /**
84
- * 선택된 값들을 직접 설정 (protected)
85
- */
86
- setSelectedValues(values) {
87
- this.state.selectedValues = [...values];
88
- this.notifyListeners(['selectedValues']);
89
- }
90
- /**
91
- * 옵션 선택/해제
92
- */
93
- toggleOption(optionId) {
94
- const currentValues = [...this.state.selectedValues];
95
- if (this.multiple) {
96
- const index = currentValues.indexOf(optionId);
97
- if (index > -1) {
98
- currentValues.splice(index, 1);
99
- }
100
- else {
101
- currentValues.push(optionId);
102
- }
103
- }
104
- else {
105
- currentValues.length = 0;
106
- currentValues.push(optionId);
107
- }
108
- this.state.selectedValues = currentValues;
109
- this.notifyListeners(['selectedValues']);
110
- }
111
- /**
112
- * 옵션 업데이트
113
- */
114
- updateOptions(newOptions) {
115
- // 현재 상태 저장
116
- const wasOpen = this.state.isOpen;
117
- const wasShowAllItems = this.state.showAllItems;
118
- this.state.options = [...newOptions];
119
- this.state.selectedValues = this.state.selectedValues.filter((value) => newOptions.some((opt) => opt.id === value));
120
- // 드롭다운이 열려있었다면 상태 유지
121
- if (wasOpen) {
122
- this.state.isOpen = true;
123
- this.state.showAllItems = wasShowAllItems;
124
- }
125
- this.updateFilteredOptions();
126
- this.notifyListeners(['options', 'selectedValues', 'filteredOptions', 'isOpen', 'showAllItems']);
127
- }
128
- /**
129
- * 필터링된 옵션 업데이트
130
- */
131
- updateFilteredOptions() {
132
- this.state.filteredOptions = this.filterStrategy(this.state.options, this.state.searchValue, this.state.showAllItems);
133
- }
134
- /**
135
- * 현재 상태 반환 (읽기 전용)
136
- */
137
- getState() {
138
- return { ...this.state };
139
- }
140
- /**
141
- * 다중 선택 모드 여부 반환
142
- */
143
- isMultiple() {
144
- return this.multiple;
145
- }
146
- /**
147
- * 선택된 옵션들 반환
148
- */
149
- getSelectedOptions() {
150
- return this.state.options.filter((opt) => this.state.selectedValues.includes(opt.id));
151
- }
152
- /**
153
- * 옵션이 선택되었는지 확인
154
- */
155
- isOptionSelected(optionId) {
156
- return this.state.selectedValues.includes(optionId);
157
- }
158
- /**
159
- * 상태 리셋
160
- */
161
- reset() {
162
- this.state.isOpen = false;
163
- this.state.focusedIndex = -1;
164
- this.state.selectedValues = [];
165
- this.state.searchValue = '';
166
- this.state.showAllItems = false;
167
- this.state.filteredOptions = [];
168
- this.notifyListeners([
169
- 'isOpen',
170
- 'focusedIndex',
171
- 'selectedValues',
172
- 'searchValue',
173
- 'showAllItems',
174
- 'filteredOptions',
175
- ]);
176
- }
177
- /**
178
- * 전체 선택/해제 토글 (MultiSelectUtils에서 이동)
179
- */
180
- toggleSelectAll() {
181
- if (!this.multiple)
182
- return;
183
- const availableOptions = this.state.options.filter((opt) => !opt.disabled);
184
- const allSelected = this.state.selectedValues.length === availableOptions.length;
185
- let newValue;
186
- if (allSelected) {
187
- newValue = [];
188
- }
189
- else {
190
- newValue = availableOptions.map((opt) => opt.id);
191
- }
192
- this.state.selectedValues = newValue;
193
- this.notifyListeners(['selectedValues']);
194
- }
195
- /**
196
- * 전체 선택 버튼 텍스트 반환 (MultiSelectUtils에서 이동)
197
- */
198
- getSelectAllButtonText() {
199
- if (!this.multiple)
200
- return '전체 선택';
201
- return this.isAllItemsSelected() ? '전체 해제' : '전체 선택';
202
- }
203
- /**
204
- * 모든 항목이 선택되었는지 확인 (MultiSelectUtils에서 이동)
205
- */
206
- isAllItemsSelected() {
207
- if (!this.multiple)
208
- return false;
209
- const availableOptions = this.state.options.filter((opt) => !opt.disabled);
210
- if (availableOptions.length === 0)
211
- return false;
212
- const availableIds = availableOptions.map((opt) => opt.id);
213
- return availableIds.length > 0 && availableIds.every((id) => this.state.selectedValues.includes(id));
214
- }
215
- /**
216
- * 검색 및 필터링 업데이트 (SearchFilterUtils에서 이동)
217
- */
218
- updateSearchAndFilter(searchValue, showAllItems = false) {
219
- this.state.searchValue = searchValue;
220
- this.state.showAllItems = showAllItems;
221
- this.updateFilteredOptions();
222
- this.notifyListeners(['searchValue', 'filteredOptions', 'showAllItems']);
223
- }
224
- /**
225
- * 검색어만 업데이트 (필터링 없이, API 모드용)
226
- */
227
- updateSearchValue(searchValue) {
228
- this.state.searchValue = searchValue;
229
- this.notifyListeners(['searchValue']);
230
- }
231
- /**
232
- * 드롭다운이 열릴 수 있는지 확인 (ComboBox용)
233
- */
234
- canOpenDropdown() {
235
- return this.state.showAllItems || this.state.searchValue.trim().length > 0;
236
- }
237
- /**
238
- * 검색 결과가 없는지 확인
239
- */
240
- hasNoResults() {
241
- return this.state.filteredOptions.length === 0 && (this.state.showAllItems || Boolean(this.state.searchValue));
242
- }
243
- /**
244
- * 값 설정 (API 호환성)
245
- */
246
- setValue(value) {
247
- const values = Array.isArray(value) ? value : [value];
248
- this.setSelectedValues(values);
249
- }
250
- /**
251
- * 값 가져오기 (API 호환성)
252
- */
253
- getValue() {
254
- return this.multiple ? this.state.selectedValues : this.state.selectedValues[0] || '';
255
- }
256
- /**
257
- * 입력 초기화 (ComboBox용)
258
- */
259
- clearInput() {
260
- this.updateSearchAndFilter('');
261
- }
262
- /**
263
- * 디버그 정보 (개발용)
264
- */
265
- getDebugInfo() {
266
- return {
267
- state: this.state,
268
- multiple: this.multiple,
269
- listeners: this.listeners.length,
270
- };
271
- }
272
- }
273
- /** SelectBox 기본 전략: 항상 모든 옵션 표시 */
274
- DropdownModel.defaultFilterStrategy = (options) => [...options];
275
- /** ComboBox 전략: 검색어/전체보기 기반 필터링 */
276
- DropdownModel.comboBoxFilterStrategy = (options, searchValue, showAllItems) => {
277
- if (!showAllItems && !searchValue) {
278
- return [];
279
- }
280
- if (searchValue) {
281
- const searchLower = searchValue.toLowerCase();
282
- return options.filter((option) => option.label.toLowerCase().includes(searchLower));
283
- }
284
- return [...options];
285
- };
286
- export { DropdownModel };
@@ -1,156 +0,0 @@
1
- import { DOMRenderer, DropdownRenderConfig } from './domRenderer';
2
- import { DropdownModel, DropdownState, StateChangeListener } from './dropdownModel';
3
- export interface UnifiedBoxControllerConfig {
4
- triggerElement: HTMLElement;
5
- dropdownElement: HTMLElement;
6
- model: DropdownModel;
7
- renderer: DOMRenderer;
8
- renderConfig: DropdownRenderConfig;
9
- onOpen?: () => void;
10
- onClose?: () => void;
11
- onSelectionChange?: (selectedValues: (string | number)[]) => void;
12
- onSearch?: (searchValue: string) => void;
13
- onScrollBottom?: () => void;
14
- disabled?: boolean;
15
- canToggle?: () => boolean;
16
- type?: 'selectbox' | 'combobox';
17
- }
18
- /**
19
- * SelectBox 통합 컨트롤러
20
- * 이벤트 처리, UI 상태 제어, 사용자 인터랙션 담당
21
- */
22
- export declare class UnifiedBoxController implements StateChangeListener {
23
- private config;
24
- private isOpen;
25
- private focusedIndex;
26
- private isKeyboardNavigation;
27
- private outsideClickHandler;
28
- private keyDownHandler;
29
- private scrollLockHandlers;
30
- private optionElements;
31
- private handlerMap;
32
- private scrollPosition;
33
- private mouseMoveHandlerAttached;
34
- private lastFilteredOptionsCount;
35
- private lastFilteredOptionsHash;
36
- private scrollBottomHandler?;
37
- private lastScrollBottomTime;
38
- constructor(config: UnifiedBoxControllerConfig);
39
- /**
40
- * 상태 변경 리스너 (Observer Pattern)
41
- */
42
- onStateChange(newState: DropdownState, changedFields: string[]): void;
43
- /**
44
- * 이벤트 핸들러 설정
45
- */
46
- private setupEventHandlers;
47
- /**
48
- * 드롭다운 열기
49
- */
50
- open(): void;
51
- /**
52
- * 드롭다운 닫기
53
- */
54
- close(): void;
55
- /**
56
- * 드롭다운 토글
57
- */
58
- toggle(): void;
59
- /**
60
- * 키보드 입력 처리
61
- */
62
- private handleKeyDown;
63
- /**
64
- * 옵션 검색
65
- */
66
- private searchOption;
67
- /**
68
- * 드롭다운 표시/숨김 업데이트
69
- */
70
- private updateDropdownVisibility;
71
- /**
72
- * 옵션 표시 업데이트
73
- */
74
- private updateOptionsDisplay;
75
- /**
76
- * 포커스된 옵션 업데이트
77
- */
78
- private updateFocusedOption;
79
- /**
80
- * 옵션 클릭 이벤트 핸들러 등록
81
- */
82
- private attachOptionEventHandlers;
83
- /**
84
- * 옵션 이벤트 핸들러 제거
85
- */
86
- private removeOptionEventHandlers;
87
- /**
88
- * 옵션 업데이트가 필요한지 판단
89
- */
90
- private shouldUpdateOptions;
91
- /**
92
- * 외부 클릭 감지 활성화
93
- */
94
- private enableOutsideClick;
95
- /**
96
- * 외부 클릭 감지 비활성화
97
- */
98
- private disableOutsideClick;
99
- /**
100
- * 스크롤 잠금 활성화 (드롭다운 내부 스크롤은 허용)
101
- * ComboBox 또는 multiple 모드에서는 스크롤 잠금 비활성화
102
- */
103
- private enableScrollLock;
104
- /**
105
- * 스크롤 가능한 부모 요소 찾기
106
- */
107
- private findScrollableParent;
108
- /**
109
- * 스크롤 잠금 해제
110
- */
111
- private disableScrollLock;
112
- /**
113
- * 마우스 호버 처리 (외부에서 호출용)
114
- */
115
- handleMouseHover(index: number): void;
116
- /**
117
- * 옵션 배열 업데이트
118
- */
119
- updateOptions(options: any[]): void;
120
- getIsOpen(): boolean;
121
- setFocus(index: number): void;
122
- getFocusedIndex(): number;
123
- /**
124
- * 드롭다운 위치 조정 (화면 크기에 따라 up/down 방향 결정)
125
- * 단일 선택 모드에서만 적용
126
- */
127
- private adjustDropdownPosition;
128
- /**
129
- * 드롭다운 위치 계산 (React dropdownUtils.ts 로직 참고)
130
- */
131
- private calculateDropdownPosition;
132
- /**
133
- * 드롭다운 예상 높이 계산
134
- */
135
- private estimateDropdownHeight;
136
- /**
137
- * 드롭다운 세부 위치 조정 (뷰포트 경계 처리)
138
- */
139
- private adjustDropdownPositionDetails;
140
- /**
141
- * 스크롤 바닥 감지 활성화
142
- */
143
- private enableScrollBottomDetection;
144
- /**
145
- * 스크롤 바닥 감지 비활성화
146
- */
147
- private disableScrollBottomDetection;
148
- /**
149
- * disabled 상태 설정
150
- */
151
- setDisabled(disabled: boolean): void;
152
- /**
153
- * 정리
154
- */
155
- destroy(): void;
156
- }