@byline/ui 0.9.3 → 0.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (895) hide show
  1. package/dist/admin/components/admin-account/change-password.js +1 -1
  2. package/dist/admin/components/admin-account/container.js +1 -1
  3. package/dist/admin/components/admin-account/update.js +1 -1
  4. package/dist/admin/components/admin-permissions/inspector.js +1 -1
  5. package/dist/admin/components/admin-roles/create.js +1 -1
  6. package/dist/admin/components/admin-roles/permissions.js +1 -1
  7. package/dist/admin/components/admin-roles/update.js +1 -1
  8. package/dist/admin/components/admin-users/create.js +1 -1
  9. package/dist/admin/components/admin-users/roles.js +1 -1
  10. package/dist/admin/components/admin-users/set-password.js +1 -1
  11. package/dist/admin/components/admin-users/update.js +1 -1
  12. package/dist/admin/components/auth/sign-in-form.js +1 -1
  13. package/dist/admin/components/collections/diff-modal.js +1 -1
  14. package/dist/admin/components/collections/status-badge.js +1 -1
  15. package/dist/admin/tabs.js +1 -1
  16. package/dist/admin.d.ts +24 -0
  17. package/dist/admin.d.ts.map +1 -0
  18. package/dist/admin.js +18 -0
  19. package/dist/components/@types/shared.d.ts +61 -0
  20. package/dist/components/@types/shared.d.ts.map +1 -0
  21. package/dist/components/@types/shared.js +30 -0
  22. package/dist/components/accordion/accordion.d.ts +32 -0
  23. package/dist/components/accordion/accordion.d.ts.map +1 -0
  24. package/dist/components/accordion/accordion.js +51 -0
  25. package/dist/components/accordion/accordion.module.js +10 -0
  26. package/dist/components/accordion/accordion_module.css +53 -0
  27. package/dist/components/animation/fade-in-lift.d.ts +12 -0
  28. package/dist/components/animation/fade-in-lift.d.ts.map +1 -0
  29. package/dist/components/animation/fade-in-lift.js +27 -0
  30. package/dist/components/avatar/avatar.d.ts +5 -0
  31. package/dist/components/avatar/avatar.d.ts.map +1 -0
  32. package/dist/components/avatar/avatar.js +25 -0
  33. package/dist/components/avatar/avatar.module.js +12 -0
  34. package/dist/components/avatar/avatar_module.css +36 -0
  35. package/dist/components/badge/badge.d.ts +13 -0
  36. package/dist/components/badge/badge.d.ts.map +1 -0
  37. package/dist/components/badge/badge.js +18 -0
  38. package/dist/components/badge/badge.module.js +12 -0
  39. package/dist/components/badge/badge_module.css +51 -0
  40. package/dist/components/button/@types/button.d.ts +41 -0
  41. package/dist/components/button/@types/button.d.ts.map +1 -0
  42. package/dist/components/button/@types/button.js +8 -0
  43. package/dist/components/button/button-group.d.ts +39 -0
  44. package/dist/components/button/button-group.d.ts.map +1 -0
  45. package/dist/components/button/button-group.js +71 -0
  46. package/dist/components/button/button-group.module.js +6 -0
  47. package/dist/components/button/button-group_module.css +17 -0
  48. package/dist/components/button/button.d.ts +16 -0
  49. package/dist/components/button/button.d.ts.map +1 -0
  50. package/dist/components/button/button.js +29 -0
  51. package/dist/components/button/button.module.js +26 -0
  52. package/dist/components/button/button_module.css +382 -0
  53. package/dist/components/button/combo-button.d.ts +21 -0
  54. package/dist/components/button/combo-button.d.ts.map +1 -0
  55. package/dist/components/button/combo-button.js +54 -0
  56. package/dist/components/button/combo-button.module.js +12 -0
  57. package/dist/components/button/combo-button_module.css +52 -0
  58. package/dist/components/button/control-buttons.d.ts +17 -0
  59. package/dist/components/button/control-buttons.d.ts.map +1 -0
  60. package/dist/components/button/control-buttons.js +88 -0
  61. package/dist/components/button/control-buttons.module.js +20 -0
  62. package/dist/components/button/control-buttons_module.css +109 -0
  63. package/dist/components/button/copy-button.d.ts +12 -0
  64. package/dist/components/button/copy-button.d.ts.map +1 -0
  65. package/dist/components/button/copy-button.js +71 -0
  66. package/dist/components/button/copy-button.module.js +13 -0
  67. package/dist/components/button/copy-button_module.css +49 -0
  68. package/dist/components/button/icon-button.d.ts +8 -0
  69. package/dist/components/button/icon-button.d.ts.map +1 -0
  70. package/dist/components/button/icon-button.js +18 -0
  71. package/dist/components/button/index.d.ts +6 -0
  72. package/dist/components/button/index.d.ts.map +1 -0
  73. package/dist/components/button/index.js +5 -0
  74. package/dist/components/card/card.d.ts +37 -0
  75. package/dist/components/card/card.d.ts.map +1 -0
  76. package/dist/components/card/card.js +56 -0
  77. package/dist/components/card/card.module.js +17 -0
  78. package/dist/components/card/card_module.css +62 -0
  79. package/dist/components/chips/@types/chip.d.ts +26 -0
  80. package/dist/components/chips/@types/chip.d.ts.map +1 -0
  81. package/dist/components/chips/@types/chip.js +7 -0
  82. package/dist/components/chips/chip.d.ts +26 -0
  83. package/dist/components/chips/chip.d.ts.map +1 -0
  84. package/dist/components/chips/chip.js +102 -0
  85. package/dist/components/chips/chip.module.js +27 -0
  86. package/dist/components/chips/chip_module.css +315 -0
  87. package/dist/components/chips/index.js +2 -0
  88. package/dist/components/container/container.d.ts +9 -0
  89. package/dist/components/container/container.d.ts.map +1 -0
  90. package/dist/components/container/container.js +12 -0
  91. package/dist/components/container/container.module.js +5 -0
  92. package/dist/components/container/container_module.css +29 -0
  93. package/dist/components/dropdown/dropdown.d.ts +74 -0
  94. package/dist/components/dropdown/dropdown.d.ts.map +1 -0
  95. package/dist/components/dropdown/dropdown.js +106 -0
  96. package/dist/components/dropdown/dropdown.module.js +16 -0
  97. package/dist/components/dropdown/dropdown_module.css +111 -0
  98. package/dist/components/hamburger/hamburger.d.ts +13 -0
  99. package/dist/components/hamburger/hamburger.d.ts.map +1 -0
  100. package/dist/components/hamburger/hamburger.js +46 -0
  101. package/dist/components/hamburger/hamburger.module.js +10 -0
  102. package/dist/components/hamburger/hamburger_module.css +169 -0
  103. package/dist/components/inputs/@types/autocomplete.d.ts +35 -0
  104. package/dist/components/inputs/@types/autocomplete.d.ts.map +1 -0
  105. package/dist/components/inputs/@types/autocomplete.js +11 -0
  106. package/dist/components/inputs/@types/checkbox.d.ts +40 -0
  107. package/dist/components/inputs/@types/checkbox.d.ts.map +1 -0
  108. package/dist/components/inputs/@types/checkbox.js +10 -0
  109. package/dist/components/inputs/@types/input.d.ts +41 -0
  110. package/dist/components/inputs/@types/input.d.ts.map +1 -0
  111. package/dist/components/inputs/@types/input.js +11 -0
  112. package/dist/components/inputs/autocomplete.d.ts +42 -0
  113. package/dist/components/inputs/autocomplete.d.ts.map +1 -0
  114. package/dist/components/inputs/autocomplete.js +87 -0
  115. package/dist/components/inputs/autocomplete.module.js +36 -0
  116. package/dist/components/inputs/autocomplete_module.css +312 -0
  117. package/dist/components/inputs/calendar.d.ts +38 -0
  118. package/dist/components/inputs/calendar.d.ts.map +1 -0
  119. package/dist/components/inputs/calendar.js +131 -0
  120. package/dist/components/inputs/calendar.module.js +45 -0
  121. package/dist/components/inputs/calendar_module.css +223 -0
  122. package/dist/components/inputs/checkbox-group.d.ts +16 -0
  123. package/dist/components/inputs/checkbox-group.d.ts.map +1 -0
  124. package/dist/components/inputs/checkbox-group.js +45 -0
  125. package/dist/components/inputs/checkbox-group.module.js +6 -0
  126. package/dist/components/inputs/checkbox-group_module.css +10 -0
  127. package/dist/components/inputs/checkbox.d.ts +29 -0
  128. package/dist/components/inputs/checkbox.d.ts.map +1 -0
  129. package/dist/components/inputs/checkbox.js +54 -0
  130. package/dist/components/inputs/checkbox.module.js +25 -0
  131. package/dist/components/inputs/checkbox_module.css +216 -0
  132. package/dist/components/inputs/error-text.d.ts +10 -0
  133. package/dist/components/inputs/error-text.d.ts.map +1 -0
  134. package/dist/components/inputs/error-text.js +11 -0
  135. package/dist/components/inputs/error-text.module.js +8 -0
  136. package/dist/components/inputs/error-text_module.css +21 -0
  137. package/dist/components/inputs/errors.d.ts +14 -0
  138. package/dist/components/inputs/errors.d.ts.map +1 -0
  139. package/dist/components/inputs/errors.js +30 -0
  140. package/dist/components/inputs/help-text.d.ts +9 -0
  141. package/dist/components/inputs/help-text.d.ts.map +1 -0
  142. package/dist/components/inputs/help-text.js +10 -0
  143. package/dist/components/inputs/help-text.module.js +8 -0
  144. package/dist/components/inputs/help-text_module.css +21 -0
  145. package/dist/components/inputs/index.js +9 -0
  146. package/dist/components/inputs/input-adornment.d.ts +11 -0
  147. package/dist/components/inputs/input-adornment.d.ts.map +1 -0
  148. package/dist/components/inputs/input-adornment.js +15 -0
  149. package/dist/components/inputs/input-adornment.module.js +7 -0
  150. package/dist/components/inputs/input-adornment_module.css +19 -0
  151. package/dist/components/inputs/input-password.d.ts +3 -0
  152. package/dist/components/inputs/input-password.d.ts.map +1 -0
  153. package/dist/components/inputs/input-password.js +22 -0
  154. package/dist/components/inputs/input.d.ts +25 -0
  155. package/dist/components/inputs/input.d.ts.map +1 -0
  156. package/dist/components/inputs/input.js +62 -0
  157. package/dist/components/inputs/input.module.js +34 -0
  158. package/dist/components/inputs/input_module.css +259 -0
  159. package/dist/components/inputs/label.d.ts +11 -0
  160. package/dist/components/inputs/label.d.ts.map +1 -0
  161. package/dist/components/inputs/label.js +18 -0
  162. package/dist/components/inputs/label.module.js +6 -0
  163. package/dist/components/inputs/label_module.css +14 -0
  164. package/dist/components/inputs/radio-group.d.ts +24 -0
  165. package/dist/components/inputs/radio-group.d.ts.map +1 -0
  166. package/dist/components/inputs/radio-group.js +37 -0
  167. package/dist/components/inputs/radio-group.module.js +20 -0
  168. package/dist/components/inputs/radio-group_module.css +160 -0
  169. package/dist/components/inputs/select.d.ts +33 -0
  170. package/dist/components/inputs/select.d.ts.map +1 -0
  171. package/dist/components/inputs/select.js +87 -0
  172. package/dist/components/inputs/select.module.js +23 -0
  173. package/dist/components/inputs/select_module.css +141 -0
  174. package/dist/components/inputs/text-area.d.ts +20 -0
  175. package/dist/components/inputs/text-area.d.ts.map +1 -0
  176. package/dist/components/inputs/text-area.js +45 -0
  177. package/dist/components/inputs/text-area.module.js +7 -0
  178. package/dist/components/inputs/text-area_module.css +19 -0
  179. package/dist/components/inputs/utils.d.ts +3 -0
  180. package/dist/components/inputs/utils.d.ts.map +1 -0
  181. package/dist/components/inputs/utils.js +10 -0
  182. package/dist/components/notifications/@types/alert.d.ts +21 -0
  183. package/dist/components/notifications/@types/alert.d.ts.map +1 -0
  184. package/dist/components/notifications/@types/alert.js +1 -0
  185. package/dist/components/notifications/@types/toast.d.ts +46 -0
  186. package/dist/components/notifications/@types/toast.d.ts.map +1 -0
  187. package/dist/components/notifications/@types/toast.js +1 -0
  188. package/dist/components/notifications/alert.d.ts +14 -0
  189. package/dist/components/notifications/alert.d.ts.map +1 -0
  190. package/dist/components/notifications/alert.js +99 -0
  191. package/dist/components/notifications/alert.module.js +20 -0
  192. package/dist/components/notifications/alert_module.css +119 -0
  193. package/dist/components/notifications/index.js +2 -0
  194. package/dist/components/notifications/toast.d.ts +17 -0
  195. package/dist/components/notifications/toast.d.ts.map +1 -0
  196. package/dist/components/notifications/toast.js +98 -0
  197. package/dist/components/notifications/toast.module.js +20 -0
  198. package/dist/components/notifications/toast_module.css +212 -0
  199. package/dist/components/pager/@types/index.d.ts +15 -0
  200. package/dist/components/pager/@types/index.d.ts.map +1 -0
  201. package/dist/components/pager/@types/index.js +6 -0
  202. package/dist/components/pager/ellipses.d.ts +3 -0
  203. package/dist/components/pager/ellipses.d.ts.map +1 -0
  204. package/dist/components/pager/ellipses.js +16 -0
  205. package/dist/components/pager/event-pager.js +15 -0
  206. package/dist/components/pager/first-button.d.ts +9 -0
  207. package/dist/components/pager/first-button.d.ts.map +1 -0
  208. package/dist/components/pager/first-button.js +38 -0
  209. package/dist/components/pager/hooks/types/usePagination.d.ts +75 -0
  210. package/dist/components/pager/hooks/types/usePagination.d.ts.map +1 -0
  211. package/dist/components/pager/hooks/types/usePagination.js +1 -0
  212. package/dist/components/pager/hooks/usePagination.d.ts +3 -0
  213. package/dist/components/pager/hooks/usePagination.d.ts.map +1 -0
  214. package/dist/components/pager/hooks/usePagination.js +80 -0
  215. package/dist/components/pager/icons/first.js +36 -0
  216. package/dist/components/pager/icons/index.js +4 -0
  217. package/dist/components/pager/icons/last.js +36 -0
  218. package/dist/components/pager/icons/next.js +24 -0
  219. package/dist/components/pager/icons/previous.js +24 -0
  220. package/dist/components/pager/index.js +4 -0
  221. package/dist/components/pager/last-button.d.ts +12 -0
  222. package/dist/components/pager/last-button.d.ts.map +1 -0
  223. package/dist/components/pager/last-button.js +38 -0
  224. package/dist/components/pager/next-button.d.ts +12 -0
  225. package/dist/components/pager/next-button.d.ts.map +1 -0
  226. package/dist/components/pager/next-button.js +42 -0
  227. package/dist/components/pager/number-button.d.ts +14 -0
  228. package/dist/components/pager/number-button.d.ts.map +1 -0
  229. package/dist/components/pager/number-button.js +45 -0
  230. package/dist/components/pager/pagination.d.ts +99 -0
  231. package/dist/components/pager/pagination.d.ts.map +1 -0
  232. package/dist/components/pager/pagination.js +134 -0
  233. package/dist/components/pager/pagination.module.js +29 -0
  234. package/dist/components/pager/pagination_module.css +103 -0
  235. package/dist/components/pager/previous-button.d.ts +9 -0
  236. package/dist/components/pager/previous-button.d.ts.map +1 -0
  237. package/dist/components/pager/previous-button.js +40 -0
  238. package/dist/components/scroll-area/scroll-area.d.ts +7 -0
  239. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -0
  240. package/dist/components/scroll-area/scroll-area.js +34 -0
  241. package/dist/components/scroll-area/scroll-area.module.js +9 -0
  242. package/dist/components/scroll-area/scroll-area_module.css +63 -0
  243. package/dist/components/scroll-to-top/scroll-to-top.d.ts +15 -0
  244. package/dist/components/scroll-to-top/scroll-to-top.d.ts.map +1 -0
  245. package/dist/components/scroll-to-top/scroll-to-top.js +67 -0
  246. package/dist/components/scroll-to-top/scroll-to-top.module.js +8 -0
  247. package/dist/components/scroll-to-top/scroll-to-top_module.css +100 -0
  248. package/dist/components/section/section.d.ts +9 -0
  249. package/dist/components/section/section.d.ts.map +1 -0
  250. package/dist/components/section/section.js +12 -0
  251. package/dist/components/section/section.module.js +5 -0
  252. package/dist/components/section/section_module.css +9 -0
  253. package/dist/components/shimmer/shimmer.d.ts +13 -0
  254. package/dist/components/shimmer/shimmer.d.ts.map +1 -0
  255. package/dist/components/shimmer/shimmer.js +41 -0
  256. package/dist/components/shimmer/shimmer.module.js +9 -0
  257. package/dist/components/shimmer/shimmer_module.css +47 -0
  258. package/dist/components/table/table.d.ts +37 -0
  259. package/dist/components/table/table.d.ts.map +1 -0
  260. package/dist/components/table/table.js +85 -0
  261. package/dist/components/table/table.module.js +19 -0
  262. package/dist/components/table/table_module.css +91 -0
  263. package/dist/components/tabs/tabs.d.ts +28 -0
  264. package/dist/components/tabs/tabs.d.ts.map +1 -0
  265. package/dist/components/tabs/tabs.js +34 -0
  266. package/dist/components/tabs/tabs.module.js +12 -0
  267. package/dist/components/tabs/tabs_module.css +56 -0
  268. package/dist/components/tooltip/tooltip.d.ts +14 -0
  269. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  270. package/dist/components/tooltip/tooltip.js +63 -0
  271. package/dist/components/tooltip/tooltip.module.js +13 -0
  272. package/dist/components/tooltip/tooltip_module.css +73 -0
  273. package/dist/dnd/draggable-sortable/demo/draggable-list-demo.js +1 -1
  274. package/dist/dnd/draggable-sortable/draggable-sortable.d.ts +3 -3
  275. package/dist/dnd/draggable-sortable/draggable-sortable.d.ts.map +1 -1
  276. package/dist/dnd/draggable-sortable/types.d.ts +1 -1
  277. package/dist/dnd/draggable-sortable/types.d.ts.map +1 -1
  278. package/dist/fields/array/array-field.js +1 -1
  279. package/dist/fields/blocks/blocks-field.js +1 -1
  280. package/dist/fields/checkbox/checkbox-field.js +1 -1
  281. package/dist/fields/datetime/datetime-field.js +1 -1
  282. package/dist/fields/draggable-context-menu.js +1 -1
  283. package/dist/fields/file/file-field.js +1 -1
  284. package/dist/fields/group/group-field.js +1 -1
  285. package/dist/fields/image/image-field.js +1 -1
  286. package/dist/fields/numerical/numerical-field.js +1 -1
  287. package/dist/fields/relation/relation-field.js +1 -1
  288. package/dist/fields/relation/relation-picker.js +1 -1
  289. package/dist/fields/select/select-field.js +1 -1
  290. package/dist/fields/sortable-item.js +1 -1
  291. package/dist/fields/text/text-field.js +1 -1
  292. package/dist/fields/text-area/text-area-field.js +1 -1
  293. package/dist/fields.d.ts +28 -0
  294. package/dist/fields.d.ts.map +1 -0
  295. package/dist/fields.js +23 -0
  296. package/dist/forms/document-actions.js +1 -1
  297. package/dist/forms/form-renderer.js +1 -1
  298. package/dist/forms/path-widget.js +1 -1
  299. package/dist/forms.d.ts +10 -0
  300. package/dist/forms.d.ts.map +1 -0
  301. package/dist/forms.js +5 -0
  302. package/dist/hooks/use-focus-trap/index.js +1 -0
  303. package/dist/hooks/use-focus-trap/scope-tab.js +19 -0
  304. package/dist/hooks/use-focus-trap/tabbable.js +36 -0
  305. package/dist/hooks/use-focus-trap/use-focus-trap.js +45 -0
  306. package/dist/hooks/use-media-query.d.ts +2 -0
  307. package/dist/hooks/use-media-query.d.ts.map +1 -0
  308. package/dist/hooks/use-media-query.js +20 -0
  309. package/dist/icons/activity-icon.d.ts +7 -0
  310. package/dist/icons/activity-icon.d.ts.map +1 -0
  311. package/dist/icons/activity-icon.js +45 -0
  312. package/dist/icons/ai-icon.d.ts +7 -0
  313. package/dist/icons/ai-icon.d.ts.map +1 -0
  314. package/dist/icons/ai-icon.js +39 -0
  315. package/dist/icons/calendar-icon.d.ts +7 -0
  316. package/dist/icons/calendar-icon.d.ts.map +1 -0
  317. package/dist/icons/calendar-icon.js +26 -0
  318. package/dist/icons/check-icon.d.ts +7 -0
  319. package/dist/icons/check-icon.d.ts.map +1 -0
  320. package/dist/icons/check-icon.js +25 -0
  321. package/dist/icons/chevron-down-icon.d.ts +7 -0
  322. package/dist/icons/chevron-down-icon.d.ts.map +1 -0
  323. package/dist/icons/chevron-down-icon.js +27 -0
  324. package/dist/icons/chevron-left-double-icon.d.ts +27 -0
  325. package/dist/icons/chevron-left-double-icon.d.ts.map +1 -0
  326. package/dist/icons/chevron-left-double-icon.js +28 -0
  327. package/dist/icons/chevron-left-icon.d.ts +27 -0
  328. package/dist/icons/chevron-left-icon.d.ts.map +1 -0
  329. package/dist/icons/chevron-left-icon.js +28 -0
  330. package/dist/icons/chevron-right-double-icon.d.ts +27 -0
  331. package/dist/icons/chevron-right-double-icon.d.ts.map +1 -0
  332. package/dist/icons/chevron-right-double-icon.js +28 -0
  333. package/dist/icons/chevron-right-icon.d.ts +27 -0
  334. package/dist/icons/chevron-right-icon.d.ts.map +1 -0
  335. package/dist/icons/chevron-right-icon.js +28 -0
  336. package/dist/icons/chevron-up-icon.d.ts +7 -0
  337. package/dist/icons/chevron-up-icon.d.ts.map +1 -0
  338. package/dist/icons/chevron-up-icon.js +27 -0
  339. package/dist/icons/chevrons-up-down.d.ts +7 -0
  340. package/dist/icons/chevrons-up-down.d.ts.map +1 -0
  341. package/dist/icons/chevrons-up-down.js +34 -0
  342. package/dist/icons/close-icon.d.ts +7 -0
  343. package/dist/icons/close-icon.d.ts.map +1 -0
  344. package/dist/icons/close-icon.js +37 -0
  345. package/dist/icons/copy-icon.d.ts +7 -0
  346. package/dist/icons/copy-icon.d.ts.map +1 -0
  347. package/dist/icons/copy-icon.js +26 -0
  348. package/dist/icons/danger-icon.d.ts +4 -0
  349. package/dist/icons/danger-icon.d.ts.map +1 -0
  350. package/dist/icons/danger-icon.js +21 -0
  351. package/dist/icons/dashboard-icon.d.ts +7 -0
  352. package/dist/icons/dashboard-icon.d.ts.map +1 -0
  353. package/dist/icons/dashboard-icon.js +43 -0
  354. package/dist/icons/delete-icon.d.ts +7 -0
  355. package/dist/icons/delete-icon.d.ts.map +1 -0
  356. package/dist/icons/delete-icon.js +42 -0
  357. package/dist/icons/document-icon.d.ts +7 -0
  358. package/dist/icons/document-icon.d.ts.map +1 -0
  359. package/dist/icons/document-icon.js +36 -0
  360. package/dist/icons/download-icon.d.ts +7 -0
  361. package/dist/icons/download-icon.d.ts.map +1 -0
  362. package/dist/icons/download-icon.js +27 -0
  363. package/dist/icons/edit-icon.d.ts +7 -0
  364. package/dist/icons/edit-icon.d.ts.map +1 -0
  365. package/dist/icons/edit-icon.js +39 -0
  366. package/dist/icons/ellipsis-icon.d.ts +7 -0
  367. package/dist/icons/ellipsis-icon.d.ts.map +1 -0
  368. package/dist/icons/ellipsis-icon.js +40 -0
  369. package/dist/icons/email-icon.d.ts +7 -0
  370. package/dist/icons/email-icon.d.ts.map +1 -0
  371. package/dist/icons/email-icon.js +31 -0
  372. package/dist/icons/external-link-icon.d.ts +7 -0
  373. package/dist/icons/external-link-icon.d.ts.map +1 -0
  374. package/dist/icons/external-link-icon.js +27 -0
  375. package/dist/icons/eye-closed-icon.d.ts +7 -0
  376. package/dist/icons/eye-closed-icon.d.ts.map +1 -0
  377. package/dist/icons/eye-closed-icon.js +41 -0
  378. package/dist/icons/eye-open-icon.d.ts +7 -0
  379. package/dist/icons/eye-open-icon.d.ts.map +1 -0
  380. package/dist/icons/eye-open-icon.js +33 -0
  381. package/dist/icons/github-icon.d.ts +7 -0
  382. package/dist/icons/github-icon.d.ts.map +1 -0
  383. package/dist/icons/github-icon.js +24 -0
  384. package/dist/icons/globe-icon.d.ts +7 -0
  385. package/dist/icons/globe-icon.d.ts.map +1 -0
  386. package/dist/icons/globe-icon.js +44 -0
  387. package/dist/icons/google-icon.d.ts +7 -0
  388. package/dist/icons/google-icon.d.ts.map +1 -0
  389. package/dist/icons/google-icon.js +42 -0
  390. package/dist/icons/gripper-vertical-icon.d.ts +7 -0
  391. package/dist/icons/gripper-vertical-icon.d.ts.map +1 -0
  392. package/dist/icons/gripper-vertical-icon.js +49 -0
  393. package/dist/icons/history-icon.d.ts +7 -0
  394. package/dist/icons/history-icon.d.ts.map +1 -0
  395. package/dist/icons/history-icon.js +35 -0
  396. package/dist/icons/home-icon.d.ts +7 -0
  397. package/dist/icons/home-icon.d.ts.map +1 -0
  398. package/dist/icons/home-icon.js +37 -0
  399. package/dist/icons/icon-element.d.ts +11 -0
  400. package/dist/icons/icon-element.d.ts.map +1 -0
  401. package/dist/icons/icon-element.js +17 -0
  402. package/dist/icons/icon-sprite.js +15 -0
  403. package/dist/icons/icons.module.js +46 -0
  404. package/dist/icons/icons_module.css +163 -0
  405. package/dist/icons/index.d.ts +54 -0
  406. package/dist/icons/index.d.ts.map +1 -0
  407. package/dist/icons/index.js +53 -0
  408. package/dist/icons/info-icon.d.ts +4 -0
  409. package/dist/icons/info-icon.d.ts.map +1 -0
  410. package/dist/icons/info-icon.js +21 -0
  411. package/dist/icons/infonomic-icon.d.ts +7 -0
  412. package/dist/icons/infonomic-icon.d.ts.map +1 -0
  413. package/dist/icons/infonomic-icon.js +211 -0
  414. package/dist/icons/light-icon.d.ts +7 -0
  415. package/dist/icons/light-icon.d.ts.map +1 -0
  416. package/dist/icons/light-icon.js +23 -0
  417. package/dist/icons/location-pin-icon.d.ts +7 -0
  418. package/dist/icons/location-pin-icon.d.ts.map +1 -0
  419. package/dist/icons/location-pin-icon.js +31 -0
  420. package/dist/icons/moon-icon.d.ts +7 -0
  421. package/dist/icons/moon-icon.d.ts.map +1 -0
  422. package/dist/icons/moon-icon.js +26 -0
  423. package/dist/icons/plus-icon.d.ts +7 -0
  424. package/dist/icons/plus-icon.d.ts.map +1 -0
  425. package/dist/icons/plus-icon.js +32 -0
  426. package/dist/icons/primary-icon.d.ts +4 -0
  427. package/dist/icons/primary-icon.d.ts.map +1 -0
  428. package/dist/icons/primary-icon.js +21 -0
  429. package/dist/icons/refresh-icon.d.ts +7 -0
  430. package/dist/icons/refresh-icon.d.ts.map +1 -0
  431. package/dist/icons/refresh-icon.js +31 -0
  432. package/dist/icons/return-icon.d.ts +7 -0
  433. package/dist/icons/return-icon.d.ts.map +1 -0
  434. package/dist/icons/return-icon.js +35 -0
  435. package/dist/icons/roles-icon.d.ts +7 -0
  436. package/dist/icons/roles-icon.d.ts.map +1 -0
  437. package/dist/icons/roles-icon.js +34 -0
  438. package/dist/icons/search-icon.d.ts +7 -0
  439. package/dist/icons/search-icon.d.ts.map +1 -0
  440. package/dist/icons/search-icon.js +23 -0
  441. package/dist/icons/search-menu-icon.d.ts +7 -0
  442. package/dist/icons/search-menu-icon.d.ts.map +1 -0
  443. package/dist/icons/search-menu-icon.js +42 -0
  444. package/dist/icons/settings-gear-icon.d.ts +7 -0
  445. package/dist/icons/settings-gear-icon.d.ts.map +1 -0
  446. package/dist/icons/settings-gear-icon.js +34 -0
  447. package/dist/icons/settings-sliders-icon.d.ts +7 -0
  448. package/dist/icons/settings-sliders-icon.d.ts.map +1 -0
  449. package/dist/icons/settings-sliders-icon.js +55 -0
  450. package/dist/icons/sign-out-icon.d.ts +7 -0
  451. package/dist/icons/sign-out-icon.d.ts.map +1 -0
  452. package/dist/icons/sign-out-icon.js +39 -0
  453. package/dist/icons/stop-icon.d.ts +7 -0
  454. package/dist/icons/stop-icon.d.ts.map +1 -0
  455. package/dist/icons/stop-icon.js +35 -0
  456. package/dist/icons/stopwatch-icon.d.ts +7 -0
  457. package/dist/icons/stopwatch-icon.d.ts.map +1 -0
  458. package/dist/icons/stopwatch-icon.js +26 -0
  459. package/dist/icons/success-icon.d.ts +4 -0
  460. package/dist/icons/success-icon.d.ts.map +1 -0
  461. package/dist/icons/success-icon.js +21 -0
  462. package/dist/icons/types/icon.d.ts +9 -0
  463. package/dist/icons/types/icon.d.ts.map +1 -0
  464. package/dist/icons/types/icon.js +1 -0
  465. package/dist/icons/user-icon.d.ts +7 -0
  466. package/dist/icons/user-icon.d.ts.map +1 -0
  467. package/dist/icons/user-icon.js +31 -0
  468. package/dist/icons/users-icon.d.ts +7 -0
  469. package/dist/icons/users-icon.d.ts.map +1 -0
  470. package/dist/icons/users-icon.js +37 -0
  471. package/dist/icons/wallet-icon.d.ts +7 -0
  472. package/dist/icons/wallet-icon.d.ts.map +1 -0
  473. package/dist/icons/wallet-icon.js +23 -0
  474. package/dist/icons/warning-icon.d.ts +4 -0
  475. package/dist/icons/warning-icon.d.ts.map +1 -0
  476. package/dist/icons/warning-icon.js +21 -0
  477. package/dist/icons/x-icon.d.ts +7 -0
  478. package/dist/icons/x-icon.d.ts.map +1 -0
  479. package/dist/icons/x-icon.js +25 -0
  480. package/dist/lib/ripple.d.ts +25 -0
  481. package/dist/lib/ripple.d.ts.map +1 -0
  482. package/dist/lib/ripple.js +53 -0
  483. package/dist/loaders/@types/index.d.ts +7 -0
  484. package/dist/loaders/@types/index.d.ts.map +1 -0
  485. package/dist/loaders/@types/index.js +1 -0
  486. package/dist/loaders/ellipses.d.ts +4 -0
  487. package/dist/loaders/ellipses.d.ts.map +1 -0
  488. package/dist/loaders/ellipses.js +22 -0
  489. package/dist/loaders/ellipses.module.js +14 -0
  490. package/dist/loaders/ellipses_module.css +73 -0
  491. package/dist/loaders/ring.d.ts +4 -0
  492. package/dist/loaders/ring.d.ts.map +1 -0
  493. package/dist/loaders/ring.js +22 -0
  494. package/dist/loaders/ring.module.js +8 -0
  495. package/dist/loaders/ring_module.css +49 -0
  496. package/dist/loaders/spinner.d.ts +4 -0
  497. package/dist/loaders/spinner.d.ts.map +1 -0
  498. package/dist/loaders/spinner.js +25 -0
  499. package/dist/loaders/spinner.module.js +10 -0
  500. package/dist/loaders/spinner_module.css +99 -0
  501. package/dist/react.d.ts +1 -49
  502. package/dist/react.d.ts.map +1 -1
  503. package/dist/react.js +1 -47
  504. package/dist/services.d.ts +10 -0
  505. package/dist/services.d.ts.map +1 -0
  506. package/dist/services.js +1 -0
  507. package/dist/styles/reset.css +209 -0
  508. package/dist/styles/styles.css +2922 -0
  509. package/dist/styles/typography.css +398 -0
  510. package/dist/uikit.d.ts +109 -0
  511. package/dist/uikit.d.ts.map +1 -0
  512. package/dist/uikit.js +104 -0
  513. package/dist/utils/capitalize.js +5 -0
  514. package/dist/utils/externalLinkProps.js +6 -0
  515. package/dist/utils/findMatch.js +6 -0
  516. package/dist/utils/getPortalRoot.js +4 -0
  517. package/dist/utils/isTouchDevice.js +3 -0
  518. package/dist/utils/objectsToArray.js +9 -0
  519. package/dist/utils/objectsToString.js +5 -0
  520. package/dist/utils/polymorphic.js +1 -0
  521. package/dist/utils/to-kebab-case.js +2 -0
  522. package/dist/widgets/datepicker/datepicker.d.ts +38 -0
  523. package/dist/widgets/datepicker/datepicker.d.ts.map +1 -0
  524. package/dist/widgets/datepicker/datepicker.js +262 -0
  525. package/dist/widgets/datepicker/datepicker.module.js +33 -0
  526. package/dist/widgets/datepicker/datepicker_module.css +188 -0
  527. package/dist/widgets/drawer/drawer-container.d.ts +10 -0
  528. package/dist/widgets/drawer/drawer-container.d.ts.map +1 -0
  529. package/dist/widgets/drawer/drawer-container.js +13 -0
  530. package/dist/widgets/drawer/drawer-content.d.ts +10 -0
  531. package/dist/widgets/drawer/drawer-content.d.ts.map +1 -0
  532. package/dist/widgets/drawer/drawer-content.js +13 -0
  533. package/dist/widgets/drawer/drawer-context.d.ts +14 -0
  534. package/dist/widgets/drawer/drawer-context.d.ts.map +1 -0
  535. package/dist/widgets/drawer/drawer-context.js +34 -0
  536. package/dist/widgets/drawer/drawer-header.d.ts +10 -0
  537. package/dist/widgets/drawer/drawer-header.d.ts.map +1 -0
  538. package/dist/widgets/drawer/drawer-header.js +17 -0
  539. package/dist/widgets/drawer/drawer-top-actions.d.ts +10 -0
  540. package/dist/widgets/drawer/drawer-top-actions.d.ts.map +1 -0
  541. package/dist/widgets/drawer/drawer-top-actions.js +17 -0
  542. package/dist/widgets/drawer/drawer.d.ts +27 -0
  543. package/dist/widgets/drawer/drawer.d.ts.map +1 -0
  544. package/dist/widgets/drawer/drawer.js +59 -0
  545. package/dist/widgets/drawer/drawer.module.js +27 -0
  546. package/dist/widgets/drawer/drawer_module.css +129 -0
  547. package/dist/widgets/drawer/motionDomAnimation.js +4 -0
  548. package/dist/widgets/drawer/motionDomMax.js +4 -0
  549. package/dist/widgets/modal/modal-actions.d.ts +10 -0
  550. package/dist/widgets/modal/modal-actions.d.ts.map +1 -0
  551. package/dist/widgets/modal/modal-actions.js +13 -0
  552. package/dist/widgets/modal/modal-container.d.ts +10 -0
  553. package/dist/widgets/modal/modal-container.d.ts.map +1 -0
  554. package/dist/widgets/modal/modal-container.js +13 -0
  555. package/dist/widgets/modal/modal-content.d.ts +10 -0
  556. package/dist/widgets/modal/modal-content.d.ts.map +1 -0
  557. package/dist/widgets/modal/modal-content.js +13 -0
  558. package/dist/widgets/modal/modal-header.d.ts +10 -0
  559. package/dist/widgets/modal/modal-header.d.ts.map +1 -0
  560. package/dist/widgets/modal/modal-header.js +17 -0
  561. package/dist/widgets/modal/modal.d.ts +35 -0
  562. package/dist/widgets/modal/modal.d.ts.map +1 -0
  563. package/dist/widgets/modal/modal.js +58 -0
  564. package/dist/widgets/modal/modal.module.js +15 -0
  565. package/dist/widgets/modal/modal_module.css +118 -0
  566. package/dist/widgets/modal/motionDomAnimation.js +4 -0
  567. package/dist/widgets/modal/motionDomMax.js +4 -0
  568. package/dist/widgets/search/index.js +1 -0
  569. package/dist/widgets/search/search.d.ts +21 -0
  570. package/dist/widgets/search/search.d.ts.map +1 -0
  571. package/dist/widgets/search/search.js +109 -0
  572. package/dist/widgets/timeline/timeline.d.ts +60 -0
  573. package/dist/widgets/timeline/timeline.d.ts.map +1 -0
  574. package/dist/widgets/timeline/timeline.js +74 -0
  575. package/dist/widgets/timeline/timeline.module.js +17 -0
  576. package/dist/widgets/timeline/timeline_module.css +83 -0
  577. package/package.json +37 -24
  578. package/src/.uikit-sync.json +9 -0
  579. package/src/admin/components/admin-account/change-password.tsx +1 -1
  580. package/src/admin/components/admin-account/container.tsx +1 -1
  581. package/src/admin/components/admin-account/update.tsx +1 -1
  582. package/src/admin/components/admin-permissions/inspector.tsx +1 -1
  583. package/src/admin/components/admin-roles/create.tsx +1 -1
  584. package/src/admin/components/admin-roles/permissions.tsx +1 -1
  585. package/src/admin/components/admin-roles/update.tsx +1 -1
  586. package/src/admin/components/admin-users/create.tsx +1 -1
  587. package/src/admin/components/admin-users/roles.tsx +1 -1
  588. package/src/admin/components/admin-users/set-password.tsx +1 -1
  589. package/src/admin/components/admin-users/update.tsx +1 -1
  590. package/src/admin/components/auth/sign-in-form.tsx +1 -1
  591. package/src/admin/components/collections/diff-modal.tsx +1 -1
  592. package/src/admin/components/collections/status-badge.tsx +1 -1
  593. package/src/admin/tabs.tsx +1 -1
  594. package/src/admin.ts +39 -0
  595. package/src/components/@types/shared.ts +79 -0
  596. package/src/components/accordion/accordion.module.css +56 -0
  597. package/src/components/accordion/accordion.tsx +125 -0
  598. package/src/components/animation/fade-in-lift.tsx +43 -0
  599. package/src/components/avatar/avatar.module.css +45 -0
  600. package/src/components/avatar/avatar.tsx +28 -0
  601. package/src/components/badge/badge.module.css +66 -0
  602. package/src/components/badge/badge.tsx +42 -0
  603. package/src/components/button/@types/button.ts +50 -0
  604. package/src/components/button/button-group.module.css +19 -0
  605. package/src/components/button/button-group.tsx +142 -0
  606. package/src/components/button/button.module.css +542 -0
  607. package/src/components/button/button.tsx +70 -0
  608. package/src/components/button/combo-button.module.css +52 -0
  609. package/src/components/button/combo-button.tsx +89 -0
  610. package/src/components/button/control-buttons.module.css +134 -0
  611. package/src/components/button/control-buttons.tsx +140 -0
  612. package/src/components/button/copy-button.module.css +61 -0
  613. package/src/components/button/copy-button.tsx +123 -0
  614. package/src/components/button/icon-button.tsx +43 -0
  615. package/src/components/button/index.ts +5 -0
  616. package/src/components/card/card.module.css +80 -0
  617. package/src/components/card/card.tsx +91 -0
  618. package/src/components/chips/@types/chip.ts +29 -0
  619. package/src/components/chips/chip.module.css +445 -0
  620. package/src/components/chips/chip.tsx +198 -0
  621. package/src/components/chips/index.ts +2 -0
  622. package/src/components/container/container.module.css +41 -0
  623. package/src/components/container/container.tsx +23 -0
  624. package/src/components/dropdown/dropdown.module.css +128 -0
  625. package/src/components/dropdown/dropdown.tsx +225 -0
  626. package/src/components/hamburger/hamburger.module.css +141 -0
  627. package/src/components/hamburger/hamburger.tsx +75 -0
  628. package/src/components/inputs/@types/autocomplete.ts +39 -0
  629. package/src/components/inputs/@types/checkbox.ts +50 -0
  630. package/src/components/inputs/@types/input.ts +51 -0
  631. package/src/components/inputs/autocomplete.module.css +370 -0
  632. package/src/components/inputs/autocomplete.tsx +179 -0
  633. package/src/components/inputs/calendar.module.css +274 -0
  634. package/src/components/inputs/calendar.tsx +185 -0
  635. package/src/components/inputs/checkbox-group.module.css +15 -0
  636. package/src/components/inputs/checkbox-group.tsx +86 -0
  637. package/src/components/inputs/checkbox.module.css +278 -0
  638. package/src/components/inputs/checkbox.tsx +109 -0
  639. package/src/components/inputs/error-text.module.css +29 -0
  640. package/src/components/inputs/error-text.tsx +20 -0
  641. package/src/components/inputs/errors.tsx +37 -0
  642. package/src/components/inputs/help-text.module.css +29 -0
  643. package/src/components/inputs/help-text.tsx +19 -0
  644. package/src/components/inputs/index.tsx +9 -0
  645. package/src/components/inputs/input-adornment.module.css +26 -0
  646. package/src/components/inputs/input-adornment.tsx +37 -0
  647. package/src/components/inputs/input-password.tsx +24 -0
  648. package/src/components/inputs/input.module.css +289 -0
  649. package/src/components/inputs/input.tsx +119 -0
  650. package/src/components/inputs/label.module.css +20 -0
  651. package/src/components/inputs/label.tsx +26 -0
  652. package/src/components/inputs/radio-group.module.css +175 -0
  653. package/src/components/inputs/radio-group.tsx +72 -0
  654. package/src/components/inputs/select.module.css +152 -0
  655. package/src/components/inputs/select.tsx +134 -0
  656. package/src/components/inputs/text-area.module.css +34 -0
  657. package/src/components/inputs/text-area.tsx +83 -0
  658. package/src/components/inputs/utils.ts +21 -0
  659. package/src/components/notifications/@types/alert.ts +25 -0
  660. package/src/components/notifications/@types/toast.ts +53 -0
  661. package/src/components/notifications/alert.module.css +136 -0
  662. package/src/components/notifications/alert.tsx +124 -0
  663. package/src/components/notifications/index.ts +2 -0
  664. package/src/components/notifications/toast.module.css +234 -0
  665. package/src/components/notifications/toast.tsx +121 -0
  666. package/src/components/pager/@types/index.ts +15 -0
  667. package/src/components/pager/ellipses.tsx +18 -0
  668. package/src/components/pager/event-pager.tsx +20 -0
  669. package/src/components/pager/first-button.tsx +56 -0
  670. package/src/components/pager/hooks/types/usePagination.ts +80 -0
  671. package/src/components/pager/hooks/usePagination.ts +140 -0
  672. package/src/components/pager/icons/first.tsx +33 -0
  673. package/src/components/pager/icons/index.tsx +4 -0
  674. package/src/components/pager/icons/last.tsx +33 -0
  675. package/src/components/pager/icons/next.tsx +20 -0
  676. package/src/components/pager/icons/previous.tsx +20 -0
  677. package/src/components/pager/index.ts +4 -0
  678. package/src/components/pager/last-button.tsx +61 -0
  679. package/src/components/pager/next-button.tsx +61 -0
  680. package/src/components/pager/number-button.tsx +87 -0
  681. package/src/components/pager/pagination.module.css +147 -0
  682. package/src/components/pager/pagination.tsx +265 -0
  683. package/src/components/pager/previous-button.tsx +56 -0
  684. package/src/components/scroll-area/scroll-area.module.css +74 -0
  685. package/src/components/scroll-area/scroll-area.tsx +32 -0
  686. package/src/components/scroll-to-top/scroll-to-top.module.css +86 -0
  687. package/src/components/scroll-to-top/scroll-to-top.tsx +87 -0
  688. package/src/components/section/section.module.css +14 -0
  689. package/src/components/section/section.tsx +23 -0
  690. package/src/components/shimmer/shimmer.module.css +61 -0
  691. package/src/components/shimmer/shimmer.tsx +71 -0
  692. package/src/components/table/table.module.css +120 -0
  693. package/src/components/table/table.tsx +171 -0
  694. package/src/components/tabs/tabs.module.css +64 -0
  695. package/src/components/tabs/tabs.tsx +76 -0
  696. package/src/components/tooltip/tooltip.module.css +80 -0
  697. package/src/components/tooltip/tooltip.tsx +83 -0
  698. package/src/dnd/draggable-sortable/demo/draggable-list-demo.tsx +1 -1
  699. package/src/dnd/draggable-sortable/draggable-sortable.tsx +3 -3
  700. package/src/dnd/draggable-sortable/types.ts +1 -1
  701. package/src/fields/array/array-field.tsx +1 -1
  702. package/src/fields/blocks/blocks-field.tsx +1 -1
  703. package/src/fields/checkbox/checkbox-field.tsx +1 -1
  704. package/src/fields/datetime/datetime-field.tsx +1 -1
  705. package/src/fields/draggable-context-menu.tsx +3 -3
  706. package/src/fields/file/file-field.tsx +1 -1
  707. package/src/fields/group/group-field.tsx +1 -1
  708. package/src/fields/image/image-field.tsx +1 -1
  709. package/src/fields/numerical/numerical-field.tsx +1 -1
  710. package/src/fields/relation/relation-field.tsx +1 -1
  711. package/src/fields/relation/relation-picker.tsx +1 -1
  712. package/src/fields/select/select-field.tsx +1 -1
  713. package/src/fields/sortable-item.tsx +1 -1
  714. package/src/fields/text/text-field.tsx +1 -1
  715. package/src/fields/text-area/text-area-field.tsx +1 -1
  716. package/src/fields.ts +28 -0
  717. package/src/forms/document-actions.tsx +3 -3
  718. package/src/forms/form-renderer.tsx +1 -1
  719. package/src/forms/path-widget.test.tsx +1 -1
  720. package/src/forms/path-widget.tsx +1 -1
  721. package/src/forms.ts +10 -0
  722. package/src/hooks/use-focus-trap/index.ts +1 -0
  723. package/src/hooks/use-focus-trap/scope-tab.ts +48 -0
  724. package/src/hooks/use-focus-trap/tabbable.ts +72 -0
  725. package/src/hooks/use-focus-trap/use-focus-trap.ts +83 -0
  726. package/src/hooks/use-media-query.ts +20 -0
  727. package/src/icons/activity-icon.tsx +41 -0
  728. package/src/icons/ai-icon.tsx +45 -0
  729. package/src/icons/calendar-icon.tsx +37 -0
  730. package/src/icons/check-icon.tsx +30 -0
  731. package/src/icons/chevron-down-icon.tsx +37 -0
  732. package/src/icons/chevron-left-double-icon.tsx +59 -0
  733. package/src/icons/chevron-left-icon.tsx +59 -0
  734. package/src/icons/chevron-right-double-icon.tsx +59 -0
  735. package/src/icons/chevron-right-icon.tsx +59 -0
  736. package/src/icons/chevron-up-icon.tsx +37 -0
  737. package/src/icons/chevrons-up-down.tsx +38 -0
  738. package/src/icons/close-icon.tsx +33 -0
  739. package/src/icons/copy-icon.tsx +32 -0
  740. package/src/icons/danger-icon.tsx +19 -0
  741. package/src/icons/dashboard-icon.tsx +39 -0
  742. package/src/icons/delete-icon.tsx +32 -0
  743. package/src/icons/document-icon.tsx +36 -0
  744. package/src/icons/download-icon.tsx +37 -0
  745. package/src/icons/edit-icon.tsx +33 -0
  746. package/src/icons/ellipsis-icon.tsx +36 -0
  747. package/src/icons/email-icon.tsx +31 -0
  748. package/src/icons/external-link-icon.tsx +37 -0
  749. package/src/icons/eye-closed-icon.tsx +39 -0
  750. package/src/icons/eye-open-icon.tsx +31 -0
  751. package/src/icons/github-icon.tsx +28 -0
  752. package/src/icons/globe-icon.tsx +48 -0
  753. package/src/icons/google-icon.tsx +43 -0
  754. package/src/icons/gripper-vertical-icon.tsx +41 -0
  755. package/src/icons/history-icon.tsx +33 -0
  756. package/src/icons/home-icon.tsx +32 -0
  757. package/src/icons/icon-element.tsx +31 -0
  758. package/src/icons/icon-sprite.tsx +18 -0
  759. package/src/icons/icons.module.css +165 -0
  760. package/src/icons/index.ts +53 -0
  761. package/src/icons/info-icon.tsx +19 -0
  762. package/src/icons/infonomic-icon.tsx +172 -0
  763. package/src/icons/light-icon.tsx +27 -0
  764. package/src/icons/location-pin-icon.tsx +34 -0
  765. package/src/icons/moon-icon.tsx +40 -0
  766. package/src/icons/plus-icon.tsx +32 -0
  767. package/src/icons/primary-icon.tsx +22 -0
  768. package/src/icons/refresh-icon.tsx +31 -0
  769. package/src/icons/return-icon.tsx +34 -0
  770. package/src/icons/roles-icon.tsx +32 -0
  771. package/src/icons/search-icon.tsx +27 -0
  772. package/src/icons/search-menu-icon.tsx +40 -0
  773. package/src/icons/settings-gear-icon.tsx +34 -0
  774. package/src/icons/settings-sliders-icon.tsx +41 -0
  775. package/src/icons/sign-out-icon.tsx +33 -0
  776. package/src/icons/source/icon-calendar.svg +1 -0
  777. package/src/icons/source/icon-check.svg +4 -0
  778. package/src/icons/source/icon-close.svg +3 -0
  779. package/src/icons/source/icon-coinbase.svg +9 -0
  780. package/src/icons/source/icon-copy.svg +4 -0
  781. package/src/icons/source/icon-document.svg +5 -0
  782. package/src/icons/source/icon-download.svg +4 -0
  783. package/src/icons/source/icon-edit.svg +6 -0
  784. package/src/icons/source/icon-eth-purple.svg +15 -0
  785. package/src/icons/source/icon-etherscan.svg +5 -0
  786. package/src/icons/source/icon-external-link.svg +4 -0
  787. package/src/icons/source/icon-globe.svg +7 -0
  788. package/src/icons/source/icon-gripper-vertical.svg +9 -0
  789. package/src/icons/source/icon-info.svg +4 -0
  790. package/src/icons/source/icon-infonomic.svg +43 -0
  791. package/src/icons/source/icon-ledger.svg +4 -0
  792. package/src/icons/source/icon-light.svg +3 -0
  793. package/src/icons/source/icon-location-pin.svg +8 -0
  794. package/src/icons/source/icon-logout.svg +6 -0
  795. package/src/icons/source/icon-metamask.svg +32 -0
  796. package/src/icons/source/icon-moon.svg +3 -0
  797. package/src/icons/source/icon-plus.svg +4 -0
  798. package/src/icons/source/icon-refresh.svg +4 -0
  799. package/src/icons/source/icon-return.svg +4 -0
  800. package/src/icons/source/icon-search-menu.svg +13 -0
  801. package/src/icons/source/icon-search.svg +3 -0
  802. package/src/icons/source/icon-settings-gear.svg +5 -0
  803. package/src/icons/source/icon-settings.svg +12 -0
  804. package/src/icons/source/icon-wallet.svg +3 -0
  805. package/src/icons/source/icon-walletconnect.svg +4 -0
  806. package/src/icons/source/icon-x.svg +4 -0
  807. package/src/icons/stop-icon.tsx +33 -0
  808. package/src/icons/stopwatch-icon.tsx +37 -0
  809. package/src/icons/success-icon.tsx +19 -0
  810. package/src/icons/types/icon.ts +8 -0
  811. package/src/icons/user-icon.tsx +31 -0
  812. package/src/icons/users-icon.tsx +33 -0
  813. package/src/icons/wallet-icon.tsx +27 -0
  814. package/src/icons/warning-icon.tsx +19 -0
  815. package/src/icons/x-icon.tsx +31 -0
  816. package/src/lib/ripple.ts +95 -0
  817. package/src/loaders/@types/index.ts +6 -0
  818. package/src/loaders/ellipses.module.css +79 -0
  819. package/src/loaders/ellipses.tsx +43 -0
  820. package/src/loaders/ring.module.css +55 -0
  821. package/src/loaders/ring.tsx +45 -0
  822. package/src/loaders/spinner.module.css +106 -0
  823. package/src/loaders/spinner.tsx +52 -0
  824. package/src/react.ts +11 -73
  825. package/src/services.ts +18 -0
  826. package/src/styles/base/animations.css +141 -0
  827. package/src/styles/base/base.css +11 -0
  828. package/src/styles/base/borders.css +30 -0
  829. package/src/styles/base/breakpoints.css +15 -0
  830. package/src/styles/base/colors.css +163 -0
  831. package/src/styles/base/opacity.css +12 -0
  832. package/src/styles/base/shadows.css +13 -0
  833. package/src/styles/base/size.css +24 -0
  834. package/src/styles/base/spacing.css +24 -0
  835. package/src/styles/base/transitions.css +7 -0
  836. package/src/styles/base/typography.css +46 -0
  837. package/src/styles/base/z-index.css +12 -0
  838. package/src/styles/components/components.css +4 -0
  839. package/src/styles/components/fade-in-lift.css +15 -0
  840. package/src/styles/components/hamburger.css +122 -0
  841. package/src/styles/components/loaders.css +198 -0
  842. package/src/styles/functional/README.md +67 -0
  843. package/src/styles/functional/borders.css +42 -0
  844. package/src/styles/functional/colors.css +1279 -0
  845. package/src/styles/functional/functional.css +6 -0
  846. package/src/styles/functional/grid-flex.css +52 -0
  847. package/src/styles/functional/shadcn-compat.css +90 -0
  848. package/src/styles/functional/surfaces.css +132 -0
  849. package/src/styles/functional/typography.css +54 -0
  850. package/src/styles/local-fonts.css +98 -0
  851. package/src/styles/reset.css +466 -0
  852. package/src/styles/styles.css +12 -0
  853. package/src/styles/theme/autofill.css +67 -0
  854. package/src/styles/theme/defaults.css +75 -0
  855. package/src/styles/theme/scrollers.css +54 -0
  856. package/src/styles/theme/theme.css +17 -0
  857. package/src/styles/typography/fonts.css +33 -0
  858. package/src/styles/typography/prose.css +414 -0
  859. package/src/styles/typography.css +24 -0
  860. package/src/styles/utils/scroll-layout-shift.css +9 -0
  861. package/src/styles/utils/utility-classes.css +1395 -0
  862. package/src/styles/utils/utils.css +2 -0
  863. package/src/uikit.ts +116 -0
  864. package/src/utils/capitalize.ts +6 -0
  865. package/src/utils/externalLinkProps.ts +6 -0
  866. package/src/utils/findMatch.ts +7 -0
  867. package/src/utils/getPortalRoot.ts +3 -0
  868. package/src/utils/isTouchDevice.ts +11 -0
  869. package/src/utils/objectsToArray.ts +13 -0
  870. package/src/utils/objectsToString.ts +5 -0
  871. package/src/utils/polymorphic.ts +16 -0
  872. package/src/utils/to-kebab-case.ts +5 -0
  873. package/src/widgets/datepicker/datepicker.module.css +207 -0
  874. package/src/widgets/datepicker/datepicker.tsx +355 -0
  875. package/src/widgets/drawer/drawer-container.tsx +31 -0
  876. package/src/widgets/drawer/drawer-content.tsx +31 -0
  877. package/src/widgets/drawer/drawer-context.tsx +47 -0
  878. package/src/widgets/drawer/drawer-header.tsx +28 -0
  879. package/src/widgets/drawer/drawer-top-actions.tsx +28 -0
  880. package/src/widgets/drawer/drawer.module.css +141 -0
  881. package/src/widgets/drawer/drawer.tsx +98 -0
  882. package/src/widgets/drawer/motionDomAnimation.ts +5 -0
  883. package/src/widgets/drawer/motionDomMax.ts +5 -0
  884. package/src/widgets/modal/modal-actions.tsx +31 -0
  885. package/src/widgets/modal/modal-container.tsx +31 -0
  886. package/src/widgets/modal/modal-content.tsx +31 -0
  887. package/src/widgets/modal/modal-header.tsx +28 -0
  888. package/src/widgets/modal/modal.module.css +127 -0
  889. package/src/widgets/modal/modal.tsx +88 -0
  890. package/src/widgets/modal/motionDomAnimation.ts +5 -0
  891. package/src/widgets/modal/motionDomMax.ts +5 -0
  892. package/src/widgets/search/index.ts +1 -0
  893. package/src/widgets/search/search.tsx +187 -0
  894. package/src/widgets/timeline/timeline.module.css +102 -0
  895. package/src/widgets/timeline/timeline.tsx +177 -0
@@ -0,0 +1,124 @@
1
+ 'use client'
2
+
3
+ import type React from 'react'
4
+ import { useEffect, useState } from 'react'
5
+
6
+ import cx from 'classnames'
7
+
8
+ import { CloseIcon } from '../../icons/close-icon'
9
+ import { DangerIcon } from '../../icons/danger-icon'
10
+ import { InfoIcon } from '../../icons/info-icon'
11
+ import { SuccessIcon } from '../../icons/success-icon'
12
+ import { WarningIcon } from '../../icons/warning-icon'
13
+ import { Button } from '../button/button.js'
14
+ import styles from './alert.module.css'
15
+ import type { Intent } from './@types/alert.js'
16
+
17
+ export interface AlertProps {
18
+ intent?: Intent
19
+ icon?: boolean
20
+ close?: boolean
21
+ className?: string
22
+ title?: string
23
+ children: React.ReactNode
24
+ }
25
+
26
+ const alertIcons = {
27
+ primary: WarningIcon,
28
+ secondary: InfoIcon,
29
+ success: SuccessIcon,
30
+ info: InfoIcon,
31
+ warning: WarningIcon,
32
+ danger: DangerIcon,
33
+ }
34
+
35
+ export const Alert = function Alert({
36
+ ref,
37
+ intent = 'success',
38
+ icon = true,
39
+ close = true,
40
+ title,
41
+ className,
42
+ children,
43
+ ...rest
44
+ }: AlertProps & {
45
+ ref?: React.RefObject<HTMLDivElement>
46
+ }): React.JSX.Element | null {
47
+ const [show, setShow] = useState(true)
48
+ const [fade, setFade] = useState(false)
49
+
50
+ const Icon = alertIcons[intent as keyof typeof alertIcons]
51
+
52
+ const handleOnClose = (): void => {
53
+ setFade(true)
54
+ setTimeout(() => setShow(false), 400) // Match the CSS transition duration
55
+ }
56
+
57
+ useEffect(() => {
58
+ if (!show) {
59
+ // Perform any cleanup if necessary
60
+ }
61
+ }, [show])
62
+
63
+ if (show === false) return null
64
+
65
+ return (
66
+ <div
67
+ ref={ref}
68
+ className={cx(
69
+ 'infonomic-alert',
70
+ `infonomic-alert-${intent}`,
71
+ styles.alert,
72
+ styles[intent],
73
+ className,
74
+ {
75
+ [styles.fade]: fade,
76
+ }
77
+ )}
78
+ {...rest}
79
+ >
80
+ {title != null ? (
81
+ <div className={cx('infonomic-alert-with-title', styles['alert-with-title'])}>
82
+ <div className={cx('infonomic-alert-header', styles.header)}>
83
+ {icon && <Icon className={cx('infonomic-alert-icon', styles.icon)} />}
84
+ <div className={cx('infonomic-alert-title', styles.title)}>
85
+ <span>{title}</span>
86
+ </div>
87
+ {close === true && (
88
+ <Button
89
+ intent={intent}
90
+ variant="filled"
91
+ aria-label="Close"
92
+ className={cx('infonomic-alert-close', styles.close)}
93
+ type="button"
94
+ onClick={handleOnClose}
95
+ {...rest}
96
+ >
97
+ <CloseIcon height="12px" width="12px" />
98
+ </Button>
99
+ )}
100
+ </div>
101
+ <div className={cx('infonomic-alert-content', styles.content)}>{children}</div>
102
+ </div>
103
+ ) : (
104
+ <>
105
+ {icon && <Icon className={cx('infonomic-alert-icon', styles.icon)} />}
106
+ <div className={cx('infonomic-alert-content', styles.content)}>{children}</div>
107
+ {close === true && (
108
+ <Button
109
+ intent={intent}
110
+ variant="filled"
111
+ aria-label="Close"
112
+ className={cx('infonomic-alert-close', styles.close)}
113
+ type="button"
114
+ onClick={handleOnClose}
115
+ {...rest}
116
+ >
117
+ <CloseIcon height="12px" width="12px" />
118
+ </Button>
119
+ )}
120
+ </>
121
+ )}
122
+ </div>
123
+ )
124
+ }
@@ -0,0 +1,2 @@
1
+ export * from './alert.js'
2
+ export * from './toast.js'
@@ -0,0 +1,234 @@
1
+ @layer byline-base,
2
+ byline-functional,
3
+ byline-utilities,
4
+ byline-theme,
5
+ byline-typography,
6
+ byline-components;
7
+
8
+ @layer byline-components {
9
+ /* ============================================
10
+ Viewport — fixed-position container for toasts.
11
+ Position classes are applied here.
12
+ ============================================ */
13
+
14
+ .viewport,
15
+ :global(.infonomic-toast-viewport) {
16
+ --viewport-padding: 16px;
17
+ position: fixed;
18
+ display: flex;
19
+ flex-direction: column;
20
+ gap: 8px;
21
+ z-index: var(--z-index-toast);
22
+ outline: none;
23
+ }
24
+
25
+ /* Mobile: full-width at all positions */
26
+
27
+ .top-left,
28
+ :global(.infonomic-toast-top-left) {
29
+ top: 88px;
30
+ right: var(--viewport-padding);
31
+ left: var(--viewport-padding);
32
+ }
33
+
34
+ .top-right,
35
+ :global(.infonomic-toast-top-right) {
36
+ top: 88px;
37
+ right: var(--viewport-padding);
38
+ left: var(--viewport-padding);
39
+ }
40
+
41
+ .bottom-left,
42
+ :global(.infonomic-toast-bottom-left) {
43
+ bottom: var(--viewport-padding);
44
+ right: var(--viewport-padding);
45
+ left: var(--viewport-padding);
46
+ }
47
+
48
+ .bottom-right,
49
+ :global(.infonomic-toast-bottom-right) {
50
+ bottom: var(--viewport-padding);
51
+ right: var(--viewport-padding);
52
+ left: var(--viewport-padding);
53
+ }
54
+
55
+ @media (min-width: 48rem) {
56
+ .bottom-right,
57
+ :global(.infonomic-toast-bottom-right) {
58
+ bottom: var(--viewport-padding);
59
+ right: var(--viewport-padding);
60
+ left: auto;
61
+ width: 100%;
62
+ max-width: 390px;
63
+ }
64
+
65
+ .bottom-left,
66
+ :global(.infonomic-toast-bottom-left) {
67
+ bottom: var(--viewport-padding);
68
+ left: var(--viewport-padding);
69
+ right: auto;
70
+ width: 100%;
71
+ max-width: 390px;
72
+ }
73
+
74
+ .top-left,
75
+ :global(.infonomic-toast-top-left) {
76
+ top: 88px;
77
+ left: var(--viewport-padding);
78
+ right: auto;
79
+ bottom: auto;
80
+ width: 100%;
81
+ max-width: 390px;
82
+ }
83
+
84
+ .top-right,
85
+ :global(.infonomic-toast-top-right) {
86
+ top: 88px;
87
+ right: var(--viewport-padding);
88
+ bottom: auto;
89
+ left: auto;
90
+ width: 100%;
91
+ max-width: 390px;
92
+ }
93
+ }
94
+
95
+ /* ============================================
96
+ Root — individual toast wrapper
97
+ ============================================ */
98
+
99
+ .root,
100
+ :global(.infonomic-toast-root) {
101
+ display: flex;
102
+ flex-direction: column;
103
+ gap: var(--gap-1);
104
+ padding-top: 12px;
105
+ padding-bottom: 16px;
106
+ background: var(--surface-panel-elevated);
107
+ border-width: var(--border-width-thin);
108
+ border-color: var(--border-color);
109
+ border-style: var(--border-style-solid);
110
+ border-radius: var(--border-radius-md);
111
+ box-shadow: var(--shadow-sm);
112
+ transform: translateX(var(--toast-swipe-movement-x, 0))
113
+ translateY(var(--toast-swipe-movement-y, 0));
114
+ transition:
115
+ transform 200ms ease-out,
116
+ opacity 150ms ease-in;
117
+ }
118
+
119
+ /* Entry animation */
120
+ .root[data-starting-style],
121
+ :global(.infonomic-toast-root[data-starting-style]) {
122
+ opacity: 0;
123
+ transform: translateY(calc(100% + var(--viewport-padding)));
124
+ }
125
+
126
+ @media (min-width: 48rem) {
127
+ .viewport.top-right .root[data-starting-style],
128
+ .viewport.bottom-right .root[data-starting-style],
129
+ :global(.infonomic-toast-viewport.top-right .infonomic-toast-root[data-starting-style]),
130
+ :global(.infonomic-toast-viewport.bottom-right .infonomic-toast-root[data-starting-style]) {
131
+ opacity: 0;
132
+ transform: translateX(calc(100% + var(--viewport-padding)));
133
+ }
134
+
135
+ .viewport.top-left .root[data-starting-style],
136
+ .viewport.bottom-left .root[data-starting-style],
137
+ :global(.infonomic-toast-viewport.top-left .infonomic-toast-root[data-starting-style]),
138
+ :global(.infonomic-toast-viewport.bottom-left .infonomic-toast-root[data-starting-style]) {
139
+ opacity: 0;
140
+ transform: translateX(calc(-100% - var(--viewport-padding)));
141
+ }
142
+ }
143
+
144
+ /* Exit animation */
145
+ .root[data-ending-style],
146
+ :global(.infonomic-toast-root[data-ending-style]) {
147
+ opacity: 0;
148
+ }
149
+
150
+ .root[data-ending-style][data-swipe-direction="right"],
151
+ :global(.infonomic-toast-root[data-ending-style][data-swipe-direction="right"]) {
152
+ transform: translateX(calc(var(--toast-swipe-movement-x, 0) + 100% + var(--viewport-padding)));
153
+ }
154
+
155
+ .root[data-ending-style][data-swipe-direction="left"],
156
+ :global(.infonomic-toast-root[data-ending-style][data-swipe-direction="left"]) {
157
+ transform: translateX(calc(var(--toast-swipe-movement-x, 0) - 100% - var(--viewport-padding)));
158
+ }
159
+
160
+ .root[data-ending-style][data-swipe-direction="down"],
161
+ :global(.infonomic-toast-root[data-ending-style][data-swipe-direction="down"]) {
162
+ transform: translateY(calc(var(--toast-swipe-movement-y, 0) + 150%));
163
+ }
164
+
165
+ /* ============================================
166
+ Content — overflow container for stacking
167
+ ============================================ */
168
+
169
+ .content,
170
+ :global(.infonomic-toast-content) {
171
+ display: flex;
172
+ flex-direction: column;
173
+ gap: var(--gap-1);
174
+ }
175
+
176
+ /* ============================================
177
+ Header / Close / Title / Description / Action
178
+ ============================================ */
179
+
180
+ .header,
181
+ :global(.infonomic-toast-header) {
182
+ display: flex;
183
+ padding: 0 16px 0 12px;
184
+ align-items: start;
185
+ gap: var(--gap-2);
186
+ justify-content: space-between;
187
+ }
188
+
189
+ .close,
190
+ :global(.infonomic-toast-close) {
191
+ display: flex;
192
+ align-items: center;
193
+ justify-content: center;
194
+ padding: 0;
195
+ min-width: 24px;
196
+ min-height: 24px;
197
+ width: 24px;
198
+ height: 24px;
199
+ border-radius: 100%;
200
+ margin-left: auto;
201
+ margin-top: -2px;
202
+ }
203
+
204
+ .close svg,
205
+ :global(.infonomic-toast-close svg) {
206
+ fill: white;
207
+ }
208
+
209
+ .title,
210
+ :global(.infonomic-toast-title) {
211
+ display: flex;
212
+ padding: 0 12px 0 8px;
213
+ align-items: start;
214
+ gap: var(--gap-2);
215
+ margin-bottom: 5px;
216
+ font-weight: 500;
217
+ font-size: 15px;
218
+ }
219
+
220
+ .description,
221
+ :global(.infonomic-toast-description) {
222
+ margin: 0;
223
+ padding: 0 8px 0 12px;
224
+ font-size: var(--font-size-sm);
225
+ line-height: 1.3;
226
+ }
227
+
228
+ .action,
229
+ :global(.infonomic-toast-action) {
230
+ display: flex;
231
+ justify-content: end;
232
+ padding: 0 12px 0 12px;
233
+ }
234
+ }
@@ -0,0 +1,121 @@
1
+ 'use client'
2
+
3
+ import React from 'react'
4
+
5
+ import { Toast as ToastPrimitive } from '@base-ui/react/toast'
6
+ import cx from 'classnames'
7
+
8
+ import { CloseIcon } from '../../icons/close-icon'
9
+ import { DangerIcon } from '../../icons/danger-icon'
10
+ import { InfoIcon } from '../../icons/info-icon'
11
+ import { SuccessIcon } from '../../icons/success-icon'
12
+ import { WarningIcon } from '../../icons/warning-icon'
13
+ import { Button } from '../button/button.js'
14
+ import styles from './toast.module.css'
15
+ import type { Position, ToastData } from './@types/toast.js'
16
+
17
+ const toastIcons = {
18
+ success: SuccessIcon,
19
+ info: InfoIcon,
20
+ warning: WarningIcon,
21
+ danger: DangerIcon,
22
+ }
23
+
24
+ // Re-export Base UI toast utilities
25
+ export const useToastManager = ToastPrimitive.useToastManager<ToastData>
26
+ export const createToastManager = ToastPrimitive.createToastManager<ToastData>
27
+
28
+ export interface ToastProviderProps {
29
+ children: React.ReactNode
30
+ timeout?: number
31
+ limit?: number
32
+ toastManager?: ReturnType<typeof createToastManager>
33
+ }
34
+
35
+ export function ToastProvider({
36
+ children,
37
+ timeout = 5000,
38
+ limit = 3,
39
+ toastManager,
40
+ }: ToastProviderProps) {
41
+ return (
42
+ <ToastPrimitive.Provider timeout={timeout} limit={limit} toastManager={toastManager}>
43
+ {children}
44
+ </ToastPrimitive.Provider>
45
+ )
46
+ }
47
+
48
+ export interface ToastViewportProps {
49
+ position?: Position
50
+ className?: string
51
+ }
52
+
53
+ export function ToastViewport({ position = 'bottom-right', className }: ToastViewportProps) {
54
+ const { toasts } = ToastPrimitive.useToastManager<ToastData>()
55
+ return (
56
+ <ToastPrimitive.Portal>
57
+ <ToastPrimitive.Viewport
58
+ className={cx('infonomic-toast-viewport', styles.viewport, styles[position], className)}
59
+ >
60
+ {toasts.map((toast) => (
61
+ <ToastItem key={toast.id} toast={toast} />
62
+ ))}
63
+ </ToastPrimitive.Viewport>
64
+ </ToastPrimitive.Portal>
65
+ )
66
+ }
67
+
68
+ function ToastItem({ toast }: { toast: ToastPrimitive.Root.ToastObject<ToastData> }) {
69
+ const { intent = 'success', iconType = 'success', icon = true, close = true } = toast.data ?? {}
70
+ const eventDateRef = React.useRef(new Date())
71
+ const Icon = toastIcons[iconType as keyof typeof toastIcons]
72
+
73
+ const swipeDirection = React.useMemo<
74
+ React.ComponentProps<typeof ToastPrimitive.Root>['swipeDirection']
75
+ >(() => ['down', 'right'], [])
76
+
77
+ return (
78
+ <ToastPrimitive.Root
79
+ toast={toast}
80
+ swipeDirection={swipeDirection}
81
+ className={cx('infonomic-toast', styles.root)}
82
+ >
83
+ <ToastPrimitive.Content className={cx('infonomic-toast-content', styles.content)}>
84
+ <div className={cx('infonomic-toast-header', styles.header)}>
85
+ <time dateTime={eventDateRef.current.toISOString()} className="text-sm">
86
+ {new Intl.DateTimeFormat('default', {
87
+ hour12: true,
88
+ hour: 'numeric',
89
+ minute: 'numeric',
90
+ }).format(eventDateRef.current)}
91
+ </time>
92
+ {close && (
93
+ <ToastPrimitive.Close
94
+ render={
95
+ <Button
96
+ intent={intent}
97
+ tabIndex={0}
98
+ variant="filled"
99
+ aria-label="Close"
100
+ className={cx('infonomic-toast-close', styles.close)}
101
+ type="button"
102
+ />
103
+ }
104
+ >
105
+ <CloseIcon height="12px" width="12px" />
106
+ </ToastPrimitive.Close>
107
+ )}
108
+ </div>
109
+ <ToastPrimitive.Title className={cx('infonomic-toast-title', styles.title)}>
110
+ {icon && Icon && <Icon />}
111
+ {toast.title}
112
+ </ToastPrimitive.Title>
113
+ <ToastPrimitive.Description
114
+ className={cx('infonomic-toast-description', styles.description)}
115
+ >
116
+ {toast.description}
117
+ </ToastPrimitive.Description>
118
+ </ToastPrimitive.Content>
119
+ </ToastPrimitive.Root>
120
+ )
121
+ }
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Available layout variants for the Pagination component.
3
+ */
4
+ export const variant = ['default', 'classic', 'dashboard'] as const
5
+
6
+ /**
7
+ * Layout variant of the pagination control.
8
+ *
9
+ * - `default` — numbered page buttons with previous/next arrows (default)
10
+ * - `classic` — previous/next arrows with a direct page number input
11
+ * - `dashboard` — compact variant optimised for data tables and dashboards
12
+ *
13
+ * @default 'default'
14
+ */
15
+ export type Variant = (typeof variant)[number]
@@ -0,0 +1,18 @@
1
+ 'use client'
2
+
3
+ import type React from 'react'
4
+
5
+ import cx from 'classnames'
6
+
7
+ import { usePager } from './pagination'
8
+ import styles from './pagination.module.css'
9
+
10
+ export function Ellipses(): React.JSX.Element {
11
+ const { variant } = usePager()
12
+ return (
13
+ // TODO - extract ellipses component
14
+ <li className="flex">
15
+ <div className={cx(styles.ellipses, 'pagination-ellipses')}>...</div>
16
+ </li>
17
+ )
18
+ }
@@ -0,0 +1,20 @@
1
+ 'use client'
2
+
3
+ import type React from 'react'
4
+
5
+ import { Pagination } from './pagination'
6
+ import type { PaginationProps } from './pagination'
7
+
8
+ /**
9
+ * A convenience event-based pager
10
+ */
11
+ export function EventPager(props: PaginationProps): React.JSX.Element {
12
+ const { className, 'aria-label': ariaLabel, ...rest } = props
13
+ return (
14
+ <Pagination {...rest}>
15
+ <Pagination.Root className={className} ariaLabel={ariaLabel}>
16
+ <Pagination.Pager />
17
+ </Pagination.Root>
18
+ </Pagination>
19
+ )
20
+ }
@@ -0,0 +1,56 @@
1
+ 'use client'
2
+
3
+ import React from 'react'
4
+
5
+ import cx from 'classnames'
6
+
7
+ import { ChevronLeftDoubleIcon } from '../../icons/chevron-left-double-icon.js'
8
+ import { usePager } from './pagination'
9
+ import styles from './pagination.module.css'
10
+ import type { PagerButtonProps, RefType } from './pagination'
11
+
12
+ export const FirstButton = ({
13
+ ref,
14
+ className,
15
+ disabled,
16
+ render,
17
+ children,
18
+ ...rest
19
+ }: PagerButtonProps & {
20
+ ref?: React.RefObject<RefType>
21
+ }) => {
22
+ const { variant } = usePager()
23
+
24
+ const sharedProps = {
25
+ className: cx(
26
+ styles['first-button'],
27
+ styles[variant],
28
+ styles['rounded-left'],
29
+ 'pagination-first',
30
+ className
31
+ ),
32
+ disabled,
33
+ 'data-testid': 'pagination-first',
34
+ title: 'First',
35
+ ...(disabled ? { 'aria-disabled': true } : { 'aria-label': 'First' }),
36
+ ...rest,
37
+ }
38
+
39
+ return (
40
+ <li className={styles['mobile-toggle']}>
41
+ {render ? (
42
+ React.cloneElement(
43
+ render,
44
+ { ref, ...sharedProps } as React.Attributes & Record<string, unknown>,
45
+ children
46
+ )
47
+ ) : (
48
+ <button ref={ref as React.RefObject<HTMLButtonElement>} {...sharedProps}>
49
+ {children ?? <ChevronLeftDoubleIcon width="18px" height="18px" />}
50
+ </button>
51
+ )}
52
+ </li>
53
+ )
54
+ }
55
+
56
+ FirstButton.displayName = 'FirstButton'
@@ -0,0 +1,80 @@
1
+ // https://github.com/mui/material-ui/blob/master/packages/mui-material/src/usePagination/usePagination.js
2
+ // https://github.com/mui/material-ui/blob/master/LICENSE
3
+
4
+ import type * as React from 'react'
5
+
6
+ export interface UsePaginationProps {
7
+ /**
8
+ * Number of always visible pages at the beginning and end.
9
+ * @default 1
10
+ */
11
+ boundaryCount?: number
12
+ /**
13
+ * The name of the component where this hook is used.
14
+ */
15
+ componentName?: string
16
+ /**
17
+ * The total number of pages.
18
+ * @default 1
19
+ */
20
+ count: number
21
+ /**
22
+ * The page selected by default when the component is uncontrolled.
23
+ * @default 1
24
+ */
25
+ defaultPage?: number
26
+ /**
27
+ * If `true`, the component is disabled.
28
+ * @default false
29
+ */
30
+ disabled?: boolean
31
+ /**
32
+ * If `true`, hide the next-page button.
33
+ * @default false
34
+ */
35
+ hideNextButton?: boolean
36
+ /**
37
+ * If `true`, hide the previous-page button.
38
+ * @default false
39
+ */
40
+ hidePrevButton?: boolean
41
+ /**
42
+ * Callback fired when the page is changed.
43
+ *
44
+ * @param {React.ChangeEvent<unknown>} event The event source of the callback.
45
+ * @param {number} page The page selected.
46
+ */
47
+ onChange?: (event: React.ChangeEvent<unknown>, page: number) => void
48
+ /**
49
+ * The current page.
50
+ */
51
+ page: number
52
+ /**
53
+ * If `true`, show the first-page button.
54
+ * @default false
55
+ */
56
+ showFirstButton?: boolean
57
+ /**
58
+ * If `true`, show the last-page button.
59
+ * @default false
60
+ */
61
+ showLastButton?: boolean
62
+ /**
63
+ * Number of always visible pages before and after the current page.
64
+ * @default 1
65
+ */
66
+ siblingCount?: number
67
+ }
68
+
69
+ export interface UsePaginationItem {
70
+ onClick: React.ReactEventHandler
71
+ type: 'page' | 'first' | 'last' | 'next' | 'previous' | 'start-ellipsis' | 'end-ellipsis'
72
+ page: number
73
+ selected: boolean
74
+ disabled: boolean
75
+ 'aria-current'?: string | undefined
76
+ }
77
+
78
+ export interface UsePaginationResult {
79
+ items: UsePaginationItem[]
80
+ }