@koine/react 1.0.11 → 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.
- package/Alert/Alert.js +7 -13
- package/Animations/Reveal.js +12 -10
- package/Animations/Underline.js +3 -13
- package/Animations/useReveal.js +18 -17
- package/Autocomplete/AutocompleteDownshift.js +1 -1
- package/Autocomplete/AutocompleteDownshiftMultiselect.js +1 -1
- package/Autocomplete/AutocompleteMui.js +61 -56
- package/Autocomplete/AutocompleteReach.js +1 -1
- package/Autocomplete/components.js +17 -72
- package/Autocomplete/helpers.js +1 -1
- package/Bg/BgColor.js +14 -24
- package/Bg/BgPhoto.js +11 -54
- package/Bg/BgSvg.js +6 -9
- package/Breadcrumbs/Breadcrumbs.js +14 -54
- package/Buttons/Button.js +8 -73
- package/Buttons/ButtonComposite.js +20 -41
- package/Buttons/ButtonFab.js +4 -6
- package/Buttons/ButtonLink.js +7 -6
- package/Buttons/IconButton.js +5 -17
- package/Calendar/CalendarDaygridCell.js +20 -14
- package/Calendar/CalendarDaygridNav.js +10 -9
- package/Calendar/CalendarDaygridTable.js +32 -30
- package/Calendar/CalendarLegend.js +7 -2
- package/Calendar/calendar-api-google.js +101 -68
- package/Calendar/useCalendar.js +114 -113
- package/Calendar/utils.js +73 -74
- package/Carousel/Carousel.js +1 -1
- package/Carousel/CarouselCss.js +12 -26
- package/Collapsable/Collapsable.js +1 -1
- package/Debug/Debug.js +5 -17
- package/Details/Details.js +30 -27
- package/Dialog/DialogMui.js +22 -20
- package/Dialog/css/bare.js +17 -15
- package/Dialog/m/bare.js +17 -13
- package/Dialog/m/basic.js +2 -2
- package/Dialog/m/index.js +4 -4
- package/Dialog/sc/bare.js +25 -43
- package/Dialog/sc/framer.js +6 -6
- package/Dialog/sc/framerMaterial.js +6 -6
- package/Dialog/sc/material.js +17 -37
- package/Dialog/tw/bare.js +25 -19
- package/Dialog/tw/elegant.js +17 -15
- package/Dialog/tw/framer.js +6 -6
- package/Dialog/tw/framerMaterial.js +6 -6
- package/Dialog/tw/material.js +17 -15
- package/Editor/Editor--tiptap.js +14 -11
- package/Editor/components.js +6 -24
- package/Favicon/FaviconTags.js +2 -1
- package/Form/Form.js +30 -28
- package/Form/sc/bare.js +9 -18
- package/Forms/Checkbox/Checkbox.js +9 -15
- package/Forms/Feedback/Feedback.js +6 -7
- package/Forms/Field/Field.js +15 -26
- package/Forms/Field/FieldControl.js +19 -15
- package/Forms/Field/FieldHint.js +3 -5
- package/Forms/Input/Input.js +10 -16
- package/Forms/InputGroup/InputGroup.js +9 -36
- package/Forms/Label/Label.js +5 -23
- package/Forms/Password/Password.js +10 -23
- package/Forms/Radio/Radio.js +15 -18
- package/Forms/Switch/Switch.js +9 -39
- package/Forms/Textarea/Textarea.js +6 -7
- package/Forms/Textarea/TextareaRich.js +10 -24
- package/Forms/Toggle/Toggle.js +19 -67
- package/Forms/Toggle/useToggle.js +29 -29
- package/Forms/antispam.js +12 -12
- package/Forms/helpers.js +7 -6
- package/Forms/styles.js +12 -43
- package/Gauge/Gauge.js +1 -1
- package/Grid/Grid.js +25 -51
- package/Hamburger/Hamburger.js +35 -47
- package/Header/useHeader.js +12 -12
- package/Hidden/Hidden.js +9 -13
- package/Img/sc/bare.js +3 -1
- package/Link/Link.js +3 -1
- package/Link/LinkBlank.js +8 -17
- package/Menu/Menu.js +3 -10
- package/MenuItem/MenuItem.js +3 -19
- package/Meta/Meta.js +3 -2
- package/NoJs/NoJs.js +2 -2
- package/Pagination/PaginationNav.js +26 -48
- package/Pagination/PaginationResults.js +7 -6
- package/Pill/Pill.js +6 -36
- package/Progress/ProgressCircular.js +9 -30
- package/Progress/ProgressLinear.js +8 -16
- package/Progress/ProgressOverlay.js +11 -27
- package/Rating/Rating.js +24 -44
- package/Rating/index.js +19 -15
- package/Select/SelectDownshift.js +1 -1
- package/Select/components.js +6 -12
- package/Sidebar/Sidebar.js +13 -38
- package/Spacing/Spacing.js +12 -12
- package/Sticky/Sticky.js +1 -1
- package/Sticky/StickyCss.js +4 -2
- package/Tabs/TabsMui.js +19 -16
- package/Tabs/tw/bare.js +13 -11
- package/Tabs/tw/material.js +15 -11
- package/Tabs/useTabs.js +16 -16
- package/Typography/CopyPasteVisible.js +3 -5
- package/Typography/Native.js +12 -45
- package/Typography/ReadMore.js +25 -51
- package/Typography/TextLoop.js +19 -22
- package/Typography/TypeStairs.js +20 -16
- package/helpers/classed.js +21 -18
- package/helpers/extend-component.js +6 -6
- package/hooks/useAsyncFn.js +18 -11
- package/hooks/useDateLocale.js +22 -13
- package/hooks/useEffectOnce.js +1 -1
- package/hooks/useFirstMountState.js +1 -1
- package/hooks/useFocus.js +3 -3
- package/hooks/useId.js +3 -2
- package/hooks/useIsomorphicLayoutEffect.js +1 -1
- package/hooks/useMount.js +2 -2
- package/hooks/useMountedState.js +4 -4
- package/hooks/usePrevious.js +2 -2
- package/hooks/useScrollPosition.js +20 -15
- package/hooks/useScrollTo.js +7 -5
- package/hooks/useTraceUpdate.js +4 -3
- package/hooks/useUpdateEffect.js +3 -3
- package/hooks/useWindowSize.js +3 -3
- package/m/MotionProvider.js +4 -2
- package/node/Alert/Alert.js +9 -16
- package/node/Alert/index.js +1 -1
- package/node/Animations/Reveal.js +15 -13
- package/node/Animations/Underline.js +5 -16
- package/node/Animations/index.js +1 -1
- package/node/Animations/useReveal.js +19 -18
- package/node/Autocomplete/AutocompleteMui.js +69 -64
- package/node/Autocomplete/components.js +26 -82
- package/node/Autocomplete/helpers.js +2 -2
- package/node/Bg/BgColor.js +18 -29
- package/node/Bg/BgPhoto.js +15 -59
- package/node/Bg/BgSvg.js +8 -12
- package/node/Bg/index.js +1 -1
- package/node/Breadcrumbs/Breadcrumbs.js +20 -61
- package/node/Breadcrumbs/index.js +1 -1
- package/node/Buttons/Button.js +10 -76
- package/node/Buttons/ButtonComposite.js +23 -45
- package/node/Buttons/ButtonFab.js +6 -9
- package/node/Buttons/ButtonLink.js +10 -10
- package/node/Buttons/IconButton.js +7 -20
- package/node/Buttons/index.js +1 -1
- package/node/Calendar/CalendarDaygridCell.js +24 -18
- package/node/Calendar/CalendarDaygridNav.js +14 -13
- package/node/Calendar/CalendarDaygridTable.js +39 -38
- package/node/Calendar/CalendarLegend.js +8 -3
- package/node/Calendar/calendar-api-google.js +105 -73
- package/node/Calendar/index.js +1 -1
- package/node/Calendar/useCalendar.js +117 -116
- package/node/Calendar/utils.js +82 -84
- package/node/Carousel/CarouselCss.js +17 -32
- package/node/Carousel/index.js +1 -1
- package/node/Collapsable/index.js +1 -1
- package/node/Debug/Debug.js +7 -20
- package/node/Debug/index.js +1 -1
- package/node/Details/Details.js +24 -22
- package/node/Details/index.js +1 -1
- package/node/Dialog/DialogMui.js +12 -11
- package/node/Dialog/css/bare.js +11 -10
- package/node/Dialog/m/bare.js +18 -14
- package/node/Dialog/m/basic.js +1 -1
- package/node/Dialog/m/index.js +4 -4
- package/node/Dialog/sc/bare.js +22 -41
- package/node/Dialog/sc/framer.js +5 -5
- package/node/Dialog/sc/framerMaterial.js +5 -5
- package/node/Dialog/sc/material.js +12 -33
- package/node/Dialog/tw/bare.js +19 -14
- package/node/Dialog/tw/elegant.js +11 -9
- package/node/Dialog/tw/framer.js +5 -5
- package/node/Dialog/tw/framerMaterial.js +5 -5
- package/node/Dialog/tw/material.js +11 -9
- package/node/Editor/Editor--tiptap.js +19 -17
- package/node/Editor/components.js +9 -28
- package/node/Editor/index.js +1 -1
- package/node/Favicon/FaviconTags.js +3 -2
- package/node/Favicon/index.js +1 -1
- package/node/Form/Form.js +20 -18
- package/node/Form/index.js +1 -1
- package/node/Form/sc/bare.js +12 -22
- package/node/Forms/Checkbox/Checkbox.js +13 -20
- package/node/Forms/Checkbox/index.js +1 -1
- package/node/Forms/Feedback/Feedback.js +8 -10
- package/node/Forms/Feedback/index.js +1 -1
- package/node/Forms/Field/Field.js +18 -30
- package/node/Forms/Field/FieldControl.js +26 -22
- package/node/Forms/Field/FieldHint.js +4 -7
- package/node/Forms/Field/index.js +1 -1
- package/node/Forms/Input/Input.js +15 -22
- package/node/Forms/Input/index.js +1 -1
- package/node/Forms/InputGroup/InputGroup.js +14 -42
- package/node/Forms/InputGroup/index.js +1 -1
- package/node/Forms/Label/Label.js +6 -25
- package/node/Forms/Label/index.js +1 -1
- package/node/Forms/Password/Password.js +16 -30
- package/node/Forms/Password/index.js +1 -1
- package/node/Forms/Radio/Radio.js +21 -25
- package/node/Forms/Radio/index.js +1 -1
- package/node/Forms/Switch/Switch.js +15 -46
- package/node/Forms/Switch/index.js +1 -1
- package/node/Forms/Textarea/Textarea.js +11 -13
- package/node/Forms/Textarea/TextareaRich.js +16 -31
- package/node/Forms/Textarea/index.js +1 -1
- package/node/Forms/Toggle/Toggle.js +23 -72
- package/node/Forms/Toggle/index.js +1 -1
- package/node/Forms/Toggle/useToggle.js +33 -33
- package/node/Forms/antispam.js +14 -14
- package/node/Forms/helpers.js +8 -7
- package/node/Forms/index.js +1 -1
- package/node/Forms/styles.js +16 -48
- package/node/Gauge/Gauge.js +1 -1
- package/node/Grid/Grid.js +24 -51
- package/node/Grid/index.js +1 -1
- package/node/Hamburger/Hamburger.js +37 -50
- package/node/Hamburger/index.js +1 -1
- package/node/Header/index.js +1 -1
- package/node/Header/useHeader.js +16 -16
- package/node/Hidden/Hidden.js +10 -15
- package/node/Hidden/index.js +1 -1
- package/node/Img/index.js +1 -1
- package/node/Img/sc/bare.js +4 -3
- package/node/Link/Link.js +4 -3
- package/node/Link/LinkBlank.js +11 -21
- package/node/Link/index.js +1 -1
- package/node/Menu/Menu.js +4 -12
- package/node/Menu/index.js +1 -1
- package/node/MenuItem/MenuItem.js +4 -21
- package/node/MenuItem/index.js +1 -1
- package/node/Meta/Meta.js +4 -3
- package/node/Meta/index.js +1 -1
- package/node/NoJs/NoJs.js +3 -3
- package/node/NoJs/index.js +1 -1
- package/node/Pagination/PaginationNav.js +30 -53
- package/node/Pagination/PaginationResults.js +10 -10
- package/node/Pagination/index.js +1 -1
- package/node/Pill/Pill.js +7 -38
- package/node/Pill/index.js +1 -1
- package/node/Progress/ProgressCircular.js +11 -33
- package/node/Progress/ProgressLinear.js +11 -20
- package/node/Progress/ProgressOverlay.js +18 -35
- package/node/Progress/index.js +1 -1
- package/node/Rating/Rating.js +28 -49
- package/node/Rating/index.js +20 -16
- package/node/Select/components.js +11 -18
- package/node/Sidebar/Sidebar.js +21 -47
- package/node/Sidebar/index.js +1 -1
- package/node/Spacing/Spacing.js +16 -17
- package/node/Spacing/index.js +1 -1
- package/node/Sticky/StickyCss.js +5 -3
- package/node/Sticky/index.js +1 -1
- package/node/Tabs/TabsMui.js +16 -14
- package/node/Tabs/index.js +1 -1
- package/node/Tabs/tw/bare.js +9 -8
- package/node/Tabs/tw/material.js +11 -7
- package/node/Tabs/useTabs.js +19 -19
- package/node/Typography/CopyPasteVisible.js +4 -7
- package/node/Typography/Native.js +14 -48
- package/node/Typography/ReadMore.js +30 -57
- package/node/Typography/TextLoop.js +22 -25
- package/node/Typography/TypeStairs.js +22 -18
- package/node/Typography/index.js +1 -1
- package/node/css/index.js +1 -1
- package/node/helpers/classed.js +22 -19
- package/node/helpers/extend-component.js +7 -7
- package/node/helpers/index.js +1 -1
- package/node/hooks/index.js +1 -1
- package/node/hooks/useAsyncFn.js +20 -13
- package/node/hooks/useDateLocale.js +23 -37
- package/node/hooks/useEffectOnce.js +2 -2
- package/node/hooks/useFirstMountState.js +2 -2
- package/node/hooks/useFocus.js +4 -4
- package/node/hooks/useId.js +4 -3
- package/node/hooks/useIsomorphicLayoutEffect.js +2 -2
- package/node/hooks/useMount.js +3 -3
- package/node/hooks/useMountedState.js +5 -5
- package/node/hooks/usePrevious.js +3 -3
- package/node/hooks/useScrollPosition.js +23 -18
- package/node/hooks/useScrollTo.js +9 -7
- package/node/hooks/useTraceUpdate.js +5 -4
- package/node/hooks/useUpdateEffect.js +5 -5
- package/node/hooks/useWindowSize.js +4 -4
- package/node/index.js +1 -1
- package/node/m/MotionProvider.js +6 -4
- package/node/m/index.js +1 -1
- package/node/m/lite.js +1 -1
- package/node/m/max.js +1 -1
- package/node/sc/index.js +1 -1
- package/node/scm/index.js +1 -1
- package/node/shared/index.js +1 -1
- package/node/styles/Body.js +5 -10
- package/node/styles/Global.js +5 -37
- package/node/styles/index.js +1 -1
- package/node/styles/media.js +42 -38
- package/node/styles/spacing.js +15 -16
- package/node/styles/styled.js +7 -21
- package/node/styles/theme--vanilla.js +21 -19
- package/node/styles/theme.js +9 -9
- package/node/tw/index.js +1 -1
- package/node/twm/index.js +1 -1
- package/package.json +3 -2
- package/styles/Body.js +4 -8
- package/styles/Global.js +4 -36
- package/styles/media.js +41 -36
- package/styles/spacing.js +15 -16
- package/styles/styled.js +7 -21
- package/styles/theme--vanilla.js +20 -18
- package/styles/theme.js +11 -11
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@koine/react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.12",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"main": "./node/index.js",
|
|
6
6
|
"typings": "./index.d.ts",
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
"styled-components": "^5.3.5",
|
|
9
9
|
"framer-motion": "^6.3.3",
|
|
10
10
|
"react": "^16.8 || ^17 || ^18",
|
|
11
|
-
"
|
|
11
|
+
"react-dom": "^16.8 || ^17 || ^18",
|
|
12
|
+
"@mui/base": "^5.0.0-alpha.81",
|
|
12
13
|
"react-icons": "^4.3.1",
|
|
13
14
|
"date-fns": "^2.28.0",
|
|
14
15
|
"react-swipeable": "^7.0.0",
|
package/styles/Body.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
+
import { __makeTemplateObject } from "tslib";
|
|
1
2
|
import styled from "styled-components";
|
|
2
|
-
export
|
|
3
|
-
display: flex;
|
|
4
|
-
flex-direction: column;
|
|
5
|
-
min-height: 100vh;
|
|
6
|
-
`;
|
|
3
|
+
export var BodyRoot = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n"], ["\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n"])));
|
|
7
4
|
/**
|
|
8
5
|
* If you have background graphics to overlap you might need to add:
|
|
9
6
|
*
|
|
@@ -12,6 +9,5 @@ export const BodyRoot = styled.div `
|
|
|
12
9
|
* position: relative;
|
|
13
10
|
* ```
|
|
14
11
|
*/
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
`;
|
|
12
|
+
export var BodyMain = styled.main(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n flex: 1;\n"], ["\n flex: 1;\n"])));
|
|
13
|
+
var templateObject_1, templateObject_2;
|
package/styles/Global.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { __makeTemplateObject } from "tslib";
|
|
1
2
|
import { createGlobalStyle } from "styled-components";
|
|
2
3
|
/**
|
|
3
4
|
* App global style
|
|
@@ -12,39 +13,6 @@ import { createGlobalStyle } from "styled-components";
|
|
|
12
13
|
* - @see https://www.warrenchandler.com/2019/04/02/stop-iphones-from-zooming-in-on-form-fields/
|
|
13
14
|
* - @see https://css-tricks.com/16px-or-larger-text-prevents-ios-form-zoom/
|
|
14
15
|
*/
|
|
15
|
-
export
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
padding: 0;
|
|
19
|
-
overflow-x: hidden;
|
|
20
|
-
overflow-y: scroll;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
body,
|
|
24
|
-
button,
|
|
25
|
-
input,
|
|
26
|
-
textarea,
|
|
27
|
-
select,
|
|
28
|
-
select:-webkit-autofill::first-line,
|
|
29
|
-
input:-webkit-autofill::first-line {
|
|
30
|
-
font-family: var(--font), -apple-system, BlinkMacSystemFont, "Segoe UI",
|
|
31
|
-
Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue",
|
|
32
|
-
sans-serif;
|
|
33
|
-
font-size: var(--fontSize);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
html {
|
|
37
|
-
box-sizing: border-box;
|
|
38
|
-
@media (prefers-reduced-motion: no-preference) {
|
|
39
|
-
scroll-behavior: smooth;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
*,
|
|
44
|
-
*:before,
|
|
45
|
-
*:after {
|
|
46
|
-
box-sizing: inherit;
|
|
47
|
-
-webkit-tap-highlight-color: transparent;
|
|
48
|
-
}
|
|
49
|
-
`;
|
|
50
|
-
export const StylesGlobal = createGlobalStyle `${stylesGlobal}`;
|
|
16
|
+
export var stylesGlobal = "\n body {\n margin: 0;\n padding: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n }\n\n body,\n button,\n input,\n textarea,\n select,\n select:-webkit-autofill::first-line,\n input:-webkit-autofill::first-line {\n font-family: var(--font), -apple-system, BlinkMacSystemFont, \"Segoe UI\",\n Roboto, Oxygen, Ubuntu, Cantarell, \"Open Sans\", \"Helvetica Neue\",\n sans-serif;\n font-size: var(--fontSize);\n }\n\n html {\n box-sizing: border-box;\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n\n *,\n *:before,\n *:after {\n box-sizing: inherit;\n -webkit-tap-highlight-color: transparent;\n }\n";
|
|
17
|
+
export var StylesGlobal = createGlobalStyle(templateObject_1 || (templateObject_1 = __makeTemplateObject(["", ""], ["", ""])), stylesGlobal);
|
|
18
|
+
var templateObject_1;
|
package/styles/media.js
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
+
var _a;
|
|
1
2
|
import { useState, useEffect } from "react";
|
|
2
3
|
import { useTheme, breakpoints } from "./theme";
|
|
3
|
-
export
|
|
4
|
+
export var min = (_a = generateMediaQueries(breakpoints), _a.min), max = _a.max, up = _a.up, down = _a.down, between = _a.between, only = _a.only;
|
|
4
5
|
export function useMedia(media) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
var breakpoints = useTheme().breakpoints;
|
|
7
|
+
var _a = useState(false), matches = _a[0], setMatches = _a[1];
|
|
8
|
+
var _b = media.split(":"), _c = _b[0], direction = _c === void 0 ? "min" : _c, breakpoint = _b[1];
|
|
9
|
+
var px = breakpoints[breakpoint];
|
|
9
10
|
if (direction === "max") {
|
|
10
11
|
px = px - 0.02;
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
-
useEffect(()
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
var query = "(".concat(direction, "-width: ").concat(px, "px)");
|
|
14
|
+
useEffect(function () {
|
|
15
|
+
var mq = window.matchMedia(query);
|
|
16
|
+
var handleChange = function (event) {
|
|
16
17
|
setMatches(event.matches);
|
|
17
18
|
};
|
|
18
19
|
setMatches(mq.matches);
|
|
@@ -22,12 +23,12 @@ export function useMedia(media) {
|
|
|
22
23
|
// Update the state whenever the media query match state changes
|
|
23
24
|
mq.addListener(handleChange);
|
|
24
25
|
// Clean up on unmount and if the query changes
|
|
25
|
-
return ()
|
|
26
|
+
return function () {
|
|
26
27
|
mq.removeListener(handleChange);
|
|
27
28
|
};
|
|
28
29
|
}
|
|
29
30
|
mq.addEventListener("change", handleChange);
|
|
30
|
-
return ()
|
|
31
|
+
return function () {
|
|
31
32
|
mq.removeEventListener("change", handleChange);
|
|
32
33
|
};
|
|
33
34
|
}, [query]);
|
|
@@ -83,13 +84,13 @@ export function useMedia(media) {
|
|
|
83
84
|
* ```
|
|
84
85
|
*/
|
|
85
86
|
export function generateMediaQueries(breakpoints) {
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
var temp = Object.keys(breakpoints).map(function (key) {
|
|
88
|
+
var br = key;
|
|
88
89
|
return [br, breakpoints[br]];
|
|
89
90
|
});
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
var sortedKeys = temp.sort(function (a, b) { return a[1] - b[1]; }).map(function (item) { return item[0]; });
|
|
92
|
+
var getNext = function (breakpoint) {
|
|
93
|
+
var index = sortedKeys.indexOf(breakpoint);
|
|
93
94
|
return sortedKeys[index + 1];
|
|
94
95
|
};
|
|
95
96
|
/**
|
|
@@ -98,53 +99,57 @@ export function generateMediaQueries(breakpoints) {
|
|
|
98
99
|
* For ease of use this can be used both as a function `min("md")` and as an
|
|
99
100
|
* object literal `min.md`.
|
|
100
101
|
*/ // @ts-expect-error FIXME: at some point
|
|
101
|
-
|
|
102
|
+
var min = function (br) {
|
|
103
|
+
return "@media (min-width: ".concat(breakpoints[br], "px)");
|
|
104
|
+
};
|
|
102
105
|
/**
|
|
103
106
|
* It behaves the same as `@media (max-width: ${value}px)`
|
|
104
107
|
* where value is the given breakpoint value.
|
|
105
108
|
* For ease of use this can be used both as a function `max("md")` and as an
|
|
106
109
|
* object literal `max.md`.
|
|
107
110
|
*/ // @ts-expect-error FIXME: at some point
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
111
|
+
var max = function (br) {
|
|
112
|
+
return "@media (max-width: ".concat(breakpoints[br] - 0.02, "px)");
|
|
113
|
+
};
|
|
114
|
+
for (var br in breakpoints) {
|
|
115
|
+
var _br = br;
|
|
116
|
+
min[_br] = "@media (min-width: ".concat(breakpoints[_br], "px)");
|
|
117
|
+
max[_br] = "@media (max-width: ".concat(breakpoints[_br] - 0.02, "px)");
|
|
113
118
|
}
|
|
114
119
|
/**
|
|
115
120
|
* It behaves the same as `min`
|
|
116
121
|
* @inheritdoc {max}
|
|
117
122
|
*/
|
|
118
|
-
|
|
123
|
+
var up = min;
|
|
119
124
|
/**
|
|
120
125
|
* It behaves similarly to `max` but you will use the "next" breakpoint,
|
|
121
126
|
* specifying CSS that will apply from the given breakpoint and down.
|
|
122
127
|
*/
|
|
123
|
-
|
|
124
|
-
|
|
128
|
+
var down = function (br) {
|
|
129
|
+
var brNext = getNext(br);
|
|
125
130
|
// TODO: if br does not exists otherwise throw Error
|
|
126
|
-
return brNext &&
|
|
131
|
+
return brNext && "@media (max-width: ".concat(breakpoints[brNext] - 0.02, "px)");
|
|
127
132
|
};
|
|
128
133
|
/**
|
|
129
134
|
* Media query between the two given breakpoints
|
|
130
135
|
*/
|
|
131
|
-
|
|
132
|
-
return
|
|
136
|
+
var between = function (br1, br2) {
|
|
137
|
+
return "@media (min-width: ".concat(breakpoints[br1], "px) and (max-width: ").concat(breakpoints[br2] - 0.02, "px)");
|
|
133
138
|
};
|
|
134
139
|
/**
|
|
135
140
|
* Media query to apply from the given breakpoint until the next, just for its
|
|
136
141
|
* full range
|
|
137
142
|
*/
|
|
138
|
-
|
|
139
|
-
|
|
143
|
+
var only = function (br) {
|
|
144
|
+
var brNext = getNext(br);
|
|
140
145
|
return brNext ? between(br, brNext) : min(br);
|
|
141
146
|
};
|
|
142
147
|
return {
|
|
143
|
-
min,
|
|
144
|
-
max,
|
|
145
|
-
up,
|
|
146
|
-
down,
|
|
147
|
-
between,
|
|
148
|
-
only,
|
|
148
|
+
min: min,
|
|
149
|
+
max: max,
|
|
150
|
+
up: up,
|
|
151
|
+
down: down,
|
|
152
|
+
between: between,
|
|
153
|
+
only: only,
|
|
149
154
|
};
|
|
150
155
|
}
|
package/styles/spacing.js
CHANGED
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
function _spacing(theme, size
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
function _spacing(theme, size, factor, property, direction, devices) {
|
|
2
|
+
if (size === void 0) { size = "md"; }
|
|
3
|
+
if (factor === void 0) { factor = 1; }
|
|
4
|
+
if (property === void 0) { property = "padding"; }
|
|
5
|
+
if (direction === void 0) { direction = "top"; }
|
|
6
|
+
if (devices === void 0) { devices = ["mobile", "tablet", "desktop"]; }
|
|
7
|
+
var breakpoints = theme.breakpoints, DEVICES = theme.devices, SPACES = theme.spaces;
|
|
8
|
+
var css = "";
|
|
9
|
+
var prop = "".concat(property, "-").concat(direction);
|
|
5
10
|
if (!devices.length || devices[0] === "mobile") {
|
|
6
|
-
css +=
|
|
7
|
-
${prop}: ${SPACES["mobile"][size] * factor}px;
|
|
8
|
-
}`;
|
|
11
|
+
css += "@media(max-width: ".concat(breakpoints[DEVICES.mobile], "px){\n ").concat(prop, ": ").concat(SPACES["mobile"][size] * factor, "px;\n }");
|
|
9
12
|
}
|
|
10
13
|
else {
|
|
11
|
-
for (
|
|
12
|
-
|
|
14
|
+
for (var index = 0; index < devices.length; index++) {
|
|
15
|
+
var device = devices[index];
|
|
13
16
|
if (device === "mobile") {
|
|
14
|
-
css +=
|
|
17
|
+
css += "".concat(prop, ": ").concat(SPACES[device][size] * factor, "px;");
|
|
15
18
|
}
|
|
16
19
|
else if (device === "tablet") {
|
|
17
|
-
css +=
|
|
18
|
-
${prop}: ${SPACES["tablet"][size] * factor}px;
|
|
19
|
-
}`;
|
|
20
|
+
css += "@media(min-width: ".concat(breakpoints[DEVICES.tablet], "px){\n ").concat(prop, ": ").concat(SPACES["tablet"][size] * factor, "px;\n }");
|
|
20
21
|
}
|
|
21
22
|
else if (device === "desktop") {
|
|
22
|
-
css +=
|
|
23
|
-
${prop}: ${SPACES["desktop"][size] * factor}px;
|
|
24
|
-
}`;
|
|
23
|
+
css += "@media(min-width: ".concat(breakpoints[DEVICES.desktop], "px){\n ").concat(prop, ": ").concat(SPACES["desktop"][size] * factor, "px;\n }");
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
}
|
package/styles/styled.js
CHANGED
|
@@ -1,27 +1,13 @@
|
|
|
1
1
|
export function colStretch(direction, bg) {
|
|
2
|
-
return
|
|
3
|
-
background: ${bg};
|
|
4
|
-
position: relative;
|
|
5
|
-
|
|
6
|
-
&:before{
|
|
7
|
-
z-index: -1;
|
|
8
|
-
content: '';
|
|
9
|
-
position: absolute;
|
|
10
|
-
right: ${direction === "left" ? "100%" : "-100vw"};
|
|
11
|
-
left: ${direction === "right" ? "100%" : "-100vw"};
|
|
12
|
-
top: 0;
|
|
13
|
-
bottom: 0;
|
|
14
|
-
background: ${bg};
|
|
15
|
-
}
|
|
16
|
-
`;
|
|
2
|
+
return "\n background: ".concat(bg, ";\n position: relative;\n\n &:before{\n z-index: -1;\n content: '';\n position: absolute;\n right: ").concat(direction === "left" ? "100%" : "-100vw", ";\n left: ").concat(direction === "right" ? "100%" : "-100vw", ";\n top: 0;\n bottom: 0;\n background: ").concat(bg, ";\n }\n ");
|
|
17
3
|
}
|
|
18
4
|
/** @see https://caniuse.com/?search=inset */
|
|
19
|
-
export
|
|
20
|
-
export
|
|
21
|
-
export
|
|
22
|
-
export
|
|
5
|
+
export var inset0 = "top:0;left:0;right:0;bottom:0;";
|
|
6
|
+
export var overlay = "position: absolute;".concat(inset0);
|
|
7
|
+
export var centered = "display: flex;align-items: center;justify-content: center;";
|
|
8
|
+
export var ellipsis = "overflow: hidden;text-overflow: ellipsis;white-space: nowrap;";
|
|
23
9
|
/**
|
|
24
10
|
* @see import("@mui/utils").visuallyHidden https://github.com/mui-org/material-ui/blob/master/packages/mui-utils/src/visuallyHidden.ts
|
|
25
11
|
*/
|
|
26
|
-
export
|
|
27
|
-
export
|
|
12
|
+
export var invisible = "border: 0;clip: rect(0 0 0 0);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;white-space: nowrap;width: 1px;";
|
|
13
|
+
export var stateFocus = "outline: 0px;box-shadow: 0 0 0 0.2rem rgba(200, 200, 200, 0.25);";
|
package/styles/theme--vanilla.js
CHANGED
|
@@ -1,53 +1,55 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
1
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
3
|
import { createContext, useState } from "react";
|
|
3
4
|
import { isBrowser, setCookie, parseCookie } from "@koine/utils";
|
|
4
5
|
import { useMount, useUpdateEffect } from "../hooks";
|
|
5
|
-
export
|
|
6
|
-
export
|
|
7
|
-
export
|
|
6
|
+
export var THEME_KEY = "theme";
|
|
7
|
+
export var THEME_DEFAULT = "light";
|
|
8
|
+
export var getInitialThemeFromRequest = function (cookie) {
|
|
8
9
|
if (cookie) {
|
|
9
|
-
|
|
10
|
-
return parsed
|
|
10
|
+
var parsed = parseCookie(cookie);
|
|
11
|
+
return parsed === null || parsed === void 0 ? void 0 : parsed.theme;
|
|
11
12
|
}
|
|
12
13
|
return THEME_DEFAULT;
|
|
13
14
|
};
|
|
14
|
-
export
|
|
15
|
+
export var getInitialThemeFromClient = function () {
|
|
15
16
|
if (typeof window !== "undefined" && window.localStorage) {
|
|
16
|
-
|
|
17
|
+
var storedPrefs = window.localStorage.getItem(THEME_KEY);
|
|
17
18
|
if (typeof storedPrefs === "string") {
|
|
18
19
|
return storedPrefs;
|
|
19
20
|
}
|
|
20
|
-
|
|
21
|
+
var userMedia = window.matchMedia("(prefers-color-scheme: dark)");
|
|
21
22
|
if (userMedia.matches) {
|
|
22
23
|
return "dark";
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
26
|
return THEME_DEFAULT;
|
|
26
27
|
};
|
|
27
|
-
export
|
|
28
|
+
export var ThemeVanillaContext = createContext({
|
|
28
29
|
theme: "light",
|
|
29
30
|
setTheme: undefined,
|
|
30
31
|
});
|
|
31
|
-
export
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
export var ThemeVanillaProvider = function (_a) {
|
|
33
|
+
var initialTheme = _a.initialTheme, children = _a.children;
|
|
34
|
+
var _b = useState(initialTheme), theme = _b[0], setTheme = _b[1];
|
|
35
|
+
var rawSetTheme = function (rawTheme) {
|
|
34
36
|
if (!rawTheme || !isBrowser) {
|
|
35
37
|
return;
|
|
36
38
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
var root = window.document.documentElement;
|
|
40
|
+
var isDark = rawTheme === "dark";
|
|
39
41
|
root.classList.remove(isDark ? "light" : "dark");
|
|
40
42
|
root.classList.add(rawTheme);
|
|
41
43
|
localStorage.setItem(THEME_KEY, rawTheme);
|
|
42
44
|
setCookie(THEME_KEY, rawTheme);
|
|
43
45
|
};
|
|
44
|
-
useMount(()
|
|
45
|
-
|
|
46
|
+
useMount(function () {
|
|
47
|
+
var theme = getInitialThemeFromClient();
|
|
46
48
|
setTheme(theme);
|
|
47
49
|
rawSetTheme(theme);
|
|
48
50
|
});
|
|
49
|
-
useUpdateEffect(()
|
|
51
|
+
useUpdateEffect(function () {
|
|
50
52
|
rawSetTheme(theme);
|
|
51
53
|
}, [theme]);
|
|
52
|
-
return (_jsx(ThemeVanillaContext.Provider, { value: { theme, setTheme }, children: children }));
|
|
54
|
+
return (_jsx(ThemeVanillaContext.Provider, __assign({ value: { theme: theme, setTheme: setTheme } }, { children: children })));
|
|
53
55
|
};
|
package/styles/theme.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
1
2
|
import { useTheme as _useTheme } from "styled-components";
|
|
2
|
-
|
|
3
|
+
var DEFAULT_BREAKPOINTS = {
|
|
3
4
|
xs: 0,
|
|
4
5
|
sm: 440,
|
|
5
6
|
md: 768,
|
|
@@ -18,24 +19,23 @@ const DEFAULT_BREAKPOINTS = {
|
|
|
18
19
|
* BREAKPOINTS=xs:0,sm:440,md:768,lg:1024,xl:1368,xxl:1690
|
|
19
20
|
* ```
|
|
20
21
|
*/
|
|
21
|
-
export
|
|
22
|
-
? process.env["BREAKPOINTS"].split(",").reduce((map, pair)
|
|
23
|
-
|
|
22
|
+
export var breakpoints = process.env["BREAKPOINTS"]
|
|
23
|
+
? process.env["BREAKPOINTS"].split(",").reduce(function (map, pair) {
|
|
24
|
+
var _a = pair.split(":"), key = _a[0], value = _a[1];
|
|
24
25
|
map[key] = parseFloat(value);
|
|
25
26
|
return map;
|
|
26
27
|
}, {})
|
|
27
28
|
: DEFAULT_BREAKPOINTS;
|
|
28
|
-
|
|
29
|
+
var themeDefault = {
|
|
29
30
|
maxWidth: breakpoints.xxl,
|
|
30
|
-
breakpoints,
|
|
31
|
+
breakpoints: breakpoints,
|
|
31
32
|
devices: {
|
|
32
33
|
mobile: "sm",
|
|
33
34
|
tablet: "md",
|
|
34
35
|
desktop: "lg",
|
|
35
36
|
},
|
|
36
37
|
};
|
|
37
|
-
export
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
export const useTheme = _useTheme;
|
|
38
|
+
export var createTheme = function (options) {
|
|
39
|
+
return (__assign(__assign({}, themeDefault), options));
|
|
40
|
+
};
|
|
41
|
+
export var useTheme = _useTheme;
|