uikit-react-public 0.14.21 → 0.21.8

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 (392) hide show
  1. package/README.md +2 -2
  2. package/dist/components/Accordion/Accordion.Heading.d.ts +5 -4
  3. package/dist/components/Accordion/Accordion.Panel.d.ts +2 -2
  4. package/dist/components/Accordion/Accordion.d.ts +1 -1
  5. package/dist/components/Accordion/Accordion.stories.d.ts +57 -0
  6. package/dist/components/Accordion/index.d.ts +2 -0
  7. package/dist/components/AppHeader/AppHeader.d.ts +1 -1
  8. package/dist/components/AppHeader/AppHeaderBottom.d.ts +1 -1
  9. package/dist/components/AppHeader/AppHeaderNav.d.ts +1 -1
  10. package/dist/components/AppHeader/AppHeaderTop.d.ts +1 -1
  11. package/dist/components/Avatar/Avatar.stories.d.ts +107 -1
  12. package/dist/components/Breadcrumbs/Breadcrumb.d.ts +3 -4
  13. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +1 -1
  14. package/dist/components/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -1
  15. package/dist/components/Button/Button.d.ts +8 -3
  16. package/dist/components/Button/Button.stories.d.ts +17 -7
  17. package/dist/components/Button/style/buttonAccentStyle.d.ts +4 -0
  18. package/dist/components/Button/style/buttonPrimaryDestructiveStyle.d.ts +4 -0
  19. package/dist/components/Button/style/buttonPrimaryStyle.d.ts +4 -0
  20. package/dist/components/Button/style/buttonPrimarySubtleStyle.d.ts +4 -0
  21. package/dist/components/Button/style/buttonPrimaryWarningStyle.d.ts +4 -0
  22. package/dist/components/Button/style/buttonSecondaryDestructiveStyle.d.ts +4 -0
  23. package/dist/components/Button/style/buttonSecondaryStyle.d.ts +4 -0
  24. package/dist/components/Button/style/buttonSecondarySubtleStyle.d.ts +4 -0
  25. package/dist/components/Button/style/buttonTertiaryDestructiveStyle.d.ts +4 -0
  26. package/dist/components/Button/style/buttonTertiaryNoPaddingStyle.d.ts +4 -0
  27. package/dist/components/Button/style/buttonTertiaryStyle.d.ts +4 -0
  28. package/dist/components/Calendar/index.d.ts +1 -1
  29. package/dist/components/Checkbox/Checkbox.d.ts +1 -0
  30. package/dist/components/Datepicker/Datepicker.d.ts +1 -1
  31. package/dist/components/Datepicker/Datepicker.stories.d.ts +4 -3
  32. package/dist/components/Datepicker/Datepicker.types.d.ts +4 -5
  33. package/dist/components/Datepicker/subcomponents/CustomDatepicker.d.ts +4 -1
  34. package/dist/components/Datepicker/subcomponents/DatepickerInput.d.ts +15 -2
  35. package/dist/components/Datepicker/subcomponents/Panel.d.ts +1 -1
  36. package/dist/components/Datepicker/subcomponents/VisibleField.d.ts +6 -1
  37. package/dist/components/Datepicker/subcomponents/index.d.ts +0 -1
  38. package/dist/components/Datepicker/utils/index.d.ts +0 -1
  39. package/dist/components/Dialog/BaseDialog.d.ts +2 -1
  40. package/dist/components/Dialog/Dialog.d.ts +2 -0
  41. package/dist/components/FooterNew/BackToTop.d.ts +8 -0
  42. package/dist/components/FooterNew/Footer.d.ts +23 -0
  43. package/dist/components/FooterNew/FooterColumn.d.ts +8 -0
  44. package/dist/components/FooterNew/FooterLinks.d.ts +7 -0
  45. package/dist/components/FooterNew/FooterNavLink.d.ts +8 -0
  46. package/dist/components/FooterNew/LegalAndCopyright.d.ts +14 -0
  47. package/dist/components/FooterNew/LogoAddressAndSocial.d.ts +10 -0
  48. package/dist/components/FooterNew/SocialLink.d.ts +8 -0
  49. package/dist/components/FooterNew/index.d.ts +2 -0
  50. package/dist/components/Header/Header.d.ts +4 -1
  51. package/dist/components/Header/Header.stories.d.ts +40 -0
  52. package/dist/components/HeaderNew/Header.d.ts +18 -0
  53. package/dist/components/HeaderNew/HeaderBorder.d.ts +7 -0
  54. package/dist/components/HeaderNew/HeaderLogo.d.ts +9 -0
  55. package/dist/components/HeaderNew/HeaderMenuContainer.d.ts +7 -0
  56. package/dist/components/HeaderNew/HeaderTitle.d.ts +9 -0
  57. package/dist/components/HeaderNew/__tests__/Header.test.d.ts +1 -0
  58. package/dist/components/HeaderNew/constants.d.ts +3 -0
  59. package/dist/components/HeaderNew/index.d.ts +3 -0
  60. package/dist/components/HeadingNew/Heading.d.ts +13 -0
  61. package/dist/components/HeadingNew/index.d.ts +2 -0
  62. package/dist/components/Icon/svgImports.d.ts +7 -881
  63. package/dist/components/Link/BaseLink.d.ts +14 -5
  64. package/dist/components/Link/Link.d.ts +8 -3
  65. package/dist/components/Link/Link.stories.d.ts +3 -1
  66. package/dist/components/Main/Main.d.ts +21 -0
  67. package/dist/components/Main/Main.stories.d.ts +15 -0
  68. package/dist/components/Main/__tests__/Main.test.d.ts +1 -0
  69. package/dist/components/Main/index.d.ts +2 -0
  70. package/dist/components/MenuNew/Menu.context.d.ts +14 -0
  71. package/dist/components/MenuNew/Menu.d.ts +20 -0
  72. package/dist/components/MenuNew/MenuContent.d.ts +9 -0
  73. package/dist/components/MenuNew/MenuItem.d.ts +10 -0
  74. package/dist/components/MenuNew/MenuSection.d.ts +7 -0
  75. package/dist/components/MenuNew/index.d.ts +6 -0
  76. package/dist/components/MenuNew/trigger/ButtonMenuTrigger.d.ts +8 -0
  77. package/dist/components/MenuNew/trigger/IconMenuTrigger.d.ts +8 -0
  78. package/dist/components/NativeDatepicker/NativeDatepicker.d.ts +3 -0
  79. package/dist/components/NativeDatepicker/NativeDatepicker.stories.d.ts +36 -0
  80. package/dist/components/NativeDatepicker/NativeDatepicker.types.d.ts +10 -0
  81. package/dist/components/NativeDatepicker/index.d.ts +2 -0
  82. package/dist/components/{Datepicker → NativeDatepicker}/utils/dateToLocaleISOString/dateToLocaleISOString.d.ts +1 -1
  83. package/dist/components/NativeDatepicker/utils/dateToLocaleISOString/dateToLocaleISOString.test.d.ts +1 -0
  84. package/dist/components/NativeDatepicker/utils/index.d.ts +1 -0
  85. package/dist/components/Overlay/Overlay.stories.d.ts +12 -12
  86. package/dist/components/ParagraphNew/Paragraph.d.ts +13 -0
  87. package/dist/components/ParagraphNew/index.d.ts +4 -0
  88. package/dist/components/Select/Select.d.ts +2 -1
  89. package/dist/components/Select/Select.stories.d.ts +167 -3
  90. package/dist/components/Select/Select.types.d.ts +75 -19
  91. package/dist/components/Select/subcomponents/CustomOption.d.ts +1 -1
  92. package/dist/components/Select/subcomponents/CustomSelect.d.ts +3 -2
  93. package/dist/components/Select/subcomponents/FilterInput.d.ts +16 -0
  94. package/dist/components/Select/subcomponents/NativeSelect.d.ts +5 -1
  95. package/dist/components/Select/subcomponents/VisibleField.d.ts +6 -1
  96. package/dist/components/Select/subcomponents/index.d.ts +1 -0
  97. package/dist/components/Spinner/Spinner.d.ts +2 -0
  98. package/dist/components/StandaloneLink/StandaloneLink.d.ts +8 -5
  99. package/dist/components/StandaloneLink/StandaloneLink.stories.d.ts +3 -1
  100. package/dist/components/Table/Table.d.ts +3 -3
  101. package/dist/components/Table/Table.stories.d.ts +3 -3
  102. package/dist/components/Table/Table.types.d.ts +1 -0
  103. package/dist/components/Table/subcomponents/Cell/Cell.d.ts +5 -1
  104. package/dist/components/Table/subcomponents/Cell/Cell.stories.d.ts +15 -13
  105. package/dist/components/Table/subcomponents/Cell/CellContent.d.ts +5 -1
  106. package/dist/components/Table/subcomponents/HeadCell/HeadCell.d.ts +2 -1
  107. package/dist/components/Table/subcomponents/HeadCell/HeadCell.stories.d.ts +14 -13
  108. package/dist/components/Table/subcomponents/HeadCell/HeadCellContent.d.ts +2 -1
  109. package/dist/components/Table/subcomponents/__tests__/Row.test.d.ts +1 -0
  110. package/dist/components/UclLogoNew/UclLogo.d.ts +8 -0
  111. package/dist/components/UclLogoNew/index.d.ts +2 -0
  112. package/dist/components/WeekPicker/WeekPicker.d.ts +2 -2
  113. package/dist/components/WeekPicker/WeekPicker.stories.d.ts +41 -0
  114. package/dist/components/WeekPicker/WeekPicker.types.d.ts +16 -0
  115. package/dist/components/WeekPicker/index.d.ts +1 -0
  116. package/dist/components/WeekPicker/subcomponents/CustomDatepicker.d.ts +1 -1
  117. package/dist/components/index.d.ts +20 -0
  118. package/dist/hooks/useFocusTrap.d.ts +2 -1
  119. package/dist/index.d.ts +1 -0
  120. package/dist/index.js +22204 -16719
  121. package/dist/theme/__tests__/fonts.test.d.ts +1 -0
  122. package/dist/theme/common/themeCommon.d.ts +904 -0
  123. package/dist/theme/fonts.d.ts +18 -0
  124. package/dist/theme/index.d.ts +6 -3
  125. package/dist/theme/light/lightColour.d.ts +126 -0
  126. package/dist/theme/light/lightTheme.d.ts +3 -0
  127. package/dist/theme/original/color.d.ts +166 -0
  128. package/dist/theme/original/defaultTheme.d.ts +1340 -0
  129. package/dist/theme/original/originalColourNewStructure.d.ts +126 -0
  130. package/dist/theme/useTheme.d.ts +2174 -0
  131. package/dist/utils/__tests__/announce.test.d.ts +1 -0
  132. package/dist/utils/addAlphaToHex.d.ts +5 -0
  133. package/dist/utils/announce.d.ts +6 -0
  134. package/dist/utils/index.d.ts +1 -0
  135. package/dist/utils/scrollToTop.d.ts +2 -0
  136. package/lib/components/Accordion/Accordion.Heading.tsx +65 -34
  137. package/lib/components/Accordion/Accordion.Panel.tsx +11 -7
  138. package/lib/components/Accordion/Accordion.stories.tsx +139 -0
  139. package/lib/components/Accordion/Accordion.tsx +39 -31
  140. package/lib/components/Accordion/__tests__/__snapshots__/Accordion.test.tsx.snap +15 -13
  141. package/lib/components/Accordion/index.ts +2 -0
  142. package/lib/components/Alert/Alert.stories.tsx +1 -1
  143. package/lib/components/Alert/Alert.tsx +12 -12
  144. package/lib/components/Alert/__tests__/__snapshots__/Alert.test.tsx.snap +13 -39
  145. package/lib/components/AppHeader/AppHeader.tsx +6 -11
  146. package/lib/components/AppHeader/AppHeaderBottom.tsx +2 -3
  147. package/lib/components/AppHeader/AppHeaderNav.tsx +2 -3
  148. package/lib/components/AppHeader/AppHeaderTop.tsx +1 -1
  149. package/lib/components/AppHeader/__tests__/__snapshots__/AppHeader.test.tsx.snap +2 -2
  150. package/lib/components/AppMenu/__tests__/__snapshots__/AppMenu.test.tsx.snap +6 -19
  151. package/lib/components/Avatar/Avatar.mdx +117 -0
  152. package/lib/components/Avatar/Avatar.stories.tsx +110 -2
  153. package/lib/components/Badge/Badge.stories.tsx +1 -1
  154. package/lib/components/Blanket/Blanket.stories.tsx +1 -1
  155. package/lib/components/Breadcrumbs/Breadcrumb.tsx +26 -12
  156. package/lib/components/Breadcrumbs/Breadcrumbs.tsx +1 -1
  157. package/lib/components/Breadcrumbs/__tests__/Breadcrumbs.test.tsx +9 -27
  158. package/lib/components/Breadcrumbs/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +24 -20
  159. package/lib/components/Button/Button.mdx +32 -279
  160. package/lib/components/Button/Button.stories.tsx +44 -51
  161. package/lib/components/Button/Button.tsx +166 -25
  162. package/lib/components/Button/__tests__/Button.test.tsx +49 -15
  163. package/lib/components/Button/__tests__/__snapshots__/Button.test.tsx.snap +80 -73
  164. package/lib/components/Button/style/buttonAccentStyle.ts +53 -0
  165. package/lib/components/Button/style/buttonPrimaryDestructiveStyle.ts +55 -0
  166. package/lib/components/Button/style/buttonPrimaryStyle.ts +53 -0
  167. package/lib/components/Button/style/buttonPrimarySubtleStyle.ts +64 -0
  168. package/lib/components/Button/style/buttonPrimaryWarningStyle.ts +56 -0
  169. package/lib/components/Button/style/buttonSecondaryDestructiveStyle.ts +63 -0
  170. package/lib/components/Button/style/buttonSecondaryStyle.ts +62 -0
  171. package/lib/components/Button/style/buttonSecondarySubtleStyle.ts +72 -0
  172. package/lib/components/Button/style/buttonTertiaryDestructiveStyle.ts +65 -0
  173. package/lib/components/Button/style/buttonTertiaryNoPaddingStyle.ts +52 -0
  174. package/lib/components/Button/style/buttonTertiaryStyle.ts +62 -0
  175. package/lib/components/Calendar/Calendar.stories.tsx +1 -1
  176. package/lib/components/Calendar/Calendar.tsx +2 -2
  177. package/lib/components/Calendar/__tests__/Calendar.test.tsx +23 -15
  178. package/lib/components/Calendar/__tests__/__snapshots__/Calendar.test.tsx.snap +99 -95
  179. package/lib/components/Calendar/index.ts +1 -5
  180. package/lib/components/Calendar/subcomponents/AcademicWeek.tsx +2 -1
  181. package/lib/components/Calendar/subcomponents/AcademicWeeks.tsx +1 -1
  182. package/lib/components/Calendar/subcomponents/ColumnHeading.tsx +2 -2
  183. package/lib/components/Calendar/subcomponents/Controls.tsx +1 -1
  184. package/lib/components/Calendar/subcomponents/Day.stories.tsx +1 -1
  185. package/lib/components/Calendar/subcomponents/Day.tsx +7 -9
  186. package/lib/components/Calendar/subcomponents/EventDot.tsx +3 -6
  187. package/lib/components/Calendar/subcomponents/index.ts +1 -1
  188. package/lib/components/Calendar/utils/getDatesForCalendarGrid/getDatesForCalendarGrid.ts +43 -11
  189. package/lib/components/Calendar/utils/normaliseMonth/normaliseMonth.test.ts +5 -5
  190. package/lib/components/Checkbox/Checkbox.stories.tsx +1 -1
  191. package/lib/components/Checkbox/Checkbox.tsx +12 -10
  192. package/lib/components/Checkbox/__tests__/Checkbox.test.tsx +29 -0
  193. package/lib/components/Checkbox/__tests__/__snapshots__/Checkbox.test.tsx.snap +4 -4
  194. package/lib/components/Datepicker/Datepicker.lld.md +108 -0
  195. package/lib/components/Datepicker/Datepicker.stories.tsx +44 -5
  196. package/lib/components/Datepicker/Datepicker.tsx +14 -36
  197. package/lib/components/Datepicker/Datepicker.types.ts +5 -14
  198. package/lib/components/Datepicker/__tests__/Datepicker.test.tsx +267 -8
  199. package/lib/components/Datepicker/__tests__/__snapshots__/Datepicker.test.tsx.snap +20 -42
  200. package/lib/components/Datepicker/subcomponents/CustomDatepicker.tsx +48 -5
  201. package/lib/components/Datepicker/subcomponents/DatepickerInput.tsx +30 -17
  202. package/lib/components/Datepicker/subcomponents/Panel.tsx +6 -2
  203. package/lib/components/Datepicker/subcomponents/VisibleField.tsx +46 -8
  204. package/lib/components/Datepicker/subcomponents/index.ts +0 -1
  205. package/lib/components/Datepicker/utils/index.ts +0 -1
  206. package/lib/components/Dialog/BaseDialog.tsx +13 -2
  207. package/lib/components/Dialog/Dialog.stories.tsx +1 -1
  208. package/lib/components/Dialog/Dialog.tsx +8 -1
  209. package/lib/components/Dialog/DialogBody.tsx +5 -1
  210. package/lib/components/Dialog/DialogHeader.tsx +2 -1
  211. package/lib/components/Divider/Divider.stories.tsx +1 -1
  212. package/lib/components/Divider/__tests__/__snapshots__/Breadcrumbs.test.tsx.snap +12 -12
  213. package/lib/components/FeedbackDialog/FeedbackDialog.stories.tsx +1 -1
  214. package/lib/components/FeedbackDialog/FeedbackDialog.tsx +4 -6
  215. package/lib/components/Field/CharacterCount.tsx +2 -2
  216. package/lib/components/Field/ErrorText.tsx +2 -1
  217. package/lib/components/Field/Field.stories.tsx +1 -1
  218. package/lib/components/Field/Field.tsx +1 -1
  219. package/lib/components/Field/HelperText.tsx +3 -1
  220. package/lib/components/Field/__tests__/Field.test.tsx +13 -0
  221. package/lib/components/FileInput/FileInput.stories.tsx +1 -1
  222. package/lib/components/FileInput/__tests__/__snapshots__/FileInput.test.tsx.snap +4 -20
  223. package/lib/components/Footer/Footer.stories.tsx +1 -1
  224. package/lib/components/Footer/__tests__/__snapshots__/Footer.test.tsx.snap +73 -82
  225. package/lib/components/FooterNew/BackToTop.tsx +83 -0
  226. package/lib/components/FooterNew/Footer.tsx +110 -0
  227. package/lib/components/FooterNew/FooterColumn.tsx +79 -0
  228. package/lib/components/FooterNew/FooterLinks.tsx +44 -0
  229. package/lib/components/FooterNew/FooterNavLink.tsx +63 -0
  230. package/lib/components/FooterNew/LegalAndCopyright.tsx +150 -0
  231. package/lib/components/FooterNew/LogoAddressAndSocial.tsx +154 -0
  232. package/lib/components/FooterNew/SocialLink.tsx +108 -0
  233. package/lib/components/FooterNew/__tests__/Footer.test.tsx +51 -0
  234. package/lib/components/FooterNew/__tests__/__snapshots__/Footer.test.tsx.snap +1107 -0
  235. package/lib/components/FooterNew/index.ts +2 -0
  236. package/lib/components/Header/Header.mdx +52 -0
  237. package/lib/components/Header/Header.stories.tsx +98 -0
  238. package/lib/components/Header/Header.tsx +51 -6
  239. package/lib/components/Header/__tests__/Header.test.tsx +17 -1
  240. package/lib/components/HeaderDraft/__tests__/__snapshots__/Header.test.tsx.snap +3 -2
  241. package/lib/components/HeaderNew/Header.tsx +93 -0
  242. package/lib/components/HeaderNew/HeaderBorder.tsx +55 -0
  243. package/lib/components/HeaderNew/HeaderLogo.tsx +70 -0
  244. package/lib/components/HeaderNew/HeaderMenuContainer.tsx +35 -0
  245. package/lib/components/HeaderNew/HeaderTitle.tsx +53 -0
  246. package/lib/components/HeaderNew/__tests__/Header.test.tsx +42 -0
  247. package/lib/components/HeaderNew/__tests__/__snapshots__/Header.test.tsx.snap +79 -0
  248. package/lib/components/HeaderNew/constants.ts +3 -0
  249. package/lib/components/HeaderNew/index.ts +7 -0
  250. package/lib/components/Heading/Heading.stories.tsx +1 -1
  251. package/lib/components/HeadingNew/Heading.tsx +208 -0
  252. package/lib/components/HeadingNew/index.ts +2 -0
  253. package/lib/components/Icon/Icon.stories.tsx +1 -1
  254. package/lib/components/Icon/__tests__/__snapshots__/Icon.test.tsx.snap +16 -12
  255. package/lib/components/Icon/svgImports.ts +318 -296
  256. package/lib/components/IconButton/IconButton.stories.tsx +1 -1
  257. package/lib/components/IconButton/IconButton.tsx +3 -4
  258. package/lib/components/IconButton/__tests__/__snapshots__/IconButton.test.tsx.snap +12 -9
  259. package/lib/components/Input/Input.stories.tsx +1 -1
  260. package/lib/components/Label/Label.stories.tsx +1 -1
  261. package/lib/components/Link/BaseLink.tsx +114 -71
  262. package/lib/components/Link/Link.stories.tsx +1 -1
  263. package/lib/components/Link/Link.tsx +120 -109
  264. package/lib/components/Link/__tests__/__snapshots__/link.test.tsx.snap +2 -2
  265. package/lib/components/Main/Main.stories.tsx +36 -0
  266. package/lib/components/Main/Main.tsx +46 -0
  267. package/lib/components/Main/__tests__/Main.test.tsx +80 -0
  268. package/lib/components/Main/__tests__/__snapshots__/Main.test.tsx.snap +33 -0
  269. package/lib/components/Main/index.ts +2 -0
  270. package/lib/components/MenuNew/Menu.context.tsx +149 -0
  271. package/lib/components/MenuNew/Menu.tsx +75 -0
  272. package/lib/components/MenuNew/MenuContent.tsx +140 -0
  273. package/lib/components/MenuNew/MenuItem.tsx +101 -0
  274. package/lib/components/MenuNew/MenuSection.tsx +47 -0
  275. package/lib/components/MenuNew/index.ts +8 -0
  276. package/lib/components/MenuNew/trigger/ButtonMenuTrigger.tsx +42 -0
  277. package/lib/components/MenuNew/trigger/IconMenuTrigger.tsx +40 -0
  278. package/lib/components/NativeDatepicker/NativeDatepicker.stories.tsx +100 -0
  279. package/lib/components/{Datepicker/subcomponents → NativeDatepicker}/NativeDatepicker.tsx +14 -15
  280. package/lib/components/NativeDatepicker/NativeDatepicker.types.ts +19 -0
  281. package/lib/components/NativeDatepicker/index.ts +2 -0
  282. package/lib/components/{Datepicker → NativeDatepicker}/utils/dateToLocaleISOString/dateToLocaleISOString.ts +1 -1
  283. package/lib/components/NativeDatepicker/utils/index.ts +1 -0
  284. package/lib/components/Pagination/Pagination.stories.tsx +1 -1
  285. package/lib/components/Pagination/PaginationControls.tsx +59 -17
  286. package/lib/components/Pagination/PaginationInfo.tsx +7 -4
  287. package/lib/components/Paragraph/Paragraph.stories.tsx +1 -1
  288. package/lib/components/ParagraphNew/Paragraph.tsx +200 -0
  289. package/lib/components/ParagraphNew/index.ts +6 -0
  290. package/lib/components/Radio/Radio.stories.tsx +1 -1
  291. package/lib/components/Radio/Radio.tsx +8 -8
  292. package/lib/components/Radio/__tests__/__snapshots__/Radio.test.tsx.snap +4 -4
  293. package/lib/components/Search/Search.stories.tsx +1 -1
  294. package/lib/components/Search/Search.tsx +4 -1
  295. package/lib/components/Search/__tests__/Search.test.tsx +19 -1
  296. package/lib/components/Search/__tests__/__snapshots__/Search.test.tsx.snap +12 -32
  297. package/lib/components/Select/Select.mdx +192 -0
  298. package/lib/components/Select/Select.stories.tsx +229 -48
  299. package/lib/components/Select/Select.tsx +50 -15
  300. package/lib/components/Select/Select.types.ts +99 -44
  301. package/lib/components/Select/__tests__/Select.test.tsx +698 -8
  302. package/lib/components/Select/__tests__/__snapshots__/Select.test.tsx.snap +5 -4
  303. package/lib/components/Select/subcomponents/CustomOption.tsx +12 -4
  304. package/lib/components/Select/subcomponents/CustomSelect.tsx +411 -41
  305. package/lib/components/Select/subcomponents/FilterInput.tsx +90 -0
  306. package/lib/components/Select/subcomponents/NativeSelect.tsx +21 -17
  307. package/lib/components/Select/subcomponents/Panel.tsx +2 -2
  308. package/lib/components/Select/subcomponents/VisibleField.tsx +59 -6
  309. package/lib/components/Select/subcomponents/index.tsx +1 -0
  310. package/lib/components/Snackbar/Snackbar.stories.tsx +1 -1
  311. package/lib/components/Snackbar/__tests__/__snapshots__/Snackbar.test.tsx.snap +9 -15
  312. package/lib/components/Spinner/Spinner.stories.tsx +1 -1
  313. package/lib/components/Spinner/Spinner.tsx +24 -5
  314. package/lib/components/Spinner/__tests__/Spinner.test.tsx +35 -5
  315. package/lib/components/Spinner/__tests__/__snapshots__/Spinner.test.tsx.snap +40 -16
  316. package/lib/components/StandaloneLink/StandaloneLink.stories.tsx +1 -1
  317. package/lib/components/StandaloneLink/StandaloneLink.tsx +180 -163
  318. package/lib/components/StandaloneLink/__tests__/__snapshots__/StandaloneLink.test.tsx.snap +2 -2
  319. package/lib/components/Table/Table.stories.tsx +1 -1
  320. package/lib/components/Table/Table.tsx +2 -0
  321. package/lib/components/Table/Table.types.ts +1 -0
  322. package/lib/components/Table/__tests__/Table.test.tsx +19 -0
  323. package/lib/components/Table/__tests__/__snapshots__/Table.test.tsx.snap +7 -3
  324. package/lib/components/Table/subcomponents/Cell/Cell.stories.tsx +1 -1
  325. package/lib/components/Table/subcomponents/Cell/Cell.tsx +23 -2
  326. package/lib/components/Table/subcomponents/Cell/CellContent.tsx +12 -1
  327. package/lib/components/Table/subcomponents/Cell/__tests__/Cell.test.tsx +106 -0
  328. package/lib/components/Table/subcomponents/Cell/__tests__/__snapshots__/Cell.test.tsx.snap +4 -3
  329. package/lib/components/Table/subcomponents/HeadCell/HeadCell.stories.tsx +1 -1
  330. package/lib/components/Table/subcomponents/HeadCell/HeadCell.tsx +28 -6
  331. package/lib/components/Table/subcomponents/HeadCell/HeadCellContent.tsx +3 -0
  332. package/lib/components/Table/subcomponents/HeadCell/__tests__/HeadCell.test.tsx +221 -2
  333. package/lib/components/Table/subcomponents/HeadCell/__tests__/__snapshots__/HeadCell.test.tsx.snap +6 -4
  334. package/lib/components/Table/subcomponents/Row.tsx +2 -2
  335. package/lib/components/Table/subcomponents/SortIcon.tsx +1 -0
  336. package/lib/components/Table/subcomponents/__tests__/Row.test.tsx +59 -0
  337. package/lib/components/Tabs/Tab.tsx +3 -3
  338. package/lib/components/Tabs/Tabs.stories.tsx +1 -1
  339. package/lib/components/Tabs/Tabs.tsx +5 -3
  340. package/lib/components/Tabs/__tests__/__snapshots__/Tabs.test.tsx.snap +4 -4
  341. package/lib/components/Textarea/Textarea.stories.tsx +1 -1
  342. package/lib/components/Timepicker/Timepicker.stories.tsx +1 -1
  343. package/lib/components/Timepicker/Timepicker.tsx +4 -0
  344. package/lib/components/Timepicker/__tests__/__snapshots__/Timepicker.test.tsx.snap +2 -2
  345. package/lib/components/Toggle/Toggle.stories.tsx +1 -1
  346. package/lib/components/Toggle/Toggle.tsx +5 -5
  347. package/lib/components/Toggle/ToggleHandle.tsx +2 -3
  348. package/lib/components/Tooltip/Tooltip.stories.tsx +1 -1
  349. package/lib/components/Tooltip/Tooltip.tsx +2 -2
  350. package/lib/components/Tooltip/__tests__/__snapshots__/tooltip.test.tsx.snap +2 -2
  351. package/lib/components/UclLogoNew/UclLogo.tsx +42 -0
  352. package/lib/components/UclLogoNew/index.ts +2 -0
  353. package/lib/components/WeekPicker/WeekPicker.stories.tsx +145 -0
  354. package/lib/components/WeekPicker/WeekPicker.tsx +2 -2
  355. package/lib/components/WeekPicker/WeekPicker.types.ts +21 -0
  356. package/lib/components/WeekPicker/index.ts +1 -0
  357. package/lib/components/WeekPicker/subcomponents/CustomDatepicker.tsx +1 -1
  358. package/lib/components/common/Common.mdx +1 -2
  359. package/lib/components/index.ts +30 -3
  360. package/lib/hooks/useFocusTrap.ts +40 -4
  361. package/lib/index.ts +1 -0
  362. package/lib/theme/Colours.mdx +1 -1
  363. package/lib/theme/Theme.mdx +1 -1
  364. package/lib/theme/Typography.mdx +1 -1
  365. package/lib/theme/__tests__/fonts.test.ts +37 -0
  366. package/lib/theme/common/themeCommon.ts +515 -0
  367. package/lib/theme/fonts.ts +110 -0
  368. package/lib/theme/index.ts +6 -6
  369. package/lib/theme/light/lightColour.ts +232 -0
  370. package/lib/theme/light/lightTheme.ts +37 -0
  371. package/lib/theme/{defaultTheme.ts → original/color.ts} +17 -199
  372. package/lib/theme/original/defaultTheme.ts +207 -0
  373. package/lib/theme/original/originalColourNewStructure.ts +185 -0
  374. package/lib/theme/useTheme.tsx +72 -15
  375. package/lib/types/assets.d.ts +10 -0
  376. package/lib/utils/__tests__/announce.test.ts +121 -0
  377. package/lib/utils/addAlphaToHex.ts +29 -0
  378. package/lib/utils/announce.ts +134 -0
  379. package/lib/utils/index.ts +1 -0
  380. package/lib/utils/scrollToTop.ts +5 -0
  381. package/package.json +11 -9
  382. package/dist/components/Button/buttonPrimaryStyle.d.ts +0 -4
  383. package/dist/components/Button/buttonSecondaryStyle.d.ts +0 -4
  384. package/dist/components/Button/buttonTertiaryStyle.d.ts +0 -4
  385. package/dist/components/Datepicker/subcomponents/NativeDatepicker.d.ts +0 -6
  386. package/dist/theme/defaultTheme.d.ts +0 -274
  387. package/lib/components/Accordion/Accordion.stories.tsx.NOT_READY +0 -93
  388. package/lib/components/Button/buttonPrimaryStyle.ts +0 -62
  389. package/lib/components/Button/buttonSecondaryStyle.ts +0 -65
  390. package/lib/components/Button/buttonTertiaryStyle.ts +0 -54
  391. /package/dist/components/{Datepicker/utils/dateToLocaleISOString/dateToLocaleISOString.test.d.ts → FooterNew/__tests__/Footer.test.d.ts} +0 -0
  392. /package/lib/components/{Datepicker → NativeDatepicker}/utils/dateToLocaleISOString/dateToLocaleISOString.test.ts +0 -0
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
- # UIKit - React - Public
1
+ # uikit-react-public
2
2
 
3
- React component library.
3
+ Public npm distribution of the UCL React UI kit for external consumers who do not have access to the private internal registry.
@@ -1,7 +1,8 @@
1
- import { default as React, HTMLAttributes, JSX } from 'react';
2
- export declare const NAME = "ucl-accordion__heading";
3
- interface AccordionHeadingProps extends HTMLAttributes<HTMLElement> {
4
- as?: keyof JSX.IntrinsicElements;
1
+ import { default as React, HTMLAttributes } from 'react';
2
+ export declare const NAME = "ucl-uikit-accordion__heading";
3
+ export declare const ICON_NAME = "ucl-uikit-accordion__heading__icon";
4
+ export interface AccordionHeadingProps extends HTMLAttributes<HTMLElement> {
5
+ as?: keyof HTMLElementTagNameMap;
5
6
  testId?: string;
6
7
  }
7
8
  declare const AccordionHeading: React.FC<AccordionHeadingProps>;
@@ -1,6 +1,6 @@
1
1
  import { default as React, HTMLAttributes } from 'react';
2
- export declare const NAME = "ucl-accordion__panel";
3
- interface AccordionPanelProps extends HTMLAttributes<HTMLDivElement> {
2
+ export declare const NAME = "ucl-uikit-accordion__panel";
3
+ export interface AccordionPanelProps extends HTMLAttributes<HTMLDivElement> {
4
4
  testId?: string;
5
5
  }
6
6
  declare const AccordionPanel: React.FC<AccordionPanelProps>;
@@ -1,7 +1,7 @@
1
1
  import { default as React, HTMLAttributes } from 'react';
2
2
  import { default as AccordionHeading } from './Accordion.Heading';
3
3
  import { default as AccordionPanel } from './Accordion.Panel';
4
- export declare const NAME = "ucl-accordion";
4
+ export declare const NAME = "ucl-uikit-accordion";
5
5
  interface AccordionContextProps {
6
6
  isOpen: boolean;
7
7
  toggleAccordion: () => void;
@@ -0,0 +1,57 @@
1
+ import { StoryObj } from '@storybook/react';
2
+ declare const meta: {
3
+ title: string;
4
+ component: import('react').FC<import('./Accordion').AccordionProps> & {
5
+ Heading: import('react').FC<import('./Accordion.Heading').AccordionHeadingProps>;
6
+ Panel: import('react').FC<import('./Accordion.Panel').AccordionPanelProps>;
7
+ };
8
+ parameters: {
9
+ layout: string;
10
+ };
11
+ argTypes: {
12
+ size: {
13
+ options: string[];
14
+ control: {
15
+ type: "select";
16
+ };
17
+ type: "string";
18
+ };
19
+ disabled: {
20
+ control: {
21
+ type: "boolean";
22
+ };
23
+ type: "boolean";
24
+ };
25
+ isOpen: {
26
+ control: {
27
+ type: "boolean";
28
+ };
29
+ type: "boolean";
30
+ };
31
+ testId: {
32
+ control: {
33
+ type: "text";
34
+ };
35
+ type: "string";
36
+ };
37
+ className: {
38
+ control: {
39
+ type: "text";
40
+ };
41
+ type: "string";
42
+ };
43
+ };
44
+ args: {
45
+ isOpen: false;
46
+ disabled: false;
47
+ size: "medium";
48
+ };
49
+ tags: string[];
50
+ };
51
+ export default meta;
52
+ type Story = StoryObj<typeof meta>;
53
+ export declare const Default: Story;
54
+ export declare const Disabled: Story;
55
+ export declare const SmallSize: Story;
56
+ export declare const CustomHeadingElement: Story;
57
+ export declare const MultipleAccordions: Story;
@@ -1,2 +1,4 @@
1
1
  export { default } from './Accordion';
2
2
  export type { AccordionProps } from './Accordion';
3
+ export type { AccordionHeadingProps } from './Accordion.Heading';
4
+ export type { AccordionPanelProps } from './Accordion.Panel';
@@ -2,7 +2,7 @@ import { HTMLAttributes } from 'react';
2
2
  import { default as AppHeaderTop } from './AppHeaderTop';
3
3
  import { default as AppHeaderBottom } from './AppHeaderBottom';
4
4
  import { default as AppHeaderNav } from './AppHeaderNav';
5
- export declare const NAME = "ucl-timetable-app-header";
5
+ export declare const NAME = "ucl-uikit-app-header";
6
6
  export declare const Z_INDEX = 3;
7
7
  export declare const HEIGHT: number;
8
8
  export interface AppHeaderProps extends HTMLAttributes<HTMLDivElement> {
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from 'react';
2
- export declare const NAME = "ucl-timetable-app-header__bottom";
2
+ export declare const NAME = "ucl-uikit-app-header__bottom";
3
3
  export declare const HEIGHT = 48;
4
4
  export interface AppHeaderBottomProps extends HTMLAttributes<HTMLDivElement> {
5
5
  testId?: string;
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from 'react';
2
- export declare const NAME = "ucl-timetable-app-header__nav";
2
+ export declare const NAME = "ucl-uikit-app-header__nav";
3
3
  export interface AppHeaderNavProps extends HTMLAttributes<HTMLDivElement> {
4
4
  testId?: string;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import { HTMLAttributes } from 'react';
2
- export declare const NAME = "ucl-timetable-app-header__top";
2
+ export declare const NAME = "ucl-uikit-app-header__top";
3
3
  export declare const HEIGHT = 56;
4
4
  export interface AppHeaderTopProps extends HTMLAttributes<HTMLDivElement> {
5
5
  uclLogo?: boolean;
@@ -1,7 +1,110 @@
1
1
  import { StoryObj } from '@storybook/react';
2
+ import { AvatarProps } from './Avatar';
3
+ type AvatarSize = NonNullable<AvatarProps['size']>;
2
4
  declare const meta: {
3
5
  title: string;
4
- component: import('react').NamedExoticComponent<import('./Avatar').AvatarProps & import('react').RefAttributes<HTMLButtonElement>>;
6
+ component: import('react').NamedExoticComponent<AvatarProps & import('react').RefAttributes<HTMLButtonElement>>;
7
+ parameters: {
8
+ layout: string;
9
+ };
10
+ argTypes: {
11
+ variant: {
12
+ description: string;
13
+ options: string[];
14
+ control: {
15
+ type: "select";
16
+ };
17
+ table: {
18
+ type: {
19
+ summary: string;
20
+ };
21
+ };
22
+ };
23
+ imageUrl: {
24
+ description: string;
25
+ control: {
26
+ type: "text";
27
+ };
28
+ table: {
29
+ type: {
30
+ summary: string;
31
+ };
32
+ };
33
+ };
34
+ name: {
35
+ description: string;
36
+ control: {
37
+ type: "text";
38
+ };
39
+ table: {
40
+ type: {
41
+ summary: string;
42
+ };
43
+ };
44
+ };
45
+ size: {
46
+ description: string;
47
+ options: AvatarSize[];
48
+ control: {
49
+ type: "inline-radio";
50
+ };
51
+ table: {
52
+ type: {
53
+ summary: string;
54
+ };
55
+ };
56
+ };
57
+ disabled: {
58
+ description: string;
59
+ control: {
60
+ type: "boolean";
61
+ };
62
+ table: {
63
+ type: {
64
+ summary: string;
65
+ };
66
+ };
67
+ };
68
+ testId: {
69
+ description: string;
70
+ control: {
71
+ type: "text";
72
+ };
73
+ table: {
74
+ type: {
75
+ summary: string;
76
+ };
77
+ };
78
+ };
79
+ className: {
80
+ description: string;
81
+ control: {
82
+ type: "text";
83
+ };
84
+ table: {
85
+ type: {
86
+ summary: string;
87
+ };
88
+ };
89
+ };
90
+ onClick: {
91
+ description: string;
92
+ action: string;
93
+ table: {
94
+ type: {
95
+ summary: string;
96
+ };
97
+ };
98
+ };
99
+ };
100
+ args: {
101
+ variant: "image";
102
+ imageUrl: string;
103
+ name: string;
104
+ size: 56;
105
+ disabled: false;
106
+ };
107
+ tags: string[];
5
108
  };
6
109
  export default meta;
7
110
  type Story = StoryObj<typeof meta>;
@@ -9,3 +112,6 @@ export declare const Default: Story;
9
112
  export declare const Image: Story;
10
113
  export declare const Initials: Story;
11
114
  export declare const Icon: Story;
115
+ export declare const Sizes: Story;
116
+ export declare const Disabled: Story;
117
+ export declare const BrokenImageFallback: Story;
@@ -1,8 +1,7 @@
1
- import { LinkProps } from '../';
2
- export interface BreadcrumbProps extends LinkProps {
3
- testId?: string;
1
+ import { LinkProps } from '../Link';
2
+ export interface BreadcrumbProps extends Omit<LinkProps<any>, 'href' | 'to'> {
4
3
  uri: string;
5
4
  isActive?: boolean;
6
5
  }
7
- declare const _default: import('react').MemoExoticComponent<({ testId, uri, className, children, isActive, ...props }: BreadcrumbProps) => import("react/jsx-runtime").JSX.Element>;
6
+ declare const _default: import('react').MemoExoticComponent<({ testId, uri, className, children, isActive, component, ...props }: BreadcrumbProps) => import("react/jsx-runtime").JSX.Element>;
8
7
  export default _default;
@@ -4,6 +4,6 @@ export interface BreadcrumbsProps extends HTMLAttributes<HTMLElement> {
4
4
  }
5
5
  declare const Breadcrumbs: {
6
6
  ({ testId, className, children, ...props }: BreadcrumbsProps): import("react/jsx-runtime").JSX.Element;
7
- Breadcrumb: React.MemoExoticComponent<({ testId, uri, className, children, isActive, ...props }: import('./Breadcrumb').BreadcrumbProps) => import("react/jsx-runtime").JSX.Element>;
7
+ Breadcrumb: React.MemoExoticComponent<({ testId, uri, className, children, isActive, component, ...props }: import('./Breadcrumb').BreadcrumbProps) => import("react/jsx-runtime").JSX.Element>;
8
8
  };
9
9
  export default Breadcrumbs;
@@ -3,7 +3,7 @@ declare const meta: {
3
3
  title: string;
4
4
  component: {
5
5
  ({ testId, className, children, ...props }: import('./Breadcrumbs').BreadcrumbsProps): import("react/jsx-runtime").JSX.Element;
6
- Breadcrumb: import('react').MemoExoticComponent<({ testId, uri, className, children, isActive, ...props }: import('./Breadcrumb').BreadcrumbProps) => import("react/jsx-runtime").JSX.Element>;
6
+ Breadcrumb: import('react').MemoExoticComponent<({ testId, uri, className, children, isActive, component, ...props }: import('./Breadcrumb').BreadcrumbProps) => import("react/jsx-runtime").JSX.Element>;
7
7
  };
8
8
  parameters: {
9
9
  layout: string;
@@ -2,10 +2,14 @@ import { ReactElement, ElementType, ComponentPropsWithRef } from 'react';
2
2
  import { MarginProps } from '../common/marginsStyle';
3
3
  export declare const NAME = "ucl-uikit-button";
4
4
  type PolymorphicRef<C extends ElementType> = ComponentPropsWithRef<C>['ref'];
5
+ export type ButtonVariant = 'accent' | 'primary' | 'secondary' | 'tertiary' | 'primary-subtle' | 'secondary-subtle' | 'tertiary-no-padding' | 'primary-destructive' | 'secondary-destructive' | 'tertiary-destructive' | 'primary-warning';
6
+ type LegacySize = 'default';
5
7
  export interface ButtonBaseProps {
6
- variant?: 'primary' | 'secondary' | 'tertiary';
8
+ variant?: ButtonVariant;
9
+ /** @deprecated Use variant="primary-destructive" / "secondary-destructive" instead */
7
10
  destructive?: boolean;
8
- size?: 'large' | 'default' | 'small';
11
+ size?: 'xsmall' | 'small' | 'medium' | 'large' | LegacySize;
12
+ selected?: boolean;
9
13
  disabled?: boolean;
10
14
  icon?: ReactElement;
11
15
  iconPosition?: 'left' | 'right';
@@ -17,7 +21,8 @@ export interface ButtonBaseProps {
17
21
  export type ButtonProps<C extends ElementType = 'button'> = {
18
22
  as?: C;
19
23
  ref?: PolymorphicRef<C>;
24
+ className?: string;
20
25
  } & ButtonBaseProps & MarginProps & Omit<ComponentPropsWithRef<C>, keyof ButtonBaseProps | 'as'>;
21
- declare const Button: <C extends ElementType = "button">({ as, variant, destructive, size, disabled, icon, iconPosition, tooltip, loading, fullWidth, testId, ref, children, className, ...props }: ButtonProps<C>) => import("react/jsx-runtime").JSX.Element;
26
+ declare const Button: <C extends ElementType = "button">({ as, variant, destructive, size, selected, disabled, icon, iconPosition, tooltip, loading, fullWidth, testId, ref, children, className, ...props }: ButtonProps<C>) => import("react/jsx-runtime").JSX.Element;
22
27
  declare const MemoizedButton: typeof Button;
23
28
  export default MemoizedButton;
@@ -1,13 +1,13 @@
1
1
  import { StoryObj } from '@storybook/react';
2
2
  declare const meta: {
3
3
  title: string;
4
- component: <C extends import('react').ElementType = "button">({ as, variant, destructive, size, disabled, icon, iconPosition, tooltip, loading, fullWidth, testId, ref, children, className, ...props }: import('./Button').ButtonProps<C>) => import("react/jsx-runtime").JSX.Element;
4
+ component: <C extends import('react').ElementType = "button">({ as, variant, destructive, size, selected, disabled, icon, iconPosition, tooltip, loading, fullWidth, testId, ref, children, className, ...props }: import('./Button').ButtonProps<C>) => import("react/jsx-runtime").JSX.Element;
5
5
  parameters: {
6
6
  layout: string;
7
7
  };
8
8
  argTypes: {
9
9
  variant: {
10
- options: string[];
10
+ options: readonly ["accent", "primary", "secondary", "tertiary", "primary-subtle", "secondary-subtle", "tertiary-no-padding", "primary-destructive", "secondary-destructive", "tertiary-destructive", "primary-warning"];
11
11
  control: {
12
12
  type: "select";
13
13
  };
@@ -19,6 +19,12 @@ declare const meta: {
19
19
  type: "select";
20
20
  };
21
21
  type: "string";
22
+ table: {
23
+ type: {
24
+ summary: string;
25
+ detail: string;
26
+ };
27
+ };
22
28
  };
23
29
  as: {
24
30
  options: string[];
@@ -38,6 +44,13 @@ declare const meta: {
38
44
  type: "boolean";
39
45
  };
40
46
  type: "boolean";
47
+ description: string;
48
+ };
49
+ selected: {
50
+ control: {
51
+ type: "boolean";
52
+ };
53
+ type: "boolean";
41
54
  };
42
55
  disabled: {
43
56
  control: {
@@ -222,15 +235,12 @@ export declare const Default: Story;
222
235
  export declare const Primary: Story;
223
236
  export declare const Secondary: Story;
224
237
  export declare const Tertiary: Story;
238
+ export declare const Accent: Story;
225
239
  export declare const Destructive: Story;
226
- export declare const DestructiveSecondary: Story;
240
+ export declare const PrimarySubtle: Story;
227
241
  export declare const Small: Story;
228
242
  export declare const Large: Story;
229
- export declare const SmallSecondary: Story;
230
- export declare const LargeSecondary: Story;
231
243
  export declare const Disabled: Story;
232
- export declare const DisabledSecondary: Story;
233
- export declare const DisabledTertiary: Story;
234
244
  export declare const WithIcon: Story & {
235
245
  argTypes: {
236
246
  iconName: {
@@ -0,0 +1,4 @@
1
+ import { ThemeType } from '../../../theme';
2
+ import { ButtonBaseProps } from '../Button';
3
+ declare const buttonAccentStyle: (theme: ThemeType, selected: ButtonBaseProps["selected"], disabled: ButtonBaseProps["disabled"], loading: ButtonBaseProps["loading"]) => string;
4
+ export default buttonAccentStyle;
@@ -0,0 +1,4 @@
1
+ import { ThemeType } from '../../../theme';
2
+ import { ButtonBaseProps } from '../Button';
3
+ declare const buttonPrimaryDestructiveStyle: (theme: ThemeType, selected: ButtonBaseProps["selected"], disabled: ButtonBaseProps["disabled"], loading: ButtonBaseProps["loading"]) => string;
4
+ export default buttonPrimaryDestructiveStyle;
@@ -0,0 +1,4 @@
1
+ import { ThemeType } from '../../../theme';
2
+ import { ButtonBaseProps } from '../Button';
3
+ declare const buttonPrimaryStyle: (theme: ThemeType, selected: ButtonBaseProps["selected"], disabled: ButtonBaseProps["disabled"], loading: ButtonBaseProps["loading"]) => string;
4
+ export default buttonPrimaryStyle;
@@ -0,0 +1,4 @@
1
+ import { ThemeType } from '../../../theme';
2
+ import { ButtonBaseProps } from '../Button';
3
+ declare const buttonPrimarySubtleStyle: (theme: ThemeType, selected: ButtonBaseProps["selected"], disabled: ButtonBaseProps["disabled"], loading: ButtonBaseProps["loading"], paddingPx: number) => string;
4
+ export default buttonPrimarySubtleStyle;
@@ -0,0 +1,4 @@
1
+ import { ThemeType } from '../../../theme';
2
+ import { ButtonBaseProps } from '../Button';
3
+ declare const buttonPrimaryWarningStyle: (theme: ThemeType, selected: ButtonBaseProps["selected"], disabled: ButtonBaseProps["disabled"], loading: ButtonBaseProps["loading"]) => string;
4
+ export default buttonPrimaryWarningStyle;
@@ -0,0 +1,4 @@
1
+ import { ThemeType } from '../../../theme';
2
+ import { ButtonBaseProps } from '../Button';
3
+ declare const buttonSecondaryDestructiveStyle: (theme: ThemeType, selected: ButtonBaseProps["selected"], disabled: ButtonBaseProps["disabled"], loading: ButtonBaseProps["loading"]) => string;
4
+ export default buttonSecondaryDestructiveStyle;
@@ -0,0 +1,4 @@
1
+ import { ThemeType } from '../../../theme';
2
+ import { ButtonBaseProps } from '../Button';
3
+ declare const buttonSecondaryStyle: (theme: ThemeType, selected: ButtonBaseProps["selected"], disabled: ButtonBaseProps["disabled"], loading: ButtonBaseProps["loading"]) => string;
4
+ export default buttonSecondaryStyle;
@@ -0,0 +1,4 @@
1
+ import { ThemeType } from '../../../theme';
2
+ import { ButtonBaseProps } from '../Button';
3
+ declare const buttonSecondarySubtleStyle: (theme: ThemeType, selected: ButtonBaseProps["selected"], disabled: ButtonBaseProps["disabled"], loading: ButtonBaseProps["loading"], paddingPx: number) => string;
4
+ export default buttonSecondarySubtleStyle;
@@ -0,0 +1,4 @@
1
+ import { ThemeType } from '../../../theme';
2
+ import { ButtonBaseProps } from '../Button';
3
+ declare const buttonTertiaryDestructiveStyle: (theme: ThemeType, selected: ButtonBaseProps["selected"], disabled: ButtonBaseProps["disabled"], loading: ButtonBaseProps["loading"], paddingPx: number) => string;
4
+ export default buttonTertiaryDestructiveStyle;
@@ -0,0 +1,4 @@
1
+ import { ThemeType } from '../../../theme';
2
+ import { ButtonBaseProps } from '../Button';
3
+ declare const buttonTertiaryNoPaddingStyle: (theme: ThemeType, disabled: ButtonBaseProps["disabled"], loading: ButtonBaseProps["loading"], paddingPx: number) => string;
4
+ export default buttonTertiaryNoPaddingStyle;
@@ -0,0 +1,4 @@
1
+ import { ThemeType } from '../../../theme';
2
+ import { ButtonBaseProps } from '../Button';
3
+ declare const buttonTertiaryStyle: (theme: ThemeType, selected: ButtonBaseProps["selected"], disabled: ButtonBaseProps["disabled"], loading: ButtonBaseProps["loading"], paddingPx: number) => string;
4
+ export default buttonTertiaryStyle;
@@ -1,2 +1,2 @@
1
1
  export { default } from './Calendar';
2
- export type { CalendarProps, CalendarEvent, AcademicWeek, } from './Calendar.types';
2
+ export type { CalendarProps, CalendarEvent, AcademicWeek } from './Calendar.types';
@@ -4,6 +4,7 @@ export declare const NAME = "ucl-uikit-checkbox";
4
4
  export interface CheckboxBaseProps extends InputHTMLAttributes<HTMLInputElement> {
5
5
  indeterminate?: boolean;
6
6
  testId?: string;
7
+ ariaLabel?: string;
7
8
  }
8
9
  export type CheckboxProps = CheckboxBaseProps & MarginProps;
9
10
  export type Ref = HTMLInputElement;
@@ -1,3 +1,3 @@
1
1
  import { DatepickerProps } from './Datepicker.types';
2
- declare const Datepicker: ({ value, onValueChange, minDate, maxDate, disabled, className, native, nativeRef, nativeHTMLAttributes, ...props }: DatepickerProps) => import("react/jsx-runtime").JSX.Element;
2
+ declare const Datepicker: ({ value, onValueChange, minDate, maxDate, disabled, className, clearable, ...props }: DatepickerProps) => import("react/jsx-runtime").JSX.Element;
3
3
  export default Datepicker;
@@ -1,7 +1,7 @@
1
1
  import { StoryObj } from '@storybook/react';
2
2
  declare const meta: {
3
3
  title: string;
4
- component: ({ value, onValueChange, minDate, maxDate, disabled, className, native, nativeRef, nativeHTMLAttributes, ...props }: import('./Datepicker.types').DatepickerProps) => import("react/jsx-runtime").JSX.Element;
4
+ component: ({ value, onValueChange, minDate, maxDate, disabled, className, clearable, ...props }: import('./Datepicker.types').DatepickerProps) => import("react/jsx-runtime").JSX.Element;
5
5
  parameters: {
6
6
  layout: string;
7
7
  };
@@ -26,7 +26,7 @@ declare const meta: {
26
26
  type: "boolean";
27
27
  };
28
28
  };
29
- native: {
29
+ clearable: {
30
30
  control: {
31
31
  type: "boolean";
32
32
  };
@@ -42,7 +42,8 @@ declare const meta: {
42
42
  export default meta;
43
43
  type Story = StoryObj<typeof meta>;
44
44
  export declare const Default: Story;
45
+ export declare const InAField: Story;
45
46
  export declare const WithEvents: Story;
46
47
  export declare const WithAcademicWeeks: Story;
47
48
  export declare const MinMaxDates: Story;
48
- export declare const Native: Story;
49
+ export declare const Clearable: Story;
@@ -1,5 +1,6 @@
1
- import { InputHTMLAttributes, HTMLAttributes, RefObject } from 'react';
1
+ import { HTMLAttributes, RefObject } from 'react';
2
2
  import { CalendarEvent, AcademicWeek } from '../Calendar';
3
+ import { InputProps } from './subcomponents/DatepickerInput';
3
4
  export type DatepickerValue = Date | null;
4
5
  interface BaseDatepickerProps {
5
6
  value?: DatepickerValue;
@@ -11,13 +12,11 @@ interface BaseDatepickerProps {
11
12
  academicWeeks?: AcademicWeek[];
12
13
  testId?: string;
13
14
  disabled?: boolean;
15
+ clearable?: boolean;
14
16
  ref?: RefObject<HTMLDivElement>;
15
17
  inputRef?: RefObject<HTMLInputElement>;
18
+ inputProps?: InputProps;
16
19
  }
17
- type NativeDatepickerAttributeProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'min' | 'max' | 'className' | 'disabled'>;
18
20
  export interface DatepickerProps extends BaseDatepickerProps, HTMLAttributes<HTMLDivElement> {
19
- native?: boolean;
20
- nativeHTMLAttributes?: NativeDatepickerAttributeProps;
21
- nativeRef?: RefObject<HTMLInputElement>;
22
21
  }
23
22
  export {};
@@ -1,17 +1,20 @@
1
1
  import { DatepickerValue } from '../Datepicker.types';
2
2
  import { CalendarEvent, AcademicWeek } from '../../Calendar';
3
+ import { InputProps } from './DatepickerInput';
3
4
  interface CustomDatepickerProps extends React.HTMLAttributes<HTMLDivElement> {
4
5
  value?: DatepickerValue;
5
6
  onValueChange?: (value: DatepickerValue, event?: React.SyntheticEvent) => void;
6
7
  minDate?: string | null;
7
8
  maxDate?: string | null;
8
9
  disabled?: boolean;
10
+ clearable?: boolean;
9
11
  events?: CalendarEvent[];
10
12
  showAcademicWeeks?: boolean;
11
13
  academicWeeks?: AcademicWeek[];
12
14
  testId?: string;
13
15
  ref?: React.RefObject<HTMLDivElement>;
14
16
  inputRef?: React.RefObject<HTMLInputElement>;
17
+ inputProps?: InputProps;
15
18
  }
16
- declare const CustomDatepicker: ({ value, onValueChange, minDate, maxDate, disabled, events, showAcademicWeeks, academicWeeks, testId, className, ref, inputRef, ...props }: CustomDatepickerProps) => import("react/jsx-runtime").JSX.Element;
19
+ declare const CustomDatepicker: ({ value, onValueChange, minDate, maxDate, disabled, clearable, events, showAcademicWeeks, academicWeeks, testId, className, ref, inputRef, inputProps, ...props }: CustomDatepickerProps) => import("react/jsx-runtime").JSX.Element;
17
20
  export default CustomDatepicker;
@@ -1,4 +1,17 @@
1
- interface DatepickerInputProps {
1
+ /**
2
+ * HTML attributes that consumers can pass to the underlying `<input>` via the
3
+ * `inputProps` prop on `<Datepicker>`.
4
+ *
5
+ * Controlled and internally-managed attributes are omitted to prevent conflicts.
6
+ */
7
+ export type InputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange' | 'onKeyDown' | 'onFocus' | 'disabled' | 'type'> & {
8
+ testId?: string;
9
+ };
10
+ /**
11
+ * Internal props for `<DatepickerInput>`, combining consumer-facing
12
+ * input attributes with controlled props managed by `<VisibleField>`.
13
+ */
14
+ interface DatepickerInputProps extends InputProps {
2
15
  value: string;
3
16
  onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
4
17
  onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
@@ -6,5 +19,5 @@ interface DatepickerInputProps {
6
19
  disabled: boolean;
7
20
  ref: React.RefObject<HTMLInputElement | null>;
8
21
  }
9
- declare const DatepickerInput: ({ value, onChange, onKeyDown, onFocus, disabled, ref, }: DatepickerInputProps) => import("react/jsx-runtime").JSX.Element;
22
+ declare const DatepickerInput: ({ disabled, placeholder, inputMode, testId, className, ...props }: DatepickerInputProps) => import("react/jsx-runtime").JSX.Element;
10
23
  export default DatepickerInput;
@@ -2,5 +2,5 @@ interface PanelProps {
2
2
  zIndex?: number;
3
3
  children: React.ReactNode;
4
4
  }
5
- declare const Panel: ({ zIndex, children }: PanelProps) => import("react/jsx-runtime").JSX.Element;
5
+ declare const Panel: ({ zIndex, children, }: PanelProps) => import("react/jsx-runtime").JSX.Element;
6
6
  export default Panel;
@@ -1,12 +1,17 @@
1
1
  import { default as React } from 'react';
2
+ import { InputProps } from './DatepickerInput';
2
3
  interface VisibleFieldProps {
3
4
  inputValue: string;
4
5
  onInputChange: (event: React.ChangeEvent<HTMLInputElement>) => void;
5
6
  onInputKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
6
7
  onInputFocus: () => void;
7
8
  onButtonClick: () => void;
9
+ onClear: (event: React.SyntheticEvent) => void;
8
10
  disabled: boolean;
11
+ clearable?: boolean;
12
+ hasValue?: boolean;
9
13
  inputRef: React.RefObject<HTMLInputElement | null>;
14
+ inputProps: InputProps;
10
15
  }
11
- declare const VisibleField: ({ inputValue, onInputChange, onInputKeyDown, onInputFocus, onButtonClick, disabled, inputRef, }: VisibleFieldProps) => import("react/jsx-runtime").JSX.Element;
16
+ declare const VisibleField: ({ inputValue, onInputChange, onInputKeyDown, onInputFocus, onButtonClick, onClear, disabled, clearable, hasValue, inputRef, inputProps, }: VisibleFieldProps) => import("react/jsx-runtime").JSX.Element;
12
17
  export default VisibleField;
@@ -1,5 +1,4 @@
1
1
  export { default as CustomDatepicker } from './CustomDatepicker';
2
- export { default as NativeDatepicker } from './NativeDatepicker';
3
2
  export { default as VisibleField } from './VisibleField';
4
3
  export { default as DatepickerInput } from './DatepickerInput';
5
4
  export { default as Panel } from './Panel';
@@ -1,2 +1 @@
1
- export { default as dateToLocaleISOString } from './dateToLocaleISOString/dateToLocaleISOString';
2
1
  export { default as parseInputValue } from './parseInputValue/parseInputValue';
@@ -15,7 +15,8 @@ export interface BaseDialogProps extends HTMLAttributes<HTMLDialogElement> {
15
15
  finalFocusRef?: React.RefObject<HTMLElement>;
16
16
  disableFocusTrap?: boolean;
17
17
  restoreFocus?: boolean;
18
+ skipCloseOnInitialFocus?: boolean;
18
19
  testId?: string;
19
20
  }
20
- declare const _default: React.MemoExoticComponent<({ open, size, modal, closeOnClickOutside, closeOnClickOutsideStopPropagation, nonModalCloseOnEscape, onClose, className, children, initialFocusRef, finalFocusRef, disableFocusTrap, restoreFocus, testId, ...props }: BaseDialogProps) => import("react/jsx-runtime").JSX.Element | null>;
21
+ declare const _default: React.MemoExoticComponent<({ open, size, modal, closeOnClickOutside, closeOnClickOutsideStopPropagation, nonModalCloseOnEscape, onClose, className, children, initialFocusRef, finalFocusRef, disableFocusTrap, restoreFocus, skipCloseOnInitialFocus, testId, ...props }: BaseDialogProps) => import("react/jsx-runtime").JSX.Element | null>;
21
22
  export default _default;
@@ -4,6 +4,8 @@ import { default as DialogBody } from './DialogBody';
4
4
  import { default as DialogFooter } from './DialogFooter';
5
5
  export declare const NAME = "ucl-uikit-dialog";
6
6
  interface DialogContextValue {
7
+ dialogHeaderId?: string;
8
+ dialogBodyId?: string;
7
9
  onClose?: (ev: React.MouseEvent) => void;
8
10
  onSecondaryAction?: () => void;
9
11
  onAction?: () => void;