@koine/react 1.0.9 → 1.0.10

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 (589) hide show
  1. package/package.json +22 -9
  2. package/Alert/Alert.d.ts +0 -5
  3. package/Alert/Alert.js +0 -16
  4. package/Alert/index.d.ts +0 -1
  5. package/Alert/index.js +0 -1
  6. package/Alert/package.json +0 -6
  7. package/Animations/Reveal.d.ts +0 -4
  8. package/Animations/Reveal.js +0 -15
  9. package/Animations/Underline.d.ts +0 -1
  10. package/Animations/Underline.js +0 -15
  11. package/Animations/index.d.ts +0 -3
  12. package/Animations/index.js +0 -3
  13. package/Animations/package.json +0 -6
  14. package/Animations/useReveal.d.ts +0 -33
  15. package/Animations/useReveal.js +0 -70
  16. package/Autocomplete/AutocompleteDownshift.d.ts +0 -1
  17. package/Autocomplete/AutocompleteDownshift.js +0 -158
  18. package/Autocomplete/AutocompleteDownshiftMultiselect.d.ts +0 -1
  19. package/Autocomplete/AutocompleteDownshiftMultiselect.js +0 -353
  20. package/Autocomplete/AutocompleteMui.d.ts +0 -47
  21. package/Autocomplete/AutocompleteMui.js +0 -177
  22. package/Autocomplete/AutocompleteReach.d.ts +0 -1
  23. package/Autocomplete/AutocompleteReach.js +0 -112
  24. package/Autocomplete/components.d.ts +0 -21
  25. package/Autocomplete/components.js +0 -89
  26. package/Autocomplete/helpers.d.ts +0 -3
  27. package/Autocomplete/helpers.js +0 -28
  28. package/Autocomplete/index.d.ts +0 -2
  29. package/Autocomplete/index.js +0 -3
  30. package/Autocomplete/package.json +0 -6
  31. package/Bg/BgColor.d.ts +0 -36
  32. package/Bg/BgColor.js +0 -31
  33. package/Bg/BgPhoto.d.ts +0 -13
  34. package/Bg/BgPhoto.js +0 -59
  35. package/Bg/BgSvg.d.ts +0 -7
  36. package/Bg/BgSvg.js +0 -15
  37. package/Bg/index.d.ts +0 -3
  38. package/Bg/index.js +0 -3
  39. package/Bg/package.json +0 -6
  40. package/Breadcrumbs/Breadcrumbs.d.ts +0 -13
  41. package/Breadcrumbs/Breadcrumbs.js +0 -67
  42. package/Breadcrumbs/index.d.ts +0 -1
  43. package/Breadcrumbs/index.js +0 -1
  44. package/Breadcrumbs/package.json +0 -6
  45. package/Buttons/Button.d.ts +0 -18
  46. package/Buttons/Button.js +0 -79
  47. package/Buttons/ButtonComposite.d.ts +0 -23
  48. package/Buttons/ButtonComposite.js +0 -49
  49. package/Buttons/ButtonFab.d.ts +0 -7
  50. package/Buttons/ButtonFab.js +0 -8
  51. package/Buttons/ButtonLink.d.ts +0 -8
  52. package/Buttons/ButtonLink.js +0 -10
  53. package/Buttons/IconButton.d.ts +0 -11
  54. package/Buttons/IconButton.js +0 -19
  55. package/Buttons/index.d.ts +0 -5
  56. package/Buttons/index.js +0 -5
  57. package/Buttons/package.json +0 -6
  58. package/Calendar/CalendarDaygridCell.d.ts +0 -36
  59. package/Calendar/CalendarDaygridCell.js +0 -51
  60. package/Calendar/CalendarDaygridNav.d.ts +0 -27
  61. package/Calendar/CalendarDaygridNav.js +0 -22
  62. package/Calendar/CalendarDaygridTable.d.ts +0 -25
  63. package/Calendar/CalendarDaygridTable.js +0 -55
  64. package/Calendar/CalendarLegend.d.ts +0 -19
  65. package/Calendar/CalendarLegend.js +0 -11
  66. package/Calendar/calendar-api-google.d.ts +0 -18
  67. package/Calendar/calendar-api-google.js +0 -94
  68. package/Calendar/index.d.ts +0 -6
  69. package/Calendar/index.js +0 -6
  70. package/Calendar/package.json +0 -6
  71. package/Calendar/types.d.ts +0 -81
  72. package/Calendar/types.js +0 -1
  73. package/Calendar/useCalendar.d.ts +0 -49
  74. package/Calendar/useCalendar.js +0 -182
  75. package/Calendar/utils.d.ts +0 -11
  76. package/Calendar/utils.js +0 -203
  77. package/Carousel/Carousel.d.ts +0 -1
  78. package/Carousel/Carousel.js +0 -378
  79. package/Carousel/CarouselCss.d.ts +0 -47
  80. package/Carousel/CarouselCss.js +0 -36
  81. package/Carousel/index.d.ts +0 -1
  82. package/Carousel/index.js +0 -1
  83. package/Carousel/package.json +0 -6
  84. package/Collapsable/Collapsable.d.ts +0 -1
  85. package/Collapsable/Collapsable.js +0 -1
  86. package/Collapsable/CollapsableReach.d.ts +0 -66
  87. package/Collapsable/CollapsableReach.js +0 -135
  88. package/Collapsable/index.d.ts +0 -1
  89. package/Collapsable/index.js +0 -1
  90. package/Collapsable/package.json +0 -6
  91. package/Debug/Debug.d.ts +0 -4
  92. package/Debug/Debug.js +0 -21
  93. package/Debug/index.d.ts +0 -1
  94. package/Debug/index.js +0 -1
  95. package/Debug/package.json +0 -6
  96. package/Dialog/DialogMui.d.ts +0 -139
  97. package/Dialog/DialogMui.js +0 -78
  98. package/Dialog/css/bare.d.ts +0 -145
  99. package/Dialog/css/bare.js +0 -19
  100. package/Dialog/index.d.ts +0 -2
  101. package/Dialog/index.js +0 -1
  102. package/Dialog/m/bare.d.ts +0 -56
  103. package/Dialog/m/bare.js +0 -48
  104. package/Dialog/m/basic.d.ts +0 -4
  105. package/Dialog/m/basic.js +0 -31
  106. package/Dialog/m/index.d.ts +0 -2
  107. package/Dialog/m/index.js +0 -4
  108. package/Dialog/m/package.json +0 -6
  109. package/Dialog/package.json +0 -6
  110. package/Dialog/sc/bare.d.ts +0 -105
  111. package/Dialog/sc/bare.js +0 -61
  112. package/Dialog/sc/framer.d.ts +0 -80
  113. package/Dialog/sc/framer.js +0 -16
  114. package/Dialog/sc/framerMaterial.d.ts +0 -79
  115. package/Dialog/sc/framerMaterial.js +0 -16
  116. package/Dialog/sc/material.d.ts +0 -94
  117. package/Dialog/sc/material.js +0 -41
  118. package/Dialog/tw/bare.d.ts +0 -196
  119. package/Dialog/tw/bare.js +0 -36
  120. package/Dialog/tw/elegant.d.ts +0 -244
  121. package/Dialog/tw/elegant.js +0 -18
  122. package/Dialog/tw/framer.d.ts +0 -112
  123. package/Dialog/tw/framer.js +0 -16
  124. package/Dialog/tw/framerMaterial.d.ts +0 -167
  125. package/Dialog/tw/framerMaterial.js +0 -16
  126. package/Dialog/tw/material.d.ts +0 -244
  127. package/Dialog/tw/material.js +0 -18
  128. package/Editor/Editor--tiptap.d.ts +0 -9
  129. package/Editor/Editor--tiptap.js +0 -23
  130. package/Editor/components.d.ts +0 -7
  131. package/Editor/components.js +0 -28
  132. package/Editor/index.d.ts +0 -1
  133. package/Editor/index.js +0 -1
  134. package/Editor/package.json +0 -6
  135. package/Favicon/FaviconTags.d.ts +0 -18
  136. package/Favicon/FaviconTags.js +0 -14
  137. package/Favicon/index.d.ts +0 -1
  138. package/Favicon/index.js +0 -1
  139. package/Favicon/package.json +0 -6
  140. package/Forms/Checkbox/Checkbox.d.ts +0 -11
  141. package/Forms/Checkbox/Checkbox.js +0 -24
  142. package/Forms/Checkbox/index.d.ts +0 -1
  143. package/Forms/Checkbox/index.js +0 -1
  144. package/Forms/Checkbox/package.json +0 -6
  145. package/Forms/Feedback/Feedback.d.ts +0 -5
  146. package/Forms/Feedback/Feedback.js +0 -10
  147. package/Forms/Feedback/index.d.ts +0 -1
  148. package/Forms/Feedback/index.js +0 -1
  149. package/Forms/Feedback/package.json +0 -6
  150. package/Forms/Field/Field.d.ts +0 -15
  151. package/Forms/Field/Field.js +0 -59
  152. package/Forms/Field/FieldControl.d.ts +0 -26
  153. package/Forms/Field/FieldControl.js +0 -43
  154. package/Forms/Field/FieldHint.d.ts +0 -1
  155. package/Forms/Field/FieldHint.js +0 -6
  156. package/Forms/Field/index.d.ts +0 -2
  157. package/Forms/Field/index.js +0 -2
  158. package/Forms/Field/package.json +0 -6
  159. package/Forms/Form/Form.d.ts +0 -31
  160. package/Forms/Form/Form.js +0 -62
  161. package/Forms/Form/index.d.ts +0 -1
  162. package/Forms/Form/index.js +0 -1
  163. package/Forms/Form/package.json +0 -6
  164. package/Forms/Input/Input.d.ts +0 -9
  165. package/Forms/Input/Input.js +0 -23
  166. package/Forms/Input/index.d.ts +0 -1
  167. package/Forms/Input/index.js +0 -1
  168. package/Forms/Input/package.json +0 -6
  169. package/Forms/InputGroup/InputGroup.d.ts +0 -13
  170. package/Forms/InputGroup/InputGroup.js +0 -42
  171. package/Forms/InputGroup/index.d.ts +0 -1
  172. package/Forms/InputGroup/index.js +0 -1
  173. package/Forms/InputGroup/package.json +0 -6
  174. package/Forms/Label/Label.d.ts +0 -3
  175. package/Forms/Label/Label.js +0 -24
  176. package/Forms/Label/index.d.ts +0 -1
  177. package/Forms/Label/index.js +0 -1
  178. package/Forms/Label/package.json +0 -6
  179. package/Forms/Password/Password.d.ts +0 -5
  180. package/Forms/Password/Password.js +0 -30
  181. package/Forms/Password/index.d.ts +0 -1
  182. package/Forms/Password/index.js +0 -1
  183. package/Forms/Password/package.json +0 -6
  184. package/Forms/Radio/Radio.d.ts +0 -12
  185. package/Forms/Radio/Radio.js +0 -28
  186. package/Forms/Radio/index.d.ts +0 -1
  187. package/Forms/Radio/index.js +0 -1
  188. package/Forms/Radio/package.json +0 -6
  189. package/Forms/Switch/Switch.d.ts +0 -9
  190. package/Forms/Switch/Switch.js +0 -50
  191. package/Forms/Switch/index.d.ts +0 -1
  192. package/Forms/Switch/index.js +0 -1
  193. package/Forms/Switch/package.json +0 -6
  194. package/Forms/Textarea/Textarea.d.ts +0 -5
  195. package/Forms/Textarea/Textarea.js +0 -13
  196. package/Forms/Textarea/TextareaRich.d.ts +0 -6
  197. package/Forms/Textarea/TextareaRich.js +0 -42
  198. package/Forms/Textarea/index.d.ts +0 -2
  199. package/Forms/Textarea/index.js +0 -2
  200. package/Forms/Textarea/package.json +0 -6
  201. package/Forms/Toggle/Toggle.d.ts +0 -19
  202. package/Forms/Toggle/Toggle.js +0 -79
  203. package/Forms/Toggle/index.d.ts +0 -1
  204. package/Forms/Toggle/index.js +0 -1
  205. package/Forms/Toggle/package.json +0 -6
  206. package/Forms/Toggle/useToggle.d.ts +0 -46
  207. package/Forms/Toggle/useToggle.js +0 -145
  208. package/Forms/antispam.d.ts +0 -24
  209. package/Forms/antispam.js +0 -56
  210. package/Forms/helpers.d.ts +0 -26
  211. package/Forms/helpers.js +0 -44
  212. package/Forms/index.d.ts +0 -16
  213. package/Forms/index.js +0 -17
  214. package/Forms/package.json +0 -6
  215. package/Forms/styles.d.ts +0 -19
  216. package/Forms/styles.js +0 -60
  217. package/Gauge/Gauge.d.ts +0 -5
  218. package/Gauge/Gauge.js +0 -102
  219. package/Grid/Grid.d.ts +0 -64
  220. package/Grid/Grid.js +0 -79
  221. package/Grid/index.d.ts +0 -1
  222. package/Grid/index.js +0 -1
  223. package/Grid/package.json +0 -6
  224. package/Hamburger/Hamburger.d.ts +0 -6
  225. package/Hamburger/Hamburger.js +0 -64
  226. package/Hamburger/index.d.ts +0 -1
  227. package/Hamburger/index.js +0 -1
  228. package/Hamburger/package.json +0 -6
  229. package/Header/index.d.ts +0 -1
  230. package/Header/index.js +0 -1
  231. package/Header/package.json +0 -6
  232. package/Header/useHeader.d.ts +0 -24
  233. package/Header/useHeader.js +0 -30
  234. package/Hidden/Hidden.d.ts +0 -6
  235. package/Hidden/Hidden.js +0 -14
  236. package/Hidden/index.d.ts +0 -1
  237. package/Hidden/index.js +0 -1
  238. package/Hidden/package.json +0 -6
  239. package/Img/index.d.ts +0 -1
  240. package/Img/index.js +0 -1
  241. package/Img/package.json +0 -6
  242. package/Img/sc/bare.d.ts +0 -2
  243. package/Img/sc/bare.js +0 -37
  244. package/Img/types.d.ts +0 -9
  245. package/Img/types.js +0 -1
  246. package/Link/Link.d.ts +0 -5
  247. package/Link/Link.js +0 -2
  248. package/Link/LinkBlank.d.ts +0 -8
  249. package/Link/LinkBlank.js +0 -26
  250. package/Link/index.d.ts +0 -2
  251. package/Link/index.js +0 -2
  252. package/Link/package.json +0 -6
  253. package/Menu/Menu.d.ts +0 -1
  254. package/Menu/Menu.js +0 -11
  255. package/Menu/index.d.ts +0 -1
  256. package/Menu/index.js +0 -1
  257. package/Menu/package.json +0 -6
  258. package/MenuItem/MenuItem.d.ts +0 -4
  259. package/MenuItem/MenuItem.js +0 -20
  260. package/MenuItem/index.d.ts +0 -1
  261. package/MenuItem/index.js +0 -1
  262. package/MenuItem/package.json +0 -6
  263. package/Meta/Meta.d.ts +0 -14
  264. package/Meta/Meta.js +0 -4
  265. package/Meta/index.d.ts +0 -1
  266. package/Meta/index.js +0 -1
  267. package/Meta/package.json +0 -6
  268. package/NoJs/NoJs.d.ts +0 -2
  269. package/NoJs/NoJs.js +0 -6
  270. package/NoJs/index.d.ts +0 -1
  271. package/NoJs/index.js +0 -1
  272. package/NoJs/package.json +0 -6
  273. package/Pagination/PaginationNav.d.ts +0 -22
  274. package/Pagination/PaginationNav.js +0 -83
  275. package/Pagination/PaginationResults.d.ts +0 -3
  276. package/Pagination/PaginationResults.js +0 -10
  277. package/Pagination/index.d.ts +0 -2
  278. package/Pagination/index.js +0 -2
  279. package/Pagination/package.json +0 -6
  280. package/Pill/Pill.d.ts +0 -5
  281. package/Pill/Pill.js +0 -37
  282. package/Pill/index.d.ts +0 -1
  283. package/Pill/index.js +0 -1
  284. package/Pill/package.json +0 -6
  285. package/Progress/ProgressCircular.d.ts +0 -19
  286. package/Progress/ProgressCircular.js +0 -36
  287. package/Progress/ProgressLinear.d.ts +0 -22
  288. package/Progress/ProgressLinear.js +0 -32
  289. package/Progress/ProgressOverlay.d.ts +0 -4
  290. package/Progress/ProgressOverlay.js +0 -40
  291. package/Progress/index.d.ts +0 -3
  292. package/Progress/index.js +0 -3
  293. package/Progress/package.json +0 -6
  294. package/Rating/Rating.d.ts +0 -35
  295. package/Rating/Rating.js +0 -90
  296. package/Rating/index.d.ts +0 -11
  297. package/Rating/index.js +0 -45
  298. package/Rating/package.json +0 -6
  299. package/Select/SelectDownshift.d.ts +0 -5
  300. package/Select/SelectDownshift.js +0 -38
  301. package/Select/components.d.ts +0 -6
  302. package/Select/components.js +0 -18
  303. package/Select/index.d.ts +0 -2
  304. package/Select/index.js +0 -3
  305. package/Select/package.json +0 -6
  306. package/Sidebar/Sidebar.d.ts +0 -3
  307. package/Sidebar/Sidebar.js +0 -48
  308. package/Sidebar/index.d.ts +0 -1
  309. package/Sidebar/index.js +0 -1
  310. package/Sidebar/package.json +0 -6
  311. package/Spacing/Spacing.d.ts +0 -30
  312. package/Spacing/Spacing.js +0 -45
  313. package/Spacing/index.d.ts +0 -1
  314. package/Spacing/index.js +0 -1
  315. package/Spacing/package.json +0 -6
  316. package/Sticky/Sticky.d.ts +0 -2
  317. package/Sticky/Sticky.js +0 -219
  318. package/Sticky/StickyCss.d.ts +0 -5
  319. package/Sticky/StickyCss.js +0 -4
  320. package/Sticky/index.d.ts +0 -1
  321. package/Sticky/index.js +0 -1
  322. package/Sticky/package.json +0 -6
  323. package/Tabs/Tabs.d.ts +0 -27
  324. package/Tabs/Tabs.js +0 -62
  325. package/Tabs/index.d.ts +0 -1
  326. package/Tabs/index.js +0 -1
  327. package/Tabs/package.json +0 -6
  328. package/Typography/CopyPasteVisible.d.ts +0 -1
  329. package/Typography/CopyPasteVisible.js +0 -6
  330. package/Typography/Native.d.ts +0 -10
  331. package/Typography/Native.js +0 -47
  332. package/Typography/ReadMore.d.ts +0 -12
  333. package/Typography/ReadMore.js +0 -69
  334. package/Typography/TextLoop.d.ts +0 -16
  335. package/Typography/TextLoop.js +0 -49
  336. package/Typography/TypeStairs.d.ts +0 -6
  337. package/Typography/TypeStairs.js +0 -46
  338. package/Typography/index.d.ts +0 -5
  339. package/Typography/index.js +0 -5
  340. package/Typography/package.json +0 -6
  341. package/css/index.d.ts +0 -2
  342. package/css/index.js +0 -30
  343. package/css/package.json +0 -6
  344. package/helpers/classed.d.ts +0 -22
  345. package/helpers/classed.js +0 -64
  346. package/helpers/extend-component.d.ts +0 -28
  347. package/helpers/extend-component.js +0 -12
  348. package/helpers/index.d.ts +0 -3
  349. package/helpers/index.js +0 -2
  350. package/helpers/package.json +0 -6
  351. package/hooks/index.d.ts +0 -6
  352. package/hooks/index.js +0 -7
  353. package/hooks/package.json +0 -6
  354. package/hooks/useDateLocale.d.ts +0 -7
  355. package/hooks/useDateLocale.js +0 -29
  356. package/hooks/useFocus.d.ts +0 -4
  357. package/hooks/useFocus.js +0 -11
  358. package/hooks/usePrevious.d.ts +0 -1
  359. package/hooks/usePrevious.js +0 -8
  360. package/hooks/useScrollPosition.d.ts +0 -15
  361. package/hooks/useScrollPosition.js +0 -75
  362. package/hooks/useScrollTo.d.ts +0 -1
  363. package/hooks/useScrollTo.js +0 -19
  364. package/hooks/useTraceUpdate.d.ts +0 -4
  365. package/hooks/useTraceUpdate.js +0 -20
  366. package/hooks/useWindowSize.d.ts +0 -1
  367. package/hooks/useWindowSize.js +0 -13
  368. package/index.d.ts +0 -1
  369. package/index.js +0 -5
  370. package/m/MotionProvider.d.ts +0 -37
  371. package/m/MotionProvider.js +0 -37
  372. package/m/index.d.ts +0 -6
  373. package/m/index.js +0 -6
  374. package/m/lite.d.ts +0 -2
  375. package/m/lite.js +0 -2
  376. package/m/max.d.ts +0 -2
  377. package/m/max.js +0 -2
  378. package/m/package.json +0 -6
  379. package/node/Alert/Alert.js +0 -21
  380. package/node/Alert/index.js +0 -4
  381. package/node/Animations/Reveal.js +0 -19
  382. package/node/Animations/Underline.js +0 -19
  383. package/node/Animations/index.js +0 -6
  384. package/node/Animations/useReveal.js +0 -74
  385. package/node/Autocomplete/AutocompleteDownshift.js +0 -161
  386. package/node/Autocomplete/AutocompleteDownshiftMultiselect.js +0 -356
  387. package/node/Autocomplete/AutocompleteMui.js +0 -175
  388. package/node/Autocomplete/AutocompleteReach.js +0 -115
  389. package/node/Autocomplete/components.js +0 -93
  390. package/node/Autocomplete/helpers.js +0 -32
  391. package/node/Autocomplete/index.js +0 -7
  392. package/node/Bg/BgColor.js +0 -36
  393. package/node/Bg/BgPhoto.js +0 -64
  394. package/node/Bg/BgSvg.js +0 -20
  395. package/node/Bg/index.js +0 -6
  396. package/node/Breadcrumbs/Breadcrumbs.js +0 -72
  397. package/node/Breadcrumbs/index.js +0 -4
  398. package/node/Buttons/Button.js +0 -83
  399. package/node/Buttons/ButtonComposite.js +0 -54
  400. package/node/Buttons/ButtonFab.js +0 -12
  401. package/node/Buttons/ButtonLink.js +0 -15
  402. package/node/Buttons/IconButton.js +0 -23
  403. package/node/Buttons/index.js +0 -8
  404. package/node/Calendar/CalendarDaygridCell.js +0 -55
  405. package/node/Calendar/CalendarDaygridNav.js +0 -27
  406. package/node/Calendar/CalendarDaygridTable.js +0 -60
  407. package/node/Calendar/CalendarLegend.js +0 -15
  408. package/node/Calendar/calendar-api-google.js +0 -99
  409. package/node/Calendar/index.js +0 -9
  410. package/node/Calendar/types.js +0 -2
  411. package/node/Calendar/useCalendar.js +0 -186
  412. package/node/Calendar/utils.js +0 -217
  413. package/node/Carousel/Carousel.js +0 -381
  414. package/node/Carousel/CarouselCss.js +0 -41
  415. package/node/Carousel/index.js +0 -4
  416. package/node/Collapsable/Collapsable.js +0 -4
  417. package/node/Collapsable/CollapsableReach.js +0 -141
  418. package/node/Collapsable/index.js +0 -4
  419. package/node/Debug/Debug.js +0 -26
  420. package/node/Debug/index.js +0 -4
  421. package/node/Dialog/DialogMui.js +0 -82
  422. package/node/Dialog/css/bare.js +0 -23
  423. package/node/Dialog/index.js +0 -5
  424. package/node/Dialog/m/bare.js +0 -51
  425. package/node/Dialog/m/basic.js +0 -35
  426. package/node/Dialog/m/index.js +0 -8
  427. package/node/Dialog/sc/bare.js +0 -65
  428. package/node/Dialog/sc/framer.js +0 -19
  429. package/node/Dialog/sc/framerMaterial.js +0 -19
  430. package/node/Dialog/sc/material.js +0 -45
  431. package/node/Dialog/tw/bare.js +0 -40
  432. package/node/Dialog/tw/elegant.js +0 -21
  433. package/node/Dialog/tw/framer.js +0 -19
  434. package/node/Dialog/tw/framerMaterial.js +0 -19
  435. package/node/Dialog/tw/material.js +0 -21
  436. package/node/Editor/Editor--tiptap.js +0 -29
  437. package/node/Editor/components.js +0 -34
  438. package/node/Editor/index.js +0 -4
  439. package/node/Favicon/FaviconTags.js +0 -18
  440. package/node/Favicon/index.js +0 -4
  441. package/node/Forms/Checkbox/Checkbox.js +0 -28
  442. package/node/Forms/Checkbox/index.js +0 -4
  443. package/node/Forms/Feedback/Feedback.js +0 -15
  444. package/node/Forms/Feedback/index.js +0 -4
  445. package/node/Forms/Field/Field.js +0 -64
  446. package/node/Forms/Field/FieldControl.js +0 -47
  447. package/node/Forms/Field/FieldHint.js +0 -10
  448. package/node/Forms/Field/index.js +0 -5
  449. package/node/Forms/Form/Form.js +0 -67
  450. package/node/Forms/Form/index.js +0 -4
  451. package/node/Forms/Input/Input.js +0 -27
  452. package/node/Forms/Input/index.js +0 -4
  453. package/node/Forms/InputGroup/InputGroup.js +0 -47
  454. package/node/Forms/InputGroup/index.js +0 -4
  455. package/node/Forms/Label/Label.js +0 -28
  456. package/node/Forms/Label/index.js +0 -4
  457. package/node/Forms/Password/Password.js +0 -34
  458. package/node/Forms/Password/index.js +0 -4
  459. package/node/Forms/Radio/Radio.js +0 -32
  460. package/node/Forms/Radio/index.js +0 -4
  461. package/node/Forms/Switch/Switch.js +0 -54
  462. package/node/Forms/Switch/index.js +0 -4
  463. package/node/Forms/Textarea/Textarea.js +0 -17
  464. package/node/Forms/Textarea/TextareaRich.js +0 -46
  465. package/node/Forms/Textarea/index.js +0 -5
  466. package/node/Forms/Toggle/Toggle.js +0 -85
  467. package/node/Forms/Toggle/index.js +0 -4
  468. package/node/Forms/Toggle/useToggle.js +0 -149
  469. package/node/Forms/antispam.js +0 -61
  470. package/node/Forms/helpers.js +0 -51
  471. package/node/Forms/index.js +0 -20
  472. package/node/Forms/styles.js +0 -64
  473. package/node/Gauge/Gauge.js +0 -106
  474. package/node/Grid/Grid.js +0 -83
  475. package/node/Grid/index.js +0 -4
  476. package/node/Hamburger/Hamburger.js +0 -69
  477. package/node/Hamburger/index.js +0 -4
  478. package/node/Header/index.js +0 -4
  479. package/node/Header/useHeader.js +0 -34
  480. package/node/Hidden/Hidden.js +0 -18
  481. package/node/Hidden/index.js +0 -4
  482. package/node/Img/index.js +0 -4
  483. package/node/Img/sc/bare.js +0 -41
  484. package/node/Img/types.js +0 -2
  485. package/node/Link/Link.js +0 -6
  486. package/node/Link/LinkBlank.js +0 -31
  487. package/node/Link/index.js +0 -5
  488. package/node/Menu/Menu.js +0 -15
  489. package/node/Menu/index.js +0 -4
  490. package/node/MenuItem/MenuItem.js +0 -24
  491. package/node/MenuItem/index.js +0 -4
  492. package/node/Meta/Meta.js +0 -8
  493. package/node/Meta/index.js +0 -4
  494. package/node/NoJs/NoJs.js +0 -10
  495. package/node/NoJs/index.js +0 -4
  496. package/node/Pagination/PaginationNav.js +0 -88
  497. package/node/Pagination/PaginationResults.js +0 -15
  498. package/node/Pagination/index.js +0 -5
  499. package/node/Pill/Pill.js +0 -41
  500. package/node/Pill/index.js +0 -4
  501. package/node/Progress/ProgressCircular.js +0 -41
  502. package/node/Progress/ProgressLinear.js +0 -37
  503. package/node/Progress/ProgressOverlay.js +0 -45
  504. package/node/Progress/index.js +0 -6
  505. package/node/Rating/Rating.js +0 -96
  506. package/node/Rating/index.js +0 -53
  507. package/node/Select/SelectDownshift.js +0 -41
  508. package/node/Select/components.js +0 -22
  509. package/node/Select/index.js +0 -7
  510. package/node/Sidebar/Sidebar.js +0 -53
  511. package/node/Sidebar/index.js +0 -4
  512. package/node/Spacing/Spacing.js +0 -50
  513. package/node/Spacing/index.js +0 -4
  514. package/node/Sticky/Sticky.js +0 -222
  515. package/node/Sticky/StickyCss.js +0 -8
  516. package/node/Sticky/index.js +0 -4
  517. package/node/Tabs/Tabs.js +0 -67
  518. package/node/Tabs/index.js +0 -4
  519. package/node/Typography/CopyPasteVisible.js +0 -10
  520. package/node/Typography/Native.js +0 -51
  521. package/node/Typography/ReadMore.js +0 -74
  522. package/node/Typography/TextLoop.js +0 -54
  523. package/node/Typography/TypeStairs.js +0 -49
  524. package/node/Typography/index.js +0 -8
  525. package/node/css/index.js +0 -35
  526. package/node/helpers/classed.js +0 -68
  527. package/node/helpers/extend-component.js +0 -16
  528. package/node/helpers/index.js +0 -5
  529. package/node/hooks/index.js +0 -10
  530. package/node/hooks/useDateLocale.js +0 -56
  531. package/node/hooks/useFocus.js +0 -15
  532. package/node/hooks/usePrevious.js +0 -12
  533. package/node/hooks/useScrollPosition.js +0 -80
  534. package/node/hooks/useScrollTo.js +0 -23
  535. package/node/hooks/useTraceUpdate.js +0 -24
  536. package/node/hooks/useWindowSize.js +0 -17
  537. package/node/index.js +0 -8
  538. package/node/m/MotionProvider.js +0 -41
  539. package/node/m/index.js +0 -9
  540. package/node/m/lite.js +0 -4
  541. package/node/m/max.js +0 -4
  542. package/node/sc/index.js +0 -35
  543. package/node/scm/index.js +0 -35
  544. package/node/shared/index.js +0 -11
  545. package/node/styles/Body.js +0 -21
  546. package/node/styles/Global.js +0 -53
  547. package/node/styles/index.js +0 -10
  548. package/node/styles/media.js +0 -156
  549. package/node/styles/spacing.js +0 -53
  550. package/node/styles/styled.js +0 -31
  551. package/node/styles/theme--vanilla.js +0 -59
  552. package/node/styles/theme.js +0 -45
  553. package/node/tw/index.js +0 -35
  554. package/node/twm/index.js +0 -35
  555. package/node/types.js +0 -2
  556. package/sc/index.d.ts +0 -29
  557. package/sc/index.js +0 -30
  558. package/sc/package.json +0 -6
  559. package/scm/index.d.ts +0 -29
  560. package/scm/index.js +0 -30
  561. package/scm/package.json +0 -6
  562. package/shared/index.d.ts +0 -8
  563. package/shared/index.js +0 -8
  564. package/shared/package.json +0 -6
  565. package/styles/Body.d.ts +0 -10
  566. package/styles/Body.js +0 -17
  567. package/styles/Global.d.ts +0 -15
  568. package/styles/Global.js +0 -50
  569. package/styles/index.d.ts +0 -7
  570. package/styles/index.js +0 -7
  571. package/styles/media.d.ts +0 -67
  572. package/styles/media.js +0 -150
  573. package/styles/package.json +0 -6
  574. package/styles/spacing.d.ts +0 -13
  575. package/styles/spacing.js +0 -46
  576. package/styles/styled.d.ts +0 -12
  577. package/styles/styled.js +0 -27
  578. package/styles/theme--vanilla.d.ts +0 -18
  579. package/styles/theme--vanilla.js +0 -53
  580. package/styles/theme.d.ts +0 -82
  581. package/styles/theme.js +0 -41
  582. package/tw/index.d.ts +0 -2
  583. package/tw/index.js +0 -30
  584. package/tw/package.json +0 -6
  585. package/twm/index.d.ts +0 -2
  586. package/twm/index.js +0 -30
  587. package/twm/package.json +0 -6
  588. package/types.d.ts +0 -10
  589. package/types.js +0 -1
@@ -1,353 +0,0 @@
1
- // TODO: remove, just use mui version...
2
- export const Autocomplete = null;
3
- // import {
4
- // forwardRef,
5
- // useCallback,
6
- // useEffect,
7
- // useRef,
8
- // useState,
9
- // ForwardedRef,
10
- // ReactNode,
11
- // ComponentPropsWithRef,
12
- // CSSProperties,
13
- // } from "react";
14
- // import { SetRequired } from "@koine/utils";
15
- // import {
16
- // useCombobox,
17
- // useMultipleSelection,
18
- // UseMultipleSelectionProps,
19
- // UseMultipleSelectionStateChange,
20
- // UseMultipleSelectionReturnValue,
21
- // } from "downshift";
22
- // import { usePopper } from "react-popper"; // imports from downshift demo
23
- // // import { useDeepCompareEffect } from "react-use"; // imports from downshift demo
24
- // import type { Option } from "../types";
25
- // import {
26
- // normaliseOptions,
27
- // defaultOptionsFilterFn,
28
- // triggerOnChange,
29
- // } from "../Forms/helpers";
30
- // import {
31
- // AutocompleteRoot,
32
- // AutocompleteLabel,
33
- // AutocompleteWrap,
34
- // AutocompleteInner,
35
- // AutocompleteItem,
36
- // AutocompleteItemLabel,
37
- // AutocompleteItemRemove,
38
- // AutocompleteInputWrap,
39
- // AutocompleteInput,
40
- // AutocompleteInputArrow,
41
- // AutocompleteMenu,
42
- // AutocompleteMenuItem,
43
- // } from "./components";
44
- // const USE_POPPER = false;
45
- // export type AutocompleteItem = Option;
46
- // export type AutocompleteValue = AutocompleteItem[];
47
- // export type AutocompleteProps = SetRequired<
48
- // Omit<ComponentPropsWithRef<"input">, "defaultValue" | "onSelect">,
49
- // "onChange" | "name"
50
- // > & {
51
- // selectedItems: UseMultipleSelectionReturnValue<AutocompleteItem>["selectedItems"];
52
- // onSelectedItemsChange: UseMultipleSelectionProps<AutocompleteItem>["onSelectedItemsChange"];
53
- // onCreateItem: (item?: AutocompleteItem) => any;
54
- // creatable?: boolean;
55
- // onSelect?: (value?: AutocompleteValue) => any;
56
- // options?: AutocompleteItem[];
57
- // loadOptions?: (query?: string) => Promise<AutocompleteItem[]>;
58
- // label?: string | ReactNode;
59
- // defaultValue?: AutocompleteValue | string[];
60
- // className?: string;
61
- // style?: CSSProperties;
62
- // $ref?: ForwardedRef<HTMLInputElement>;
63
- // };
64
- // /**
65
- // * @see https://www.downshift-js.com/use-multiple-selection
66
- // * @see https://codesandbox.io/s/y34o5l3p61?file=/src/hooks/useMultipleSelection/combobox.js
67
- // * @see https://codesandbox.io/s/y34o5l3p61?file=/src/downshift/ordered-examples/05-multi-create.js
68
- // */
69
- // export const _Autocomplete = forwardRef<HTMLInputElement, AutocompleteProps>(
70
- // function _Autocomplete(
71
- // {
72
- // selectedItems,
73
- // onSelectedItemsChange,
74
- // onCreateItem,
75
- // creatable,
76
- // onSelect,
77
- // options = [],
78
- // label,
79
- // loadOptions,
80
- // $ref,
81
- // className,
82
- // style,
83
- // ...props
84
- // },
85
- // ref
86
- // ) {
87
- // options = normaliseOptions(options);
88
- // const [isCreating, setIsCreating] = useState(false);
89
- // const [filteredOptions, setFilteredOptions] = useState(options);
90
- // const disclosureRef = useRef(null);
91
- // const popoverRef = useRef(null);
92
- // const { styles, attributes } = USE_POPPER
93
- // ? usePopper(disclosureRef.current, popoverRef.current, {
94
- // placement: "bottom-start",
95
- // })
96
- // : { styles: {}, attributes: {} };
97
- // const {
98
- // getSelectedItemProps,
99
- // getDropdownProps,
100
- // addSelectedItem,
101
- // removeSelectedItem,
102
- // // selectedItems,
103
- // activeIndex,
104
- // } = useMultipleSelection<AutocompleteItem>({
105
- // selectedItems,
106
- // onSelectedItemsChange,
107
- // // onSelectedItemsChange: ({ selectedItems = [] }) => {
108
- // // triggerChange(selectedItems);
109
- // // },
110
- // // initialSelectedItems: normaliseOptions(defaultValue),
111
- // stateReducer: (_, actionAndChanges) => {
112
- // const { type, changes } = actionAndChanges;
113
- // switch (type) {
114
- // case useMultipleSelection.stateChangeTypes.FunctionRemoveSelectedItem:
115
- // return {
116
- // ...changes,
117
- // activeIndex: undefined,
118
- // };
119
- // default:
120
- // return changes;
121
- // }
122
- // },
123
- // });
124
- // const selectedItemsValues = selectedItems.map((item) => item.value);
125
- // const {
126
- // isOpen,
127
- // getToggleButtonProps,
128
- // getLabelProps,
129
- // getMenuProps,
130
- // getInputProps,
131
- // getComboboxProps,
132
- // highlightedIndex,
133
- // getItemProps,
134
- // openMenu,
135
- // selectItem,
136
- // setHighlightedIndex,
137
- // inputValue,
138
- // } = useCombobox<null | AutocompleteItem>({
139
- // selectedItem: null,
140
- // items: filteredOptions,
141
- // onInputValueChange: ({ inputValue }) => {
142
- // // perhaps allows the optionsFilterFn as prop
143
- // const filteredItems = defaultOptionsFilterFn(options, inputValue);
144
- // if (creatable && isCreating && filteredItems.length > 0) {
145
- // setIsCreating(false);
146
- // }
147
- // setFilteredOptions(filteredItems);
148
- // },
149
- // stateReducer: (state, actionAndChanges) => {
150
- // const { changes, type } = actionAndChanges;
151
- // switch (type) {
152
- // case useCombobox.stateChangeTypes.InputBlur:
153
- // return {
154
- // ...changes,
155
- // highlightedIndex: state.highlightedIndex,
156
- // // clear input on blur to avoid have "pending" uncompleted behaviours
157
- // inputValue: "",
158
- // };
159
- // case useCombobox.stateChangeTypes.InputKeyDownEnter:
160
- // case useCombobox.stateChangeTypes.ItemClick:
161
- // return {
162
- // ...changes,
163
- // highlightedIndex: state.highlightedIndex,
164
- // isOpen: true,
165
- // inputValue: "",
166
- // };
167
- // default:
168
- // return changes;
169
- // }
170
- // },
171
- // onStateChange: ({ type, selectedItem }) => {
172
- // switch (type) {
173
- // case useCombobox.stateChangeTypes.InputKeyDownEnter:
174
- // case useCombobox.stateChangeTypes.ItemClick:
175
- // if (selectedItem) {
176
- // if (selectedItemsValues.includes(selectedItem.value)) {
177
- // removeSelectedItem(selectedItem);
178
- // } else {
179
- // if (creatable && onCreateItem) {
180
- // onCreateItem(selectedItem);
181
- // }
182
- // addSelectedItem(selectedItem);
183
- // if (isCreating) {
184
- // setIsCreating(false);
185
- // setFilteredOptions(options);
186
- // }
187
- // }
188
- // selectItem(null);
189
- // }
190
- // break;
191
- // default:
192
- // break;
193
- // }
194
- // },
195
- // });
196
- // useEffect(() => {
197
- // if (
198
- // creatable &&
199
- // filteredOptions.length === 0 &&
200
- // activeIndex === -1 &&
201
- // inputValue.length > 0
202
- // ) {
203
- // setIsCreating(true);
204
- // setFilteredOptions(normaliseOptions([inputValue]));
205
- // setHighlightedIndex(0);
206
- // }
207
- // }, [
208
- // creatable,
209
- // filteredOptions,
210
- // setIsCreating,
211
- // setHighlightedIndex,
212
- // inputValue,
213
- // activeIndex,
214
- // ]);
215
- // // useEffect(() => {
216
- // // setSelectedItems(normaliseOptions(defaultValue));
217
- // // }, [defaultValue]);
218
- // // useDeepCompareEffect(() => {
219
- // // setFilteredOptions(options);
220
- // // }, [options]);
221
- // // useDeepCompareEffect(() => {
222
- // // triggerChange(values);
223
- // // }, [values]);
224
- // return (
225
- // <AutocompleteRoot>
226
- // {label && (
227
- // <AutocompleteLabel {...getLabelProps()}>{label}</AutocompleteLabel>
228
- // )}
229
- // <AutocompleteWrap
230
- // {...getComboboxProps({
231
- // ref: disclosureRef,
232
- // })}
233
- // >
234
- // <AutocompleteInner>
235
- // {selectedItems.map((selectedItem, index) => (
236
- // <AutocompleteItem
237
- // key={`selected-item-${index}`}
238
- // {...getSelectedItemProps({ selectedItem, index })}
239
- // >
240
- // <AutocompleteItemLabel>
241
- // {selectedItem?.label || selectedItem}
242
- // </AutocompleteItemLabel>
243
- // <AutocompleteItemRemove
244
- // onClick={(e) => {
245
- // e.stopPropagation();
246
- // removeSelectedItem(selectedItem);
247
- // }}
248
- // >
249
- // &#10005;
250
- // </AutocompleteItemRemove>
251
- // </AutocompleteItem>
252
- // ))}
253
- // <AutocompleteInputWrap>
254
- // <AutocompleteInput
255
- // {...getInputProps({
256
- // ...getDropdownProps({
257
- // // this option used in the official example prevents the
258
- // // backspace key to behave correctly
259
- // // preventKeyAction: isOpen,
260
- // onClick: isOpen ? () => {} : openMenu,
261
- // onFocus: isOpen ? () => {} : openMenu,
262
- // ref: $ref || ref,
263
- // // ref: disclosureRef,
264
- // }),
265
- // // ref: $ref || ref,
266
- // })}
267
- // {...props}
268
- // />
269
- // </AutocompleteInputWrap>
270
- // </AutocompleteInner>
271
- // {!!filteredOptions.length && (
272
- // <AutocompleteInputArrow
273
- // {...getToggleButtonProps()}
274
- // aria-label={"toggle menu"}
275
- // isOpen={isOpen}
276
- // />
277
- // )}
278
- // </AutocompleteWrap>
279
- // <AutocompleteMenu
280
- // style={styles.popper}
281
- // {...attributes.popper}
282
- // {...getMenuProps({ ref: popoverRef })}
283
- // >
284
- // {isOpen &&
285
- // filteredOptions.map((item, index) => (
286
- // <AutocompleteMenuItem
287
- // $active={highlightedIndex === index}
288
- // key={`${item.value}${index}`}
289
- // {...getItemProps({ item, index })}
290
- // >
291
- // {isCreating ? (
292
- // <>
293
- // <span>+</span> <strong>{item.label}</strong>
294
- // </>
295
- // ) : (
296
- // <>
297
- // {/* {selectedItemsValues.includes(item.value) && (
298
- // <CheckboxToggle />
299
- // )} */}
300
- // {item.label}
301
- // </>
302
- // )}
303
- // </AutocompleteMenuItem>
304
- // ))}
305
- // </AutocompleteMenu>
306
- // </AutocompleteRoot>
307
- // );
308
- // }
309
- // );
310
- // /**
311
- // * @see https://www.downshift-js.com/use-multiple-selection
312
- // * @see https://codesandbox.io/s/y34o5l3p61?file=/src/hooks/useMultipleSelection/combobox.js
313
- // * @see https://codesandbox.io/s/y34o5l3p61?file=/src/downshift/ordered-examples/05-multi-create.js
314
- // */
315
- // export const Autocomplete = forwardRef<HTMLInputElement, AutocompleteProps>(
316
- // function Autocomplete(
317
- // { defaultValue = [], onChange, onSelect, name, ...props },
318
- // ref
319
- // ) {
320
- // const [selectedItems, setSelectedItems] = useState(
321
- // normaliseOptions(defaultValue)
322
- // );
323
- // const triggerChange = useCallback(
324
- // (values: AutocompleteValue) => {
325
- // triggerOnChange(
326
- // onChange,
327
- // name,
328
- // values.map((item) => item.value || item)
329
- // );
330
- // if (onSelect) onSelect(values);
331
- // },
332
- // [onChange, onSelect, name]
333
- // );
334
- // const handleCreateItem = (item?: AutocompleteItem) => {
335
- // // setSelectedItems((curr) => [...curr, item]);
336
- // };
337
- // const handleSelectedItemsChange = ({
338
- // selectedItems = [],
339
- // }: UseMultipleSelectionStateChange<AutocompleteItem>) => {
340
- // setSelectedItems(selectedItems);
341
- // triggerChange(selectedItems);
342
- // };
343
- // return (
344
- // <_Autocomplete
345
- // {...props}
346
- // selectedItems={selectedItems}
347
- // onSelectedItemsChange={handleSelectedItemsChange}
348
- // onCreateItem={handleCreateItem}
349
- // $ref={ref}
350
- // />
351
- // );
352
- // }
353
- // );
@@ -1,47 +0,0 @@
1
- import React from "react";
2
- import type { Option } from "../types";
3
- import { FormControl } from "../Forms/helpers";
4
- export declare type AutocompleteOption = Option | string;
5
- export declare type AutocompleteValue<TMultiple extends boolean | undefined = undefined> = TMultiple extends undefined ? null | Option[] | string[] | Option | string : TMultiple extends true ? Option[] | string[] : null | Option | string;
6
- export declare type AutocompleteConfig<TOption extends AutocompleteOption, TValue extends AutocompleteValue> = {
7
- creatable?: boolean;
8
- multiple?: boolean;
9
- autoComplete?: boolean;
10
- options?: TOption[];
11
- loadOptions?: (query?: string) => Promise<TOption[]>;
12
- onChange?: (value: TValue) => any;
13
- defaultValue?: TValue;
14
- value?: TValue;
15
- defaultInputValue?: string;
16
- };
17
- export declare type AutocompleteProps<TOption extends AutocompleteOption, TValue extends AutocompleteValue> = Omit<FormControl, keyof AutocompleteConfig<TOption, TValue>> & AutocompleteConfig<TOption, TValue> & {
18
- className?: string;
19
- style?: React.CSSProperties;
20
- $ref?: React.ForwardedRef<HTMLInputElement>;
21
- };
22
- /**
23
- * Autocomplete/autocomplete component based on [`@mui useAutocomplete hook`](https://mui.com/components/autocomplete/#useautocomplete).
24
- *
25
- * This component is design to work out of the box with [`react-hook-form`](https://react-hook-form.com/)
26
- * and [`yup`](https://github.com/jquense/yup) alongside our custom `Field`
27
- * component.
28
- *
29
- * After a lot of tests and attempts with `downshift` and `@reach` this proved
30
- * the best headless hook, small in size and behaving correctly in all scenarios.
31
- * `downshift` had in fact problems treating the initial `defaultValue` which
32
- * here is elegantly managed by the `isOptionEqualToValue` option passed into
33
- * the `useAutocomplete` hook.
34
- *
35
- *
36
- * Validation with `yup` and `react-hook-form` example:
37
- *
38
- * ```ts
39
- * const schema = object({
40
- * // the value must be an array with at least one non-empty string
41
- * test1: array(string().required()).required().min(1),
42
- * // the value must be an array of strings or an empty array
43
- * test2: array(string().required()).required(),
44
- * }).required();
45
- * ```
46
- */
47
- export declare const Autocomplete: <TOption extends AutocompleteOption = AutocompleteOption, TValue extends string | string[] | Option | Option[] | null = string | string[] | Option | Option[] | null>({ creatable, multiple, autoComplete, loadOptions, options: defaultOptions, defaultValue, value: controlledValue, defaultInputValue, label, placeholder, register, setValue, name, onChange, $ref, children, ...props }: AutocompleteProps<TOption, TValue>) => JSX.Element;
@@ -1,177 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import {
3
- // forwardRef,
4
- useCallback, useMemo, useState, } from "react";
5
- import { useAutocomplete } from "@mui/base/AutocompleteUnstyled";
6
- import { isString } from "@koine/utils";
7
- import {
8
- // triggerOnChange,
9
- normaliseOptions, } from "../Forms/helpers";
10
- import { normaliseAutocompleteValue } from "./helpers";
11
- import { AutocompleteRoot, AutocompleteLabel, AutocompleteWrap, AutocompleteInner, AutocompleteItem, AutocompleteItemLabel, AutocompleteItemRemove,
12
- // AutocompleteInputWrap,
13
- AutocompleteInput, AutocompleteInputArrow, AutocompleteMenu, AutocompleteMenuItem, } from "./components";
14
- import { InputProgress } from "../Forms/styles";
15
- /**
16
- * Autocomplete/autocomplete component based on [`@mui useAutocomplete hook`](https://mui.com/components/autocomplete/#useautocomplete).
17
- *
18
- * This component is design to work out of the box with [`react-hook-form`](https://react-hook-form.com/)
19
- * and [`yup`](https://github.com/jquense/yup) alongside our custom `Field`
20
- * component.
21
- *
22
- * After a lot of tests and attempts with `downshift` and `@reach` this proved
23
- * the best headless hook, small in size and behaving correctly in all scenarios.
24
- * `downshift` had in fact problems treating the initial `defaultValue` which
25
- * here is elegantly managed by the `isOptionEqualToValue` option passed into
26
- * the `useAutocomplete` hook.
27
- *
28
- *
29
- * Validation with `yup` and `react-hook-form` example:
30
- *
31
- * ```ts
32
- * const schema = object({
33
- * // the value must be an array with at least one non-empty string
34
- * test1: array(string().required()).required().min(1),
35
- * // the value must be an array of strings or an empty array
36
- * test2: array(string().required()).required(),
37
- * }).required();
38
- * ```
39
- */
40
- // export const Autocomplete = <TOption, TValue>forwardRef<
41
- // HTMLInputElement,
42
- // PropsWithChildren<AutocompleteProps<TOption, TValue>
43
- // >(function Autocomplete(
44
- // {
45
- // creatable,
46
- // multiple,
47
- // autoComplete,
48
- // loadOptions,
49
- // options: defaultOptions = [],
50
- // defaultValue = [],
51
- // label,
52
- // register,
53
- // setValue,
54
- // // trigger,
55
- // name,
56
- // onChange,
57
- // $ref,
58
- // children,
59
- // ...props
60
- // },
61
- // ref
62
- // ) {
63
- export const Autocomplete = ({ creatable, multiple, autoComplete, loadOptions, options: defaultOptions = [], defaultValue, value: controlledValue, defaultInputValue, label, placeholder, register, setValue,
64
- // trigger,
65
- name, onChange, $ref, children, ...props }) => {
66
- const defaultOptionsMemo = useMemo(() => normaliseOptions(defaultOptions), [defaultOptions]);
67
- const [options, setOptions] = useState(defaultOptionsMemo);
68
- const [loading, setLoading] = useState(false);
69
- const { getRootProps, getInputLabelProps, getInputProps, getTagProps, getListboxProps, getOptionProps, getPopupIndicatorProps, groupedOptions, value: stateValue, setAnchorEl, popupOpen, focused, } = useAutocomplete({
70
- id: "Autocomplete",
71
- multiple: multiple ? true : undefined,
72
- freeSolo: creatable ? true : undefined,
73
- // autoComplete: autoComplete ? true : undefined,
74
- disableCloseOnSelect: true,
75
- openOnFocus: true,
76
- blurOnSelect: autoComplete && !multiple,
77
- selectOnFocus: creatable,
78
- // TODO: passing the defaultInputValue makes the input controlled, which is
79
- // not what I want, so we probably need to handle the input default value
80
- // ourselves
81
- // inputValue: defaultInputValue,
82
- // @ts-expect-error FIXME: how?
83
- defaultValue,
84
- // @ts-expect-error FIXME: how?
85
- value: controlledValue,
86
- // defaultValue: useMemo(
87
- // () => normaliseAutocompleteValue(defaultValue, multiple),
88
- // [defaultValue]
89
- // ),
90
- options: useMemo(() => (loadOptions ? options : defaultOptions), [loadOptions, options, defaultOptions]),
91
- // update input change only if we are searching as you type, @see
92
- // https://mui.com/components/autocomplete/#search-as-you-type
93
- onInputChange: useCallback(async (_event, inputValue) => {
94
- if (!loadOptions) {
95
- return;
96
- }
97
- if (inputValue) {
98
- setLoading(true);
99
- try {
100
- const newOptions = await loadOptions(inputValue);
101
- setOptions(newOptions);
102
- }
103
- catch (e) {
104
- console.warn(e);
105
- }
106
- finally {
107
- setLoading(false);
108
- }
109
- }
110
- else {
111
- setOptions(options);
112
- // TODO: clear like behaviour?
113
- // triggerChange({ value: "", label: "" });
114
- }
115
- }, [loadOptions, options]),
116
- // TODO: check if we need this, probably, and check how to structure the
117
- // callback, here we get the actual input event
118
- onChange: (event, newValue) => {
119
- const value = normaliseAutocompleteValue(newValue, multiple);
120
- // @ts-expect-error FIXME: how?
121
- if (onChange)
122
- onChange(newValue);
123
- if (setValue)
124
- setValue(name, value, { shouldValidate: true });
125
- // triggerOnChange(onChange, name, value);
126
- },
127
- // support both freeSolo free text and full option structure
128
- isOptionEqualToValue: (option, value) => {
129
- const optValue = isString(option) ? option : option.value;
130
- const valValue = isString(value) ? value : value.value;
131
- return optValue === valValue;
132
- },
133
- getOptionLabel: (option) => {
134
- // @ts-expect-error TODO: I don't get this error
135
- return isString(option) ? option : option.label || "";
136
- },
137
- });
138
- const value = typeof controlledValue !== "undefined" ? controlledValue : stateValue;
139
- const inputProps = () => {
140
- const autocompleteProps = getInputProps();
141
- // here we merge the mui's `useAutocomplete` props with the react-hook-form's
142
- // `register` props
143
- const registerProps = register
144
- ? register(name, {
145
- // @ts-expect-error FIXME: can't remember
146
- ref: autocompleteProps.ref.current,
147
- // this makes the validation works when a valid `defaultValue`
148
- // is provided
149
- value: normaliseAutocompleteValue(value, multiple),
150
- })
151
- : {};
152
- return {
153
- ...registerProps,
154
- ...autocompleteProps,
155
- // onChange: (event: FormEvent<HTMLInputElement>) => {
156
- // registerProps.onChange(event);
157
- // autocompleteProps?.onChange(event);
158
- // },
159
- };
160
- };
161
- // to focus the input on error this works too
162
- // @see https://react-hook-form.com/faqs#question12 but probably it is
163
- // better to do as now passing the input ref to the register options
164
- // useEffect(() => {
165
- // if (errors[name]) {
166
- // inputProps.ref.current.focus();
167
- // }
168
- // }, [errors, name, inputProps.ref]);
169
- return (_jsxs(AutocompleteRoot, { children: [label && (_jsx(AutocompleteLabel, { ...getInputLabelProps(), children: label })), _jsxs(AutocompleteWrap, { ...getRootProps(), "data-focus": focused, children: [_jsxs(AutocompleteInner, { ref: setAnchorEl, children: [multiple &&
170
- value.map((valueItem, index) => {
171
- const { onDelete, key, ...tagProps } = getTagProps({ index });
172
- return (_jsxs(AutocompleteItem, { ...tagProps, children: [_jsx(AutocompleteItemLabel, { children: isString(valueItem)
173
- ? valueItem
174
- : valueItem.Label || valueItem.label }), _jsx(AutocompleteItemRemove, { onClick: onDelete, children: "\u2715" })] }, key));
175
- }), _jsx(AutocompleteInput, { ...inputProps(), placeholder: placeholder })] }), !!options.length && (_jsx(AutocompleteInputArrow, { ...getPopupIndicatorProps(), isOpen: popupOpen })), loading && _jsx(InputProgress, {})] }), groupedOptions.length ? (_jsx(AutocompleteMenu, { ...getListboxProps(), children: groupedOptions.map((option, index) => (_jsx(AutocompleteMenuItem, { ...getOptionProps({ option, index }), children: isString(option) ? option : option.Label || option.label }, index))) })) : null, children] }));
176
- // });
177
- };
@@ -1 +0,0 @@
1
- export declare const Autocomplete: null;