@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,98 @@
1
+ 'use client'
2
+
3
+ import type { ReactNode } from 'react'
4
+ import { useEffect } from 'react'
5
+
6
+ import { Drawer as BaseDrawer } from '@base-ui/react/drawer'
7
+ import cx from 'classnames'
8
+
9
+ import styles from './drawer.module.css'
10
+ import { DrawerContainer } from './drawer-container'
11
+ import { DrawerContent } from './drawer-content'
12
+ import { useDrawer } from './drawer-context'
13
+ import { DrawerHeader } from './drawer-header'
14
+ import { DrawerTopActions } from './drawer-top-actions'
15
+
16
+ type Styles = {
17
+ [key: string]: string
18
+ }
19
+
20
+ const typedStyles: Styles = styles
21
+
22
+ export interface DrawerProps {
23
+ id: string
24
+ isOpen: boolean
25
+ closeOnOverlayClick?: boolean
26
+ onDismiss: () => void
27
+ children: ReactNode
28
+ width?: 'narrow' | 'medium' | 'wide'
29
+ topOffset?: string
30
+ className?: string
31
+ }
32
+
33
+ const Drawer = ({
34
+ id,
35
+ isOpen,
36
+ onDismiss,
37
+ closeOnOverlayClick,
38
+ children,
39
+ width = 'narrow',
40
+ topOffset = '0',
41
+ className,
42
+ }: DrawerProps) => {
43
+ const { addDrawer, removeDrawer, drawers } = useDrawer()
44
+ const depth = drawers.indexOf(id)
45
+
46
+ useEffect(() => {
47
+ if (isOpen) {
48
+ addDrawer(id)
49
+ } else {
50
+ removeDrawer(id)
51
+ }
52
+ return () => removeDrawer(id)
53
+ }, [isOpen, id, addDrawer, removeDrawer])
54
+
55
+ const hasTopOffset = topOffset !== '0'
56
+
57
+ return (
58
+ <BaseDrawer.Root
59
+ open={isOpen}
60
+ onOpenChange={(open) => {
61
+ if (!open) {
62
+ onDismiss()
63
+ }
64
+ }}
65
+ modal={hasTopOffset ? 'trap-focus' : true}
66
+ swipeDirection="right"
67
+ disablePointerDismissal={closeOnOverlayClick !== true}
68
+ >
69
+ <BaseDrawer.Portal>
70
+ <BaseDrawer.Backdrop
71
+ className={cx('infonomic-drawer-backdrop', styles.backdrop)}
72
+ style={hasTopOffset ? { top: topOffset } : undefined}
73
+ />
74
+ <BaseDrawer.Popup
75
+ className={cx(
76
+ 'infonomic-drawer-wrapper',
77
+ styles['drawer-wrapper'],
78
+ typedStyles[`drawer-${width}`],
79
+ typedStyles[`drawer-depth-${depth.toString()}`],
80
+ className
81
+ )}
82
+ style={hasTopOffset ? { top: topOffset } : undefined}
83
+ >
84
+ {children}
85
+ </BaseDrawer.Popup>
86
+ </BaseDrawer.Portal>
87
+ </BaseDrawer.Root>
88
+ )
89
+ }
90
+
91
+ Drawer.displayName = 'Drawer'
92
+
93
+ Drawer.Container = DrawerContainer
94
+ Drawer.Content = DrawerContent
95
+ Drawer.Header = DrawerHeader
96
+ Drawer.TopActions = DrawerTopActions
97
+
98
+ export { Drawer }
@@ -0,0 +1,5 @@
1
+ 'use client'
2
+
3
+ import { domAnimation } from 'motion/react'
4
+
5
+ export default domAnimation
@@ -0,0 +1,5 @@
1
+ 'use client'
2
+
3
+ import { domMax } from 'motion/react'
4
+
5
+ export default domMax
@@ -0,0 +1,31 @@
1
+ 'use client'
2
+
3
+ import type * as React from 'react'
4
+
5
+ import cx from 'classnames'
6
+
7
+ import styles from './modal.module.css'
8
+
9
+ type ModalActionsIntrinsicProps = React.JSX.IntrinsicElements['div']
10
+ export interface ModalActionsProps extends ModalActionsIntrinsicProps {
11
+ className?: string
12
+ }
13
+
14
+ export const ModalActions = function ModalActions({
15
+ ref,
16
+ children,
17
+ className,
18
+ ...rest
19
+ }: ModalActionsProps & {
20
+ ref?: React.RefObject<HTMLDivElement>
21
+ }) {
22
+ return (
23
+ <div
24
+ ref={ref}
25
+ {...rest}
26
+ className={cx('infonomic-modal-actions', styles['modal-actions'], className)}
27
+ >
28
+ {children}
29
+ </div>
30
+ )
31
+ }
@@ -0,0 +1,31 @@
1
+ 'use client'
2
+
3
+ import type * as React from 'react'
4
+
5
+ import cx from 'classnames'
6
+
7
+ import styles from './modal.module.css'
8
+
9
+ type ModalContainerIntrinsicProps = React.JSX.IntrinsicElements['div']
10
+ export interface ModalContainerProps extends ModalContainerIntrinsicProps {
11
+ className?: string
12
+ }
13
+
14
+ export const ModalContainer = function ModalContainer({
15
+ ref,
16
+ children,
17
+ className,
18
+ ...rest
19
+ }: ModalContainerProps & {
20
+ ref?: React.RefObject<HTMLDivElement>
21
+ }) {
22
+ return (
23
+ <div
24
+ ref={ref}
25
+ className={cx('infonomic-modal-container', styles['modal-container'], className)}
26
+ {...rest}
27
+ >
28
+ {children}
29
+ </div>
30
+ )
31
+ }
@@ -0,0 +1,31 @@
1
+ 'use client'
2
+
3
+ import type * as React from 'react'
4
+
5
+ import cx from 'classnames'
6
+
7
+ import styles from './modal.module.css'
8
+
9
+ type ModalContentIntrinsicProps = React.JSX.IntrinsicElements['div']
10
+ export interface ModalContentProps extends ModalContentIntrinsicProps {
11
+ className?: string
12
+ }
13
+
14
+ export const ModalContent = function ModalContent({
15
+ ref,
16
+ children,
17
+ className,
18
+ ...rest
19
+ }: ModalContentProps & {
20
+ ref?: React.RefObject<HTMLDivElement>
21
+ }) {
22
+ return (
23
+ <div
24
+ ref={ref}
25
+ {...rest}
26
+ className={cx('infonomic-modal-content', styles['modal-content'], className)}
27
+ >
28
+ {children}
29
+ </div>
30
+ )
31
+ }
@@ -0,0 +1,28 @@
1
+ 'use client'
2
+
3
+ import type * as React from 'react'
4
+
5
+ import cx from 'classnames'
6
+
7
+ import styles from './modal.module.css'
8
+
9
+ type ModalHeaderIntrinsicProps = React.JSX.IntrinsicElements['div']
10
+ export interface ModalHeaderProps extends ModalHeaderIntrinsicProps {
11
+ className?: string
12
+ }
13
+
14
+ export const ModalHeader = function ModalHeader({
15
+ ref,
16
+ children,
17
+ className,
18
+ ...rest
19
+ }: ModalHeaderProps & {
20
+ ref?: React.RefObject<HTMLDivElement>
21
+ }) {
22
+ const classes = cx('infonomic-modal-header', styles['modal-header'], 'prose', className)
23
+ return (
24
+ <div style={{ overflowWrap: 'anywhere' }} ref={ref} {...rest} className={classes}>
25
+ {children}
26
+ </div>
27
+ )
28
+ }
@@ -0,0 +1,127 @@
1
+ @layer byline-base, byline-utilities, byline-theme, byline-components;
2
+
3
+ @layer byline-components {
4
+ /* Backdrop overlay */
5
+
6
+ .backdrop,
7
+ :global(.infonomic-modal-backdrop) {
8
+ position: fixed;
9
+ top: 0;
10
+ left: 0;
11
+ right: 0;
12
+ bottom: 0;
13
+ background-color: rgba(245, 245, 245, 0.35);
14
+ transition: opacity 200ms ease;
15
+ }
16
+
17
+ .backdrop[data-starting-style],
18
+ .backdrop[data-ending-style] {
19
+ opacity: 0;
20
+ }
21
+
22
+ :global(.dark) .backdrop,
23
+ :global([data-theme="dark"]) .backdrop,
24
+ :global(.dark .infonomic-modal-backdrop),
25
+ :global([data-theme="dark"] .infonomic-modal-backdrop) {
26
+ background-color: rgba(0, 0, 0, 0.5);
27
+ }
28
+
29
+ /* Modal wrapper / popup — the dialog surface */
30
+
31
+ .modal-wrapper,
32
+ :global(.infonomic-modal-wrapper) {
33
+ position: fixed;
34
+ display: flex;
35
+ flex-direction: column;
36
+ justify-content: flex-end;
37
+ align-items: center;
38
+ top: 0;
39
+ left: 0;
40
+ right: 0;
41
+ bottom: 0;
42
+ transition: opacity 200ms ease;
43
+ }
44
+
45
+ .modal-wrapper[data-starting-style],
46
+ .modal-wrapper[data-ending-style] {
47
+ opacity: 0;
48
+ }
49
+
50
+ @media screen and (min-width: 40rem) {
51
+ .modal-wrapper,
52
+ :global(.infonomic-modal-wrapper) {
53
+ justify-content: center;
54
+ }
55
+ }
56
+
57
+ /* Container — the visible dialog box */
58
+
59
+ .modal-container,
60
+ :global(.infonomic-modal-container) {
61
+ display: flex;
62
+ flex-direction: column;
63
+ box-shadow: var(--shadow-md);
64
+ border-radius: var(--border-radius-md);
65
+ min-height: 300px;
66
+ max-height: 88vh;
67
+ width: 100%;
68
+ background-color: var(--surface-panel);
69
+ border: 1px solid var(--border-color);
70
+ margin-left: var(--spacing-8);
71
+ margin-right: var(--spacing-8);
72
+ }
73
+
74
+ @media screen and (min-width: 40rem) {
75
+ .modal-container,
76
+ :global(.infonomic-modal-container) {
77
+ max-height: calc(100vh - 24px);
78
+ min-height: auto;
79
+ width: auto;
80
+ }
81
+ }
82
+
83
+ /* Sub-component styles */
84
+
85
+ .modal-header,
86
+ :global(.infonomic-modal-header) {
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: space-between;
90
+ gap: var(--gap-3);
91
+ padding-left: var(--spacing-16);
92
+ padding-right: var(--spacing-16);
93
+ padding-top: var(--spacing-16);
94
+ max-width: 100%;
95
+ }
96
+
97
+ .modal-header h2,
98
+ .modal-header h3,
99
+ :global(.infonomic-modal-header h2),
100
+ :global(.infonomic-modal-header h3) {
101
+ margin: 0;
102
+ }
103
+
104
+ .modal-content,
105
+ :global(.infonomic-modal-content) {
106
+ display: flex;
107
+ flex: 1;
108
+ flex-direction: column;
109
+ gap: var(--gap-3);
110
+ padding-left: var(--spacing-16);
111
+ padding-right: var(--spacing-16);
112
+ padding-bottom: var(--spacing-12);
113
+ max-width: 100%;
114
+ }
115
+
116
+ .modal-actions,
117
+ :global(.infonomic-modal-actions) {
118
+ display: flex;
119
+ align-items: center;
120
+ justify-content: flex-end;
121
+ gap: var(--gap-3);
122
+ padding-top: var(--spacing-8);
123
+ padding-bottom: var(--spacing-20);
124
+ padding-left: var(--spacing-16);
125
+ padding-right: var(--spacing-16);
126
+ }
127
+ }
@@ -0,0 +1,88 @@
1
+ 'use client'
2
+
3
+ import type React from 'react'
4
+ import { createContext, useCallback, useState } from 'react'
5
+
6
+ import { Dialog } from '@base-ui/react/dialog'
7
+ import cx from 'classnames'
8
+
9
+ import styles from './modal.module.css'
10
+ import { ModalActions } from './modal-actions'
11
+ import { ModalContainer } from './modal-container'
12
+ import { ModalContent } from './modal-content'
13
+ import { ModalHeader } from './modal-header'
14
+
15
+ export interface ModalProps {
16
+ isOpen?: boolean
17
+ onDismiss?: () => void
18
+ closeOnOverlayClick?: boolean
19
+ children?: React.ReactNode
20
+ }
21
+
22
+ export const ModalContext = createContext<{
23
+ onDismiss?: () => void
24
+ }>({})
25
+
26
+ export type UseModalProps = ReturnType<typeof useModal>
27
+
28
+ export function useModal(): {
29
+ onDismiss: () => void
30
+ onOpen: () => void
31
+ isOpen: boolean
32
+ setIsOpen: React.Dispatch<React.SetStateAction<boolean>>
33
+ } {
34
+ const [isOpen, setIsOpen] = useState(false)
35
+
36
+ const onDismiss = useCallback(() => {
37
+ setIsOpen(false)
38
+ }, [])
39
+
40
+ const onOpen = useCallback(() => {
41
+ setIsOpen(true)
42
+ }, [])
43
+
44
+ return {
45
+ onDismiss,
46
+ onOpen,
47
+ isOpen,
48
+ setIsOpen,
49
+ }
50
+ }
51
+
52
+ function Modal({
53
+ isOpen,
54
+ onDismiss,
55
+ closeOnOverlayClick,
56
+ children,
57
+ }: ModalProps): React.JSX.Element {
58
+ return (
59
+ <ModalContext.Provider value={{ onDismiss }}>
60
+ <Dialog.Root
61
+ open={isOpen}
62
+ onOpenChange={(open) => {
63
+ if (!open) {
64
+ onDismiss?.()
65
+ }
66
+ }}
67
+ modal
68
+ disablePointerDismissal={closeOnOverlayClick !== true}
69
+ >
70
+ <Dialog.Portal>
71
+ <Dialog.Backdrop className={cx('infonomic-modal-backdrop', styles.backdrop)} />
72
+ <Dialog.Popup className={cx('infonomic-modal-wrapper', styles['modal-wrapper'])}>
73
+ {children}
74
+ </Dialog.Popup>
75
+ </Dialog.Portal>
76
+ </Dialog.Root>
77
+ </ModalContext.Provider>
78
+ )
79
+ }
80
+
81
+ Modal.displayName = 'Modal'
82
+
83
+ Modal.Container = ModalContainer
84
+ Modal.Header = ModalHeader
85
+ Modal.Content = ModalContent
86
+ Modal.Actions = ModalActions
87
+
88
+ export { Modal }
@@ -0,0 +1,5 @@
1
+ 'use client'
2
+
3
+ import { domAnimation } from 'motion/react'
4
+
5
+ export default domAnimation
@@ -0,0 +1,5 @@
1
+ 'use client'
2
+
3
+ import { domMax } from 'motion/react'
4
+
5
+ export default domMax
@@ -0,0 +1 @@
1
+ export * from './search.js'
@@ -0,0 +1,187 @@
1
+ 'use client'
2
+
3
+ import type React from 'react'
4
+ import { useEffect, useRef, useState } from 'react'
5
+
6
+ import { IconButton } from '../../components/button/index.js'
7
+ import { Input } from '../../components/inputs/input.jsx'
8
+ import { InputAdornment } from '../../components/inputs/input-adornment.jsx'
9
+ import { CloseIcon, SearchIcon } from '../../icons'
10
+ import type { ClassName, Intent, Size, Variant } from '../../components/inputs/@types/input.js'
11
+
12
+ export interface SearchProps extends React.InputHTMLAttributes<HTMLInputElement> {
13
+ variant?: Variant
14
+ inputSize?: Size
15
+ inputClassName?: ClassName
16
+ intent?: Intent
17
+ className?: ClassName
18
+ ariaLabelForSearch?: string
19
+ ariaLabelForClear?: string
20
+ onClear?: () => void
21
+ onEnter?: (value: string) => void
22
+ onSearch?: (value: string) => void
23
+ validatorFn?: (value: string) => {
24
+ valid: boolean
25
+ value: any
26
+ }
27
+ placeHolderText?: string
28
+ }
29
+
30
+ function fallbackSearchHandler(value: string): void {
31
+ // Implement a fallback querystring search handler
32
+ // but.... this will cause a page reload so not ideal
33
+ // for React and therefore should rarely be called.
34
+ const url = new URL(window.location.href)
35
+ const params = new URLSearchParams(url.search)
36
+ if (value.length > 0) {
37
+ params.set('query', value)
38
+ } else {
39
+ params.delete('query')
40
+ }
41
+ window.location.search = params.toString()
42
+ }
43
+
44
+ export function Search({
45
+ variant,
46
+ inputSize,
47
+ inputClassName,
48
+ intent,
49
+ className,
50
+ onClear,
51
+ onEnter,
52
+ onSearch,
53
+ validatorFn,
54
+ placeHolderText = 'Search',
55
+ ariaLabelForSearch = 'search',
56
+ ariaLabelForClear = 'clear',
57
+ ...rest
58
+ }: SearchProps): React.JSX.Element {
59
+ const [search, setSearch] = useState<null | string>(null)
60
+ const inputRef = useRef<HTMLInputElement>(null)
61
+
62
+ const handleClear = (): void => {
63
+ setSearch(null)
64
+ if (onClear != null) {
65
+ onClear()
66
+ } else {
67
+ fallbackSearchHandler('')
68
+ }
69
+ if (inputRef?.current != null) {
70
+ inputRef.current.value = ''
71
+ }
72
+ }
73
+
74
+ const handleKeyDown = (event: { key: string }): void => {
75
+ if (event.key === 'Enter') {
76
+ if (search != null && search.length > 0) {
77
+ if (validatorFn != null) {
78
+ const result = validatorFn(search)
79
+ if (result.valid) {
80
+ if (onSearch != null) {
81
+ onSearch(search)
82
+ } else {
83
+ fallbackSearchHandler(search)
84
+ }
85
+ }
86
+ } else {
87
+ if (onSearch != null) {
88
+ onSearch(search)
89
+ } else {
90
+ fallbackSearchHandler(search)
91
+ }
92
+ }
93
+ }
94
+ }
95
+ }
96
+
97
+ const handleSearch = (): void => {
98
+ if (search != null && search.length > 0) {
99
+ if (validatorFn != null) {
100
+ const result = validatorFn(search)
101
+ if (result.valid) {
102
+ if (onSearch != null) {
103
+ onSearch(search)
104
+ } else {
105
+ fallbackSearchHandler(search)
106
+ }
107
+ }
108
+ } else {
109
+ if (onSearch != null) {
110
+ onSearch(search)
111
+ } else {
112
+ fallbackSearchHandler(search)
113
+ }
114
+ }
115
+ }
116
+ }
117
+
118
+ const handleChange = (event: React.ChangeEvent<HTMLInputElement>): void => {
119
+ setSearch(event.target.value)
120
+ }
121
+
122
+ useEffect(() => {
123
+ const searchParams = new URLSearchParams(window.location.search)
124
+ const currentSearch = searchParams.get('query')
125
+ if (currentSearch != null && search == null) {
126
+ setSearch(currentSearch)
127
+ }
128
+ })
129
+
130
+ return (
131
+ <div className={className}>
132
+ <Input
133
+ variant={variant}
134
+ intent={intent}
135
+ inputSize={inputSize}
136
+ ref={inputRef}
137
+ className={inputClassName}
138
+ onKeyDown={handleKeyDown}
139
+ onChange={handleChange}
140
+ onClick={(e) => {
141
+ e.preventDefault()
142
+ e.stopPropagation()
143
+ }}
144
+ id="search"
145
+ defaultValue={search ?? ''}
146
+ name="search"
147
+ placeHolder={placeHolderText}
148
+ disabled={false}
149
+ error={false}
150
+ startAdornment={
151
+ <InputAdornment position="start">
152
+ <IconButton
153
+ role="button"
154
+ intent="noeffect"
155
+ variant="text"
156
+ ripple={false}
157
+ arial-label={ariaLabelForSearch}
158
+ size="xs"
159
+ onClick={() => {
160
+ handleSearch()
161
+ }}
162
+ >
163
+ <SearchIcon width="20px" height="20px" />
164
+ </IconButton>
165
+ </InputAdornment>
166
+ }
167
+ endAdornment={
168
+ <InputAdornment position="end">
169
+ <IconButton
170
+ role="button"
171
+ intent="noeffect"
172
+ variant="text"
173
+ arial-label={ariaLabelForClear}
174
+ size="xs"
175
+ onClick={() => {
176
+ handleClear()
177
+ }}
178
+ >
179
+ <CloseIcon width="16px" height="16px" />
180
+ </IconButton>
181
+ </InputAdornment>
182
+ }
183
+ {...rest}
184
+ />
185
+ </div>
186
+ )
187
+ }