@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,156 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.generateMediaQueries = exports.useMedia = exports.only = exports.between = exports.down = exports.up = exports.max = exports.min = void 0;
5
- const react_1 = require("react");
6
- const theme_1 = require("./theme");
7
- _a = generateMediaQueries(theme_1.breakpoints), exports.min = _a.min, exports.max = _a.max, exports.up = _a.up, exports.down = _a.down, exports.between = _a.between, exports.only = _a.only;
8
- function useMedia(media) {
9
- const { breakpoints } = (0, theme_1.useTheme)();
10
- const [matches, setMatches] = (0, react_1.useState)(false);
11
- const [direction = "min", breakpoint] = media.split(":");
12
- let px = breakpoints[breakpoint];
13
- if (direction === "max") {
14
- px = px - 0.02;
15
- }
16
- const query = `(${direction}-width: ${px}px)`;
17
- (0, react_1.useEffect)(() => {
18
- const mq = window.matchMedia(query);
19
- const handleChange = (event) => {
20
- setMatches(event.matches);
21
- };
22
- setMatches(mq.matches);
23
- // Safari < 14 can't use addEventListener on a MediaQueryList
24
- // https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList#Browser_compatibility
25
- if (!mq.addEventListener) {
26
- // Update the state whenever the media query match state changes
27
- mq.addListener(handleChange);
28
- // Clean up on unmount and if the query changes
29
- return () => {
30
- mq.removeListener(handleChange);
31
- };
32
- }
33
- mq.addEventListener("change", handleChange);
34
- return () => {
35
- mq.removeEventListener("change", handleChange);
36
- };
37
- }, [query]);
38
- return matches;
39
- }
40
- exports.useMedia = useMedia;
41
- /**
42
- * Generate media queries helpers
43
- *
44
- * Usage:
45
- * ```jsx
46
- * import { generateMediaQueries } from "@koine/react";
47
- *
48
- * export const breakpoints = {
49
- * xs: 0,
50
- * sm: 440,
51
- * md: 768,
52
- * lg: 1024,
53
- * xl: 1368,
54
- * xxl: 1690,
55
- * } as const;
56
- *
57
- * export const { min, max, up, down, between, only } = generateMediaQueries(breakpoints);
58
- * ```
59
- *
60
- * Consider the following syntaxes, using normal CSS is just slightly
61
- * longer but it aovid js imports, reduce the js overhead and improve CSS
62
- * highlighting in the editor.
63
- *
64
- * Even if we would reduce the function signature to the bare minimum the advantage
65
- * in terms of typing would not be much, also loosing in readability.
66
- *
67
- * ```css
68
- * // but unfortunately this does not work
69
- * @media (min-width: var(--b-sm)) {}
70
- * @media (min-width: 480px) {}
71
- *
72
- * ${media("min", "sm")} {}
73
- * ${mediaMin("sm")} {}
74
- * ${min.sm} {}
75
- * ${p => p.theme.min.sm}``
76
- * ```
77
- *
78
- * Related projects:
79
- * @see https://github.com/mg901/styled-breakpoints
80
- * @see https://github.com/morajabi/styled-media-query
81
- *
82
- * @see https://www.w3.org/TR/mediaqueries-5/#custom-mq The spec would allow for
83
- * something like this syntax
84
- *
85
- * ```css
86
- * @custom-media --narrow-window (max-width: 30em);
87
- * @media (--narrow-window) {}
88
- * ```
89
- */
90
- function generateMediaQueries(breakpoints) {
91
- const temp = Object.keys(breakpoints).map((key) => {
92
- const br = key;
93
- return [br, breakpoints[br]];
94
- });
95
- const sortedKeys = temp.sort((a, b) => a[1] - b[1]).map((item) => item[0]);
96
- const getNext = (breakpoint) => {
97
- const index = sortedKeys.indexOf(breakpoint);
98
- return sortedKeys[index + 1];
99
- };
100
- /**
101
- * It behaves the same as `@media (min-width: ${value}px)`
102
- * where value is the given breakpoint value.
103
- * For ease of use this can be used both as a function `min("md")` and as an
104
- * object literal `min.md`.
105
- */ // @ts-expect-error FIXME: at some point
106
- const min = (br) => `@media (min-width: ${breakpoints[br]}px)`;
107
- /**
108
- * It behaves the same as `@media (max-width: ${value}px)`
109
- * where value is the given breakpoint value.
110
- * For ease of use this can be used both as a function `max("md")` and as an
111
- * object literal `max.md`.
112
- */ // @ts-expect-error FIXME: at some point
113
- const max = (br) => `@media (max-width: ${breakpoints[br] - 0.02}px)`;
114
- for (const br in breakpoints) {
115
- const _br = br;
116
- min[_br] = `@media (min-width: ${breakpoints[_br]}px)`;
117
- max[_br] = `@media (max-width: ${breakpoints[_br] - 0.02}px)`;
118
- }
119
- /**
120
- * It behaves the same as `min`
121
- * @inheritdoc {max}
122
- */
123
- const up = min;
124
- /**
125
- * It behaves similarly to `max` but you will use the "next" breakpoint,
126
- * specifying CSS that will apply from the given breakpoint and down.
127
- */
128
- const down = (br) => {
129
- const brNext = getNext(br);
130
- // TODO: if br does not exists otherwise throw Error
131
- return brNext && `@media (max-width: ${breakpoints[brNext] - 0.02}px)`;
132
- };
133
- /**
134
- * Media query between the two given breakpoints
135
- */
136
- const between = (br1, br2) => {
137
- return `@media (min-width: ${breakpoints[br1]}px) and (max-width: ${breakpoints[br2] - 0.02}px)`;
138
- };
139
- /**
140
- * Media query to apply from the given breakpoint until the next, just for its
141
- * full range
142
- */
143
- const only = (br) => {
144
- const brNext = getNext(br);
145
- return brNext ? between(br, brNext) : min(br);
146
- };
147
- return {
148
- min,
149
- max,
150
- up,
151
- down,
152
- between,
153
- only,
154
- };
155
- }
156
- exports.generateMediaQueries = generateMediaQueries;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.spacingVertical = exports.spacingBottom = exports.spacingTop = exports.spacing = void 0;
4
- function _spacing(theme, size = "md", factor = 1, property = "padding", direction = "top", devices = ["mobile", "tablet", "desktop"]) {
5
- const { breakpoints, devices: DEVICES, spaces: SPACES } = theme;
6
- let css = "";
7
- const prop = `${property}-${direction}`;
8
- if (!devices.length || devices[0] === "mobile") {
9
- css += `@media(max-width: ${breakpoints[DEVICES.mobile]}px){
10
- ${prop}: ${SPACES["mobile"][size] * factor}px;
11
- }`;
12
- }
13
- else {
14
- for (let index = 0; index < devices.length; index++) {
15
- const device = devices[index];
16
- if (device === "mobile") {
17
- css += `${prop}: ${SPACES[device][size] * factor}px;`;
18
- }
19
- else if (device === "tablet") {
20
- css += `@media(min-width: ${breakpoints[DEVICES.tablet]}px){
21
- ${prop}: ${SPACES["tablet"][size] * factor}px;
22
- }`;
23
- }
24
- else if (device === "desktop") {
25
- css += `@media(min-width: ${breakpoints[DEVICES.desktop]}px){
26
- ${prop}: ${SPACES["desktop"][size] * factor}px;
27
- }`;
28
- }
29
- }
30
- }
31
- return css;
32
- }
33
- function spacing(size, factor, property, direction, devices) {
34
- if (direction === "vertical") {
35
- return (_spacing(this, size, factor, property, "top", devices) +
36
- _spacing(this, size, factor, property, "bottom", devices));
37
- }
38
- return _spacing(this, size, factor, property, direction, devices);
39
- }
40
- exports.spacing = spacing;
41
- function spacingTop(size, factor, property, devices) {
42
- return _spacing(this, size, factor, property, "top", devices);
43
- }
44
- exports.spacingTop = spacingTop;
45
- function spacingBottom(size, factor, property, devices) {
46
- return _spacing(this, size, factor, property, "bottom", devices);
47
- }
48
- exports.spacingBottom = spacingBottom;
49
- function spacingVertical(size, factor, property, devices) {
50
- return (_spacing(this, size, factor, property, "top", devices) +
51
- _spacing(this, size, factor, property, "bottom", devices));
52
- }
53
- exports.spacingVertical = spacingVertical;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stateFocus = exports.invisible = exports.ellipsis = exports.centered = exports.overlay = exports.inset0 = exports.colStretch = void 0;
4
- function colStretch(direction, bg) {
5
- return `
6
- background: ${bg};
7
- position: relative;
8
-
9
- &:before{
10
- z-index: -1;
11
- content: '';
12
- position: absolute;
13
- right: ${direction === "left" ? "100%" : "-100vw"};
14
- left: ${direction === "right" ? "100%" : "-100vw"};
15
- top: 0;
16
- bottom: 0;
17
- background: ${bg};
18
- }
19
- `;
20
- }
21
- exports.colStretch = colStretch;
22
- /** @see https://caniuse.com/?search=inset */
23
- exports.inset0 = `top:0;left:0;right:0;bottom:0;`;
24
- exports.overlay = `position: absolute;${exports.inset0}`;
25
- exports.centered = `display: flex;align-items: center;justify-content: center;`;
26
- exports.ellipsis = `overflow: hidden;text-overflow: ellipsis;white-space: nowrap;`;
27
- /**
28
- * @see import("@mui/utils").visuallyHidden https://github.com/mui-org/material-ui/blob/master/packages/mui-utils/src/visuallyHidden.ts
29
- */
30
- exports.invisible = `border: 0;clip: rect(0 0 0 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;white-space: nowrap;width: 1px;`;
31
- exports.stateFocus = `outline: 0px;box-shadow: 0 0 0 0.2rem rgba(200, 200, 200, 0.25);`;
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ThemeVanillaProvider = exports.ThemeVanillaContext = exports.getInitialThemeFromClient = exports.getInitialThemeFromRequest = exports.THEME_DEFAULT = exports.THEME_KEY = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- const utils_1 = require("@koine/utils");
7
- const hooks_1 = require("../hooks");
8
- exports.THEME_KEY = "theme";
9
- exports.THEME_DEFAULT = "light";
10
- const getInitialThemeFromRequest = (cookie) => {
11
- if (cookie) {
12
- const parsed = (0, utils_1.parseCookie)(cookie);
13
- return parsed?.theme;
14
- }
15
- return exports.THEME_DEFAULT;
16
- };
17
- exports.getInitialThemeFromRequest = getInitialThemeFromRequest;
18
- const getInitialThemeFromClient = () => {
19
- if (typeof window !== "undefined" && window.localStorage) {
20
- const storedPrefs = window.localStorage.getItem(exports.THEME_KEY);
21
- if (typeof storedPrefs === "string") {
22
- return storedPrefs;
23
- }
24
- const userMedia = window.matchMedia("(prefers-color-scheme: dark)");
25
- if (userMedia.matches) {
26
- return "dark";
27
- }
28
- }
29
- return exports.THEME_DEFAULT;
30
- };
31
- exports.getInitialThemeFromClient = getInitialThemeFromClient;
32
- exports.ThemeVanillaContext = (0, react_1.createContext)({
33
- theme: "light",
34
- setTheme: undefined,
35
- });
36
- const ThemeVanillaProvider = ({ initialTheme, children, }) => {
37
- const [theme, setTheme] = (0, react_1.useState)(initialTheme);
38
- const rawSetTheme = (rawTheme) => {
39
- if (!rawTheme || !utils_1.isBrowser) {
40
- return;
41
- }
42
- const root = window.document.documentElement;
43
- const isDark = rawTheme === "dark";
44
- root.classList.remove(isDark ? "light" : "dark");
45
- root.classList.add(rawTheme);
46
- localStorage.setItem(exports.THEME_KEY, rawTheme);
47
- (0, utils_1.setCookie)(exports.THEME_KEY, rawTheme);
48
- };
49
- (0, hooks_1.useMount)(() => {
50
- const theme = (0, exports.getInitialThemeFromClient)();
51
- setTheme(theme);
52
- rawSetTheme(theme);
53
- });
54
- (0, hooks_1.useUpdateEffect)(() => {
55
- rawSetTheme(theme);
56
- }, [theme]);
57
- return ((0, jsx_runtime_1.jsx)(exports.ThemeVanillaContext.Provider, { value: { theme, setTheme }, children: children }));
58
- };
59
- exports.ThemeVanillaProvider = ThemeVanillaProvider;
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useTheme = exports.createTheme = exports.breakpoints = void 0;
4
- const styled_components_1 = require("styled-components");
5
- const DEFAULT_BREAKPOINTS = {
6
- xs: 0,
7
- sm: 440,
8
- md: 768,
9
- lg: 1024,
10
- xl: 1368,
11
- xxl: 1690,
12
- };
13
- /**
14
- * You can override the default breakpoints through the .env variable
15
- *
16
- * FIXME: find a better way to configure it, the problem is that we use the media
17
- * queries within this pre-compiled library and thrught it was better to avoid
18
- * using theming props for a more ergonomic usage.
19
- *
20
- * ```.env
21
- * BREAKPOINTS=xs:0,sm:440,md:768,lg:1024,xl:1368,xxl:1690
22
- * ```
23
- */
24
- exports.breakpoints = process.env["BREAKPOINTS"]
25
- ? process.env["BREAKPOINTS"].split(",").reduce((map, pair) => {
26
- const [key, value] = pair.split(":");
27
- map[key] = parseFloat(value);
28
- return map;
29
- }, {})
30
- : DEFAULT_BREAKPOINTS;
31
- const themeDefault = {
32
- maxWidth: exports.breakpoints.xxl,
33
- breakpoints: exports.breakpoints,
34
- devices: {
35
- mobile: "sm",
36
- tablet: "md",
37
- desktop: "lg",
38
- },
39
- };
40
- const createTheme = (options) => ({
41
- ...themeDefault,
42
- ...options,
43
- });
44
- exports.createTheme = createTheme;
45
- exports.useTheme = styled_components_1.useTheme;
package/node/tw/index.js DELETED
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KoineDialog = void 0;
4
- const tslib_1 = require("tslib");
5
- tslib_1.__exportStar(require("../shared"), exports);
6
- // export * from "../Alert";
7
- // export * from "../Animations";
8
- // export * from "../Autocomplete";
9
- // export * from "../Bg";
10
- // export * from "../Breadcrumbs";
11
- // export * from "../Buttons";
12
- // export * from "../Carousel";
13
- // export * from "../Collapsable";
14
- // export * from "../Debug";
15
- var bare_1 = require("../Dialog/tw/bare");
16
- Object.defineProperty(exports, "KoineDialog", { enumerable: true, get: function () { return bare_1.KoineDialog; } });
17
- // export * from "../Form";
18
- // export * from "../Forms";
19
- // export * from "../Grid";
20
- // export * from "../Hamburger";
21
- // export * from "../Header";
22
- // export * from "../Hidden";
23
- // export * from "../Img";
24
- // export * from "../Link";
25
- // export * from "../MenuItem";
26
- // export * from "../Pagination";
27
- // export * from "../Pill";
28
- // export * from "../Progress";
29
- // export * from "../Rating";
30
- // // export * from "../Select";
31
- // export * from "../Sidebar";
32
- // export * from "../Spacing";
33
- // export * from "../Sticky";
34
- // export * from "../styles";
35
- // export * from "../Tabs";
36
- // export * from "../Typography";
package/node/twm/index.js DELETED
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KoineDialog = void 0;
4
- const tslib_1 = require("tslib");
5
- tslib_1.__exportStar(require("../shared"), exports);
6
- // export * from "../Alert";
7
- // export * from "../Animations";
8
- // export * from "../Autocomplete";
9
- // export * from "../Bg";
10
- // export * from "../Breadcrumbs";
11
- // export * from "../Buttons";
12
- // export * from "../Carousel";
13
- // export * from "../Collapsable";
14
- // export * from "../Debug";
15
- var framer_1 = require("../Dialog/tw/framer");
16
- Object.defineProperty(exports, "KoineDialog", { enumerable: true, get: function () { return framer_1.KoineDialog; } });
17
- // export * from "../Form";
18
- // export * from "../Forms";
19
- // export * from "../Grid";
20
- // export * from "../Hamburger";
21
- // export * from "../Header";
22
- // export * from "../Hidden";
23
- // export * from "../Img";
24
- // export * from "../Link";
25
- // export * from "../MenuItem";
26
- // export * from "../Pagination";
27
- // export * from "../Pill";
28
- // export * from "../Progress";
29
- // export * from "../Rating";
30
- // // export * from "../Select";
31
- // export * from "../Sidebar";
32
- // export * from "../Spacing";
33
- // export * from "../Sticky";
34
- // export * from "../styles";
35
- // export * from "../Tabs";
36
- // export * from "../Typography";
package/node/types.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });