@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,53 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Sidebar = 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
- const gr_1 = require("react-icons/gr");
9
- const cg_1 = require("react-icons/cg");
10
- const media_1 = require("../styles/media");
11
- const Buttons_1 = require("../Buttons");
12
- const Header_1 = require("../Header");
13
- const SidebarWrapper = styled_components_1.default.div `
14
- ${(p) => `${media_1.max.md} {
15
- z-index: 20;
16
- display: flex;
17
- flex-direction: column;
18
- position: fixed;
19
- right: 0;
20
- left: var(--gutter-half);
21
- top: ${p.$top || 0}px;
22
- bottom: 0;
23
- padding: var(--gutter-half);
24
- transform: ${p.$open ? `translateX(0)` : `translateX(100%)`};
25
- transition: transform .18s ease-in-out, box-shadow .18s ease-in-out;
26
- background: white;
27
- box-shadow: ${p.$open ? `0 0 0 100vh rgba(0, 0, 0, .3)` : `0 0 100vh rgba(0, 0, 0, 0)`};
28
- will-change: transform, box-shadow;
29
- pointer-events: ${p.$open ? "all" : "none"}
30
- }`}
31
- `;
32
- const SidebarToggle = styled_components_1.default.span `
33
- z-index: 21;
34
- position: fixed;
35
- right: var(--gutter-half);
36
- bottom: var(--gutter-half);
37
- ${media_1.min.md} {
38
- display: none;
39
- }
40
-
41
- path {
42
- stroke: currentColor;
43
- }
44
- `;
45
- const Sidebar = ({ children }) => {
46
- const [open, setOpen] = (0, react_1.useState)(false);
47
- const [, , headerHeight] = (0, Header_1.useHeader)();
48
- const handleClickToggle = (0, react_1.useCallback)(() => {
49
- setOpen((prevOpen) => !prevOpen);
4
+ var tslib_1 = require("tslib");
5
+ var jsx_runtime_1 = require("react/jsx-runtime");
6
+ var react_1 = require("react");
7
+ var styled_components_1 = tslib_1.__importDefault(require("styled-components"));
8
+ var gr_1 = require("react-icons/gr");
9
+ var cg_1 = require("react-icons/cg");
10
+ var media_1 = require("../styles/media");
11
+ var Buttons_1 = require("../Buttons");
12
+ var Header_1 = require("../Header");
13
+ var SidebarWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (p) {
14
+ return "".concat(media_1.max.md, " {\n z-index: 20;\n display: flex;\n flex-direction: column;\n position: fixed;\n right: 0;\n left: var(--gutter-half);\n top: ").concat(p.$top || 0, "px;\n bottom: 0;\n padding: var(--gutter-half);\n transform: ").concat(p.$open ? "translateX(0)" : "translateX(100%)", ";\n transition: transform .18s ease-in-out, box-shadow .18s ease-in-out;\n background: white;\n box-shadow: ").concat(p.$open ? "0 0 0 100vh rgba(0, 0, 0, .3)" : "0 0 100vh rgba(0, 0, 0, 0)", ";\n will-change: transform, box-shadow;\n pointer-events: ").concat(p.$open ? "all" : "none", "\n }");
15
+ });
16
+ var SidebarToggle = styled_components_1.default.span(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject(["\n z-index: 21;\n position: fixed;\n right: var(--gutter-half);\n bottom: var(--gutter-half);\n ", " {\n display: none;\n }\n\n path {\n stroke: currentColor;\n }\n"], ["\n z-index: 21;\n position: fixed;\n right: var(--gutter-half);\n bottom: var(--gutter-half);\n ", " {\n display: none;\n }\n\n path {\n stroke: currentColor;\n }\n"])), media_1.min.md);
17
+ var Sidebar = function (_a) {
18
+ var children = _a.children;
19
+ var _b = (0, react_1.useState)(false), open = _b[0], setOpen = _b[1];
20
+ var _c = (0, Header_1.useHeader)(), headerHeight = _c[2];
21
+ var handleClickToggle = (0, react_1.useCallback)(function () {
22
+ setOpen(function (prevOpen) { return !prevOpen; });
50
23
  }, []);
51
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(SidebarToggle, { onClick: handleClickToggle, children: (0, jsx_runtime_1.jsx)(Buttons_1.IconButtonFab, { "$variant": "contained", children: open ? (0, jsx_runtime_1.jsx)(cg_1.CgCloseR, {}) : (0, jsx_runtime_1.jsx)(gr_1.GrFolderOpen, {}) }) }), (0, jsx_runtime_1.jsx)(SidebarWrapper, { "$open": open, "$top": headerHeight, children: children })] }));
24
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(SidebarToggle, tslib_1.__assign({ onClick: handleClickToggle }, { children: (0, jsx_runtime_1.jsx)(Buttons_1.IconButtonFab, tslib_1.__assign({ "$variant": "contained" }, { children: open ? (0, jsx_runtime_1.jsx)(cg_1.CgCloseR, {}) : (0, jsx_runtime_1.jsx)(gr_1.GrFolderOpen, {}) })) })), (0, jsx_runtime_1.jsx)(SidebarWrapper, tslib_1.__assign({ "$open": open, "$top": headerHeight }, { children: children }))] }));
52
25
  };
53
26
  exports.Sidebar = Sidebar;
27
+ var templateObject_1, templateObject_2;
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
3
+ var tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./Sidebar"), exports);
@@ -1,19 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Spacing = 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 utils_1 = require("@koine/utils");
8
- const spacing_1 = require("../styles/spacing");
9
- const Root = styled_components_1.default.div `
10
- ${(p) => p.$top && spacing_1.spacingTop.call(p.theme, ...p.$top)}
11
- ${(p) => p.$bottom && spacing_1.spacingBottom.call(p.theme, ...p.$bottom)}
12
- `;
13
- const extractDirectionArgs = (raw) => {
14
- const [size, factor, property, devices] = raw.split(":");
15
- const factorArg = (0, utils_1.isUndefined)(factor) ? undefined : parseFloat(factor);
16
- const devicesArg = devices?.split(",");
4
+ var tslib_1 = require("tslib");
5
+ var jsx_runtime_1 = require("react/jsx-runtime");
6
+ var styled_components_1 = tslib_1.__importDefault(require("styled-components"));
7
+ var utils_1 = require("@koine/utils");
8
+ var spacing_1 = require("../styles/spacing");
9
+ var Root = styled_components_1.default.div(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["\n ", "\n ", "\n"], ["\n ", "\n ", "\n"])), function (p) { return p.$top && spacing_1.spacingTop.call.apply(spacing_1.spacingTop, tslib_1.__spreadArray([p.theme], p.$top, false)); }, function (p) { return p.$bottom && spacing_1.spacingBottom.call.apply(spacing_1.spacingBottom, tslib_1.__spreadArray([p.theme], p.$bottom, false)); });
10
+ var extractDirectionArgs = function (raw) {
11
+ var _a = raw.split(":"), size = _a[0], factor = _a[1], property = _a[2], devices = _a[3];
12
+ var factorArg = (0, utils_1.isUndefined)(factor) ? undefined : parseFloat(factor);
13
+ var devicesArg = devices === null || devices === void 0 ? void 0 : devices.split(",");
17
14
  return [size, factorArg, property, devicesArg];
18
15
  };
19
16
  /**
@@ -28,9 +25,10 @@ const extractDirectionArgs = (raw) => {
28
25
  * <Spacing top="sm:2:padding:tablet,desktop" />
29
26
  * ```
30
27
  */
31
- const Spacing = ({ top, bottom, vertical, ...props }) => {
32
- let $top;
33
- let $bottom;
28
+ var Spacing = function (_a) {
29
+ var top = _a.top, bottom = _a.bottom, vertical = _a.vertical, props = tslib_1.__rest(_a, ["top", "bottom", "vertical"]);
30
+ var $top;
31
+ var $bottom;
34
32
  if (top) {
35
33
  $top = extractDirectionArgs(top);
36
34
  }
@@ -45,6 +43,7 @@ const Spacing = ({ top, bottom, vertical, ...props }) => {
45
43
  // eslint-disable-next-line react/jsx-no-useless-fragment
46
44
  return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: props.children });
47
45
  }
48
- return (0, jsx_runtime_1.jsx)(Root, { "$top": $top, "$bottom": $bottom, ...props });
46
+ return (0, jsx_runtime_1.jsx)(Root, tslib_1.__assign({ "$top": $top, "$bottom": $bottom }, props));
49
47
  };
50
48
  exports.Spacing = Spacing;
49
+ var templateObject_1;
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
3
+ var tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./Spacing"), exports);
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StickyCss = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const StickyCss = ({ top, ...props }) => {
6
- return (0, jsx_runtime_1.jsx)("div", { style: { position: "sticky", top: 100 }, ...props });
4
+ var tslib_1 = require("tslib");
5
+ var jsx_runtime_1 = require("react/jsx-runtime");
6
+ var StickyCss = function (_a) {
7
+ var top = _a.top, props = tslib_1.__rest(_a, ["top"]);
8
+ return (0, jsx_runtime_1.jsx)("div", tslib_1.__assign({ style: { position: "sticky", top: 100 } }, props));
7
9
  };
8
10
  exports.StickyCss = StickyCss;
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
3
+ var tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./StickyCss"), exports);
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KoineTabs = exports.Tab = exports.Panel = exports.Indicator = exports.List = exports.Root = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var jsx_runtime_1 = require("react/jsx-runtime");
6
+ var react_1 = require("react");
7
+ var TabsUnstyled_1 = tslib_1.__importDefault(require("@mui/base/TabsUnstyled"));
8
+ var TabsListUnstyled_1 = tslib_1.__importDefault(require("@mui/base/TabsListUnstyled"));
9
+ var TabUnstyled_1 = tslib_1.__importStar(require("@mui/base/TabUnstyled"));
10
+ var TabPanelUnstyled_1 = tslib_1.__importDefault(require("@mui/base/TabPanelUnstyled"));
11
+ var helpers_1 = require("../helpers");
12
+ exports.Root = TabsUnstyled_1.default;
13
+ exports.List = TabsListUnstyled_1.default;
14
+ // export const Tab = TabUnstyled as unknown as Props["Tab"];
15
+ exports.Indicator = "span";
16
+ exports.Panel = TabPanelUnstyled_1.default;
17
+ exports.Tab = (0, react_1.forwardRef)(function Tab(_a, ref) {
18
+ var children = _a.children, component = _a.component, componentsProps = _a.componentsProps, components = _a.components, Indicator = _a.Indicator, props = tslib_1.__rest(_a, ["children", "component", "componentsProps", "components", "Indicator"]);
19
+ var _b = (0, TabUnstyled_1.useTab)(tslib_1.__assign(tslib_1.__assign({}, props), { ref: ref })), active = _b.active, disabled = _b.disabled, selected = _b.selected;
20
+ var indicatorProps = { active: active, disabled: disabled, selected: selected };
21
+ return ((0, jsx_runtime_1.jsxs)(TabUnstyled_1.default /* ref={ref} */, tslib_1.__assign({}, props, { children: [children, Indicator && (0, jsx_runtime_1.jsx)(Indicator, tslib_1.__assign({}, indicatorProps))] })));
22
+ });
23
+ /**
24
+ *
25
+ * Main differences from [Mui Tabs](https://mui.com/material-ui/react-dialog):
26
+ *
27
+ * @resources
28
+ * - [WAI-ARIA](https://www.w3.org/TR/wai-aria-practices/#tabpanel)
29
+ * - [WAI-ARIA example](https://www.w3.org/TR/wai-aria-practices/examples/tabs/tabs-1/tabs.html)
30
+ * - [[Proposal] New tags tabsection, tablist, tab, tabpanel](https://github.com/whatwg/html/issues/1809)
31
+ * - [Native <tab> elements](https://github.com/w3c/html/issues/1704)
32
+ * - [Let's talk about Native HTML Tabs](https://daverupert.com/2021/10/native-html-tabs/)
33
+ *
34
+ * @similar
35
+ * - [Zertz/react-headless-tabs](https://github.com/Zertz/react-headless-tabs)
36
+ *
37
+ * FIXME: it actually works even without forwardRef, check if we do need it
38
+ */
39
+ var TabsWithRef = (0, react_1.forwardRef)(function Tabs(_a, ref) {
40
+ var _Root = _a.Root, _List = _a.List, _Tab = _a.Tab, _Indicator = _a.Indicator, _Panel = _a.Panel, props = tslib_1.__rest(_a, ["Root", "List", "Tab", "Indicator", "Panel"]);
41
+ return (0, jsx_runtime_1.jsx)(exports.Root, tslib_1.__assign({}, props, { ref: ref }));
42
+ });
43
+ exports.KoineTabs = (0, helpers_1.extendComponent)(TabsWithRef, {
44
+ Root: exports.Root,
45
+ List: exports.List,
46
+ Tab: exports.Tab,
47
+ Indicator: exports.Indicator,
48
+ Panel: exports.Panel,
49
+ });
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./Tabs"), exports);
3
+ var tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./TabsMui"), exports);
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ // <reference types="@reach/utils/dist/declarations/src/polymorphic" />
3
+ /**
4
+ * @file
5
+ *
6
+ * Here we manage only "vertical" oriented tabs for now
7
+ */
8
+ // import styled from "styled-components";
9
+ // import {
10
+ // Tabs as _Tabs,
11
+ // TabList as _TabList,
12
+ // Tab as _Tab,
13
+ // TabPanels as _TabPanels,
14
+ // TabPanel as _TabPanel,
15
+ // TabProps as _TabProps,
16
+ // TabsProps as _TabsProps,
17
+ // useTabsContext,
18
+ // } from "@reach/tabs";
19
+ // import { min } from "../../styles/media";
20
+ // import { UnderlineSkewed } from "../../Animations/Underline";
21
+ // import { btnStyleReset } from "../../Buttons/Button";
22
+ // export const Tabs = styled(_Tabs)<TabsProps>`
23
+ // ${min.sm} {
24
+ // display: flex;
25
+ // ${(p) => p.$vertical && "flex-direction: column;"}
26
+ // }
27
+ // `;
28
+ // export type TabsProps = React.PropsWithChildren<_TabsProps> & {
29
+ // $vertical?: boolean;
30
+ // };
31
+ // export const TabList = styled(_TabList)`
32
+ // display: flex;
33
+ // flex-direction: column;
34
+ // ${min.sm} {
35
+ // border-right: 1px solid var(--grey800);
36
+ // }
37
+ // `;
38
+ // export const TabWrap = styled(_Tab)<TabProps & TabStyledProps>`
39
+ // ${btnStyleReset}
40
+ // position: relative;
41
+ // justify-content: flex-end;
42
+ // padding: 0.7em;
43
+ // margin-bottom: 1em;
44
+ // font-weight: bold;
45
+ // color: ${(p) => (p.$active ? "var(--accent200)" : "var(--grey300)")};
46
+ // ${min.sm} {
47
+ // padding-right: var(--gutter-half);
48
+ // }
49
+ // &:hover {
50
+ // color: ${(p) => (p.$active ? "var(--accent200)" : "var(--accent300)")};
51
+ // }
52
+ // `;
53
+ // export const TabText = styled.span<TabStyledProps>`
54
+ // position: relative;
55
+ // z-index: 1;
56
+ // `;
57
+ // export const TabUnderline = styled(UnderlineSkewed)<TabStyledProps>``;
58
+ // export type TabStyledProps = {
59
+ // $active: boolean;
60
+ // $focused: boolean;
61
+ // };
62
+ // export type TabProps = _TabProps & {
63
+ // idx: number;
64
+ // };
65
+ // export const Tab = ({ children, ...props }: TabProps) => {
66
+ // const { selectedIndex, focusedIndex } = useTabsContext();
67
+ // const styledProps = {
68
+ // $active: props.idx === selectedIndex,
69
+ // $focused: props.idx === focusedIndex,
70
+ // };
71
+ // return (
72
+ // <TabWrap {...props} {...styledProps}>
73
+ // {styledProps.$active && (
74
+ // <TabUnderline {...styledProps} layoutId="Tab-underline" />
75
+ // )}
76
+ // <TabText {...styledProps}>{children}</TabText>
77
+ // </TabWrap>
78
+ // );
79
+ // };
80
+ // export const TabPanels = styled(_TabPanels)`
81
+ // flex: 1;
82
+ // `;
83
+ // export const TabPanel = styled(_TabPanel)`
84
+ // ${min.sm} {
85
+ // padding-left: var(--gutter-half);
86
+ // }
87
+ // `;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KoineTabs = exports.Panel = exports.Indicator = exports.Tab = exports.List = exports.Root = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var helpers_1 = require("../../helpers");
6
+ // import type { ComponentsProps } from "../TabsMui";
7
+ var _ = tslib_1.__importStar(require("../TabsMui"));
8
+ exports.Root = (0, helpers_1.classed)(_.Root)(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["< class=\"tabs"], ["< class=\"tabs"])));
9
+ exports.List = (0, helpers_1.classed)(_.List)(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject(["< class=\"tabsList flex"], ["< class=\"tabsList flex"])));
10
+ exports.Tab = (0, helpers_1.classed)(_.Tab)(templateObject_3 || (templateObject_3 = tslib_1.__makeTemplateObject(["< class=\"tabsTab inline-flex items-center justify-center [-webkit-tap-highlight-color:transparent] appearance-none select-none"], ["< class=\"tabsTab inline-flex items-center justify-center [-webkit-tap-highlight-color:transparent] appearance-none select-none"])));
11
+ exports.Indicator = (0, helpers_1.classed)(_.Indicator)(templateObject_4 || (templateObject_4 = tslib_1.__makeTemplateObject(["< class=\"tabsIndicator"], ["< class=\"tabsIndicator"])));
12
+ exports.Panel = (0, helpers_1.classed)(_.Panel)(templateObject_5 || (templateObject_5 = tslib_1.__makeTemplateObject(["< class=\"tabsPanel"], ["< class=\"tabsPanel"])));
13
+ exports.KoineTabs = (0, helpers_1.extendComponent)(_.KoineTabs, {
14
+ Root: exports.Root,
15
+ List: exports.List,
16
+ Tab: exports.Tab,
17
+ Indicator: exports.Indicator,
18
+ Panel: exports.Panel,
19
+ });
20
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KoineTabs = exports.Panel = exports.Indicator = exports.Tab = exports.List = exports.Root = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var helpers_1 = require("../../helpers");
6
+ var bare_1 = require("./bare");
7
+ exports.Root = (0, helpers_1.classed)(bare_1.KoineTabs.Root)(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["< class=\""], ["< class=\""])));
8
+ exports.List = (0, helpers_1.classed)(bare_1.KoineTabs.List)(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject(["< class=\"border-b-gray-200 border-b border-solid"], ["< class=\"border-b-gray-200 border-b border-solid"])));
9
+ exports.Tab = (0, helpers_1.classed)(bare_1.KoineTabs.Tab)(templateObject_3 || (templateObject_3 = tslib_1.__makeTemplateObject(["< class=\"flex-col relative py-3 px-4 uppercase"], ["< class=\"flex-col relative py-3 px-4 uppercase"]))); // ${p => p.selected ? "text-cyan-600" : ""}
10
+ exports.Indicator = (0, helpers_1.classed)(bare_1.KoineTabs.Indicator)(templateObject_4 || (templateObject_4 = tslib_1.__makeTemplateObject(["< class=\"absolute bottom-0 w-full h-[2px] ", ""], ["< class=\"absolute bottom-0 w-full h-[2px] ", ""])), function (p) {
11
+ return p.selected ? "bg-current" : "";
12
+ });
13
+ exports.Panel = (0, helpers_1.classed)(bare_1.KoineTabs.Panel)(templateObject_5 || (templateObject_5 = tslib_1.__makeTemplateObject(["< class=\"tabsPanel"], ["< class=\"tabsPanel"])));
14
+ exports.KoineTabs = (0, helpers_1.extendComponent)(bare_1.KoineTabs, {
15
+ Root: exports.Root,
16
+ List: exports.List,
17
+ Tab: exports.Tab,
18
+ Indicator: exports.Indicator,
19
+ Panel: exports.Panel,
20
+ });
21
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTabs = void 0;
4
+ var react_1 = require("react");
5
+ var utils_1 = require("@mui/utils");
6
+ var useId_1 = require("../hooks/useId");
7
+ var useTabs = function (props) {
8
+ var valueProp = props.value, defaultValue = props.defaultValue, onChange = props.onChange, orientation = props.orientation, direction = props.direction, selectionFollowsFocus = props.selectionFollowsFocus;
9
+ var _a = (0, utils_1.unstable_useControlled)({
10
+ controlled: valueProp,
11
+ default: defaultValue,
12
+ name: "Tabs",
13
+ state: "value",
14
+ }), value = _a[0], setValue = _a[1];
15
+ var idPrefix = (0, useId_1.useId)();
16
+ var onSelected = (0, react_1.useCallback)(function (e, newValue) {
17
+ setValue(newValue);
18
+ if (onChange) {
19
+ onChange(e, newValue);
20
+ }
21
+ }, [onChange, setValue]);
22
+ var getRootProps = function () {
23
+ return {};
24
+ };
25
+ var tabsContextValue = (0, react_1.useMemo)(function () {
26
+ return {
27
+ idPrefix: idPrefix,
28
+ value: value,
29
+ onSelected: onSelected,
30
+ orientation: orientation,
31
+ direction: direction,
32
+ selectionFollowsFocus: selectionFollowsFocus,
33
+ };
34
+ }, [
35
+ idPrefix,
36
+ value,
37
+ onSelected,
38
+ orientation,
39
+ direction,
40
+ selectionFollowsFocus,
41
+ ]);
42
+ return {
43
+ getRootProps: getRootProps,
44
+ tabsContextValue: tabsContextValue,
45
+ };
46
+ };
47
+ exports.useTabs = useTabs;
48
+ exports.default = exports.useTabs;
@@ -1,10 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CopyPasteVisible = void 0;
4
- const tslib_1 = require("tslib");
5
- const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
6
- exports.CopyPasteVisible = styled_components_1.default.span `
7
- color: transparent;
8
- opacity: 0;
9
- font-size: 0;
10
- `;
4
+ var tslib_1 = require("tslib");
5
+ var styled_components_1 = tslib_1.__importDefault(require("styled-components"));
6
+ exports.CopyPasteVisible = styled_components_1.default.span(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["\n color: transparent;\n opacity: 0;\n font-size: 0;\n"], ["\n color: transparent;\n opacity: 0;\n font-size: 0;\n"])));
7
+ var templateObject_1;
@@ -1,51 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.H4 = exports.H3 = exports.H2 = exports.H1 = exports.P = exports.h4 = exports.h3 = exports.h2 = exports.h1 = exports.p = void 0;
4
- const tslib_1 = require("tslib");
5
- const styled_components_1 = tslib_1.__importDefault(require("styled-components"));
6
- const media_1 = require("../styles/media");
7
- exports.p = `
8
- margin: 0 0 1em 0;
9
- `;
10
- exports.h1 = `
11
- margin: 0 0 10px 0;
12
- font-size: 30px;
13
- font-weight: 800;
14
- line-height: var(--headingsLineHeight);
15
- ${media_1.min.md} {
16
- font-size: 50px;
17
- }
18
- `;
19
- exports.h2 = `
20
- margin: 0 0 1em 0;
21
- font-size: 24px;
22
- font-weight: 800;
23
- line-height: var(--headingsLineHeight);
24
- `;
25
- exports.h3 = `
26
- margin: 0 0 1em 0;
27
- font-size: 20px;
28
- font-weight: 600;
29
- line-height: var(--headingsLineHeight);
30
- `;
31
- exports.h4 = `
32
- margin: 0 0 1em 0;
33
- font-size: 13px;
34
- font-weight: 600;
35
- line-height: var(--headingsLineHeight);
36
- `;
37
- exports.P = styled_components_1.default.div `
38
- ${exports.p}
39
- `;
40
- exports.H1 = styled_components_1.default.div `
41
- ${exports.h1}
42
- `;
43
- exports.H2 = styled_components_1.default.div `
44
- ${exports.h2}
45
- `;
46
- exports.H3 = styled_components_1.default.div `
47
- ${exports.h3}
48
- `;
49
- exports.H4 = styled_components_1.default.div `
50
- ${exports.h4}
51
- `;
4
+ var tslib_1 = require("tslib");
5
+ var styled_components_1 = tslib_1.__importDefault(require("styled-components"));
6
+ var media_1 = require("../styles/media");
7
+ exports.p = "\n margin: 0 0 1em 0;\n";
8
+ exports.h1 = "\n margin: 0 0 10px 0;\n font-size: 30px;\n font-weight: 800;\n line-height: var(--headingsLineHeight);\n ".concat(media_1.min.md, " {\n font-size: 50px;\n }\n");
9
+ exports.h2 = "\n margin: 0 0 1em 0;\n font-size: 24px;\n font-weight: 800;\n line-height: var(--headingsLineHeight);\n";
10
+ exports.h3 = "\n margin: 0 0 1em 0;\n font-size: 20px;\n font-weight: 600;\n line-height: var(--headingsLineHeight);\n";
11
+ exports.h4 = "\n margin: 0 0 1em 0;\n font-size: 13px;\n font-weight: 600;\n line-height: var(--headingsLineHeight);\n";
12
+ exports.P = styled_components_1.default.div(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), exports.p);
13
+ exports.H1 = styled_components_1.default.div(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), exports.h1);
14
+ exports.H2 = styled_components_1.default.div(templateObject_3 || (templateObject_3 = tslib_1.__makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), exports.h2);
15
+ exports.H3 = styled_components_1.default.div(templateObject_4 || (templateObject_4 = tslib_1.__makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), exports.h3);
16
+ exports.H4 = styled_components_1.default.div(templateObject_5 || (templateObject_5 = tslib_1.__makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), exports.h4);
17
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -1,64 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReadMore = 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
- const react_use_1 = require("react-use");
9
- const framer_motion_1 = require("framer-motion");
4
+ var tslib_1 = require("tslib");
5
+ var jsx_runtime_1 = require("react/jsx-runtime");
6
+ var react_1 = require("react");
7
+ var styled_components_1 = tslib_1.__importDefault(require("styled-components"));
8
+ var framer_motion_1 = require("framer-motion");
10
9
  // import { CgArrowsExpandDownRight as IconExpand } from "react-icons/cg";
11
- const Root = styled_components_1.default.div ``;
12
- const Content = styled_components_1.default.div `
13
- & p:first-child {
14
- margin-top: 0;
15
- }
16
- `;
17
- const BtnWrap = styled_components_1.default.span `
18
- display: flex;
19
- justify-content: flex-end;
20
- transition: transform 0.18s ease-in-out;
21
- text-align: right;
22
- transform: translateY(${(p) => (p.$expanded ? "0" : "-100%")});
23
- opacity: ${(p) => (p.$expanded ? 0 : 1)};
24
- `;
25
- const BtnFader = styled_components_1.default.div `
26
- width: 30%;
27
- transition: transform 0.18s ease-in-out;
28
- background: linear-gradient(45deg, transparent 50%, ${(p) => p.$bg} 70%);
29
- `;
30
- const Btn = styled_components_1.default.span `
31
- padding: 0 10px 0 10px;
32
- line-height: ${(p) => (p.$lineHeight ? p.$lineHeight : "inherit")};
33
- background: var(--bodyBg);
34
- color: var(--grey600);
35
- white-space: nowrap;
36
- font-size: ${(p) => p.$fontSize}px;
37
- cursor: pointer;
38
- `;
39
- const BtnIcon = styled_components_1.default.span `
40
- display: inline-block;
41
- margin: 0 0 0 4px;
42
- transition: transform 0.18s ease-in-out;
43
- ${(p) => (p.$expanded ? "transform: rotate(180deg);" : "")};
44
- font-size: ${(p) => p.$fontSize}px;
45
- `;
46
- const ReadMore = ({ lines = 3, lineHeight = 1.6, fontSize = 14, bg = "var(--bodyBg)", expand = "Expand", collapse = "Collapse", ...props }) => {
47
- const defaultMaxHeight = lines * (lineHeight * fontSize);
48
- const [expanded, setExpanded] = (0, react_1.useState)(false);
49
- const [maxHeight, setMaxHeight] = (0, react_1.useState)(defaultMaxHeight);
50
- const [fullHeight, setFullHeight] = (0, react_1.useState)(0);
51
- const [exceeds, setExceeds] = (0, react_1.useState)(false);
52
- const content = (0, react_1.useRef)(null);
53
- const height = (0, framer_motion_1.useSpring)(defaultMaxHeight);
54
- const styles = (0, react_1.useMemo)(() => (exceeds ? { height, overflow: "hidden" } : {}), [exceeds, height]);
55
- const handleExpandClick = () => {
56
- setExpanded((prevExpanded) => !prevExpanded);
10
+ var hooks_1 = require("../hooks");
11
+ var Root = styled_components_1.default.div(templateObject_1 || (templateObject_1 = tslib_1.__makeTemplateObject([""], [""])));
12
+ var Content = styled_components_1.default.div(templateObject_2 || (templateObject_2 = tslib_1.__makeTemplateObject(["\n & p:first-child {\n margin-top: 0;\n }\n"], ["\n & p:first-child {\n margin-top: 0;\n }\n"])));
13
+ var BtnWrap = styled_components_1.default.span(templateObject_3 || (templateObject_3 = tslib_1.__makeTemplateObject(["\n display: flex;\n justify-content: flex-end;\n transition: transform 0.18s ease-in-out;\n text-align: right;\n transform: translateY(", ");\n opacity: ", ";\n"], ["\n display: flex;\n justify-content: flex-end;\n transition: transform 0.18s ease-in-out;\n text-align: right;\n transform: translateY(", ");\n opacity: ", ";\n"])), function (p) { return (p.$expanded ? "0" : "-100%"); }, function (p) { return (p.$expanded ? 0 : 1); });
14
+ var BtnFader = styled_components_1.default.div(templateObject_4 || (templateObject_4 = tslib_1.__makeTemplateObject(["\n width: 30%;\n transition: transform 0.18s ease-in-out;\n background: linear-gradient(45deg, transparent 50%, ", " 70%);\n"], ["\n width: 30%;\n transition: transform 0.18s ease-in-out;\n background: linear-gradient(45deg, transparent 50%, ", " 70%);\n"])), function (p) { return p.$bg; });
15
+ var Btn = styled_components_1.default.span(templateObject_5 || (templateObject_5 = tslib_1.__makeTemplateObject(["\n padding: 0 10px 0 10px;\n line-height: ", ";\n background: var(--bodyBg);\n color: var(--grey600);\n white-space: nowrap;\n font-size: ", "px;\n cursor: pointer;\n"], ["\n padding: 0 10px 0 10px;\n line-height: ", ";\n background: var(--bodyBg);\n color: var(--grey600);\n white-space: nowrap;\n font-size: ", "px;\n cursor: pointer;\n"])), function (p) { return (p.$lineHeight ? p.$lineHeight : "inherit"); }, function (p) { return p.$fontSize; });
16
+ var BtnIcon = styled_components_1.default.span(templateObject_6 || (templateObject_6 = tslib_1.__makeTemplateObject(["\n display: inline-block;\n margin: 0 0 0 4px;\n transition: transform 0.18s ease-in-out;\n ", ";\n font-size: ", "px;\n"], ["\n display: inline-block;\n margin: 0 0 0 4px;\n transition: transform 0.18s ease-in-out;\n ", ";\n font-size: ", "px;\n"])), function (p) { return (p.$expanded ? "transform: rotate(180deg);" : ""); }, function (p) { return p.$fontSize; });
17
+ var ReadMore = function (_a) {
18
+ var _b = _a.lines, lines = _b === void 0 ? 3 : _b, _c = _a.lineHeight, lineHeight = _c === void 0 ? 1.6 : _c, _d = _a.fontSize, fontSize = _d === void 0 ? 14 : _d, _e = _a.bg, bg = _e === void 0 ? "var(--bodyBg)" : _e, _f = _a.expand, expand = _f === void 0 ? "Expand" : _f, _g = _a.collapse, collapse = _g === void 0 ? "Collapse" : _g, props = tslib_1.__rest(_a, ["lines", "lineHeight", "fontSize", "bg", "expand", "collapse"]);
19
+ var defaultMaxHeight = lines * (lineHeight * fontSize);
20
+ var _h = (0, react_1.useState)(false), expanded = _h[0], setExpanded = _h[1];
21
+ var _j = (0, react_1.useState)(defaultMaxHeight), maxHeight = _j[0], setMaxHeight = _j[1];
22
+ var _k = (0, react_1.useState)(0), fullHeight = _k[0], setFullHeight = _k[1];
23
+ var _l = (0, react_1.useState)(false), exceeds = _l[0], setExceeds = _l[1];
24
+ var content = (0, react_1.useRef)(null);
25
+ var height = (0, framer_motion_1.useSpring)(defaultMaxHeight);
26
+ var styles = (0, react_1.useMemo)(function () { return (exceeds ? { height: height, overflow: "hidden" } : {}); }, [exceeds, height]);
27
+ var handleExpandClick = function () {
28
+ setExpanded(function (prevExpanded) { return !prevExpanded; });
57
29
  };
58
- (0, react_use_1.useIsomorphicLayoutEffect)(() => {
30
+ (0, hooks_1.useIsomorphicLayoutEffect)(function () {
59
31
  if (content.current) {
60
- const elementHeight = content.current.offsetHeight;
61
- const newExceeds = elementHeight > maxHeight;
32
+ var elementHeight = content.current.offsetHeight;
33
+ var newExceeds = elementHeight > maxHeight;
62
34
  if (!newExceeds) {
63
35
  setMaxHeight(elementHeight);
64
36
  }
@@ -66,9 +38,10 @@ const ReadMore = ({ lines = 3, lineHeight = 1.6, fontSize = 14, bg = "var(--body
66
38
  setFullHeight(elementHeight);
67
39
  }
68
40
  }, [content, maxHeight]);
69
- (0, react_use_1.useIsomorphicLayoutEffect)(() => {
41
+ (0, hooks_1.useIsomorphicLayoutEffect)(function () {
70
42
  height.set(expanded ? fullHeight : maxHeight);
71
43
  }, [expanded, height, fullHeight, maxHeight]);
72
- return ((0, jsx_runtime_1.jsxs)(Root, { children: [(0, jsx_runtime_1.jsx)(framer_motion_1.m.div, { style: styles, children: (0, jsx_runtime_1.jsx)(Content, { ref: content, ...props }) }), exceeds && ((0, jsx_runtime_1.jsxs)(BtnWrap, { "$expanded": expanded, children: [(0, jsx_runtime_1.jsx)(BtnFader, { "$bg": bg }), (0, jsx_runtime_1.jsxs)(Btn, { "$fontSize": fontSize, "$lineHeight": lineHeight, onClick: handleExpandClick, "aria-expanded": expanded, "aria-label": expanded ? collapse : expand, children: [expanded ? collapse : expand, (0, jsx_runtime_1.jsx)(BtnIcon, { "$expanded": expanded })] })] }))] }));
44
+ return ((0, jsx_runtime_1.jsxs)(Root, { children: [(0, jsx_runtime_1.jsx)(framer_motion_1.m.div, tslib_1.__assign({ style: styles }, { children: (0, jsx_runtime_1.jsx)(Content, tslib_1.__assign({ ref: content }, props)) })), exceeds && ((0, jsx_runtime_1.jsxs)(BtnWrap, tslib_1.__assign({ "$expanded": expanded }, { children: [(0, jsx_runtime_1.jsx)(BtnFader, { "$bg": bg }), (0, jsx_runtime_1.jsxs)(Btn, tslib_1.__assign({ "$fontSize": fontSize, "$lineHeight": lineHeight, onClick: handleExpandClick, "aria-expanded": expanded, "aria-label": expanded ? collapse : expand }, { children: [expanded ? collapse : expand, (0, jsx_runtime_1.jsx)(BtnIcon, { "$expanded": expanded })] }))] })))] }));
73
45
  };
74
46
  exports.ReadMore = ReadMore;
47
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;