@timmbr/ui 1.4.2 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/README.md +12 -10
  2. package/dist/components/Accordion/Accordion.js +1 -1
  3. package/dist/components/Accordion/Accordion.styles.d.ts.map +1 -1
  4. package/dist/components/Accordion/Accordion.styles.js +3 -3
  5. package/dist/components/Alert/Alert.js +2 -2
  6. package/dist/components/Alert/Alert.styles.d.ts +2 -2
  7. package/dist/components/Alert/Alert.styles.js +4 -4
  8. package/dist/components/AlertDialog/AlertDialog.d.ts +5 -3
  9. package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
  10. package/dist/components/AlertDialog/AlertDialog.js +21 -8
  11. package/dist/components/AlertDialog/AlertDialog.styles.d.ts +7 -1
  12. package/dist/components/AlertDialog/AlertDialog.styles.d.ts.map +1 -1
  13. package/dist/components/AlertDialog/AlertDialog.styles.js +29 -6
  14. package/dist/components/AlertDialog/AlertDialog.types.d.ts +19 -2
  15. package/dist/components/AlertDialog/AlertDialog.types.d.ts.map +1 -1
  16. package/dist/components/AuthModal/AuthModal.d.ts +4 -0
  17. package/dist/components/AuthModal/AuthModal.d.ts.map +1 -0
  18. package/dist/components/AuthModal/AuthModal.js +89 -0
  19. package/dist/components/AuthModal/AuthModal.labels.d.ts +6 -0
  20. package/dist/components/AuthModal/AuthModal.labels.d.ts.map +1 -0
  21. package/dist/components/AuthModal/AuthModal.labels.js +52 -0
  22. package/dist/components/AuthModal/AuthModal.styles.d.ts +12 -0
  23. package/dist/components/AuthModal/AuthModal.styles.d.ts.map +1 -0
  24. package/dist/components/AuthModal/AuthModal.styles.js +38 -0
  25. package/dist/components/AuthModal/AuthModal.types.d.ts +158 -0
  26. package/dist/components/AuthModal/AuthModal.types.d.ts.map +1 -0
  27. package/dist/components/AuthModal/index.d.ts +6 -0
  28. package/dist/components/AuthModal/index.d.ts.map +1 -0
  29. package/dist/components/AuthModal/subcomponents/AuthModalBanner.d.ts +11 -0
  30. package/dist/components/AuthModal/subcomponents/AuthModalBanner.d.ts.map +1 -0
  31. package/dist/components/AuthModal/subcomponents/AuthModalBanner.js +58 -0
  32. package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.d.ts +11 -0
  33. package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.d.ts.map +1 -0
  34. package/dist/components/AuthModal/subcomponents/AuthModalIdentifierForm.js +62 -0
  35. package/dist/components/AuthModal/subcomponents/AuthModalOAuth.d.ts +11 -0
  36. package/dist/components/AuthModal/subcomponents/AuthModalOAuth.d.ts.map +1 -0
  37. package/dist/components/AuthModal/subcomponents/AuthModalOAuth.js +19 -0
  38. package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.d.ts +10 -0
  39. package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.d.ts.map +1 -0
  40. package/dist/components/AuthModal/subcomponents/AuthModalOtpForm.js +62 -0
  41. package/dist/components/AuthModal/subcomponents/AuthModalParts.d.ts +44 -0
  42. package/dist/components/AuthModal/subcomponents/AuthModalParts.d.ts.map +1 -0
  43. package/dist/components/AuthModal/subcomponents/AuthModalParts.js +134 -0
  44. package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.d.ts +10 -0
  45. package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.d.ts.map +1 -0
  46. package/dist/components/AuthModal/subcomponents/AuthModalPasswordForm.js +54 -0
  47. package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.d.ts +10 -0
  48. package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.d.ts.map +1 -0
  49. package/dist/components/AuthModal/subcomponents/AuthModalSetPasswordForm.js +79 -0
  50. package/dist/components/AuthModal/subcomponents/AuthModalSuccess.d.ts +10 -0
  51. package/dist/components/AuthModal/subcomponents/AuthModalSuccess.d.ts.map +1 -0
  52. package/dist/components/AuthModal/subcomponents/AuthModalSuccess.js +26 -0
  53. package/dist/components/AuthModal/subcomponents/OAuthButton.d.ts +12 -0
  54. package/dist/components/AuthModal/subcomponents/OAuthButton.d.ts.map +1 -0
  55. package/dist/components/AuthModal/subcomponents/OAuthButton.js +38 -0
  56. package/dist/components/AuthModal/subcomponents/index.d.ts +9 -0
  57. package/dist/components/AuthModal/subcomponents/index.d.ts.map +1 -0
  58. package/dist/components/Avatar/Avatar.styles.d.ts +2 -2
  59. package/dist/components/Avatar/Avatar.styles.js +11 -11
  60. package/dist/components/Badge/Badge.styles.d.ts +2 -2
  61. package/dist/components/Badge/Badge.styles.d.ts.map +1 -1
  62. package/dist/components/Badge/Badge.styles.js +10 -8
  63. package/dist/components/Button/Button.d.ts.map +1 -1
  64. package/dist/components/Button/Button.js +6 -0
  65. package/dist/components/Button/Button.styles.d.ts +4 -2
  66. package/dist/components/Button/Button.styles.d.ts.map +1 -1
  67. package/dist/components/Button/Button.styles.js +29 -10
  68. package/dist/components/Card/Card.d.ts.map +1 -1
  69. package/dist/components/Card/Card.js +51 -32
  70. package/dist/components/Card/Card.styles.d.ts +32 -5
  71. package/dist/components/Card/Card.styles.d.ts.map +1 -1
  72. package/dist/components/Card/Card.styles.js +70 -11
  73. package/dist/components/Card/Card.types.d.ts +14 -3
  74. package/dist/components/Card/Card.types.d.ts.map +1 -1
  75. package/dist/components/Checkbox/Checkbox.js +4 -4
  76. package/dist/components/Checkbox/Checkbox.styles.d.ts +2 -2
  77. package/dist/components/Checkbox/Checkbox.styles.js +1 -1
  78. package/dist/components/Chip/Chip.js +1 -1
  79. package/dist/components/Chip/Chip.styles.d.ts +1 -1
  80. package/dist/components/Chip/Chip.styles.js +5 -5
  81. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +30 -0
  82. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
  83. package/dist/components/ConfirmDialog/ConfirmDialog.js +57 -0
  84. package/dist/components/ConfirmDialog/index.d.ts +2 -0
  85. package/dist/components/ConfirmDialog/index.d.ts.map +1 -0
  86. package/dist/components/Container/Container.styles.d.ts +1 -1
  87. package/dist/components/DataList/DataList.d.ts +3 -1
  88. package/dist/components/DataList/DataList.d.ts.map +1 -1
  89. package/dist/components/DataList/DataList.js +53 -15
  90. package/dist/components/DataList/DataList.styles.d.ts +17 -4
  91. package/dist/components/DataList/DataList.styles.d.ts.map +1 -1
  92. package/dist/components/DataList/DataList.styles.js +56 -13
  93. package/dist/components/DataList/DataList.types.d.ts +19 -2
  94. package/dist/components/DataList/DataList.types.d.ts.map +1 -1
  95. package/dist/components/Dialog/Dialog.styles.js +6 -6
  96. package/dist/components/Divider/Divider.js +1 -1
  97. package/dist/components/Drawer/Drawer.d.ts +4 -3
  98. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  99. package/dist/components/Drawer/Drawer.js +33 -6
  100. package/dist/components/Drawer/Drawer.styles.d.ts +4 -0
  101. package/dist/components/Drawer/Drawer.styles.d.ts.map +1 -1
  102. package/dist/components/Drawer/Drawer.styles.js +9 -6
  103. package/dist/components/Drawer/Drawer.types.d.ts +1 -0
  104. package/dist/components/Drawer/Drawer.types.d.ts.map +1 -1
  105. package/dist/components/Dropdown/Dropdown.d.ts.map +1 -1
  106. package/dist/components/Dropdown/Dropdown.js +25 -12
  107. package/dist/components/Dropdown/Dropdown.styles.d.ts +5 -1
  108. package/dist/components/Dropdown/Dropdown.styles.d.ts.map +1 -1
  109. package/dist/components/Dropdown/Dropdown.styles.js +13 -3
  110. package/dist/components/Dropdown/Dropdown.types.d.ts +4 -0
  111. package/dist/components/Dropdown/Dropdown.types.d.ts.map +1 -1
  112. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  113. package/dist/components/EmptyState/EmptyState.js +4 -3
  114. package/dist/components/EmptyState/EmptyState.styles.d.ts +3 -2
  115. package/dist/components/EmptyState/EmptyState.styles.d.ts.map +1 -1
  116. package/dist/components/EmptyState/EmptyState.styles.js +8 -3
  117. package/dist/components/Fieldset/Fieldset.d.ts +14 -0
  118. package/dist/components/Fieldset/Fieldset.d.ts.map +1 -0
  119. package/dist/components/Fieldset/Fieldset.js +24 -0
  120. package/dist/components/Fieldset/index.d.ts +2 -0
  121. package/dist/components/Fieldset/index.d.ts.map +1 -0
  122. package/dist/components/FormActions/FormActions.d.ts +13 -0
  123. package/dist/components/FormActions/FormActions.d.ts.map +1 -0
  124. package/dist/components/FormActions/FormActions.js +24 -0
  125. package/dist/components/FormActions/index.d.ts +2 -0
  126. package/dist/components/FormActions/index.d.ts.map +1 -0
  127. package/dist/components/FormField/FormField.js +1 -1
  128. package/dist/components/Grid/Grid.d.ts +3 -1
  129. package/dist/components/Grid/Grid.d.ts.map +1 -1
  130. package/dist/components/Grid/Grid.js +31 -5
  131. package/dist/components/Grid/Grid.styles.d.ts +86 -0
  132. package/dist/components/Grid/Grid.styles.d.ts.map +1 -1
  133. package/dist/components/Grid/Grid.styles.js +85 -1
  134. package/dist/components/Grid/Grid.types.d.ts +31 -3
  135. package/dist/components/Grid/Grid.types.d.ts.map +1 -1
  136. package/dist/components/Heading/Heading.styles.d.ts +2 -2
  137. package/dist/components/Heading/Heading.styles.d.ts.map +1 -1
  138. package/dist/components/Heading/Heading.styles.js +15 -11
  139. package/dist/components/Heading/Heading.types.d.ts +1 -1
  140. package/dist/components/Heading/Heading.types.d.ts.map +1 -1
  141. package/dist/components/Icon/Icon.styles.d.ts +2 -2
  142. package/dist/components/Icon/Icon.styles.d.ts.map +1 -1
  143. package/dist/components/Icon/Icon.styles.js +12 -8
  144. package/dist/components/IconTile/IconTile.d.ts +8 -0
  145. package/dist/components/IconTile/IconTile.d.ts.map +1 -0
  146. package/dist/components/IconTile/IconTile.js +23 -0
  147. package/dist/components/IconTile/IconTile.styles.d.ts +7 -0
  148. package/dist/components/IconTile/IconTile.styles.d.ts.map +1 -0
  149. package/dist/components/IconTile/IconTile.styles.js +24 -0
  150. package/dist/components/IconTile/IconTile.types.d.ts +12 -0
  151. package/dist/components/IconTile/IconTile.types.d.ts.map +1 -0
  152. package/dist/components/IconTile/index.d.ts +4 -0
  153. package/dist/components/IconTile/index.d.ts.map +1 -0
  154. package/dist/components/ImageUpload/ImageUpload.js +6 -6
  155. package/dist/components/ImageUpload/subcomponents/ImageUploadDropzone.js +10 -10
  156. package/dist/components/ImageUpload/subcomponents/ImageUploadModal.js +8 -8
  157. package/dist/components/ImageUpload/subcomponents/ImageUploadSinglePreview.js +7 -7
  158. package/dist/components/ImageUpload/subcomponents/ImageUploadThumbnailCard.js +10 -10
  159. package/dist/components/Inline/Inline.d.ts.map +1 -1
  160. package/dist/components/Inline/Inline.js +10 -2
  161. package/dist/components/Inline/Inline.types.d.ts +6 -1
  162. package/dist/components/Inline/Inline.types.d.ts.map +1 -1
  163. package/dist/components/Input/Input.js +4 -4
  164. package/dist/components/Input/Input.styles.d.ts +1 -1
  165. package/dist/components/Input/Input.styles.js +6 -6
  166. package/dist/components/Label/Label.styles.d.ts +1 -1
  167. package/dist/components/Label/Label.styles.js +4 -4
  168. package/dist/components/LinkButton/LinkButton.d.ts.map +1 -1
  169. package/dist/components/LinkButton/LinkButton.js +2 -0
  170. package/dist/components/LinkButton/LinkButton.styles.d.ts +3 -2
  171. package/dist/components/LinkButton/LinkButton.styles.d.ts.map +1 -1
  172. package/dist/components/LinkButton/LinkButton.styles.js +12 -6
  173. package/dist/components/List/List.d.ts.map +1 -1
  174. package/dist/components/List/List.js +19 -6
  175. package/dist/components/List/List.styles.d.ts +3 -1
  176. package/dist/components/List/List.styles.d.ts.map +1 -1
  177. package/dist/components/List/List.styles.js +7 -6
  178. package/dist/components/List/List.types.d.ts +7 -0
  179. package/dist/components/List/List.types.d.ts.map +1 -1
  180. package/dist/components/MediaCard/MediaCard.d.ts +13 -0
  181. package/dist/components/MediaCard/MediaCard.d.ts.map +1 -0
  182. package/dist/components/MediaCard/MediaCard.js +123 -0
  183. package/dist/components/MediaCard/MediaCard.styles.d.ts +17 -0
  184. package/dist/components/MediaCard/MediaCard.styles.d.ts.map +1 -0
  185. package/dist/components/MediaCard/MediaCard.styles.js +57 -0
  186. package/dist/components/MediaCard/MediaCard.types.d.ts +73 -0
  187. package/dist/components/MediaCard/MediaCard.types.d.ts.map +1 -0
  188. package/dist/components/MediaCard/index.d.ts +4 -0
  189. package/dist/components/MediaCard/index.d.ts.map +1 -0
  190. package/dist/components/NavFooter/NavFooter.styles.d.ts +1 -1
  191. package/dist/components/NavFooter/NavFooter.styles.js +9 -9
  192. package/dist/components/NavFooter/subcomponents/FooterBrand.js +3 -3
  193. package/dist/components/NavFooter/subcomponents/FooterLegalBar.js +1 -1
  194. package/dist/components/NavFooter/subcomponents/FooterNavSection.js +4 -4
  195. package/dist/components/NavFooter/subcomponents/FooterNewsletter.js +7 -7
  196. package/dist/components/NavFooter/subcomponents/FooterOffice.js +5 -5
  197. package/dist/components/NavFooter/subcomponents/FooterSocial.js +3 -3
  198. package/dist/components/NavHeader/NavHeader.d.ts.map +1 -1
  199. package/dist/components/NavHeader/NavHeader.js +13 -4
  200. package/dist/components/NavHeader/NavHeader.styles.d.ts +1 -1
  201. package/dist/components/NavHeader/NavHeader.styles.js +16 -16
  202. package/dist/components/NavHeader/NavHeader.types.d.ts +41 -0
  203. package/dist/components/NavHeader/NavHeader.types.d.ts.map +1 -1
  204. package/dist/components/NavHeader/index.d.ts +1 -1
  205. package/dist/components/NavHeader/index.d.ts.map +1 -1
  206. package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.d.ts +4 -0
  207. package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.d.ts.map +1 -0
  208. package/dist/components/NavHeader/subcomponents/NavActionLabelSkeleton.js +16 -0
  209. package/dist/components/NavHeader/subcomponents/NavActionOverflow.d.ts.map +1 -1
  210. package/dist/components/NavHeader/subcomponents/NavActionOverflow.js +6 -5
  211. package/dist/components/NavHeader/subcomponents/NavActions.d.ts +14 -0
  212. package/dist/components/NavHeader/subcomponents/NavActions.d.ts.map +1 -1
  213. package/dist/components/NavHeader/subcomponents/NavActions.js +82 -16
  214. package/dist/components/NavHeader/subcomponents/NavBrand.d.ts.map +1 -1
  215. package/dist/components/NavHeader/subcomponents/NavBrand.js +14 -15
  216. package/dist/components/NavHeader/subcomponents/NavItems.js +3 -3
  217. package/dist/components/NavHeader/subcomponents/NavItemsOverflow.js +7 -7
  218. package/dist/components/NavHeader/subcomponents/NavMobileSearchDrawer.js +5 -5
  219. package/dist/components/NavHeader/subcomponents/NavMobileTabSlider.js +2 -2
  220. package/dist/components/NavHeader/subcomponents/NavSearch.js +5 -5
  221. package/dist/components/NavHeader/subcomponents/OfferBanner.js +1 -1
  222. package/dist/components/OtpInput/OtpInput.d.ts +4 -0
  223. package/dist/components/OtpInput/OtpInput.d.ts.map +1 -0
  224. package/dist/components/OtpInput/OtpInput.js +114 -0
  225. package/dist/components/OtpInput/OtpInput.styles.d.ts +10 -0
  226. package/dist/components/OtpInput/OtpInput.styles.d.ts.map +1 -0
  227. package/dist/components/OtpInput/OtpInput.styles.js +49 -0
  228. package/dist/components/OtpInput/OtpInput.types.d.ts +40 -0
  229. package/dist/components/OtpInput/OtpInput.types.d.ts.map +1 -0
  230. package/dist/components/OtpInput/index.d.ts +4 -0
  231. package/dist/components/OtpInput/index.d.ts.map +1 -0
  232. package/dist/components/PageHeader/PageHeader.d.ts +8 -0
  233. package/dist/components/PageHeader/PageHeader.d.ts.map +1 -0
  234. package/dist/components/PageHeader/PageHeader.js +55 -0
  235. package/dist/components/PageHeader/PageHeader.styles.d.ts +10 -0
  236. package/dist/components/PageHeader/PageHeader.styles.d.ts.map +1 -0
  237. package/dist/components/PageHeader/PageHeader.styles.js +23 -0
  238. package/dist/components/PageHeader/PageHeader.types.d.ts +24 -0
  239. package/dist/components/PageHeader/PageHeader.types.d.ts.map +1 -0
  240. package/dist/components/PageHeader/index.d.ts +4 -0
  241. package/dist/components/PageHeader/index.d.ts.map +1 -0
  242. package/dist/components/Pagination/Pagination.d.ts +9 -3
  243. package/dist/components/Pagination/Pagination.d.ts.map +1 -1
  244. package/dist/components/Pagination/Pagination.js +60 -39
  245. package/dist/components/Pagination/Pagination.styles.d.ts +1 -1
  246. package/dist/components/Pagination/Pagination.styles.js +3 -3
  247. package/dist/components/Pagination/Pagination.types.d.ts +23 -14
  248. package/dist/components/Pagination/Pagination.types.d.ts.map +1 -1
  249. package/dist/components/Popover/Popover.styles.js +1 -1
  250. package/dist/components/Price/Price.d.ts +10 -0
  251. package/dist/components/Price/Price.d.ts.map +1 -0
  252. package/dist/components/Price/Price.js +49 -0
  253. package/dist/components/Price/Price.styles.d.ts +15 -0
  254. package/dist/components/Price/Price.styles.d.ts.map +1 -0
  255. package/dist/components/Price/Price.styles.js +44 -0
  256. package/dist/components/Price/Price.types.d.ts +22 -0
  257. package/dist/components/Price/Price.types.d.ts.map +1 -0
  258. package/dist/components/Price/index.d.ts +4 -0
  259. package/dist/components/Price/index.d.ts.map +1 -0
  260. package/dist/components/Progress/Progress.js +2 -2
  261. package/dist/components/Progress/Progress.styles.d.ts +1 -1
  262. package/dist/components/Radio/Radio.js +4 -4
  263. package/dist/components/Radio/Radio.styles.d.ts +2 -2
  264. package/dist/components/Radio/Radio.styles.js +1 -1
  265. package/dist/components/RangeSlider/RangeSlider.js +3 -3
  266. package/dist/components/RangeSlider/RangeSlider.styles.js +1 -1
  267. package/dist/components/Rating/Rating.d.ts +5 -0
  268. package/dist/components/Rating/Rating.d.ts.map +1 -0
  269. package/dist/components/Rating/Rating.js +38 -0
  270. package/dist/components/Rating/Rating.styles.d.ts +6 -0
  271. package/dist/components/Rating/Rating.styles.d.ts.map +1 -0
  272. package/dist/components/Rating/Rating.styles.js +13 -0
  273. package/dist/components/Rating/Rating.types.d.ts +18 -0
  274. package/dist/components/Rating/Rating.types.d.ts.map +1 -0
  275. package/dist/components/Rating/index.d.ts +4 -0
  276. package/dist/components/Rating/index.d.ts.map +1 -0
  277. package/dist/components/ResponsiveDialog/ResponsiveDialog.d.ts +29 -0
  278. package/dist/components/ResponsiveDialog/ResponsiveDialog.d.ts.map +1 -0
  279. package/dist/components/ResponsiveDialog/ResponsiveDialog.js +74 -0
  280. package/dist/components/ResponsiveDialog/ResponsiveDialog.types.d.ts +27 -0
  281. package/dist/components/ResponsiveDialog/ResponsiveDialog.types.d.ts.map +1 -0
  282. package/dist/components/ResponsiveDialog/index.d.ts +3 -0
  283. package/dist/components/ResponsiveDialog/index.d.ts.map +1 -0
  284. package/dist/components/SectionNav/SectionNav.d.ts +12 -0
  285. package/dist/components/SectionNav/SectionNav.d.ts.map +1 -0
  286. package/dist/components/SectionNav/SectionNav.js +67 -0
  287. package/dist/components/SectionNav/SectionNav.styles.d.ts +11 -0
  288. package/dist/components/SectionNav/SectionNav.styles.d.ts.map +1 -0
  289. package/dist/components/SectionNav/SectionNav.styles.js +28 -0
  290. package/dist/components/SectionNav/SectionNav.types.d.ts +37 -0
  291. package/dist/components/SectionNav/SectionNav.types.d.ts.map +1 -0
  292. package/dist/components/SectionNav/index.d.ts +4 -0
  293. package/dist/components/SectionNav/index.d.ts.map +1 -0
  294. package/dist/components/Select/Select.js +2 -2
  295. package/dist/components/Select/Select.styles.d.ts +1 -1
  296. package/dist/components/Select/Select.styles.js +8 -8
  297. package/dist/components/SideBarNavigation/SideBarNavigation.styles.js +8 -8
  298. package/dist/components/SideBarNavigation/subcomponents/SidebarBranding.js +3 -3
  299. package/dist/components/SideBarNavigation/subcomponents/SidebarFooter.js +1 -1
  300. package/dist/components/SideBarNavigation/subcomponents/SidebarPopoverMenu.js +4 -4
  301. package/dist/components/SideBarNavigation/subcomponents/SidebarProfile.js +9 -9
  302. package/dist/components/SideBarNavigation/subcomponents/SidebarSubItem.js +2 -2
  303. package/dist/components/Skeleton/Skeleton.styles.js +1 -1
  304. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  305. package/dist/components/Spinner/Spinner.js +9 -7
  306. package/dist/components/Spinner/Spinner.styles.d.ts +8 -2
  307. package/dist/components/Spinner/Spinner.styles.d.ts.map +1 -1
  308. package/dist/components/Spinner/Spinner.styles.js +27 -24
  309. package/dist/components/Spinner/Spinner.types.d.ts +9 -0
  310. package/dist/components/Spinner/Spinner.types.d.ts.map +1 -1
  311. package/dist/components/Stack/Stack.d.ts.map +1 -1
  312. package/dist/components/Stack/Stack.js +16 -1
  313. package/dist/components/Stack/Stack.types.d.ts +14 -1
  314. package/dist/components/Stack/Stack.types.d.ts.map +1 -1
  315. package/dist/components/Stat/Stat.styles.js +4 -4
  316. package/dist/components/Stepper/Stepper.d.ts +9 -0
  317. package/dist/components/Stepper/Stepper.d.ts.map +1 -0
  318. package/dist/components/Stepper/Stepper.js +81 -0
  319. package/dist/components/Stepper/Stepper.styles.d.ts +14 -0
  320. package/dist/components/Stepper/Stepper.styles.d.ts.map +1 -0
  321. package/dist/components/Stepper/Stepper.styles.js +40 -0
  322. package/dist/components/Stepper/Stepper.types.d.ts +17 -0
  323. package/dist/components/Stepper/Stepper.types.d.ts.map +1 -0
  324. package/dist/components/Stepper/index.d.ts +4 -0
  325. package/dist/components/Stepper/index.d.ts.map +1 -0
  326. package/dist/components/Steps/Steps.d.ts +9 -0
  327. package/dist/components/Steps/Steps.d.ts.map +1 -0
  328. package/dist/components/Steps/Steps.js +81 -0
  329. package/dist/components/Steps/Steps.styles.d.ts +14 -0
  330. package/dist/components/Steps/Steps.styles.d.ts.map +1 -0
  331. package/dist/components/Steps/Steps.styles.js +40 -0
  332. package/dist/components/Steps/Steps.types.d.ts +17 -0
  333. package/dist/components/Steps/Steps.types.d.ts.map +1 -0
  334. package/dist/components/Steps/index.d.ts +4 -0
  335. package/dist/components/Steps/index.d.ts.map +1 -0
  336. package/dist/components/SubNav/SubNav.d.ts +17 -0
  337. package/dist/components/SubNav/SubNav.d.ts.map +1 -0
  338. package/dist/components/SubNav/SubNav.js +87 -0
  339. package/dist/components/SubNav/SubNav.styles.d.ts +18 -0
  340. package/dist/components/SubNav/SubNav.styles.d.ts.map +1 -0
  341. package/dist/components/SubNav/SubNav.styles.js +33 -0
  342. package/dist/components/SubNav/SubNav.types.d.ts +45 -0
  343. package/dist/components/SubNav/SubNav.types.d.ts.map +1 -0
  344. package/dist/components/SubNav/index.d.ts +4 -0
  345. package/dist/components/SubNav/index.d.ts.map +1 -0
  346. package/dist/components/Switch/Switch.js +2 -2
  347. package/dist/components/Switch/Switch.styles.d.ts +2 -2
  348. package/dist/components/Switch/Switch.styles.js +1 -1
  349. package/dist/components/Table/Table.js +1 -1
  350. package/dist/components/Table/Table.styles.d.ts +1 -1
  351. package/dist/components/Table/Table.styles.js +5 -5
  352. package/dist/components/Table/TablePagination.js +4 -4
  353. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  354. package/dist/components/Tabs/Tabs.js +75 -8
  355. package/dist/components/Tabs/Tabs.styles.d.ts +10 -2
  356. package/dist/components/Tabs/Tabs.styles.d.ts.map +1 -1
  357. package/dist/components/Tabs/Tabs.styles.js +25 -10
  358. package/dist/components/Tabs/Tabs.types.d.ts +13 -0
  359. package/dist/components/Tabs/Tabs.types.d.ts.map +1 -1
  360. package/dist/components/Text/Text.d.ts.map +1 -1
  361. package/dist/components/Text/Text.js +4 -0
  362. package/dist/components/Text/Text.styles.d.ts +4 -2
  363. package/dist/components/Text/Text.styles.d.ts.map +1 -1
  364. package/dist/components/Text/Text.styles.js +32 -16
  365. package/dist/components/Text/Text.types.d.ts +1 -1
  366. package/dist/components/Text/Text.types.d.ts.map +1 -1
  367. package/dist/components/Textarea/Textarea.js +4 -4
  368. package/dist/components/Textarea/Textarea.styles.d.ts +1 -1
  369. package/dist/components/Textarea/Textarea.styles.js +6 -6
  370. package/dist/components/Toast/Toast.js +3 -3
  371. package/dist/components/Toast/Toast.styles.js +5 -5
  372. package/dist/components/Toast/ToastContainer.js +1 -1
  373. package/dist/components/Tooltip/Tooltip.styles.js +1 -1
  374. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +8 -0
  375. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
  376. package/dist/components/VisuallyHidden/VisuallyHidden.js +14 -0
  377. package/dist/components/VisuallyHidden/index.d.ts +2 -0
  378. package/dist/components/VisuallyHidden/index.d.ts.map +1 -0
  379. package/dist/index.d.ts +15 -0
  380. package/dist/index.d.ts.map +1 -1
  381. package/dist/index.js +46 -14
  382. package/dist/utils/gap.d.ts +21 -1
  383. package/dist/utils/gap.d.ts.map +1 -1
  384. package/dist/utils/gap.js +306 -46
  385. package/package.json +7 -6
  386. package/dist/components/CrossZoneLink/CrossZoneLink.d.ts +0 -10
  387. package/dist/components/CrossZoneLink/CrossZoneLink.d.ts.map +0 -1
  388. package/dist/components/CrossZoneLink/CrossZoneLink.js +0 -111
  389. package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts +0 -8
  390. package/dist/components/CrossZoneLink/CrossZoneLink.styles.d.ts.map +0 -1
  391. package/dist/components/CrossZoneLink/CrossZoneLink.styles.js +0 -33
  392. package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts +0 -31
  393. package/dist/components/CrossZoneLink/CrossZoneLink.types.d.ts.map +0 -1
  394. package/dist/components/CrossZoneLink/index.d.ts +0 -4
  395. package/dist/components/CrossZoneLink/index.d.ts.map +0 -1
@@ -60,16 +60,16 @@ const NavItems = ({
60
60
  };
61
61
  const itemContent = /* @__PURE__ */ jsxs(Fragment, { children: [
62
62
  /* @__PURE__ */ jsx("span", { children: item.label }),
63
- item.badge && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center justify-center text-xs font-semibold px-1.5 py-0.5 rounded-full bg-primary-100 text-primary-800", children: item.badge }),
63
+ item.badge && /* @__PURE__ */ jsx("span", { className: "inline-flex items-center justify-center text-body-3 font-semibold px-1.5 py-0.5 rounded-full bg-primary-100 text-primary-800", children: item.badge }),
64
64
  isActive && shouldAnimate && /* @__PURE__ */ jsx(
65
65
  motion.div,
66
66
  {
67
67
  layoutId: "nav-header-active-indicator",
68
- className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-[#C0643A] rounded-full",
68
+ className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-primary rounded-full",
69
69
  transition: { type: "spring", stiffness: 500, damping: 35 }
70
70
  }
71
71
  ),
72
- isActive && !shouldAnimate && /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-[#C0643A] rounded-full" })
72
+ isActive && !shouldAnimate && /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-primary rounded-full" })
73
73
  ] });
74
74
  const className = cn(
75
75
  navHeaderItemVariants({ active: isActive, disabled: item.disabled }),
@@ -59,14 +59,14 @@ const NavItemsOverflow = ({
59
59
  onClick: () => setIsOpen((prev) => !prev),
60
60
  className: cn(
61
61
  navHeaderItemVariants({ active: isOpen || isChildActive }),
62
- "px-2 py-2 flex items-center justify-center rounded-lg hover:bg-black/5 transition-colors",
62
+ "px-2 py-2 flex items-center justify-center rounded-lg hover:bg-grey-1000/5 transition-colors",
63
63
  !shouldAnimate && "transition-none",
64
64
  motionClass
65
65
  ),
66
66
  "data-slot": "nav-items-overflow-trigger",
67
67
  children: [
68
68
  /* @__PURE__ */ jsx(MoreHorizontal, { size: 20, className: "stroke-[2]" }),
69
- (isOpen || isChildActive) && /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-2 right-2 h-[2.5px] bg-[#C0643A] rounded-full" })
69
+ (isOpen || isChildActive) && /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-2 right-2 h-[2.5px] bg-primary rounded-full" })
70
70
  ]
71
71
  }
72
72
  ),
@@ -78,7 +78,7 @@ const NavItemsOverflow = ({
78
78
  exit: shouldAnimate ? { opacity: 0, y: 6, scale: 0.97 } : void 0,
79
79
  transition: { duration: 0.18, ease: [0.25, 1, 0.5, 1] },
80
80
  className: cn(
81
- "absolute top-full left-0 mt-2 w-56 bg-white border border-[#E7DFD3] shadow-2xl rounded-2xl p-2 z-50 text-left overflow-hidden divide-y divide-grey-100",
81
+ "absolute top-full left-0 mt-2 w-56 bg-grey-50 border border-border-warm shadow-2xl rounded-2xl p-2 z-50 text-left overflow-hidden divide-y divide-grey-100",
82
82
  !shouldAnimate && "transition-none",
83
83
  motionClass
84
84
  ),
@@ -98,13 +98,13 @@ const NavItemsOverflow = ({
98
98
  item.crossZone
99
99
  );
100
100
  const itemRowContent = /* @__PURE__ */ jsxs(Fragment, { children: [
101
- /* @__PURE__ */ jsx("span", { className: cn("truncate", isActive && "text-[#C0643A] font-bold"), children: item.label }),
102
- item.badge && /* @__PURE__ */ jsx("span", { className: "shrink-0 px-1.5 py-0.5 rounded-full bg-primary-100 text-primary-800 text-[10px] font-bold", children: item.badge })
101
+ /* @__PURE__ */ jsx("span", { className: cn("truncate", isActive && "text-primary font-bold"), children: item.label }),
102
+ item.badge && /* @__PURE__ */ jsx("span", { className: "shrink-0 px-1.5 py-0.5 rounded-full bg-primary-100 text-primary-800 text-caption font-bold", children: item.badge })
103
103
  ] });
104
104
  const itemClass = cn(
105
- "w-full flex items-center justify-between gap-3 px-3 py-2 text-xs font-semibold text-[#3C3C3C] hover:text-[#C0643A] hover:bg-[#F7F1E6]/60 rounded-xl transition-colors cursor-pointer text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#C0643A]",
105
+ "w-full flex items-center justify-between gap-3 px-3 py-2 text-body-3 font-semibold text-grey-800 hover:text-primary hover:bg-bg-2/60 rounded-xl transition-colors cursor-pointer text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary",
106
106
  item.disabled && "opacity-40 cursor-not-allowed pointer-events-none",
107
- isActive && "bg-[#F7F1E6]/80 text-[#C0643A]",
107
+ isActive && "bg-bg-2/80 text-primary",
108
108
  item.className
109
109
  );
110
110
  const handleClick = (e) => {
@@ -78,14 +78,14 @@ const NavMobileSearchDrawer = ({
78
78
  className: cn(mobileSearchDrawerVariants(), motionClass),
79
79
  "data-slot": "nav-mobile-search-drawer",
80
80
  children: [
81
- /* @__PURE__ */ jsxs("div", { className: "w-full bg-[var(--color-bg-2,#F7F1E6)] border-b border-[#E7DFD3] px-3 py-3 flex items-center gap-3 shrink-0 shadow-xs", children: [
81
+ /* @__PURE__ */ jsxs("div", { className: "w-full bg-[var(--color-bg-2,#F7F1E6)] border-b border-border-warm px-3 py-3 flex items-center gap-3 shrink-0 shadow-xs", children: [
82
82
  /* @__PURE__ */ jsx(
83
83
  "button",
84
84
  {
85
85
  type: "button",
86
86
  onClick: onClose,
87
87
  "aria-label": "Close search and go back",
88
- className: "w-10 h-10 rounded-full flex items-center justify-center text-grey-800 hover:text-[#C0643A] hover:bg-black/5 transition-colors cursor-pointer shrink-0",
88
+ className: "w-10 h-10 rounded-full flex items-center justify-center text-grey-800 hover:text-primary hover:bg-grey-1000/5 transition-colors cursor-pointer shrink-0",
89
89
  "data-slot": "nav-mobile-search-back-btn",
90
90
  children: /* @__PURE__ */ jsx(ArrowLeft, { size: 22, className: "stroke-[2]" })
91
91
  }
@@ -108,7 +108,7 @@ const NavMobileSearchDrawer = ({
108
108
  value,
109
109
  onChange: (e) => onChange(e.target.value),
110
110
  placeholder: searchConfig.placeholder ?? "Search for furniture, decor, and more...",
111
- className: "w-full h-11 pl-10 pr-9 rounded-full bg-white border border-[#E7DFD3] text-sm text-grey-900 placeholder:text-grey-400 focus:outline-none focus:border-[#C0643A] focus:ring-2 focus:ring-[#C0643A]/20 transition-all shadow-xs"
111
+ className: "w-full h-11 pl-10 pr-9 rounded-full bg-grey-50 border border-border-warm text-body-2 text-grey-900 placeholder:text-grey-400 focus:outline-none focus:border-primary focus:ring-2 focus:ring-primary/20 transition-all shadow-xs"
112
112
  }
113
113
  ),
114
114
  value.length > 0 && /* @__PURE__ */ jsx(
@@ -125,13 +125,13 @@ const NavMobileSearchDrawer = ({
125
125
  ] }),
126
126
  /* @__PURE__ */ jsxs("div", { className: "flex-1 overflow-y-auto p-4 sm:p-6 space-y-6 bg-[var(--color-bg-2,#F7F1E6)]", children: [
127
127
  searchConfig.popularSearches && searchConfig.popularSearches.length > 0 && /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
128
- /* @__PURE__ */ jsx("h4", { className: "font-title text-xs font-semibold text-grey-500 uppercase tracking-wider", children: "POPULAR SEARCHES" }),
128
+ /* @__PURE__ */ jsx("h4", { className: "font-title! text-body-3 font-semibold text-grey-500 uppercase tracking-wider", children: "POPULAR SEARCHES" }),
129
129
  /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: searchConfig.popularSearches.map((item) => /* @__PURE__ */ jsx(
130
130
  "button",
131
131
  {
132
132
  type: "button",
133
133
  onClick: () => handlePopularSearchClick(item.label),
134
- className: "px-3.5 py-1.5 rounded-full bg-white border border-[#E7DFD3] text-xs font-semibold text-grey-700 hover:border-[#C0643A] hover:text-[#C0643A] hover:bg-white transition-colors cursor-pointer shadow-xs",
134
+ className: "px-3.5 py-1.5 rounded-full bg-grey-50 border border-border-warm text-body-3 font-semibold text-grey-700 hover:border-primary hover:text-primary hover:bg-grey-50 transition-colors cursor-pointer shadow-xs",
135
135
  children: item.label
136
136
  },
137
137
  item.id
@@ -41,10 +41,10 @@ const NavMobileTabSlider = ({
41
41
  motion.div,
42
42
  {
43
43
  layoutId: "active-mobile-tab-indicator",
44
- className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-[#C0643A] rounded-full",
44
+ className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-primary rounded-full",
45
45
  transition: { type: "spring", stiffness: 380, damping: 30 }
46
46
  }
47
- ) : isActive ? /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-[#C0643A] rounded-full" }) : null;
47
+ ) : isActive ? /* @__PURE__ */ jsx("div", { className: "absolute bottom-0 left-0 right-0 h-[2.5px] bg-primary rounded-full" }) : null;
48
48
  if (resolvedHref && !item.content && !item.disabled) {
49
49
  if (CustomLink && !requiresCrossZone) {
50
50
  return /* @__PURE__ */ jsxs(
@@ -100,7 +100,7 @@ const NavSearch = ({
100
100
  "data-slot": "nav-search-trigger",
101
101
  children: [
102
102
  /* @__PURE__ */ jsx(Search, { size: 22, className: "shrink-0 stroke-[1.8]" }),
103
- /* @__PURE__ */ jsx("span", { className: "font-sans font-bold text-[10px] tracking-[0.0926em] uppercase", children: "SEARCH" })
103
+ /* @__PURE__ */ jsx("span", { className: "font-bold text-caption tracking-[0.0926em] uppercase", children: "SEARCH" })
104
104
  ]
105
105
  }
106
106
  ),
@@ -113,7 +113,7 @@ const NavSearch = ({
113
113
  transition: { duration: 0.28, ease: [0.25, 1, 0.5, 1] },
114
114
  className: cn("relative flex flex-col", !shouldAnimate && "transition-none", motionClass),
115
115
  children: [
116
- /* @__PURE__ */ jsxs("div", { className: "relative flex items-center w-full h-10 bg-white border border-grey-300 rounded-full shadow-sm focus-within:ring-2 focus-within:ring-[#C0643A]/30 focus-within:border-[#C0643A] overflow-hidden", children: [
116
+ /* @__PURE__ */ jsxs("div", { className: "relative flex items-center w-full h-10 bg-grey-50 border border-grey-300 rounded-full shadow-sm focus-within:ring-2 focus-within:ring-primary/30 focus-within:border-primary overflow-hidden", children: [
117
117
  /* @__PURE__ */ jsx(
118
118
  Search,
119
119
  {
@@ -134,7 +134,7 @@ const NavSearch = ({
134
134
  onChange: (e) => onChange(e.target.value),
135
135
  onFocus: () => setShowPopover(true),
136
136
  onKeyDown: handleKeyDown,
137
- className: "w-full h-full pl-10 pr-9 bg-transparent text-sm text-[#1A1A1A] placeholder:text-grey-400 border-none focus:outline-none [&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden",
137
+ className: "w-full h-full pl-10 pr-9 bg-transparent text-body-2 text-grey-950 placeholder:text-grey-400 border-none focus:outline-none [&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden",
138
138
  "data-slot": "nav-search-input"
139
139
  }
140
140
  ),
@@ -165,7 +165,7 @@ const NavSearch = ({
165
165
  className: cn(searchPopoverCardVariants(), !shouldAnimate && "transition-none", motionClass),
166
166
  "data-slot": "nav-search-popover",
167
167
  children: popoverContent ? popoverContent : /* @__PURE__ */ jsxs("div", { children: [
168
- popularSearchesTitle && /* @__PURE__ */ jsx("h4", { className: "font-sans font-bold text-sm tracking-wide text-[#E11D48] mb-3 uppercase flex items-center gap-1.5", children: /* @__PURE__ */ jsx("span", { children: popularSearchesTitle }) }),
168
+ popularSearchesTitle && /* @__PURE__ */ jsx("h4", { className: "font-bold text-body-2 tracking-wide text-destructive mb-3 uppercase flex items-center gap-1.5", children: /* @__PURE__ */ jsx("span", { children: popularSearchesTitle }) }),
169
169
  /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: popularSearches.map((tag, idx) => {
170
170
  const resolvedTagHref = resolveNavDestination(tag.href, tag.zone, globalConfig.zones?.zones);
171
171
  const requiresCrossZone = isCrossZoneNavigation(tag.zone, globalConfig.zones?.currentZone);
@@ -173,7 +173,7 @@ const NavSearch = ({
173
173
  /* @__PURE__ */ jsx(TrendingUp, { size: 13, className: "text-grey-500 shrink-0" }),
174
174
  /* @__PURE__ */ jsx("span", { children: tag.label })
175
175
  ] });
176
- const tagClass = "inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg border border-grey-200 bg-white hover:border-grey-400 hover:bg-grey-50 text-xs font-medium text-grey-800 transition-all cursor-pointer";
176
+ const tagClass = "inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg border border-grey-200 bg-grey-50 hover:border-grey-400 hover:bg-grey-50 text-body-3 font-medium text-grey-800 transition-all cursor-pointer";
177
177
  if (resolvedTagHref) {
178
178
  if (CustomLink && !requiresCrossZone) {
179
179
  return /* @__PURE__ */ jsx(
@@ -80,7 +80,7 @@ const OfferBanner = ({
80
80
  type: "button",
81
81
  onClick: handleDismiss,
82
82
  "aria-label": "Dismiss offer banner",
83
- className: "absolute right-3 top-1/2 -translate-y-1/2 p-1 text-[#F7F1E6]/70 hover:text-[#F7F1E6] hover:bg-white/10 rounded transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-white",
83
+ className: "absolute right-3 top-1/2 -translate-y-1/2 p-1 text-bg-2/70 hover:text-bg-2 hover:bg-grey-50/10 rounded transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-grey-50",
84
84
  children: /* @__PURE__ */ jsx(X, { size: 14 })
85
85
  }
86
86
  )
@@ -0,0 +1,4 @@
1
+ import * as React from 'react';
2
+ import type { OtpInputProps } from './OtpInput.types';
3
+ export declare const OtpInput: React.ForwardRefExoticComponent<OtpInputProps & React.RefAttributes<HTMLInputElement>>;
4
+ //# sourceMappingURL=OtpInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtpInput.d.ts","sourceRoot":"","sources":["../../../src/components/OtpInput/OtpInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AAsCpE,eAAO,MAAM,QAAQ,wFAwEpB,CAAC"}
@@ -0,0 +1,114 @@
1
+ "use client";
2
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
3
+ import * as React from 'react';
4
+ import { OTPInput } from 'input-otp';
5
+ import { cn } from '@timmbr/utils';
6
+ import { otpContainerVariants, otpSlotVariants } from './OtpInput.styles.js';
7
+
8
+ function OtpSlot({
9
+ char,
10
+ isActive,
11
+ hasFakeCaret,
12
+ variant = "default",
13
+ size = "md",
14
+ error = false,
15
+ disabled = false,
16
+ className
17
+ }) {
18
+ return /* @__PURE__ */ jsxs(
19
+ "div",
20
+ {
21
+ "data-slot": "otp-slot",
22
+ className: cn(
23
+ otpSlotVariants({
24
+ variant,
25
+ size,
26
+ isActive,
27
+ hasError: error
28
+ }),
29
+ className
30
+ ),
31
+ children: [
32
+ char,
33
+ hasFakeCaret && !disabled && /* @__PURE__ */ jsx(
34
+ "div",
35
+ {
36
+ "data-slot": "otp-caret",
37
+ className: "pointer-events-none absolute inset-0 flex items-center justify-center",
38
+ children: /* @__PURE__ */ jsx("div", { className: "h-4 w-0.5 animate-caret-blink bg-primary duration-1000" })
39
+ }
40
+ )
41
+ ]
42
+ }
43
+ );
44
+ }
45
+ const OtpInput = React.forwardRef(
46
+ ({
47
+ length = 6,
48
+ value,
49
+ defaultValue,
50
+ onChange,
51
+ onComplete,
52
+ variant = "default",
53
+ size = "md",
54
+ error = false,
55
+ disabled = false,
56
+ autoFocus = false,
57
+ containerClassName,
58
+ className,
59
+ ...props
60
+ }, ref) => {
61
+ const hasError = Boolean(error);
62
+ const errorId = React.useId();
63
+ const errorText = typeof error === "string" && error.length > 0 ? error : null;
64
+ return /* @__PURE__ */ jsxs("div", { "data-slot": "otp-input-root", className: "w-full flex flex-col items-center", children: [
65
+ /* @__PURE__ */ jsx(
66
+ OTPInput,
67
+ {
68
+ ref,
69
+ maxLength: length,
70
+ value,
71
+ defaultValue,
72
+ onChange,
73
+ onComplete,
74
+ disabled,
75
+ autoFocus,
76
+ "aria-invalid": hasError || void 0,
77
+ "aria-describedby": errorText ? errorId : void 0,
78
+ containerClassName: cn(
79
+ otpContainerVariants({ disabled }),
80
+ containerClassName
81
+ ),
82
+ className: cn("disabled:cursor-not-allowed", className),
83
+ render: ({ slots }) => /* @__PURE__ */ jsx(Fragment, { children: slots.map((slot, idx) => /* @__PURE__ */ jsx(
84
+ OtpSlot,
85
+ {
86
+ char: slot.char,
87
+ isActive: slot.isActive,
88
+ hasFakeCaret: slot.hasFakeCaret,
89
+ variant,
90
+ size,
91
+ error: hasError,
92
+ disabled
93
+ },
94
+ idx
95
+ )) }),
96
+ ...props
97
+ }
98
+ ),
99
+ errorText && /* @__PURE__ */ jsx(
100
+ "p",
101
+ {
102
+ id: errorId,
103
+ role: "alert",
104
+ "data-slot": "otp-error",
105
+ className: "mt-2 text-body-3 text-destructive text-center font-medium",
106
+ children: errorText
107
+ }
108
+ )
109
+ ] });
110
+ }
111
+ );
112
+ OtpInput.displayName = "OtpInput";
113
+
114
+ export { OtpInput };
@@ -0,0 +1,10 @@
1
+ export declare const otpContainerVariants: (props?: ({
2
+ disabled?: boolean | null | undefined;
3
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
4
+ export declare const otpSlotVariants: (props?: ({
5
+ variant?: "default" | "underline" | "filled" | null | undefined;
6
+ size?: "sm" | "md" | "lg" | null | undefined;
7
+ isActive?: boolean | null | undefined;
8
+ hasError?: boolean | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
+ //# sourceMappingURL=OtpInput.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtpInput.styles.d.ts","sourceRoot":"","sources":["../../../src/components/OtpInput/OtpInput.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB;;8EAahC,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;8EAiC3B,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { cva } from 'class-variance-authority';
2
+
3
+ const otpContainerVariants = cva(
4
+ "flex items-center gap-2 select-none justify-center",
5
+ {
6
+ variants: {
7
+ disabled: {
8
+ true: "opacity-50 cursor-not-allowed pointer-events-none",
9
+ false: ""
10
+ }
11
+ },
12
+ defaultVariants: {
13
+ disabled: false
14
+ }
15
+ }
16
+ );
17
+ const otpSlotVariants = cva(
18
+ "relative flex items-center justify-center tabular-nums font-semibold transition-all duration-150",
19
+ {
20
+ variants: {
21
+ variant: {
22
+ default: "rounded-lg border bg-bg-1/30 border-border-warm text-grey-950",
23
+ filled: "rounded-lg border border-transparent bg-bg-1 text-grey-950",
24
+ underline: "rounded-none border-b-2 border-t-0 border-x-0 border-border-warm bg-transparent text-grey-950"
25
+ },
26
+ size: {
27
+ sm: "w-8 h-10 text-body-1",
28
+ md: "w-11 h-13 text-h5",
29
+ lg: "w-13 h-15 text-h4"
30
+ },
31
+ isActive: {
32
+ true: "border-primary ring-2 ring-primary/25 z-10",
33
+ false: ""
34
+ },
35
+ hasError: {
36
+ true: "!border-destructive !ring-destructive/20 text-destructive",
37
+ false: ""
38
+ }
39
+ },
40
+ defaultVariants: {
41
+ variant: "default",
42
+ size: "md",
43
+ isActive: false,
44
+ hasError: false
45
+ }
46
+ }
47
+ );
48
+
49
+ export { otpContainerVariants, otpSlotVariants };
@@ -0,0 +1,40 @@
1
+ import type { ComponentPropsWithoutRef } from 'react';
2
+ export type OtpInputVariant = 'default' | 'filled' | 'underline';
3
+ export type OtpInputSize = 'sm' | 'md' | 'lg';
4
+ export interface OtpInputProps extends Omit<ComponentPropsWithoutRef<'input'>, 'size' | 'onChange' | 'value' | 'defaultValue' | 'children'> {
5
+ /** Number of OTP character slots. Defaults to 6. */
6
+ length?: number;
7
+ /** Controlled value */
8
+ value?: string;
9
+ /** Default uncontrolled value */
10
+ defaultValue?: string;
11
+ /** Callback fired on character change */
12
+ onChange?: (value: string) => void;
13
+ /** Callback fired when all slots are filled */
14
+ onComplete?: (value: string) => void;
15
+ /** Visual variant. Defaults to 'default'. */
16
+ variant?: OtpInputVariant;
17
+ /** Size scale. Defaults to 'md'. */
18
+ size?: OtpInputSize;
19
+ /** Error state or error message */
20
+ error?: boolean | string;
21
+ /** Whether the input is disabled */
22
+ disabled?: boolean;
23
+ /** Whether to focus automatically on mount */
24
+ autoFocus?: boolean;
25
+ /** Custom wrapper class */
26
+ containerClassName?: string;
27
+ /** Explicitly disallow children as OtpInput uses internal slot rendering */
28
+ children?: never;
29
+ }
30
+ export interface OtpSlotProps {
31
+ char: string | null;
32
+ isActive: boolean;
33
+ hasFakeCaret: boolean;
34
+ variant?: OtpInputVariant;
35
+ size?: OtpInputSize;
36
+ error?: boolean;
37
+ disabled?: boolean;
38
+ className?: string;
39
+ }
40
+ //# sourceMappingURL=OtpInput.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtpInput.types.d.ts","sourceRoot":"","sources":["../../../src/components/OtpInput/OtpInput.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,OAAO,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,GAAG,cAAc,GAAG,UAAU,CAAC;IAC5G,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,+CAA+C;IAC/C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,6CAA6C;IAC7C,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,oCAAoC;IACpC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,mCAAmC;IACnC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2BAA2B;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,4 @@
1
+ export * from './OtpInput';
2
+ export * from './OtpInput.types';
3
+ export * from './OtpInput.styles';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/OtpInput/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ import type { PageHeaderProps } from './PageHeader.types';
3
+ /**
4
+ * Title block at the top of a page or section: heading, optional description,
5
+ * a back link and actions (buttons) aligned to the end.
6
+ */
7
+ export declare const PageHeader: React.ForwardRefExoticComponent<PageHeaderProps & React.RefAttributes<HTMLElement>>;
8
+ //# sourceMappingURL=PageHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../../src/components/PageHeader/PageHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,UAAU,qFAwDtB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { cn } from '@timmbr/utils';
4
+ import { ChevronLeft } from '@timmbr/icons';
5
+ import { pageHeaderTitleVariants, pageHeaderVariants } from './PageHeader.styles.js';
6
+ import { LinkButton } from '../LinkButton/LinkButton.js';
7
+ import { Text } from '../Text/Text.js';
8
+
9
+ const PageHeader = React.forwardRef(
10
+ ({
11
+ title,
12
+ description,
13
+ actions,
14
+ back,
15
+ as: Heading = "h1",
16
+ size = "default",
17
+ divider = false,
18
+ titleId,
19
+ className,
20
+ ...props
21
+ }, ref) => /* @__PURE__ */ jsxs(
22
+ "header",
23
+ {
24
+ ref,
25
+ "data-slot": "page-header",
26
+ className: cn(pageHeaderVariants({ divider }), className),
27
+ ...props,
28
+ children: [
29
+ back && /* @__PURE__ */ jsx(
30
+ LinkButton,
31
+ {
32
+ href: back.href,
33
+ crossZone: back.crossZone,
34
+ variant: "back",
35
+ "aria-label": back.ariaLabel,
36
+ leftIcon: /* @__PURE__ */ jsx(ChevronLeft, { size: 18, "aria-hidden": "true" }),
37
+ className: "mb-2 w-fit",
38
+ "data-slot": "page-header-back",
39
+ children: back.label
40
+ }
41
+ ),
42
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-start justify-between gap-x-6 gap-y-3", children: [
43
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
44
+ /* @__PURE__ */ jsx(Heading, { id: titleId, className: pageHeaderTitleVariants({ size }), "data-slot": "page-header-title", children: title }),
45
+ description && /* @__PURE__ */ jsx(Text, { asChild: true, variant: "body-2", foreground: "muted", children: /* @__PURE__ */ jsx("div", { className: "mt-1", "data-slot": "page-header-description", children: description }) })
46
+ ] }),
47
+ actions && /* @__PURE__ */ jsx("div", { className: "flex shrink-0 flex-wrap items-center gap-2", "data-slot": "page-header-actions", children: actions })
48
+ ] })
49
+ ]
50
+ }
51
+ )
52
+ );
53
+ PageHeader.displayName = "PageHeader";
54
+
55
+ export { PageHeader };
@@ -0,0 +1,10 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ export declare const pageHeaderVariants: (props?: ({
3
+ divider?: boolean | null | undefined;
4
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
+ export declare const pageHeaderTitleVariants: (props?: ({
6
+ size?: "sm" | "lg" | "default" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ export type PageHeaderVariants = VariantProps<typeof pageHeaderVariants>;
9
+ export type PageHeaderTitleVariants = VariantProps<typeof pageHeaderTitleVariants>;
10
+ //# sourceMappingURL=PageHeader.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageHeader.styles.d.ts","sourceRoot":"","sources":["../../../src/components/PageHeader/PageHeader.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAElE,eAAO,MAAM,kBAAkB;;8EAQ7B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;8EASlC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACzE,MAAM,MAAM,uBAAuB,GAAG,YAAY,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { cva } from 'class-variance-authority';
2
+
3
+ const pageHeaderVariants = cva("flex flex-col font-sans", {
4
+ variants: {
5
+ divider: {
6
+ true: "border-b border-border pb-4",
7
+ false: ""
8
+ }
9
+ },
10
+ defaultVariants: { divider: false }
11
+ });
12
+ const pageHeaderTitleVariants = cva("text-foreground tracking-tight", {
13
+ variants: {
14
+ size: {
15
+ sm: "text-h5",
16
+ default: "text-h4",
17
+ lg: "text-h3"
18
+ }
19
+ },
20
+ defaultVariants: { size: "default" }
21
+ });
22
+
23
+ export { pageHeaderTitleVariants, pageHeaderVariants };
@@ -0,0 +1,24 @@
1
+ import type * as React from 'react';
2
+ import type { PageHeaderTitleVariants, PageHeaderVariants } from './PageHeader.styles';
3
+ export interface PageHeaderProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'>, PageHeaderVariants, PageHeaderTitleVariants {
4
+ title: React.ReactNode;
5
+ description?: React.ReactNode;
6
+ /** Buttons or links aligned to the end of the title row. */
7
+ actions?: React.ReactNode;
8
+ /**
9
+ * "‹ Back" link above the title, rendered by LinkButton (`variant="back"`).
10
+ * Same-app links use next/link (base path aware); set `crossZone` for a
11
+ * full navigation to another app.
12
+ */
13
+ back?: {
14
+ href: string;
15
+ label: React.ReactNode;
16
+ crossZone?: boolean;
17
+ ariaLabel?: string;
18
+ };
19
+ /** `id` of the heading, for `aria-labelledby` on a surrounding section. */
20
+ titleId?: string;
21
+ /** Heading element. Defaults to `h1`; use `h2` for sections within a page. */
22
+ as?: 'h1' | 'h2' | 'h3';
23
+ }
24
+ //# sourceMappingURL=PageHeader.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageHeader.types.d.ts","sourceRoot":"","sources":["../../../src/components/PageHeader/PageHeader.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEvF,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,EACtD,kBAAkB,EAClB,uBAAuB;IACzB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;;;OAIG;IACH,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzF,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,EAAE,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CACzB"}
@@ -0,0 +1,4 @@
1
+ export * from './PageHeader';
2
+ export * from './PageHeader.types';
3
+ export * from './PageHeader.styles';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PageHeader/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC"}
@@ -1,15 +1,21 @@
1
1
  import * as React from 'react';
2
- import type { PaginationProps, PaginationContentProps, PaginationItemProps, PaginationLinkProps, PaginationPreviousProps, PaginationNextProps, PaginationEllipsisProps } from './Pagination.types';
2
+ import type { PaginationProps, PaginationContentProps, PaginationItemProps, PaginationLinkProps, PaginationPreviousProps, PaginationNextProps, PaginationEllipsisProps, PaginationSummaryProps } from './Pagination.types';
3
3
  export declare const Pagination: React.FC<PaginationProps>;
4
4
  export declare const PaginationContent: React.ForwardRefExoticComponent<Omit<PaginationContentProps, "ref"> & React.RefAttributes<HTMLUListElement>>;
5
5
  export declare const PaginationItem: React.ForwardRefExoticComponent<Omit<PaginationItemProps, "ref"> & React.RefAttributes<HTMLLIElement>>;
6
+ /** A page button, or (with `asChild`) a link such as `next/link`. */
6
7
  export declare const PaginationLink: React.ForwardRefExoticComponent<PaginationLinkProps & React.RefAttributes<HTMLButtonElement>>;
7
8
  export declare const PaginationPrevious: {
8
- ({ className, ...props }: PaginationPreviousProps): React.JSX.Element;
9
+ ({ label, ariaLabel, ...props }: PaginationPreviousProps): React.JSX.Element;
9
10
  displayName: string;
10
11
  };
11
12
  export declare const PaginationNext: {
12
- ({ className, ...props }: PaginationNextProps): React.JSX.Element;
13
+ ({ label, ariaLabel, ...props }: PaginationNextProps): React.JSX.Element;
14
+ displayName: string;
15
+ };
16
+ /** "Page 2 of 5" between the step links (announced politely when it changes). */
17
+ export declare const PaginationSummary: {
18
+ ({ className, ...props }: PaginationSummaryProps): React.JSX.Element;
13
19
  displayName: string;
14
20
  };
15
21
  export declare const PaginationEllipsis: {
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/Pagination/Pagination.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAQhD,CAAC;AAGF,eAAO,MAAM,iBAAiB,8GAS7B,CAAC;AAGF,eAAO,MAAM,cAAc,wGAI1B,CAAC;AAGF,eAAO,MAAM,cAAc,+FAY1B,CAAC;AAGF,eAAO,MAAM,kBAAkB;8BAG5B,uBAAuB;;CASzB,CAAC;AAGF,eAAO,MAAM,cAAc;8BAGxB,mBAAmB;;CASrB,CAAC;AAGF,eAAO,MAAM,kBAAkB;8BAG5B,uBAAuB;;CAUzB,CAAC"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/Pagination/Pagination.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,EACvB,sBAAsB,EAEvB,MAAM,oBAAoB,CAAC;AAE5B,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAOhD,CAAC;AAGF,eAAO,MAAM,iBAAiB,8GAS7B,CAAC;AAGF,eAAO,MAAM,cAAc,wGAI1B,CAAC;AAGF,qEAAqE;AACrE,eAAO,MAAM,cAAc,+FAe1B,CAAC;AAsDF,eAAO,MAAM,kBAAkB;qCAI5B,uBAAuB;;CAAqF,CAAC;AAGhH,eAAO,MAAM,cAAc;qCAIxB,mBAAmB;;CAAiF,CAAC;AAGxG,iFAAiF;AACjF,eAAO,MAAM,iBAAiB;8BAA6B,sBAAsB;;CAUhF,CAAC;AAGF,eAAO,MAAM,kBAAkB;8BAG5B,uBAAuB;;CAUzB,CAAC"}