@makeswift/runtime 0.1.0-next.0 → 0.1.2
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/dist/Form.cjs.js +33 -14
- package/dist/Form.cjs.js.map +1 -1
- package/dist/Form.es.js +33 -13
- package/dist/Form.es.js.map +1 -1
- package/dist/Text.es.js +1 -1
- package/dist/components.cjs.js +1 -2
- package/dist/components.cjs.js.map +1 -1
- package/dist/components.es.js +1 -1
- package/dist/index.cjs.js +19 -14
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.cjs3.js +1 -1
- package/dist/index.cjs3.js.map +1 -1
- package/dist/index.es.js +21 -16
- package/dist/index.es.js.map +1 -1
- package/dist/index.es2.js +1 -1
- package/dist/index.es3.js +2 -2
- package/dist/index.es3.js.map +1 -1
- package/dist/style.cjs.js +5 -2
- package/dist/style.cjs.js.map +1 -1
- package/dist/style.es.js +5 -2
- package/dist/style.es.js.map +1 -1
- package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
- package/dist/types/components/builtin/Form/components/Field/index.d.ts +1 -1
- package/dist/types/components/builtin/Form/components/Field/index.d.ts.map +1 -1
- package/dist/types/components/{hooks/useTable.d.ts → builtin/Form/types.d.ts} +2 -6
- package/dist/types/components/builtin/Form/types.d.ts.map +1 -0
- package/dist/types/components/hooks/index.d.ts +0 -1
- package/dist/types/components/hooks/index.d.ts.map +1 -1
- package/dist/types/controls/style.d.ts +65 -0
- package/dist/types/controls/style.d.ts.map +1 -1
- package/dist/types/runtimes/react/controls/style.d.ts.map +1 -1
- package/dist/types/runtimes/react/index.d.ts.map +1 -1
- package/dist/useBoxShadow.es.js +1 -1
- package/package.json +2 -2
- package/dist/types/components/builtin/Box/contants.d.ts +0 -9
- package/dist/types/components/builtin/Box/contants.d.ts.map +0 -1
- package/dist/types/components/builtin/Button/constants.d.ts +0 -2
- package/dist/types/components/builtin/Button/constants.d.ts.map +0 -1
- package/dist/types/components/builtin/Form/constants.d.ts +0 -1
- package/dist/types/components/builtin/Form/constants.d.ts.map +0 -1
- package/dist/types/components/hooks/useTable.d.ts.map +0 -1
- package/dist/types/dynamic.d.ts +0 -2
- package/dist/types/dynamic.d.ts.map +0 -1
- package/dist/types/next/plugin.d.ts +0 -3
- package/dist/types/next/plugin.d.ts.map +0 -1
- package/dist/useBackgrounds.cjs.js +0 -124
- package/dist/useBackgrounds.cjs.js.map +0 -1
- package/dist/useBackgrounds.es.js +0 -123
- package/dist/useBackgrounds.es.js.map +0 -1
- package/dist/usePage.cjs.js +0 -14
- package/dist/usePage.cjs.js.map +0 -1
- package/dist/usePage.es.js +0 -13
- package/dist/usePage.es.js.map +0 -1
- package/dist/useTable.cjs.js +0 -10
- package/dist/useTable.cjs.js.map +0 -1
- package/dist/useTable.es.js +0 -9
- package/dist/useTable.es.js.map +0 -1
package/dist/Form.cjs.js
CHANGED
|
@@ -30,6 +30,7 @@ var __objRest = (source, exclude) => {
|
|
|
30
30
|
}
|
|
31
31
|
return target;
|
|
32
32
|
};
|
|
33
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
33
34
|
var React = require("react");
|
|
34
35
|
var styled = require("styled-components");
|
|
35
36
|
var formik = require("formik");
|
|
@@ -42,6 +43,31 @@ var Button$1 = require("./Button.cjs.js");
|
|
|
42
43
|
var index = require("./index.cjs3.js");
|
|
43
44
|
var boxModels = require("./box-models.cjs.js");
|
|
44
45
|
var client = require("@apollo/client");
|
|
46
|
+
require("use-sync-external-store/shim/with-selector");
|
|
47
|
+
require("./react-page.cjs.js");
|
|
48
|
+
require("redux");
|
|
49
|
+
require("redux-thunk");
|
|
50
|
+
require("./actions.cjs.js");
|
|
51
|
+
require("./descriptors.cjs.js");
|
|
52
|
+
require("./style.cjs.js");
|
|
53
|
+
require("./color.cjs.js");
|
|
54
|
+
require("./image.cjs.js");
|
|
55
|
+
require("next/dynamic");
|
|
56
|
+
require("next/document");
|
|
57
|
+
require("slate");
|
|
58
|
+
require("@emotion/server/create-instance");
|
|
59
|
+
require("@apollo/client/link/batch-http");
|
|
60
|
+
require("./graphql.cjs.js");
|
|
61
|
+
require("./text-input.cjs.js");
|
|
62
|
+
require("./shape.cjs.js");
|
|
63
|
+
require("react-dom");
|
|
64
|
+
require("html-react-parser");
|
|
65
|
+
require("next/head");
|
|
66
|
+
require("uuid/v4");
|
|
67
|
+
require("corporate-ipsum");
|
|
68
|
+
require("scroll-into-view-if-needed");
|
|
69
|
+
require("next/link");
|
|
70
|
+
require("css-box-model");
|
|
45
71
|
function _interopDefaultLegacy(e) {
|
|
46
72
|
return e && typeof e === "object" && "default" in e ? e : { "default": e };
|
|
47
73
|
}
|
|
@@ -68,12 +94,6 @@ function _interopNamespace(e) {
|
|
|
68
94
|
var React__namespace = /* @__PURE__ */ _interopNamespace(React);
|
|
69
95
|
var styled__default = /* @__PURE__ */ _interopDefaultLegacy(styled);
|
|
70
96
|
var ColorHelper__default = /* @__PURE__ */ _interopDefaultLegacy(ColorHelper);
|
|
71
|
-
function useTable(tableId) {
|
|
72
|
-
return next.useQuery(next.TABLE_BY_ID, {
|
|
73
|
-
skip: tableId == null,
|
|
74
|
-
variables: { id: tableId }
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
97
|
var _path;
|
|
78
98
|
function _extends$1() {
|
|
79
99
|
_extends$1 = Object.assign || function(target) {
|
|
@@ -1493,7 +1513,12 @@ const Form = React.forwardRef(function Form2({
|
|
|
1493
1513
|
data: {
|
|
1494
1514
|
table
|
|
1495
1515
|
} = {}
|
|
1496
|
-
} =
|
|
1516
|
+
} = next.useQuery(next.TABLE_BY_ID, {
|
|
1517
|
+
skip: tableId == null,
|
|
1518
|
+
variables: {
|
|
1519
|
+
id: tableId
|
|
1520
|
+
}
|
|
1521
|
+
});
|
|
1497
1522
|
const [createTableRecord] = next.useMutation(CREATE_TABLE_RECORD);
|
|
1498
1523
|
const [refEl, setRefEl] = React.useState(null);
|
|
1499
1524
|
const [propControllers, setPropControllers] = React.useState(null);
|
|
@@ -1695,11 +1720,5 @@ const Form = React.forwardRef(function Form2({
|
|
|
1695
1720
|
})
|
|
1696
1721
|
});
|
|
1697
1722
|
});
|
|
1698
|
-
|
|
1699
|
-
__proto__: null,
|
|
1700
|
-
"default": Form
|
|
1701
|
-
}, Symbol.toStringTag, { value: "Module" }));
|
|
1702
|
-
exports.Form = Form;
|
|
1703
|
-
exports.Form$1 = Form$1;
|
|
1704
|
-
exports.useTable = useTable;
|
|
1723
|
+
exports["default"] = Form;
|
|
1705
1724
|
//# sourceMappingURL=Form.cjs.js.map
|
package/dist/Form.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.cjs.js","sources":["../src/components/hooks/useTable.ts","../src/components/icons/check-12.svg","../src/components/builtin/Form/components/Field/services/cssField.ts","../src/components/builtin/Form/components/Field/components/Input/index.tsx","../src/components/builtin/Form/components/Placeholder/index.tsx","../src/components/builtin/Form/components/Field/components/Label/index.tsx","../src/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.tsx","../src/components/builtin/Form/components/Field/components/TextArea/index.tsx","../src/components/builtin/Form/components/Field/components/LongTextTableField/index.tsx","../src/components/builtin/Form/components/Field/components/Checkbox/index.tsx","../src/components/builtin/Form/components/Field/components/CheckboxTableField/index.tsx","../src/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.tsx","../src/components/builtin/Form/components/Field/components/RadioButton/index.tsx","../src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.tsx","../src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.tsx","../src/components/builtin/Form/components/Field/components/SingleSelectTableField/index.tsx","../src/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.tsx","../src/components/builtin/Form/components/Field/components/EmailTableField/index.tsx","../src/components/builtin/Form/components/Field/components/URLTableField/index.tsx","../src/components/builtin/Form/components/Field/components/NumberTableField/index.tsx","../src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.tsx","../src/components/builtin/Form/components/Field/index.tsx","../src/components/icons/spinner-20.svg","../src/components/builtin/Form/components/Spinner/index.tsx","../src/components/hooks/useTableFormFieldRefs.ts","../src/components/builtin/Form/Form.tsx"],"sourcesContent":["import { useQuery } from '../../api/react'\nimport { TABLE_BY_ID } from '../utils/queries'\n\nexport type SingleLineTextTableColumn = {\n id: string\n name: string\n __typename: 'SingleLineTextTableColumn'\n}\n\nexport type LongTextTableColumn = {\n id: string\n name: string\n __typename: 'LongTextTableColumn'\n}\n\nexport type CheckboxTableColumn = {\n id: string\n name: string\n __typename: 'CheckboxTableColumn'\n}\n\nexport type MultipleSelectTableColumnOption = {\n id: string\n name: string\n}\n\nexport type MultipleSelectTableColumn = {\n id: string\n name: string\n options: Array<MultipleSelectTableColumnOption>\n __typename: 'MultipleSelectTableColumn'\n}\n\nexport type SingleSelectTableColumnOption = {\n id: string\n name: string\n}\n\nexport type SingleSelectTableColumn = {\n id: string\n name: string\n options: Array<SingleSelectTableColumnOption>\n __typename: 'SingleSelectTableColumn'\n}\n\nexport type PhoneNumberTableColumn = {\n id: string\n name: string\n __typename: 'PhoneNumberTableColumn'\n}\n\nexport type EmailTableColumn = {\n id: string\n name: string\n __typename: 'EmailTableColumn'\n}\n\nexport type URLTableColumn = {\n id: string\n name: string\n __typename: 'URLTableColumn'\n}\n\nexport type NumberTableColumn = {\n id: string\n name: string\n __typename: 'NumberTableColumn'\n}\n\nexport type TableColumn =\n | SingleLineTextTableColumn\n | LongTextTableColumn\n | CheckboxTableColumn\n | MultipleSelectTableColumn\n | SingleSelectTableColumn\n | PhoneNumberTableColumn\n | EmailTableColumn\n | URLTableColumn\n | NumberTableColumn\n\ntype Table = {\n id: string\n name: string\n columns: Array<TableColumn>\n}\n\nexport function useTable(tableId: string | null | undefined) {\n return useQuery<{ table: Table | null }>(TABLE_BY_ID, {\n skip: tableId == null,\n variables: { id: tableId },\n })\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS43MDcxIDEuNzkyODlDMTIuMDk3NiAyLjE4MzQyIDEyLjA5NzYgMi44MTY1OCAxMS43MDcxIDMuMjA3MTFMNC43MDcxMSAxMC4yMDcxQzQuMzE2NTggMTAuNTk3NiAzLjY4MzQyIDEwLjU5NzYgMy4yOTI4OSAxMC4yMDcxTDAuMjkyODkzIDcuMjA3MTFDLTAuMDk3NjMxMSA2LjgxNjU4IC0wLjA5NzYzMTEgNi4xODM0MiAwLjI5Mjg5MyA1Ljc5Mjg5QzAuNjgzNDE3IDUuNDAyMzcgMS4zMTY1OCA1LjQwMjM3IDEuNzA3MTEgNS43OTI4OUw0IDguMDg1NzlMMTAuMjkyOSAxLjc5Mjg5QzEwLjY4MzQgMS40MDIzNyAxMS4zMTY2IDEuNDAyMzcgMTEuNzA3MSAxLjc5Mjg5WiIvPgo8L3N2Zz4K\"","import { css } from 'styled-components'\n\nimport { cssMediaRules } from '../../../../../utils/cssMediaRules'\nimport { colorToString } from '../../../../../utils/colorToString'\n\nimport {\n Size,\n Shape,\n Contrast,\n Shapes,\n Sizes,\n Contrasts,\n Value,\n} from '../../../context/FormContext'\n\nexport function getSizeHeight(size: Size): number {\n switch (size) {\n case Sizes.SMALL:\n return 30\n\n case Sizes.MEDIUM:\n return 38\n\n case Sizes.LARGE:\n return 48\n\n default:\n throw new Error(`Invalid form size \"${size}\"`)\n }\n}\n\nexport function getSizeHorizontalPadding(size: Size): number {\n switch (size) {\n case Sizes.SMALL:\n return 8\n\n case Sizes.MEDIUM:\n return 12\n\n case Sizes.LARGE:\n return 16\n\n default:\n throw new Error(`Invalid form size \"${size}\"`)\n }\n}\n\nfunction getSizeVerticalPadding(size: Size): number {\n switch (size) {\n case Sizes.SMALL:\n return 3\n\n case Sizes.MEDIUM:\n return 7\n\n case Sizes.LARGE:\n return 11\n\n default:\n throw new Error(`Invalid form size \"${size}\"`)\n }\n}\n\nexport function getShapeBorderRadius(shape: Shape): number {\n switch (shape) {\n case Shapes.SQUARE:\n return 0\n\n case Shapes.ROUNDED:\n return 4\n\n case Shapes.PILL:\n return 500\n\n default:\n throw new Error(`Invalid form shape \"${shape}\"`)\n }\n}\n\nexport function getContrastBorderColor(contrast: Contrast, error?: boolean): string {\n switch (contrast) {\n case Contrasts.LIGHT:\n return error ? 'rgba(255, 0, 0, 0.7)' : 'rgba(0, 0, 0, 0.25)'\n\n case Contrasts.DARK:\n return error ? 'rgba(255, 0, 0, 0.7)' : 'rgba(255, 255, 255, 0.6)'\n\n default:\n throw new Error(`Invalid form contrast \"${contrast}\"`)\n }\n}\n\nexport function getContrastBackgroundColor(contrast: Contrast): string {\n switch (contrast) {\n case Contrasts.LIGHT:\n return 'white'\n\n case Contrasts.DARK:\n return 'rgba(0, 0, 0, 0.7)'\n\n default:\n throw new Error(`Invalid form contrast \"${contrast}\"`)\n }\n}\n\nexport function getContrastColor(contrast: Contrast): string {\n switch (contrast) {\n case Contrasts.LIGHT:\n return 'rgba(0, 0, 0, 0.95)'\n\n case Contrasts.DARK:\n return 'white'\n\n default:\n throw new Error(`Invalid form contrast \"${contrast}\"`)\n }\n}\n\nfunction getContrastPlaceholderColor(contrast: Contrast) {\n switch (contrast) {\n case Contrasts.LIGHT:\n return 'rgba(0, 0, 0, 0.3)'\n\n case Contrasts.DARK:\n return 'rgba(255,255,255,0.3)'\n\n default:\n throw new Error(`Invalid form contrast \"${contrast}\"`)\n }\n}\n\nexport default function cssField() {\n return css<Pick<Value, 'shape' | 'size' | 'contrast' | 'brandColor'> & { error?: boolean }>`\n display: block;\n width: 100%;\n outline: none;\n border-width: 1px;\n border-style: solid;\n transition: border-color 200ms;\n ${props =>\n cssMediaRules(\n [props.shape, props.size, props.contrast, props.brandColor] as const,\n ([\n shape = Shapes.ROUNDED,\n size = Sizes.MEDIUM,\n contrast = Contrasts.LIGHT,\n brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n ]) => css`\n padding: ${getSizeVerticalPadding(size)}px ${getSizeHorizontalPadding(size)}px;\n border-radius: ${getShapeBorderRadius(shape)}px;\n border-color: ${getContrastBorderColor(contrast, props.error)};\n color: ${getContrastColor(contrast)};\n background-color: ${getContrastBackgroundColor(contrast)};\n\n :focus,\n :focus-within {\n border-color: ${colorToString(brandColor)};\n }\n\n ::placeholder {\n color: ${getContrastPlaceholderColor(contrast)};\n }\n `,\n )}\n `\n}\n","import { ComponentPropsWithoutRef, forwardRef } from 'react'\nimport styled, { css } from 'styled-components'\n\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport { Size, useFormContext, Sizes, Value } from '../../../../context/FormContext'\nimport cssField from '../../services/cssField'\n\nexport function getSizeHeight(size: Size): number {\n switch (size) {\n case Sizes.SMALL:\n return 36\n\n case Sizes.MEDIUM:\n return 42\n\n case Sizes.LARGE:\n return 48\n\n default:\n throw new Error(`Invalid form size \"${size}\"`)\n }\n}\n\nconst Base = styled.input.withConfig({\n shouldForwardProp: (prop, defaultValidator) =>\n !['shape', 'size', 'contrast', 'brandColor', 'error'].includes(prop.toString()) &&\n defaultValidator(prop),\n})<Pick<Value, 'shape' | 'size' | 'contrast' | 'brandColor'> & { error?: boolean }>`\n ${cssField()}\n ${props =>\n cssMediaRules(\n [props.size] as const,\n ([size = Sizes.MEDIUM]) => css`\n min-height: ${getSizeHeight(size)}px;\n max-height: ${getSizeHeight(size)}px;\n `,\n )}\n`\n\ntype BaseProps = { error?: boolean; form?: unknown }\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof Base>, keyof BaseProps>\n\nexport default forwardRef<HTMLInputElement, Props>(function Input(\n { error = false, form, ...restOfProps }: Props,\n ref,\n) {\n const { shape, size, contrast, brandColor } = useFormContext()\n\n return (\n <Base\n {...restOfProps}\n ref={ref}\n error={error}\n shape={shape}\n // @ts-expect-error: HTMLInputEleent `size` attribute conflicts with prop\n size={size}\n contrast={contrast}\n brandColor={brandColor}\n />\n )\n})\n","import { forwardRef, Ref } from 'react'\nimport styled from 'styled-components'\n\nimport { MarginValue, WidthValue } from '../../../../../prop-controllers/descriptors'\nimport { cssMargin } from '../../../../utils/cssMediaRules'\n\nconst Container = styled.div.withConfig({\n shouldForwardProp: prop => !['width', 'margin'].includes(prop.toString()),\n})<{\n width?: WidthValue\n margin?: MarginValue\n}>`\n display: flex;\n flex-direction: column;\n ${cssMargin()};\n`\n\nconst Label = styled.div`\n max-width: 120px;\n min-width: 60px;\n height: 8px;\n border-radius: 2px;\n background-color: #a1a8c2;\n opacity: 0.4;\n margin-bottom: 8px;\n`\n\nconst Input = styled.div`\n min-width: 80px;\n height: 32px;\n border-radius: 4px;\n border-width: 2px;\n border-style: solid;\n border-color: #a1a8c2;\n opacity: 0.4;\n`\n\nconst Button = styled.div`\n min-width: 140px;\n height: 32px;\n border-radius: 4px;\n background-color: #a1a8c2;\n opacity: 0.4;\n`\n\ntype Props = {\n className?: string\n margin?: MarginValue\n}\n\nexport default forwardRef(function Placeholder(\n { className, margin }: Props,\n ref: Ref<HTMLDivElement>,\n): JSX.Element {\n return (\n <Container ref={ref} className={className} margin={margin}>\n <div style={{ display: 'flex', flexDirection: 'column', marginBottom: 16 }}>\n <Label />\n <Input />\n </div>\n <div style={{ display: 'flex', flexDirection: 'column', marginBottom: 16 }}>\n <Label />\n <Input />\n </div>\n <div style={{ display: 'flex', flexDirection: 'column', justifyContent: 'flex-end' }}>\n <Button />\n </div>\n </Container>\n )\n})\n","import { ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\nimport { ResponsiveValue } from '../../../../../../../prop-controllers'\nimport { TextStyleValue } from '../../../../../../../prop-controllers/descriptors'\nimport { cssMediaRules, cssTextStyle } from '../../../../../../utils/cssMediaRules'\nimport { colorToString } from '../../../../../../utils/colorToString'\n\nimport { useFormContext, Size, Sizes, Contrast, Contrasts } from '../../../../context/FormContext'\nimport { ColorValue } from '../../../../../../utils/types'\n\nexport function getSizeHeight(size: Size): number {\n switch (size) {\n case Sizes.SMALL:\n return 14\n\n case Sizes.MEDIUM:\n return 18\n\n case Sizes.LARGE:\n return 22\n\n default:\n throw new Error(`Invalid form size \"${size}\"`)\n }\n}\n\nfunction getContrastColor(contrast: Contrast): string {\n switch (contrast) {\n case Contrasts.LIGHT:\n return 'rgba(0, 0, 0, 0.8)'\n\n case Contrasts.DARK:\n return 'rgba(255, 255, 255, 0.95)'\n\n default:\n throw new Error(`Invalid form contrast \"${contrast}\"`)\n }\n}\n\nconst Base = styled.label.withConfig({\n shouldForwardProp: (prop, defaultValidator) =>\n !['contrast', 'size', 'textStyle', 'textColor'].includes(prop.toString()) &&\n defaultValidator(prop),\n})<{\n contrast?: ResponsiveValue<Contrast> | null | undefined\n size?: ResponsiveValue<Size> | null | undefined\n textStyle?: TextStyleValue | null | undefined\n textColor?: ResponsiveValue<ColorValue> | null | undefined\n}>`\n display: block;\n margin: 0 0 0.25em 0;\n ${cssTextStyle()}\n ${props =>\n cssMediaRules(\n [props.size, props.contrast, props.textColor] as const,\n ([size = Sizes.MEDIUM, contrast = Contrasts.LIGHT, textColor]) => css`\n min-height: ${getSizeHeight(size)}px;\n color: ${textColor == null ? getContrastColor(contrast) : colorToString(textColor)};\n `,\n )}\n`\n\ntype Props = ComponentPropsWithoutRef<typeof Base>\n\nexport default function Label(props: Props): JSX.Element {\n const { contrast, size, labelTextStyle, labelTextColor } = useFormContext()\n\n return (\n <Base\n {...props}\n contrast={contrast}\n size={size}\n textStyle={labelTextStyle}\n textColor={labelTextColor}\n />\n )\n}\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport Input from '../Input'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function SingleLineTextTableField(\n { id, label = '', name, error, hideLabel = false, ...restOfProps }: Props,\n ref,\n) {\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <Input\n {...restOfProps}\n aria-label={label}\n ref={ref}\n id={id}\n name={name}\n type=\"text\"\n error={error != null}\n />\n </>\n )\n})\n","import { forwardRef, ComponentPropsWithoutRef } from 'react'\nimport styled from 'styled-components'\n\nimport cssField from '../../services/cssField'\nimport { Value, useFormContext } from '../../../../context/FormContext'\n\nconst Base = styled.textarea.withConfig({\n shouldForwardProp: (prop, defaultValidator) =>\n !['error', 'shape', 'size', 'contrast', 'brandColor'].includes(prop.toString()) &&\n defaultValidator(prop),\n})<Value & { error?: boolean }>`\n resize: vertical;\n ${cssField()}\n`\n\ntype BaseProps = { error?: boolean; form?: unknown }\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof Base>, keyof BaseProps>\n\nexport default forwardRef<HTMLTextAreaElement, Props>(function TextArea(\n { error = false, form, ...restOfProps }: Props,\n ref,\n) {\n const { shape, size, contrast, brandColor } = useFormContext()\n\n return (\n <Base\n {...restOfProps}\n ref={ref}\n rows={4}\n error={error}\n shape={shape}\n size={size}\n contrast={contrast}\n brandColor={brandColor}\n />\n )\n})\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport TextArea from '../TextArea'\n\ntype Props = {\n id: string\n label?: string\n error?: string\n hideLabel?: boolean\n}\n\nexport default forwardRef<HTMLTextAreaElement, Props>(function LongTextTableField(\n { id, label = '', error, hideLabel = false, ...restOfProps }: Props,\n ref,\n) {\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <TextArea {...restOfProps} aria-label={label} ref={ref} id={id} error={error != null} />\n </>\n )\n})\n","import { forwardRef, CSSProperties, ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\nimport Color from 'color'\n\nimport { getSizeHeight as getSize } from '../Label'\nimport {\n useFormContext,\n Value as FormContextValue,\n Sizes,\n Contrasts,\n} from '../../../../context/FormContext'\nimport { getContrastBorderColor, getContrastBackgroundColor } from '../../services/cssField'\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { SwatchValue } from '../../../../../../utils/types'\n\nfunction getCheckmarkColor({\n swatch: { hue: h, saturation: s, lightness: l },\n alpha: a,\n}: {\n swatch: SwatchValue\n alpha: number\n}) {\n return Color({ h, s, l }).alpha(a).isLight() ? 'rgba(0, 0, 0, 0.7)' : 'rgba(255, 255, 255, 0.95)'\n}\n\nconst Container = styled.div.withConfig({\n shouldForwardProp: prop => !['size'].includes(prop),\n})<Pick<FormContextValue, 'size'>>`\n position: relative;\n ${props =>\n cssMediaRules(\n [props.size] as const,\n ([size = Sizes.MEDIUM]) => css`\n height: ${getSize(size)}px;\n width: ${getSize(size)}px;\n `,\n )}\n`\n\nconst FakeCheckbox = styled.div.withConfig({\n shouldForwardProp: prop => !['contrast', 'error'].includes(prop),\n})<Pick<FormContextValue, 'contrast'> & { error?: boolean }>`\n position: absolute;\n width: 100%;\n height: 100%;\n border-style: solid;\n border-radius: 4px;\n pointer-events: none;\n border-width: 1px;\n ${props =>\n cssMediaRules(\n [props.contrast] as const,\n ([contrast = Contrasts.LIGHT]) => css`\n border-color: ${getContrastBorderColor(contrast, props.error)};\n background-color: ${getContrastBackgroundColor(contrast)};\n `,\n )}\n`\n\nconst HiddenCheckbox = styled.input.withConfig({\n shouldForwardProp: (prop, defaultValidator) =>\n !['size', 'brandColor', 'contrast', 'error'].includes(prop) && defaultValidator(prop),\n})<\n Pick<FormContextValue, 'size' | 'brandColor' | 'contrast'> & {\n error?: boolean\n }\n>`\n position: absolute;\n opacity: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n\n &:disabled {\n cursor: no-drop;\n\n & ~ ${FakeCheckbox} {\n opacity: 0.5;\n }\n }\n\n &:checked ~ ${FakeCheckbox} {\n ${props =>\n cssMediaRules(\n [props.brandColor] as const,\n ([{ swatch = { hue: 0, saturation: 0, lightness: 0 }, alpha = 1 } = {}]) => css`\n background-color: ${colorToString({ swatch, alpha })};\n `,\n )}\n border-color: transparent;\n\n &::after {\n content: '';\n position: absolute;\n box-sizing: content-box;\n width: 25%;\n height: 50%;\n ${props =>\n cssMediaRules(\n [props.size] as const,\n ([size = Sizes.MEDIUM]) => css`\n border-width: ${getSize(size) * 0.1}px;\n border-left: 0;\n border-top: 0;\n `,\n )}\n border-style: solid;\n ${props =>\n cssMediaRules(\n [props.brandColor] as const,\n ([{ swatch = { hue: 0, saturation: 0, lightness: 0 }, alpha = 1 } = {}]) => css`\n border-color: ${getCheckmarkColor({ swatch, alpha })};\n `,\n )}\n transform: rotate(45deg) translate3d(91%, -23%, 0);\n }\n }\n\n &:not(:disabled) {\n &:focus ~ ${FakeCheckbox} {\n ${props =>\n cssMediaRules(\n [props.brandColor],\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => css`\n border-color: ${colorToString(brandColor)};\n `,\n )}\n }\n }\n\n &:not(:disabled):checked {\n &:focus ~ ${FakeCheckbox} {\n ${props =>\n cssMediaRules(\n [props.contrast],\n ([contrast = Contrasts.LIGHT]) => css`\n border-color: ${getContrastBorderColor(contrast, props.error)};\n `,\n )}\n }\n }\n`\n\ntype BaseProps = {\n error?: boolean\n className?: string\n style?: CSSProperties\n form?: unknown\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof HiddenCheckbox>, keyof BaseProps>\n\nexport default forwardRef<HTMLInputElement, Props>(function Checkbox(\n { error, className, style, form, ...restOfProps }: Props,\n ref,\n) {\n const { size, contrast, brandColor } = useFormContext()\n\n return (\n <Container size={size}>\n <HiddenCheckbox\n {...restOfProps}\n type=\"checkbox\"\n ref={ref}\n error={error}\n // @ts-expect-error: HTMLInputElement `size` attribute conflicts with prop\n size={size}\n contrast={contrast}\n brandColor={brandColor}\n />\n <FakeCheckbox className={className} error={error} contrast={contrast} style={style} />\n </Container>\n )\n})\n","import { forwardRef, SyntheticEvent } from 'react'\nimport styled, { css } from 'styled-components'\nimport { FormikProps } from 'formik'\n\nimport { useFormContext, Sizes, Value } from '../../../../context/FormContext'\nimport Label from '../Label'\nimport { getSizeHeight as getInputSizeHeight } from '../Input'\nimport Checkbox from '../Checkbox'\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\n\nconst StyledLabel = styled(Label)<Pick<Value, 'size'>>`\n display: flex;\n align-items: center;\n margin: 0;\n ${props =>\n cssMediaRules(\n [props.size] as const,\n ([size = Sizes.MEDIUM]) => css`\n min-height: ${getInputSizeHeight(size)}px;\n max-height: ${getInputSizeHeight(size)}px;\n `,\n )}\n`\n\nconst CheckboxContainer = styled.span`\n margin-right: 8px;\n`\n\ntype Props = {\n form: FormikProps<{\n [key: string]: boolean\n }>\n id: string\n label?: string\n name: string\n value?: boolean\n error?: string\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function CheckboxTableField(\n { form, id, name, label = '', value = false, error, ...restOfProps }: Props,\n ref,\n) {\n const { size } = useFormContext()\n\n function handleChange(event: SyntheticEvent<HTMLInputElement>) {\n form.setFieldValue(name, event.currentTarget.checked)\n }\n\n return (\n <StyledLabel htmlFor={id} size={size}>\n <CheckboxContainer>\n <Checkbox\n {...restOfProps}\n aria-label={label}\n checked={value}\n onChange={handleChange}\n ref={ref}\n id={id}\n error={error != null}\n />\n </CheckboxContainer>\n {label}\n </StyledLabel>\n )\n})\n","import { forwardRef, useRef, useImperativeHandle, SyntheticEvent } from 'react'\nimport styled from 'styled-components'\n\nimport Label from '../Label'\nimport Checkbox from '../Checkbox'\n\nconst MainLabel = styled(Label)`\n margin: 0 0 4px 0;\n`\n\nconst StyledLabel = styled(Label)`\n display: flex;\n align-items: center;\n margin: 8px 0;\n\n &:last-of-type {\n margin-bottom: 0;\n }\n`\n\nconst CheckboxContainer = styled.span`\n margin-right: 8px;\n`\n\ntype Props = {\n id: string\n tableColumn: {\n options: Array<{\n id: string\n name: string\n }>\n }\n value?: Array<string>\n label?: string\n onChange: (arg0: SyntheticEvent<HTMLInputElement>) => unknown\n required?: boolean\n hideLabel?: boolean\n}\n\nexport default forwardRef<\n {\n validity: {\n valueMissing: boolean\n typeMismatch: boolean\n }\n },\n Props\n>(function MultipleSelectTableField(\n {\n tableColumn,\n label = '',\n required,\n value = [],\n onChange,\n hideLabel = false,\n ...restOfProps\n }: Props,\n ref,\n) {\n const handle = useRef({\n validity: { valueMissing: required === true && value.length === 0, typeMismatch: false },\n })\n\n useImperativeHandle(ref, () => handle.current, [])\n\n function handleChange(event: SyntheticEvent<HTMLInputElement>) {\n handle.current.validity.valueMissing =\n required === true &&\n !event.currentTarget.checked &&\n value.filter(v => v !== event.currentTarget.value).length === 0\n\n onChange(event)\n }\n\n return (\n <div>\n {!hideLabel && <MainLabel>{label}</MainLabel>}\n {tableColumn.options.map(option => (\n <StyledLabel key={option.id} htmlFor={option.id}>\n <CheckboxContainer>\n <Checkbox\n {...restOfProps}\n aria-label={label}\n onChange={handleChange}\n checked={value.includes(option.name)}\n id={option.id}\n value={option.name}\n />\n </CheckboxContainer>\n {option.name}\n </StyledLabel>\n ))}\n </div>\n )\n})\n","import { forwardRef, CSSProperties, ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\nimport Color from 'color'\n\nimport { getSizeHeight as getSize } from '../Label'\nimport { useFormContext, Sizes, Contrasts, Value } from '../../../../context/FormContext'\nimport { getContrastBorderColor, getContrastBackgroundColor } from '../../services/cssField'\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { ColorValue } from '../../../../../../utils/types'\n\nfunction getCheckmarkColor({\n swatch: { hue: h, saturation: s, lightness: l } = { hue: 0, saturation: 0, lightness: 0 },\n alpha: a,\n}: ColorValue) {\n return Color({ h, s, l }).alpha(a).isLight() ? 'rgba(0, 0, 0, 0.7)' : 'rgba(255, 255, 255, 0.95)'\n}\n\nconst Container = styled.div.withConfig({\n shouldForwardProp: prop => !['size'].includes(prop.toString()),\n})<Pick<Value, 'size'>>`\n position: relative;\n ${props =>\n cssMediaRules(\n [props.size],\n ([size = Sizes.MEDIUM]) => css`\n height: ${getSize(size)}px;\n width: ${getSize(size)}px;\n `,\n )}\n`\n\nconst FakeRadioButton = styled.div.withConfig({\n shouldForwardProp: prop => !['contrast', 'error'].includes(prop.toString()),\n})<Pick<Value, 'contrast'> & { error?: boolean }>`\n position: absolute;\n width: 100%;\n height: 100%;\n border-style: solid;\n border-radius: 50%;\n pointer-events: none;\n border-width: 1px;\n ${props =>\n cssMediaRules(\n [props.contrast],\n ([contrast = Contrasts.LIGHT]) => css`\n border-color: ${getContrastBorderColor(contrast, props.error)};\n background-color: ${getContrastBackgroundColor(contrast)};\n `,\n )}\n`\n\nconst HiddenRadioButton = styled.input\n .withConfig({\n shouldForwardProp: prop => !['brandColor', 'contrast', 'error'].includes(prop.toString()),\n })\n .attrs({ type: 'radio' })<Pick<Value, 'brandColor' | 'contrast'> & { error?: boolean }>`\n position: absolute;\n opacity: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n\n &:disabled {\n cursor: no-drop;\n\n & ~ ${FakeRadioButton} {\n opacity: 0.5;\n }\n }\n\n &:checked ~ ${FakeRadioButton} {\n ${props =>\n cssMediaRules(\n [props.brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => css`\n background-color: ${colorToString(brandColor)};\n `,\n )}\n border-color: transparent;\n\n &::after {\n content: '';\n position: absolute;\n box-sizing: content-box;\n top: 50%;\n left: 50%;\n width: 50%;\n height: 50%;\n border-radius: 50%;\n transform: translate(-50%, -50%);\n ${props =>\n cssMediaRules(\n [props.brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => css`\n background-color: ${getCheckmarkColor(brandColor)};\n `,\n )}\n }\n }\n\n &:not(:disabled) {\n &:focus ~ ${FakeRadioButton} {\n ${props =>\n cssMediaRules(\n [props.brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => css`\n border-color: ${colorToString(brandColor)};\n `,\n )}\n }\n }\n\n &:not(:disabled):checked {\n &:focus ~ ${FakeRadioButton} {\n ${props =>\n cssMediaRules(\n [props.contrast] as const,\n ([contrast = Contrasts.LIGHT]) => css`\n border-color: ${getContrastBorderColor(contrast, props.error)};\n `,\n )}\n }\n }\n`\n\ntype BaseProps = {\n error?: boolean\n className?: string\n style?: CSSProperties\n form?: unknown\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof HiddenRadioButton>, keyof BaseProps>\n\nexport default forwardRef<HTMLInputElement, Props>(function RadioButton(\n { error, className, style, form, ...restOfProps }: Props,\n ref,\n) {\n const { size, contrast, brandColor } = useFormContext()\n\n return (\n <Container size={size}>\n <HiddenRadioButton\n {...restOfProps}\n ref={ref}\n error={error}\n contrast={contrast}\n brandColor={brandColor}\n />\n <FakeRadioButton className={className} error={error} contrast={contrast} style={style} />\n </Container>\n )\n})\n","import { forwardRef, useRef, useImperativeHandle, SyntheticEvent } from 'react'\nimport styled from 'styled-components'\n\nimport Label from '../../../Label'\nimport RadioButton from '../../../RadioButton'\n\nconst StyledLabel = styled(Label)`\n display: flex;\n align-items: center;\n margin: 8px 0;\n\n &:last-of-type {\n margin-bottom: 0;\n }\n`\n\nconst RadioButtonContainer = styled.span`\n margin-right: 8px;\n`\n\ntype Props = {\n id: string\n tableColumn: {\n options: Array<{\n id: string\n name: string\n }>\n }\n label?: string\n value?: string\n hideLabel?: boolean\n onChange: (arg0: SyntheticEvent<HTMLInputElement>) => unknown\n required?: boolean\n}\n\nexport default forwardRef<\n {\n validity: {\n valueMissing: boolean\n typeMismatch: boolean\n }\n },\n Props\n>(function TableColumnRadioButtonGroup(\n {\n tableColumn,\n label = '',\n value = '',\n required = false,\n hideLabel = false,\n onChange,\n ...restOfProps\n }: Props,\n ref,\n) {\n const handle = useRef({\n validity: { valueMissing: required === true && value === '', typeMismatch: false },\n })\n\n useImperativeHandle(ref, () => handle.current, [])\n\n function handleChange(event: SyntheticEvent<HTMLInputElement>) {\n handle.current.validity.valueMissing = required === true && !event.currentTarget.checked\n\n onChange(event)\n }\n\n return (\n <div>\n {!hideLabel && <Label as=\"p\">{label}</Label>}\n {tableColumn.options.map(option => (\n <StyledLabel key={option.id} htmlFor={option.id} aria-label={label}>\n <RadioButtonContainer>\n <RadioButton\n {...restOfProps}\n onChange={handleChange}\n checked={value === option.name}\n id={option.id}\n value={option.name}\n />\n </RadioButtonContainer>\n {option.name}\n </StyledLabel>\n ))}\n </div>\n )\n})\n","import { forwardRef } from 'react'\nimport styled, { css } from 'styled-components'\n\nimport { cssMediaRules } from '../../../../../../../../utils/cssMediaRules'\nimport { useFormContext, Sizes, Contrasts, Value } from '../../../../../../context/FormContext'\nimport cssField, {\n getSizeHeight,\n getSizeHorizontalPadding,\n getContrastColor,\n} from '../../../../services/cssField'\nimport Label from '../../../Label'\n\nconst Container = styled.div.withConfig({\n shouldForwardProp: prop =>\n !['error', 'shape', 'size', 'contrast', 'brandColor'].includes(prop.toString()),\n})<Value & { error?: boolean }>`\n ${cssField()}\n display: flex;\n align-items: center;\n position: relative;\n user-select: none;\n border-color: #f19eb9;\n\n &:focus,\n &:focus-within {\n border-color: #e54e7f;\n }\n\n ${props =>\n cssMediaRules(\n [props.size, props.contrast] as const,\n ([size = Sizes.MEDIUM, contrast = Contrasts.LIGHT]) => css`\n min-height: ${getSizeHeight(size)}px;\n max-height: ${getSizeHeight(size)}px;\n\n &::after {\n content: '';\n position: absolute;\n right: ${getSizeHorizontalPadding(size)}px;\n top: 50%;\n transform: translate3d(0, -25%, 0);\n border: solid 0.35em transparent;\n border-top-color: ${getContrastColor(contrast)};\n }\n `,\n )}\n`\n\nconst Select = styled.select`\n appearance: none;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n width: 100%;\n height: 100%;\n`\n\ntype Props = {\n id: string\n tableColumn: {\n options: Array<{\n id: string\n name: string\n }>\n }\n value?: string\n label?: string\n required?: boolean\n error?: boolean\n hideLabel?: boolean\n form?: unknown\n}\n\nexport default forwardRef<HTMLSelectElement, Props>(function TableColumnSingleSelect(\n {\n id,\n tableColumn,\n value = '',\n label = '',\n error = false,\n hideLabel = false,\n form,\n ...restOfProps\n }: Props,\n ref,\n) {\n const { shape, size, contrast, brandColor } = useFormContext()\n\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <Container\n error={error}\n shape={shape}\n size={size}\n contrast={contrast}\n brandColor={brandColor}\n >\n <span>{value === '' ? '-' : value}</span>\n <Select {...restOfProps} aria-label={label} ref={ref} id={id} value={value}>\n <option value=\"\">-</option>\n {tableColumn.options.map(option => (\n <option key={option.id} value={option.name}>\n {option.name}\n </option>\n ))}\n </Select>\n </Container>\n </>\n )\n})\n","import { forwardRef, SyntheticEvent } from 'react'\n\nimport TableColumnRadioButtonGroup from './components/TableColumnRadioButtonGroup'\nimport TableColumnSingleSelect from './components/TableColumnSingleSelect'\n\ntype Props = {\n id: string\n name: string\n tableColumn: {\n options: Array<{\n id: string\n name: string\n }>\n }\n label?: string\n value?: string\n onChange: (arg0: SyntheticEvent<HTMLInputElement>) => unknown\n required?: boolean\n type: 'select' | 'radio'\n}\n\nexport default forwardRef<\n {\n readonly validity: {\n readonly valueMissing: boolean\n readonly typeMismatch: boolean\n }\n },\n Props\n>(function SingleSelectTableField({ type, ...restOfProps }: Props, ref) {\n return type === 'select' ? (\n // @ts-expect-error: custom ref doesn't match select element\n <TableColumnSingleSelect {...restOfProps} ref={ref} />\n ) : (\n <TableColumnRadioButtonGroup {...restOfProps} ref={ref} />\n )\n})\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport Input from '../Input'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function PhoneNumberTableField(\n { id, label = '', name, error, hideLabel = false, ...restOfProps }: Props,\n ref,\n) {\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <Input\n {...restOfProps}\n aria-label={label}\n ref={ref}\n id={id}\n name={name}\n type=\"tel\"\n error={error != null}\n />\n </>\n )\n})\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport Input from '../Input'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function EmailTableField(\n { id, label = '', name, error, hideLabel = false, ...restOfProps }: Props,\n ref,\n) {\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <Input\n {...restOfProps}\n aria-label={label}\n ref={ref}\n id={id}\n name={name}\n type=\"email\"\n error={error != null}\n />\n </>\n )\n})\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport Input from '../Input'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function URLTableField(\n { id, label = '', name, error, hideLabel = false, ...restOfProps }: Props,\n ref,\n) {\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <Input\n {...restOfProps}\n aria-label={label}\n ref={ref}\n id={id}\n name={name}\n type=\"url\"\n error={error != null}\n />\n </>\n )\n})\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport Input from '../Input'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function NumberTableField(\n { id, label = '', name, error, hideLabel = false, ...restOfProps }: Props,\n ref,\n) {\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <Input\n {...restOfProps}\n aria-label={label}\n ref={ref}\n id={id}\n name={name}\n type=\"number\"\n error={error != null}\n />\n </>\n )\n})\n","import styled, { css } from 'styled-components'\n\nimport { useFormContext, Sizes, Shapes, Value } from '../../../../context/FormContext'\nimport { getSizeHeight as getLabelSizeHeight } from '../Label'\nimport { getSizeHeight as getInputSizeHeight } from '../Input'\nimport { getShapeBorderRadius } from '../../services/cssField'\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\n\nconst Label = styled.div.withConfig({\n shouldForwardProp: prop => !['size'].includes(prop.toString()),\n})<Pick<Value, 'size'>>`\n display: block;\n max-width: 120px;\n min-width: 60px;\n border-radius: 2px;\n background-color: #5f49f4;\n opacity: 0.4;\n ${props =>\n cssMediaRules(\n [props.size] as const,\n ([size = Sizes.MEDIUM]) => css`\n margin: calc(0.25 * ${getLabelSizeHeight(size)}px + 2px) 0;\n min-height: ${0.5 * getLabelSizeHeight(size)}px;\n max-height: ${0.5 * getLabelSizeHeight(size)}px;\n `,\n )}\n`\n\nconst Input = styled.div.withConfig({\n shouldForwardProp: prop => !['shape', 'size'].includes(prop.toString()),\n})<Pick<Value, 'shape' | 'size'>>`\n display: block;\n width: 100%;\n border-width: 2px;\n border-style: solid;\n border-color: #5f49f4;\n opacity: 0.4;\n ${props =>\n cssMediaRules(\n [props.shape, props.size] as const,\n ([shape = Shapes.ROUNDED, size = Sizes.MEDIUM]) => css`\n min-height: ${getInputSizeHeight(size)}px;\n max-height: ${getInputSizeHeight(size)}px;\n border-radius: ${getShapeBorderRadius(shape)}px;\n `,\n )}\n`\n\nexport default function PlaceholderTableField(): JSX.Element {\n const { size, shape } = useFormContext()\n\n return (\n <>\n <Label size={size} />\n <Input shape={shape} size={size} />\n </>\n )\n}\n","import { useRef } from 'react'\nimport { Field as FormikField, getIn } from 'formik'\n\nimport SingleLineTextTableField from './components/SingleLineTextTableField'\nimport LongTextTableField from './components/LongTextTableField'\nimport CheckboxTableField from './components/CheckboxTableField'\nimport MultipleSelectTableField from './components/MultipleSelectTableField'\nimport SingleSelectTableField from './components/SingleSelectTableField'\nimport PhoneNumberTableField from './components/PhoneNumberTableField'\nimport EmailTableField from './components/EmailTableField'\nimport URLTableField from './components/URLTableField'\nimport NumberTableField from './components/NumberTableField'\nimport PlaceholderTableField from './components/PlaceholderTableField'\nimport { TableColumn } from '../../../../hooks'\n\nfunction getTypeMismatchErrorMessage(tableColumn: TableColumn | null | undefined, label: string) {\n switch ((tableColumn || {}).__typename) {\n case 'PhoneNumberTableColumn':\n return `${label} field must be a valid phone number.`\n\n case 'EmailTableColumn':\n return `${label} field must be a valid email.`\n\n case 'URLTableColumn':\n return `${label} field must be a valid URL.`\n\n case 'NumberTableColumn':\n return `${label} field must be a valid number.`\n\n case 'SingleLineTextTableColumn':\n case 'LongTextTableColumn':\n case 'CheckboxTableColumn':\n default:\n return `${label} field is invalid.`\n }\n}\n\nfunction getTableColumnField(tableColumn: TableColumn | null | undefined) {\n switch ((tableColumn || {}).__typename) {\n case 'SingleLineTextTableColumn':\n return SingleLineTextTableField\n\n case 'LongTextTableColumn':\n return LongTextTableField\n\n case 'CheckboxTableColumn':\n return CheckboxTableField\n\n case 'MultipleSelectTableColumn':\n return MultipleSelectTableField\n\n case 'SingleSelectTableColumn':\n return SingleSelectTableField\n\n case 'PhoneNumberTableColumn':\n return PhoneNumberTableField\n\n case 'EmailTableColumn':\n return EmailTableField\n\n case 'URLTableColumn':\n return URLTableField\n\n case 'NumberTableColumn':\n return NumberTableField\n\n default:\n return SingleLineTextTableField\n }\n}\n\ntype TableFormField = {\n id: string\n tableColumnId: string\n label?: string\n placeholder?: string\n required?: boolean\n hidden?: boolean\n type?: 'select' | 'radio'\n hideLabel?: boolean\n}\n\ntype Props = {\n tableColumn: TableColumn | null | undefined\n tableFormField: TableFormField\n}\n\nexport default function Field({\n tableColumn,\n tableFormField: {\n id,\n label = '',\n placeholder,\n required = false,\n hidden = false,\n type = 'radio',\n hideLabel = false,\n },\n}: Props): JSX.Element {\n const TableColumnField = getTableColumnField(tableColumn)\n const input = useRef<\n | {\n validity: {\n valueMissing: boolean\n typeMismatch: boolean\n }\n }\n | null\n | undefined\n >(null)\n\n if (!tableColumn) return <PlaceholderTableField />\n\n function validate() {\n let errorMessage\n\n if (input.current) {\n const { validity = {} as ValidityState } = input.current\n\n if (validity.valueMissing) errorMessage = `${label} is required.`\n\n if (validity.typeMismatch) errorMessage = getTypeMismatchErrorMessage(tableColumn, label)\n }\n\n return errorMessage\n }\n\n return (\n <FormikField name={tableColumn.name} validate={validate}>\n {({ field, form }: any) =>\n hidden ? (\n <input {...field} ref={input} type=\"hidden\" />\n ) : (\n <TableColumnField\n {...field}\n type={type}\n form={form}\n tableColumn={tableColumn}\n ref={input}\n id={id}\n error={getIn(form.touched, field.name) && getIn(form.errors, field.name)}\n label={label}\n placeholder={placeholder}\n required={required}\n hideLabel={hideLabel}\n />\n )\n }\n </FormikField>\n )\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+CiAgPGcgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEpIj4KICAgIDxjaXJjbGUgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGN4PSI5IiBjeT0iOSIgcj0iOSIgc3Ryb2tlLW9wYWNpdHk9Ii40Ii8+CiAgICA8cGF0aCBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik05IDE4QTkgOSAwIDAgMCA5IDAiLz4KICA8L2c+Cjwvc3ZnPgo=\"","import styled, { keyframes } from 'styled-components'\n\nimport { ReactComponent as Spinner20 } from '../../../../icons/spinner-20.svg'\n\nconst spin = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`\n\nconst Icon = styled(Spinner20)`\n display: inline-flex;\n animation: ${spin} 1s linear infinite;\n stroke: currentColor;\n`\n\nexport default function Spinner(): JSX.Element {\n return <Icon />\n}\n","import { useState, useEffect, useMemo } from 'react'\nimport { getBox } from '../../box-model'\nimport { TableFormFieldsPropController } from '../../prop-controllers/instances'\nimport { useIsInBuilder } from '../../runtimes/react'\n\nexport function useTableFormFieldRefs(\n propController: TableFormFieldsPropController | null | undefined,\n { fieldsCount }: { fieldsCount: number },\n): {\n container: (arg0: HTMLElement | null | undefined) => void\n items: Array<(arg0: HTMLElement | null | undefined) => void>\n} {\n const [container, setContainer] = useState<HTMLElement | null | undefined>(null)\n const [items, setItems] = useState<Array<HTMLElement | null | undefined>>(\n Array(fieldsCount + 1).fill(null),\n )\n\n const isInBuilder = useIsInBuilder()\n\n useEffect(() => {\n if (!isInBuilder) return\n\n let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n\n return () => {\n cancelAnimationFrame(animationFrameHandle)\n }\n\n function handleAnimationFrameRequest() {\n if (propController == null) return\n\n if (container != null) propController.tableFormLayoutChange({ layout: getBox(container) })\n\n items.map((item, index) => {\n if (item == null) return\n\n propController.tableFormFieldLayoutChange({ index, layout: getBox(item) })\n })\n\n animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n }\n }, [propController, container, items, isInBuilder])\n\n const itemRefs = useMemo(\n () =>\n Array.from({ length: fieldsCount + 1 }).map(\n (_, index) => (item: HTMLElement | null | undefined) => {\n setItems(is => [...is.slice(0, index), item, ...is.slice(index + 1)])\n },\n ),\n [fieldsCount, setItems],\n )\n\n return { container: setContainer, items: itemRefs }\n}\n","import {\n useState,\n useEffect,\n useRef,\n useMemo,\n forwardRef,\n ComponentPropsWithoutRef,\n Ref,\n useImperativeHandle,\n} from 'react'\nimport styled, { css } from 'styled-components'\nimport { Formik, getIn } from 'formik'\nimport { cx } from '@emotion/css'\n\nimport { ReactComponent as Check12 } from '../../icons/check-12.svg'\n\nimport { getSizeHeight as getInputSizeHeight } from './components/Field/components/Input'\n\nimport {\n Size,\n Sizes,\n Provider as FormContextProvider,\n Shape,\n Contrast,\n Alignment,\n Alignments,\n} from './context/FormContext'\nimport Placeholder from './components/Placeholder'\nimport Field from './components/Field'\nimport Spinner from './components/Spinner'\nimport Button from '../Button'\nimport { TableColumn, useTable } from '../../hooks'\nimport { cssGridItem, cssMargin, cssMediaRules } from '../../utils/cssMediaRules'\nimport {\n ElementIDValue,\n GapYValue,\n LinkValue,\n MarginValue,\n ResponsiveIconRadioGroupValue,\n ResponsiveLengthValue,\n ResponsiveSelectValue,\n TableFormFieldsDescriptor,\n TableFormFieldsValue,\n TableValue,\n TextInputValue,\n TextStyleValue,\n} from '../../../prop-controllers/descriptors'\nimport { Link } from '../../shared/Link'\nimport { BoxModelHandle, getBox } from '../../../box-model'\nimport { PropControllersHandle } from '../../../state/modules/prop-controller-handles'\nimport { DescriptorsPropControllers } from '../../../prop-controllers/instances'\nimport { useTableFormFieldRefs } from '../../hooks/useTableFormFieldRefs'\nimport { useMutation, gql } from '../../../api/react'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\n\nconst LOCAL_STORAGE_NAMESPACE = '@@makeswift/components/form'\n\nfunction getSizeFontSize(size: Size): number {\n switch (size) {\n case Sizes.SMALL:\n return 12\n\n case Sizes.MEDIUM:\n return 14\n\n case Sizes.LARGE:\n return 18\n\n default:\n throw new Error(`Invalid form size \"${size}\"`)\n }\n}\n\ntype Props = {\n id?: ElementIDValue\n tableId?: TableValue\n fields?: TableFormFieldsValue\n submitLink?: LinkValue\n gap?: GapYValue\n shape?: ResponsiveIconRadioGroupValue<Shape>\n size?: ResponsiveIconRadioGroupValue<Size>\n contrast?: ResponsiveIconRadioGroupValue<Contrast>\n labelTextStyle?: TextStyleValue\n labelTextColor?: ResponsiveColor | null\n submitTextStyle?: TextStyleValue\n brandColor?: ResponsiveColor | null\n submitTextColor?: ResponsiveColor | null\n submitLabel?: TextInputValue\n submitVariant?: ResponsiveSelectValue<\n 'flat' | 'outline' | 'shadow' | 'clear' | 'blocky' | 'bubbly' | 'skewed'\n >\n submitWidth?: ResponsiveLengthValue\n submitAlignment?: ResponsiveIconRadioGroupValue<Alignment>\n width?: string\n margin?: MarginValue\n}\n\nconst GridForm = styled.form.withConfig({\n shouldForwardProp: prop => !['size', 'width', 'margin'].includes(prop),\n})<{\n size: Props['size']\n margin: Props['margin']\n}>`\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n ${props =>\n cssMediaRules(\n [props.size],\n ([size = Sizes.MEDIUM]) => css`\n font-size: ${getSizeFontSize(size)}px;\n `,\n )}\n ${cssMargin()}\n`\n\nconst GridItem = styled.div.withConfig({\n shouldForwardProp: prop => !['grid', 'index', 'rowGap', 'columnGap'].includes(prop),\n})`\n align-self: flex-end;\n flex-direction: column;\n ${cssGridItem()}\n`\n\nfunction getAlignmentMargin(alignment: Alignment): string {\n switch (alignment) {\n case Alignments.LEFT:\n return '0 auto 0 0'\n case Alignments.RIGHT:\n return '0 0 0 auto'\n default:\n return '0 auto'\n }\n}\n\nconst StyledButton = styled((props: ComponentPropsWithoutRef<typeof Button>) => (\n <Button {...props} as=\"button\" />\n)).withConfig({\n shouldForwardProp: prop => !['alignment'].includes(prop.toString()),\n})<{\n size: Props['size']\n alignment: Props['submitAlignment']\n}>`\n display: flex;\n align-items: center;\n justify-content: center;\n ${props =>\n cssMediaRules(\n [props.size, props.alignment] as const,\n ([size = Sizes.MEDIUM, alignment = Alignments.CENTER]) => css`\n min-height: ${getInputSizeHeight(size)}px;\n max-height: ${getInputSizeHeight(size)}px;\n margin: ${getAlignmentMargin(alignment)};\n padding-top: 0;\n padding-bottom: 0;\n `,\n )}\n`\n\nconst ErrorContainer = styled.div`\n padding: 8px 16px;\n background-color: #f19eb9;\n border-radius: 4px;\n margin-top: 16px;\n`\n\nconst IconContainer = styled.div`\n fill: currentColor;\n`\n\nconst ErrorMessage = styled.p`\n font-size: 12px;\n margin: 8px 0;\n color: rgba(127, 0, 0, 0.95);\n`\n\nfunction getTableColumnDefaultValue(tableColumn: TableColumn) {\n switch (tableColumn.__typename) {\n case 'CheckboxTableColumn':\n return false\n\n case 'MultipleSelectTableColumn':\n return []\n\n case 'SingleLineTextTableColumn':\n case 'LongTextTableColumn':\n case 'SingleSelectTableColumn':\n case 'PhoneNumberTableColumn':\n case 'EmailTableColumn':\n case 'URLTableColumn':\n case 'NumberTableColumn':\n default:\n return ''\n }\n}\n\nconst CREATE_TABLE_RECORD = gql`\n mutation CreateTableRecord($input: CreateTableRecordInput!) {\n createTableRecord(input: $input) {\n tableRecord {\n id\n }\n }\n }\n`\n\ntype Column = { columnId: string; data: Record<string, any> }\ntype Fields = Record<string, string | string[] | boolean>\n\ntype Descriptors = { fields?: TableFormFieldsDescriptor }\n\nconst Form = forwardRef(function Form(\n {\n id,\n tableId,\n fields: fieldsProp,\n submitLabel = 'Submit',\n submitLink,\n shape,\n size,\n contrast,\n brandColor,\n gap,\n width,\n margin,\n submitTextStyle,\n submitVariant,\n submitTextColor,\n submitWidth,\n submitAlignment,\n labelTextStyle,\n labelTextColor,\n }: Props,\n ref: Ref<BoxModelHandle & PropControllersHandle<Descriptors>>,\n) {\n const fields = useMemo(() => fieldsProp?.fields ?? [], [fieldsProp])\n const grid = useMemo(() => fieldsProp?.grid ?? [], [fieldsProp])\n const { data: { table } = {} } = useTable(tableId)\n const [createTableRecord] = useMutation(CREATE_TABLE_RECORD)\n const [refEl, setRefEl] = useState<HTMLElement | null>(null)\n const [propControllers, setPropControllers] =\n useState<DescriptorsPropControllers<Descriptors> | null>(null)\n const [initialValues, setInitialValues] = useState<Fields>(() =>\n fields.reduce((acc, formField) => {\n const tableColumn = table && table.columns.find(field => field.id === formField.tableColumnId)\n const defaultValue = formField ? formField.defaultValue : null\n\n if (tableColumn) {\n acc[tableColumn.name] =\n defaultValue == null ? getTableColumnDefaultValue(tableColumn) : defaultValue\n }\n\n return acc\n }, {} as Fields),\n )\n const controller = propControllers?.fields\n const { container, items } = useTableFormFieldRefs(controller, { fieldsCount: fields.length })\n const [isDone, setIsDone] = useState(false)\n const linkRef = useRef<HTMLAnchorElement>(null)\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n return refEl instanceof Element ? getBox(refEl) : null\n },\n setPropControllers,\n }),\n [refEl, setPropControllers],\n )\n\n useEffect(() => {\n container(refEl)\n }, [container, refEl])\n\n useEffect(() => {\n if (!isDone) return\n\n let timeoutId = setTimeout(() => setIsDone(false), 2500)\n\n return () => clearTimeout(timeoutId)\n }, [isDone])\n\n function getTableColumn({ tableColumnId }: any) {\n return table && table.columns.find(field => tableColumnId === field.id)\n }\n\n async function handleSubmit(values: any, { setSubmitting, resetForm, setStatus }: any) {\n if (table) {\n const columns: Column[] = []\n\n fields.forEach(field => {\n const tableColumn = getTableColumn(field)\n\n if (tableColumn) {\n const data = values[tableColumn.name]\n\n if (data) {\n columns.push({ columnId: field.tableColumnId, data })\n\n if (field.autofill) {\n localStorage.setItem(\n `${LOCAL_STORAGE_NAMESPACE}/${tableColumn.name}`,\n JSON.stringify(data),\n )\n }\n }\n }\n })\n\n try {\n await createTableRecord({\n variables: { input: { data: { tableId: table.id, columns } } },\n })\n setIsDone(true)\n setInitialValues(prev =>\n fields.reduce(\n (acc, field) => {\n const tableColumn = getTableColumn(field)\n\n if (tableColumn) {\n const data = values[tableColumn.name]\n\n if (data && field.autofill) return { ...acc, [tableColumn.name]: data }\n }\n\n return acc\n },\n { ...prev },\n ),\n )\n resetForm()\n\n if (linkRef.current != null) linkRef.current.click()\n } catch (error) {\n setStatus({ error: 'An unexpected error has occurred, please try again later' })\n } finally {\n setSubmitting(false)\n }\n }\n }\n\n useEffect(() => {\n setInitialValues(prev =>\n fields.reduce(\n (acc, formField) => {\n const tableColumn =\n table && table.columns.find(field => field.id === formField.tableColumnId)\n\n if (tableColumn && formField.autofill) {\n const storedValue = localStorage.getItem(\n `${LOCAL_STORAGE_NAMESPACE}/${tableColumn.name}`,\n )\n\n if (storedValue) {\n try {\n acc[tableColumn.name] = JSON.parse(storedValue)\n } catch (e) {\n // Ignore\n }\n }\n }\n\n return acc\n },\n { ...prev },\n ),\n )\n }, [fields, table])\n\n return (\n <FormContextProvider\n value={{ shape, size, contrast, brandColor, labelTextStyle, labelTextColor }}\n >\n {tableId == null ? (\n <Placeholder ref={setRefEl} className={cx(width)} margin={margin} />\n ) : (\n <>\n <Formik\n onSubmit={handleSubmit}\n initialValues={initialValues}\n initialStatus={{ error: null }}\n enableReinitialize\n >\n {formik => {\n const error = formik.status && formik.status.error\n const errors = fields\n .map(field => {\n const tableColumn = getTableColumn(field)\n\n return (\n tableColumn &&\n getIn(formik.touched, tableColumn.name) &&\n getIn(formik.errors, tableColumn.name)\n )\n })\n .filter(message => typeof message === 'string')\n\n return (\n <>\n <GridForm\n ref={setRefEl}\n id={id}\n className={cx(width)}\n margin={margin}\n size={size}\n onSubmit={formik.handleSubmit}\n onReset={formik.handleReset}\n noValidate\n >\n {fields.map((field, index) => {\n const tableColumn = getTableColumn(field)\n\n return (\n <GridItem\n key={field.id}\n ref={items[index]}\n grid={grid}\n index={index}\n rowGap={gap}\n columnGap={gap}\n >\n <Field tableColumn={tableColumn} tableFormField={field} />\n </GridItem>\n )\n })}\n <GridItem\n ref={items[fields.length]}\n grid={grid}\n index={fields.length}\n rowGap={gap}\n columnGap={gap}\n >\n <StyledButton\n type=\"submit\"\n disabled={formik.isSubmitting || isDone}\n shape={shape}\n size={size}\n color={brandColor}\n variant={submitVariant}\n textColor={submitTextColor}\n width={submitWidth}\n alignment={submitAlignment}\n textStyle={submitTextStyle}\n >\n {formik.isSubmitting ? (\n <Spinner />\n ) : isDone ? (\n <IconContainer>\n <Check12 />\n </IconContainer>\n ) : (\n submitLabel\n )}\n </StyledButton>\n {(errors.length > 0 || error) && (\n <ErrorContainer>\n {errors.map(message => (\n <ErrorMessage key={message}>{message}</ErrorMessage>\n ))}\n {error != null && <ErrorMessage>{error}</ErrorMessage>}\n </ErrorContainer>\n )}\n </GridItem>\n </GridForm>\n {submitLink != null && <Link ref={linkRef} hidden link={submitLink} />}\n </>\n )\n }}\n </Formik>\n </>\n )}\n </FormContextProvider>\n )\n})\n\nexport default Form\n"],"names":["useQuery","TABLE_BY_ID","_extends","React","Sizes","Shapes","Contrasts","css","cssMediaRules","getContrastColor","colorToString","size","SMALL","MEDIUM","LARGE","Error","Base","styled","input","withConfig","shouldForwardProp","prop","defaultValidator","includes","toString","cssField","props","getSizeHeight","forwardRef","ref","error","form","restOfProps","shape","contrast","brandColor","useFormContext","Container","div","cssMargin","Label","Input","Button","className","margin","_jsxs","display","flexDirection","marginBottom","_jsx","justifyContent","LIGHT","DARK","label","cssTextStyle","textColor","labelTextStyle","labelTextColor","id","name","hideLabel","_Fragment","textarea","swatch","hue","h","saturation","s","lightness","l","alpha","a","Color","isLight","getSize","FakeCheckbox","getContrastBorderColor","getContrastBackgroundColor","HiddenCheckbox","getCheckmarkColor","style","StyledLabel","getInputSizeHeight","CheckboxContainer","span","value","handleChange","event","setFieldValue","currentTarget","checked","MainLabel","tableColumn","required","onChange","handle","useRef","validity","valueMissing","length","typeMismatch","useImperativeHandle","current","filter","v","options","map","option","FakeRadioButton","HiddenRadioButton","attrs","type","RadioButtonContainer","getSizeHorizontalPadding","Select","select","getLabelSizeHeight","ROUNDED","getShapeBorderRadius","__typename","SingleLineTextTableField","LongTextTableField","CheckboxTableField","MultipleSelectTableField","SingleSelectTableField","PhoneNumberTableField","EmailTableField","URLTableField","NumberTableField","tableFormField","placeholder","hidden","TableColumnField","getTableColumnField","errorMessage","getTypeMismatchErrorMessage","FormikField","field","getIn","touched","errors","spin","keyframes","Icon","Spinner20","useState","useIsInBuilder","useEffect","getBox","useMemo","LOCAL_STORAGE_NAMESPACE","GridForm","getSizeFontSize","GridItem","cssGridItem","alignment","Alignments","LEFT","RIGHT","StyledButton","CENTER","getAlignmentMargin","ErrorContainer","IconContainer","ErrorMessage","p","CREATE_TABLE_RECORD","gql","Form","tableId","fields","fieldsProp","submitLabel","submitLink","gap","width","submitTextStyle","submitVariant","submitTextColor","submitWidth","submitAlignment","grid","data","table","useTable","createTableRecord","useMutation","refEl","setRefEl","propControllers","setPropControllers","initialValues","setInitialValues","reduce","acc","formField","columns","find","tableColumnId","defaultValue","getTableColumnDefaultValue","controller","container","items","useTableFormFieldRefs","fieldsCount","isDone","setIsDone","linkRef","getBoxModel","Element","timeoutId","setTimeout","clearTimeout","values","setSubmitting","resetForm","setStatus","forEach","getTableColumn","push","columnId","autofill","setItem","JSON","stringify","variables","prev","click","storedValue","localStorage","getItem","parse","e","FormContextProvider","cx","Formik","handleSubmit","formik","status","message","handleReset","index","isSubmitting","Check12","Link"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Form.cjs.js","sources":["../src/components/icons/check-12.svg","../src/components/builtin/Form/components/Field/services/cssField.ts","../src/components/builtin/Form/components/Field/components/Input/index.tsx","../src/components/builtin/Form/components/Placeholder/index.tsx","../src/components/builtin/Form/components/Field/components/Label/index.tsx","../src/components/builtin/Form/components/Field/components/SingleLineTextTableField/index.tsx","../src/components/builtin/Form/components/Field/components/TextArea/index.tsx","../src/components/builtin/Form/components/Field/components/LongTextTableField/index.tsx","../src/components/builtin/Form/components/Field/components/Checkbox/index.tsx","../src/components/builtin/Form/components/Field/components/CheckboxTableField/index.tsx","../src/components/builtin/Form/components/Field/components/MultipleSelectTableField/index.tsx","../src/components/builtin/Form/components/Field/components/RadioButton/index.tsx","../src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnRadioButtonGroup/index.tsx","../src/components/builtin/Form/components/Field/components/SingleSelectTableField/components/TableColumnSingleSelect/index.tsx","../src/components/builtin/Form/components/Field/components/SingleSelectTableField/index.tsx","../src/components/builtin/Form/components/Field/components/PhoneNumberTableField/index.tsx","../src/components/builtin/Form/components/Field/components/EmailTableField/index.tsx","../src/components/builtin/Form/components/Field/components/URLTableField/index.tsx","../src/components/builtin/Form/components/Field/components/NumberTableField/index.tsx","../src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.tsx","../src/components/builtin/Form/components/Field/index.tsx","../src/components/icons/spinner-20.svg","../src/components/builtin/Form/components/Spinner/index.tsx","../src/components/hooks/useTableFormFieldRefs.ts","../src/components/builtin/Form/Form.tsx"],"sourcesContent":["export default \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMS43MDcxIDEuNzkyODlDMTIuMDk3NiAyLjE4MzQyIDEyLjA5NzYgMi44MTY1OCAxMS43MDcxIDMuMjA3MTFMNC43MDcxMSAxMC4yMDcxQzQuMzE2NTggMTAuNTk3NiAzLjY4MzQyIDEwLjU5NzYgMy4yOTI4OSAxMC4yMDcxTDAuMjkyODkzIDcuMjA3MTFDLTAuMDk3NjMxMSA2LjgxNjU4IC0wLjA5NzYzMTEgNi4xODM0MiAwLjI5Mjg5MyA1Ljc5Mjg5QzAuNjgzNDE3IDUuNDAyMzcgMS4zMTY1OCA1LjQwMjM3IDEuNzA3MTEgNS43OTI4OUw0IDguMDg1NzlMMTAuMjkyOSAxLjc5Mjg5QzEwLjY4MzQgMS40MDIzNyAxMS4zMTY2IDEuNDAyMzcgMTEuNzA3MSAxLjc5Mjg5WiIvPgo8L3N2Zz4K\"","import { css } from 'styled-components'\n\nimport { cssMediaRules } from '../../../../../utils/cssMediaRules'\nimport { colorToString } from '../../../../../utils/colorToString'\n\nimport {\n Size,\n Shape,\n Contrast,\n Shapes,\n Sizes,\n Contrasts,\n Value,\n} from '../../../context/FormContext'\n\nexport function getSizeHeight(size: Size): number {\n switch (size) {\n case Sizes.SMALL:\n return 30\n\n case Sizes.MEDIUM:\n return 38\n\n case Sizes.LARGE:\n return 48\n\n default:\n throw new Error(`Invalid form size \"${size}\"`)\n }\n}\n\nexport function getSizeHorizontalPadding(size: Size): number {\n switch (size) {\n case Sizes.SMALL:\n return 8\n\n case Sizes.MEDIUM:\n return 12\n\n case Sizes.LARGE:\n return 16\n\n default:\n throw new Error(`Invalid form size \"${size}\"`)\n }\n}\n\nfunction getSizeVerticalPadding(size: Size): number {\n switch (size) {\n case Sizes.SMALL:\n return 3\n\n case Sizes.MEDIUM:\n return 7\n\n case Sizes.LARGE:\n return 11\n\n default:\n throw new Error(`Invalid form size \"${size}\"`)\n }\n}\n\nexport function getShapeBorderRadius(shape: Shape): number {\n switch (shape) {\n case Shapes.SQUARE:\n return 0\n\n case Shapes.ROUNDED:\n return 4\n\n case Shapes.PILL:\n return 500\n\n default:\n throw new Error(`Invalid form shape \"${shape}\"`)\n }\n}\n\nexport function getContrastBorderColor(contrast: Contrast, error?: boolean): string {\n switch (contrast) {\n case Contrasts.LIGHT:\n return error ? 'rgba(255, 0, 0, 0.7)' : 'rgba(0, 0, 0, 0.25)'\n\n case Contrasts.DARK:\n return error ? 'rgba(255, 0, 0, 0.7)' : 'rgba(255, 255, 255, 0.6)'\n\n default:\n throw new Error(`Invalid form contrast \"${contrast}\"`)\n }\n}\n\nexport function getContrastBackgroundColor(contrast: Contrast): string {\n switch (contrast) {\n case Contrasts.LIGHT:\n return 'white'\n\n case Contrasts.DARK:\n return 'rgba(0, 0, 0, 0.7)'\n\n default:\n throw new Error(`Invalid form contrast \"${contrast}\"`)\n }\n}\n\nexport function getContrastColor(contrast: Contrast): string {\n switch (contrast) {\n case Contrasts.LIGHT:\n return 'rgba(0, 0, 0, 0.95)'\n\n case Contrasts.DARK:\n return 'white'\n\n default:\n throw new Error(`Invalid form contrast \"${contrast}\"`)\n }\n}\n\nfunction getContrastPlaceholderColor(contrast: Contrast) {\n switch (contrast) {\n case Contrasts.LIGHT:\n return 'rgba(0, 0, 0, 0.3)'\n\n case Contrasts.DARK:\n return 'rgba(255,255,255,0.3)'\n\n default:\n throw new Error(`Invalid form contrast \"${contrast}\"`)\n }\n}\n\nexport default function cssField() {\n return css<Pick<Value, 'shape' | 'size' | 'contrast' | 'brandColor'> & { error?: boolean }>`\n display: block;\n width: 100%;\n outline: none;\n border-width: 1px;\n border-style: solid;\n transition: border-color 200ms;\n ${props =>\n cssMediaRules(\n [props.shape, props.size, props.contrast, props.brandColor] as const,\n ([\n shape = Shapes.ROUNDED,\n size = Sizes.MEDIUM,\n contrast = Contrasts.LIGHT,\n brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 },\n ]) => css`\n padding: ${getSizeVerticalPadding(size)}px ${getSizeHorizontalPadding(size)}px;\n border-radius: ${getShapeBorderRadius(shape)}px;\n border-color: ${getContrastBorderColor(contrast, props.error)};\n color: ${getContrastColor(contrast)};\n background-color: ${getContrastBackgroundColor(contrast)};\n\n :focus,\n :focus-within {\n border-color: ${colorToString(brandColor)};\n }\n\n ::placeholder {\n color: ${getContrastPlaceholderColor(contrast)};\n }\n `,\n )}\n `\n}\n","import { ComponentPropsWithoutRef, forwardRef } from 'react'\nimport styled, { css } from 'styled-components'\n\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport { Size, useFormContext, Sizes, Value } from '../../../../context/FormContext'\nimport cssField from '../../services/cssField'\n\nexport function getSizeHeight(size: Size): number {\n switch (size) {\n case Sizes.SMALL:\n return 36\n\n case Sizes.MEDIUM:\n return 42\n\n case Sizes.LARGE:\n return 48\n\n default:\n throw new Error(`Invalid form size \"${size}\"`)\n }\n}\n\nconst Base = styled.input.withConfig({\n shouldForwardProp: (prop, defaultValidator) =>\n !['shape', 'size', 'contrast', 'brandColor', 'error'].includes(prop.toString()) &&\n defaultValidator(prop),\n})<Pick<Value, 'shape' | 'size' | 'contrast' | 'brandColor'> & { error?: boolean }>`\n ${cssField()}\n ${props =>\n cssMediaRules(\n [props.size] as const,\n ([size = Sizes.MEDIUM]) => css`\n min-height: ${getSizeHeight(size)}px;\n max-height: ${getSizeHeight(size)}px;\n `,\n )}\n`\n\ntype BaseProps = { error?: boolean; form?: unknown }\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof Base>, keyof BaseProps>\n\nexport default forwardRef<HTMLInputElement, Props>(function Input(\n { error = false, form, ...restOfProps }: Props,\n ref,\n) {\n const { shape, size, contrast, brandColor } = useFormContext()\n\n return (\n <Base\n {...restOfProps}\n ref={ref}\n error={error}\n shape={shape}\n // @ts-expect-error: HTMLInputEleent `size` attribute conflicts with prop\n size={size}\n contrast={contrast}\n brandColor={brandColor}\n />\n )\n})\n","import { forwardRef, Ref } from 'react'\nimport styled from 'styled-components'\n\nimport { MarginValue, WidthValue } from '../../../../../prop-controllers/descriptors'\nimport { cssMargin } from '../../../../utils/cssMediaRules'\n\nconst Container = styled.div.withConfig({\n shouldForwardProp: prop => !['width', 'margin'].includes(prop.toString()),\n})<{\n width?: WidthValue\n margin?: MarginValue\n}>`\n display: flex;\n flex-direction: column;\n ${cssMargin()};\n`\n\nconst Label = styled.div`\n max-width: 120px;\n min-width: 60px;\n height: 8px;\n border-radius: 2px;\n background-color: #a1a8c2;\n opacity: 0.4;\n margin-bottom: 8px;\n`\n\nconst Input = styled.div`\n min-width: 80px;\n height: 32px;\n border-radius: 4px;\n border-width: 2px;\n border-style: solid;\n border-color: #a1a8c2;\n opacity: 0.4;\n`\n\nconst Button = styled.div`\n min-width: 140px;\n height: 32px;\n border-radius: 4px;\n background-color: #a1a8c2;\n opacity: 0.4;\n`\n\ntype Props = {\n className?: string\n margin?: MarginValue\n}\n\nexport default forwardRef(function Placeholder(\n { className, margin }: Props,\n ref: Ref<HTMLDivElement>,\n): JSX.Element {\n return (\n <Container ref={ref} className={className} margin={margin}>\n <div style={{ display: 'flex', flexDirection: 'column', marginBottom: 16 }}>\n <Label />\n <Input />\n </div>\n <div style={{ display: 'flex', flexDirection: 'column', marginBottom: 16 }}>\n <Label />\n <Input />\n </div>\n <div style={{ display: 'flex', flexDirection: 'column', justifyContent: 'flex-end' }}>\n <Button />\n </div>\n </Container>\n )\n})\n","import { ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\nimport { ResponsiveValue } from '../../../../../../../prop-controllers'\nimport { TextStyleValue } from '../../../../../../../prop-controllers/descriptors'\nimport { cssMediaRules, cssTextStyle } from '../../../../../../utils/cssMediaRules'\nimport { colorToString } from '../../../../../../utils/colorToString'\n\nimport { useFormContext, Size, Sizes, Contrast, Contrasts } from '../../../../context/FormContext'\nimport { ColorValue } from '../../../../../../utils/types'\n\nexport function getSizeHeight(size: Size): number {\n switch (size) {\n case Sizes.SMALL:\n return 14\n\n case Sizes.MEDIUM:\n return 18\n\n case Sizes.LARGE:\n return 22\n\n default:\n throw new Error(`Invalid form size \"${size}\"`)\n }\n}\n\nfunction getContrastColor(contrast: Contrast): string {\n switch (contrast) {\n case Contrasts.LIGHT:\n return 'rgba(0, 0, 0, 0.8)'\n\n case Contrasts.DARK:\n return 'rgba(255, 255, 255, 0.95)'\n\n default:\n throw new Error(`Invalid form contrast \"${contrast}\"`)\n }\n}\n\nconst Base = styled.label.withConfig({\n shouldForwardProp: (prop, defaultValidator) =>\n !['contrast', 'size', 'textStyle', 'textColor'].includes(prop.toString()) &&\n defaultValidator(prop),\n})<{\n contrast?: ResponsiveValue<Contrast> | null | undefined\n size?: ResponsiveValue<Size> | null | undefined\n textStyle?: TextStyleValue | null | undefined\n textColor?: ResponsiveValue<ColorValue> | null | undefined\n}>`\n display: block;\n margin: 0 0 0.25em 0;\n ${cssTextStyle()}\n ${props =>\n cssMediaRules(\n [props.size, props.contrast, props.textColor] as const,\n ([size = Sizes.MEDIUM, contrast = Contrasts.LIGHT, textColor]) => css`\n min-height: ${getSizeHeight(size)}px;\n color: ${textColor == null ? getContrastColor(contrast) : colorToString(textColor)};\n `,\n )}\n`\n\ntype Props = ComponentPropsWithoutRef<typeof Base>\n\nexport default function Label(props: Props): JSX.Element {\n const { contrast, size, labelTextStyle, labelTextColor } = useFormContext()\n\n return (\n <Base\n {...props}\n contrast={contrast}\n size={size}\n textStyle={labelTextStyle}\n textColor={labelTextColor}\n />\n )\n}\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport Input from '../Input'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function SingleLineTextTableField(\n { id, label = '', name, error, hideLabel = false, ...restOfProps }: Props,\n ref,\n) {\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <Input\n {...restOfProps}\n aria-label={label}\n ref={ref}\n id={id}\n name={name}\n type=\"text\"\n error={error != null}\n />\n </>\n )\n})\n","import { forwardRef, ComponentPropsWithoutRef } from 'react'\nimport styled from 'styled-components'\n\nimport cssField from '../../services/cssField'\nimport { Value, useFormContext } from '../../../../context/FormContext'\n\nconst Base = styled.textarea.withConfig({\n shouldForwardProp: (prop, defaultValidator) =>\n !['error', 'shape', 'size', 'contrast', 'brandColor'].includes(prop.toString()) &&\n defaultValidator(prop),\n})<Value & { error?: boolean }>`\n resize: vertical;\n ${cssField()}\n`\n\ntype BaseProps = { error?: boolean; form?: unknown }\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof Base>, keyof BaseProps>\n\nexport default forwardRef<HTMLTextAreaElement, Props>(function TextArea(\n { error = false, form, ...restOfProps }: Props,\n ref,\n) {\n const { shape, size, contrast, brandColor } = useFormContext()\n\n return (\n <Base\n {...restOfProps}\n ref={ref}\n rows={4}\n error={error}\n shape={shape}\n size={size}\n contrast={contrast}\n brandColor={brandColor}\n />\n )\n})\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport TextArea from '../TextArea'\n\ntype Props = {\n id: string\n label?: string\n error?: string\n hideLabel?: boolean\n}\n\nexport default forwardRef<HTMLTextAreaElement, Props>(function LongTextTableField(\n { id, label = '', error, hideLabel = false, ...restOfProps }: Props,\n ref,\n) {\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <TextArea {...restOfProps} aria-label={label} ref={ref} id={id} error={error != null} />\n </>\n )\n})\n","import { forwardRef, CSSProperties, ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\nimport Color from 'color'\n\nimport { getSizeHeight as getSize } from '../Label'\nimport {\n useFormContext,\n Value as FormContextValue,\n Sizes,\n Contrasts,\n} from '../../../../context/FormContext'\nimport { getContrastBorderColor, getContrastBackgroundColor } from '../../services/cssField'\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { SwatchValue } from '../../../../../../utils/types'\n\nfunction getCheckmarkColor({\n swatch: { hue: h, saturation: s, lightness: l },\n alpha: a,\n}: {\n swatch: SwatchValue\n alpha: number\n}) {\n return Color({ h, s, l }).alpha(a).isLight() ? 'rgba(0, 0, 0, 0.7)' : 'rgba(255, 255, 255, 0.95)'\n}\n\nconst Container = styled.div.withConfig({\n shouldForwardProp: prop => !['size'].includes(prop),\n})<Pick<FormContextValue, 'size'>>`\n position: relative;\n ${props =>\n cssMediaRules(\n [props.size] as const,\n ([size = Sizes.MEDIUM]) => css`\n height: ${getSize(size)}px;\n width: ${getSize(size)}px;\n `,\n )}\n`\n\nconst FakeCheckbox = styled.div.withConfig({\n shouldForwardProp: prop => !['contrast', 'error'].includes(prop),\n})<Pick<FormContextValue, 'contrast'> & { error?: boolean }>`\n position: absolute;\n width: 100%;\n height: 100%;\n border-style: solid;\n border-radius: 4px;\n pointer-events: none;\n border-width: 1px;\n ${props =>\n cssMediaRules(\n [props.contrast] as const,\n ([contrast = Contrasts.LIGHT]) => css`\n border-color: ${getContrastBorderColor(contrast, props.error)};\n background-color: ${getContrastBackgroundColor(contrast)};\n `,\n )}\n`\n\nconst HiddenCheckbox = styled.input.withConfig({\n shouldForwardProp: (prop, defaultValidator) =>\n !['size', 'brandColor', 'contrast', 'error'].includes(prop) && defaultValidator(prop),\n})<\n Pick<FormContextValue, 'size' | 'brandColor' | 'contrast'> & {\n error?: boolean\n }\n>`\n position: absolute;\n opacity: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n\n &:disabled {\n cursor: no-drop;\n\n & ~ ${FakeCheckbox} {\n opacity: 0.5;\n }\n }\n\n &:checked ~ ${FakeCheckbox} {\n ${props =>\n cssMediaRules(\n [props.brandColor] as const,\n ([{ swatch = { hue: 0, saturation: 0, lightness: 0 }, alpha = 1 } = {}]) => css`\n background-color: ${colorToString({ swatch, alpha })};\n `,\n )}\n border-color: transparent;\n\n &::after {\n content: '';\n position: absolute;\n box-sizing: content-box;\n width: 25%;\n height: 50%;\n ${props =>\n cssMediaRules(\n [props.size] as const,\n ([size = Sizes.MEDIUM]) => css`\n border-width: ${getSize(size) * 0.1}px;\n border-left: 0;\n border-top: 0;\n `,\n )}\n border-style: solid;\n ${props =>\n cssMediaRules(\n [props.brandColor] as const,\n ([{ swatch = { hue: 0, saturation: 0, lightness: 0 }, alpha = 1 } = {}]) => css`\n border-color: ${getCheckmarkColor({ swatch, alpha })};\n `,\n )}\n transform: rotate(45deg) translate3d(91%, -23%, 0);\n }\n }\n\n &:not(:disabled) {\n &:focus ~ ${FakeCheckbox} {\n ${props =>\n cssMediaRules(\n [props.brandColor],\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => css`\n border-color: ${colorToString(brandColor)};\n `,\n )}\n }\n }\n\n &:not(:disabled):checked {\n &:focus ~ ${FakeCheckbox} {\n ${props =>\n cssMediaRules(\n [props.contrast],\n ([contrast = Contrasts.LIGHT]) => css`\n border-color: ${getContrastBorderColor(contrast, props.error)};\n `,\n )}\n }\n }\n`\n\ntype BaseProps = {\n error?: boolean\n className?: string\n style?: CSSProperties\n form?: unknown\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof HiddenCheckbox>, keyof BaseProps>\n\nexport default forwardRef<HTMLInputElement, Props>(function Checkbox(\n { error, className, style, form, ...restOfProps }: Props,\n ref,\n) {\n const { size, contrast, brandColor } = useFormContext()\n\n return (\n <Container size={size}>\n <HiddenCheckbox\n {...restOfProps}\n type=\"checkbox\"\n ref={ref}\n error={error}\n // @ts-expect-error: HTMLInputElement `size` attribute conflicts with prop\n size={size}\n contrast={contrast}\n brandColor={brandColor}\n />\n <FakeCheckbox className={className} error={error} contrast={contrast} style={style} />\n </Container>\n )\n})\n","import { forwardRef, SyntheticEvent } from 'react'\nimport styled, { css } from 'styled-components'\nimport { FormikProps } from 'formik'\n\nimport { useFormContext, Sizes, Value } from '../../../../context/FormContext'\nimport Label from '../Label'\nimport { getSizeHeight as getInputSizeHeight } from '../Input'\nimport Checkbox from '../Checkbox'\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\n\nconst StyledLabel = styled(Label)<Pick<Value, 'size'>>`\n display: flex;\n align-items: center;\n margin: 0;\n ${props =>\n cssMediaRules(\n [props.size] as const,\n ([size = Sizes.MEDIUM]) => css`\n min-height: ${getInputSizeHeight(size)}px;\n max-height: ${getInputSizeHeight(size)}px;\n `,\n )}\n`\n\nconst CheckboxContainer = styled.span`\n margin-right: 8px;\n`\n\ntype Props = {\n form: FormikProps<{\n [key: string]: boolean\n }>\n id: string\n label?: string\n name: string\n value?: boolean\n error?: string\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function CheckboxTableField(\n { form, id, name, label = '', value = false, error, ...restOfProps }: Props,\n ref,\n) {\n const { size } = useFormContext()\n\n function handleChange(event: SyntheticEvent<HTMLInputElement>) {\n form.setFieldValue(name, event.currentTarget.checked)\n }\n\n return (\n <StyledLabel htmlFor={id} size={size}>\n <CheckboxContainer>\n <Checkbox\n {...restOfProps}\n aria-label={label}\n checked={value}\n onChange={handleChange}\n ref={ref}\n id={id}\n error={error != null}\n />\n </CheckboxContainer>\n {label}\n </StyledLabel>\n )\n})\n","import { forwardRef, useRef, useImperativeHandle, SyntheticEvent } from 'react'\nimport styled from 'styled-components'\n\nimport Label from '../Label'\nimport Checkbox from '../Checkbox'\n\nconst MainLabel = styled(Label)`\n margin: 0 0 4px 0;\n`\n\nconst StyledLabel = styled(Label)`\n display: flex;\n align-items: center;\n margin: 8px 0;\n\n &:last-of-type {\n margin-bottom: 0;\n }\n`\n\nconst CheckboxContainer = styled.span`\n margin-right: 8px;\n`\n\ntype Props = {\n id: string\n tableColumn: {\n options: Array<{\n id: string\n name: string\n }>\n }\n value?: Array<string>\n label?: string\n onChange: (arg0: SyntheticEvent<HTMLInputElement>) => unknown\n required?: boolean\n hideLabel?: boolean\n}\n\nexport default forwardRef<\n {\n validity: {\n valueMissing: boolean\n typeMismatch: boolean\n }\n },\n Props\n>(function MultipleSelectTableField(\n {\n tableColumn,\n label = '',\n required,\n value = [],\n onChange,\n hideLabel = false,\n ...restOfProps\n }: Props,\n ref,\n) {\n const handle = useRef({\n validity: { valueMissing: required === true && value.length === 0, typeMismatch: false },\n })\n\n useImperativeHandle(ref, () => handle.current, [])\n\n function handleChange(event: SyntheticEvent<HTMLInputElement>) {\n handle.current.validity.valueMissing =\n required === true &&\n !event.currentTarget.checked &&\n value.filter(v => v !== event.currentTarget.value).length === 0\n\n onChange(event)\n }\n\n return (\n <div>\n {!hideLabel && <MainLabel>{label}</MainLabel>}\n {tableColumn.options.map(option => (\n <StyledLabel key={option.id} htmlFor={option.id}>\n <CheckboxContainer>\n <Checkbox\n {...restOfProps}\n aria-label={label}\n onChange={handleChange}\n checked={value.includes(option.name)}\n id={option.id}\n value={option.name}\n />\n </CheckboxContainer>\n {option.name}\n </StyledLabel>\n ))}\n </div>\n )\n})\n","import { forwardRef, CSSProperties, ComponentPropsWithoutRef } from 'react'\nimport styled, { css } from 'styled-components'\nimport Color from 'color'\n\nimport { getSizeHeight as getSize } from '../Label'\nimport { useFormContext, Sizes, Contrasts, Value } from '../../../../context/FormContext'\nimport { getContrastBorderColor, getContrastBackgroundColor } from '../../services/cssField'\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { ColorValue } from '../../../../../../utils/types'\n\nfunction getCheckmarkColor({\n swatch: { hue: h, saturation: s, lightness: l } = { hue: 0, saturation: 0, lightness: 0 },\n alpha: a,\n}: ColorValue) {\n return Color({ h, s, l }).alpha(a).isLight() ? 'rgba(0, 0, 0, 0.7)' : 'rgba(255, 255, 255, 0.95)'\n}\n\nconst Container = styled.div.withConfig({\n shouldForwardProp: prop => !['size'].includes(prop.toString()),\n})<Pick<Value, 'size'>>`\n position: relative;\n ${props =>\n cssMediaRules(\n [props.size],\n ([size = Sizes.MEDIUM]) => css`\n height: ${getSize(size)}px;\n width: ${getSize(size)}px;\n `,\n )}\n`\n\nconst FakeRadioButton = styled.div.withConfig({\n shouldForwardProp: prop => !['contrast', 'error'].includes(prop.toString()),\n})<Pick<Value, 'contrast'> & { error?: boolean }>`\n position: absolute;\n width: 100%;\n height: 100%;\n border-style: solid;\n border-radius: 50%;\n pointer-events: none;\n border-width: 1px;\n ${props =>\n cssMediaRules(\n [props.contrast],\n ([contrast = Contrasts.LIGHT]) => css`\n border-color: ${getContrastBorderColor(contrast, props.error)};\n background-color: ${getContrastBackgroundColor(contrast)};\n `,\n )}\n`\n\nconst HiddenRadioButton = styled.input\n .withConfig({\n shouldForwardProp: prop => !['brandColor', 'contrast', 'error'].includes(prop.toString()),\n })\n .attrs({ type: 'radio' })<Pick<Value, 'brandColor' | 'contrast'> & { error?: boolean }>`\n position: absolute;\n opacity: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n\n &:disabled {\n cursor: no-drop;\n\n & ~ ${FakeRadioButton} {\n opacity: 0.5;\n }\n }\n\n &:checked ~ ${FakeRadioButton} {\n ${props =>\n cssMediaRules(\n [props.brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => css`\n background-color: ${colorToString(brandColor)};\n `,\n )}\n border-color: transparent;\n\n &::after {\n content: '';\n position: absolute;\n box-sizing: content-box;\n top: 50%;\n left: 50%;\n width: 50%;\n height: 50%;\n border-radius: 50%;\n transform: translate(-50%, -50%);\n ${props =>\n cssMediaRules(\n [props.brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => css`\n background-color: ${getCheckmarkColor(brandColor)};\n `,\n )}\n }\n }\n\n &:not(:disabled) {\n &:focus ~ ${FakeRadioButton} {\n ${props =>\n cssMediaRules(\n [props.brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => css`\n border-color: ${colorToString(brandColor)};\n `,\n )}\n }\n }\n\n &:not(:disabled):checked {\n &:focus ~ ${FakeRadioButton} {\n ${props =>\n cssMediaRules(\n [props.contrast] as const,\n ([contrast = Contrasts.LIGHT]) => css`\n border-color: ${getContrastBorderColor(contrast, props.error)};\n `,\n )}\n }\n }\n`\n\ntype BaseProps = {\n error?: boolean\n className?: string\n style?: CSSProperties\n form?: unknown\n}\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<typeof HiddenRadioButton>, keyof BaseProps>\n\nexport default forwardRef<HTMLInputElement, Props>(function RadioButton(\n { error, className, style, form, ...restOfProps }: Props,\n ref,\n) {\n const { size, contrast, brandColor } = useFormContext()\n\n return (\n <Container size={size}>\n <HiddenRadioButton\n {...restOfProps}\n ref={ref}\n error={error}\n contrast={contrast}\n brandColor={brandColor}\n />\n <FakeRadioButton className={className} error={error} contrast={contrast} style={style} />\n </Container>\n )\n})\n","import { forwardRef, useRef, useImperativeHandle, SyntheticEvent } from 'react'\nimport styled from 'styled-components'\n\nimport Label from '../../../Label'\nimport RadioButton from '../../../RadioButton'\n\nconst StyledLabel = styled(Label)`\n display: flex;\n align-items: center;\n margin: 8px 0;\n\n &:last-of-type {\n margin-bottom: 0;\n }\n`\n\nconst RadioButtonContainer = styled.span`\n margin-right: 8px;\n`\n\ntype Props = {\n id: string\n tableColumn: {\n options: Array<{\n id: string\n name: string\n }>\n }\n label?: string\n value?: string\n hideLabel?: boolean\n onChange: (arg0: SyntheticEvent<HTMLInputElement>) => unknown\n required?: boolean\n}\n\nexport default forwardRef<\n {\n validity: {\n valueMissing: boolean\n typeMismatch: boolean\n }\n },\n Props\n>(function TableColumnRadioButtonGroup(\n {\n tableColumn,\n label = '',\n value = '',\n required = false,\n hideLabel = false,\n onChange,\n ...restOfProps\n }: Props,\n ref,\n) {\n const handle = useRef({\n validity: { valueMissing: required === true && value === '', typeMismatch: false },\n })\n\n useImperativeHandle(ref, () => handle.current, [])\n\n function handleChange(event: SyntheticEvent<HTMLInputElement>) {\n handle.current.validity.valueMissing = required === true && !event.currentTarget.checked\n\n onChange(event)\n }\n\n return (\n <div>\n {!hideLabel && <Label as=\"p\">{label}</Label>}\n {tableColumn.options.map(option => (\n <StyledLabel key={option.id} htmlFor={option.id} aria-label={label}>\n <RadioButtonContainer>\n <RadioButton\n {...restOfProps}\n onChange={handleChange}\n checked={value === option.name}\n id={option.id}\n value={option.name}\n />\n </RadioButtonContainer>\n {option.name}\n </StyledLabel>\n ))}\n </div>\n )\n})\n","import { forwardRef } from 'react'\nimport styled, { css } from 'styled-components'\n\nimport { cssMediaRules } from '../../../../../../../../utils/cssMediaRules'\nimport { useFormContext, Sizes, Contrasts, Value } from '../../../../../../context/FormContext'\nimport cssField, {\n getSizeHeight,\n getSizeHorizontalPadding,\n getContrastColor,\n} from '../../../../services/cssField'\nimport Label from '../../../Label'\n\nconst Container = styled.div.withConfig({\n shouldForwardProp: prop =>\n !['error', 'shape', 'size', 'contrast', 'brandColor'].includes(prop.toString()),\n})<Value & { error?: boolean }>`\n ${cssField()}\n display: flex;\n align-items: center;\n position: relative;\n user-select: none;\n border-color: #f19eb9;\n\n &:focus,\n &:focus-within {\n border-color: #e54e7f;\n }\n\n ${props =>\n cssMediaRules(\n [props.size, props.contrast] as const,\n ([size = Sizes.MEDIUM, contrast = Contrasts.LIGHT]) => css`\n min-height: ${getSizeHeight(size)}px;\n max-height: ${getSizeHeight(size)}px;\n\n &::after {\n content: '';\n position: absolute;\n right: ${getSizeHorizontalPadding(size)}px;\n top: 50%;\n transform: translate3d(0, -25%, 0);\n border: solid 0.35em transparent;\n border-top-color: ${getContrastColor(contrast)};\n }\n `,\n )}\n`\n\nconst Select = styled.select`\n appearance: none;\n position: absolute;\n top: 0;\n left: 0;\n opacity: 0;\n width: 100%;\n height: 100%;\n`\n\ntype Props = {\n id: string\n tableColumn: {\n options: Array<{\n id: string\n name: string\n }>\n }\n value?: string\n label?: string\n required?: boolean\n error?: boolean\n hideLabel?: boolean\n form?: unknown\n}\n\nexport default forwardRef<HTMLSelectElement, Props>(function TableColumnSingleSelect(\n {\n id,\n tableColumn,\n value = '',\n label = '',\n error = false,\n hideLabel = false,\n form,\n ...restOfProps\n }: Props,\n ref,\n) {\n const { shape, size, contrast, brandColor } = useFormContext()\n\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <Container\n error={error}\n shape={shape}\n size={size}\n contrast={contrast}\n brandColor={brandColor}\n >\n <span>{value === '' ? '-' : value}</span>\n <Select {...restOfProps} aria-label={label} ref={ref} id={id} value={value}>\n <option value=\"\">-</option>\n {tableColumn.options.map(option => (\n <option key={option.id} value={option.name}>\n {option.name}\n </option>\n ))}\n </Select>\n </Container>\n </>\n )\n})\n","import { forwardRef, SyntheticEvent } from 'react'\n\nimport TableColumnRadioButtonGroup from './components/TableColumnRadioButtonGroup'\nimport TableColumnSingleSelect from './components/TableColumnSingleSelect'\n\ntype Props = {\n id: string\n name: string\n tableColumn: {\n options: Array<{\n id: string\n name: string\n }>\n }\n label?: string\n value?: string\n onChange: (arg0: SyntheticEvent<HTMLInputElement>) => unknown\n required?: boolean\n type: 'select' | 'radio'\n}\n\nexport default forwardRef<\n {\n readonly validity: {\n readonly valueMissing: boolean\n readonly typeMismatch: boolean\n }\n },\n Props\n>(function SingleSelectTableField({ type, ...restOfProps }: Props, ref) {\n return type === 'select' ? (\n // @ts-expect-error: custom ref doesn't match select element\n <TableColumnSingleSelect {...restOfProps} ref={ref} />\n ) : (\n <TableColumnRadioButtonGroup {...restOfProps} ref={ref} />\n )\n})\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport Input from '../Input'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function PhoneNumberTableField(\n { id, label = '', name, error, hideLabel = false, ...restOfProps }: Props,\n ref,\n) {\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <Input\n {...restOfProps}\n aria-label={label}\n ref={ref}\n id={id}\n name={name}\n type=\"tel\"\n error={error != null}\n />\n </>\n )\n})\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport Input from '../Input'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function EmailTableField(\n { id, label = '', name, error, hideLabel = false, ...restOfProps }: Props,\n ref,\n) {\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <Input\n {...restOfProps}\n aria-label={label}\n ref={ref}\n id={id}\n name={name}\n type=\"email\"\n error={error != null}\n />\n </>\n )\n})\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport Input from '../Input'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function URLTableField(\n { id, label = '', name, error, hideLabel = false, ...restOfProps }: Props,\n ref,\n) {\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <Input\n {...restOfProps}\n aria-label={label}\n ref={ref}\n id={id}\n name={name}\n type=\"url\"\n error={error != null}\n />\n </>\n )\n})\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport Input from '../Input'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function NumberTableField(\n { id, label = '', name, error, hideLabel = false, ...restOfProps }: Props,\n ref,\n) {\n return (\n <>\n {!hideLabel && <Label htmlFor={id}>{label}</Label>}\n <Input\n {...restOfProps}\n aria-label={label}\n ref={ref}\n id={id}\n name={name}\n type=\"number\"\n error={error != null}\n />\n </>\n )\n})\n","import styled, { css } from 'styled-components'\n\nimport { useFormContext, Sizes, Shapes, Value } from '../../../../context/FormContext'\nimport { getSizeHeight as getLabelSizeHeight } from '../Label'\nimport { getSizeHeight as getInputSizeHeight } from '../Input'\nimport { getShapeBorderRadius } from '../../services/cssField'\nimport { cssMediaRules } from '../../../../../../utils/cssMediaRules'\n\nconst Label = styled.div.withConfig({\n shouldForwardProp: prop => !['size'].includes(prop.toString()),\n})<Pick<Value, 'size'>>`\n display: block;\n max-width: 120px;\n min-width: 60px;\n border-radius: 2px;\n background-color: #5f49f4;\n opacity: 0.4;\n ${props =>\n cssMediaRules(\n [props.size] as const,\n ([size = Sizes.MEDIUM]) => css`\n margin: calc(0.25 * ${getLabelSizeHeight(size)}px + 2px) 0;\n min-height: ${0.5 * getLabelSizeHeight(size)}px;\n max-height: ${0.5 * getLabelSizeHeight(size)}px;\n `,\n )}\n`\n\nconst Input = styled.div.withConfig({\n shouldForwardProp: prop => !['shape', 'size'].includes(prop.toString()),\n})<Pick<Value, 'shape' | 'size'>>`\n display: block;\n width: 100%;\n border-width: 2px;\n border-style: solid;\n border-color: #5f49f4;\n opacity: 0.4;\n ${props =>\n cssMediaRules(\n [props.shape, props.size] as const,\n ([shape = Shapes.ROUNDED, size = Sizes.MEDIUM]) => css`\n min-height: ${getInputSizeHeight(size)}px;\n max-height: ${getInputSizeHeight(size)}px;\n border-radius: ${getShapeBorderRadius(shape)}px;\n `,\n )}\n`\n\nexport default function PlaceholderTableField(): JSX.Element {\n const { size, shape } = useFormContext()\n\n return (\n <>\n <Label size={size} />\n <Input shape={shape} size={size} />\n </>\n )\n}\n","import { useRef } from 'react'\nimport { Field as FormikField, getIn } from 'formik'\n\nimport SingleLineTextTableField from './components/SingleLineTextTableField'\nimport LongTextTableField from './components/LongTextTableField'\nimport CheckboxTableField from './components/CheckboxTableField'\nimport MultipleSelectTableField from './components/MultipleSelectTableField'\nimport SingleSelectTableField from './components/SingleSelectTableField'\nimport PhoneNumberTableField from './components/PhoneNumberTableField'\nimport EmailTableField from './components/EmailTableField'\nimport URLTableField from './components/URLTableField'\nimport NumberTableField from './components/NumberTableField'\nimport PlaceholderTableField from './components/PlaceholderTableField'\nimport { TableColumn } from '../../types'\n\nfunction getTypeMismatchErrorMessage(tableColumn: TableColumn | null | undefined, label: string) {\n switch ((tableColumn || {}).__typename) {\n case 'PhoneNumberTableColumn':\n return `${label} field must be a valid phone number.`\n\n case 'EmailTableColumn':\n return `${label} field must be a valid email.`\n\n case 'URLTableColumn':\n return `${label} field must be a valid URL.`\n\n case 'NumberTableColumn':\n return `${label} field must be a valid number.`\n\n case 'SingleLineTextTableColumn':\n case 'LongTextTableColumn':\n case 'CheckboxTableColumn':\n default:\n return `${label} field is invalid.`\n }\n}\n\nfunction getTableColumnField(tableColumn: TableColumn | null | undefined) {\n switch ((tableColumn || {}).__typename) {\n case 'SingleLineTextTableColumn':\n return SingleLineTextTableField\n\n case 'LongTextTableColumn':\n return LongTextTableField\n\n case 'CheckboxTableColumn':\n return CheckboxTableField\n\n case 'MultipleSelectTableColumn':\n return MultipleSelectTableField\n\n case 'SingleSelectTableColumn':\n return SingleSelectTableField\n\n case 'PhoneNumberTableColumn':\n return PhoneNumberTableField\n\n case 'EmailTableColumn':\n return EmailTableField\n\n case 'URLTableColumn':\n return URLTableField\n\n case 'NumberTableColumn':\n return NumberTableField\n\n default:\n return SingleLineTextTableField\n }\n}\n\ntype TableFormField = {\n id: string\n tableColumnId: string\n label?: string\n placeholder?: string\n required?: boolean\n hidden?: boolean\n type?: 'select' | 'radio'\n hideLabel?: boolean\n}\n\ntype Props = {\n tableColumn: TableColumn | null | undefined\n tableFormField: TableFormField\n}\n\nexport default function Field({\n tableColumn,\n tableFormField: {\n id,\n label = '',\n placeholder,\n required = false,\n hidden = false,\n type = 'radio',\n hideLabel = false,\n },\n}: Props): JSX.Element {\n const TableColumnField = getTableColumnField(tableColumn)\n const input = useRef<\n | {\n validity: {\n valueMissing: boolean\n typeMismatch: boolean\n }\n }\n | null\n | undefined\n >(null)\n\n if (!tableColumn) return <PlaceholderTableField />\n\n function validate() {\n let errorMessage\n\n if (input.current) {\n const { validity = {} as ValidityState } = input.current\n\n if (validity.valueMissing) errorMessage = `${label} is required.`\n\n if (validity.typeMismatch) errorMessage = getTypeMismatchErrorMessage(tableColumn, label)\n }\n\n return errorMessage\n }\n\n return (\n <FormikField name={tableColumn.name} validate={validate}>\n {({ field, form }: any) =>\n hidden ? (\n <input {...field} ref={input} type=\"hidden\" />\n ) : (\n <TableColumnField\n {...field}\n type={type}\n form={form}\n tableColumn={tableColumn}\n ref={input}\n id={id}\n error={getIn(form.touched, field.name) && getIn(form.errors, field.name)}\n label={label}\n placeholder={placeholder}\n required={required}\n hideLabel={hideLabel}\n />\n )\n }\n </FormikField>\n )\n}\n","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCI+CiAgPGcgZmlsbD0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxIDEpIj4KICAgIDxjaXJjbGUgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIGN4PSI5IiBjeT0iOSIgcj0iOSIgc3Ryb2tlLW9wYWNpdHk9Ii40Ii8+CiAgICA8cGF0aCBzdHJva2UtbGluZWNhcD0icm91bmQiIGQ9Ik05IDE4QTkgOSAwIDAgMCA5IDAiLz4KICA8L2c+Cjwvc3ZnPgo=\"","import styled, { keyframes } from 'styled-components'\n\nimport { ReactComponent as Spinner20 } from '../../../../icons/spinner-20.svg'\n\nconst spin = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`\n\nconst Icon = styled(Spinner20)`\n display: inline-flex;\n animation: ${spin} 1s linear infinite;\n stroke: currentColor;\n`\n\nexport default function Spinner(): JSX.Element {\n return <Icon />\n}\n","import { useState, useEffect, useMemo } from 'react'\nimport { getBox } from '../../box-model'\nimport { TableFormFieldsPropController } from '../../prop-controllers/instances'\nimport { useIsInBuilder } from '../../runtimes/react'\n\nexport function useTableFormFieldRefs(\n propController: TableFormFieldsPropController | null | undefined,\n { fieldsCount }: { fieldsCount: number },\n): {\n container: (arg0: HTMLElement | null | undefined) => void\n items: Array<(arg0: HTMLElement | null | undefined) => void>\n} {\n const [container, setContainer] = useState<HTMLElement | null | undefined>(null)\n const [items, setItems] = useState<Array<HTMLElement | null | undefined>>(\n Array(fieldsCount + 1).fill(null),\n )\n\n const isInBuilder = useIsInBuilder()\n\n useEffect(() => {\n if (!isInBuilder) return\n\n let animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n\n return () => {\n cancelAnimationFrame(animationFrameHandle)\n }\n\n function handleAnimationFrameRequest() {\n if (propController == null) return\n\n if (container != null) propController.tableFormLayoutChange({ layout: getBox(container) })\n\n items.map((item, index) => {\n if (item == null) return\n\n propController.tableFormFieldLayoutChange({ index, layout: getBox(item) })\n })\n\n animationFrameHandle = requestAnimationFrame(handleAnimationFrameRequest)\n }\n }, [propController, container, items, isInBuilder])\n\n const itemRefs = useMemo(\n () =>\n Array.from({ length: fieldsCount + 1 }).map(\n (_, index) => (item: HTMLElement | null | undefined) => {\n setItems(is => [...is.slice(0, index), item, ...is.slice(index + 1)])\n },\n ),\n [fieldsCount, setItems],\n )\n\n return { container: setContainer, items: itemRefs }\n}\n","import {\n useState,\n useEffect,\n useRef,\n useMemo,\n forwardRef,\n ComponentPropsWithoutRef,\n Ref,\n useImperativeHandle,\n} from 'react'\nimport styled, { css } from 'styled-components'\nimport { Formik, getIn } from 'formik'\nimport { cx } from '@emotion/css'\n\nimport { ReactComponent as Check12 } from '../../icons/check-12.svg'\n\nimport { getSizeHeight as getInputSizeHeight } from './components/Field/components/Input'\n\nimport {\n Size,\n Sizes,\n Provider as FormContextProvider,\n Shape,\n Contrast,\n Alignment,\n Alignments,\n} from './context/FormContext'\nimport Placeholder from './components/Placeholder'\nimport Field from './components/Field'\nimport Spinner from './components/Spinner'\nimport Button from '../Button'\nimport type { TableColumn, Table } from './types'\nimport { cssGridItem, cssMargin, cssMediaRules } from '../../utils/cssMediaRules'\nimport {\n ElementIDValue,\n GapYValue,\n LinkValue,\n MarginValue,\n ResponsiveIconRadioGroupValue,\n ResponsiveLengthValue,\n ResponsiveSelectValue,\n TableFormFieldsDescriptor,\n TableFormFieldsValue,\n TableValue,\n TextInputValue,\n TextStyleValue,\n} from '../../../prop-controllers/descriptors'\nimport { Link } from '../../shared/Link'\nimport { BoxModelHandle, getBox } from '../../../box-model'\nimport { PropControllersHandle } from '../../../state/modules/prop-controller-handles'\nimport { DescriptorsPropControllers } from '../../../prop-controllers/instances'\nimport { useTableFormFieldRefs } from '../../hooks/useTableFormFieldRefs'\nimport { useMutation, gql, useQuery } from '../../../api/react'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { TABLE_BY_ID } from '../../utils/queries'\n\nconst LOCAL_STORAGE_NAMESPACE = '@@makeswift/components/form'\n\nfunction getSizeFontSize(size: Size): number {\n switch (size) {\n case Sizes.SMALL:\n return 12\n\n case Sizes.MEDIUM:\n return 14\n\n case Sizes.LARGE:\n return 18\n\n default:\n throw new Error(`Invalid form size \"${size}\"`)\n }\n}\n\ntype Props = {\n id?: ElementIDValue\n tableId?: TableValue\n fields?: TableFormFieldsValue\n submitLink?: LinkValue\n gap?: GapYValue\n shape?: ResponsiveIconRadioGroupValue<Shape>\n size?: ResponsiveIconRadioGroupValue<Size>\n contrast?: ResponsiveIconRadioGroupValue<Contrast>\n labelTextStyle?: TextStyleValue\n labelTextColor?: ResponsiveColor | null\n submitTextStyle?: TextStyleValue\n brandColor?: ResponsiveColor | null\n submitTextColor?: ResponsiveColor | null\n submitLabel?: TextInputValue\n submitVariant?: ResponsiveSelectValue<\n 'flat' | 'outline' | 'shadow' | 'clear' | 'blocky' | 'bubbly' | 'skewed'\n >\n submitWidth?: ResponsiveLengthValue\n submitAlignment?: ResponsiveIconRadioGroupValue<Alignment>\n width?: string\n margin?: MarginValue\n}\n\nconst GridForm = styled.form.withConfig({\n shouldForwardProp: prop => !['size', 'width', 'margin'].includes(prop),\n})<{\n size: Props['size']\n margin: Props['margin']\n}>`\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n ${props =>\n cssMediaRules(\n [props.size],\n ([size = Sizes.MEDIUM]) => css`\n font-size: ${getSizeFontSize(size)}px;\n `,\n )}\n ${cssMargin()}\n`\n\nconst GridItem = styled.div.withConfig({\n shouldForwardProp: prop => !['grid', 'index', 'rowGap', 'columnGap'].includes(prop),\n})`\n align-self: flex-end;\n flex-direction: column;\n ${cssGridItem()}\n`\n\nfunction getAlignmentMargin(alignment: Alignment): string {\n switch (alignment) {\n case Alignments.LEFT:\n return '0 auto 0 0'\n case Alignments.RIGHT:\n return '0 0 0 auto'\n default:\n return '0 auto'\n }\n}\n\nconst StyledButton = styled((props: ComponentPropsWithoutRef<typeof Button>) => (\n <Button {...props} as=\"button\" />\n)).withConfig({\n shouldForwardProp: prop => !['alignment'].includes(prop.toString()),\n})<{\n size: Props['size']\n alignment: Props['submitAlignment']\n}>`\n display: flex;\n align-items: center;\n justify-content: center;\n ${props =>\n cssMediaRules(\n [props.size, props.alignment] as const,\n ([size = Sizes.MEDIUM, alignment = Alignments.CENTER]) => css`\n min-height: ${getInputSizeHeight(size)}px;\n max-height: ${getInputSizeHeight(size)}px;\n margin: ${getAlignmentMargin(alignment)};\n padding-top: 0;\n padding-bottom: 0;\n `,\n )}\n`\n\nconst ErrorContainer = styled.div`\n padding: 8px 16px;\n background-color: #f19eb9;\n border-radius: 4px;\n margin-top: 16px;\n`\n\nconst IconContainer = styled.div`\n fill: currentColor;\n`\n\nconst ErrorMessage = styled.p`\n font-size: 12px;\n margin: 8px 0;\n color: rgba(127, 0, 0, 0.95);\n`\n\nfunction getTableColumnDefaultValue(tableColumn: TableColumn) {\n switch (tableColumn.__typename) {\n case 'CheckboxTableColumn':\n return false\n\n case 'MultipleSelectTableColumn':\n return []\n\n case 'SingleLineTextTableColumn':\n case 'LongTextTableColumn':\n case 'SingleSelectTableColumn':\n case 'PhoneNumberTableColumn':\n case 'EmailTableColumn':\n case 'URLTableColumn':\n case 'NumberTableColumn':\n default:\n return ''\n }\n}\n\nconst CREATE_TABLE_RECORD = gql`\n mutation CreateTableRecord($input: CreateTableRecordInput!) {\n createTableRecord(input: $input) {\n tableRecord {\n id\n }\n }\n }\n`\n\ntype Column = { columnId: string; data: Record<string, any> }\ntype Fields = Record<string, string | string[] | boolean>\n\ntype Descriptors = { fields?: TableFormFieldsDescriptor }\n\nconst Form = forwardRef(function Form(\n {\n id,\n tableId,\n fields: fieldsProp,\n submitLabel = 'Submit',\n submitLink,\n shape,\n size,\n contrast,\n brandColor,\n gap,\n width,\n margin,\n submitTextStyle,\n submitVariant,\n submitTextColor,\n submitWidth,\n submitAlignment,\n labelTextStyle,\n labelTextColor,\n }: Props,\n ref: Ref<BoxModelHandle & PropControllersHandle<Descriptors>>,\n) {\n const fields = useMemo(() => fieldsProp?.fields ?? [], [fieldsProp])\n const grid = useMemo(() => fieldsProp?.grid ?? [], [fieldsProp])\n const { data: { table } = {} } = useQuery<{ table: Table | null }>(TABLE_BY_ID, {\n skip: tableId == null,\n variables: { id: tableId },\n })\n const [createTableRecord] = useMutation(CREATE_TABLE_RECORD)\n const [refEl, setRefEl] = useState<HTMLElement | null>(null)\n const [propControllers, setPropControllers] =\n useState<DescriptorsPropControllers<Descriptors> | null>(null)\n const [initialValues, setInitialValues] = useState<Fields>(() =>\n fields.reduce((acc, formField) => {\n const tableColumn = table && table.columns.find(field => field.id === formField.tableColumnId)\n const defaultValue = formField ? formField.defaultValue : null\n\n if (tableColumn) {\n acc[tableColumn.name] =\n defaultValue == null ? getTableColumnDefaultValue(tableColumn) : defaultValue\n }\n\n return acc\n }, {} as Fields),\n )\n const controller = propControllers?.fields\n const { container, items } = useTableFormFieldRefs(controller, { fieldsCount: fields.length })\n const [isDone, setIsDone] = useState(false)\n const linkRef = useRef<HTMLAnchorElement>(null)\n\n useImperativeHandle(\n ref,\n () => ({\n getBoxModel() {\n return refEl instanceof Element ? getBox(refEl) : null\n },\n setPropControllers,\n }),\n [refEl, setPropControllers],\n )\n\n useEffect(() => {\n container(refEl)\n }, [container, refEl])\n\n useEffect(() => {\n if (!isDone) return\n\n let timeoutId = setTimeout(() => setIsDone(false), 2500)\n\n return () => clearTimeout(timeoutId)\n }, [isDone])\n\n function getTableColumn({ tableColumnId }: any) {\n return table && table.columns.find(field => tableColumnId === field.id)\n }\n\n async function handleSubmit(values: any, { setSubmitting, resetForm, setStatus }: any) {\n if (table) {\n const columns: Column[] = []\n\n fields.forEach(field => {\n const tableColumn = getTableColumn(field)\n\n if (tableColumn) {\n const data = values[tableColumn.name]\n\n if (data) {\n columns.push({ columnId: field.tableColumnId, data })\n\n if (field.autofill) {\n localStorage.setItem(\n `${LOCAL_STORAGE_NAMESPACE}/${tableColumn.name}`,\n JSON.stringify(data),\n )\n }\n }\n }\n })\n\n try {\n await createTableRecord({\n variables: { input: { data: { tableId: table.id, columns } } },\n })\n setIsDone(true)\n setInitialValues(prev =>\n fields.reduce(\n (acc, field) => {\n const tableColumn = getTableColumn(field)\n\n if (tableColumn) {\n const data = values[tableColumn.name]\n\n if (data && field.autofill) return { ...acc, [tableColumn.name]: data }\n }\n\n return acc\n },\n { ...prev },\n ),\n )\n resetForm()\n\n if (linkRef.current != null) linkRef.current.click()\n } catch (error) {\n setStatus({ error: 'An unexpected error has occurred, please try again later' })\n } finally {\n setSubmitting(false)\n }\n }\n }\n\n useEffect(() => {\n setInitialValues(prev =>\n fields.reduce(\n (acc, formField) => {\n const tableColumn =\n table && table.columns.find(field => field.id === formField.tableColumnId)\n\n if (tableColumn && formField.autofill) {\n const storedValue = localStorage.getItem(\n `${LOCAL_STORAGE_NAMESPACE}/${tableColumn.name}`,\n )\n\n if (storedValue) {\n try {\n acc[tableColumn.name] = JSON.parse(storedValue)\n } catch (e) {\n // Ignore\n }\n }\n }\n\n return acc\n },\n { ...prev },\n ),\n )\n }, [fields, table])\n\n return (\n <FormContextProvider\n value={{ shape, size, contrast, brandColor, labelTextStyle, labelTextColor }}\n >\n {tableId == null ? (\n <Placeholder ref={setRefEl} className={cx(width)} margin={margin} />\n ) : (\n <>\n <Formik\n onSubmit={handleSubmit}\n initialValues={initialValues}\n initialStatus={{ error: null }}\n enableReinitialize\n >\n {formik => {\n const error = formik.status && formik.status.error\n const errors = fields\n .map(field => {\n const tableColumn = getTableColumn(field)\n\n return (\n tableColumn &&\n getIn(formik.touched, tableColumn.name) &&\n getIn(formik.errors, tableColumn.name)\n )\n })\n .filter(message => typeof message === 'string')\n\n return (\n <>\n <GridForm\n ref={setRefEl}\n id={id}\n className={cx(width)}\n margin={margin}\n size={size}\n onSubmit={formik.handleSubmit}\n onReset={formik.handleReset}\n noValidate\n >\n {fields.map((field, index) => {\n const tableColumn = getTableColumn(field)\n\n return (\n <GridItem\n key={field.id}\n ref={items[index]}\n grid={grid}\n index={index}\n rowGap={gap}\n columnGap={gap}\n >\n <Field tableColumn={tableColumn} tableFormField={field} />\n </GridItem>\n )\n })}\n <GridItem\n ref={items[fields.length]}\n grid={grid}\n index={fields.length}\n rowGap={gap}\n columnGap={gap}\n >\n <StyledButton\n type=\"submit\"\n disabled={formik.isSubmitting || isDone}\n shape={shape}\n size={size}\n color={brandColor}\n variant={submitVariant}\n textColor={submitTextColor}\n width={submitWidth}\n alignment={submitAlignment}\n textStyle={submitTextStyle}\n >\n {formik.isSubmitting ? (\n <Spinner />\n ) : isDone ? (\n <IconContainer>\n <Check12 />\n </IconContainer>\n ) : (\n submitLabel\n )}\n </StyledButton>\n {(errors.length > 0 || error) && (\n <ErrorContainer>\n {errors.map(message => (\n <ErrorMessage key={message}>{message}</ErrorMessage>\n ))}\n {error != null && <ErrorMessage>{error}</ErrorMessage>}\n </ErrorContainer>\n )}\n </GridItem>\n </GridForm>\n {submitLink != null && <Link ref={linkRef} hidden link={submitLink} />}\n </>\n )\n }}\n </Formik>\n </>\n )}\n </FormContextProvider>\n )\n})\n\nexport default Form\n"],"names":["_extends","React","Sizes","Shapes","Contrasts","css","cssMediaRules","getContrastColor","colorToString","size","SMALL","MEDIUM","LARGE","Error","Base","styled","input","withConfig","shouldForwardProp","prop","defaultValidator","includes","toString","cssField","props","getSizeHeight","forwardRef","ref","error","form","restOfProps","shape","contrast","brandColor","useFormContext","Container","div","cssMargin","Label","Input","Button","className","margin","_jsxs","display","flexDirection","marginBottom","_jsx","justifyContent","LIGHT","DARK","label","cssTextStyle","textColor","labelTextStyle","labelTextColor","id","name","hideLabel","_Fragment","textarea","swatch","hue","h","saturation","s","lightness","l","alpha","a","Color","isLight","getSize","FakeCheckbox","getContrastBorderColor","getContrastBackgroundColor","HiddenCheckbox","getCheckmarkColor","style","StyledLabel","getInputSizeHeight","CheckboxContainer","span","value","handleChange","event","setFieldValue","currentTarget","checked","MainLabel","tableColumn","required","onChange","handle","useRef","validity","valueMissing","length","typeMismatch","useImperativeHandle","current","filter","v","options","map","option","FakeRadioButton","HiddenRadioButton","attrs","type","RadioButtonContainer","getSizeHorizontalPadding","Select","select","getLabelSizeHeight","ROUNDED","getShapeBorderRadius","__typename","SingleLineTextTableField","LongTextTableField","CheckboxTableField","MultipleSelectTableField","SingleSelectTableField","PhoneNumberTableField","EmailTableField","URLTableField","NumberTableField","tableFormField","placeholder","hidden","TableColumnField","getTableColumnField","errorMessage","getTypeMismatchErrorMessage","FormikField","field","getIn","touched","errors","spin","keyframes","Icon","Spinner20","useState","useIsInBuilder","useEffect","getBox","useMemo","LOCAL_STORAGE_NAMESPACE","GridForm","getSizeFontSize","GridItem","cssGridItem","alignment","Alignments","LEFT","RIGHT","StyledButton","CENTER","getAlignmentMargin","ErrorContainer","IconContainer","ErrorMessage","p","CREATE_TABLE_RECORD","gql","Form","tableId","fields","fieldsProp","submitLabel","submitLink","gap","width","submitTextStyle","submitVariant","submitTextColor","submitWidth","submitAlignment","grid","data","table","useQuery","TABLE_BY_ID","skip","variables","createTableRecord","useMutation","refEl","setRefEl","propControllers","setPropControllers","initialValues","setInitialValues","reduce","acc","formField","columns","find","tableColumnId","defaultValue","getTableColumnDefaultValue","controller","container","items","useTableFormFieldRefs","fieldsCount","isDone","setIsDone","linkRef","getBoxModel","Element","timeoutId","setTimeout","clearTimeout","values","setSubmitting","resetForm","setStatus","forEach","getTableColumn","push","columnId","autofill","setItem","JSON","stringify","prev","click","storedValue","localStorage","getItem","parse","e","FormContextProvider","cx","Formik","handleSubmit","formik","status","message","handleReset","index","isSubmitting","Check12","Link"],"mappings":"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"}
|