@koine/react 1.0.11 → 1.0.14

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 (323) 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 +12 -26
  29. package/Collapsable/Collapsable.js +1 -1
  30. package/Debug/Debug.js +5 -17
  31. package/Details/Details.js +30 -27
  32. package/Dialog/DialogMui.js +22 -20
  33. package/Dialog/css/bare.js +17 -15
  34. package/Dialog/m/bare.js +17 -13
  35. package/Dialog/m/basic.js +2 -2
  36. package/Dialog/m/index.js +4 -4
  37. package/Dialog/sc/bare.js +25 -43
  38. package/Dialog/sc/framer.js +6 -6
  39. package/Dialog/sc/framerMaterial.js +6 -6
  40. package/Dialog/sc/material.js +17 -37
  41. package/Dialog/tw/bare.js +25 -19
  42. package/Dialog/tw/elegant.js +17 -15
  43. package/Dialog/tw/framer.js +6 -6
  44. package/Dialog/tw/framerMaterial.js +6 -6
  45. package/Dialog/tw/material.js +17 -15
  46. package/Editor/Editor--tiptap.js +14 -11
  47. package/Editor/components.js +6 -24
  48. package/Favicon/FaviconTags.js +2 -1
  49. package/Form/Form.js +30 -28
  50. package/Form/sc/bare.js +9 -18
  51. package/Forms/Checkbox/Checkbox.js +9 -15
  52. package/Forms/Feedback/Feedback.js +6 -7
  53. package/Forms/Field/Field.js +15 -26
  54. package/Forms/Field/FieldControl.js +19 -15
  55. package/Forms/Field/FieldHint.js +3 -5
  56. package/Forms/Input/Input.js +10 -16
  57. package/Forms/InputGroup/InputGroup.js +9 -36
  58. package/Forms/Label/Label.js +5 -23
  59. package/Forms/Password/Password.js +10 -23
  60. package/Forms/Radio/Radio.js +15 -18
  61. package/Forms/Switch/Switch.js +9 -39
  62. package/Forms/Textarea/Textarea.js +6 -7
  63. package/Forms/Textarea/TextareaRich.js +10 -24
  64. package/Forms/Toggle/Toggle.js +19 -67
  65. package/Forms/Toggle/useToggle.d.ts +1 -1
  66. package/Forms/Toggle/useToggle.js +30 -30
  67. package/Forms/antispam.js +12 -12
  68. package/Forms/helpers.js +7 -6
  69. package/Forms/styles.js +12 -43
  70. package/Gauge/Gauge.js +1 -1
  71. package/Grid/Grid.js +25 -51
  72. package/Hamburger/Hamburger.js +35 -47
  73. package/Header/useHeader.js +12 -12
  74. package/Hidden/Hidden.js +9 -13
  75. package/Img/sc/bare.js +3 -1
  76. package/Link/Link.js +3 -1
  77. package/Link/LinkBlank.js +8 -17
  78. package/Menu/Menu.js +3 -10
  79. package/MenuItem/MenuItem.js +3 -19
  80. package/Meta/Meta.js +3 -2
  81. package/NoJs/NoJs.js +2 -2
  82. package/Pagination/PaginationNav.js +26 -48
  83. package/Pagination/PaginationResults.js +7 -6
  84. package/Pill/Pill.js +6 -36
  85. package/Progress/ProgressCircular.js +9 -30
  86. package/Progress/ProgressLinear.js +8 -16
  87. package/Progress/ProgressOverlay.js +11 -27
  88. package/Rating/Rating.js +24 -44
  89. package/Rating/index.js +19 -15
  90. package/Select/SelectDownshift.js +1 -1
  91. package/Select/components.js +6 -12
  92. package/Sidebar/Sidebar.js +13 -38
  93. package/Spacing/Spacing.js +12 -12
  94. package/Sticky/Sticky.js +1 -1
  95. package/Sticky/StickyCss.js +4 -2
  96. package/Tabs/TabsMui.js +19 -16
  97. package/Tabs/tw/bare.js +13 -11
  98. package/Tabs/tw/material.js +15 -11
  99. package/Tabs/useTabs.js +16 -16
  100. package/Typography/CopyPasteVisible.js +3 -5
  101. package/Typography/Native.js +12 -45
  102. package/Typography/ReadMore.js +25 -51
  103. package/Typography/TextLoop.js +19 -22
  104. package/Typography/TypeStairs.js +20 -16
  105. package/helpers/classed.js +21 -18
  106. package/helpers/extend-component.js +6 -6
  107. package/hooks/useAsyncFn.js +18 -11
  108. package/hooks/useDateLocale.js +22 -13
  109. package/hooks/useEffectOnce.js +1 -1
  110. package/hooks/useFirstMountState.js +1 -1
  111. package/hooks/useFocus.js +3 -3
  112. package/hooks/useId.js +3 -2
  113. package/hooks/useIsomorphicLayoutEffect.js +1 -1
  114. package/hooks/useMount.js +2 -2
  115. package/hooks/useMountedState.js +4 -4
  116. package/hooks/usePrevious.js +2 -2
  117. package/hooks/useScrollPosition.js +20 -15
  118. package/hooks/useScrollTo.js +7 -5
  119. package/hooks/useTraceUpdate.js +4 -3
  120. package/hooks/useUpdateEffect.js +3 -3
  121. package/hooks/useWindowSize.js +3 -3
  122. package/m/MotionProvider.js +4 -2
  123. package/package.json +8 -7
  124. package/styles/Body.js +4 -8
  125. package/styles/Global.js +4 -36
  126. package/styles/media.js +41 -36
  127. package/styles/spacing.js +15 -16
  128. package/styles/styled.js +7 -21
  129. package/styles/theme--vanilla.js +20 -18
  130. package/styles/theme.js +11 -11
  131. package/node/Alert/Alert.js +0 -21
  132. package/node/Alert/index.js +0 -4
  133. package/node/Animations/Reveal.js +0 -19
  134. package/node/Animations/Underline.js +0 -19
  135. package/node/Animations/index.js +0 -6
  136. package/node/Animations/useReveal.js +0 -74
  137. package/node/Autocomplete/AutocompleteDownshift.js +0 -161
  138. package/node/Autocomplete/AutocompleteDownshiftMultiselect.js +0 -356
  139. package/node/Autocomplete/AutocompleteMui.js +0 -175
  140. package/node/Autocomplete/AutocompleteReach.js +0 -115
  141. package/node/Autocomplete/components.js +0 -93
  142. package/node/Autocomplete/helpers.js +0 -32
  143. package/node/Autocomplete/index.js +0 -7
  144. package/node/Bg/BgColor.js +0 -36
  145. package/node/Bg/BgPhoto.js +0 -64
  146. package/node/Bg/BgSvg.js +0 -20
  147. package/node/Bg/index.js +0 -6
  148. package/node/Breadcrumbs/Breadcrumbs.js +0 -72
  149. package/node/Breadcrumbs/index.js +0 -4
  150. package/node/Buttons/Button.js +0 -83
  151. package/node/Buttons/ButtonComposite.js +0 -54
  152. package/node/Buttons/ButtonFab.js +0 -12
  153. package/node/Buttons/ButtonLink.js +0 -15
  154. package/node/Buttons/IconButton.js +0 -23
  155. package/node/Buttons/index.js +0 -8
  156. package/node/Calendar/CalendarDaygridCell.js +0 -55
  157. package/node/Calendar/CalendarDaygridNav.js +0 -27
  158. package/node/Calendar/CalendarDaygridTable.js +0 -60
  159. package/node/Calendar/CalendarLegend.js +0 -15
  160. package/node/Calendar/calendar-api-google.js +0 -99
  161. package/node/Calendar/index.js +0 -9
  162. package/node/Calendar/types.js +0 -2
  163. package/node/Calendar/useCalendar.js +0 -186
  164. package/node/Calendar/utils.js +0 -217
  165. package/node/Carousel/Carousel.js +0 -381
  166. package/node/Carousel/CarouselCss.js +0 -42
  167. package/node/Carousel/index.js +0 -4
  168. package/node/Collapsable/Collapsable.js +0 -4
  169. package/node/Collapsable/CollapsableReach.js +0 -253
  170. package/node/Collapsable/index.js +0 -5
  171. package/node/Debug/Debug.js +0 -26
  172. package/node/Debug/index.js +0 -4
  173. package/node/Details/Details.js +0 -65
  174. package/node/Details/index.js +0 -4
  175. package/node/Dialog/DialogMui.js +0 -82
  176. package/node/Dialog/css/bare.js +0 -23
  177. package/node/Dialog/index.js +0 -5
  178. package/node/Dialog/m/bare.js +0 -51
  179. package/node/Dialog/m/basic.js +0 -35
  180. package/node/Dialog/m/index.js +0 -8
  181. package/node/Dialog/sc/bare.js +0 -65
  182. package/node/Dialog/sc/framer.js +0 -19
  183. package/node/Dialog/sc/framerMaterial.js +0 -19
  184. package/node/Dialog/sc/material.js +0 -45
  185. package/node/Dialog/tw/bare.js +0 -40
  186. package/node/Dialog/tw/elegant.js +0 -21
  187. package/node/Dialog/tw/framer.js +0 -19
  188. package/node/Dialog/tw/framerMaterial.js +0 -19
  189. package/node/Dialog/tw/material.js +0 -21
  190. package/node/Editor/Editor--tiptap.js +0 -29
  191. package/node/Editor/components.js +0 -34
  192. package/node/Editor/index.js +0 -4
  193. package/node/Favicon/FaviconTags.js +0 -18
  194. package/node/Favicon/index.js +0 -4
  195. package/node/Form/Form.js +0 -63
  196. package/node/Form/index.js +0 -4
  197. package/node/Form/sc/bare.js +0 -33
  198. package/node/Forms/Checkbox/Checkbox.js +0 -28
  199. package/node/Forms/Checkbox/index.js +0 -4
  200. package/node/Forms/Feedback/Feedback.js +0 -15
  201. package/node/Forms/Feedback/index.js +0 -4
  202. package/node/Forms/Field/Field.js +0 -64
  203. package/node/Forms/Field/FieldControl.js +0 -47
  204. package/node/Forms/Field/FieldHint.js +0 -10
  205. package/node/Forms/Field/index.js +0 -5
  206. package/node/Forms/Input/Input.js +0 -27
  207. package/node/Forms/Input/index.js +0 -4
  208. package/node/Forms/InputGroup/InputGroup.js +0 -47
  209. package/node/Forms/InputGroup/index.js +0 -4
  210. package/node/Forms/Label/Label.js +0 -28
  211. package/node/Forms/Label/index.js +0 -4
  212. package/node/Forms/Password/Password.js +0 -34
  213. package/node/Forms/Password/index.js +0 -4
  214. package/node/Forms/Radio/Radio.js +0 -32
  215. package/node/Forms/Radio/index.js +0 -4
  216. package/node/Forms/Switch/Switch.js +0 -54
  217. package/node/Forms/Switch/index.js +0 -4
  218. package/node/Forms/Textarea/Textarea.js +0 -17
  219. package/node/Forms/Textarea/TextareaRich.js +0 -46
  220. package/node/Forms/Textarea/index.js +0 -5
  221. package/node/Forms/Toggle/Toggle.js +0 -86
  222. package/node/Forms/Toggle/index.js +0 -4
  223. package/node/Forms/Toggle/useToggle.js +0 -149
  224. package/node/Forms/antispam.js +0 -61
  225. package/node/Forms/helpers.js +0 -51
  226. package/node/Forms/index.js +0 -19
  227. package/node/Forms/styles.js +0 -64
  228. package/node/Gauge/Gauge.js +0 -106
  229. package/node/Grid/Grid.js +0 -83
  230. package/node/Grid/index.js +0 -4
  231. package/node/Hamburger/Hamburger.js +0 -69
  232. package/node/Hamburger/index.js +0 -4
  233. package/node/Header/index.js +0 -4
  234. package/node/Header/useHeader.js +0 -34
  235. package/node/Hidden/Hidden.js +0 -18
  236. package/node/Hidden/index.js +0 -4
  237. package/node/Img/index.js +0 -4
  238. package/node/Img/sc/bare.js +0 -41
  239. package/node/Img/types.js +0 -2
  240. package/node/Link/Link.js +0 -6
  241. package/node/Link/LinkBlank.js +0 -31
  242. package/node/Link/index.js +0 -5
  243. package/node/Menu/Menu.js +0 -15
  244. package/node/Menu/index.js +0 -4
  245. package/node/MenuItem/MenuItem.js +0 -24
  246. package/node/MenuItem/index.js +0 -4
  247. package/node/Meta/Meta.js +0 -8
  248. package/node/Meta/index.js +0 -4
  249. package/node/NoJs/NoJs.js +0 -10
  250. package/node/NoJs/index.js +0 -4
  251. package/node/Pagination/PaginationNav.js +0 -88
  252. package/node/Pagination/PaginationResults.js +0 -15
  253. package/node/Pagination/index.js +0 -5
  254. package/node/Pill/Pill.js +0 -41
  255. package/node/Pill/index.js +0 -4
  256. package/node/Progress/ProgressCircular.js +0 -41
  257. package/node/Progress/ProgressLinear.js +0 -37
  258. package/node/Progress/ProgressOverlay.js +0 -45
  259. package/node/Progress/index.js +0 -6
  260. package/node/Rating/Rating.js +0 -97
  261. package/node/Rating/index.js +0 -53
  262. package/node/Select/SelectDownshift.js +0 -41
  263. package/node/Select/components.js +0 -22
  264. package/node/Select/index.js +0 -7
  265. package/node/Sidebar/Sidebar.js +0 -53
  266. package/node/Sidebar/index.js +0 -4
  267. package/node/Spacing/Spacing.js +0 -50
  268. package/node/Spacing/index.js +0 -4
  269. package/node/Sticky/Sticky.js +0 -222
  270. package/node/Sticky/StickyCss.js +0 -8
  271. package/node/Sticky/index.js +0 -4
  272. package/node/Tabs/TabsMui.js +0 -47
  273. package/node/Tabs/index.js +0 -4
  274. package/node/Tabs/sc/bare.js +0 -87
  275. package/node/Tabs/tw/bare.js +0 -19
  276. package/node/Tabs/tw/material.js +0 -17
  277. package/node/Tabs/useTabs.js +0 -48
  278. package/node/Typography/CopyPasteVisible.js +0 -10
  279. package/node/Typography/Native.js +0 -51
  280. package/node/Typography/ReadMore.js +0 -74
  281. package/node/Typography/TextLoop.js +0 -54
  282. package/node/Typography/TypeStairs.js +0 -49
  283. package/node/Typography/index.js +0 -8
  284. package/node/css/index.js +0 -36
  285. package/node/helpers/classed.js +0 -69
  286. package/node/helpers/extend-component.js +0 -16
  287. package/node/helpers/index.js +0 -5
  288. package/node/hooks/index.js +0 -18
  289. package/node/hooks/types.js +0 -2
  290. package/node/hooks/useAsyncFn.js +0 -33
  291. package/node/hooks/useDateLocale.js +0 -56
  292. package/node/hooks/useEffectOnce.js +0 -12
  293. package/node/hooks/useFirstMountState.js +0 -16
  294. package/node/hooks/useFocus.js +0 -15
  295. package/node/hooks/useId.js +0 -11
  296. package/node/hooks/useIsomorphicLayoutEffect.js +0 -11
  297. package/node/hooks/useMount.js +0 -13
  298. package/node/hooks/useMountedState.js +0 -19
  299. package/node/hooks/usePrevious.js +0 -12
  300. package/node/hooks/useScrollPosition.js +0 -79
  301. package/node/hooks/useScrollTo.js +0 -23
  302. package/node/hooks/useTraceUpdate.js +0 -24
  303. package/node/hooks/useUpdateEffect.js +0 -18
  304. package/node/hooks/useWindowSize.js +0 -17
  305. package/node/index.js +0 -8
  306. package/node/m/MotionProvider.js +0 -41
  307. package/node/m/index.js +0 -9
  308. package/node/m/lite.js +0 -4
  309. package/node/m/max.js +0 -4
  310. package/node/sc/index.js +0 -37
  311. package/node/scm/index.js +0 -36
  312. package/node/shared/index.js +0 -11
  313. package/node/styles/Body.js +0 -21
  314. package/node/styles/Global.js +0 -53
  315. package/node/styles/index.js +0 -10
  316. package/node/styles/media.js +0 -156
  317. package/node/styles/spacing.js +0 -53
  318. package/node/styles/styled.js +0 -31
  319. package/node/styles/theme--vanilla.js +0 -59
  320. package/node/styles/theme.js +0 -45
  321. package/node/tw/index.js +0 -36
  322. package/node/twm/index.js +0 -36
  323. package/node/types.js +0 -2
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TextareaRich = void 0;
4
- const tslib_1 = require("tslib");
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const react_1 = require("react");
7
- const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
8
- // import TextareaAutosize from "@mui/base/TextareaAutosize";
9
- const Label_1 = require("../Label/Label");
10
- const Editor_1 = require("../../Editor");
11
- const helpers_1 = require("../helpers");
12
- const Root = styled_components_1.default.div `
13
- .ProseMirror {
14
- max-height: 160px;
15
- overflow: auto;
16
- }
17
- .EditorContent {
18
- position: relative;
19
- &:after {
20
- position: absolute;
21
- content: "";
22
- bottom: 0;
23
- left: 0;
24
- right: 16px; /* scrollbar width? */
25
- height: 3em;
26
- background: linear-gradient(0deg, white, white 33%, transparent);
27
- pointer-events: none;
28
- }
29
- }
30
- `;
31
- exports.TextareaRich = (0, react_1.forwardRef)(function TextareaRich({ register, setValue, name, label, defaultValue = "", onChange, ...props }, ref) {
32
- if (register)
33
- register(name);
34
- return ((0, jsx_runtime_1.jsxs)(Root, { children: [label && (0, jsx_runtime_1.jsx)(Label_1.Label, { children: label }), (0, jsx_runtime_1.jsx)(Editor_1.Editor, { options: {
35
- // element: <TextareaAutosize />,
36
- content: defaultValue,
37
- onUpdate: (onChange || setValue) && name
38
- ? ({ editor }) => {
39
- const value = editor.getHTML();
40
- if (setValue)
41
- setValue(name, value);
42
- (0, helpers_1.triggerOnChange)(onChange, name, value);
43
- }
44
- : undefined,
45
- }, ...props })] }));
46
- });
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./Textarea"), exports);
5
- tslib_1.__exportStar(require("./TextareaRich"), exports);
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ToggleIndicatorRounded = exports.ToggleIndicatorSquared = exports.ToggleIndicatorFg = exports.ToggleIndicatorBgCircle = exports.ToggleIndicatorBgSquare = exports.ToggleIndicatorHolder = exports.ToggleLabelSub = exports.ToggleLabel = exports.Toggle = exports.toggleIndicatorFg = exports.toggleIndicatorBgShape = exports.toggleIndicatorBg = exports.toggleBase = void 0;
4
- const tslib_1 = require("tslib");
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- /**
7
- * @file
8
- *
9
- * About accessibility:
10
- * - minimum target size of 44px https://www.w3.org/TR/WCAG21/#target-size
11
- */
12
- // import { useId } from "react";
13
- const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
14
- const styled_1 = require("../../styles/styled");
15
- const useId_1 = require("../../hooks/useId");
16
- exports.toggleBase = `
17
- border: 1px solid var(--forms-border-color);
18
- `;
19
- exports.toggleIndicatorBg = `
20
- display: inline-block;
21
- flex-shrink: 0;
22
- width: 100%;
23
- height: 100%;
24
- `;
25
- exports.toggleIndicatorBgShape = `
26
- ${exports.toggleIndicatorBg}
27
- fill: none;
28
- stroke-width: 2px;
29
- stroke: var(--forms-border-color);
30
- `;
31
- exports.toggleIndicatorFg = `
32
- position: absolute;
33
- left: 0;
34
- width: 100%;
35
- height: 100%;
36
- fill: currentcolor;
37
- `;
38
- exports.Toggle = styled_components_1.default.span `
39
- position: relative;
40
- display: inline-flex;
41
- align-items: center;
42
- justify-content: center;
43
- width: 2em;
44
- height: 2em;
45
- margin: 0 -0.3em; /* rtl */
46
- padding: 0.3em;
47
- `;
48
- exports.ToggleLabel = styled_components_1.default.span `
49
- margin-left: 0.6em; /* rtl */
50
- `;
51
- exports.ToggleLabelSub = styled_components_1.default.small `
52
- opacity: 0.7;
53
- font-size: 0.7em; ;
54
- `;
55
- exports.ToggleIndicatorHolder = styled_components_1.default.span `
56
- position: relative;
57
- display: flex;
58
-
59
- input:focus ~ & {
60
- ${styled_1.stateFocus}
61
- }
62
- `;
63
- exports.ToggleIndicatorBgSquare = styled_components_1.default.svg `
64
- ${exports.toggleIndicatorBgShape}
65
- `;
66
- exports.ToggleIndicatorBgCircle = styled_components_1.default.svg `
67
- ${exports.toggleIndicatorBgShape}
68
- `;
69
- exports.ToggleIndicatorFg = styled_components_1.default.svg `
70
- ${exports.toggleIndicatorFg}
71
- transform: scale(0);
72
- transition: transform 0.18s ease;
73
-
74
- input:checked + ${exports.ToggleIndicatorHolder} & {
75
- transform: scale(1);
76
- }
77
- `;
78
- const ToggleIndicatorSquared = (props) => {
79
- return ((0, jsx_runtime_1.jsxs)(exports.ToggleIndicatorHolder, { children: [(0, jsx_runtime_1.jsx)(exports.ToggleIndicatorBgSquare, { viewBox: "0 0 24 24", children: (0, jsx_runtime_1.jsx)("rect", { width: "24", height: "24" }) }), (0, jsx_runtime_1.jsx)(exports.ToggleIndicatorFg, { viewBox: "0 0 24 24", children: (0, jsx_runtime_1.jsx)("path", { d: "M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" }) })] }));
80
- };
81
- exports.ToggleIndicatorSquared = ToggleIndicatorSquared;
82
- const ToggleIndicatorRounded = ({ r = 6, }) => {
83
- const id = (0, useId_1.useId)();
84
- return ((0, jsx_runtime_1.jsxs)(exports.ToggleIndicatorHolder, { children: [(0, jsx_runtime_1.jsxs)(exports.ToggleIndicatorBgCircle, { viewBox: "0 0 24 24", children: [(0, jsx_runtime_1.jsx)("circle", { cy: "12", cx: "12", r: "12", id: `r_${id}`, clipPath: `url(#c_${id})` }), (0, jsx_runtime_1.jsx)("clipPath", { id: `c_${id}`, children: (0, jsx_runtime_1.jsx)("use", { xlinkHref: `#r_${id}` }) })] }), (0, jsx_runtime_1.jsx)(exports.ToggleIndicatorFg, { viewBox: "0 0 24 24", children: (0, jsx_runtime_1.jsx)("circle", { r: r, cx: "12", cy: "12" }) })] }));
85
- };
86
- exports.ToggleIndicatorRounded = ToggleIndicatorRounded;
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./Toggle"), exports);
@@ -1,149 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useToggle = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const react_hook_form_1 = require("react-hook-form");
7
- const styles_1 = require("../styles");
8
- /**
9
- * This hook is meant to powere Checkboxes, Switches and checkbox-like Radios
10
- * components, it works in fact in two modes:
11
- *
12
- * 1: behaviour as standard checkbox
13
- * yup validation would simply look like:
14
- *
15
- * ```ts
16
- * privacy: boolean().required(),
17
- * // add `.nullable()` if you do not provide a boolean `defaultValue`
18
- * ```
19
- *
20
- * 2: beahviour as two radio for checkbox with custom true/false values as
21
- * strings yup validation would look like:
22
- *
23
- * ```ts
24
- * newsletter: string().oneOf(["yes", "no"]).required(),
25
- * // add `.nullable()` if you do not provide a string `defaultValue`
26
- *
27
- * // to do not make it required and avoid triggering an error when the input is
28
- * // untouched you need to set the default value of the input in the form
29
- * // initialization's `defaultValues` as such:
30
- *
31
- * useForm({ defaultValues: { newsletter: "no" }})
32
- * ```
33
- *
34
- * To enable this mode either pass the props `valueTrue` and `valueFalse` or
35
- * an array of options with the shape of `Option`
36
- */
37
- function useToggle(props, ref) {
38
- const { name, control, register, label, options, value: propValue, ...restProps } = props;
39
- let { id, valueTrue, valueFalse,
40
- // defaultChecked,
41
- // defaultValue,
42
- // eslint-disable-next-line prefer-const
43
- ...remainingInputProps } = restProps;
44
- // use options data convention to pass on the true/false values
45
- if (options) {
46
- valueTrue = options
47
- .filter((opt) => opt.value === "true")[0]
48
- .label.toString();
49
- valueFalse = options
50
- .filter((opt) => opt.value === "false")[0]
51
- .label.toString();
52
- }
53
- id = `switch-${name}`;
54
- const idTrue = `${id}-true`;
55
- const idFalse = `${id}-false`;
56
- const isRadio = !!(valueTrue && valueFalse);
57
- // // manage default values for both toggle modes
58
- // defaultChecked = isUndefined(defaultChecked) ? false : defaultChecked;
59
- // // TODO: maybe throw an error if the defaultValue that arrives here is not
60
- // // a valid value
61
- // defaultValue =
62
- // defaultValue === valueTrue || defaultValue === valueFalse
63
- // ? defaultValue
64
- // : valueFalse;
65
- // get the value either from the uncontrolled watched input or from the given
66
- // prop to control the component
67
- let value = (0, react_hook_form_1.useWatch)({
68
- name,
69
- control,
70
- // defaultValue: isRadio ? defaultValue : defaultChecked,
71
- });
72
- if (propValue) {
73
- value = propValue;
74
- }
75
- // get the input props needed by react-hook-form, first check if we have
76
- // a `register` function, then check if we have a `control` object or just
77
- // rely on the `name` prop and `ref`, they probably would be passed alongside
78
- // an `onChange` prop that is spreaded on the inputs
79
- const inputProps = (0, react_1.useMemo)(() => {
80
- return register
81
- ? register(name)
82
- : control
83
- ? control.register(name)
84
- : {
85
- name,
86
- ref,
87
- };
88
- }, [register, control, name, ref]);
89
- /**
90
- * Accessibility.
91
- *
92
- * Fake the spacebar keyboard behaviour on the radio mode of the checkbox.
93
- * Without this *only* the arrow keys would change the checkbox state
94
- */
95
- const handleKeyDown = (0, react_1.useCallback)((event) => {
96
- if (event.key === " ") {
97
- event.preventDefault();
98
- event.stopPropagation();
99
- const firstInput = event.target;
100
- const next = firstInput.nextElementSibling;
101
- const prev = firstInput.previousElementSibling;
102
- const secondInput = next?.tagName === "INPUT" ? next : prev;
103
- let target = firstInput;
104
- if (firstInput.checked) {
105
- target = secondInput;
106
- }
107
- else {
108
- if (!secondInput.checked) {
109
- target =
110
- firstInput.value === valueTrue ? firstInput : secondInput;
111
- }
112
- }
113
- if (target)
114
- target.click();
115
- }
116
- }, [valueTrue]);
117
- // collect all the return values that are dependent on the current value
118
- // of the input
119
- const valueDependentProps = (0, react_1.useMemo)(() => ({
120
- rootProps: {
121
- htmlFor: isRadio
122
- ? !value || value === valueFalse
123
- ? idTrue
124
- : idFalse
125
- : id,
126
- },
127
- label: label ? label : value,
128
- value,
129
- }), [value, valueFalse, isRadio, id, idTrue, idFalse, label]);
130
- const Inputs = (0, react_1.useMemo)(() => isRadio ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(styles_1.InputInvisible, { id: idFalse, ...inputProps, ...remainingInputProps, onKeyDown: handleKeyDown, type: "radio", value: valueFalse }), (0, jsx_runtime_1.jsx)(styles_1.InputInvisible, { id: idTrue, ...inputProps, ...remainingInputProps, onKeyDown: handleKeyDown, type: "radio", value: valueTrue })] })) : ((0, jsx_runtime_1.jsx)(styles_1.InputInvisible, { id: id, type: "checkbox", ...inputProps, ...remainingInputProps })), [
131
- inputProps,
132
- remainingInputProps,
133
- handleKeyDown,
134
- isRadio,
135
- idFalse,
136
- idTrue,
137
- valueFalse,
138
- valueTrue,
139
- id,
140
- // defaultChecked,
141
- // defaultValue,
142
- ]);
143
- // console.log("useToggle: render", value);
144
- return {
145
- ...valueDependentProps,
146
- Inputs,
147
- };
148
- }
149
- exports.useToggle = useToggle;
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.decodeForm = exports.encodeForm = void 0;
4
- const yup_1 = require("yup");
5
- const utils_1 = require("@koine/utils");
6
- /**
7
- * Encode form
8
- *
9
- * Takes a record of yup validations and outputs a `yup` schema with encoded
10
- * names (antispam technique) and a record of the encoded/decoded input `name`s.
11
- *
12
- * We skip the names prefixed wth an underscore which are considered programmatic
13
- * form data not created by user input.
14
- */
15
- function encodeForm(validationRules) {
16
- const encoded = {};
17
- const encodedNames = {};
18
- for (const name in validationRules) {
19
- if (!name.startsWith("_")) {
20
- const encodedName = (0, utils_1.encode)(name);
21
- encoded[encodedName] = validationRules[name];
22
- encodedNames[name] = encodedName;
23
- }
24
- }
25
- // we need `.required()` to correctly infer the type @see
26
- // https://github.com/jquense/yup/issues/946
27
- const encodedSchema = (0, yup_1.object)(encoded).required();
28
- return { encodedSchema, encodedNames };
29
- }
30
- exports.encodeForm = encodeForm;
31
- /**
32
- * Decode form data
33
- *
34
- * This function is meant to be used inside an api endpoint to gather an encoded
35
- * form submit data and transform it to the decoded desired json data.
36
- *
37
- * Here too we skip encoding/decoding process for names prefixed wth an underscore
38
- * which are considered programmatic form data not created by user input.
39
- */
40
- function decodeForm(formData) {
41
- const json = {};
42
- for (const encodedName in formData) {
43
- const decodedName = (0, utils_1.decode)(encodedName);
44
- // always add underscore prefixed names as they are treated as internal
45
- // private inputs outside of the honeypot system, normalise them here removing
46
- // the underscore prefix
47
- if (encodedName.startsWith("_")) {
48
- // @ts-expect-error nevermind
49
- json[encodedName.substring(1)] = formData[encodedName];
50
- }
51
- // if the decoded `name` is empty and the encoded `name` is defined honeypot passed
52
- else if (!(0, utils_1.isUndefined)(formData[encodedName]) &&
53
- formData[decodedName] === "") {
54
- // @ts-expect-error nevermind
55
- json[decodedName] = formData[encodedName];
56
- }
57
- }
58
- // console.log(formData, decoded, json);
59
- return json;
60
- }
61
- exports.decodeForm = decodeForm;
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.triggerChange = exports.triggerOnChange = exports.defaultOptionsFilterFn = exports.normaliseOptions = void 0;
4
- const utils_1 = require("@koine/utils");
5
- const normaliseOptions = (options = []) => {
6
- return options.map((option) => {
7
- return (0, utils_1.isString)(option)
8
- ? {
9
- label: option,
10
- value: option,
11
- }
12
- : option;
13
- });
14
- };
15
- exports.normaliseOptions = normaliseOptions;
16
- function defaultOptionsFilterFn(options, inputValue) {
17
- if (!inputValue) {
18
- return options;
19
- }
20
- return (0, utils_1.matchSorter)(options, inputValue, { keys: ["value", "label"] });
21
- }
22
- exports.defaultOptionsFilterFn = defaultOptionsFilterFn;
23
- /**
24
- * We are faking the native input `onChange` event
25
- */
26
- function triggerOnChange(onChange, name, value) {
27
- // @ts-expect-error nevermind
28
- if (onChange)
29
- onChange({ target: { name, value } });
30
- }
31
- exports.triggerOnChange = triggerOnChange;
32
- /**
33
- * @see https://hustle.bizongo.in/simulate-react-on-change-on-controlled-components-baa336920e04
34
- * @deprecated
35
- */
36
- function triggerChange(input, value) {
37
- const obj = window.Object;
38
- if (!obj) {
39
- // if (process.env["NODE_ENV"] !== "production") {
40
- // console.warn("triggerChange: window.Object does not exists, bailing.");
41
- // }
42
- return;
43
- }
44
- // @ts-expect-error nevermind
45
- const nativeInputValueSetter = obj.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, "value").set;
46
- // @ts-expect-error nevermind
47
- nativeInputValueSetter.call(input, value);
48
- const inputEvent = new Event("input", { bubbles: true });
49
- input.dispatchEvent(inputEvent);
50
- }
51
- exports.triggerChange = triggerChange;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./antispam"), exports);
5
- tslib_1.__exportStar(require("./Checkbox"), exports);
6
- tslib_1.__exportStar(require("./Input"), exports);
7
- tslib_1.__exportStar(require("./InputGroup"), exports);
8
- tslib_1.__exportStar(require("./Feedback"), exports);
9
- tslib_1.__exportStar(require("./Field"), exports);
10
- tslib_1.__exportStar(require("./InputGroup"), exports);
11
- tslib_1.__exportStar(require("./Label"), exports);
12
- tslib_1.__exportStar(require("./Password"), exports);
13
- tslib_1.__exportStar(require("./Radio"), exports);
14
- // export * from "./Select";
15
- tslib_1.__exportStar(require("./Switch"), exports);
16
- tslib_1.__exportStar(require("./Textarea"), exports);
17
- tslib_1.__exportStar(require("./Toggle"), exports);
18
- tslib_1.__exportStar(require("./helpers"), exports);
19
- tslib_1.__exportStar(require("./styles"), exports);
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.inputFocus = exports.inputBase = exports.inputReset = exports.inputPadding = exports.inputBorder = exports.inputResetAutofill = exports.InputProgress = exports.InputHoneypot = exports.InputInvisible = void 0;
4
- const tslib_1 = require("tslib");
5
- const jsx_runtime_1 = require("react/jsx-runtime");
6
- const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
7
- const styled_1 = require("../styles/styled");
8
- const ProgressLinear_1 = require("../Progress/ProgressLinear");
9
- const styled_2 = require("../styles/styled");
10
- exports.InputInvisible = styled_components_1.default.input `
11
- ${styled_2.invisible}
12
- `;
13
- exports.InputHoneypot = (0, styled_components_1.default)(exports.InputInvisible).attrs({
14
- type: "text",
15
- autoComplete: "new-password",
16
- tabIndex: -1,
17
- }) ``;
18
- exports.InputProgress = (0, styled_components_1.default)((p) => ((0, jsx_runtime_1.jsx)(ProgressLinear_1.ProgressLinear, { fg: "var(--accent300)", bg: "var(--accent400)", ...p }))) `
19
- position: absolute;
20
- bottom: 0;
21
- left: 0;
22
- width: 100%;
23
- `;
24
- /**
25
- * Remove the default light blue background on autofilled inputs. To be used as
26
- * a function that outputs a CSS string.
27
- *
28
- * @see https://stackoverflow.com/a/62624824/1938970
29
- */
30
- exports.inputResetAutofill = `
31
- &:-webkit-autofill,
32
- &:-webkit-autofill:hover,
33
- &:-webkit-autofill:focus,
34
- &:-webkit-autofill:active {
35
- -webkit-background-clip: text;
36
- }
37
- `;
38
- /* FIXME: find a nice way to override this styling from implementation */
39
- // border-bottom: 1px solid var(--forms-border-color);
40
- // border: 0;
41
- exports.inputBorder = `
42
- border: 1px solid var(--forms-border-color);
43
- `;
44
- exports.inputPadding = `
45
- padding: var(--forms-gutter-y) var(--forms-gutter-x);
46
- `;
47
- exports.inputReset = `
48
- width: 100%;
49
- min-height: 44px;
50
- ${exports.inputBorder}
51
- ${exports.inputPadding}
52
- `;
53
- exports.inputBase = `
54
- ${exports.inputReset}
55
- ${exports.inputResetAutofill}
56
- background: transparent;
57
- `;
58
- exports.inputFocus = `
59
- &:focus {
60
- outline: 0px;
61
- appearance: none;
62
- ${styled_1.stateFocus}
63
- }
64
- `;
@@ -1,106 +0,0 @@
1
- "use strict";
2
- // import styled, { keyframes } from "styled-components";
3
- // import { m } from "framer-motion";
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.Gauge = void 0;
6
- const Gauge = (_props) => null;
7
- exports.Gauge = Gauge;
8
- // export type GaugeProps = {
9
- // /** In percentage */
10
- // value: number;
11
- // };
12
- // export const Gauge = ({
13
- // value,
14
- // counter = true,
15
- // stroke,
16
- // // emptyStroke = "#e2e2e2",
17
- // emptyStroke = stroke,
18
- // emptyStrokeOpacity = 0.25,
19
- // // emptyStrokeOpacity = 1,
20
- // duration = 3,
21
- // delay = 0.5,
22
- // size = 100,
23
- // strokeWidth = 6,
24
- // }) => {
25
- // const radius = 45;
26
- // const circumference = Math.ceil(2 * Math.PI * radius);
27
- // const fillPercents = Math.abs(
28
- // Math.ceil((circumference / 100) * (value - 100))
29
- // );
30
- // const transition = {
31
- // duration: duration,
32
- // delay: delay,
33
- // ease: "easeIn",
34
- // };
35
- // const variants = {
36
- // hidden: {
37
- // strokeDashoffset: circumference,
38
- // transition,
39
- // },
40
- // show: {
41
- // strokeDashoffset: fillPercents,
42
- // transition,
43
- // },
44
- // };
45
- // return (
46
- // <>
47
- // <Flex justifyContent="center" alignItems="center">
48
- // {counter && (
49
- // <Box
50
- // position="absolute"
51
- // fontSize={size >= 100 ? 6 : 3}
52
- // fontWeight={2}
53
- // color="text500"
54
- // >
55
- // <Counter valueTo={value} totalDuration={duration + delay} />%
56
- // </Box>
57
- // )}
58
- // <Box height={size}>
59
- // <svg
60
- // viewBox="0 0 100 100"
61
- // version="1.1"
62
- // xmlns="http://www.w3.org/2000/svg"
63
- // width={size}
64
- // height={size}
65
- // >
66
- // <circle
67
- // cx="50"
68
- // cy="50"
69
- // r={radius}
70
- // className="circle"
71
- // strokeWidth={strokeWidth}
72
- // stroke={emptyStroke}
73
- // strokeOpacity={emptyStrokeOpacity}
74
- // fill="transparent"
75
- // />
76
- // </svg>
77
- // <svg
78
- // viewBox="0 0 100 100"
79
- // width={size}
80
- // height={size}
81
- // style={{
82
- // position: "absolute",
83
- // transform: "rotate(-90deg)",
84
- // overflow: "visible",
85
- // marginLeft: -size,
86
- // }}
87
- // >
88
- // <m.circle
89
- // cx="50"
90
- // cy="50"
91
- // r={radius}
92
- // strokeWidth={strokeWidth}
93
- // stroke={stroke}
94
- // fill="transparent"
95
- // strokeDashoffset={fillPercents}
96
- // strokeDasharray={circumference}
97
- // variants={variants}
98
- // initial="hidden"
99
- // animate={"show"}
100
- // />
101
- // </svg>
102
- // </Box>
103
- // </Flex>
104
- // </>
105
- // );
106
- // };
package/node/Grid/Grid.js DELETED
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Col = exports.Row = exports.ContainerFluid = exports.Container = exports.GRID_GUTTER_DEFAULT = exports.GRID_COLUMNS = void 0;
4
- const tslib_1 = require("tslib");
5
- const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
6
- exports.GRID_COLUMNS = 12;
7
- exports.GRID_GUTTER_DEFAULT = "half";
8
- exports.Container = styled_components_1.default.div `
9
- max-width: ${(p) => p.theme.breakpoints[p.size]}px;
10
- margin: 0 auto;
11
- padding: 0 ${(p) => p.theme.gutter[p.$gutter || exports.GRID_GUTTER_DEFAULT]}px;
12
- ${(p) => (p.clamp ? "overflow: hidden;" : "")}
13
- `;
14
- exports.ContainerFluid = styled_components_1.default.div `
15
- padding: 0 ${(p) => p.theme.gutter[p.$gutter || exports.GRID_GUTTER_DEFAULT]}px;
16
- `;
17
- exports.Row = styled_components_1.default.div `
18
- margin: 0 -${(p) => p.theme.gutter[p.$gutter || exports.GRID_GUTTER_DEFAULT]}px;
19
- display: flex;
20
- ${(p) => (p.$noWrap ? "overflow: auto;" : "flex-wrap: wrap;")}
21
- ${(p) => (p.$valign ? `align-items: ${p.$valign}` : "")};
22
- ${(p) => p.$reverse &&
23
- `@media (${p.$reverse.split(":")[0]}-width: ${p.$reverse.split(":")[1]}px) {
24
- flex-direction: row-reverse;
25
- }`}
26
- `;
27
- exports.Col = styled_components_1.default.div `
28
- padding: 0 ${(p) => p.theme.gutter[p.$gutter || exports.GRID_GUTTER_DEFAULT]}px;
29
- display: ${(p) => (p.$flex ? "flex" : "block")};
30
- ${(p) => (p.$valign ? "align-items: " + p.$valign : "")};
31
- ${(p) => getColCss(p)};
32
- `;
33
- function getColWidth(breakpoints, breakpoint, value) {
34
- const breakpointValue = breakpoints[breakpoint] + "px";
35
- const width = (value * 100) / exports.GRID_COLUMNS;
36
- const cssValue = `
37
- min-width: ${width}%;
38
- flex: 0 0 ${width}%;
39
- `;
40
- if (breakpoint === Object.keys(breakpoints)[0]) {
41
- return cssValue;
42
- }
43
- return `
44
- @media (min-width: ${breakpointValue}){
45
- ${cssValue}
46
- }`;
47
- }
48
- function getColCss(props) {
49
- const { $auto, $offset, $width } = props;
50
- const { breakpoints } = props.theme;
51
- let css = "";
52
- if ($offset) {
53
- const offsets = $offset.split(",");
54
- for (let i = 0; i <= offsets.length; i++) {
55
- if (offsets[i]) {
56
- const [offsetBreakpoint, offsetSize] = offsets[i].split(":");
57
- css += `
58
- @media(min-width: ${breakpoints[offsetBreakpoint]}px){
59
- margin-left: ${(100 * offsetSize) / exports.GRID_COLUMNS}%;
60
- }
61
- `;
62
- }
63
- }
64
- }
65
- if ($width) {
66
- // do nothing, width is set explicitly
67
- }
68
- else if ($auto) {
69
- css += `flex: 0 0 auto; width: auto; max-width: none;`;
70
- }
71
- else {
72
- for (const breakpoint in breakpoints) {
73
- const value = props[breakpoint];
74
- if (typeof value !== "undefined") {
75
- css += getColWidth(breakpoints, breakpoint, value);
76
- }
77
- else if (breakpoint === "xs") {
78
- css += getColWidth(breakpoints, breakpoint, 12);
79
- }
80
- }
81
- }
82
- return css;
83
- }