@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.
- 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 +14 -27
- package/Collapsable/Collapsable.d.ts +1 -1
- package/Collapsable/Collapsable.js +1 -1
- package/Collapsable/CollapsableReach.d.ts +4 -64
- package/Collapsable/CollapsableReach.js +247 -129
- package/Collapsable/index.d.ts +1 -1
- package/Collapsable/index.js +2 -1
- package/Debug/Debug.js +5 -17
- package/Details/Details.d.ts +114 -0
- package/Details/Details.js +65 -0
- package/Details/index.d.ts +1 -0
- package/Details/index.js +1 -0
- package/{Forms/Form → Details}/package.json +1 -1
- package/Dialog/DialogMui.d.ts +1 -1
- 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.d.ts +111 -0
- package/Form/Form.js +61 -0
- package/{Forms/Form → Form}/index.d.ts +0 -0
- package/{Forms/Form → Form}/index.js +0 -0
- package/Form/package.json +6 -0
- package/Form/sc/bare.d.ts +33 -0
- package/Form/sc/bare.js +20 -0
- 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 +21 -68
- package/Forms/Toggle/useToggle.js +29 -29
- package/Forms/antispam.js +12 -12
- package/Forms/helpers.js +8 -7
- package/Forms/index.d.ts +0 -1
- package/Forms/index.js +0 -1
- 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 +26 -45
- 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.d.ts +244 -0
- package/Tabs/TabsMui.js +46 -0
- package/Tabs/index.d.ts +1 -1
- package/Tabs/index.js +1 -1
- package/Tabs/sc/bare.d.ts +5 -0
- package/Tabs/sc/bare.js +87 -0
- package/Tabs/tw/bare.d.ts +248 -0
- package/Tabs/tw/bare.js +17 -0
- package/Tabs/tw/material.d.ts +472 -0
- package/Tabs/tw/material.js +18 -0
- package/Tabs/useTabs.d.ts +43 -0
- package/Tabs/useTabs.js +44 -0
- package/Typography/CopyPasteVisible.js +3 -5
- package/Typography/Native.js +12 -45
- package/Typography/ReadMore.js +26 -52
- package/Typography/TextLoop.js +19 -22
- package/Typography/TypeStairs.js +20 -16
- package/css/index.js +1 -0
- package/helpers/classed.js +22 -18
- package/helpers/extend-component.js +6 -6
- package/hooks/index.d.ts +8 -0
- package/hooks/index.js +8 -0
- package/hooks/types.d.ts +8 -0
- package/hooks/types.js +1 -0
- package/hooks/useAsyncFn.d.ts +26 -0
- package/hooks/useAsyncFn.js +36 -0
- package/hooks/useDateLocale.js +22 -13
- package/hooks/useEffectOnce.d.ts +5 -0
- package/hooks/useEffectOnce.js +8 -0
- package/hooks/useFirstMountState.d.ts +4 -0
- package/hooks/useFirstMountState.js +12 -0
- package/hooks/useFocus.js +3 -3
- package/hooks/useId.d.ts +4 -0
- package/hooks/useId.js +8 -0
- package/hooks/useIsomorphicLayoutEffect.d.ts +5 -0
- package/hooks/useIsomorphicLayoutEffect.js +8 -0
- package/hooks/useMount.d.ts +4 -0
- package/hooks/useMount.js +9 -0
- package/hooks/useMountedState.d.ts +4 -0
- package/hooks/useMountedState.js +15 -0
- package/hooks/usePrevious.js +2 -2
- package/hooks/useScrollPosition.js +21 -16
- package/hooks/useScrollTo.js +7 -5
- package/hooks/useTraceUpdate.js +4 -3
- package/hooks/useUpdateEffect.d.ts +5 -0
- package/hooks/useUpdateEffect.js +14 -0
- 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 -31
- package/node/Carousel/index.js +1 -1
- package/node/Collapsable/Collapsable.js +2 -2
- package/node/Collapsable/CollapsableReach.js +246 -134
- package/node/Collapsable/index.js +3 -2
- package/node/Debug/Debug.js +7 -20
- package/node/Debug/index.js +1 -1
- package/node/Details/Details.js +67 -0
- package/node/Details/index.js +4 -0
- 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 +65 -0
- package/node/{Forms/Form → Form}/index.js +1 -1
- package/node/Form/sc/bare.js +23 -0
- 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 +24 -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 +9 -8
- package/node/Forms/index.js +1 -2
- 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 -48
- 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 +49 -0
- package/node/Tabs/index.js +2 -2
- package/node/Tabs/sc/bare.js +87 -0
- package/node/Tabs/tw/bare.js +20 -0
- package/node/Tabs/tw/material.js +21 -0
- package/node/Tabs/useTabs.js +48 -0
- 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 +2 -1
- package/node/helpers/classed.js +23 -19
- package/node/helpers/extend-component.js +7 -7
- package/node/helpers/index.js +1 -1
- package/node/hooks/index.js +9 -1
- package/node/hooks/types.js +2 -0
- package/node/hooks/useAsyncFn.js +40 -0
- package/node/hooks/useDateLocale.js +23 -37
- package/node/hooks/useEffectOnce.js +12 -0
- package/node/hooks/useFirstMountState.js +16 -0
- package/node/hooks/useFocus.js +4 -4
- package/node/hooks/useId.js +12 -0
- package/node/hooks/useIsomorphicLayoutEffect.js +11 -0
- package/node/hooks/useMount.js +13 -0
- package/node/hooks/useMountedState.js +19 -0
- package/node/hooks/usePrevious.js +3 -3
- package/node/hooks/useScrollPosition.js +23 -19
- package/node/hooks/useScrollTo.js +9 -7
- package/node/hooks/useTraceUpdate.js +5 -4
- package/node/hooks/useUpdateEffect.js +18 -0
- 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 +4 -2
- package/node/scm/index.js +2 -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 +2 -1
- package/node/twm/index.js +2 -1
- package/package.json +20 -9
- package/sc/index.d.ts +1 -0
- package/sc/index.js +1 -0
- package/scm/index.js +1 -0
- 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 +21 -19
- package/styles/theme.js +11 -11
- package/tw/index.js +1 -0
- package/twm/index.js +1 -0
- package/Forms/Form/Form.d.ts +0 -31
- package/Forms/Form/Form.js +0 -62
- package/Tabs/Tabs.d.ts +0 -27
- package/Tabs/Tabs.js +0 -62
- package/node/Forms/Form/Form.js +0 -67
- package/node/Tabs/Tabs.js +0 -67
package/Editor/components.js
CHANGED
|
@@ -1,28 +1,10 @@
|
|
|
1
|
+
import { __makeTemplateObject } from "tslib";
|
|
1
2
|
import styled, { createGlobalStyle } from "styled-components";
|
|
2
3
|
import { IconButton } from "../Buttons/IconButton";
|
|
3
4
|
import { inputPadding, inputBorder, inputFocus } from "../Forms/styles";
|
|
4
5
|
export { MdFormatBold as EditorIconBold, MdFormatItalic as EditorIconItalic, } from "react-icons/md";
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
display: flex;
|
|
11
|
-
justify-content: flex-end;
|
|
12
|
-
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
|
|
13
|
-
/* background: var(--grey900); */
|
|
14
|
-
`;
|
|
15
|
-
export const EditorBarBtn = styled(IconButton) ``;
|
|
16
|
-
export const EditorGlobalStyles = createGlobalStyle `
|
|
17
|
-
.ProseMirror {
|
|
18
|
-
${inputPadding}
|
|
19
|
-
|
|
20
|
-
&:focus {
|
|
21
|
-
outline:none;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
> *:first-child {
|
|
25
|
-
margin-top: 0;
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
`;
|
|
6
|
+
export var EditorRoot = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n ", "\n"], ["\n ", "\n ", "\n"])), inputBorder, inputFocus);
|
|
7
|
+
export var EditorBarRoot = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n justify-content: flex-end;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n /* background: var(--grey900); */\n"], ["\n display: flex;\n justify-content: flex-end;\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n /* background: var(--grey900); */\n"])));
|
|
8
|
+
export var EditorBarBtn = styled(IconButton)(templateObject_3 || (templateObject_3 = __makeTemplateObject([""], [""])));
|
|
9
|
+
export var EditorGlobalStyles = createGlobalStyle(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n .ProseMirror {\n ", "\n \n &:focus {\n outline:none;\n }\n\n > *:first-child {\n margin-top: 0;\n }\n }\n"], ["\n .ProseMirror {\n ", "\n \n &:focus {\n outline:none;\n }\n\n > *:first-child {\n margin-top: 0;\n }\n }\n"])), inputPadding);
|
|
10
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
package/Favicon/FaviconTags.js
CHANGED
|
@@ -9,6 +9,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
9
9
|
*
|
|
10
10
|
* @see https://realfavicongenerator.net/
|
|
11
11
|
*/
|
|
12
|
-
export
|
|
12
|
+
export var FaviconTags = function (_a) {
|
|
13
|
+
var name = _a.name, color = _a.color, safariTabColor = _a.safariTabColor, tileColor = _a.tileColor, themeColor = _a.themeColor;
|
|
13
14
|
return (_jsxs(_Fragment, { children: [_jsx("link", { rel: "apple-touch-icon", sizes: "180x180", href: "/apple-touch-icon.png" }), _jsx("link", { rel: "icon", type: "image/png", sizes: "32x32", href: "/favicon-32x32.png" }), _jsx("link", { rel: "icon", type: "image/png", sizes: "16x16", href: "/favicon-16x16.png" }), _jsx("link", { rel: "manifest", href: "/site.webmanifest" }), _jsx("link", { rel: "mask-icon", href: "/safari-pinned-tab.svg", color: safariTabColor || color }), _jsx("meta", { name: "apple-mobile-web-app-title", content: name }), _jsx("meta", { name: "application-name", content: name }), _jsx("meta", { name: "msapplication-TileColor", content: tileColor || color }), _jsx("meta", { name: "theme-color", content: themeColor || color })] }));
|
|
14
15
|
};
|
package/Form/Form.d.ts
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { type WithComponents, type Simplify } from "../helpers";
|
|
3
|
+
export declare type OwnProps = React.PropsWithChildren<{
|
|
4
|
+
action: string;
|
|
5
|
+
ok?: boolean;
|
|
6
|
+
okProps?: object;
|
|
7
|
+
fail?: boolean;
|
|
8
|
+
failProps?: object;
|
|
9
|
+
loading?: boolean;
|
|
10
|
+
/** Whether the form should collapse on `ok` */
|
|
11
|
+
collapseOnOk?: boolean;
|
|
12
|
+
/** Whether the form should collapse on `fail` */
|
|
13
|
+
collapseOnFail?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Determines the time (in ms) that the `Ok` component wait before collapsing
|
|
16
|
+
* When <= 0 the `Ok` component will persist
|
|
17
|
+
*
|
|
18
|
+
* @default 3000 */
|
|
19
|
+
okTimeout?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Determines the time (in ms) that the `Fail` component wait before collapsing
|
|
22
|
+
* When <= 0 the `Fail` component will persist
|
|
23
|
+
*
|
|
24
|
+
* @default 3000 */
|
|
25
|
+
failTimeout?: number;
|
|
26
|
+
}>;
|
|
27
|
+
export declare type Components = {
|
|
28
|
+
Root: {
|
|
29
|
+
type: "form";
|
|
30
|
+
props: {};
|
|
31
|
+
};
|
|
32
|
+
Overlay: {
|
|
33
|
+
type: "div";
|
|
34
|
+
props: {};
|
|
35
|
+
};
|
|
36
|
+
Progress: {
|
|
37
|
+
type: "div";
|
|
38
|
+
props: {};
|
|
39
|
+
};
|
|
40
|
+
Collapsable: {
|
|
41
|
+
type: "div";
|
|
42
|
+
props: {
|
|
43
|
+
$open?: boolean;
|
|
44
|
+
recalc?: boolean;
|
|
45
|
+
body?: React.ReactNode;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
Ok: {
|
|
49
|
+
type: "div";
|
|
50
|
+
props: React.PropsWithChildren<{}>;
|
|
51
|
+
};
|
|
52
|
+
Fail: {
|
|
53
|
+
type: "div";
|
|
54
|
+
props: React.PropsWithChildren<{}>;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
export declare type ComponentsProps = {
|
|
58
|
+
[Name in keyof Components]: Components[Name]["props"];
|
|
59
|
+
};
|
|
60
|
+
export declare type Props = Simplify<WithComponents<OwnProps, Components>>;
|
|
61
|
+
export declare type FormProps = Props;
|
|
62
|
+
export declare type KoineFormProps = Props;
|
|
63
|
+
export declare const Root: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "key" | keyof import("react").FormHTMLAttributes<HTMLFormElement>>>;
|
|
64
|
+
export declare const Overlay: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>;
|
|
65
|
+
export declare const Progress: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>;
|
|
66
|
+
export declare const Collapsable: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
|
|
67
|
+
$open?: boolean | undefined;
|
|
68
|
+
recalc?: boolean | undefined;
|
|
69
|
+
body?: React.ReactNode;
|
|
70
|
+
}>;
|
|
71
|
+
export declare const Ok: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
|
|
72
|
+
children?: import("react").ReactNode;
|
|
73
|
+
}>;
|
|
74
|
+
export declare const Fail: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
|
|
75
|
+
children?: import("react").ReactNode;
|
|
76
|
+
}>;
|
|
77
|
+
export declare type FormFeedbackView = "" | "ok" | "fail";
|
|
78
|
+
export declare const Form: ({ Root: _Root, Overlay: _Overlay, Progress: _Progress, Collapsable: _Collapsable, ok, fail, loading, Ok: _Ok, okProps, Fail: _Fail, failProps, collapseOnOk, collapseOnFail, okTimeout, failTimeout, children, ...props }: FormProps) => JSX.Element;
|
|
79
|
+
export declare const KoineForm: ((props: Simplify<WithComponents<OwnProps, Components>>) => import("react").FunctionComponentElement<any>) & {
|
|
80
|
+
Root: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "key" | keyof import("react").FormHTMLAttributes<HTMLFormElement>>>;
|
|
81
|
+
Overlay: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>;
|
|
82
|
+
Progress: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>;
|
|
83
|
+
Collapsable: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
|
|
84
|
+
$open?: boolean | undefined;
|
|
85
|
+
recalc?: boolean | undefined;
|
|
86
|
+
body?: React.ReactNode;
|
|
87
|
+
}>;
|
|
88
|
+
Ok: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
|
|
89
|
+
children?: import("react").ReactNode;
|
|
90
|
+
}>;
|
|
91
|
+
Fail: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
|
|
92
|
+
children?: import("react").ReactNode;
|
|
93
|
+
}>;
|
|
94
|
+
} & {
|
|
95
|
+
defaultProps: {
|
|
96
|
+
Root: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "key" | keyof import("react").FormHTMLAttributes<HTMLFormElement>>>;
|
|
97
|
+
Overlay: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>;
|
|
98
|
+
Progress: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>;
|
|
99
|
+
Collapsable: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
|
|
100
|
+
$open?: boolean | undefined;
|
|
101
|
+
recalc?: boolean | undefined;
|
|
102
|
+
body?: React.ReactNode;
|
|
103
|
+
}>;
|
|
104
|
+
Ok: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
|
|
105
|
+
children?: import("react").ReactNode;
|
|
106
|
+
}>;
|
|
107
|
+
Fail: import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>> & {
|
|
108
|
+
children?: import("react").ReactNode;
|
|
109
|
+
}>;
|
|
110
|
+
};
|
|
111
|
+
};
|
package/Form/Form.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useState } from "react";
|
|
4
|
+
// import { type MotionProps } from "framer-motion";
|
|
5
|
+
import { extendComponent, } from "../helpers";
|
|
6
|
+
export var Root = "form";
|
|
7
|
+
export var Overlay = "div";
|
|
8
|
+
export var Progress = "div";
|
|
9
|
+
export var Collapsable = "div";
|
|
10
|
+
export var Ok = null;
|
|
11
|
+
export var Fail = null;
|
|
12
|
+
export var Form = function (_a) {
|
|
13
|
+
var _Root = _a.Root, _Overlay = _a.Overlay, _Progress = _a.Progress, _Collapsable = _a.Collapsable, ok = _a.ok, fail = _a.fail, loading = _a.loading, _Ok = _a.Ok, _b = _a.okProps, okProps = _b === void 0 ? {
|
|
14
|
+
children: "Sent!",
|
|
15
|
+
} : _b, _Fail = _a.Fail, _c = _a.failProps, failProps = _c === void 0 ? {
|
|
16
|
+
children: "Failed.",
|
|
17
|
+
} : _c, collapseOnOk = _a.collapseOnOk, collapseOnFail = _a.collapseOnFail, _d = _a.okTimeout, okTimeout = _d === void 0 ? 3000 : _d, _e = _a.failTimeout, failTimeout = _e === void 0 ? 3000 : _e, children = _a.children, props = __rest(_a, ["Root", "Overlay", "Progress", "Collapsable", "ok", "fail", "loading", "Ok", "okProps", "Fail", "failProps", "collapseOnOk", "collapseOnFail", "okTimeout", "failTimeout", "children"]);
|
|
18
|
+
var _f = useState(""), open = _f[0], setOpen = _f[1];
|
|
19
|
+
var commonProps = {
|
|
20
|
+
head: null,
|
|
21
|
+
components: {
|
|
22
|
+
HeadIcon: null,
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
useEffect(function () {
|
|
26
|
+
if (!loading) {
|
|
27
|
+
if (ok)
|
|
28
|
+
setOpen("ok");
|
|
29
|
+
else if (fail)
|
|
30
|
+
setOpen("fail");
|
|
31
|
+
}
|
|
32
|
+
}, [ok, fail, loading]);
|
|
33
|
+
useEffect(function () {
|
|
34
|
+
var timeout;
|
|
35
|
+
if (open === "fail" && failTimeout) {
|
|
36
|
+
timeout = setTimeout(function () { return setOpen(""); }, failTimeout);
|
|
37
|
+
}
|
|
38
|
+
else if (open === "ok" && okTimeout) {
|
|
39
|
+
timeout = setTimeout(function () { return setOpen(""); }, okTimeout);
|
|
40
|
+
}
|
|
41
|
+
return function () {
|
|
42
|
+
if (timeout) {
|
|
43
|
+
clearTimeout(timeout);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}, [open, failTimeout, okTimeout]);
|
|
47
|
+
var formExpanded = true;
|
|
48
|
+
if (collapseOnFail && fail)
|
|
49
|
+
formExpanded = false;
|
|
50
|
+
if (collapseOnOk && ok)
|
|
51
|
+
formExpanded = false;
|
|
52
|
+
return (_jsxs(Root, __assign({ method: "post", noValidate: true }, props, { children: [_jsx(Collapsable, __assign({}, commonProps, { "$open": formExpanded, recalc: loading, body: _jsxs(_Fragment, { children: [children, loading && (_jsx(Overlay, { children: _jsx(Progress, {}) }))] }) })), _jsx(Collapsable, __assign({}, commonProps, { "$open": open === "ok" && !loading, body: _jsx(Ok, __assign({}, okProps)) })), _jsx(Collapsable, __assign({}, commonProps, { "$open": open === "fail" && !loading, body: _jsx(Fail, __assign({}, failProps)) }))] })));
|
|
53
|
+
};
|
|
54
|
+
export var KoineForm = extendComponent(Form, {
|
|
55
|
+
Root: Root,
|
|
56
|
+
Overlay: Overlay,
|
|
57
|
+
Progress: Progress,
|
|
58
|
+
Collapsable: Collapsable,
|
|
59
|
+
Ok: Ok,
|
|
60
|
+
Fail: Fail,
|
|
61
|
+
});
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import * as _ from "../Form";
|
|
3
|
+
export type { KoineFormProps } from "../Form";
|
|
4
|
+
export declare const Root: import("styled-components").StyledComponent<import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "key" | keyof import("react").FormHTMLAttributes<HTMLFormElement>>>, import("styled-components").DefaultTheme, {}, never>;
|
|
5
|
+
export declare const Overlay: import("styled-components").StyledComponent<import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>, import("styled-components").DefaultTheme, {}, never>;
|
|
6
|
+
export declare const Feedback: import("styled-components").StyledComponent<({ $danger, children, ...props }: import("../../Alert").AlertProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
|
|
7
|
+
export declare const KoineForm: ((props: import("type-fest/source/simplify").Simplify<import("../../helpers").WithComponents<_.OwnProps, _.Components>>) => import("react").FunctionComponentElement<any>) & {
|
|
8
|
+
Root: import("styled-components").StyledComponent<import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "key" | keyof import("react").FormHTMLAttributes<HTMLFormElement>>>, import("styled-components").DefaultTheme, {}, never>;
|
|
9
|
+
Overlay: import("styled-components").StyledComponent<import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>, import("styled-components").DefaultTheme, {}, never>;
|
|
10
|
+
Progress: ({ size, thickness, color, ...props }: {
|
|
11
|
+
[x: string]: any;
|
|
12
|
+
size?: string | undefined;
|
|
13
|
+
thickness?: number | undefined;
|
|
14
|
+
color?: string | undefined;
|
|
15
|
+
}) => JSX.Element;
|
|
16
|
+
Collapsable: null;
|
|
17
|
+
Ok: import("styled-components").StyledComponent<({ $danger, children, ...props }: import("../../Alert").AlertProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
|
|
18
|
+
Fail: import("styled-components").StyledComponent<({ $danger, children, ...props }: import("../../Alert").AlertProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
|
|
19
|
+
} & {
|
|
20
|
+
defaultProps: {
|
|
21
|
+
Root: import("styled-components").StyledComponent<import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").FormHTMLAttributes<HTMLFormElement>, HTMLFormElement>, "key" | keyof import("react").FormHTMLAttributes<HTMLFormElement>>>, import("styled-components").DefaultTheme, {}, never>;
|
|
22
|
+
Overlay: import("styled-components").StyledComponent<import("react").ElementType<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof import("react").HTMLAttributes<HTMLDivElement>>>, import("styled-components").DefaultTheme, {}, never>;
|
|
23
|
+
Progress: ({ size, thickness, color, ...props }: {
|
|
24
|
+
[x: string]: any;
|
|
25
|
+
size?: string | undefined;
|
|
26
|
+
thickness?: number | undefined;
|
|
27
|
+
color?: string | undefined;
|
|
28
|
+
}) => JSX.Element;
|
|
29
|
+
Collapsable: null;
|
|
30
|
+
Ok: import("styled-components").StyledComponent<({ $danger, children, ...props }: import("../../Alert").AlertProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
|
|
31
|
+
Fail: import("styled-components").StyledComponent<({ $danger, children, ...props }: import("../../Alert").AlertProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
|
|
32
|
+
};
|
|
33
|
+
};
|
package/Form/sc/bare.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { __makeTemplateObject } from "tslib";
|
|
2
|
+
import styled from "styled-components";
|
|
3
|
+
import { overlay, centered } from "../../styles/styled";
|
|
4
|
+
import { Collapsable } from "../../Collapsable";
|
|
5
|
+
import { ProgressCircular } from "../../Progress";
|
|
6
|
+
import { Alert } from "../../Alert";
|
|
7
|
+
import { extendComponent } from "../../helpers";
|
|
8
|
+
import * as _ from "../Form";
|
|
9
|
+
export var Root = styled(_.Root)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"])));
|
|
10
|
+
export var Overlay = styled(_.Overlay)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n z-index: 4;\n ", "\n ", "\n background: rgba(var(--bodyBg--rgb),.8);\n pointer-events: none;\n backdrop-filter: blur(2px);\n"], ["\n z-index: 4;\n ", "\n ", "\n background: rgba(var(--bodyBg--rgb),.8);\n pointer-events: none;\n backdrop-filter: blur(2px);\n"])), overlay, centered);
|
|
11
|
+
export var Feedback = styled(Alert)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: 2em 0;\n"], ["\n padding: 2em 0;\n"])));
|
|
12
|
+
export var KoineForm = extendComponent(_.KoineForm, {
|
|
13
|
+
Root: Root,
|
|
14
|
+
Overlay: Overlay,
|
|
15
|
+
Progress: ProgressCircular,
|
|
16
|
+
Collapsable: Collapsable,
|
|
17
|
+
Ok: Feedback,
|
|
18
|
+
Fail: Feedback,
|
|
19
|
+
});
|
|
20
|
+
var templateObject_1, templateObject_2, templateObject_3;
|
|
@@ -1,24 +1,18 @@
|
|
|
1
|
+
import { __assign, __makeTemplateObject } from "tslib";
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { forwardRef } from "react";
|
|
3
4
|
import styled from "styled-components";
|
|
4
5
|
import { Toggle, ToggleLabel, ToggleIndicatorSquared } from "../Toggle";
|
|
5
6
|
import { useToggle } from "../Toggle/useToggle";
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
`;
|
|
11
|
-
export const CheckboxToggle = styled(Toggle) `
|
|
12
|
-
pointer-events: none;
|
|
13
|
-
`;
|
|
14
|
-
export const CheckboxIndicator = styled(ToggleIndicatorSquared) ``;
|
|
15
|
-
export const CheckboxLabel = styled(ToggleLabel) `
|
|
16
|
-
font-size: 0.8em;
|
|
17
|
-
`;
|
|
7
|
+
export var CheckboxRoot = styled.label(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n cursor: pointer;\n"], ["\n display: flex;\n align-items: center;\n cursor: pointer;\n"])));
|
|
8
|
+
export var CheckboxToggle = styled(Toggle)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n pointer-events: none;\n"], ["\n pointer-events: none;\n"])));
|
|
9
|
+
export var CheckboxIndicator = styled(ToggleIndicatorSquared)(templateObject_3 || (templateObject_3 = __makeTemplateObject([""], [""])));
|
|
10
|
+
export var CheckboxLabel = styled(ToggleLabel)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n font-size: 0.8em;\n"], ["\n font-size: 0.8em;\n"])));
|
|
18
11
|
/**
|
|
19
12
|
* All logic and invisible Inputs come from the `useToggle` hook
|
|
20
13
|
*/
|
|
21
|
-
export
|
|
22
|
-
|
|
23
|
-
return (_jsxs(CheckboxRoot, {
|
|
14
|
+
export var Checkbox = forwardRef(function Checkbox(props, ref) {
|
|
15
|
+
var _a = useToggle(props, ref), rootProps = _a.rootProps, Inputs = _a.Inputs, label = _a.label;
|
|
16
|
+
return (_jsxs(CheckboxRoot, __assign({}, rootProps, { children: [_jsxs(CheckboxToggle, { children: [Inputs, _jsx(CheckboxIndicator, {})] }), label && _jsx(CheckboxLabel, { children: label })] })));
|
|
24
17
|
});
|
|
18
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
+
import { __assign, __makeTemplateObject } from "tslib";
|
|
1
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
3
|
import styled from "styled-components";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
`;
|
|
8
|
-
export const Feedback = ({ $danger, children }) => {
|
|
9
|
-
return (_jsx(Root, { role: "alert", "$danger": $danger, children: children }));
|
|
4
|
+
var Root = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-top: 0.2em;\n font-size: 12px;\n ", "\n"], ["\n margin-top: 0.2em;\n font-size: 12px;\n ", "\n"])), function (p) { return (p.$danger ? "color: var(--danger);" : ""); });
|
|
5
|
+
export var Feedback = function (_a) {
|
|
6
|
+
var $danger = _a.$danger, children = _a.children;
|
|
7
|
+
return (_jsx(Root, __assign({ role: "alert", "$danger": $danger }, { children: children })));
|
|
10
8
|
};
|
|
9
|
+
var templateObject_1;
|
package/Forms/Field/Field.js
CHANGED
|
@@ -1,26 +1,13 @@
|
|
|
1
|
+
import { __assign, __makeTemplateObject, __rest } from "tslib";
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import styled, { css } from "styled-components";
|
|
3
4
|
import { Feedback } from "../Feedback";
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
export const FieldBase = styled.div `
|
|
8
|
-
${field}
|
|
9
|
-
`;
|
|
10
|
-
export const FieldRoot = styled(FieldBase) `
|
|
11
|
-
${(p) => {
|
|
5
|
+
export var field = css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding-bottom: 20px;\n"], ["\n padding-bottom: 20px;\n"])));
|
|
6
|
+
export var FieldBase = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), field);
|
|
7
|
+
export var FieldRoot = styled(FieldBase)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), function (p) {
|
|
12
8
|
return (p.$danger &&
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
textarea,
|
|
17
|
-
input,
|
|
18
|
-
select {
|
|
19
|
-
color: var(--danger);
|
|
20
|
-
}
|
|
21
|
-
`);
|
|
22
|
-
}}
|
|
23
|
-
`;
|
|
9
|
+
"\n color: var(--danger);\n \n textarea,\n input,\n select {\n color: var(--danger);\n }\n ");
|
|
10
|
+
});
|
|
24
11
|
/**
|
|
25
12
|
* Yup's errors produce by these validations:
|
|
26
13
|
*
|
|
@@ -33,17 +20,18 @@ export const FieldRoot = styled(FieldBase) `
|
|
|
33
20
|
* We assume these as standard translations keys without needing to pass
|
|
34
21
|
* a string into the validation, e.g. `required("mySpecialKey")`.
|
|
35
22
|
*/
|
|
36
|
-
|
|
23
|
+
var YUP_ERROR_TYPES_AS_KEYS = {
|
|
37
24
|
required: 1,
|
|
38
25
|
email: 1,
|
|
39
26
|
};
|
|
40
|
-
export
|
|
41
|
-
|
|
42
|
-
|
|
27
|
+
export var Field = function (_a) {
|
|
28
|
+
var name = _a.name, t = _a.t, error = _a.error, errors = _a.errors, children = _a.children, props = __rest(_a, ["name", "t", "error", "errors", "children"]);
|
|
29
|
+
var err = errors && name ? errors[name] : error;
|
|
30
|
+
var msg = "";
|
|
43
31
|
if (err) {
|
|
44
32
|
if (name && t && err.type !== "plain") {
|
|
45
|
-
|
|
46
|
-
msg = t(
|
|
33
|
+
var translationKey = err.type && YUP_ERROR_TYPES_AS_KEYS[err.type] ? err.type : "";
|
|
34
|
+
msg = t("errors.".concat(name, ".").concat(translationKey || err.message));
|
|
47
35
|
}
|
|
48
36
|
else {
|
|
49
37
|
msg = err.message;
|
|
@@ -55,5 +43,6 @@ export const Field = ({ name, t, error, errors, children, ...props }) => {
|
|
|
55
43
|
// useEffect(() => {
|
|
56
44
|
// i18n.addResourceBundle(locale, "core.Forms", null);
|
|
57
45
|
// }, []);
|
|
58
|
-
return (_jsxs(FieldRoot, { "$danger": !!err,
|
|
46
|
+
return (_jsxs(FieldRoot, __assign({ "$danger": !!err }, props, { children: [children, msg && _jsx(Feedback, __assign({ "$danger": true }, { children: msg }))] })));
|
|
59
47
|
};
|
|
48
|
+
var templateObject_1, templateObject_2, templateObject_3;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { __assign, __rest } from "tslib";
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
3
|
import { useMemo } from "react";
|
|
3
4
|
import { useFormState } from "react-hook-form";
|
|
@@ -15,20 +16,23 @@ import { InputHoneypot } from "../styles";
|
|
|
15
16
|
* ```json
|
|
16
17
|
* ```
|
|
17
18
|
*/
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
19
|
+
export var FieldControl = function (_a) {
|
|
20
|
+
var control = _a.control, register = _a.register, setValue = _a.setValue, maybeEncodedName = _a.name, label = _a.label, placeholder = _a.placeholder, hint = _a.hint, t = _a.t, _b = _a.showError, showError = _b === void 0 ? true : _b, children = _a.children, encode = _a.encode, props = __rest(_a, ["control", "register", "setValue", "name", "label", "placeholder", "hint", "t", "showError", "children", "encode"]);
|
|
21
|
+
var name = encode ? decode(maybeEncodedName) : maybeEncodedName;
|
|
22
|
+
var errors = useFormState({ name: name, control: control }).errors;
|
|
23
|
+
var error = showError && errors[name] ? errors[name] : null;
|
|
24
|
+
var FormFieldContent = useMemo(function () {
|
|
25
|
+
return children({
|
|
26
|
+
control: control,
|
|
27
|
+
register: register,
|
|
28
|
+
setValue: setValue,
|
|
29
|
+
name: maybeEncodedName,
|
|
30
|
+
// @see https://github.com/vinissimus/next-translate/pull/461
|
|
31
|
+
// @see https://github.com/vinissimus/next-translate/issues/429
|
|
32
|
+
label: label || t("labels.".concat(name), undefined, { default: "" }),
|
|
33
|
+
placeholder: placeholder || t("placeholders.".concat(name), undefined, { fallback: "" }),
|
|
34
|
+
});
|
|
35
|
+
}, [
|
|
32
36
|
children,
|
|
33
37
|
control,
|
|
34
38
|
register,
|
|
@@ -39,5 +43,5 @@ export const FieldControl = ({ control, register, setValue, name: maybeEncodedNa
|
|
|
39
43
|
maybeEncodedName,
|
|
40
44
|
placeholder,
|
|
41
45
|
]);
|
|
42
|
-
return (_jsxs(_Fragment, { children: [_jsxs(Field, { name: maybeEncodedName, t: t, error: error,
|
|
46
|
+
return (_jsxs(_Fragment, { children: [_jsxs(Field, __assign({ name: maybeEncodedName, t: t, error: error }, props, { children: [FormFieldContent, hint && _jsx(FieldHint, { children: hint })] })), encode && register && _jsx(InputHoneypot, __assign({}, register(name)))] }));
|
|
43
47
|
};
|
package/Forms/Field/FieldHint.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
+
import { __makeTemplateObject } from "tslib";
|
|
1
2
|
import styled from "styled-components";
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
opacity: 0.7;
|
|
5
|
-
font-size: 75%;
|
|
6
|
-
`;
|
|
3
|
+
export var FieldHint = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding-top: 0.6em;\n opacity: 0.7;\n font-size: 75%;\n"], ["\n padding-top: 0.6em;\n opacity: 0.7;\n font-size: 75%;\n"])));
|
|
4
|
+
var templateObject_1;
|
package/Forms/Input/Input.js
CHANGED
|
@@ -1,23 +1,17 @@
|
|
|
1
|
+
import { __assign, __makeTemplateObject, __rest } from "tslib";
|
|
1
2
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { forwardRef } from "react";
|
|
3
4
|
import styled from "styled-components";
|
|
4
5
|
import { Label } from "../Label/Label";
|
|
5
6
|
import { inputBase, inputFocus } from "../styles";
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
export
|
|
12
|
-
|
|
13
|
-
`;
|
|
14
|
-
export const InputPre = styled.div ``;
|
|
15
|
-
export const InputPost = styled.div ``;
|
|
16
|
-
export const InputNative = styled.input `
|
|
17
|
-
${inputBase}
|
|
18
|
-
${inputFocus}
|
|
19
|
-
`;
|
|
20
|
-
export const Input = forwardRef(function Input({ register, name, label, ...props }, ref) {
|
|
7
|
+
export var InputWrap = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: space-between;\n"], ["\n display: flex;\n align-items: center;\n justify-content: space-between;\n"])));
|
|
8
|
+
export var InputMain = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n flex: 1;\n"], ["\n flex: 1;\n"])));
|
|
9
|
+
export var InputPre = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([""], [""])));
|
|
10
|
+
export var InputPost = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([""], [""])));
|
|
11
|
+
export var InputNative = styled.input(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", "\n ", "\n"], ["\n ", "\n ", "\n"])), inputBase, inputFocus);
|
|
12
|
+
export var Input = forwardRef(function Input(_a, ref) {
|
|
13
|
+
var register = _a.register, name = _a.name, label = _a.label, props = __rest(_a, ["register", "name", "label"]);
|
|
21
14
|
// console.log("Input: render");
|
|
22
|
-
return (_jsxs(_Fragment, { children: [label && _jsx(Label, { children: label }), _jsx(InputNative, {
|
|
15
|
+
return (_jsxs(_Fragment, { children: [label && _jsx(Label, { children: label }), _jsx(InputNative, __assign({}, (register ? register(name) : { name: name, ref: ref }), props))] }));
|
|
23
16
|
});
|
|
17
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
|
|
@@ -1,42 +1,15 @@
|
|
|
1
|
+
import { __assign, __makeTemplateObject, __rest } from "tslib";
|
|
1
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
3
|
import styled from "styled-components";
|
|
3
4
|
import { KoineButton } from "../../Buttons";
|
|
4
5
|
import { field } from "../Field";
|
|
5
6
|
import { max, min } from "../../styles/media";
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
export const InputGroupMain = styled.div `
|
|
14
|
-
flex: 1;
|
|
15
|
-
`;
|
|
16
|
-
export const InputGroupButtonPre = styled(KoineButton) `
|
|
17
|
-
${max.sm} {
|
|
18
|
-
border-bottom: 0;
|
|
19
|
-
border-bottom-left-radius: 0;
|
|
20
|
-
border-bottom-right-radius: 0;
|
|
21
|
-
}
|
|
22
|
-
${min.sm} {
|
|
23
|
-
border-right: 0;
|
|
24
|
-
border-top-right-radius: 0;
|
|
25
|
-
border-bottom-right-radius: 0;
|
|
26
|
-
}
|
|
27
|
-
`;
|
|
28
|
-
export const InputGroupButtonPost = styled(KoineButton) `
|
|
29
|
-
${max.sm} {
|
|
30
|
-
border-top: 0;
|
|
31
|
-
border-top-left-radius: 0;
|
|
32
|
-
border-top-right-radius: 0;
|
|
33
|
-
}
|
|
34
|
-
${min.sm} {
|
|
35
|
-
border-left: 0;
|
|
36
|
-
border-top-left-radius: 0;
|
|
37
|
-
border-bottom-left-radius: 0;
|
|
38
|
-
}
|
|
39
|
-
`;
|
|
40
|
-
export const InputGroup = ({ pre, post, Button = KoineButton, btnProps = {}, children, ...props }) => {
|
|
41
|
-
return (_jsxs(InputGroupRoot, { ...props, children: [pre && _jsx(InputGroupButtonPre, { as: Button, ...btnProps }), _jsx(InputGroupMain, { children: children }), post && _jsx(InputGroupButtonPost, { as: Button, ...btnProps })] }));
|
|
7
|
+
export var InputGroupRoot = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n display: flex;\n ", " {\n flex-direction: column;\n }\n"], ["\n ", "\n display: flex;\n ", " {\n flex-direction: column;\n }\n"])), field, max.sm);
|
|
8
|
+
export var InputGroupMain = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n flex: 1;\n"], ["\n flex: 1;\n"])));
|
|
9
|
+
export var InputGroupButtonPre = styled(KoineButton)(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", " {\n border-bottom: 0;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n ", " {\n border-right: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n"], ["\n ", " {\n border-bottom: 0;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n ", " {\n border-right: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n"])), max.sm, min.sm);
|
|
10
|
+
export var InputGroupButtonPost = styled(KoineButton)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", " {\n border-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n ", " {\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n"], ["\n ", " {\n border-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n ", " {\n border-left: 0;\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n"])), max.sm, min.sm);
|
|
11
|
+
export var InputGroup = function (_a) {
|
|
12
|
+
var pre = _a.pre, post = _a.post, _b = _a.Button, Button = _b === void 0 ? KoineButton : _b, _c = _a.btnProps, btnProps = _c === void 0 ? {} : _c, children = _a.children, props = __rest(_a, ["pre", "post", "Button", "btnProps", "children"]);
|
|
13
|
+
return (_jsxs(InputGroupRoot, __assign({}, props, { children: [pre && _jsx(InputGroupButtonPre, __assign({ as: Button }, btnProps)), _jsx(InputGroupMain, { children: children }), post && _jsx(InputGroupButtonPost, __assign({ as: Button }, btnProps))] })));
|
|
42
14
|
};
|
|
15
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4;
|
package/Forms/Label/Label.js
CHANGED
|
@@ -1,24 +1,6 @@
|
|
|
1
|
+
import { __makeTemplateObject } from "tslib";
|
|
1
2
|
import styled from "styled-components";
|
|
2
|
-
export
|
|
3
|
-
display:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
`;
|
|
7
|
-
export const labelMaterial = `
|
|
8
|
-
z-index: 2;
|
|
9
|
-
position: relative;
|
|
10
|
-
display: inline-block;
|
|
11
|
-
padding: 0 5px;
|
|
12
|
-
font-weight: 100;
|
|
13
|
-
font-size: 10px;
|
|
14
|
-
background: var(--bodyBg);
|
|
15
|
-
transform: translateY(-0.3em) translateX(1em);
|
|
16
|
-
cursor: pointer;
|
|
17
|
-
|
|
18
|
-
+ * {
|
|
19
|
-
margin-top: -1em;
|
|
20
|
-
}
|
|
21
|
-
`;
|
|
22
|
-
export const Label = styled.label `
|
|
23
|
-
${labelMaterial}
|
|
24
|
-
`;
|
|
3
|
+
export var label = "\n display: flex;\n font-size: 13px;\n cursor: pointer;\n";
|
|
4
|
+
export var labelMaterial = "\n z-index: 2;\n position: relative;\n display: inline-block;\n padding: 0 5px;\n font-weight: 100;\n font-size: 10px;\n background: var(--bodyBg);\n transform: translateY(-0.3em) translateX(1em);\n cursor: pointer;\n\n + * {\n margin-top: -1em;\n }\n";
|
|
5
|
+
export var Label = styled.label(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n"], ["\n ", "\n"])), labelMaterial);
|
|
6
|
+
var templateObject_1;
|