@koine/react 1.0.9 → 1.0.12

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 (359) hide show
  1. package/Alert/Alert.js +7 -13
  2. package/Animations/Reveal.js +12 -10
  3. package/Animations/Underline.js +3 -13
  4. package/Animations/useReveal.js +18 -17
  5. package/Autocomplete/AutocompleteDownshift.js +1 -1
  6. package/Autocomplete/AutocompleteDownshiftMultiselect.js +1 -1
  7. package/Autocomplete/AutocompleteMui.js +61 -56
  8. package/Autocomplete/AutocompleteReach.js +1 -1
  9. package/Autocomplete/components.js +17 -72
  10. package/Autocomplete/helpers.js +1 -1
  11. package/Bg/BgColor.js +14 -24
  12. package/Bg/BgPhoto.js +11 -54
  13. package/Bg/BgSvg.js +6 -9
  14. package/Breadcrumbs/Breadcrumbs.js +14 -54
  15. package/Buttons/Button.js +8 -73
  16. package/Buttons/ButtonComposite.js +20 -41
  17. package/Buttons/ButtonFab.js +4 -6
  18. package/Buttons/ButtonLink.js +7 -6
  19. package/Buttons/IconButton.js +5 -17
  20. package/Calendar/CalendarDaygridCell.js +20 -14
  21. package/Calendar/CalendarDaygridNav.js +10 -9
  22. package/Calendar/CalendarDaygridTable.js +32 -30
  23. package/Calendar/CalendarLegend.js +7 -2
  24. package/Calendar/calendar-api-google.js +101 -68
  25. package/Calendar/useCalendar.js +114 -113
  26. package/Calendar/utils.js +73 -74
  27. package/Carousel/Carousel.js +1 -1
  28. package/Carousel/CarouselCss.js +14 -27
  29. package/Collapsable/Collapsable.d.ts +1 -1
  30. package/Collapsable/Collapsable.js +1 -1
  31. package/Collapsable/CollapsableReach.d.ts +4 -64
  32. package/Collapsable/CollapsableReach.js +247 -129
  33. package/Collapsable/index.d.ts +1 -1
  34. package/Collapsable/index.js +2 -1
  35. package/Debug/Debug.js +5 -17
  36. package/Details/Details.d.ts +114 -0
  37. package/Details/Details.js +65 -0
  38. package/Details/index.d.ts +1 -0
  39. package/Details/index.js +1 -0
  40. package/{Forms/Form → Details}/package.json +1 -1
  41. package/Dialog/DialogMui.d.ts +1 -1
  42. package/Dialog/DialogMui.js +22 -20
  43. package/Dialog/css/bare.js +17 -15
  44. package/Dialog/m/bare.js +17 -13
  45. package/Dialog/m/basic.js +2 -2
  46. package/Dialog/m/index.js +4 -4
  47. package/Dialog/sc/bare.js +25 -43
  48. package/Dialog/sc/framer.js +6 -6
  49. package/Dialog/sc/framerMaterial.js +6 -6
  50. package/Dialog/sc/material.js +17 -37
  51. package/Dialog/tw/bare.js +25 -19
  52. package/Dialog/tw/elegant.js +17 -15
  53. package/Dialog/tw/framer.js +6 -6
  54. package/Dialog/tw/framerMaterial.js +6 -6
  55. package/Dialog/tw/material.js +17 -15
  56. package/Editor/Editor--tiptap.js +14 -11
  57. package/Editor/components.js +6 -24
  58. package/Favicon/FaviconTags.js +2 -1
  59. package/Form/Form.d.ts +111 -0
  60. package/Form/Form.js +61 -0
  61. package/{Forms/Form → Form}/index.d.ts +0 -0
  62. package/{Forms/Form → Form}/index.js +0 -0
  63. package/Form/package.json +6 -0
  64. package/Form/sc/bare.d.ts +33 -0
  65. package/Form/sc/bare.js +20 -0
  66. package/Forms/Checkbox/Checkbox.js +9 -15
  67. package/Forms/Feedback/Feedback.js +6 -7
  68. package/Forms/Field/Field.js +15 -26
  69. package/Forms/Field/FieldControl.js +19 -15
  70. package/Forms/Field/FieldHint.js +3 -5
  71. package/Forms/Input/Input.js +10 -16
  72. package/Forms/InputGroup/InputGroup.js +9 -36
  73. package/Forms/Label/Label.js +5 -23
  74. package/Forms/Password/Password.js +10 -23
  75. package/Forms/Radio/Radio.js +15 -18
  76. package/Forms/Switch/Switch.js +9 -39
  77. package/Forms/Textarea/Textarea.js +6 -7
  78. package/Forms/Textarea/TextareaRich.js +10 -24
  79. package/Forms/Toggle/Toggle.js +21 -68
  80. package/Forms/Toggle/useToggle.js +29 -29
  81. package/Forms/antispam.js +12 -12
  82. package/Forms/helpers.js +8 -7
  83. package/Forms/index.d.ts +0 -1
  84. package/Forms/index.js +0 -1
  85. package/Forms/styles.js +12 -43
  86. package/Gauge/Gauge.js +1 -1
  87. package/Grid/Grid.js +25 -51
  88. package/Hamburger/Hamburger.js +35 -47
  89. package/Header/useHeader.js +12 -12
  90. package/Hidden/Hidden.js +9 -13
  91. package/Img/sc/bare.js +3 -1
  92. package/Link/Link.js +3 -1
  93. package/Link/LinkBlank.js +8 -17
  94. package/Menu/Menu.js +3 -10
  95. package/MenuItem/MenuItem.js +3 -19
  96. package/Meta/Meta.js +3 -2
  97. package/NoJs/NoJs.js +2 -2
  98. package/Pagination/PaginationNav.js +26 -48
  99. package/Pagination/PaginationResults.js +7 -6
  100. package/Pill/Pill.js +6 -36
  101. package/Progress/ProgressCircular.js +9 -30
  102. package/Progress/ProgressLinear.js +8 -16
  103. package/Progress/ProgressOverlay.js +11 -27
  104. package/Rating/Rating.js +26 -45
  105. package/Rating/index.js +19 -15
  106. package/Select/SelectDownshift.js +1 -1
  107. package/Select/components.js +6 -12
  108. package/Sidebar/Sidebar.js +13 -38
  109. package/Spacing/Spacing.js +12 -12
  110. package/Sticky/Sticky.js +1 -1
  111. package/Sticky/StickyCss.js +4 -2
  112. package/Tabs/TabsMui.d.ts +244 -0
  113. package/Tabs/TabsMui.js +46 -0
  114. package/Tabs/index.d.ts +1 -1
  115. package/Tabs/index.js +1 -1
  116. package/Tabs/sc/bare.d.ts +5 -0
  117. package/Tabs/sc/bare.js +87 -0
  118. package/Tabs/tw/bare.d.ts +248 -0
  119. package/Tabs/tw/bare.js +17 -0
  120. package/Tabs/tw/material.d.ts +472 -0
  121. package/Tabs/tw/material.js +18 -0
  122. package/Tabs/useTabs.d.ts +43 -0
  123. package/Tabs/useTabs.js +44 -0
  124. package/Typography/CopyPasteVisible.js +3 -5
  125. package/Typography/Native.js +12 -45
  126. package/Typography/ReadMore.js +26 -52
  127. package/Typography/TextLoop.js +19 -22
  128. package/Typography/TypeStairs.js +20 -16
  129. package/css/index.js +1 -0
  130. package/helpers/classed.js +22 -18
  131. package/helpers/extend-component.js +6 -6
  132. package/hooks/index.d.ts +8 -0
  133. package/hooks/index.js +8 -0
  134. package/hooks/types.d.ts +8 -0
  135. package/hooks/types.js +1 -0
  136. package/hooks/useAsyncFn.d.ts +26 -0
  137. package/hooks/useAsyncFn.js +36 -0
  138. package/hooks/useDateLocale.js +22 -13
  139. package/hooks/useEffectOnce.d.ts +5 -0
  140. package/hooks/useEffectOnce.js +8 -0
  141. package/hooks/useFirstMountState.d.ts +4 -0
  142. package/hooks/useFirstMountState.js +12 -0
  143. package/hooks/useFocus.js +3 -3
  144. package/hooks/useId.d.ts +4 -0
  145. package/hooks/useId.js +8 -0
  146. package/hooks/useIsomorphicLayoutEffect.d.ts +5 -0
  147. package/hooks/useIsomorphicLayoutEffect.js +8 -0
  148. package/hooks/useMount.d.ts +4 -0
  149. package/hooks/useMount.js +9 -0
  150. package/hooks/useMountedState.d.ts +4 -0
  151. package/hooks/useMountedState.js +15 -0
  152. package/hooks/usePrevious.js +2 -2
  153. package/hooks/useScrollPosition.js +21 -16
  154. package/hooks/useScrollTo.js +7 -5
  155. package/hooks/useTraceUpdate.js +4 -3
  156. package/hooks/useUpdateEffect.d.ts +5 -0
  157. package/hooks/useUpdateEffect.js +14 -0
  158. package/hooks/useWindowSize.js +3 -3
  159. package/m/MotionProvider.js +4 -2
  160. package/node/Alert/Alert.js +9 -16
  161. package/node/Alert/index.js +1 -1
  162. package/node/Animations/Reveal.js +15 -13
  163. package/node/Animations/Underline.js +5 -16
  164. package/node/Animations/index.js +1 -1
  165. package/node/Animations/useReveal.js +19 -18
  166. package/node/Autocomplete/AutocompleteMui.js +69 -64
  167. package/node/Autocomplete/components.js +26 -82
  168. package/node/Autocomplete/helpers.js +2 -2
  169. package/node/Bg/BgColor.js +18 -29
  170. package/node/Bg/BgPhoto.js +15 -59
  171. package/node/Bg/BgSvg.js +8 -12
  172. package/node/Bg/index.js +1 -1
  173. package/node/Breadcrumbs/Breadcrumbs.js +20 -61
  174. package/node/Breadcrumbs/index.js +1 -1
  175. package/node/Buttons/Button.js +10 -76
  176. package/node/Buttons/ButtonComposite.js +23 -45
  177. package/node/Buttons/ButtonFab.js +6 -9
  178. package/node/Buttons/ButtonLink.js +10 -10
  179. package/node/Buttons/IconButton.js +7 -20
  180. package/node/Buttons/index.js +1 -1
  181. package/node/Calendar/CalendarDaygridCell.js +24 -18
  182. package/node/Calendar/CalendarDaygridNav.js +14 -13
  183. package/node/Calendar/CalendarDaygridTable.js +39 -38
  184. package/node/Calendar/CalendarLegend.js +8 -3
  185. package/node/Calendar/calendar-api-google.js +105 -73
  186. package/node/Calendar/index.js +1 -1
  187. package/node/Calendar/useCalendar.js +117 -116
  188. package/node/Calendar/utils.js +82 -84
  189. package/node/Carousel/CarouselCss.js +17 -31
  190. package/node/Carousel/index.js +1 -1
  191. package/node/Collapsable/Collapsable.js +2 -2
  192. package/node/Collapsable/CollapsableReach.js +246 -134
  193. package/node/Collapsable/index.js +3 -2
  194. package/node/Debug/Debug.js +7 -20
  195. package/node/Debug/index.js +1 -1
  196. package/node/Details/Details.js +67 -0
  197. package/node/Details/index.js +4 -0
  198. package/node/Dialog/DialogMui.js +12 -11
  199. package/node/Dialog/css/bare.js +11 -10
  200. package/node/Dialog/m/bare.js +18 -14
  201. package/node/Dialog/m/basic.js +1 -1
  202. package/node/Dialog/m/index.js +4 -4
  203. package/node/Dialog/sc/bare.js +22 -41
  204. package/node/Dialog/sc/framer.js +5 -5
  205. package/node/Dialog/sc/framerMaterial.js +5 -5
  206. package/node/Dialog/sc/material.js +12 -33
  207. package/node/Dialog/tw/bare.js +19 -14
  208. package/node/Dialog/tw/elegant.js +11 -9
  209. package/node/Dialog/tw/framer.js +5 -5
  210. package/node/Dialog/tw/framerMaterial.js +5 -5
  211. package/node/Dialog/tw/material.js +11 -9
  212. package/node/Editor/Editor--tiptap.js +19 -17
  213. package/node/Editor/components.js +9 -28
  214. package/node/Editor/index.js +1 -1
  215. package/node/Favicon/FaviconTags.js +3 -2
  216. package/node/Favicon/index.js +1 -1
  217. package/node/Form/Form.js +65 -0
  218. package/node/{Forms/Form → Form}/index.js +1 -1
  219. package/node/Form/sc/bare.js +23 -0
  220. package/node/Forms/Checkbox/Checkbox.js +13 -20
  221. package/node/Forms/Checkbox/index.js +1 -1
  222. package/node/Forms/Feedback/Feedback.js +8 -10
  223. package/node/Forms/Feedback/index.js +1 -1
  224. package/node/Forms/Field/Field.js +18 -30
  225. package/node/Forms/Field/FieldControl.js +26 -22
  226. package/node/Forms/Field/FieldHint.js +4 -7
  227. package/node/Forms/Field/index.js +1 -1
  228. package/node/Forms/Input/Input.js +15 -22
  229. package/node/Forms/Input/index.js +1 -1
  230. package/node/Forms/InputGroup/InputGroup.js +14 -42
  231. package/node/Forms/InputGroup/index.js +1 -1
  232. package/node/Forms/Label/Label.js +6 -25
  233. package/node/Forms/Label/index.js +1 -1
  234. package/node/Forms/Password/Password.js +16 -30
  235. package/node/Forms/Password/index.js +1 -1
  236. package/node/Forms/Radio/Radio.js +21 -25
  237. package/node/Forms/Radio/index.js +1 -1
  238. package/node/Forms/Switch/Switch.js +15 -46
  239. package/node/Forms/Switch/index.js +1 -1
  240. package/node/Forms/Textarea/Textarea.js +11 -13
  241. package/node/Forms/Textarea/TextareaRich.js +16 -31
  242. package/node/Forms/Textarea/index.js +1 -1
  243. package/node/Forms/Toggle/Toggle.js +24 -72
  244. package/node/Forms/Toggle/index.js +1 -1
  245. package/node/Forms/Toggle/useToggle.js +33 -33
  246. package/node/Forms/antispam.js +14 -14
  247. package/node/Forms/helpers.js +9 -8
  248. package/node/Forms/index.js +1 -2
  249. package/node/Forms/styles.js +16 -48
  250. package/node/Gauge/Gauge.js +1 -1
  251. package/node/Grid/Grid.js +24 -51
  252. package/node/Grid/index.js +1 -1
  253. package/node/Hamburger/Hamburger.js +37 -50
  254. package/node/Hamburger/index.js +1 -1
  255. package/node/Header/index.js +1 -1
  256. package/node/Header/useHeader.js +16 -16
  257. package/node/Hidden/Hidden.js +10 -15
  258. package/node/Hidden/index.js +1 -1
  259. package/node/Img/index.js +1 -1
  260. package/node/Img/sc/bare.js +4 -3
  261. package/node/Link/Link.js +4 -3
  262. package/node/Link/LinkBlank.js +11 -21
  263. package/node/Link/index.js +1 -1
  264. package/node/Menu/Menu.js +4 -12
  265. package/node/Menu/index.js +1 -1
  266. package/node/MenuItem/MenuItem.js +4 -21
  267. package/node/MenuItem/index.js +1 -1
  268. package/node/Meta/Meta.js +4 -3
  269. package/node/Meta/index.js +1 -1
  270. package/node/NoJs/NoJs.js +3 -3
  271. package/node/NoJs/index.js +1 -1
  272. package/node/Pagination/PaginationNav.js +30 -53
  273. package/node/Pagination/PaginationResults.js +10 -10
  274. package/node/Pagination/index.js +1 -1
  275. package/node/Pill/Pill.js +7 -38
  276. package/node/Pill/index.js +1 -1
  277. package/node/Progress/ProgressCircular.js +11 -33
  278. package/node/Progress/ProgressLinear.js +11 -20
  279. package/node/Progress/ProgressOverlay.js +18 -35
  280. package/node/Progress/index.js +1 -1
  281. package/node/Rating/Rating.js +28 -48
  282. package/node/Rating/index.js +20 -16
  283. package/node/Select/components.js +11 -18
  284. package/node/Sidebar/Sidebar.js +21 -47
  285. package/node/Sidebar/index.js +1 -1
  286. package/node/Spacing/Spacing.js +16 -17
  287. package/node/Spacing/index.js +1 -1
  288. package/node/Sticky/StickyCss.js +5 -3
  289. package/node/Sticky/index.js +1 -1
  290. package/node/Tabs/TabsMui.js +49 -0
  291. package/node/Tabs/index.js +2 -2
  292. package/node/Tabs/sc/bare.js +87 -0
  293. package/node/Tabs/tw/bare.js +20 -0
  294. package/node/Tabs/tw/material.js +21 -0
  295. package/node/Tabs/useTabs.js +48 -0
  296. package/node/Typography/CopyPasteVisible.js +4 -7
  297. package/node/Typography/Native.js +14 -48
  298. package/node/Typography/ReadMore.js +30 -57
  299. package/node/Typography/TextLoop.js +22 -25
  300. package/node/Typography/TypeStairs.js +22 -18
  301. package/node/Typography/index.js +1 -1
  302. package/node/css/index.js +2 -1
  303. package/node/helpers/classed.js +23 -19
  304. package/node/helpers/extend-component.js +7 -7
  305. package/node/helpers/index.js +1 -1
  306. package/node/hooks/index.js +9 -1
  307. package/node/hooks/types.js +2 -0
  308. package/node/hooks/useAsyncFn.js +40 -0
  309. package/node/hooks/useDateLocale.js +23 -37
  310. package/node/hooks/useEffectOnce.js +12 -0
  311. package/node/hooks/useFirstMountState.js +16 -0
  312. package/node/hooks/useFocus.js +4 -4
  313. package/node/hooks/useId.js +12 -0
  314. package/node/hooks/useIsomorphicLayoutEffect.js +11 -0
  315. package/node/hooks/useMount.js +13 -0
  316. package/node/hooks/useMountedState.js +19 -0
  317. package/node/hooks/usePrevious.js +3 -3
  318. package/node/hooks/useScrollPosition.js +23 -19
  319. package/node/hooks/useScrollTo.js +9 -7
  320. package/node/hooks/useTraceUpdate.js +5 -4
  321. package/node/hooks/useUpdateEffect.js +18 -0
  322. package/node/hooks/useWindowSize.js +4 -4
  323. package/node/index.js +1 -1
  324. package/node/m/MotionProvider.js +6 -4
  325. package/node/m/index.js +1 -1
  326. package/node/m/lite.js +1 -1
  327. package/node/m/max.js +1 -1
  328. package/node/sc/index.js +4 -2
  329. package/node/scm/index.js +2 -1
  330. package/node/shared/index.js +1 -1
  331. package/node/styles/Body.js +5 -10
  332. package/node/styles/Global.js +5 -37
  333. package/node/styles/index.js +1 -1
  334. package/node/styles/media.js +42 -38
  335. package/node/styles/spacing.js +15 -16
  336. package/node/styles/styled.js +7 -21
  337. package/node/styles/theme--vanilla.js +21 -19
  338. package/node/styles/theme.js +9 -9
  339. package/node/tw/index.js +2 -1
  340. package/node/twm/index.js +2 -1
  341. package/package.json +20 -9
  342. package/sc/index.d.ts +1 -0
  343. package/sc/index.js +1 -0
  344. package/scm/index.js +1 -0
  345. package/styles/Body.js +4 -8
  346. package/styles/Global.js +4 -36
  347. package/styles/media.js +41 -36
  348. package/styles/spacing.js +15 -16
  349. package/styles/styled.js +7 -21
  350. package/styles/theme--vanilla.js +21 -19
  351. package/styles/theme.js +11 -11
  352. package/tw/index.js +1 -0
  353. package/twm/index.js +1 -0
  354. package/Forms/Form/Form.d.ts +0 -31
  355. package/Forms/Form/Form.js +0 -62
  356. package/Tabs/Tabs.d.ts +0 -27
  357. package/Tabs/Tabs.js +0 -62
  358. package/node/Forms/Form/Form.js +0 -67
  359. package/node/Tabs/Tabs.js +0 -67
@@ -1,28 +1,10 @@
1
+ import { __makeTemplateObject } from "tslib";
1
2
  import styled, { createGlobalStyle } from "styled-components";
2
3
  import { IconButton } from "../Buttons/IconButton";
3
4
  import { inputPadding, inputBorder, inputFocus } from "../Forms/styles";
4
5
  export { MdFormatBold as EditorIconBold, MdFormatItalic as EditorIconItalic, } from "react-icons/md";
5
- export const EditorRoot = styled.div `
6
- ${inputBorder}
7
- ${inputFocus}
8
- `;
9
- export const EditorBarRoot = styled.div `
10
- display: flex;
11
- justify-content: flex-end;
12
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
13
- /* background: var(--grey900); */
14
- `;
15
- export const EditorBarBtn = styled(IconButton) ``;
16
- export const EditorGlobalStyles = createGlobalStyle `
17
- .ProseMirror {
18
- ${inputPadding}
19
-
20
- &:focus {
21
- outline:none;
22
- }
23
-
24
- > *:first-child {
25
- margin-top: 0;
26
- }
27
- }
28
- `;
6
+ export var EditorRoot = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n ", "\n"], ["\n ", "\n ", "\n"])), inputBorder, inputFocus);
7
+ export var EditorBarRoot = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n justify-content: flex-end;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n /* background: var(--grey900); */\n"], ["\n display: flex;\n justify-content: flex-end;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n /* background: var(--grey900); */\n"])));
8
+ export var EditorBarBtn = styled(IconButton)(templateObject_3 || (templateObject_3 = __makeTemplateObject([""], [""])));
9
+ export var EditorGlobalStyles = createGlobalStyle(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n .ProseMirror {\n ", "\n \n &:focus {\n outline:none;\n }\n\n > *:first-child {\n margin-top: 0;\n }\n }\n"], ["\n .ProseMirror {\n ", "\n \n &:focus {\n outline:none;\n }\n\n > *:first-child {\n margin-top: 0;\n }\n }\n"])), inputPadding);
10
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -9,6 +9,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
9
9
  *
10
10
  * @see https://realfavicongenerator.net/
11
11
  */
12
- export const FaviconTags = ({ name, color, safariTabColor, tileColor, themeColor, }) => {
12
+ export var FaviconTags = function (_a) {
13
+ var name = _a.name, color = _a.color, safariTabColor = _a.safariTabColor, tileColor = _a.tileColor, themeColor = _a.themeColor;
13
14
  return (_jsxs(_Fragment, { children: [_jsx("link", { rel: "apple-touch-icon", sizes: "180x180", href: "/apple-touch-icon.png" }), _jsx("link", { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicon-32x32.png" }), _jsx("link", { rel: "icon", type: "image/png", sizes: "16x16", href: "/favicon-16x16.png" }), _jsx("link", { rel: "manifest", href: "/site.webmanifest" }), _jsx("link", { rel: "mask-icon", href: "/safari-pinned-tab.svg", color: safariTabColor || color }), _jsx("meta", { name: "apple-mobile-web-app-title", content: name }), _jsx("meta", { name: "application-name", content: name }), _jsx("meta", { name: "msapplication-TileColor", content: tileColor || color }), _jsx("meta", { name: "theme-color", content: themeColor || color })] }));
14
15
  };
package/Form/Form.d.ts ADDED
@@ -0,0 +1,111 @@
1
+ /// <reference types="react" />
2
+ import { type WithComponents, type Simplify } from "../helpers";
3
+ export declare type OwnProps = React.PropsWithChildren<{
4
+ action: string;
5
+ ok?: boolean;
6
+ okProps?: object;
7
+ fail?: boolean;
8
+ failProps?: object;
9
+ loading?: boolean;
10
+ /** Whether the form should collapse on `ok` */
11
+ collapseOnOk?: boolean;
12
+ /** Whether the form should collapse on `fail` */
13
+ collapseOnFail?: boolean;
14
+ /**
15
+ * Determines the time (in ms) that the `Ok` component wait before collapsing
16
+ * When <= 0 the `Ok` component will persist
17
+ *
18
+ * @default 3000 */
19
+ okTimeout?: number;
20
+ /**
21
+ * Determines the time (in ms) that the `Fail` component wait before collapsing
22
+ * When <= 0 the `Fail` component will persist
23
+ *
24
+ * @default 3000 */
25
+ failTimeout?: number;
26
+ }>;
27
+ export declare type Components = {
28
+ Root: {
29
+ type: "form";
30
+ props: {};
31
+ };
32
+ Overlay: {
33
+ type: "div";
34
+ props: {};
35
+ };
36
+ Progress: {
37
+ type: "div";
38
+ props: {};
39
+ };
40
+ Collapsable: {
41
+ type: "div";
42
+ props: {
43
+ $open?: boolean;
44
+ recalc?: boolean;
45
+ body?: React.ReactNode;
46
+ };
47
+ };
48
+ Ok: {
49
+ type: "div";
50
+ props: React.PropsWithChildren<{}>;
51
+ };
52
+ Fail: {
53
+ type: "div";
54
+ props: React.PropsWithChildren<{}>;
55
+ };
56
+ };
57
+ export declare type ComponentsProps = {
58
+ [Name in keyof Components]: Components[Name]["props"];
59
+ };
60
+ export declare type Props = Simplify<WithComponents<OwnProps, Components>>;
61
+ export declare type FormProps = Props;
62
+ export declare type KoineFormProps = Props;
63
+ export declare const Root: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "key" | keyof import("react").FormHTMLAttributes<HTMLFormElement>>>;
64
+ export declare const Overlay: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>;
65
+ export declare const Progress: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>;
66
+ export declare const Collapsable: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
67
+ $open?: boolean | undefined;
68
+ recalc?: boolean | undefined;
69
+ body?: React.ReactNode;
70
+ }>;
71
+ export declare const Ok: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
72
+ children?: import("react").ReactNode;
73
+ }>;
74
+ export declare const Fail: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
75
+ children?: import("react").ReactNode;
76
+ }>;
77
+ export declare type FormFeedbackView = "" | "ok" | "fail";
78
+ export declare const Form: ({ Root: _Root, Overlay: _Overlay, Progress: _Progress, Collapsable: _Collapsable, ok, fail, loading, Ok: _Ok, okProps, Fail: _Fail, failProps, collapseOnOk, collapseOnFail, okTimeout, failTimeout, children, ...props }: FormProps) => JSX.Element;
79
+ export declare const KoineForm: ((props: Simplify<WithComponents<OwnProps, Components>>) => import("react").FunctionComponentElement<any>) & {
80
+ Root: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "key" | keyof import("react").FormHTMLAttributes<HTMLFormElement>>>;
81
+ Overlay: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>;
82
+ Progress: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>;
83
+ Collapsable: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
84
+ $open?: boolean | undefined;
85
+ recalc?: boolean | undefined;
86
+ body?: React.ReactNode;
87
+ }>;
88
+ Ok: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
89
+ children?: import("react").ReactNode;
90
+ }>;
91
+ Fail: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
92
+ children?: import("react").ReactNode;
93
+ }>;
94
+ } & {
95
+ defaultProps: {
96
+ Root: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "key" | keyof import("react").FormHTMLAttributes<HTMLFormElement>>>;
97
+ Overlay: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>;
98
+ Progress: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>;
99
+ Collapsable: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
100
+ $open?: boolean | undefined;
101
+ recalc?: boolean | undefined;
102
+ body?: React.ReactNode;
103
+ }>;
104
+ Ok: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
105
+ children?: import("react").ReactNode;
106
+ }>;
107
+ Fail: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
108
+ children?: import("react").ReactNode;
109
+ }>;
110
+ };
111
+ };
package/Form/Form.js ADDED
@@ -0,0 +1,61 @@
1
+ import { __assign, __rest } from "tslib";
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useState } from "react";
4
+ // import { type MotionProps } from "framer-motion";
5
+ import { extendComponent, } from "../helpers";
6
+ export var Root = "form";
7
+ export var Overlay = "div";
8
+ export var Progress = "div";
9
+ export var Collapsable = "div";
10
+ export var Ok = null;
11
+ export var Fail = null;
12
+ export var Form = function (_a) {
13
+ var _Root = _a.Root, _Overlay = _a.Overlay, _Progress = _a.Progress, _Collapsable = _a.Collapsable, ok = _a.ok, fail = _a.fail, loading = _a.loading, _Ok = _a.Ok, _b = _a.okProps, okProps = _b === void 0 ? {
14
+ children: "Sent!",
15
+ } : _b, _Fail = _a.Fail, _c = _a.failProps, failProps = _c === void 0 ? {
16
+ children: "Failed.",
17
+ } : _c, collapseOnOk = _a.collapseOnOk, collapseOnFail = _a.collapseOnFail, _d = _a.okTimeout, okTimeout = _d === void 0 ? 3000 : _d, _e = _a.failTimeout, failTimeout = _e === void 0 ? 3000 : _e, children = _a.children, props = __rest(_a, ["Root", "Overlay", "Progress", "Collapsable", "ok", "fail", "loading", "Ok", "okProps", "Fail", "failProps", "collapseOnOk", "collapseOnFail", "okTimeout", "failTimeout", "children"]);
18
+ var _f = useState(""), open = _f[0], setOpen = _f[1];
19
+ var commonProps = {
20
+ head: null,
21
+ components: {
22
+ HeadIcon: null,
23
+ },
24
+ };
25
+ useEffect(function () {
26
+ if (!loading) {
27
+ if (ok)
28
+ setOpen("ok");
29
+ else if (fail)
30
+ setOpen("fail");
31
+ }
32
+ }, [ok, fail, loading]);
33
+ useEffect(function () {
34
+ var timeout;
35
+ if (open === "fail" && failTimeout) {
36
+ timeout = setTimeout(function () { return setOpen(""); }, failTimeout);
37
+ }
38
+ else if (open === "ok" && okTimeout) {
39
+ timeout = setTimeout(function () { return setOpen(""); }, okTimeout);
40
+ }
41
+ return function () {
42
+ if (timeout) {
43
+ clearTimeout(timeout);
44
+ }
45
+ };
46
+ }, [open, failTimeout, okTimeout]);
47
+ var formExpanded = true;
48
+ if (collapseOnFail && fail)
49
+ formExpanded = false;
50
+ if (collapseOnOk && ok)
51
+ formExpanded = false;
52
+ return (_jsxs(Root, __assign({ method: "post", noValidate: true }, props, { children: [_jsx(Collapsable, __assign({}, commonProps, { "$open": formExpanded, recalc: loading, body: _jsxs(_Fragment, { children: [children, loading && (_jsx(Overlay, { children: _jsx(Progress, {}) }))] }) })), _jsx(Collapsable, __assign({}, commonProps, { "$open": open === "ok" && !loading, body: _jsx(Ok, __assign({}, okProps)) })), _jsx(Collapsable, __assign({}, commonProps, { "$open": open === "fail" && !loading, body: _jsx(Fail, __assign({}, failProps)) }))] })));
53
+ };
54
+ export var KoineForm = extendComponent(Form, {
55
+ Root: Root,
56
+ Overlay: Overlay,
57
+ Progress: Progress,
58
+ Collapsable: Collapsable,
59
+ Ok: Ok,
60
+ Fail: Fail,
61
+ });
File without changes
File without changes
@@ -0,0 +1,6 @@
1
+ {
2
+ "sideEffects": false,
3
+ "module": "./index.js",
4
+ "main": "../node/Form/index.js",
5
+ "types": "./index.d.ts"
6
+ }
@@ -0,0 +1,33 @@
1
+ /// <reference types="react" />
2
+ import * as _ from "../Form";
3
+ export type { KoineFormProps } from "../Form";
4
+ export declare const Root: import("styled-components").StyledComponent<import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "key" | keyof import("react").FormHTMLAttributes<HTMLFormElement>>>, import("styled-components").DefaultTheme, {}, never>;
5
+ export declare const Overlay: import("styled-components").StyledComponent<import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>, import("styled-components").DefaultTheme, {}, never>;
6
+ export declare const Feedback: import("styled-components").StyledComponent<({ $danger, children, ...props }: import("../../Alert").AlertProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
7
+ export declare const KoineForm: ((props: import("type-fest/source/simplify").Simplify<import("../../helpers").WithComponents<_.OwnProps, _.Components>>) => import("react").FunctionComponentElement<any>) & {
8
+ Root: import("styled-components").StyledComponent<import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "key" | keyof import("react").FormHTMLAttributes<HTMLFormElement>>>, import("styled-components").DefaultTheme, {}, never>;
9
+ Overlay: import("styled-components").StyledComponent<import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>, import("styled-components").DefaultTheme, {}, never>;
10
+ Progress: ({ size, thickness, color, ...props }: {
11
+ [x: string]: any;
12
+ size?: string | undefined;
13
+ thickness?: number | undefined;
14
+ color?: string | undefined;
15
+ }) => JSX.Element;
16
+ Collapsable: null;
17
+ Ok: import("styled-components").StyledComponent<({ $danger, children, ...props }: import("../../Alert").AlertProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
18
+ Fail: import("styled-components").StyledComponent<({ $danger, children, ...props }: import("../../Alert").AlertProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
19
+ } & {
20
+ defaultProps: {
21
+ Root: import("styled-components").StyledComponent<import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "key" | keyof import("react").FormHTMLAttributes<HTMLFormElement>>>, import("styled-components").DefaultTheme, {}, never>;
22
+ Overlay: import("styled-components").StyledComponent<import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>, import("styled-components").DefaultTheme, {}, never>;
23
+ Progress: ({ size, thickness, color, ...props }: {
24
+ [x: string]: any;
25
+ size?: string | undefined;
26
+ thickness?: number | undefined;
27
+ color?: string | undefined;
28
+ }) => JSX.Element;
29
+ Collapsable: null;
30
+ Ok: import("styled-components").StyledComponent<({ $danger, children, ...props }: import("../../Alert").AlertProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
31
+ Fail: import("styled-components").StyledComponent<({ $danger, children, ...props }: import("../../Alert").AlertProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
32
+ };
33
+ };
@@ -0,0 +1,20 @@
1
+ import { __makeTemplateObject } from "tslib";
2
+ import styled from "styled-components";
3
+ import { overlay, centered } from "../../styles/styled";
4
+ import { Collapsable } from "../../Collapsable";
5
+ import { ProgressCircular } from "../../Progress";
6
+ import { Alert } from "../../Alert";
7
+ import { extendComponent } from "../../helpers";
8
+ import * as _ from "../Form";
9
+ export var Root = styled(_.Root)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"])));
10
+ export var Overlay = styled(_.Overlay)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n z-index: 4;\n ", "\n ", "\n background: rgba(var(--bodyBg--rgb),.8);\n pointer-events: none;\n backdrop-filter: blur(2px);\n"], ["\n z-index: 4;\n ", "\n ", "\n background: rgba(var(--bodyBg--rgb),.8);\n pointer-events: none;\n backdrop-filter: blur(2px);\n"])), overlay, centered);
11
+ export var Feedback = styled(Alert)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: 2em 0;\n"], ["\n padding: 2em 0;\n"])));
12
+ export var KoineForm = extendComponent(_.KoineForm, {
13
+ Root: Root,
14
+ Overlay: Overlay,
15
+ Progress: ProgressCircular,
16
+ Collapsable: Collapsable,
17
+ Ok: Feedback,
18
+ Fail: Feedback,
19
+ });
20
+ var templateObject_1, templateObject_2, templateObject_3;
@@ -1,24 +1,18 @@
1
+ import { __assign, __makeTemplateObject } from "tslib";
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { forwardRef } from "react";
3
4
  import styled from "styled-components";
4
5
  import { Toggle, ToggleLabel, ToggleIndicatorSquared } from "../Toggle";
5
6
  import { useToggle } from "../Toggle/useToggle";
6
- export const CheckboxRoot = styled.label `
7
- display: flex;
8
- align-items: center;
9
- cursor: pointer;
10
- `;
11
- export const CheckboxToggle = styled(Toggle) `
12
- pointer-events: none;
13
- `;
14
- export const CheckboxIndicator = styled(ToggleIndicatorSquared) ``;
15
- export const CheckboxLabel = styled(ToggleLabel) `
16
- font-size: 0.8em;
17
- `;
7
+ export var CheckboxRoot = styled.label(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n cursor: pointer;\n"], ["\n display: flex;\n align-items: center;\n cursor: pointer;\n"])));
8
+ export var CheckboxToggle = styled(Toggle)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n pointer-events: none;\n"], ["\n pointer-events: none;\n"])));
9
+ export var CheckboxIndicator = styled(ToggleIndicatorSquared)(templateObject_3 || (templateObject_3 = __makeTemplateObject([""], [""])));
10
+ export var CheckboxLabel = styled(ToggleLabel)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n font-size: 0.8em;\n"], ["\n font-size: 0.8em;\n"])));
18
11
  /**
19
12
  * All logic and invisible Inputs come from the `useToggle` hook
20
13
  */
21
- export const Checkbox = forwardRef(function Checkbox(props, ref) {
22
- const { rootProps, Inputs, label } = useToggle(props, ref);
23
- return (_jsxs(CheckboxRoot, { ...rootProps, children: [_jsxs(CheckboxToggle, { children: [Inputs, _jsx(CheckboxIndicator, {})] }), label && _jsx(CheckboxLabel, { children: label })] }));
14
+ export var Checkbox = forwardRef(function Checkbox(props, ref) {
15
+ var _a = useToggle(props, ref), rootProps = _a.rootProps, Inputs = _a.Inputs, label = _a.label;
16
+ return (_jsxs(CheckboxRoot, __assign({}, rootProps, { children: [_jsxs(CheckboxToggle, { children: [Inputs, _jsx(CheckboxIndicator, {})] }), label && _jsx(CheckboxLabel, { children: label })] })));
24
17
  });
18
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -1,10 +1,9 @@
1
+ import { __assign, __makeTemplateObject } from "tslib";
1
2
  import { jsx as _jsx } from "react/jsx-runtime";
2
3
  import styled from "styled-components";
3
- const Root = styled.div `
4
- margin-top: 0.2em;
5
- font-size: 12px;
6
- ${(p) => (p.$danger ? `color: var(--danger);` : "")}
7
- `;
8
- export const Feedback = ({ $danger, children }) => {
9
- return (_jsx(Root, { role: "alert", "$danger": $danger, children: children }));
4
+ var Root = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-top: 0.2em;\n font-size: 12px;\n ", "\n"], ["\n margin-top: 0.2em;\n font-size: 12px;\n ", "\n"])), function (p) { return (p.$danger ? "color: var(--danger);" : ""); });
5
+ export var Feedback = function (_a) {
6
+ var $danger = _a.$danger, children = _a.children;
7
+ return (_jsx(Root, __assign({ role: "alert", "$danger": $danger }, { children: children })));
10
8
  };
9
+ var templateObject_1;
@@ -1,26 +1,13 @@
1
+ import { __assign, __makeTemplateObject, __rest } from "tslib";
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import styled, { css } from "styled-components";
3
4
  import { Feedback } from "../Feedback";
4
- export const field = css `
5
- padding-bottom: 20px;
6
- `;
7
- export const FieldBase = styled.div `
8
- ${field}
9
- `;
10
- export const FieldRoot = styled(FieldBase) `
11
- ${(p) => {
5
+ export var field = css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding-bottom: 20px;\n"], ["\n padding-bottom: 20px;\n"])));
6
+ export var FieldBase = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), field);
7
+ export var FieldRoot = styled(FieldBase)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (p) {
12
8
  return (p.$danger &&
13
- `
14
- color: var(--danger);
15
-
16
- textarea,
17
- input,
18
- select {
19
- color: var(--danger);
20
- }
21
- `);
22
- }}
23
- `;
9
+ "\n color: var(--danger);\n \n textarea,\n input,\n select {\n color: var(--danger);\n }\n ");
10
+ });
24
11
  /**
25
12
  * Yup's errors produce by these validations:
26
13
  *
@@ -33,17 +20,18 @@ export const FieldRoot = styled(FieldBase) `
33
20
  * We assume these as standard translations keys without needing to pass
34
21
  * a string into the validation, e.g. `required("mySpecialKey")`.
35
22
  */
36
- const YUP_ERROR_TYPES_AS_KEYS = {
23
+ var YUP_ERROR_TYPES_AS_KEYS = {
37
24
  required: 1,
38
25
  email: 1,
39
26
  };
40
- export const Field = ({ name, t, error, errors, children, ...props }) => {
41
- const err = errors && name ? errors[name] : error;
42
- let msg = "";
27
+ export var Field = function (_a) {
28
+ var name = _a.name, t = _a.t, error = _a.error, errors = _a.errors, children = _a.children, props = __rest(_a, ["name", "t", "error", "errors", "children"]);
29
+ var err = errors && name ? errors[name] : error;
30
+ var msg = "";
43
31
  if (err) {
44
32
  if (name && t && err.type !== "plain") {
45
- const translationKey = err.type && YUP_ERROR_TYPES_AS_KEYS[err.type] ? err.type : "";
46
- msg = t(`errors.${name}.${translationKey || err.message}`);
33
+ var translationKey = err.type && YUP_ERROR_TYPES_AS_KEYS[err.type] ? err.type : "";
34
+ msg = t("errors.".concat(name, ".").concat(translationKey || err.message));
47
35
  }
48
36
  else {
49
37
  msg = err.message;
@@ -55,5 +43,6 @@ export const Field = ({ name, t, error, errors, children, ...props }) => {
55
43
  // useEffect(() => {
56
44
  // i18n.addResourceBundle(locale, "core.Forms", null);
57
45
  // }, []);
58
- return (_jsxs(FieldRoot, { "$danger": !!err, ...props, children: [children, msg && _jsx(Feedback, { "$danger": true, children: msg })] }));
46
+ return (_jsxs(FieldRoot, __assign({ "$danger": !!err }, props, { children: [children, msg && _jsx(Feedback, __assign({ "$danger": true }, { children: msg }))] })));
59
47
  };
48
+ var templateObject_1, templateObject_2, templateObject_3;
@@ -1,3 +1,4 @@
1
+ import { __assign, __rest } from "tslib";
1
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
3
  import { useMemo } from "react";
3
4
  import { useFormState } from "react-hook-form";
@@ -15,20 +16,23 @@ import { InputHoneypot } from "../styles";
15
16
  * ```json
16
17
  * ```
17
18
  */
18
- export const FieldControl = ({ control, register, setValue, name: maybeEncodedName, label, placeholder, hint, t, showError = true, children, encode, ...props }) => {
19
- const name = encode ? decode(maybeEncodedName) : maybeEncodedName;
20
- const { errors } = useFormState({ name, control });
21
- const error = showError && errors[name] ? errors[name] : null;
22
- const FormFieldContent = useMemo(() => children({
23
- control,
24
- register,
25
- setValue,
26
- name: maybeEncodedName,
27
- // @see https://github.com/vinissimus/next-translate/pull/461
28
- // @see https://github.com/vinissimus/next-translate/issues/429
29
- label: label || t(`labels.${name}`, undefined, { default: "" }),
30
- placeholder: placeholder || t(`placeholders.${name}`, undefined, { fallback: "" }),
31
- }), [
19
+ export var FieldControl = function (_a) {
20
+ var control = _a.control, register = _a.register, setValue = _a.setValue, maybeEncodedName = _a.name, label = _a.label, placeholder = _a.placeholder, hint = _a.hint, t = _a.t, _b = _a.showError, showError = _b === void 0 ? true : _b, children = _a.children, encode = _a.encode, props = __rest(_a, ["control", "register", "setValue", "name", "label", "placeholder", "hint", "t", "showError", "children", "encode"]);
21
+ var name = encode ? decode(maybeEncodedName) : maybeEncodedName;
22
+ var errors = useFormState({ name: name, control: control }).errors;
23
+ var error = showError && errors[name] ? errors[name] : null;
24
+ var FormFieldContent = useMemo(function () {
25
+ return children({
26
+ control: control,
27
+ register: register,
28
+ setValue: setValue,
29
+ name: maybeEncodedName,
30
+ // @see https://github.com/vinissimus/next-translate/pull/461
31
+ // @see https://github.com/vinissimus/next-translate/issues/429
32
+ label: label || t("labels.".concat(name), undefined, { default: "" }),
33
+ placeholder: placeholder || t("placeholders.".concat(name), undefined, { fallback: "" }),
34
+ });
35
+ }, [
32
36
  children,
33
37
  control,
34
38
  register,
@@ -39,5 +43,5 @@ export const FieldControl = ({ control, register, setValue, name: maybeEncodedNa
39
43
  maybeEncodedName,
40
44
  placeholder,
41
45
  ]);
42
- return (_jsxs(_Fragment, { children: [_jsxs(Field, { name: maybeEncodedName, t: t, error: error, ...props, children: [FormFieldContent, hint && _jsx(FieldHint, { children: hint })] }), encode && register && _jsx(InputHoneypot, { ...register(name) })] }));
46
+ return (_jsxs(_Fragment, { children: [_jsxs(Field, __assign({ name: maybeEncodedName, t: t, error: error }, props, { children: [FormFieldContent, hint && _jsx(FieldHint, { children: hint })] })), encode && register && _jsx(InputHoneypot, __assign({}, register(name)))] }));
43
47
  };
@@ -1,6 +1,4 @@
1
+ import { __makeTemplateObject } from "tslib";
1
2
  import styled from "styled-components";
2
- export const FieldHint = styled.div `
3
- padding-top: 0.6em;
4
- opacity: 0.7;
5
- font-size: 75%;
6
- `;
3
+ export var FieldHint = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding-top: 0.6em;\n opacity: 0.7;\n font-size: 75%;\n"], ["\n padding-top: 0.6em;\n opacity: 0.7;\n font-size: 75%;\n"])));
4
+ var templateObject_1;
@@ -1,23 +1,17 @@
1
+ import { __assign, __makeTemplateObject, __rest } from "tslib";
1
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { forwardRef } from "react";
3
4
  import styled from "styled-components";
4
5
  import { Label } from "../Label/Label";
5
6
  import { inputBase, inputFocus } from "../styles";
6
- export const InputWrap = styled.div `
7
- display: flex;
8
- align-items: center;
9
- justify-content: space-between;
10
- `;
11
- export const InputMain = styled.div `
12
- flex: 1;
13
- `;
14
- export const InputPre = styled.div ``;
15
- export const InputPost = styled.div ``;
16
- export const InputNative = styled.input `
17
- ${inputBase}
18
- ${inputFocus}
19
- `;
20
- export const Input = forwardRef(function Input({ register, name, label, ...props }, ref) {
7
+ export var InputWrap = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n"], ["\n display: flex;\n align-items: center;\n justify-content: space-between;\n"])));
8
+ export var InputMain = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n flex: 1;\n"], ["\n flex: 1;\n"])));
9
+ export var InputPre = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([""], [""])));
10
+ export var InputPost = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([""], [""])));
11
+ export var InputNative = styled.input(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", "\n ", "\n"], ["\n ", "\n ", "\n"])), inputBase, inputFocus);
12
+ export var Input = forwardRef(function Input(_a, ref) {
13
+ var register = _a.register, name = _a.name, label = _a.label, props = __rest(_a, ["register", "name", "label"]);
21
14
  // console.log("Input: render");
22
- return (_jsxs(_Fragment, { children: [label && _jsx(Label, { children: label }), _jsx(InputNative, { ...(register ? register(name) : { name, ref }), ...props })] }));
15
+ return (_jsxs(_Fragment, { children: [label && _jsx(Label, { children: label }), _jsx(InputNative, __assign({}, (register ? register(name) : { name: name, ref: ref }), props))] }));
23
16
  });
17
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -1,42 +1,15 @@
1
+ import { __assign, __makeTemplateObject, __rest } from "tslib";
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import styled from "styled-components";
3
4
  import { KoineButton } from "../../Buttons";
4
5
  import { field } from "../Field";
5
6
  import { max, min } from "../../styles/media";
6
- export const InputGroupRoot = styled.div `
7
- ${field}
8
- display: flex;
9
- ${max.sm} {
10
- flex-direction: column;
11
- }
12
- `;
13
- export const InputGroupMain = styled.div `
14
- flex: 1;
15
- `;
16
- export const InputGroupButtonPre = styled(KoineButton) `
17
- ${max.sm} {
18
- border-bottom: 0;
19
- border-bottom-left-radius: 0;
20
- border-bottom-right-radius: 0;
21
- }
22
- ${min.sm} {
23
- border-right: 0;
24
- border-top-right-radius: 0;
25
- border-bottom-right-radius: 0;
26
- }
27
- `;
28
- export const InputGroupButtonPost = styled(KoineButton) `
29
- ${max.sm} {
30
- border-top: 0;
31
- border-top-left-radius: 0;
32
- border-top-right-radius: 0;
33
- }
34
- ${min.sm} {
35
- border-left: 0;
36
- border-top-left-radius: 0;
37
- border-bottom-left-radius: 0;
38
- }
39
- `;
40
- export const InputGroup = ({ pre, post, Button = KoineButton, btnProps = {}, children, ...props }) => {
41
- return (_jsxs(InputGroupRoot, { ...props, children: [pre && _jsx(InputGroupButtonPre, { as: Button, ...btnProps }), _jsx(InputGroupMain, { children: children }), post && _jsx(InputGroupButtonPost, { as: Button, ...btnProps })] }));
7
+ export var InputGroupRoot = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n display: flex;\n ", " {\n flex-direction: column;\n }\n"], ["\n ", "\n display: flex;\n ", " {\n flex-direction: column;\n }\n"])), field, max.sm);
8
+ export var InputGroupMain = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n flex: 1;\n"], ["\n flex: 1;\n"])));
9
+ export var InputGroupButtonPre = styled(KoineButton)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", " {\n border-bottom: 0;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n ", " {\n border-right: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n"], ["\n ", " {\n border-bottom: 0;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n ", " {\n border-right: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n"])), max.sm, min.sm);
10
+ export var InputGroupButtonPost = styled(KoineButton)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", " {\n border-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n ", " {\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n"], ["\n ", " {\n border-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n ", " {\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n"])), max.sm, min.sm);
11
+ export var InputGroup = function (_a) {
12
+ var pre = _a.pre, post = _a.post, _b = _a.Button, Button = _b === void 0 ? KoineButton : _b, _c = _a.btnProps, btnProps = _c === void 0 ? {} : _c, children = _a.children, props = __rest(_a, ["pre", "post", "Button", "btnProps", "children"]);
13
+ return (_jsxs(InputGroupRoot, __assign({}, props, { children: [pre && _jsx(InputGroupButtonPre, __assign({ as: Button }, btnProps)), _jsx(InputGroupMain, { children: children }), post && _jsx(InputGroupButtonPost, __assign({ as: Button }, btnProps))] })));
42
14
  };
15
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
@@ -1,24 +1,6 @@
1
+ import { __makeTemplateObject } from "tslib";
1
2
  import styled from "styled-components";
2
- export const label = `
3
- display: flex;
4
- font-size: 13px;
5
- cursor: pointer;
6
- `;
7
- export const labelMaterial = `
8
- z-index: 2;
9
- position: relative;
10
- display: inline-block;
11
- padding: 0 5px;
12
- font-weight: 100;
13
- font-size: 10px;
14
- background: var(--bodyBg);
15
- transform: translateY(-0.3em) translateX(1em);
16
- cursor: pointer;
17
-
18
- + * {
19
- margin-top: -1em;
20
- }
21
- `;
22
- export const Label = styled.label `
23
- ${labelMaterial}
24
- `;
3
+ export var label = "\n display: flex;\n font-size: 13px;\n cursor: pointer;\n";
4
+ export var labelMaterial = "\n z-index: 2;\n position: relative;\n display: inline-block;\n padding: 0 5px;\n font-weight: 100;\n font-size: 10px;\n background: var(--bodyBg);\n transform: translateY(-0.3em) translateX(1em);\n cursor: pointer;\n\n + * {\n margin-top: -1em;\n }\n";
5
+ export var Label = styled.label(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), labelMaterial);
6
+ var templateObject_1;