@koine/react 1.0.10 → 1.0.11

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 (638) hide show
  1. package/Alert/Alert.d.ts +5 -0
  2. package/Alert/Alert.js +16 -0
  3. package/Alert/index.d.ts +1 -0
  4. package/Alert/index.js +1 -0
  5. package/Alert/package.json +6 -0
  6. package/Animations/Reveal.d.ts +4 -0
  7. package/Animations/Reveal.js +15 -0
  8. package/Animations/Underline.d.ts +1 -0
  9. package/Animations/Underline.js +15 -0
  10. package/Animations/index.d.ts +3 -0
  11. package/Animations/index.js +3 -0
  12. package/Animations/package.json +6 -0
  13. package/Animations/useReveal.d.ts +33 -0
  14. package/Animations/useReveal.js +70 -0
  15. package/Autocomplete/AutocompleteDownshift.d.ts +1 -0
  16. package/Autocomplete/AutocompleteDownshift.js +158 -0
  17. package/Autocomplete/AutocompleteDownshiftMultiselect.d.ts +1 -0
  18. package/Autocomplete/AutocompleteDownshiftMultiselect.js +353 -0
  19. package/Autocomplete/AutocompleteMui.d.ts +47 -0
  20. package/Autocomplete/AutocompleteMui.js +177 -0
  21. package/Autocomplete/AutocompleteReach.d.ts +1 -0
  22. package/Autocomplete/AutocompleteReach.js +112 -0
  23. package/Autocomplete/components.d.ts +21 -0
  24. package/Autocomplete/components.js +89 -0
  25. package/Autocomplete/helpers.d.ts +3 -0
  26. package/Autocomplete/helpers.js +28 -0
  27. package/Autocomplete/index.d.ts +2 -0
  28. package/Autocomplete/index.js +3 -0
  29. package/Autocomplete/package.json +6 -0
  30. package/Bg/BgColor.d.ts +36 -0
  31. package/Bg/BgColor.js +31 -0
  32. package/Bg/BgPhoto.d.ts +13 -0
  33. package/Bg/BgPhoto.js +59 -0
  34. package/Bg/BgSvg.d.ts +7 -0
  35. package/Bg/BgSvg.js +15 -0
  36. package/Bg/index.d.ts +3 -0
  37. package/Bg/index.js +3 -0
  38. package/Bg/package.json +6 -0
  39. package/Breadcrumbs/Breadcrumbs.d.ts +13 -0
  40. package/Breadcrumbs/Breadcrumbs.js +67 -0
  41. package/Breadcrumbs/index.d.ts +1 -0
  42. package/Breadcrumbs/index.js +1 -0
  43. package/Breadcrumbs/package.json +6 -0
  44. package/Buttons/Button.d.ts +18 -0
  45. package/Buttons/Button.js +79 -0
  46. package/Buttons/ButtonComposite.d.ts +23 -0
  47. package/Buttons/ButtonComposite.js +49 -0
  48. package/Buttons/ButtonFab.d.ts +7 -0
  49. package/Buttons/ButtonFab.js +8 -0
  50. package/Buttons/ButtonLink.d.ts +8 -0
  51. package/Buttons/ButtonLink.js +10 -0
  52. package/Buttons/IconButton.d.ts +11 -0
  53. package/Buttons/IconButton.js +19 -0
  54. package/Buttons/index.d.ts +5 -0
  55. package/Buttons/index.js +5 -0
  56. package/Buttons/package.json +6 -0
  57. package/Calendar/CalendarDaygridCell.d.ts +36 -0
  58. package/Calendar/CalendarDaygridCell.js +51 -0
  59. package/Calendar/CalendarDaygridNav.d.ts +27 -0
  60. package/Calendar/CalendarDaygridNav.js +22 -0
  61. package/Calendar/CalendarDaygridTable.d.ts +25 -0
  62. package/Calendar/CalendarDaygridTable.js +55 -0
  63. package/Calendar/CalendarLegend.d.ts +19 -0
  64. package/Calendar/CalendarLegend.js +11 -0
  65. package/Calendar/calendar-api-google.d.ts +18 -0
  66. package/Calendar/calendar-api-google.js +94 -0
  67. package/Calendar/index.d.ts +6 -0
  68. package/Calendar/index.js +6 -0
  69. package/Calendar/package.json +6 -0
  70. package/Calendar/types.d.ts +81 -0
  71. package/Calendar/types.js +1 -0
  72. package/Calendar/useCalendar.d.ts +49 -0
  73. package/Calendar/useCalendar.js +182 -0
  74. package/Calendar/utils.d.ts +11 -0
  75. package/Calendar/utils.js +203 -0
  76. package/Carousel/Carousel.d.ts +1 -0
  77. package/Carousel/Carousel.js +378 -0
  78. package/Carousel/CarouselCss.d.ts +47 -0
  79. package/Carousel/CarouselCss.js +37 -0
  80. package/Carousel/index.d.ts +1 -0
  81. package/Carousel/index.js +1 -0
  82. package/Carousel/package.json +6 -0
  83. package/Collapsable/Collapsable.d.ts +1 -0
  84. package/Collapsable/Collapsable.js +1 -0
  85. package/Collapsable/CollapsableReach.d.ts +6 -0
  86. package/Collapsable/CollapsableReach.js +253 -0
  87. package/Collapsable/index.d.ts +1 -0
  88. package/Collapsable/index.js +2 -0
  89. package/Collapsable/package.json +6 -0
  90. package/Debug/Debug.d.ts +4 -0
  91. package/Debug/Debug.js +21 -0
  92. package/Debug/index.d.ts +1 -0
  93. package/Debug/index.js +1 -0
  94. package/Debug/package.json +6 -0
  95. package/Details/Details.d.ts +114 -0
  96. package/Details/Details.js +62 -0
  97. package/Details/index.d.ts +1 -0
  98. package/Details/index.js +1 -0
  99. package/Details/package.json +6 -0
  100. package/Dialog/DialogMui.d.ts +139 -0
  101. package/Dialog/DialogMui.js +78 -0
  102. package/Dialog/css/bare.d.ts +145 -0
  103. package/Dialog/css/bare.js +19 -0
  104. package/Dialog/index.d.ts +2 -0
  105. package/Dialog/index.js +1 -0
  106. package/Dialog/m/bare.d.ts +56 -0
  107. package/Dialog/m/bare.js +48 -0
  108. package/Dialog/m/basic.d.ts +4 -0
  109. package/Dialog/m/basic.js +31 -0
  110. package/Dialog/m/index.d.ts +2 -0
  111. package/Dialog/m/index.js +4 -0
  112. package/Dialog/m/package.json +6 -0
  113. package/Dialog/package.json +6 -0
  114. package/Dialog/sc/bare.d.ts +105 -0
  115. package/Dialog/sc/bare.js +61 -0
  116. package/Dialog/sc/framer.d.ts +80 -0
  117. package/Dialog/sc/framer.js +16 -0
  118. package/Dialog/sc/framerMaterial.d.ts +79 -0
  119. package/Dialog/sc/framerMaterial.js +16 -0
  120. package/Dialog/sc/material.d.ts +94 -0
  121. package/Dialog/sc/material.js +41 -0
  122. package/Dialog/tw/bare.d.ts +196 -0
  123. package/Dialog/tw/bare.js +36 -0
  124. package/Dialog/tw/elegant.d.ts +244 -0
  125. package/Dialog/tw/elegant.js +18 -0
  126. package/Dialog/tw/framer.d.ts +112 -0
  127. package/Dialog/tw/framer.js +16 -0
  128. package/Dialog/tw/framerMaterial.d.ts +167 -0
  129. package/Dialog/tw/framerMaterial.js +16 -0
  130. package/Dialog/tw/material.d.ts +244 -0
  131. package/Dialog/tw/material.js +18 -0
  132. package/Editor/Editor--tiptap.d.ts +9 -0
  133. package/Editor/Editor--tiptap.js +23 -0
  134. package/Editor/components.d.ts +7 -0
  135. package/Editor/components.js +28 -0
  136. package/Editor/index.d.ts +1 -0
  137. package/Editor/index.js +1 -0
  138. package/Editor/package.json +6 -0
  139. package/Favicon/FaviconTags.d.ts +18 -0
  140. package/Favicon/FaviconTags.js +14 -0
  141. package/Favicon/index.d.ts +1 -0
  142. package/Favicon/index.js +1 -0
  143. package/Favicon/package.json +6 -0
  144. package/Form/Form.d.ts +111 -0
  145. package/Form/Form.js +59 -0
  146. package/Form/index.d.ts +1 -0
  147. package/Form/index.js +1 -0
  148. package/Form/package.json +6 -0
  149. package/Form/sc/bare.d.ts +33 -0
  150. package/Form/sc/bare.js +29 -0
  151. package/Forms/Checkbox/Checkbox.d.ts +11 -0
  152. package/Forms/Checkbox/Checkbox.js +24 -0
  153. package/Forms/Checkbox/index.d.ts +1 -0
  154. package/Forms/Checkbox/index.js +1 -0
  155. package/Forms/Checkbox/package.json +6 -0
  156. package/Forms/Feedback/Feedback.d.ts +5 -0
  157. package/Forms/Feedback/Feedback.js +10 -0
  158. package/Forms/Feedback/index.d.ts +1 -0
  159. package/Forms/Feedback/index.js +1 -0
  160. package/Forms/Feedback/package.json +6 -0
  161. package/Forms/Field/Field.d.ts +15 -0
  162. package/Forms/Field/Field.js +59 -0
  163. package/Forms/Field/FieldControl.d.ts +26 -0
  164. package/Forms/Field/FieldControl.js +43 -0
  165. package/Forms/Field/FieldHint.d.ts +1 -0
  166. package/Forms/Field/FieldHint.js +6 -0
  167. package/Forms/Field/index.d.ts +2 -0
  168. package/Forms/Field/index.js +2 -0
  169. package/Forms/Field/package.json +6 -0
  170. package/Forms/Input/Input.d.ts +9 -0
  171. package/Forms/Input/Input.js +23 -0
  172. package/Forms/Input/index.d.ts +1 -0
  173. package/Forms/Input/index.js +1 -0
  174. package/Forms/Input/package.json +6 -0
  175. package/Forms/InputGroup/InputGroup.d.ts +13 -0
  176. package/Forms/InputGroup/InputGroup.js +42 -0
  177. package/Forms/InputGroup/index.d.ts +1 -0
  178. package/Forms/InputGroup/index.js +1 -0
  179. package/Forms/InputGroup/package.json +6 -0
  180. package/Forms/Label/Label.d.ts +3 -0
  181. package/Forms/Label/Label.js +24 -0
  182. package/Forms/Label/index.d.ts +1 -0
  183. package/Forms/Label/index.js +1 -0
  184. package/Forms/Label/package.json +6 -0
  185. package/Forms/Password/Password.d.ts +5 -0
  186. package/Forms/Password/Password.js +30 -0
  187. package/Forms/Password/index.d.ts +1 -0
  188. package/Forms/Password/index.js +1 -0
  189. package/Forms/Password/package.json +6 -0
  190. package/Forms/Radio/Radio.d.ts +12 -0
  191. package/Forms/Radio/Radio.js +28 -0
  192. package/Forms/Radio/index.d.ts +1 -0
  193. package/Forms/Radio/index.js +1 -0
  194. package/Forms/Radio/package.json +6 -0
  195. package/Forms/Switch/Switch.d.ts +9 -0
  196. package/Forms/Switch/Switch.js +50 -0
  197. package/Forms/Switch/index.d.ts +1 -0
  198. package/Forms/Switch/index.js +1 -0
  199. package/Forms/Switch/package.json +6 -0
  200. package/Forms/Textarea/Textarea.d.ts +5 -0
  201. package/Forms/Textarea/Textarea.js +13 -0
  202. package/Forms/Textarea/TextareaRich.d.ts +6 -0
  203. package/Forms/Textarea/TextareaRich.js +42 -0
  204. package/Forms/Textarea/index.d.ts +2 -0
  205. package/Forms/Textarea/index.js +2 -0
  206. package/Forms/Textarea/package.json +6 -0
  207. package/Forms/Toggle/Toggle.d.ts +19 -0
  208. package/Forms/Toggle/Toggle.js +80 -0
  209. package/Forms/Toggle/index.d.ts +1 -0
  210. package/Forms/Toggle/index.js +1 -0
  211. package/Forms/Toggle/package.json +6 -0
  212. package/Forms/Toggle/useToggle.d.ts +46 -0
  213. package/Forms/Toggle/useToggle.js +145 -0
  214. package/Forms/antispam.d.ts +24 -0
  215. package/Forms/antispam.js +56 -0
  216. package/Forms/helpers.d.ts +26 -0
  217. package/Forms/helpers.js +44 -0
  218. package/Forms/index.d.ts +15 -0
  219. package/Forms/index.js +16 -0
  220. package/Forms/package.json +6 -0
  221. package/Forms/styles.d.ts +19 -0
  222. package/Forms/styles.js +60 -0
  223. package/Gauge/Gauge.d.ts +5 -0
  224. package/Gauge/Gauge.js +102 -0
  225. package/Grid/Grid.d.ts +64 -0
  226. package/Grid/Grid.js +79 -0
  227. package/Grid/index.d.ts +1 -0
  228. package/Grid/index.js +1 -0
  229. package/Grid/package.json +6 -0
  230. package/Hamburger/Hamburger.d.ts +6 -0
  231. package/Hamburger/Hamburger.js +64 -0
  232. package/Hamburger/index.d.ts +1 -0
  233. package/Hamburger/index.js +1 -0
  234. package/Hamburger/package.json +6 -0
  235. package/Header/index.d.ts +1 -0
  236. package/Header/index.js +1 -0
  237. package/Header/package.json +6 -0
  238. package/Header/useHeader.d.ts +24 -0
  239. package/Header/useHeader.js +30 -0
  240. package/Hidden/Hidden.d.ts +6 -0
  241. package/Hidden/Hidden.js +14 -0
  242. package/Hidden/index.d.ts +1 -0
  243. package/Hidden/index.js +1 -0
  244. package/Hidden/package.json +6 -0
  245. package/Img/index.d.ts +1 -0
  246. package/Img/index.js +1 -0
  247. package/Img/package.json +6 -0
  248. package/Img/sc/bare.d.ts +2 -0
  249. package/Img/sc/bare.js +37 -0
  250. package/Img/types.d.ts +9 -0
  251. package/Img/types.js +1 -0
  252. package/Link/Link.d.ts +5 -0
  253. package/Link/Link.js +2 -0
  254. package/Link/LinkBlank.d.ts +8 -0
  255. package/Link/LinkBlank.js +26 -0
  256. package/Link/index.d.ts +2 -0
  257. package/Link/index.js +2 -0
  258. package/Link/package.json +6 -0
  259. package/Menu/Menu.d.ts +1 -0
  260. package/Menu/Menu.js +11 -0
  261. package/Menu/index.d.ts +1 -0
  262. package/Menu/index.js +1 -0
  263. package/Menu/package.json +6 -0
  264. package/MenuItem/MenuItem.d.ts +4 -0
  265. package/MenuItem/MenuItem.js +20 -0
  266. package/MenuItem/index.d.ts +1 -0
  267. package/MenuItem/index.js +1 -0
  268. package/MenuItem/package.json +6 -0
  269. package/Meta/Meta.d.ts +14 -0
  270. package/Meta/Meta.js +4 -0
  271. package/Meta/index.d.ts +1 -0
  272. package/Meta/index.js +1 -0
  273. package/Meta/package.json +6 -0
  274. package/NoJs/NoJs.d.ts +2 -0
  275. package/NoJs/NoJs.js +6 -0
  276. package/NoJs/index.d.ts +1 -0
  277. package/NoJs/index.js +1 -0
  278. package/NoJs/package.json +6 -0
  279. package/Pagination/PaginationNav.d.ts +22 -0
  280. package/Pagination/PaginationNav.js +83 -0
  281. package/Pagination/PaginationResults.d.ts +3 -0
  282. package/Pagination/PaginationResults.js +10 -0
  283. package/Pagination/index.d.ts +2 -0
  284. package/Pagination/index.js +2 -0
  285. package/Pagination/package.json +6 -0
  286. package/Pill/Pill.d.ts +5 -0
  287. package/Pill/Pill.js +37 -0
  288. package/Pill/index.d.ts +1 -0
  289. package/Pill/index.js +1 -0
  290. package/Pill/package.json +6 -0
  291. package/Progress/ProgressCircular.d.ts +19 -0
  292. package/Progress/ProgressCircular.js +36 -0
  293. package/Progress/ProgressLinear.d.ts +22 -0
  294. package/Progress/ProgressLinear.js +32 -0
  295. package/Progress/ProgressOverlay.d.ts +4 -0
  296. package/Progress/ProgressOverlay.js +40 -0
  297. package/Progress/index.d.ts +3 -0
  298. package/Progress/index.js +3 -0
  299. package/Progress/package.json +6 -0
  300. package/Rating/Rating.d.ts +35 -0
  301. package/Rating/Rating.js +91 -0
  302. package/Rating/index.d.ts +11 -0
  303. package/Rating/index.js +45 -0
  304. package/Rating/package.json +6 -0
  305. package/Select/SelectDownshift.d.ts +5 -0
  306. package/Select/SelectDownshift.js +38 -0
  307. package/Select/components.d.ts +6 -0
  308. package/Select/components.js +18 -0
  309. package/Select/index.d.ts +2 -0
  310. package/Select/index.js +3 -0
  311. package/Select/package.json +6 -0
  312. package/Sidebar/Sidebar.d.ts +3 -0
  313. package/Sidebar/Sidebar.js +48 -0
  314. package/Sidebar/index.d.ts +1 -0
  315. package/Sidebar/index.js +1 -0
  316. package/Sidebar/package.json +6 -0
  317. package/Spacing/Spacing.d.ts +30 -0
  318. package/Spacing/Spacing.js +45 -0
  319. package/Spacing/index.d.ts +1 -0
  320. package/Spacing/index.js +1 -0
  321. package/Spacing/package.json +6 -0
  322. package/Sticky/Sticky.d.ts +2 -0
  323. package/Sticky/Sticky.js +219 -0
  324. package/Sticky/StickyCss.d.ts +5 -0
  325. package/Sticky/StickyCss.js +4 -0
  326. package/Sticky/index.d.ts +1 -0
  327. package/Sticky/index.js +1 -0
  328. package/Sticky/package.json +6 -0
  329. package/Tabs/TabsMui.d.ts +244 -0
  330. package/Tabs/TabsMui.js +43 -0
  331. package/Tabs/index.d.ts +1 -0
  332. package/Tabs/index.js +1 -0
  333. package/Tabs/package.json +6 -0
  334. package/Tabs/sc/bare.d.ts +5 -0
  335. package/Tabs/sc/bare.js +87 -0
  336. package/Tabs/tw/bare.d.ts +248 -0
  337. package/Tabs/tw/bare.js +15 -0
  338. package/Tabs/tw/material.d.ts +472 -0
  339. package/Tabs/tw/material.js +14 -0
  340. package/Tabs/useTabs.d.ts +43 -0
  341. package/Tabs/useTabs.js +44 -0
  342. package/Typography/CopyPasteVisible.d.ts +1 -0
  343. package/Typography/CopyPasteVisible.js +6 -0
  344. package/Typography/Native.d.ts +10 -0
  345. package/Typography/Native.js +47 -0
  346. package/Typography/ReadMore.d.ts +12 -0
  347. package/Typography/ReadMore.js +69 -0
  348. package/Typography/TextLoop.d.ts +16 -0
  349. package/Typography/TextLoop.js +49 -0
  350. package/Typography/TypeStairs.d.ts +6 -0
  351. package/Typography/TypeStairs.js +46 -0
  352. package/Typography/index.d.ts +5 -0
  353. package/Typography/index.js +5 -0
  354. package/Typography/package.json +6 -0
  355. package/css/index.d.ts +2 -0
  356. package/css/index.js +31 -0
  357. package/css/package.json +6 -0
  358. package/helpers/classed.d.ts +22 -0
  359. package/helpers/classed.js +65 -0
  360. package/helpers/extend-component.d.ts +28 -0
  361. package/helpers/extend-component.js +12 -0
  362. package/helpers/index.d.ts +3 -0
  363. package/helpers/index.js +2 -0
  364. package/helpers/package.json +6 -0
  365. package/hooks/index.d.ts +14 -0
  366. package/hooks/index.js +15 -0
  367. package/hooks/package.json +6 -0
  368. package/hooks/types.d.ts +8 -0
  369. package/hooks/types.js +1 -0
  370. package/hooks/useAsyncFn.d.ts +26 -0
  371. package/hooks/useAsyncFn.js +29 -0
  372. package/hooks/useDateLocale.d.ts +7 -0
  373. package/hooks/useDateLocale.js +29 -0
  374. package/hooks/useEffectOnce.d.ts +5 -0
  375. package/hooks/useEffectOnce.js +8 -0
  376. package/hooks/useFirstMountState.d.ts +4 -0
  377. package/hooks/useFirstMountState.js +12 -0
  378. package/hooks/useFocus.d.ts +4 -0
  379. package/hooks/useFocus.js +11 -0
  380. package/hooks/useId.d.ts +4 -0
  381. package/hooks/useId.js +7 -0
  382. package/hooks/useIsomorphicLayoutEffect.d.ts +5 -0
  383. package/hooks/useIsomorphicLayoutEffect.js +8 -0
  384. package/hooks/useMount.d.ts +4 -0
  385. package/hooks/useMount.js +9 -0
  386. package/hooks/useMountedState.d.ts +4 -0
  387. package/hooks/useMountedState.js +15 -0
  388. package/hooks/usePrevious.d.ts +1 -0
  389. package/hooks/usePrevious.js +8 -0
  390. package/hooks/useScrollPosition.d.ts +15 -0
  391. package/hooks/useScrollPosition.js +75 -0
  392. package/hooks/useScrollTo.d.ts +1 -0
  393. package/hooks/useScrollTo.js +19 -0
  394. package/hooks/useTraceUpdate.d.ts +4 -0
  395. package/hooks/useTraceUpdate.js +20 -0
  396. package/hooks/useUpdateEffect.d.ts +5 -0
  397. package/hooks/useUpdateEffect.js +14 -0
  398. package/hooks/useWindowSize.d.ts +1 -0
  399. package/hooks/useWindowSize.js +13 -0
  400. package/index.d.ts +1 -0
  401. package/index.js +5 -0
  402. package/m/MotionProvider.d.ts +37 -0
  403. package/m/MotionProvider.js +37 -0
  404. package/m/index.d.ts +6 -0
  405. package/m/index.js +6 -0
  406. package/m/lite.d.ts +2 -0
  407. package/m/lite.js +2 -0
  408. package/m/max.d.ts +2 -0
  409. package/m/max.js +2 -0
  410. package/m/package.json +6 -0
  411. package/node/Alert/Alert.js +21 -0
  412. package/node/Alert/index.js +4 -0
  413. package/node/Animations/Reveal.js +19 -0
  414. package/node/Animations/Underline.js +19 -0
  415. package/node/Animations/index.js +6 -0
  416. package/node/Animations/useReveal.js +74 -0
  417. package/node/Autocomplete/AutocompleteDownshift.js +161 -0
  418. package/node/Autocomplete/AutocompleteDownshiftMultiselect.js +356 -0
  419. package/node/Autocomplete/AutocompleteMui.js +175 -0
  420. package/node/Autocomplete/AutocompleteReach.js +115 -0
  421. package/node/Autocomplete/components.js +93 -0
  422. package/node/Autocomplete/helpers.js +32 -0
  423. package/node/Autocomplete/index.js +7 -0
  424. package/node/Bg/BgColor.js +36 -0
  425. package/node/Bg/BgPhoto.js +64 -0
  426. package/node/Bg/BgSvg.js +20 -0
  427. package/node/Bg/index.js +6 -0
  428. package/node/Breadcrumbs/Breadcrumbs.js +72 -0
  429. package/node/Breadcrumbs/index.js +4 -0
  430. package/node/Buttons/Button.js +83 -0
  431. package/node/Buttons/ButtonComposite.js +54 -0
  432. package/node/Buttons/ButtonFab.js +12 -0
  433. package/node/Buttons/ButtonLink.js +15 -0
  434. package/node/Buttons/IconButton.js +23 -0
  435. package/node/Buttons/index.js +8 -0
  436. package/node/Calendar/CalendarDaygridCell.js +55 -0
  437. package/node/Calendar/CalendarDaygridNav.js +27 -0
  438. package/node/Calendar/CalendarDaygridTable.js +60 -0
  439. package/node/Calendar/CalendarLegend.js +15 -0
  440. package/node/Calendar/calendar-api-google.js +99 -0
  441. package/node/Calendar/index.js +9 -0
  442. package/node/Calendar/types.js +2 -0
  443. package/node/Calendar/useCalendar.js +186 -0
  444. package/node/Calendar/utils.js +217 -0
  445. package/node/Carousel/Carousel.js +381 -0
  446. package/node/Carousel/CarouselCss.js +42 -0
  447. package/node/Carousel/index.js +4 -0
  448. package/node/Collapsable/Collapsable.js +4 -0
  449. package/node/Collapsable/CollapsableReach.js +253 -0
  450. package/node/Collapsable/index.js +5 -0
  451. package/node/Debug/Debug.js +26 -0
  452. package/node/Debug/index.js +4 -0
  453. package/node/Details/Details.js +65 -0
  454. package/node/Details/index.js +4 -0
  455. package/node/Dialog/DialogMui.js +82 -0
  456. package/node/Dialog/css/bare.js +23 -0
  457. package/node/Dialog/index.js +5 -0
  458. package/node/Dialog/m/bare.js +51 -0
  459. package/node/Dialog/m/basic.js +35 -0
  460. package/node/Dialog/m/index.js +8 -0
  461. package/node/Dialog/sc/bare.js +65 -0
  462. package/node/Dialog/sc/framer.js +19 -0
  463. package/node/Dialog/sc/framerMaterial.js +19 -0
  464. package/node/Dialog/sc/material.js +45 -0
  465. package/node/Dialog/tw/bare.js +40 -0
  466. package/node/Dialog/tw/elegant.js +21 -0
  467. package/node/Dialog/tw/framer.js +19 -0
  468. package/node/Dialog/tw/framerMaterial.js +19 -0
  469. package/node/Dialog/tw/material.js +21 -0
  470. package/node/Editor/Editor--tiptap.js +29 -0
  471. package/node/Editor/components.js +34 -0
  472. package/node/Editor/index.js +4 -0
  473. package/node/Favicon/FaviconTags.js +18 -0
  474. package/node/Favicon/index.js +4 -0
  475. package/node/Form/Form.js +63 -0
  476. package/node/Form/index.js +4 -0
  477. package/node/Form/sc/bare.js +33 -0
  478. package/node/Forms/Checkbox/Checkbox.js +28 -0
  479. package/node/Forms/Checkbox/index.js +4 -0
  480. package/node/Forms/Feedback/Feedback.js +15 -0
  481. package/node/Forms/Feedback/index.js +4 -0
  482. package/node/Forms/Field/Field.js +64 -0
  483. package/node/Forms/Field/FieldControl.js +47 -0
  484. package/node/Forms/Field/FieldHint.js +10 -0
  485. package/node/Forms/Field/index.js +5 -0
  486. package/node/Forms/Input/Input.js +27 -0
  487. package/node/Forms/Input/index.js +4 -0
  488. package/node/Forms/InputGroup/InputGroup.js +47 -0
  489. package/node/Forms/InputGroup/index.js +4 -0
  490. package/node/Forms/Label/Label.js +28 -0
  491. package/node/Forms/Label/index.js +4 -0
  492. package/node/Forms/Password/Password.js +34 -0
  493. package/node/Forms/Password/index.js +4 -0
  494. package/node/Forms/Radio/Radio.js +32 -0
  495. package/node/Forms/Radio/index.js +4 -0
  496. package/node/Forms/Switch/Switch.js +54 -0
  497. package/node/Forms/Switch/index.js +4 -0
  498. package/node/Forms/Textarea/Textarea.js +17 -0
  499. package/node/Forms/Textarea/TextareaRich.js +46 -0
  500. package/node/Forms/Textarea/index.js +5 -0
  501. package/node/Forms/Toggle/Toggle.js +86 -0
  502. package/node/Forms/Toggle/index.js +4 -0
  503. package/node/Forms/Toggle/useToggle.js +149 -0
  504. package/node/Forms/antispam.js +61 -0
  505. package/node/Forms/helpers.js +51 -0
  506. package/node/Forms/index.js +19 -0
  507. package/node/Forms/styles.js +64 -0
  508. package/node/Gauge/Gauge.js +106 -0
  509. package/node/Grid/Grid.js +83 -0
  510. package/node/Grid/index.js +4 -0
  511. package/node/Hamburger/Hamburger.js +69 -0
  512. package/node/Hamburger/index.js +4 -0
  513. package/node/Header/index.js +4 -0
  514. package/node/Header/useHeader.js +34 -0
  515. package/node/Hidden/Hidden.js +18 -0
  516. package/node/Hidden/index.js +4 -0
  517. package/node/Img/index.js +4 -0
  518. package/node/Img/sc/bare.js +41 -0
  519. package/node/Img/types.js +2 -0
  520. package/node/Link/Link.js +6 -0
  521. package/node/Link/LinkBlank.js +31 -0
  522. package/node/Link/index.js +5 -0
  523. package/node/Menu/Menu.js +15 -0
  524. package/node/Menu/index.js +4 -0
  525. package/node/MenuItem/MenuItem.js +24 -0
  526. package/node/MenuItem/index.js +4 -0
  527. package/node/Meta/Meta.js +8 -0
  528. package/node/Meta/index.js +4 -0
  529. package/node/NoJs/NoJs.js +10 -0
  530. package/node/NoJs/index.js +4 -0
  531. package/node/Pagination/PaginationNav.js +88 -0
  532. package/node/Pagination/PaginationResults.js +15 -0
  533. package/node/Pagination/index.js +5 -0
  534. package/node/Pill/Pill.js +41 -0
  535. package/node/Pill/index.js +4 -0
  536. package/node/Progress/ProgressCircular.js +41 -0
  537. package/node/Progress/ProgressLinear.js +37 -0
  538. package/node/Progress/ProgressOverlay.js +45 -0
  539. package/node/Progress/index.js +6 -0
  540. package/node/Rating/Rating.js +97 -0
  541. package/node/Rating/index.js +53 -0
  542. package/node/Select/SelectDownshift.js +41 -0
  543. package/node/Select/components.js +22 -0
  544. package/node/Select/index.js +7 -0
  545. package/node/Sidebar/Sidebar.js +53 -0
  546. package/node/Sidebar/index.js +4 -0
  547. package/node/Spacing/Spacing.js +50 -0
  548. package/node/Spacing/index.js +4 -0
  549. package/node/Sticky/Sticky.js +222 -0
  550. package/node/Sticky/StickyCss.js +8 -0
  551. package/node/Sticky/index.js +4 -0
  552. package/node/Tabs/TabsMui.js +47 -0
  553. package/node/Tabs/index.js +4 -0
  554. package/node/Tabs/sc/bare.js +87 -0
  555. package/node/Tabs/tw/bare.js +19 -0
  556. package/node/Tabs/tw/material.js +17 -0
  557. package/node/Tabs/useTabs.js +48 -0
  558. package/node/Typography/CopyPasteVisible.js +10 -0
  559. package/node/Typography/Native.js +51 -0
  560. package/node/Typography/ReadMore.js +74 -0
  561. package/node/Typography/TextLoop.js +54 -0
  562. package/node/Typography/TypeStairs.js +49 -0
  563. package/node/Typography/index.js +8 -0
  564. package/node/css/index.js +36 -0
  565. package/node/helpers/classed.js +69 -0
  566. package/node/helpers/extend-component.js +16 -0
  567. package/node/helpers/index.js +5 -0
  568. package/node/hooks/index.js +18 -0
  569. package/node/hooks/types.js +2 -0
  570. package/node/hooks/useAsyncFn.js +33 -0
  571. package/node/hooks/useDateLocale.js +56 -0
  572. package/node/hooks/useEffectOnce.js +12 -0
  573. package/node/hooks/useFirstMountState.js +16 -0
  574. package/node/hooks/useFocus.js +15 -0
  575. package/node/hooks/useId.js +11 -0
  576. package/node/hooks/useIsomorphicLayoutEffect.js +11 -0
  577. package/node/hooks/useMount.js +13 -0
  578. package/node/hooks/useMountedState.js +19 -0
  579. package/node/hooks/usePrevious.js +12 -0
  580. package/node/hooks/useScrollPosition.js +79 -0
  581. package/node/hooks/useScrollTo.js +23 -0
  582. package/node/hooks/useTraceUpdate.js +24 -0
  583. package/node/hooks/useUpdateEffect.js +18 -0
  584. package/node/hooks/useWindowSize.js +17 -0
  585. package/node/index.js +8 -0
  586. package/node/m/MotionProvider.js +41 -0
  587. package/node/m/index.js +9 -0
  588. package/node/m/lite.js +4 -0
  589. package/node/m/max.js +4 -0
  590. package/node/sc/index.js +37 -0
  591. package/node/scm/index.js +36 -0
  592. package/node/shared/index.js +11 -0
  593. package/node/styles/Body.js +21 -0
  594. package/node/styles/Global.js +53 -0
  595. package/node/styles/index.js +10 -0
  596. package/node/styles/media.js +156 -0
  597. package/node/styles/spacing.js +53 -0
  598. package/node/styles/styled.js +31 -0
  599. package/node/styles/theme--vanilla.js +59 -0
  600. package/node/styles/theme.js +45 -0
  601. package/node/tw/index.js +36 -0
  602. package/node/twm/index.js +36 -0
  603. package/node/types.js +2 -0
  604. package/package.json +3 -6
  605. package/sc/index.d.ts +30 -0
  606. package/sc/index.js +31 -0
  607. package/sc/package.json +6 -0
  608. package/scm/index.d.ts +29 -0
  609. package/scm/index.js +31 -0
  610. package/scm/package.json +6 -0
  611. package/shared/index.d.ts +8 -0
  612. package/shared/index.js +8 -0
  613. package/shared/package.json +6 -0
  614. package/styles/Body.d.ts +10 -0
  615. package/styles/Body.js +17 -0
  616. package/styles/Global.d.ts +15 -0
  617. package/styles/Global.js +50 -0
  618. package/styles/index.d.ts +7 -0
  619. package/styles/index.js +7 -0
  620. package/styles/media.d.ts +67 -0
  621. package/styles/media.js +150 -0
  622. package/styles/package.json +6 -0
  623. package/styles/spacing.d.ts +13 -0
  624. package/styles/spacing.js +46 -0
  625. package/styles/styled.d.ts +12 -0
  626. package/styles/styled.js +27 -0
  627. package/styles/theme--vanilla.d.ts +18 -0
  628. package/styles/theme--vanilla.js +53 -0
  629. package/styles/theme.d.ts +82 -0
  630. package/styles/theme.js +41 -0
  631. package/tw/index.d.ts +2 -0
  632. package/tw/index.js +31 -0
  633. package/tw/package.json +6 -0
  634. package/twm/index.d.ts +2 -0
  635. package/twm/index.js +31 -0
  636. package/twm/package.json +6 -0
  637. package/types.d.ts +10 -0
  638. package/types.js +1 -0
@@ -0,0 +1,145 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useCallback, useMemo } from "react";
3
+ import { useWatch } from "react-hook-form";
4
+ import { InputInvisible } from "../styles";
5
+ /**
6
+ * This hook is meant to powere Checkboxes, Switches and checkbox-like Radios
7
+ * components, it works in fact in two modes:
8
+ *
9
+ * 1: behaviour as standard checkbox
10
+ * yup validation would simply look like:
11
+ *
12
+ * ```ts
13
+ * privacy: boolean().required(),
14
+ * // add `.nullable()` if you do not provide a boolean `defaultValue`
15
+ * ```
16
+ *
17
+ * 2: beahviour as two radio for checkbox with custom true/false values as
18
+ * strings yup validation would look like:
19
+ *
20
+ * ```ts
21
+ * newsletter: string().oneOf(["yes", "no"]).required(),
22
+ * // add `.nullable()` if you do not provide a string `defaultValue`
23
+ *
24
+ * // to do not make it required and avoid triggering an error when the input is
25
+ * // untouched you need to set the default value of the input in the form
26
+ * // initialization's `defaultValues` as such:
27
+ *
28
+ * useForm({ defaultValues: { newsletter: "no" }})
29
+ * ```
30
+ *
31
+ * To enable this mode either pass the props `valueTrue` and `valueFalse` or
32
+ * an array of options with the shape of `Option`
33
+ */
34
+ export function useToggle(props, ref) {
35
+ const { name, control, register, label, options, value: propValue, ...restProps } = props;
36
+ let { id, valueTrue, valueFalse,
37
+ // defaultChecked,
38
+ // defaultValue,
39
+ // eslint-disable-next-line prefer-const
40
+ ...remainingInputProps } = restProps;
41
+ // use options data convention to pass on the true/false values
42
+ if (options) {
43
+ valueTrue = options
44
+ .filter((opt) => opt.value === "true")[0]
45
+ .label.toString();
46
+ valueFalse = options
47
+ .filter((opt) => opt.value === "false")[0]
48
+ .label.toString();
49
+ }
50
+ id = `switch-${name}`;
51
+ const idTrue = `${id}-true`;
52
+ const idFalse = `${id}-false`;
53
+ const isRadio = !!(valueTrue && valueFalse);
54
+ // // manage default values for both toggle modes
55
+ // defaultChecked = isUndefined(defaultChecked) ? false : defaultChecked;
56
+ // // TODO: maybe throw an error if the defaultValue that arrives here is not
57
+ // // a valid value
58
+ // defaultValue =
59
+ // defaultValue === valueTrue || defaultValue === valueFalse
60
+ // ? defaultValue
61
+ // : valueFalse;
62
+ // get the value either from the uncontrolled watched input or from the given
63
+ // prop to control the component
64
+ let value = useWatch({
65
+ name,
66
+ control,
67
+ // defaultValue: isRadio ? defaultValue : defaultChecked,
68
+ });
69
+ if (propValue) {
70
+ value = propValue;
71
+ }
72
+ // get the input props needed by react-hook-form, first check if we have
73
+ // a `register` function, then check if we have a `control` object or just
74
+ // rely on the `name` prop and `ref`, they probably would be passed alongside
75
+ // an `onChange` prop that is spreaded on the inputs
76
+ const inputProps = useMemo(() => {
77
+ return register
78
+ ? register(name)
79
+ : control
80
+ ? control.register(name)
81
+ : {
82
+ name,
83
+ ref,
84
+ };
85
+ }, [register, control, name, ref]);
86
+ /**
87
+ * Accessibility.
88
+ *
89
+ * Fake the spacebar keyboard behaviour on the radio mode of the checkbox.
90
+ * Without this *only* the arrow keys would change the checkbox state
91
+ */
92
+ const handleKeyDown = useCallback((event) => {
93
+ if (event.key === " ") {
94
+ event.preventDefault();
95
+ event.stopPropagation();
96
+ const firstInput = event.target;
97
+ const next = firstInput.nextElementSibling;
98
+ const prev = firstInput.previousElementSibling;
99
+ const secondInput = next?.tagName === "INPUT" ? next : prev;
100
+ let target = firstInput;
101
+ if (firstInput.checked) {
102
+ target = secondInput;
103
+ }
104
+ else {
105
+ if (!secondInput.checked) {
106
+ target =
107
+ firstInput.value === valueTrue ? firstInput : secondInput;
108
+ }
109
+ }
110
+ if (target)
111
+ target.click();
112
+ }
113
+ }, [valueTrue]);
114
+ // collect all the return values that are dependent on the current value
115
+ // of the input
116
+ const valueDependentProps = useMemo(() => ({
117
+ rootProps: {
118
+ htmlFor: isRadio
119
+ ? !value || value === valueFalse
120
+ ? idTrue
121
+ : idFalse
122
+ : id,
123
+ },
124
+ label: label ? label : value,
125
+ value,
126
+ }), [value, valueFalse, isRadio, id, idTrue, idFalse, label]);
127
+ const Inputs = useMemo(() => isRadio ? (_jsxs(_Fragment, { children: [_jsx(InputInvisible, { id: idFalse, ...inputProps, ...remainingInputProps, onKeyDown: handleKeyDown, type: "radio", value: valueFalse }), _jsx(InputInvisible, { id: idTrue, ...inputProps, ...remainingInputProps, onKeyDown: handleKeyDown, type: "radio", value: valueTrue })] })) : (_jsx(InputInvisible, { id: id, type: "checkbox", ...inputProps, ...remainingInputProps })), [
128
+ inputProps,
129
+ remainingInputProps,
130
+ handleKeyDown,
131
+ isRadio,
132
+ idFalse,
133
+ idTrue,
134
+ valueFalse,
135
+ valueTrue,
136
+ id,
137
+ // defaultChecked,
138
+ // defaultValue,
139
+ ]);
140
+ // console.log("useToggle: render", value);
141
+ return {
142
+ ...valueDependentProps,
143
+ Inputs,
144
+ };
145
+ }
@@ -0,0 +1,24 @@
1
+ import type { ObjectShape } from "yup/lib/object";
2
+ /**
3
+ * Encode form
4
+ *
5
+ * Takes a record of yup validations and outputs a `yup` schema with encoded
6
+ * names (antispam technique) and a record of the encoded/decoded input `name`s.
7
+ *
8
+ * We skip the names prefixed wth an underscore which are considered programmatic
9
+ * form data not created by user input.
10
+ */
11
+ export declare function encodeForm<T extends ObjectShape = {}>(validationRules: T): {
12
+ encodedSchema: import("yup/lib/object").RequiredObjectSchema<Record<string, T[keyof T]>, import("yup/lib/object").AnyObject, import("yup/lib/object").TypeOfShape<Record<string, T[keyof T]>>>;
13
+ encodedNames: Record<keyof T, string>;
14
+ };
15
+ /**
16
+ * Decode form data
17
+ *
18
+ * This function is meant to be used inside an api endpoint to gather an encoded
19
+ * form submit data and transform it to the decoded desired json data.
20
+ *
21
+ * Here too we skip encoding/decoding process for names prefixed wth an underscore
22
+ * which are considered programmatic form data not created by user input.
23
+ */
24
+ export declare function decodeForm<ReturnAs extends Record<string, unknown> = {}, FormData extends Record<string, unknown> = {}>(formData: FormData): ReturnAs;
@@ -0,0 +1,56 @@
1
+ import { object } from "yup";
2
+ import { encode, decode, isUndefined } from "@koine/utils";
3
+ /**
4
+ * Encode form
5
+ *
6
+ * Takes a record of yup validations and outputs a `yup` schema with encoded
7
+ * names (antispam technique) and a record of the encoded/decoded input `name`s.
8
+ *
9
+ * We skip the names prefixed wth an underscore which are considered programmatic
10
+ * form data not created by user input.
11
+ */
12
+ export function encodeForm(validationRules) {
13
+ const encoded = {};
14
+ const encodedNames = {};
15
+ for (const name in validationRules) {
16
+ if (!name.startsWith("_")) {
17
+ const encodedName = encode(name);
18
+ encoded[encodedName] = validationRules[name];
19
+ encodedNames[name] = encodedName;
20
+ }
21
+ }
22
+ // we need `.required()` to correctly infer the type @see
23
+ // https://github.com/jquense/yup/issues/946
24
+ const encodedSchema = object(encoded).required();
25
+ return { encodedSchema, encodedNames };
26
+ }
27
+ /**
28
+ * Decode form data
29
+ *
30
+ * This function is meant to be used inside an api endpoint to gather an encoded
31
+ * form submit data and transform it to the decoded desired json data.
32
+ *
33
+ * Here too we skip encoding/decoding process for names prefixed wth an underscore
34
+ * which are considered programmatic form data not created by user input.
35
+ */
36
+ export function decodeForm(formData) {
37
+ const json = {};
38
+ for (const encodedName in formData) {
39
+ const decodedName = decode(encodedName);
40
+ // always add underscore prefixed names as they are treated as internal
41
+ // private inputs outside of the honeypot system, normalise them here removing
42
+ // the underscore prefix
43
+ if (encodedName.startsWith("_")) {
44
+ // @ts-expect-error nevermind
45
+ json[encodedName.substring(1)] = formData[encodedName];
46
+ }
47
+ // if the decoded `name` is empty and the encoded `name` is defined honeypot passed
48
+ else if (!isUndefined(formData[encodedName]) &&
49
+ formData[decodedName] === "") {
50
+ // @ts-expect-error nevermind
51
+ json[decodedName] = formData[encodedName];
52
+ }
53
+ }
54
+ // console.log(formData, decoded, json);
55
+ return json;
56
+ }
@@ -0,0 +1,26 @@
1
+ /// <reference types="react" />
2
+ import type { Control, UseFormRegister, UseFormSetValue } from "react-hook-form";
3
+ import type { Option } from "../types";
4
+ declare type FormControlNativeType = "input" | "select" | "textarea";
5
+ declare type FormControlFieldValues = Record<string, any>;
6
+ export declare type FormControlNative<T extends FormControlNativeType = "input"> = Omit<React.ComponentPropsWithRef<T>, "name">;
7
+ export declare type FormControlProps<T extends FormControlFieldValues = any> = {
8
+ label?: React.ReactNode;
9
+ name: string;
10
+ control?: Control<T>;
11
+ register?: UseFormRegister<T>;
12
+ setValue?: UseFormSetValue<T>;
13
+ };
14
+ export declare type FormControl<TControlType extends FormControlNativeType = "input", TFieldValues extends FormControlFieldValues = any> = FormControlNative<TControlType> & FormControlProps<TFieldValues>;
15
+ export declare const normaliseOptions: (options?: (string | Option)[]) => Option[];
16
+ export declare function defaultOptionsFilterFn(options: Option[], inputValue?: string): Option[];
17
+ /**
18
+ * We are faking the native input `onChange` event
19
+ */
20
+ export declare function triggerOnChange<T extends HTMLElement = HTMLInputElement>(onChange?: React.ChangeEventHandler<T>, name?: string, value?: any): void;
21
+ /**
22
+ * @see https://hustle.bizongo.in/simulate-react-on-change-on-controlled-components-baa336920e04
23
+ * @deprecated
24
+ */
25
+ export declare function triggerChange(input: HTMLInputElement, value?: string): void;
26
+ export {};
@@ -0,0 +1,44 @@
1
+ import { isString, matchSorter } from "@koine/utils";
2
+ export const normaliseOptions = (options = []) => {
3
+ return options.map((option) => {
4
+ return isString(option)
5
+ ? {
6
+ label: option,
7
+ value: option,
8
+ }
9
+ : option;
10
+ });
11
+ };
12
+ export function defaultOptionsFilterFn(options, inputValue) {
13
+ if (!inputValue) {
14
+ return options;
15
+ }
16
+ return matchSorter(options, inputValue, { keys: ["value", "label"] });
17
+ }
18
+ /**
19
+ * We are faking the native input `onChange` event
20
+ */
21
+ export function triggerOnChange(onChange, name, value) {
22
+ // @ts-expect-error nevermind
23
+ if (onChange)
24
+ onChange({ target: { name, value } });
25
+ }
26
+ /**
27
+ * @see https://hustle.bizongo.in/simulate-react-on-change-on-controlled-components-baa336920e04
28
+ * @deprecated
29
+ */
30
+ export function triggerChange(input, value) {
31
+ const obj = window.Object;
32
+ if (!obj) {
33
+ // if (process.env["NODE_ENV"] !== "production") {
34
+ // console.warn("triggerChange: window.Object does not exists, bailing.");
35
+ // }
36
+ return;
37
+ }
38
+ // @ts-expect-error nevermind
39
+ const nativeInputValueSetter = obj.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value").set;
40
+ // @ts-expect-error nevermind
41
+ nativeInputValueSetter.call(input, value);
42
+ const inputEvent = new Event("input", { bubbles: true });
43
+ input.dispatchEvent(inputEvent);
44
+ }
@@ -0,0 +1,15 @@
1
+ export * from "./antispam";
2
+ export * from "./Checkbox";
3
+ export * from "./Input";
4
+ export * from "./InputGroup";
5
+ export * from "./Feedback";
6
+ export * from "./Field";
7
+ export * from "./InputGroup";
8
+ export * from "./Label";
9
+ export * from "./Password";
10
+ export * from "./Radio";
11
+ export * from "./Switch";
12
+ export * from "./Textarea";
13
+ export * from "./Toggle";
14
+ export * from "./helpers";
15
+ export * from "./styles";
package/Forms/index.js ADDED
@@ -0,0 +1,16 @@
1
+ export * from "./antispam";
2
+ export * from "./Checkbox";
3
+ export * from "./Input";
4
+ export * from "./InputGroup";
5
+ export * from "./Feedback";
6
+ export * from "./Field";
7
+ export * from "./InputGroup";
8
+ export * from "./Label";
9
+ export * from "./Password";
10
+ export * from "./Radio";
11
+ // export * from "./Select";
12
+ export * from "./Switch";
13
+ export * from "./Textarea";
14
+ export * from "./Toggle";
15
+ export * from "./helpers";
16
+ export * from "./styles";
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "main": "../node/Forms/index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1,19 @@
1
+ export declare const InputInvisible: import("styled-components").StyledComponent<"input", import("styled-components").DefaultTheme, {}, never>;
2
+ export declare const InputHoneypot: import("styled-components").StyledComponent<"input", import("styled-components").DefaultTheme, {
3
+ type: "text";
4
+ autoComplete: "new-password";
5
+ tabIndex: -1;
6
+ }, "tabIndex" | "type" | "autoComplete">;
7
+ export declare const InputProgress: import("styled-components").StyledComponent<(p: any) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
8
+ /**
9
+ * Remove the default light blue background on autofilled inputs. To be used as
10
+ * a function that outputs a CSS string.
11
+ *
12
+ * @see https://stackoverflow.com/a/62624824/1938970
13
+ */
14
+ export declare const inputResetAutofill = "\n &:-webkit-autofill,\n &:-webkit-autofill:hover,\n &:-webkit-autofill:focus,\n &:-webkit-autofill:active {\n -webkit-background-clip: text;\n }\n";
15
+ export declare const inputBorder = "\n border: 1px solid var(--forms-border-color);\n";
16
+ export declare const inputPadding = "\n padding: var(--forms-gutter-y) var(--forms-gutter-x);\n";
17
+ export declare const inputReset: string;
18
+ export declare const inputBase: string;
19
+ export declare const inputFocus: string;
@@ -0,0 +1,60 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import styled from "styled-components";
3
+ import { stateFocus } from "../styles/styled";
4
+ import { ProgressLinear } from "../Progress/ProgressLinear";
5
+ import { invisible } from "../styles/styled";
6
+ export const InputInvisible = styled.input `
7
+ ${invisible}
8
+ `;
9
+ export const InputHoneypot = styled(InputInvisible).attrs({
10
+ type: "text",
11
+ autoComplete: "new-password",
12
+ tabIndex: -1,
13
+ }) ``;
14
+ export const InputProgress = styled((p) => (_jsx(ProgressLinear, { fg: "var(--accent300)", bg: "var(--accent400)", ...p }))) `
15
+ position: absolute;
16
+ bottom: 0;
17
+ left: 0;
18
+ width: 100%;
19
+ `;
20
+ /**
21
+ * Remove the default light blue background on autofilled inputs. To be used as
22
+ * a function that outputs a CSS string.
23
+ *
24
+ * @see https://stackoverflow.com/a/62624824/1938970
25
+ */
26
+ export const inputResetAutofill = `
27
+ &:-webkit-autofill,
28
+ &:-webkit-autofill:hover,
29
+ &:-webkit-autofill:focus,
30
+ &:-webkit-autofill:active {
31
+ -webkit-background-clip: text;
32
+ }
33
+ `;
34
+ /* FIXME: find a nice way to override this styling from implementation */
35
+ // border-bottom: 1px solid var(--forms-border-color);
36
+ // border: 0;
37
+ export const inputBorder = `
38
+ border: 1px solid var(--forms-border-color);
39
+ `;
40
+ export const inputPadding = `
41
+ padding: var(--forms-gutter-y) var(--forms-gutter-x);
42
+ `;
43
+ export const inputReset = `
44
+ width: 100%;
45
+ min-height: 44px;
46
+ ${inputBorder}
47
+ ${inputPadding}
48
+ `;
49
+ export const inputBase = `
50
+ ${inputReset}
51
+ ${inputResetAutofill}
52
+ background: transparent;
53
+ `;
54
+ export const inputFocus = `
55
+ &:focus {
56
+ outline: 0px;
57
+ appearance: none;
58
+ ${stateFocus}
59
+ }
60
+ `;
@@ -0,0 +1,5 @@
1
+ export declare type GaugeProps = {
2
+ /** In percentage */
3
+ value: number;
4
+ };
5
+ export declare const Gauge: (_props: GaugeProps) => null;
package/Gauge/Gauge.js ADDED
@@ -0,0 +1,102 @@
1
+ // import styled, { keyframes } from "styled-components";
2
+ // import { m } from "framer-motion";
3
+ export const Gauge = (_props) => null;
4
+ // export type GaugeProps = {
5
+ // /** In percentage */
6
+ // value: number;
7
+ // };
8
+ // export const Gauge = ({
9
+ // value,
10
+ // counter = true,
11
+ // stroke,
12
+ // // emptyStroke = "#e2e2e2",
13
+ // emptyStroke = stroke,
14
+ // emptyStrokeOpacity = 0.25,
15
+ // // emptyStrokeOpacity = 1,
16
+ // duration = 3,
17
+ // delay = 0.5,
18
+ // size = 100,
19
+ // strokeWidth = 6,
20
+ // }) => {
21
+ // const radius = 45;
22
+ // const circumference = Math.ceil(2 * Math.PI * radius);
23
+ // const fillPercents = Math.abs(
24
+ // Math.ceil((circumference / 100) * (value - 100))
25
+ // );
26
+ // const transition = {
27
+ // duration: duration,
28
+ // delay: delay,
29
+ // ease: "easeIn",
30
+ // };
31
+ // const variants = {
32
+ // hidden: {
33
+ // strokeDashoffset: circumference,
34
+ // transition,
35
+ // },
36
+ // show: {
37
+ // strokeDashoffset: fillPercents,
38
+ // transition,
39
+ // },
40
+ // };
41
+ // return (
42
+ // <>
43
+ // <Flex justifyContent="center" alignItems="center">
44
+ // {counter && (
45
+ // <Box
46
+ // position="absolute"
47
+ // fontSize={size >= 100 ? 6 : 3}
48
+ // fontWeight={2}
49
+ // color="text500"
50
+ // >
51
+ // <Counter valueTo={value} totalDuration={duration + delay} />%
52
+ // </Box>
53
+ // )}
54
+ // <Box height={size}>
55
+ // <svg
56
+ // viewBox="0 0 100 100"
57
+ // version="1.1"
58
+ // xmlns="http://www.w3.org/2000/svg"
59
+ // width={size}
60
+ // height={size}
61
+ // >
62
+ // <circle
63
+ // cx="50"
64
+ // cy="50"
65
+ // r={radius}
66
+ // className="circle"
67
+ // strokeWidth={strokeWidth}
68
+ // stroke={emptyStroke}
69
+ // strokeOpacity={emptyStrokeOpacity}
70
+ // fill="transparent"
71
+ // />
72
+ // </svg>
73
+ // <svg
74
+ // viewBox="0 0 100 100"
75
+ // width={size}
76
+ // height={size}
77
+ // style={{
78
+ // position: "absolute",
79
+ // transform: "rotate(-90deg)",
80
+ // overflow: "visible",
81
+ // marginLeft: -size,
82
+ // }}
83
+ // >
84
+ // <m.circle
85
+ // cx="50"
86
+ // cy="50"
87
+ // r={radius}
88
+ // strokeWidth={strokeWidth}
89
+ // stroke={stroke}
90
+ // fill="transparent"
91
+ // strokeDashoffset={fillPercents}
92
+ // strokeDasharray={circumference}
93
+ // variants={variants}
94
+ // initial="hidden"
95
+ // animate={"show"}
96
+ // />
97
+ // </svg>
98
+ // </Box>
99
+ // </Flex>
100
+ // </>
101
+ // );
102
+ // };
package/Grid/Grid.d.ts ADDED
@@ -0,0 +1,64 @@
1
+ /// <reference types="react" />
2
+ import type { Theme, Breakpoint } from "../styles/theme";
3
+ export declare const GRID_COLUMNS = 12;
4
+ export declare const GRID_GUTTER_DEFAULT: keyof Theme["gutter"];
5
+ export declare type GridProps = {
6
+ /**
7
+ * @default "half"
8
+ */
9
+ $gutter?: keyof Theme["gutter"];
10
+ };
11
+ export declare type ContainerProps = React.PropsWithChildren<GridProps & {
12
+ size: Breakpoint;
13
+ clamp?: boolean;
14
+ }>;
15
+ export declare const Container: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, GridProps & {
16
+ size: Breakpoint;
17
+ clamp?: boolean | undefined;
18
+ } & {
19
+ children?: import("react").ReactNode;
20
+ }, never>;
21
+ export declare type ContainerFluidProps = React.PropsWithChildren<GridProps & {
22
+ size: Breakpoint;
23
+ }>;
24
+ export declare const ContainerFluid: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, GridProps & {
25
+ size: Breakpoint;
26
+ } & {
27
+ children?: import("react").ReactNode;
28
+ }, never>;
29
+ declare type Direction = "min" | "max";
30
+ export declare type RowProps = GridProps & {
31
+ $valign?: React.CSSProperties["alignItems"];
32
+ $reverse?: `${Direction}:${Breakpoint}`;
33
+ /**
34
+ * It forces child columns to be on one line overflowing the content when it does not fit,
35
+ * it is suggested to use with children having a minimum width not in percentage,
36
+ * for things like sliders and carousels
37
+ */
38
+ $noWrap?: boolean;
39
+ };
40
+ export declare const Row: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, GridProps & {
41
+ $valign?: React.CSSProperties["alignItems"];
42
+ $reverse?: "max:xs" | "max:sm" | "max:md" | "max:lg" | "max:xl" | "max:xxl" | "min:xs" | "min:sm" | "min:md" | "min:lg" | "min:xl" | "min:xxl" | undefined;
43
+ /**
44
+ * It forces child columns to be on one line overflowing the content when it does not fit,
45
+ * it is suggested to use with children having a minimum width not in percentage,
46
+ * for things like sliders and carousels
47
+ */
48
+ $noWrap?: boolean | undefined;
49
+ }, never>;
50
+ export declare type ColProps = GridProps & Partial<Record<Breakpoint, number>> & {
51
+ $width?: number;
52
+ $flex?: boolean;
53
+ $valign?: React.CSSProperties["alignItems"];
54
+ $auto?: boolean;
55
+ $offset?: string;
56
+ };
57
+ export declare const Col: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, GridProps & Partial<Record<Breakpoint, number>> & {
58
+ $width?: number | undefined;
59
+ $flex?: boolean | undefined;
60
+ $valign?: React.CSSProperties["alignItems"];
61
+ $auto?: boolean | undefined;
62
+ $offset?: string | undefined;
63
+ }, never>;
64
+ export {};
package/Grid/Grid.js ADDED
@@ -0,0 +1,79 @@
1
+ import styled from "styled-components";
2
+ export const GRID_COLUMNS = 12;
3
+ export const GRID_GUTTER_DEFAULT = "half";
4
+ export const Container = styled.div `
5
+ max-width: ${(p) => p.theme.breakpoints[p.size]}px;
6
+ margin: 0 auto;
7
+ padding: 0 ${(p) => p.theme.gutter[p.$gutter || GRID_GUTTER_DEFAULT]}px;
8
+ ${(p) => (p.clamp ? "overflow: hidden;" : "")}
9
+ `;
10
+ export const ContainerFluid = styled.div `
11
+ padding: 0 ${(p) => p.theme.gutter[p.$gutter || GRID_GUTTER_DEFAULT]}px;
12
+ `;
13
+ export const Row = styled.div `
14
+ margin: 0 -${(p) => p.theme.gutter[p.$gutter || GRID_GUTTER_DEFAULT]}px;
15
+ display: flex;
16
+ ${(p) => (p.$noWrap ? "overflow: auto;" : "flex-wrap: wrap;")}
17
+ ${(p) => (p.$valign ? `align-items: ${p.$valign}` : "")};
18
+ ${(p) => p.$reverse &&
19
+ `@media (${p.$reverse.split(":")[0]}-width: ${p.$reverse.split(":")[1]}px) {
20
+ flex-direction: row-reverse;
21
+ }`}
22
+ `;
23
+ export const Col = styled.div `
24
+ padding: 0 ${(p) => p.theme.gutter[p.$gutter || GRID_GUTTER_DEFAULT]}px;
25
+ display: ${(p) => (p.$flex ? "flex" : "block")};
26
+ ${(p) => (p.$valign ? "align-items: " + p.$valign : "")};
27
+ ${(p) => getColCss(p)};
28
+ `;
29
+ function getColWidth(breakpoints, breakpoint, value) {
30
+ const breakpointValue = breakpoints[breakpoint] + "px";
31
+ const width = (value * 100) / GRID_COLUMNS;
32
+ const cssValue = `
33
+ min-width: ${width}%;
34
+ flex: 0 0 ${width}%;
35
+ `;
36
+ if (breakpoint === Object.keys(breakpoints)[0]) {
37
+ return cssValue;
38
+ }
39
+ return `
40
+ @media (min-width: ${breakpointValue}){
41
+ ${cssValue}
42
+ }`;
43
+ }
44
+ function getColCss(props) {
45
+ const { $auto, $offset, $width } = props;
46
+ const { breakpoints } = props.theme;
47
+ let css = "";
48
+ if ($offset) {
49
+ const offsets = $offset.split(",");
50
+ for (let i = 0; i <= offsets.length; i++) {
51
+ if (offsets[i]) {
52
+ const [offsetBreakpoint, offsetSize] = offsets[i].split(":");
53
+ css += `
54
+ @media(min-width: ${breakpoints[offsetBreakpoint]}px){
55
+ margin-left: ${(100 * offsetSize) / GRID_COLUMNS}%;
56
+ }
57
+ `;
58
+ }
59
+ }
60
+ }
61
+ if ($width) {
62
+ // do nothing, width is set explicitly
63
+ }
64
+ else if ($auto) {
65
+ css += `flex: 0 0 auto; width: auto; max-width: none;`;
66
+ }
67
+ else {
68
+ for (const breakpoint in breakpoints) {
69
+ const value = props[breakpoint];
70
+ if (typeof value !== "undefined") {
71
+ css += getColWidth(breakpoints, breakpoint, value);
72
+ }
73
+ else if (breakpoint === "xs") {
74
+ css += getColWidth(breakpoints, breakpoint, 12);
75
+ }
76
+ }
77
+ }
78
+ return css;
79
+ }
@@ -0,0 +1 @@
1
+ export * from "./Grid";