@ncds/ui-admin 1.8.28-alpha.0 → 1.8.28-alpha.1

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 (514) hide show
  1. package/dist/cjs/assets/scripts/notification/const/icons.js +1 -2
  2. package/dist/cjs/assets/scripts/notification/const/index.js +0 -30
  3. package/dist/cjs/assets/scripts/notification/const/sizes.js +5 -5
  4. package/dist/cjs/assets/scripts/notification/index.js +0 -7
  5. package/dist/cjs/assets/scripts/shared/ButtonCloseX.js +5 -4
  6. package/dist/cjs/assets/scripts/tooltip/const/classNames.js +29 -0
  7. package/dist/cjs/assets/scripts/tooltip/const/constants.js +58 -0
  8. package/dist/cjs/assets/scripts/tooltip/const/icons.js +15 -0
  9. package/dist/cjs/assets/scripts/tooltip/const/index.js +117 -0
  10. package/dist/cjs/assets/scripts/tooltip/const/templates.js +67 -0
  11. package/dist/cjs/assets/scripts/tooltip/const/types.js +5 -0
  12. package/dist/cjs/assets/scripts/utils/sanitize.js +0 -13
  13. package/dist/cjs/src/__tests__/helpers/dom.js +14 -0
  14. package/dist/cjs/src/__tests__/helpers/fileInput.js +92 -0
  15. package/dist/cjs/src/__tests__/helpers/fixedToday.js +17 -0
  16. package/dist/cjs/src/__tests__/helpers/matchMedia.js +50 -0
  17. package/dist/cjs/src/__tests__/helpers/rect.js +25 -0
  18. package/dist/cjs/src/components/action/button/__tests__/Button.test.js +260 -0
  19. package/dist/cjs/src/components/action/button-group/__tests__/ButtonGroup.test.js +267 -0
  20. package/dist/cjs/src/components/data-display/data-grid/__tests__/DataGrid.test.js +350 -0
  21. package/dist/cjs/src/components/data-display/table/__tests__/Table.dnd.dragCell.test.js +320 -0
  22. package/dist/cjs/src/components/data-display/table/__tests__/Table.dnd.test.js +313 -0
  23. package/dist/cjs/src/components/data-display/table/__tests__/Table.scroll.test.js +194 -0
  24. package/dist/cjs/src/components/data-display/table/__tests__/Table.test.js +382 -0
  25. package/dist/cjs/src/components/data-display/table/__tests__/dnd-context.test.js +61 -0
  26. package/dist/cjs/src/components/data-display/table/__tests__/dnd-preview.test.js +230 -0
  27. package/dist/cjs/src/components/data-display/table/__tests__/tableDndTestUtils.js +266 -0
  28. package/dist/cjs/src/components/data-display/table/__tests__/tableTestUtils.js +48 -0
  29. package/dist/cjs/src/components/data-display/table/__tests__/useTableScrollbars.ownership.test.js +362 -0
  30. package/dist/cjs/src/components/data-display/table/useTableScrollbars.js +0 -24
  31. package/dist/cjs/src/components/feedback-and-status/badge/__tests__/Badge.test.js +189 -0
  32. package/dist/cjs/src/components/feedback-and-status/badge-group/__tests__/BadgeGroup.test.js +119 -0
  33. package/dist/cjs/src/components/feedback-and-status/carousel-arrow/__tests__/CarouselArrow.test.js +94 -0
  34. package/dist/cjs/src/components/feedback-and-status/carousel-number-group/__tests__/CarouselNumberGroup.test.js +64 -0
  35. package/dist/cjs/src/components/feedback-and-status/empty-state/__tests__/EmptyState.test.js +126 -0
  36. package/dist/cjs/src/components/feedback-and-status/progress-bar/__tests__/ProgressBar.test.js +277 -0
  37. package/dist/cjs/src/components/feedback-and-status/progress-bar/__tests__/useProgressBar.test.js +249 -0
  38. package/dist/cjs/src/components/feedback-and-status/progress-bar/__tests__/utils.test.js +22 -0
  39. package/dist/cjs/src/components/feedback-and-status/progress-circle/__tests__/ProgressCircle.test.js +102 -0
  40. package/dist/cjs/src/components/feedback-and-status/spinner/__tests__/Spinner.test.js +76 -0
  41. package/dist/cjs/src/components/feedback-and-status/tag/__tests__/Tag.test.js +604 -0
  42. package/dist/cjs/src/components/forms-and-input/checkbox/__tests__/Checkbox.test.js +213 -0
  43. package/dist/cjs/src/components/forms-and-input/combo-box/ComboBox.js +2 -2
  44. package/dist/cjs/src/components/forms-and-input/combo-box/__tests__/ComboBox.interaction.test.js +442 -0
  45. package/dist/cjs/src/components/forms-and-input/combo-box/__tests__/ComboBox.register.test.js +153 -0
  46. package/dist/cjs/src/components/forms-and-input/combo-box/__tests__/comboBoxTestUtils.js +92 -0
  47. package/dist/cjs/src/components/forms-and-input/date-picker/__tests__/DatePicker.input.test.js +546 -0
  48. package/dist/cjs/src/components/forms-and-input/date-picker/__tests__/DatePicker.position.test.js +550 -0
  49. package/dist/cjs/src/components/forms-and-input/date-picker/__tests__/utils.test.js +34 -0
  50. package/dist/cjs/src/components/forms-and-input/file-input/__tests__/FileInput.select.test.js +266 -0
  51. package/dist/cjs/src/components/forms-and-input/image-file-input/__tests__/ImageFileInput.select.test.js +416 -0
  52. package/dist/cjs/src/components/forms-and-input/input-base/__tests__/InputBase.slots.test.js +236 -0
  53. package/dist/cjs/src/components/forms-and-input/number-input/__tests__/NumberInput.test.js +570 -0
  54. package/dist/cjs/src/components/forms-and-input/password-input/__tests__/PasswordInput.toggle.test.js +113 -0
  55. package/dist/cjs/src/components/forms-and-input/radio/__tests__/Radio.test.js +57 -0
  56. package/dist/cjs/src/components/forms-and-input/range-date-picker/__tests__/RangeDatePicker.test.js +275 -0
  57. package/dist/cjs/src/components/forms-and-input/range-date-picker-with-buttons/__tests__/RangeDatePickerWithButtons.test.js +235 -2
  58. package/dist/cjs/src/components/forms-and-input/select/__tests__/Select.test.js +275 -0
  59. package/dist/cjs/src/components/forms-and-input/select-box/SelectBox.js +2 -2
  60. package/dist/cjs/src/components/forms-and-input/select-box/__tests__/SelectBox.portal.test.js +371 -0
  61. package/dist/cjs/src/components/forms-and-input/select-box/__tests__/SelectBox.test.js +1335 -0
  62. package/dist/cjs/src/components/forms-and-input/slider/__tests__/Slider.test.js +390 -0
  63. package/dist/cjs/src/components/forms-and-input/switch/__tests__/Switch.test.js +317 -0
  64. package/dist/cjs/src/components/forms-and-input/textarea/__tests__/Textarea.test.js +255 -0
  65. package/dist/cjs/src/components/forms-and-input/textarea/__tests__/Textarea.unmount.test.js +158 -0
  66. package/dist/cjs/src/components/forms-and-input/toggle/__tests__/Toggle.test.js +138 -0
  67. package/dist/cjs/src/components/image-and-icons/featured-icon/__tests__/FeaturedIcon.test.js +67 -0
  68. package/dist/cjs/src/components/layout/block-container/__tests__/BlockContainer.test.js +59 -0
  69. package/dist/cjs/src/components/layout/block-header/__tests__/BlockHeader.test.js +169 -0
  70. package/dist/cjs/src/components/layout/block-header/__tests__/SubTitle.test.js +77 -0
  71. package/dist/cjs/src/components/layout/divider/__tests__/Divider.test.js +65 -0
  72. package/dist/cjs/src/components/layout/ncua-scope/__tests__/NcuaScope.test.js +146 -0
  73. package/dist/cjs/src/components/layout/page-title/__tests__/PageTitle.test.js +164 -0
  74. package/dist/cjs/src/components/navigation/context-tab/__tests__/ContextTab.test.js +616 -0
  75. package/dist/cjs/src/components/navigation/context-tab/__tests__/useContextTabScroll.test.js +592 -0
  76. package/dist/cjs/src/components/navigation/horizontal-tab/__tests__/HorizontalTab.test.js +211 -0
  77. package/dist/cjs/src/components/navigation/pagination/__tests__/Pagination.navigation.test.js +285 -0
  78. package/dist/cjs/src/components/navigation/vertical-tab/__tests__/VerticalTab.test.js +255 -0
  79. package/dist/cjs/src/components/overlays/dropdown/__tests__/Dropdown.dnd.test.js +558 -0
  80. package/dist/cjs/src/components/overlays/dropdown/__tests__/Dropdown.test.js +1020 -0
  81. package/dist/cjs/src/components/overlays/dropdown/__tests__/dropdownTestUtils.js +24 -0
  82. package/dist/cjs/src/components/overlays/dropdown/__tests__/utils.test.js +56 -0
  83. package/dist/cjs/src/components/overlays/modal/__tests__/Modal.test.js +426 -0
  84. package/dist/cjs/src/components/overlays/notification/__tests__/FloatingNotification.test.js +284 -0
  85. package/dist/cjs/src/components/overlays/notification/__tests__/MessageNotification.test.js +12 -0
  86. package/dist/cjs/src/components/overlays/postcode-search-modal/PostcodeSearchModalTip.js +2 -2
  87. package/dist/cjs/src/components/overlays/postcode-search-modal/__tests__/PostcodeSearchModal.viewport.test.js +141 -0
  88. package/dist/cjs/src/components/overlays/tooltip/__tests__/Tooltip.test.js +829 -0
  89. package/dist/cjs/src/components/tab/__tests__/TabButton.test.js +252 -0
  90. package/dist/cjs/src/hooks/__tests__/useCallbackRef.test.js +152 -0
  91. package/dist/cjs/src/hooks/__tests__/useMediaQuery.test.js +119 -0
  92. package/dist/cjs/src/hooks/__tests__/usePortalState.ssr.test.js +25 -0
  93. package/dist/cjs/src/hooks/dropdown/__tests__/dropdownHooks.test.js +168 -0
  94. package/dist/cjs/src/types/component-meta.js +0 -4
  95. package/dist/cjs/src/utils/__tests__/date-picker.test.js +105 -0
  96. package/dist/cjs/src/utils/dropdown/__tests__/dropdownUtils.test.js +24 -0
  97. package/dist/cjs/src/utils/dropdown/__tests__/multiSelect.test.js +49 -0
  98. package/dist/cjs/src/utils/dropdown/multiSelect.js +1 -6
  99. package/dist/cjs/src/utils/portal-position/__tests__/portalPosition.nullAnchor.test.js +67 -0
  100. package/dist/cjs/vitest.config.js +16 -10
  101. package/dist/esm/assets/scripts/notification/const/icons.js +0 -1
  102. package/dist/esm/assets/scripts/notification/const/index.js +2 -2
  103. package/dist/esm/assets/scripts/notification/const/sizes.js +4 -4
  104. package/dist/esm/assets/scripts/notification/index.js +1 -1
  105. package/dist/esm/assets/scripts/shared/ButtonCloseX.js +6 -3
  106. package/dist/esm/assets/scripts/tooltip/const/classNames.js +23 -0
  107. package/dist/esm/assets/scripts/tooltip/const/constants.js +52 -0
  108. package/dist/esm/assets/scripts/tooltip/const/icons.js +9 -0
  109. package/dist/esm/assets/scripts/tooltip/const/index.js +5 -0
  110. package/dist/esm/assets/scripts/tooltip/const/templates.js +60 -0
  111. package/dist/esm/assets/scripts/tooltip/const/types.js +1 -0
  112. package/dist/esm/assets/scripts/utils/sanitize.js +0 -12
  113. package/dist/esm/src/__tests__/helpers/dom.js +8 -0
  114. package/dist/esm/src/__tests__/helpers/fileInput.js +78 -0
  115. package/dist/esm/src/__tests__/helpers/fixedToday.js +10 -0
  116. package/dist/esm/src/__tests__/helpers/matchMedia.js +44 -0
  117. package/dist/esm/src/__tests__/helpers/rect.js +18 -0
  118. package/dist/esm/src/components/action/button/__tests__/Button.test.js +257 -0
  119. package/dist/esm/src/components/action/button-group/__tests__/ButtonGroup.test.js +264 -0
  120. package/dist/esm/src/components/data-display/data-grid/__tests__/DataGrid.test.js +347 -0
  121. package/dist/esm/src/components/data-display/table/__tests__/Table.dnd.dragCell.test.js +317 -0
  122. package/dist/esm/src/components/data-display/table/__tests__/Table.dnd.test.js +310 -0
  123. package/dist/esm/src/components/data-display/table/__tests__/Table.scroll.test.js +191 -0
  124. package/dist/esm/src/components/data-display/table/__tests__/Table.test.js +379 -0
  125. package/dist/esm/src/components/data-display/table/__tests__/dnd-context.test.js +58 -0
  126. package/dist/esm/src/components/data-display/table/__tests__/dnd-preview.test.js +227 -0
  127. package/dist/esm/src/components/data-display/table/__tests__/tableDndTestUtils.js +240 -0
  128. package/dist/esm/src/components/data-display/table/__tests__/tableTestUtils.js +40 -0
  129. package/dist/esm/src/components/data-display/table/__tests__/useTableScrollbars.ownership.test.js +359 -0
  130. package/dist/esm/src/components/data-display/table/useTableScrollbars.js +1 -1
  131. package/dist/esm/src/components/feedback-and-status/badge/__tests__/Badge.test.js +186 -0
  132. package/dist/esm/src/components/feedback-and-status/badge-group/__tests__/BadgeGroup.test.js +116 -0
  133. package/dist/esm/src/components/feedback-and-status/carousel-arrow/__tests__/CarouselArrow.test.js +91 -0
  134. package/dist/esm/src/components/feedback-and-status/carousel-number-group/__tests__/CarouselNumberGroup.test.js +61 -0
  135. package/dist/esm/src/components/feedback-and-status/empty-state/__tests__/EmptyState.test.js +123 -0
  136. package/dist/esm/src/components/feedback-and-status/progress-bar/__tests__/ProgressBar.test.js +274 -0
  137. package/dist/esm/src/components/feedback-and-status/progress-bar/__tests__/useProgressBar.test.js +246 -0
  138. package/dist/esm/src/components/feedback-and-status/progress-bar/__tests__/utils.test.js +19 -0
  139. package/dist/esm/src/components/feedback-and-status/progress-circle/__tests__/ProgressCircle.test.js +99 -0
  140. package/dist/esm/src/components/feedback-and-status/spinner/__tests__/Spinner.test.js +73 -0
  141. package/dist/esm/src/components/feedback-and-status/tag/__tests__/Tag.test.js +601 -0
  142. package/dist/esm/src/components/forms-and-input/checkbox/__tests__/Checkbox.test.js +210 -0
  143. package/dist/esm/src/components/forms-and-input/combo-box/ComboBox.js +1 -1
  144. package/dist/esm/src/components/forms-and-input/combo-box/__tests__/ComboBox.interaction.test.js +439 -0
  145. package/dist/esm/src/components/forms-and-input/combo-box/__tests__/ComboBox.register.test.js +151 -0
  146. package/dist/esm/src/components/forms-and-input/combo-box/__tests__/comboBoxTestUtils.js +77 -0
  147. package/dist/esm/src/components/forms-and-input/date-picker/__tests__/DatePicker.input.test.js +544 -0
  148. package/dist/esm/src/components/forms-and-input/date-picker/__tests__/DatePicker.position.test.js +546 -0
  149. package/dist/esm/src/components/forms-and-input/date-picker/__tests__/utils.test.js +31 -0
  150. package/dist/esm/src/components/forms-and-input/file-input/__tests__/FileInput.select.test.js +263 -0
  151. package/dist/esm/src/components/forms-and-input/image-file-input/__tests__/ImageFileInput.select.test.js +413 -0
  152. package/dist/esm/src/components/forms-and-input/input-base/__tests__/InputBase.slots.test.js +233 -0
  153. package/dist/esm/src/components/forms-and-input/number-input/__tests__/NumberInput.test.js +567 -0
  154. package/dist/esm/src/components/forms-and-input/password-input/__tests__/PasswordInput.toggle.test.js +110 -0
  155. package/dist/esm/src/components/forms-and-input/radio/__tests__/Radio.test.js +54 -0
  156. package/dist/esm/src/components/forms-and-input/range-date-picker/__tests__/RangeDatePicker.test.js +275 -0
  157. package/dist/esm/src/components/forms-and-input/range-date-picker-with-buttons/__tests__/RangeDatePickerWithButtons.test.js +235 -1
  158. package/dist/esm/src/components/forms-and-input/select/__tests__/Select.test.js +272 -0
  159. package/dist/esm/src/components/forms-and-input/select-box/SelectBox.js +1 -1
  160. package/dist/esm/src/components/forms-and-input/select-box/__tests__/SelectBox.portal.test.js +368 -0
  161. package/dist/esm/src/components/forms-and-input/select-box/__tests__/SelectBox.test.js +1332 -0
  162. package/dist/esm/src/components/forms-and-input/slider/__tests__/Slider.test.js +387 -0
  163. package/dist/esm/src/components/forms-and-input/switch/__tests__/Switch.test.js +314 -0
  164. package/dist/esm/src/components/forms-and-input/textarea/__tests__/Textarea.test.js +252 -0
  165. package/dist/esm/src/components/forms-and-input/textarea/__tests__/Textarea.unmount.test.js +155 -0
  166. package/dist/esm/src/components/forms-and-input/toggle/__tests__/Toggle.test.js +135 -0
  167. package/dist/esm/src/components/image-and-icons/featured-icon/__tests__/FeaturedIcon.test.js +64 -0
  168. package/dist/esm/src/components/layout/block-container/__tests__/BlockContainer.test.js +56 -0
  169. package/dist/esm/src/components/layout/block-header/__tests__/BlockHeader.test.js +166 -0
  170. package/dist/esm/src/components/layout/block-header/__tests__/SubTitle.test.js +74 -0
  171. package/dist/esm/src/components/layout/divider/__tests__/Divider.test.js +62 -0
  172. package/dist/esm/src/components/layout/ncua-scope/__tests__/NcuaScope.test.js +144 -0
  173. package/dist/esm/src/components/layout/page-title/__tests__/PageTitle.test.js +161 -0
  174. package/dist/esm/src/components/navigation/context-tab/__tests__/ContextTab.test.js +613 -0
  175. package/dist/esm/src/components/navigation/context-tab/__tests__/useContextTabScroll.test.js +589 -0
  176. package/dist/esm/src/components/navigation/horizontal-tab/__tests__/HorizontalTab.test.js +209 -0
  177. package/dist/esm/src/components/navigation/pagination/__tests__/Pagination.navigation.test.js +282 -0
  178. package/dist/esm/src/components/navigation/vertical-tab/__tests__/VerticalTab.test.js +252 -0
  179. package/dist/esm/src/components/overlays/dropdown/__tests__/Dropdown.dnd.test.js +556 -0
  180. package/dist/esm/src/components/overlays/dropdown/__tests__/Dropdown.test.js +1017 -0
  181. package/dist/esm/src/components/overlays/dropdown/__tests__/dropdownTestUtils.js +15 -0
  182. package/dist/esm/src/components/overlays/dropdown/__tests__/utils.test.js +57 -1
  183. package/dist/esm/src/components/overlays/modal/__tests__/Modal.test.js +423 -0
  184. package/dist/esm/src/components/overlays/notification/__tests__/FloatingNotification.test.js +281 -0
  185. package/dist/esm/src/components/overlays/notification/__tests__/MessageNotification.test.js +12 -0
  186. package/dist/esm/src/components/overlays/postcode-search-modal/PostcodeSearchModalTip.js +1 -1
  187. package/dist/esm/src/components/overlays/postcode-search-modal/__tests__/PostcodeSearchModal.viewport.test.js +139 -0
  188. package/dist/esm/src/components/overlays/tooltip/__tests__/Tooltip.test.js +826 -0
  189. package/dist/esm/src/components/tab/__tests__/TabButton.test.js +249 -0
  190. package/dist/esm/src/hooks/__tests__/useCallbackRef.test.js +149 -0
  191. package/dist/esm/src/hooks/__tests__/useMediaQuery.test.js +116 -0
  192. package/dist/esm/src/hooks/__tests__/usePortalState.ssr.test.js +22 -0
  193. package/dist/esm/src/hooks/dropdown/__tests__/dropdownHooks.test.js +165 -0
  194. package/dist/esm/src/types/component-meta.js +0 -4
  195. package/dist/esm/src/utils/__tests__/date-picker.test.js +107 -2
  196. package/dist/esm/src/utils/dropdown/__tests__/dropdownUtils.test.js +24 -0
  197. package/dist/esm/src/utils/dropdown/__tests__/multiSelect.test.js +46 -0
  198. package/dist/esm/src/utils/dropdown/multiSelect.js +5 -5
  199. package/dist/esm/src/utils/portal-position/__tests__/portalPosition.nullAnchor.test.js +64 -0
  200. package/dist/esm/vitest.config.js +16 -10
  201. package/dist/temp/assets/scripts/notification/const/icons.d.ts +0 -7
  202. package/dist/temp/assets/scripts/notification/const/icons.js +0 -1
  203. package/dist/temp/assets/scripts/notification/const/index.d.ts +3 -3
  204. package/dist/temp/assets/scripts/notification/const/index.js +2 -2
  205. package/dist/temp/assets/scripts/notification/const/sizes.d.ts +2 -14
  206. package/dist/temp/assets/scripts/notification/const/sizes.js +4 -4
  207. package/dist/temp/assets/scripts/notification/const/types.d.ts +3 -2
  208. package/dist/temp/assets/scripts/notification/index.d.ts +1 -1
  209. package/dist/temp/assets/scripts/notification/index.js +1 -1
  210. package/dist/temp/assets/scripts/shared/ButtonCloseX.d.ts +0 -2
  211. package/dist/temp/assets/scripts/shared/ButtonCloseX.js +6 -3
  212. package/dist/temp/assets/scripts/table/scrollbar/const.d.ts +0 -1
  213. package/dist/temp/assets/scripts/tooltip/const/classNames.d.ts +17 -0
  214. package/dist/temp/assets/scripts/tooltip/const/classNames.js +23 -0
  215. package/dist/temp/assets/scripts/tooltip/const/constants.d.ts +33 -0
  216. package/dist/temp/assets/scripts/tooltip/const/constants.js +48 -0
  217. package/dist/temp/assets/scripts/tooltip/const/icons.d.ts +4 -0
  218. package/dist/temp/assets/scripts/tooltip/const/icons.js +9 -0
  219. package/dist/temp/assets/scripts/tooltip/const/index.d.ts +5 -0
  220. package/dist/temp/assets/scripts/tooltip/const/index.js +5 -0
  221. package/dist/temp/assets/scripts/tooltip/const/templates.d.ts +16 -0
  222. package/dist/temp/assets/scripts/tooltip/const/templates.js +60 -0
  223. package/dist/temp/assets/scripts/tooltip/const/types.d.ts +17 -0
  224. package/dist/temp/assets/scripts/tooltip/const/types.js +1 -0
  225. package/dist/temp/assets/scripts/utils/sanitize.d.ts +0 -6
  226. package/dist/temp/assets/scripts/utils/sanitize.js +0 -12
  227. package/dist/temp/src/__tests__/helpers/dom.d.ts +2 -0
  228. package/dist/temp/src/__tests__/helpers/dom.js +8 -0
  229. package/dist/temp/src/__tests__/helpers/fileInput.d.ts +27 -0
  230. package/dist/temp/src/__tests__/helpers/fileInput.js +70 -0
  231. package/dist/temp/src/__tests__/helpers/fixedToday.d.ts +4 -0
  232. package/dist/temp/src/__tests__/helpers/fixedToday.js +8 -0
  233. package/dist/temp/src/__tests__/helpers/matchMedia.d.ts +13 -0
  234. package/dist/temp/src/__tests__/helpers/matchMedia.js +42 -0
  235. package/dist/temp/src/__tests__/helpers/rect.d.ts +2 -0
  236. package/dist/temp/src/__tests__/helpers/rect.js +5 -0
  237. package/dist/temp/src/components/action/button/__tests__/Button.test.d.ts +1 -0
  238. package/dist/temp/src/components/action/button/__tests__/Button.test.js +180 -0
  239. package/dist/temp/src/components/action/button-group/__tests__/ButtonGroup.test.d.ts +1 -0
  240. package/dist/temp/src/components/action/button-group/__tests__/ButtonGroup.test.js +162 -0
  241. package/dist/temp/src/components/data-display/data-grid/__tests__/DataGrid.test.d.ts +1 -0
  242. package/dist/temp/src/components/data-display/data-grid/__tests__/DataGrid.test.js +291 -0
  243. package/dist/temp/src/components/data-display/table/__tests__/Table.dnd.dragCell.test.d.ts +1 -0
  244. package/dist/temp/src/components/data-display/table/__tests__/Table.dnd.dragCell.test.js +255 -0
  245. package/dist/temp/src/components/data-display/table/__tests__/Table.dnd.test.d.ts +1 -0
  246. package/dist/temp/src/components/data-display/table/__tests__/Table.dnd.test.js +240 -0
  247. package/dist/temp/src/components/data-display/table/__tests__/Table.scroll.test.d.ts +1 -0
  248. package/dist/temp/src/components/data-display/table/__tests__/Table.scroll.test.js +145 -0
  249. package/dist/temp/src/components/data-display/table/__tests__/Table.test.d.ts +1 -0
  250. package/dist/temp/src/components/data-display/table/__tests__/Table.test.js +295 -0
  251. package/dist/temp/src/components/data-display/table/__tests__/dnd-context.test.d.ts +1 -0
  252. package/dist/temp/src/components/data-display/table/__tests__/dnd-context.test.js +42 -0
  253. package/dist/temp/src/components/data-display/table/__tests__/dnd-preview.test.d.ts +1 -0
  254. package/dist/temp/src/components/data-display/table/__tests__/dnd-preview.test.js +226 -0
  255. package/dist/temp/src/components/data-display/table/__tests__/tableDndTestUtils.d.ts +76 -0
  256. package/dist/temp/src/components/data-display/table/__tests__/tableDndTestUtils.js +153 -0
  257. package/dist/temp/src/components/data-display/table/__tests__/tableTestUtils.d.ts +11 -0
  258. package/dist/temp/src/components/data-display/table/__tests__/tableTestUtils.js +40 -0
  259. package/dist/temp/src/components/data-display/table/__tests__/useTableScrollbars.ownership.test.d.ts +1 -0
  260. package/dist/temp/src/components/data-display/table/__tests__/useTableScrollbars.ownership.test.js +269 -0
  261. package/dist/temp/src/components/data-display/table/dnd-context.d.ts +1 -1
  262. package/dist/temp/src/components/data-display/table/useTableScrollbars.d.ts +2 -2
  263. package/dist/temp/src/components/data-display/table/useTableScrollbars.js +1 -1
  264. package/dist/temp/src/components/feedback-and-status/badge/__tests__/Badge.test.d.ts +1 -0
  265. package/dist/temp/src/components/feedback-and-status/badge/__tests__/Badge.test.js +136 -0
  266. package/dist/temp/src/components/feedback-and-status/badge-group/__tests__/BadgeGroup.test.d.ts +1 -0
  267. package/dist/temp/src/components/feedback-and-status/badge-group/__tests__/BadgeGroup.test.js +103 -0
  268. package/dist/temp/src/components/feedback-and-status/carousel-arrow/__tests__/CarouselArrow.test.d.ts +1 -0
  269. package/dist/temp/src/components/feedback-and-status/carousel-arrow/__tests__/CarouselArrow.test.js +81 -0
  270. package/dist/temp/src/components/feedback-and-status/carousel-number-group/__tests__/CarouselNumberGroup.test.d.ts +1 -0
  271. package/dist/temp/src/components/feedback-and-status/carousel-number-group/__tests__/CarouselNumberGroup.test.js +53 -0
  272. package/dist/temp/src/components/feedback-and-status/empty-state/__tests__/EmptyState.test.d.ts +1 -0
  273. package/dist/temp/src/components/feedback-and-status/empty-state/__tests__/EmptyState.test.js +86 -0
  274. package/dist/temp/src/components/feedback-and-status/progress-bar/__tests__/ProgressBar.test.d.ts +1 -0
  275. package/dist/temp/src/components/feedback-and-status/progress-bar/__tests__/ProgressBar.test.js +221 -0
  276. package/dist/temp/src/components/feedback-and-status/progress-bar/__tests__/useProgressBar.test.d.ts +1 -0
  277. package/dist/temp/src/components/feedback-and-status/progress-bar/__tests__/useProgressBar.test.js +168 -0
  278. package/dist/temp/src/components/feedback-and-status/progress-bar/__tests__/utils.test.d.ts +1 -0
  279. package/dist/temp/src/components/feedback-and-status/progress-bar/__tests__/utils.test.js +35 -0
  280. package/dist/temp/src/components/feedback-and-status/progress-circle/__tests__/ProgressCircle.test.d.ts +1 -0
  281. package/dist/temp/src/components/feedback-and-status/progress-circle/__tests__/ProgressCircle.test.js +106 -0
  282. package/dist/temp/src/components/feedback-and-status/spinner/__tests__/Spinner.test.d.ts +1 -0
  283. package/dist/temp/src/components/feedback-and-status/spinner/__tests__/Spinner.test.js +73 -0
  284. package/dist/temp/src/components/feedback-and-status/tag/__tests__/Tag.test.d.ts +1 -0
  285. package/dist/temp/src/components/feedback-and-status/tag/__tests__/Tag.test.js +392 -0
  286. package/dist/temp/src/components/forms-and-input/checkbox/__tests__/Checkbox.test.d.ts +1 -0
  287. package/dist/temp/src/components/forms-and-input/checkbox/__tests__/Checkbox.test.js +180 -0
  288. package/dist/temp/src/components/forms-and-input/combo-box/ComboBox.d.ts +1 -2
  289. package/dist/temp/src/components/forms-and-input/combo-box/ComboBox.js +1 -1
  290. package/dist/temp/src/components/forms-and-input/combo-box/__tests__/ComboBox.interaction.test.d.ts +1 -0
  291. package/dist/temp/src/components/forms-and-input/combo-box/__tests__/ComboBox.interaction.test.js +295 -0
  292. package/dist/temp/src/components/forms-and-input/combo-box/__tests__/ComboBox.register.test.d.ts +1 -0
  293. package/dist/temp/src/components/forms-and-input/combo-box/__tests__/ComboBox.register.test.js +111 -0
  294. package/dist/temp/src/components/forms-and-input/combo-box/__tests__/comboBoxTestUtils.d.ts +22 -0
  295. package/dist/temp/src/components/forms-and-input/combo-box/__tests__/comboBoxTestUtils.js +69 -0
  296. package/dist/temp/src/components/forms-and-input/date-picker/__tests__/DatePicker.input.test.d.ts +1 -0
  297. package/dist/temp/src/components/forms-and-input/date-picker/__tests__/DatePicker.input.test.js +358 -0
  298. package/dist/temp/src/components/forms-and-input/date-picker/__tests__/DatePicker.position.test.d.ts +1 -0
  299. package/dist/temp/src/components/forms-and-input/date-picker/__tests__/DatePicker.position.test.js +361 -0
  300. package/dist/temp/src/components/forms-and-input/date-picker/__tests__/utils.test.d.ts +1 -0
  301. package/dist/temp/src/components/forms-and-input/date-picker/__tests__/utils.test.js +34 -0
  302. package/dist/temp/src/components/forms-and-input/file-input/__tests__/FileInput.select.test.d.ts +1 -0
  303. package/dist/temp/src/components/forms-and-input/file-input/__tests__/FileInput.select.test.js +206 -0
  304. package/dist/temp/src/components/forms-and-input/image-file-input/__tests__/ImageFileInput.select.test.d.ts +1 -0
  305. package/dist/temp/src/components/forms-and-input/image-file-input/__tests__/ImageFileInput.select.test.js +292 -0
  306. package/dist/temp/src/components/forms-and-input/input-base/__tests__/InputBase.slots.test.d.ts +1 -0
  307. package/dist/temp/src/components/forms-and-input/input-base/__tests__/InputBase.slots.test.js +177 -0
  308. package/dist/temp/src/components/forms-and-input/number-input/__tests__/NumberInput.test.d.ts +1 -0
  309. package/dist/temp/src/components/forms-and-input/number-input/__tests__/NumberInput.test.js +434 -0
  310. package/dist/temp/src/components/forms-and-input/password-input/__tests__/PasswordInput.toggle.test.d.ts +1 -0
  311. package/dist/temp/src/components/forms-and-input/password-input/__tests__/PasswordInput.toggle.test.js +88 -0
  312. package/dist/temp/src/components/forms-and-input/radio/__tests__/Radio.test.d.ts +1 -0
  313. package/dist/temp/src/components/forms-and-input/radio/__tests__/Radio.test.js +42 -0
  314. package/dist/temp/src/components/forms-and-input/range-date-picker/__tests__/RangeDatePicker.test.js +137 -0
  315. package/dist/temp/src/components/forms-and-input/range-date-picker-with-buttons/__tests__/RangeDatePickerWithButtons.test.js +201 -1
  316. package/dist/temp/src/components/forms-and-input/select/__tests__/Select.test.d.ts +1 -0
  317. package/dist/temp/src/components/forms-and-input/select/__tests__/Select.test.js +214 -0
  318. package/dist/temp/src/components/forms-and-input/select-box/SelectBox.d.ts +1 -2
  319. package/dist/temp/src/components/forms-and-input/select-box/SelectBox.js +1 -1
  320. package/dist/temp/src/components/forms-and-input/select-box/__tests__/SelectBox.portal.test.d.ts +1 -0
  321. package/dist/temp/src/components/forms-and-input/select-box/__tests__/SelectBox.portal.test.js +312 -0
  322. package/dist/temp/src/components/forms-and-input/select-box/__tests__/SelectBox.test.d.ts +1 -0
  323. package/dist/temp/src/components/forms-and-input/select-box/__tests__/SelectBox.test.js +991 -0
  324. package/dist/temp/src/components/forms-and-input/slider/__tests__/Slider.test.d.ts +1 -0
  325. package/dist/temp/src/components/forms-and-input/slider/__tests__/Slider.test.js +294 -0
  326. package/dist/temp/src/components/forms-and-input/switch/__tests__/Switch.test.d.ts +1 -0
  327. package/dist/temp/src/components/forms-and-input/switch/__tests__/Switch.test.js +234 -0
  328. package/dist/temp/src/components/forms-and-input/textarea/__tests__/Textarea.test.d.ts +1 -0
  329. package/dist/temp/src/components/forms-and-input/textarea/__tests__/Textarea.test.js +207 -0
  330. package/dist/temp/src/components/forms-and-input/textarea/__tests__/Textarea.unmount.test.d.ts +1 -0
  331. package/dist/temp/src/components/forms-and-input/textarea/__tests__/Textarea.unmount.test.js +120 -0
  332. package/dist/temp/src/components/forms-and-input/toggle/__tests__/Toggle.test.d.ts +1 -0
  333. package/dist/temp/src/components/forms-and-input/toggle/__tests__/Toggle.test.js +125 -0
  334. package/dist/temp/src/components/image-and-icons/featured-icon/__tests__/FeaturedIcon.test.d.ts +1 -0
  335. package/dist/temp/src/components/image-and-icons/featured-icon/__tests__/FeaturedIcon.test.js +47 -0
  336. package/dist/temp/src/components/layout/block-container/__tests__/BlockContainer.test.d.ts +1 -0
  337. package/dist/temp/src/components/layout/block-container/__tests__/BlockContainer.test.js +53 -0
  338. package/dist/temp/src/components/layout/block-header/__tests__/BlockHeader.test.d.ts +1 -0
  339. package/dist/temp/src/components/layout/block-header/__tests__/BlockHeader.test.js +127 -0
  340. package/dist/temp/src/components/layout/block-header/__tests__/SubTitle.test.d.ts +1 -0
  341. package/dist/temp/src/components/layout/block-header/__tests__/SubTitle.test.js +76 -0
  342. package/dist/temp/src/components/layout/divider/__tests__/Divider.test.d.ts +1 -0
  343. package/dist/temp/src/components/layout/divider/__tests__/Divider.test.js +53 -0
  344. package/dist/temp/src/components/layout/ncua-scope/__tests__/NcuaScope.test.d.ts +1 -0
  345. package/dist/temp/src/components/layout/ncua-scope/__tests__/NcuaScope.test.js +136 -0
  346. package/dist/temp/src/components/layout/page-title/__tests__/PageTitle.test.d.ts +1 -0
  347. package/dist/temp/src/components/layout/page-title/__tests__/PageTitle.test.js +119 -0
  348. package/dist/temp/src/components/navigation/context-tab/__tests__/ContextTab.test.d.ts +1 -0
  349. package/dist/temp/src/components/navigation/context-tab/__tests__/ContextTab.test.js +447 -0
  350. package/dist/temp/src/components/navigation/context-tab/__tests__/useContextTabScroll.test.d.ts +1 -0
  351. package/dist/temp/src/components/navigation/context-tab/__tests__/useContextTabScroll.test.js +352 -0
  352. package/dist/temp/src/components/navigation/horizontal-tab/__tests__/HorizontalTab.test.d.ts +1 -0
  353. package/dist/temp/src/components/navigation/horizontal-tab/__tests__/HorizontalTab.test.js +152 -0
  354. package/dist/temp/src/components/navigation/pagination/__tests__/Pagination.navigation.test.d.ts +1 -0
  355. package/dist/temp/src/components/navigation/pagination/__tests__/Pagination.navigation.test.js +265 -0
  356. package/dist/temp/src/components/navigation/vertical-tab/__tests__/VerticalTab.test.d.ts +1 -0
  357. package/dist/temp/src/components/navigation/vertical-tab/__tests__/VerticalTab.test.js +172 -0
  358. package/dist/temp/src/components/overlays/dropdown/__tests__/Dropdown.dnd.test.d.ts +1 -0
  359. package/dist/temp/src/components/overlays/dropdown/__tests__/Dropdown.dnd.test.js +423 -0
  360. package/dist/temp/src/components/overlays/dropdown/__tests__/Dropdown.test.d.ts +1 -0
  361. package/dist/temp/src/components/overlays/dropdown/__tests__/Dropdown.test.js +699 -0
  362. package/dist/temp/src/components/overlays/dropdown/__tests__/dropdownTestUtils.d.ts +3 -0
  363. package/dist/temp/src/components/overlays/dropdown/__tests__/dropdownTestUtils.js +17 -0
  364. package/dist/temp/src/components/overlays/dropdown/__tests__/utils.test.js +24 -1
  365. package/dist/temp/src/components/overlays/modal/__tests__/Modal.test.d.ts +1 -0
  366. package/dist/temp/src/components/overlays/modal/__tests__/Modal.test.js +307 -0
  367. package/dist/temp/src/components/overlays/notification/MessageNotificationParts.d.ts +0 -1
  368. package/dist/temp/src/components/overlays/notification/NotificationActionButtons.d.ts +0 -1
  369. package/dist/temp/src/components/overlays/notification/__tests__/FloatingNotification.test.d.ts +1 -0
  370. package/dist/temp/src/components/overlays/notification/__tests__/FloatingNotification.test.js +218 -0
  371. package/dist/temp/src/components/overlays/notification/__tests__/MessageNotification.test.js +10 -0
  372. package/dist/temp/src/components/overlays/postcode-search-modal/PostcodeSearchModalTip.d.ts +1 -3
  373. package/dist/temp/src/components/overlays/postcode-search-modal/PostcodeSearchModalTip.js +1 -1
  374. package/dist/temp/src/components/overlays/postcode-search-modal/__tests__/PostcodeSearchModal.viewport.test.d.ts +1 -0
  375. package/dist/temp/src/components/overlays/postcode-search-modal/__tests__/PostcodeSearchModal.viewport.test.js +112 -0
  376. package/dist/temp/src/components/overlays/tooltip/__tests__/Tooltip.test.d.ts +1 -0
  377. package/dist/temp/src/components/overlays/tooltip/__tests__/Tooltip.test.js +538 -0
  378. package/dist/temp/src/components/tab/__tests__/TabButton.test.d.ts +1 -0
  379. package/dist/temp/src/components/tab/__tests__/TabButton.test.js +181 -0
  380. package/dist/temp/src/constant/date-picker.d.ts +2 -1
  381. package/dist/temp/src/hooks/__tests__/useCallbackRef.test.d.ts +1 -0
  382. package/dist/temp/src/hooks/__tests__/useCallbackRef.test.js +99 -0
  383. package/dist/temp/src/hooks/__tests__/useMediaQuery.test.d.ts +1 -0
  384. package/dist/temp/src/hooks/__tests__/useMediaQuery.test.js +95 -0
  385. package/dist/temp/src/hooks/__tests__/usePortalState.ssr.test.d.ts +1 -0
  386. package/dist/temp/src/hooks/__tests__/usePortalState.ssr.test.js +19 -0
  387. package/dist/temp/src/hooks/dropdown/__tests__/dropdownHooks.test.d.ts +1 -0
  388. package/dist/temp/src/hooks/dropdown/__tests__/dropdownHooks.test.js +147 -0
  389. package/dist/temp/src/types/component-meta.d.ts +2 -1
  390. package/dist/temp/src/types/component-meta.js +0 -4
  391. package/dist/temp/src/utils/__tests__/date-picker.test.js +58 -2
  392. package/dist/temp/src/utils/dropdown/__tests__/dropdownUtils.test.js +9 -0
  393. package/dist/temp/src/utils/dropdown/__tests__/multiSelect.test.d.ts +1 -0
  394. package/dist/temp/src/utils/dropdown/__tests__/multiSelect.test.js +41 -0
  395. package/dist/temp/src/utils/dropdown/multiSelect.d.ts +0 -20
  396. package/dist/temp/src/utils/dropdown/multiSelect.js +5 -5
  397. package/dist/temp/src/utils/portal-position/__tests__/portalPosition.nullAnchor.test.d.ts +1 -0
  398. package/dist/temp/src/utils/portal-position/__tests__/portalPosition.nullAnchor.test.js +57 -0
  399. package/dist/temp/vitest.config.js +15 -9
  400. package/dist/types/assets/scripts/notification/const/icons.d.ts +0 -7
  401. package/dist/types/assets/scripts/notification/const/index.d.ts +3 -3
  402. package/dist/types/assets/scripts/notification/const/sizes.d.ts +2 -14
  403. package/dist/types/assets/scripts/notification/const/types.d.ts +3 -2
  404. package/dist/types/assets/scripts/notification/index.d.ts +1 -1
  405. package/dist/types/assets/scripts/shared/ButtonCloseX.d.ts +0 -2
  406. package/dist/types/assets/scripts/table/scrollbar/const.d.ts +0 -1
  407. package/dist/types/assets/scripts/tooltip/const/classNames.d.ts +17 -0
  408. package/dist/types/assets/scripts/tooltip/const/constants.d.ts +33 -0
  409. package/dist/types/assets/scripts/tooltip/const/icons.d.ts +4 -0
  410. package/dist/types/assets/scripts/tooltip/const/index.d.ts +5 -0
  411. package/dist/types/assets/scripts/tooltip/const/templates.d.ts +16 -0
  412. package/dist/types/assets/scripts/tooltip/const/types.d.ts +17 -0
  413. package/dist/types/assets/scripts/utils/sanitize.d.ts +0 -6
  414. package/dist/types/src/__tests__/helpers/dom.d.ts +2 -0
  415. package/dist/types/src/__tests__/helpers/fileInput.d.ts +27 -0
  416. package/dist/types/src/__tests__/helpers/fixedToday.d.ts +4 -0
  417. package/dist/types/src/__tests__/helpers/matchMedia.d.ts +13 -0
  418. package/dist/types/src/__tests__/helpers/rect.d.ts +2 -0
  419. package/dist/types/src/components/action/button/__tests__/Button.test.d.ts +1 -0
  420. package/dist/types/src/components/action/button-group/__tests__/ButtonGroup.test.d.ts +1 -0
  421. package/dist/types/src/components/data-display/data-grid/__tests__/DataGrid.test.d.ts +1 -0
  422. package/dist/types/src/components/data-display/table/__tests__/Table.dnd.dragCell.test.d.ts +1 -0
  423. package/dist/types/src/components/data-display/table/__tests__/Table.dnd.test.d.ts +1 -0
  424. package/dist/types/src/components/data-display/table/__tests__/Table.scroll.test.d.ts +1 -0
  425. package/dist/types/src/components/data-display/table/__tests__/Table.test.d.ts +1 -0
  426. package/dist/types/src/components/data-display/table/__tests__/dnd-context.test.d.ts +1 -0
  427. package/dist/types/src/components/data-display/table/__tests__/dnd-preview.test.d.ts +1 -0
  428. package/dist/types/src/components/data-display/table/__tests__/tableDndTestUtils.d.ts +76 -0
  429. package/dist/types/src/components/data-display/table/__tests__/tableTestUtils.d.ts +11 -0
  430. package/dist/types/src/components/data-display/table/__tests__/useTableScrollbars.ownership.test.d.ts +1 -0
  431. package/dist/types/src/components/data-display/table/dnd-context.d.ts +1 -1
  432. package/dist/types/src/components/data-display/table/useTableScrollbars.d.ts +2 -2
  433. package/dist/types/src/components/feedback-and-status/badge/__tests__/Badge.test.d.ts +1 -0
  434. package/dist/types/src/components/feedback-and-status/badge-group/__tests__/BadgeGroup.test.d.ts +1 -0
  435. package/dist/types/src/components/feedback-and-status/carousel-arrow/__tests__/CarouselArrow.test.d.ts +1 -0
  436. package/dist/types/src/components/feedback-and-status/carousel-number-group/__tests__/CarouselNumberGroup.test.d.ts +1 -0
  437. package/dist/types/src/components/feedback-and-status/empty-state/__tests__/EmptyState.test.d.ts +1 -0
  438. package/dist/types/src/components/feedback-and-status/progress-bar/__tests__/ProgressBar.test.d.ts +1 -0
  439. package/dist/types/src/components/feedback-and-status/progress-bar/__tests__/useProgressBar.test.d.ts +1 -0
  440. package/dist/types/src/components/feedback-and-status/progress-bar/__tests__/utils.test.d.ts +1 -0
  441. package/dist/types/src/components/feedback-and-status/progress-circle/__tests__/ProgressCircle.test.d.ts +1 -0
  442. package/dist/types/src/components/feedback-and-status/spinner/__tests__/Spinner.test.d.ts +1 -0
  443. package/dist/types/src/components/feedback-and-status/tag/__tests__/Tag.test.d.ts +1 -0
  444. package/dist/types/src/components/forms-and-input/checkbox/__tests__/Checkbox.test.d.ts +1 -0
  445. package/dist/types/src/components/forms-and-input/combo-box/ComboBox.d.ts +1 -2
  446. package/dist/types/src/components/forms-and-input/combo-box/__tests__/ComboBox.interaction.test.d.ts +1 -0
  447. package/dist/types/src/components/forms-and-input/combo-box/__tests__/ComboBox.register.test.d.ts +1 -0
  448. package/dist/types/src/components/forms-and-input/combo-box/__tests__/comboBoxTestUtils.d.ts +22 -0
  449. package/dist/types/src/components/forms-and-input/date-picker/__tests__/DatePicker.input.test.d.ts +1 -0
  450. package/dist/types/src/components/forms-and-input/date-picker/__tests__/DatePicker.position.test.d.ts +1 -0
  451. package/dist/types/src/components/forms-and-input/date-picker/__tests__/utils.test.d.ts +1 -0
  452. package/dist/types/src/components/forms-and-input/file-input/__tests__/FileInput.select.test.d.ts +1 -0
  453. package/dist/types/src/components/forms-and-input/image-file-input/__tests__/ImageFileInput.select.test.d.ts +1 -0
  454. package/dist/types/src/components/forms-and-input/input-base/__tests__/InputBase.slots.test.d.ts +1 -0
  455. package/dist/types/src/components/forms-and-input/number-input/__tests__/NumberInput.test.d.ts +1 -0
  456. package/dist/types/src/components/forms-and-input/password-input/__tests__/PasswordInput.toggle.test.d.ts +1 -0
  457. package/dist/types/src/components/forms-and-input/radio/__tests__/Radio.test.d.ts +1 -0
  458. package/dist/types/src/components/forms-and-input/select/__tests__/Select.test.d.ts +1 -0
  459. package/dist/types/src/components/forms-and-input/select-box/SelectBox.d.ts +1 -2
  460. package/dist/types/src/components/forms-and-input/select-box/__tests__/SelectBox.portal.test.d.ts +1 -0
  461. package/dist/types/src/components/forms-and-input/select-box/__tests__/SelectBox.test.d.ts +1 -0
  462. package/dist/types/src/components/forms-and-input/slider/__tests__/Slider.test.d.ts +1 -0
  463. package/dist/types/src/components/forms-and-input/switch/__tests__/Switch.test.d.ts +1 -0
  464. package/dist/types/src/components/forms-and-input/textarea/__tests__/Textarea.test.d.ts +1 -0
  465. package/dist/types/src/components/forms-and-input/textarea/__tests__/Textarea.unmount.test.d.ts +1 -0
  466. package/dist/types/src/components/forms-and-input/toggle/__tests__/Toggle.test.d.ts +1 -0
  467. package/dist/types/src/components/image-and-icons/featured-icon/__tests__/FeaturedIcon.test.d.ts +1 -0
  468. package/dist/types/src/components/layout/block-container/__tests__/BlockContainer.test.d.ts +1 -0
  469. package/dist/types/src/components/layout/block-header/__tests__/BlockHeader.test.d.ts +1 -0
  470. package/dist/types/src/components/layout/block-header/__tests__/SubTitle.test.d.ts +1 -0
  471. package/dist/types/src/components/layout/divider/__tests__/Divider.test.d.ts +1 -0
  472. package/dist/types/src/components/layout/ncua-scope/__tests__/NcuaScope.test.d.ts +1 -0
  473. package/dist/types/src/components/layout/page-title/__tests__/PageTitle.test.d.ts +1 -0
  474. package/dist/types/src/components/navigation/context-tab/__tests__/ContextTab.test.d.ts +1 -0
  475. package/dist/types/src/components/navigation/context-tab/__tests__/useContextTabScroll.test.d.ts +1 -0
  476. package/dist/types/src/components/navigation/horizontal-tab/__tests__/HorizontalTab.test.d.ts +1 -0
  477. package/dist/types/src/components/navigation/pagination/__tests__/Pagination.navigation.test.d.ts +1 -0
  478. package/dist/types/src/components/navigation/vertical-tab/__tests__/VerticalTab.test.d.ts +1 -0
  479. package/dist/types/src/components/overlays/dropdown/__tests__/Dropdown.dnd.test.d.ts +1 -0
  480. package/dist/types/src/components/overlays/dropdown/__tests__/Dropdown.test.d.ts +1 -0
  481. package/dist/types/src/components/overlays/dropdown/__tests__/dropdownTestUtils.d.ts +3 -0
  482. package/dist/types/src/components/overlays/modal/__tests__/Modal.test.d.ts +1 -0
  483. package/dist/types/src/components/overlays/notification/MessageNotificationParts.d.ts +0 -1
  484. package/dist/types/src/components/overlays/notification/NotificationActionButtons.d.ts +0 -1
  485. package/dist/types/src/components/overlays/notification/__tests__/FloatingNotification.test.d.ts +1 -0
  486. package/dist/types/src/components/overlays/postcode-search-modal/PostcodeSearchModalTip.d.ts +1 -3
  487. package/dist/types/src/components/overlays/postcode-search-modal/__tests__/PostcodeSearchModal.viewport.test.d.ts +1 -0
  488. package/dist/types/src/components/overlays/tooltip/__tests__/Tooltip.test.d.ts +1 -0
  489. package/dist/types/src/components/tab/__tests__/TabButton.test.d.ts +1 -0
  490. package/dist/types/src/constant/date-picker.d.ts +2 -1
  491. package/dist/types/src/hooks/__tests__/useCallbackRef.test.d.ts +1 -0
  492. package/dist/types/src/hooks/__tests__/useMediaQuery.test.d.ts +1 -0
  493. package/dist/types/src/hooks/__tests__/usePortalState.ssr.test.d.ts +1 -0
  494. package/dist/types/src/hooks/dropdown/__tests__/dropdownHooks.test.d.ts +1 -0
  495. package/dist/types/src/types/component-meta.d.ts +2 -1
  496. package/dist/types/src/utils/dropdown/__tests__/multiSelect.test.d.ts +1 -0
  497. package/dist/types/src/utils/dropdown/multiSelect.d.ts +0 -20
  498. package/dist/types/src/utils/portal-position/__tests__/portalPosition.nullAnchor.test.d.ts +1 -0
  499. package/package.json +3 -8
  500. package/dist/cjs/src/constant/index.js +0 -27
  501. package/dist/cjs/src/constant/size.js +0 -7
  502. package/dist/cjs/src/contexts/index.js +0 -16
  503. package/dist/esm/src/constant/index.js +0 -2
  504. package/dist/esm/src/constant/size.js +0 -1
  505. package/dist/esm/src/contexts/index.js +0 -1
  506. package/dist/temp/src/constant/index.d.ts +0 -2
  507. package/dist/temp/src/constant/index.js +0 -2
  508. package/dist/temp/src/constant/size.d.ts +0 -1
  509. package/dist/temp/src/constant/size.js +0 -1
  510. package/dist/temp/src/contexts/index.d.ts +0 -1
  511. package/dist/temp/src/contexts/index.js +0 -1
  512. package/dist/types/src/constant/index.d.ts +0 -2
  513. package/dist/types/src/constant/size.d.ts +0 -1
  514. package/dist/types/src/contexts/index.d.ts +0 -1
@@ -171,4 +171,13 @@ describe('findScrollableParent — 스크롤 부모 탐색 (characterisation)',
171
171
  const [boundary] = mountChain(createScrollable({ overflowY: 'scroll', scrollable: true }));
172
172
  expect(findScrollableParent(boundary, boundary)).toBe(boundary);
173
173
  });
174
+ it('UDD-01 boundary 밖 요소는 body 까지 올라가 boundary 를 만나지 못하고 null 을 반환한다', () => {
175
+ const [boundary] = mountChain(createScrollable({ overflowY: 'auto', scrollable: true }));
176
+ const [outside] = mountChain(createScrollable({ overflowY: 'visible', scrollable: false }), createScrollable({ overflowY: 'visible', scrollable: false }));
177
+ expect(findScrollableParent(outside, boundary)).toBeNull();
178
+ });
179
+ it('UDD-01 boundary 가 overflow auto 여도 내용이 넘치지 않으면 null 을 반환한다', () => {
180
+ const [boundary, target] = mountChain(createScrollable({ overflowY: 'auto', scrollable: false }), createScrollable({ overflowY: 'visible', scrollable: false }));
181
+ expect(findScrollableParent(target, boundary)).toBeNull();
182
+ });
174
183
  });
@@ -0,0 +1,41 @@
1
+ // @vitest-environment jsdom
2
+ //
3
+ // useMultiSelect 의 호출부 경유로 닿지 않는 방어 분기 — 위험 목록표 UDD-02 (PR-7c).
4
+ // SelectBox·ComboBox 는 tryToggle 에 항상 배열을 넘기므로 훅을 하네스로 직접 부른다.
5
+ import { createElement } from 'react';
6
+ import { createRoot } from 'react-dom/client';
7
+ import { act } from 'react-dom/test-utils';
8
+ import { afterEach, describe, expect, it } from 'vitest';
9
+ import { useMultiSelect } from '../multiSelect';
10
+ globalThis.IS_REACT_ACT_ENVIRONMENT = true;
11
+ const OPTIONS = [
12
+ { id: 'a', label: 'A' },
13
+ { id: 'b', label: 'B' },
14
+ ];
15
+ const cleanups = [];
16
+ afterEach(() => {
17
+ for (const cleanup of cleanups.splice(0))
18
+ cleanup();
19
+ });
20
+ const renderMultiSelect = () => {
21
+ const captured = { current: null };
22
+ const Probe = () => {
23
+ captured.current = useMultiSelect([], OPTIONS);
24
+ return null;
25
+ };
26
+ const container = document.createElement('div');
27
+ const root = createRoot(container);
28
+ cleanups.push(() => act(() => root.unmount()));
29
+ act(() => {
30
+ root.render(createElement(Probe));
31
+ });
32
+ if (captured.current === null)
33
+ throw new Error('useMultiSelect 반환값을 얻지 못했습니다');
34
+ return captured.current;
35
+ };
36
+ describe('UDD-02 tryToggle 현재값 방어', () => {
37
+ it('UDD-02 현재값이 배열이 아니면 빈 배열 기준으로 추가한다', () => {
38
+ const { tryToggle } = renderMultiSelect();
39
+ expect(tryToggle('a', undefined)).toEqual(['a']);
40
+ });
41
+ });
@@ -1,24 +1,4 @@
1
1
  import type { MultiSelectOption, SelectedTag } from '../../types';
2
- /**
3
- * 전체 선택 상태를 확인하는 유틸 함수
4
- */
5
- export declare const isAllItemsSelected: (selectedValues: (string | number)[], options: MultiSelectOption[]) => boolean;
6
- /**
7
- * 전체 선택 버튼 텍스트를 반환하는 유틸 함수
8
- */
9
- export declare const getSelectAllButtonText: (selectedValues: (string | number)[], options: MultiSelectOption[], selectText?: string, deselectText?: string) => string;
10
- /**
11
- * 전체 선택/해제를 처리하는 유틸 함수
12
- */
13
- export declare const handleSelectAllItems: (selectedValues: (string | number)[], options: MultiSelectOption[]) => (string | number)[];
14
- /**
15
- * 선택된 항목들을 태그 데이터로 변환하는 유틸 함수
16
- */
17
- export declare const getSelectedTags: (selectedValues: (string | number)[], options: MultiSelectOption[]) => SelectedTag[];
18
- /**
19
- * 태그 제거 시 선택값에서 해당 ID를 제거하는 유틸 함수
20
- */
21
- export declare const removeTagFromSelected: (selectedValues: (string | number)[], tagIdToRemove: string | number) => (string | number)[];
22
2
  export interface UseMultiSelectOptions {
23
3
  /** 전체 선택 버튼의 라벨 (default: '전체 선택') */
24
4
  selectText?: string;
@@ -3,7 +3,7 @@ import { isMaxSelectionLimitActive, isMaxSelectionReached } from './maxSelection
3
3
  /**
4
4
  * 전체 선택 상태를 확인하는 유틸 함수
5
5
  */
6
- export const isAllItemsSelected = (selectedValues, options) => {
6
+ const isAllItemsSelected = (selectedValues, options) => {
7
7
  if (options.length === 0)
8
8
  return false;
9
9
  const validOptionIds = options.filter((option) => !option.disabled).map((option) => option.id);
@@ -12,13 +12,13 @@ export const isAllItemsSelected = (selectedValues, options) => {
12
12
  /**
13
13
  * 전체 선택 버튼 텍스트를 반환하는 유틸 함수
14
14
  */
15
- export const getSelectAllButtonText = (selectedValues, options, selectText = '전체 선택', deselectText = '전체 해제') => {
15
+ const getSelectAllButtonText = (selectedValues, options, selectText = '전체 선택', deselectText = '전체 해제') => {
16
16
  return isAllItemsSelected(selectedValues, options) ? deselectText : selectText;
17
17
  };
18
18
  /**
19
19
  * 전체 선택/해제를 처리하는 유틸 함수
20
20
  */
21
- export const handleSelectAllItems = (selectedValues, options) => {
21
+ const handleSelectAllItems = (selectedValues, options) => {
22
22
  if (isAllItemsSelected(selectedValues, options)) {
23
23
  // 전체 해제: 빈 배열 반환
24
24
  return [];
@@ -29,7 +29,7 @@ export const handleSelectAllItems = (selectedValues, options) => {
29
29
  /**
30
30
  * 선택된 항목들을 태그 데이터로 변환하는 유틸 함수
31
31
  */
32
- export const getSelectedTags = (selectedValues, options) => {
32
+ const getSelectedTags = (selectedValues, options) => {
33
33
  return selectedValues
34
34
  .map((value) => {
35
35
  const option = options.find((opt) => opt.id === value);
@@ -40,7 +40,7 @@ export const getSelectedTags = (selectedValues, options) => {
40
40
  /**
41
41
  * 태그 제거 시 선택값에서 해당 ID를 제거하는 유틸 함수
42
42
  */
43
- export const removeTagFromSelected = (selectedValues, tagIdToRemove) => {
43
+ const removeTagFromSelected = (selectedValues, tagIdToRemove) => {
44
44
  return selectedValues.filter((id) => id !== tagIdToRemove);
45
45
  };
46
46
  /**
@@ -0,0 +1,57 @@
1
+ // @vitest-environment jsdom
2
+ import { afterEach, describe, expect, it, vi } from 'vitest';
3
+ import { trackPortalPosition } from '..';
4
+ /** afterEach 에서 호출할 구독 해제 함수 */
5
+ const cleanups = [];
6
+ afterEach(() => {
7
+ for (const cleanup of cleanups.splice(0)) {
8
+ cleanup();
9
+ }
10
+ document.body.replaceChildren();
11
+ });
12
+ const createPanel = () => {
13
+ const panel = document.createElement('div');
14
+ document.body.appendChild(panel);
15
+ return panel;
16
+ };
17
+ /** 구독 시점에는 anchor 를 돌려주고, detach() 이후에는 null 을 돌려주는 getAnchor */
18
+ const createDetachableAnchor = () => {
19
+ const element = document.createElement('button');
20
+ document.body.appendChild(element);
21
+ let current = element;
22
+ return {
23
+ getAnchor: () => current,
24
+ detach: () => {
25
+ current = null;
26
+ },
27
+ };
28
+ };
29
+ const track = (getAnchor, onUpdate) => {
30
+ const panel = createPanel();
31
+ cleanups.push(trackPortalPosition({ getAnchor, getPanel: () => panel, direction: 'down', onUpdate }));
32
+ };
33
+ describe('trackPortalPosition — 변화 시점 anchor 가 null (RSD-02)', () => {
34
+ it('RSD-02 구독 뒤 anchor 가 null 이 되면 resize 에도 onUpdate 를 부르지 않는다', () => {
35
+ // Given: 구독 시점에는 anchor 가 있었고 이후 사라진다
36
+ const anchor = createDetachableAnchor();
37
+ const onUpdate = vi.fn();
38
+ track(anchor.getAnchor, onUpdate);
39
+ onUpdate.mockClear();
40
+ anchor.detach();
41
+ // When: 창 크기 변화가 온다
42
+ window.dispatchEvent(new Event('resize'));
43
+ // Then: onUpdate 가 불리지 않는다
44
+ expect(onUpdate).not.toHaveBeenCalled();
45
+ });
46
+ it('RSD-02 (대조) anchor 가 남아 있으면 resize 에 onUpdate 를 부른다', () => {
47
+ // Given: anchor 가 계속 있다
48
+ const anchor = createDetachableAnchor();
49
+ const onUpdate = vi.fn();
50
+ track(anchor.getAnchor, onUpdate);
51
+ onUpdate.mockClear();
52
+ // When: 창 크기 변화가 온다
53
+ window.dispatchEvent(new Event('resize'));
54
+ // Then: 측정한 스타일로 onUpdate 가 불린다
55
+ expect(onUpdate).toHaveBeenCalledWith(expect.objectContaining({ position: 'fixed' }));
56
+ });
57
+ });
@@ -4,6 +4,8 @@ import { defineConfig } from 'vitest/config';
4
4
  // projectBaseDir 로 잡으므로, 패키지 루트 기준 상대경로(SF:src/foo.ts)로 두면 경로가
5
5
  // 해석되지 않아 커버리지가 통째로 무시된다.
6
6
  const REPO_ROOT = path.resolve(__dirname, '../..');
7
+ // CI 출력은 그대로 두고 로컬에서만 리포터를 더한다 (CI 는 GitHub Actions 가 CI=true 로 설정).
8
+ const LOCAL_REPORTERS = process.env.CI ? [] : ['text', 'html'];
7
9
  export default defineConfig({
8
10
  test: {
9
11
  include: [
@@ -26,20 +28,24 @@ export default defineConfig({
26
28
  '**/*.meta.ts',
27
29
  'src/types/**',
28
30
  'src/constant/**',
31
+ // generate:scoped-css 가 만드는 빌드 산출물(gitignore) — 존재 여부가 실행 환경마다 달라
32
+ // 분모가 흔들린다. git 에 없어 Sonar 스캔 대상이 아니므로 sonar 쪽 동기화는 필요 없다.
33
+ 'src/generated/**',
29
34
  ],
30
- // 'text' 미포함 — 미커버 파일이 수백 개라 파일별 상세 출력이 CI 로그를 덮는다.
31
- // 'lcov' 대신 'lcovonly' — 'lcov' 는 HTML 리포트까지 생성한다.
32
- reporter: ['text-summary', ['lcovonly', { projectRoot: REPO_ROOT }]],
35
+ // CI 에는 'text' 미포함 — 미커버 파일이 수백 개라 파일별 상세 출력이 CI 로그를 덮는다.
36
+ // 로컬(CI 환경변수 없음)에서만 파일별 표(text)와 HTML 리포트(coverage/index.html)를 더한다.
37
+ // 'lcov' 대신 'lcovonly' — 'lcov' 는 HTML 리포트까지 생성한다 (CI 에서는 불필요).
38
+ reporter: [...LOCAL_REPORTERS, 'text-summary', ['lcovonly', { projectRoot: REPO_ROOT }]],
33
39
  // 회귀 방지 하한선 — 실측에서 약 2%p 낮춘 값 (ui-admin-mcp 와 같은 여유폭).
34
- // 실측 기준: 2026-10-12, 25cb4d96 — stmts 54.91 / branch 44.63 / funcs 55.20 / lines 55.80
35
- // 최종 목표: 93 / 88 (lines 95 · branches 90). 테스트 보강 단계마다 실측 −2 로 인상한다.
40
+ // 실측 기준: 2026-10-28, 545a9c81 — stmts 98.92 / branch 96.79 / funcs 99.19 / lines 99.65
41
+ // (직전 2026-10-12, 25cb4d96 — 54.91 / 44.63 / 55.20 / 55.80 에서 PR-4~9 테스트로 인상. 최종 목표 93 / 88 초과 달성)
36
42
  // autoUpdate: false — 값은 실측을 확인하고 사람이 직접 올린다.
37
43
  thresholds: {
38
44
  autoUpdate: false,
39
- statements: 53,
40
- branches: 43,
41
- functions: 53,
42
- lines: 54,
45
+ statements: 96,
46
+ branches: 94,
47
+ functions: 97,
48
+ lines: 97,
43
49
  },
44
50
  },
45
51
  },
@@ -17,13 +17,6 @@ export declare const FULL_WIDTH_ICON_MAP: {
17
17
  readonly success: (size: string) => string;
18
18
  readonly info: (size: string) => string;
19
19
  };
20
- export declare const ICON_MAP: {
21
- readonly neutral: (size: string) => string;
22
- readonly error: (size: string) => string;
23
- readonly warning: (size: string) => string;
24
- readonly success: (size: string) => string;
25
- readonly info: (size: string) => string;
26
- };
27
20
  /** message 기본 타입 아이콘. floating 과 같은 4색에 info(neutral 과 같은 핀)를 더한다. */
28
21
  export declare const MESSAGE_ICON_MAP: Record<NotificationColor, IconFunction>;
29
22
  export {};
@@ -1,4 +1,4 @@
1
1
  export { CLASS_NAMES } from './classNames';
2
- export { FLOATING_ICON_MAP, FULL_WIDTH_ICON_MAP, ICON_MAP, MESSAGE_ICON_MAP, SVG_ICONS, } from './icons';
3
- export { CLOSE_BUTTON_SIZES, CLOSE_BUTTON_SVG_SIZES, FEATURED_ICON_SIZES, FULL_WIDTH_SIZES, getSizes, ICON_PIXEL_SIZES, MESSAGE_SIZES, } from './sizes';
4
- export type { BaseNotificationOptions, LegacyNotificationHierarchy, NotificationAction, NotificationActionButtonSize, NotificationColor, NotificationHierarchy, NotificationLinkTarget, } from './types';
2
+ export { FLOATING_ICON_MAP, FULL_WIDTH_ICON_MAP, MESSAGE_ICON_MAP, SVG_ICONS } from './icons';
3
+ export { FULL_WIDTH_SIZES, getSizes, MESSAGE_SIZES } from './sizes';
4
+ export type { BaseNotificationOptions, LegacyNotificationHierarchy, NotificationAction, NotificationActionButtonSize, NotificationColor, NotificationHierarchy, } from './types';
@@ -1,17 +1,4 @@
1
- export declare const FEATURED_ICON_SIZES: {
2
- readonly MOBILE: "md";
3
- readonly DESKTOP: "sm";
4
- };
5
- export declare const ICON_PIXEL_SIZES: {
6
- readonly MOBILE: "20";
7
- readonly DESKTOP: "16";
8
- readonly FULL_WIDTH: "16";
9
- };
10
- export declare const CLOSE_BUTTON_SIZES: {
11
- readonly MOBILE: "sm";
12
- readonly DESKTOP: "xs";
13
- };
14
- export declare const CLOSE_BUTTON_SVG_SIZES: {
1
+ declare const CLOSE_BUTTON_SVG_SIZES: {
15
2
  readonly xs: 16;
16
3
  readonly sm: 20;
17
4
  };
@@ -30,3 +17,4 @@ export declare const getSizes: {
30
17
  readonly closeButton: (isMobile: boolean) => "xs" | "sm";
31
18
  readonly closeButtonSvg: (size: keyof typeof CLOSE_BUTTON_SVG_SIZES) => 20 | 16;
32
19
  };
20
+ export {};
@@ -1,10 +1,10 @@
1
- export type NotificationColor = 'neutral' | 'error' | 'warning' | 'success' | 'info';
2
1
  /**
3
2
  * 텍스트 링크(`supportTextLink`)를 여는 대상. React `NotificationLinkTarget`과 같은 어휘다.
4
3
  * - `'_self'`: 같은 탭
5
4
  * - `'_blank'`: 새 탭 + `rel="noopener noreferrer"`
6
5
  */
7
- export type NotificationLinkTarget = '_self' | '_blank';
6
+ type NotificationLinkTarget = '_self' | '_blank';
7
+ export type NotificationColor = 'neutral' | 'error' | 'warning' | 'success' | 'info';
8
8
  /**
9
9
  * 알림 액션 버튼(`ncua-btn`)의 색상 수식자.
10
10
  * React `NotificationAction.hierarchy`와 동일한 어휘를 쓴다 — `ButtonTheme`의 부분집합이다.
@@ -64,3 +64,4 @@ export interface BaseNotificationOptions {
64
64
  */
65
65
  hidePermanentlyLabel?: string;
66
66
  }
67
+ export {};
@@ -1,5 +1,5 @@
1
1
  export type { BaseNotificationOptions, NotificationAction, NotificationColor, NotificationHierarchy } from './const';
2
- export { CLASS_NAMES, FLOATING_ICON_MAP, FULL_WIDTH_ICON_MAP, ICON_MAP, SVG_ICONS } from './const';
2
+ export { CLASS_NAMES, FLOATING_ICON_MAP, FULL_WIDTH_ICON_MAP, SVG_ICONS } from './const';
3
3
  export { FloatingNotification, type FloatingNotificationOptions } from './FloatingNotification';
4
4
  export { FullWidthNotification, type FullWidthNotificationOptions } from './FullWidthNotification';
5
5
  export { MessageNotification, type MessageNotificationOptions } from './MessageNotification';
@@ -1,5 +1,3 @@
1
1
  export type ButtonCloseXSize = 'xs' | 'sm' | 'md' | 'lg';
2
2
  export type ButtonCloseXTheme = 'dark' | 'light';
3
- export declare const SVG_SIZE: Record<ButtonCloseXSize, number>;
4
- export declare const X_CLOSE_SVG: (size: string) => string;
5
3
  export declare function ButtonCloseX(size: ButtonCloseXSize, theme?: ButtonCloseXTheme, additionalClasses?: string, ariaLabel?: string, onClick?: () => void): string;
@@ -37,7 +37,6 @@ export declare const SCROLLBAR_OWNERS: {
37
37
  readonly cdn: "cdn";
38
38
  readonly react: "react";
39
39
  };
40
- export type ScrollbarOwner = (typeof SCROLLBAR_OWNERS)[keyof typeof SCROLLBAR_OWNERS];
41
40
  export declare const SCROLLBAR_OWNER_VALUES: readonly string[];
42
41
  export declare const OPT_OUT_VALUE = "off";
43
42
  export declare const AXIS_VALUES: readonly ["both", "x", "y"];
@@ -0,0 +1,17 @@
1
+ export declare const CLASS_NAMES: {
2
+ TOOLTIP: string;
3
+ TOOLTIP_ICON: string;
4
+ TOOLTIP_BG: string;
5
+ TOOLTIP_TITLE: string;
6
+ TOOLTIP_CONTENT: string;
7
+ TOOLTIP_CLOSE_BUTTON: string;
8
+ TOOLTIP_HIDDEN_ARROW: string;
9
+ TOOLTIP_STROKE: string;
10
+ TOOLTIP_AUTO: string;
11
+ TOOLTIP_BG_VISIBLE: string;
12
+ TOOLTIP_BG_MEASURING: string;
13
+ TOOLTIP_BG_FORCE_HIDDEN: string;
14
+ TOOLTIP_GLOBAL_LAYER: string;
15
+ TOOLTIP_PANEL: string;
16
+ BUTTON_CLOSE_X: string;
17
+ };
@@ -0,0 +1,33 @@
1
+ import type { TooltipOptions } from './types';
2
+ export declare const MARGIN = 10;
3
+ export declare const DEFAULT_TOOLTIP_WIDTH = 200;
4
+ export declare const DEFAULT_TOOLTIP_HEIGHT = 60;
5
+ export declare const POSITION_PRIORITY: readonly ["bottom", "top", "right", "left"];
6
+ export declare const TOOLTIP_OFFSET = 8;
7
+ export declare const VIEWPORT_MARGIN = 8;
8
+ export declare const ICON_SIZES: {
9
+ readonly sm: 14;
10
+ readonly md: 16;
11
+ };
12
+ export declare const TRANSITION_DURATION = "0.18s";
13
+ export declare const OFFSCREEN_POSITION = "-99999px";
14
+ export declare const OPACITY: {
15
+ readonly HIDDEN: "0";
16
+ readonly VISIBLE: "1";
17
+ };
18
+ export declare const POSITION: {
19
+ readonly INITIAL: "0px";
20
+ readonly OFFSCREEN: "-99999px";
21
+ };
22
+ export declare const Z_INDEX: {
23
+ readonly TOOLTIP_LAYER: 2000;
24
+ };
25
+ export declare const EVENT_OPTIONS: {
26
+ readonly PASSIVE: {
27
+ readonly passive: true;
28
+ };
29
+ readonly ONCE: {
30
+ readonly once: true;
31
+ };
32
+ };
33
+ export declare const TOOLTIP_DEFAULT_VALUE: TooltipOptions;
@@ -0,0 +1,4 @@
1
+ export declare const SVG_ICONS: {
2
+ readonly 'help-circle-stroke': (size: number) => string;
3
+ readonly 'help-circle-fill': (size: number) => string;
4
+ };
@@ -0,0 +1,5 @@
1
+ export { CLASS_NAMES } from './classNames';
2
+ export { DEFAULT_TOOLTIP_HEIGHT, DEFAULT_TOOLTIP_WIDTH, EVENT_OPTIONS, ICON_SIZES, MARGIN, OFFSCREEN_POSITION, OPACITY, POSITION, POSITION_PRIORITY, TOOLTIP_DEFAULT_VALUE, TOOLTIP_OFFSET, VIEWPORT_MARGIN, Z_INDEX, } from './constants';
3
+ export { SVG_ICONS } from './icons';
4
+ export { CSS_TEMPLATES, FALLBACK_ICON_SVG, HTML_TEMPLATES } from './templates';
5
+ export type { CalculatedPosition, TooltipOptions } from './types';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 툴팁 관련 CSS 및 HTML 템플릿
3
+ */
4
+ export declare const CSS_TEMPLATES: {
5
+ readonly LAYER_CONTAINER: (zIndex: number) => string;
6
+ readonly TOOLTIP_PANEL: (zIndex: number) => string;
7
+ readonly ANCHOR_WRAPPER: "\n display: inline-flex;\n vertical-align: middle;\n margin: 0 4px;\n ";
8
+ readonly SHADOW_DOM_HOST: "\n :host {\n all: unset;\n display: block;\n font-family: var(--font-families-commerce-sans, system-ui);\n color: black;\n }\n ";
9
+ };
10
+ export declare const HTML_TEMPLATES: {
11
+ readonly ICON_WRAPPER: (className: string, iconSvg: string) => string;
12
+ readonly TOOLTIP_TITLE: (className: string, title: string) => string;
13
+ readonly TOOLTIP_CONTENT: (className: string, content: string) => string;
14
+ readonly TOOLTIP_CONTENT_SHADOW: (className: string) => string;
15
+ };
16
+ export declare const FALLBACK_ICON_SVG: (size: number) => string;
@@ -0,0 +1,17 @@
1
+ export interface TooltipOptions {
2
+ tooltipType?: 'white' | 'black';
3
+ iconType?: 'stroke' | 'fill';
4
+ position?: 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'auto';
5
+ size?: 'sm' | 'md';
6
+ hideArrow?: boolean;
7
+ title?: string;
8
+ content?: string;
9
+ type?: 'long' | 'short';
10
+ zIndex?: number;
11
+ useShadowDOM?: boolean;
12
+ className?: string;
13
+ panelClassName?: string;
14
+ forceVisible?: boolean;
15
+ iconColor?: string;
16
+ }
17
+ export type CalculatedPosition = 'top' | 'bottom' | 'left' | 'right' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
@@ -14,9 +14,3 @@
14
14
  * 이벤트 바인딩은 addEventListener로 별도 처리할 것.
15
15
  */
16
16
  export declare function sanitizeHtml(dirty: string): string;
17
- /**
18
- * 엘리먼트에 콘텐츠를 안전하게 설정한다.
19
- * - string: sanitize 후 innerHTML 교체
20
- * - HTMLElement: 기존 자식 제거 후 appendChild
21
- */
22
- export declare function setSafeInnerHTML(element: HTMLElement, content: string | HTMLElement): void;
@@ -0,0 +1,2 @@
1
+ /** 셀렉터에 맞는 첫 요소. 없으면 셀렉터를 담아 던져 실패 위치를 바로 보여 준다. */
2
+ export declare function mustQuery<T extends Element>(root: ParentNode, selector: string): T;
@@ -0,0 +1,27 @@
1
+ import { type Mock, vi } from 'vitest';
2
+ /** 내용은 검증 대상이 아니므로 최소 크기만 채운다 */
3
+ export declare const DUMMY_FILE_BYTES = 4;
4
+ /** 파일마다 type 등 속성이 달라 팩토리로 받는다 — 반환 함수는 (이름, 크기) 만 받는다 */
5
+ export declare const createFileFactory: (properties: FilePropertyBag) => (name: string, size?: number) => File;
6
+ /**
7
+ * URL.createObjectURL · revokeObjectURL 을 테스트마다 새 목으로 바꾸고 끝나면 원복한다.
8
+ * 모듈 최상위에서 호출해 beforeEach · afterEach 를 등록한다. 발급 URL 은 테스트마다 blob:mock/1 부터 센다.
9
+ */
10
+ export declare const mockObjectUrls: () => {
11
+ createObjectURL: Mock<(object: Blob | MediaSource) => string>;
12
+ revokeObjectURL: Mock<(url: string) => void>;
13
+ };
14
+ export declare const fileInputOf: (scope: HTMLElement) => HTMLInputElement;
15
+ export declare const browseButton: (scope: HTMLElement) => HTMLButtonElement;
16
+ /**
17
+ * jsdom 에는 파일 선택 UI 가 없어 files 를 직접 정의한 뒤 change 를 발생시킨다.
18
+ * React 는 상태 갱신을 반영하도록 dispatch 에 act 를 넘긴다.
19
+ */
20
+ export declare const selectFiles: (scope: HTMLElement, filesToSelect: File[] | null, dispatch?: (fire: () => void) => void) => void;
21
+ /**
22
+ * actual 의 각 File 이 expected 의 몇 번째 인스턴스인지 (없으면 -1).
23
+ * 이 환경에서 File 은 열거 가능한 own 속성이 없어 서로 다른 File 도 toEqual 이 통과하므로 동일성으로 비교한다.
24
+ */
25
+ export declare const indexesIn: (expected: File[], actual: File[]) => number[];
26
+ /** 목(mock) 의 마지막 호출에서 첫 인자(File[])를 꺼낸다 — 호출이 없으면 빈 배열 */
27
+ export declare const lastFilesOf: (mock: ReturnType<typeof vi.fn>) => File[];
@@ -0,0 +1,4 @@
1
+ /** 2026-10-21 (수) 정오 — 자정 경계 영향을 받지 않도록 정오로 둔다 */
2
+ export declare const FIXED_TODAY: Date;
3
+ /** Date 만 가짜로 고정한다 — flatpickr 내부 타이머는 실제로 흐른다. 해제는 호출 측 afterEach 의 vi.useRealTimers() */
4
+ export declare const useFixedToday: () => void;
@@ -0,0 +1,13 @@
1
+ /** React 쪽은 리스너 발화를 act 로 감싸야 해서 발화 방식을 주입받는다. */
2
+ type Dispatch = (dispatchToListeners: () => void) => void;
3
+ export interface FakeMediaQuery {
4
+ /** 저장된 change 리스너에 matches 값을 담아 발화한다. */
5
+ fire: (matches: boolean) => void;
6
+ listenerCount: () => number;
7
+ }
8
+ /**
9
+ * jsdom 에 없는 matchMedia 를 change 리스너를 보관하는 가짜로 바꾼다.
10
+ * 원본 복원 함수는 `cleanups` 에 넣으므로 호출 측 afterEach 가 되돌린다.
11
+ */
12
+ export declare function installMatchMedia(cleanups: (() => void)[], initial: boolean, dispatch?: Dispatch): FakeMediaQuery;
13
+ export {};
@@ -0,0 +1,2 @@
1
+ /** jsdom 은 레이아웃이 없어 getBoundingClientRect 가 전부 0 이다 — 테스트가 쓸 좌표만 채운 DOMRect 를 만든다. */
2
+ export declare const toRect: (rect: Partial<DOMRect>) => DOMRect;
@@ -0,0 +1,76 @@
1
+ import { dropTargetForElements, draggable as makeDraggable, monitorForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
2
+ import type { TableBodyProps, TableProps } from '../types';
3
+ type DraggableArgs = Parameters<typeof makeDraggable>[0];
4
+ type DropTargetArgs = Parameters<typeof dropTargetForElements>[0];
5
+ type MonitorArgs = Parameters<typeof monitorForElements>[0];
6
+ type MonitorCanPayload = Parameters<NonNullable<MonitorArgs['canMonitor']>>[0];
7
+ type GetInitialDataPayload = Parameters<NonNullable<DraggableArgs['getInitialData']>>[0];
8
+ type DragData = Record<string | symbol, unknown>;
9
+ /** cleanup 이 아직 불리지 않은 registration 만 등록 순서대로 돌려준다 */
10
+ declare const draggables: () => DraggableArgs[];
11
+ declare const dropTargets: () => DropTargetArgs[];
12
+ declare const monitors: () => MonitorArgs[];
13
+ declare const stubRect: (element: Element, rect: Partial<DOMRect>) => void;
14
+ declare const ROW_HEIGHT = 40;
15
+ declare const UPPER_HALF_Y = 10;
16
+ declare const LOWER_HALF_Y = 30;
17
+ declare const rowOf: (dragId: string, scope?: ParentNode) => HTMLTableRowElement;
18
+ /** 드래그 핸들(button)이 scope 안의 dragId 행에 속한 draggable registration */
19
+ declare const draggableArgsOf: (dragId: string, scope?: ParentNode) => DraggableArgs;
20
+ declare const dropTargetArgsOf: (dragId: string) => DropTargetArgs;
21
+ declare const sourceDataOf: (dragId: string, scope?: ParentNode) => DragData;
22
+ /** 행 dropTarget 의 getData 를 실제 closest-edge 로 실행해 target data 를 만든다. */
23
+ declare const targetDataOf: (dragId: string, clientY: number, source: DragData) => DragData;
24
+ /** 등록된 모든 monitor 에 drop 을 흘린다 (canMonitor 통과한 것만). */
25
+ declare const dropOnMonitors: (source: DragData, targets: DragData[]) => void;
26
+ type RowDragEvent = 'onDragEnter' | 'onDrag' | 'onDragLeave' | 'onDrop';
27
+ /** 행 dropTarget 콜백에 self(=closest-edge 가 붙은 target data)·source 를 넘긴다. */
28
+ declare const fireRowEvent: (event: RowDragEvent, targetId: string, sourceId: string, clientY: number) => void;
29
+ declare const ROW_LEFT = 20;
30
+ declare const ROW_TOP = 100;
31
+ declare const ROW_WIDTH = 600;
32
+ declare const START_X = 50;
33
+ declare const START_Y = 110;
34
+ declare const MOVE_X = 200;
35
+ declare const MOVE_Y = 300;
36
+ declare const OFFSET_X: number;
37
+ declare const OFFSET_Y: number;
38
+ declare const generatePreview: (args: DraggableArgs, nativeSetDragImage?: DataTransfer['setDragImage']) => void;
39
+ declare const startDrag: (args: DraggableArgs) => void;
40
+ declare const endDrag: (args: DraggableArgs) => void;
41
+ declare const previewOverlays: () => HTMLElement[];
42
+ declare const fireDragOver: (clientX: number, clientY: number) => void;
43
+ /** beforeEach 에서 부른다 */
44
+ declare const trackDragOverListeners: () => void;
45
+ /** afterEach 에서 부른다 — 남은 오버레이·dragover 리스너를 정리하고 spy 를 되돌린다 */
46
+ declare const cleanupDragPreview: () => void;
47
+ declare const ROW_IDS: string[];
48
+ declare const draggableTable: (onRowDrop: TableBodyProps['onRowDrop']) => import("react").FunctionComponentElement<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "draggable" | "ref"> & {
49
+ type?: import("../types").TableType | undefined;
50
+ fixedHeader?: boolean | undefined;
51
+ maxHeight?: string | number | undefined;
52
+ hoverable?: boolean | undefined;
53
+ selectable?: boolean | undefined;
54
+ horizontalScroll?: boolean | undefined;
55
+ minWidth?: string | number | undefined;
56
+ draggable?: boolean | undefined;
57
+ children: import("react").ReactNode;
58
+ } & import("react").RefAttributes<HTMLDivElement>>;
59
+ type RowSpec = {
60
+ id: string;
61
+ selected?: boolean;
62
+ disabled?: boolean;
63
+ withDragCell?: boolean;
64
+ };
65
+ declare const customTable: (rows: RowSpec[], tableProps?: Partial<TableProps>, bodyProps?: Partial<TableBodyProps>) => import("react").FunctionComponentElement<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "draggable" | "ref"> & {
66
+ type?: import("../types").TableType | undefined;
67
+ fixedHeader?: boolean | undefined;
68
+ maxHeight?: string | number | undefined;
69
+ hoverable?: boolean | undefined;
70
+ selectable?: boolean | undefined;
71
+ horizontalScroll?: boolean | undefined;
72
+ minWidth?: string | number | undefined;
73
+ draggable?: boolean | undefined;
74
+ children: import("react").ReactNode;
75
+ } & import("react").RefAttributes<HTMLDivElement>>;
76
+ export { type DraggableArgs, type DropTargetArgs, type MonitorCanPayload, type GetInitialDataPayload, type DragData, draggables, dropTargets, monitors, stubRect, ROW_HEIGHT, UPPER_HALF_Y, LOWER_HALF_Y, rowOf, draggableArgsOf, dropTargetArgsOf, sourceDataOf, targetDataOf, dropOnMonitors, fireRowEvent, ROW_LEFT, ROW_TOP, ROW_WIDTH, START_X, START_Y, MOVE_X, MOVE_Y, OFFSET_X, OFFSET_Y, generatePreview, startDrag, endDrag, previewOverlays, fireDragOver, trackDragOverListeners, cleanupDragPreview, ROW_IDS, draggableTable, customTable, };
@@ -0,0 +1,11 @@
1
+ import type { ReactElement } from 'react';
2
+ /** 한 테스트 안에서 다시 부르면 같은 root 에 리렌더한다 */
3
+ declare const render: (element: ReactElement) => HTMLElement;
4
+ /** 각 테스트 파일의 afterEach 에서 부른다 */
5
+ declare const cleanupRender: () => void;
6
+ declare class ResizeObserverStub {
7
+ observe(): void;
8
+ unobserve(): void;
9
+ disconnect(): void;
10
+ }
11
+ export { render, cleanupRender, ResizeObserverStub };
@@ -8,5 +8,5 @@ type RowDndContextValue = {
8
8
  setIsDragging: (v: boolean) => void;
9
9
  };
10
10
  declare const RowDndContext: import("react").Context<RowDndContextValue>;
11
- export type { TableDndContextValue, RowDndContextValue };
11
+ export type { TableDndContextValue };
12
12
  export { TableDndContext, RowDndContext };