@makeswift/runtime 0.11.10 → 0.11.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/LICENSE +21 -0
  2. package/dist/Box.cjs.js.map +1 -1
  3. package/dist/Box.es.js.map +1 -1
  4. package/dist/Button.cjs.js.map +1 -1
  5. package/dist/Button.es.js.map +1 -1
  6. package/dist/Carousel.cjs.js.map +1 -1
  7. package/dist/Carousel.es.js.map +1 -1
  8. package/dist/Countdown.cjs.js.map +1 -1
  9. package/dist/Countdown.es.js.map +1 -1
  10. package/dist/Divider.cjs.js.map +1 -1
  11. package/dist/Divider.es.js.map +1 -1
  12. package/dist/Embed.cjs.js.map +1 -1
  13. package/dist/Embed.es.js.map +1 -1
  14. package/dist/Form.cjs.js +2 -2
  15. package/dist/Form.cjs.js.map +1 -1
  16. package/dist/Form.es.js +2 -2
  17. package/dist/Form.es.js.map +1 -1
  18. package/dist/Image.cjs.js.map +1 -1
  19. package/dist/Image.es.js.map +1 -1
  20. package/dist/LiveProvider.cjs.js.map +1 -1
  21. package/dist/LiveProvider.es.js.map +1 -1
  22. package/dist/Navigation.cjs.js +6 -6
  23. package/dist/Navigation.cjs.js.map +1 -1
  24. package/dist/Navigation.es.js +6 -6
  25. package/dist/Navigation.es.js.map +1 -1
  26. package/dist/PreviewProvider.cjs.js.map +1 -1
  27. package/dist/PreviewProvider.es.js.map +1 -1
  28. package/dist/ReadOnlyText.cjs.js.map +1 -1
  29. package/dist/ReadOnlyText.es.js.map +1 -1
  30. package/dist/ReadOnlyTextV2.cjs.js.map +1 -1
  31. package/dist/ReadOnlyTextV2.es.js.map +1 -1
  32. package/dist/Root.cjs.js.map +1 -1
  33. package/dist/Root.es.js.map +1 -1
  34. package/dist/SocialLinks.cjs.js +25 -25
  35. package/dist/SocialLinks.cjs.js.map +1 -1
  36. package/dist/SocialLinks.es.js +25 -25
  37. package/dist/SocialLinks.es.js.map +1 -1
  38. package/dist/Text.cjs.js.map +1 -1
  39. package/dist/Text.es.js.map +1 -1
  40. package/dist/Video.cjs.js.map +1 -1
  41. package/dist/Video.es.js.map +1 -1
  42. package/dist/index.cjs.js +14 -4
  43. package/dist/index.cjs.js.map +1 -1
  44. package/dist/index.cjs2.js.map +1 -1
  45. package/dist/index.cjs3.js.map +1 -1
  46. package/dist/index.cjs6.js.map +1 -1
  47. package/dist/index.cjs7.js.map +1 -1
  48. package/dist/index.cjs8.js.map +1 -1
  49. package/dist/index.cjs9.js.map +1 -1
  50. package/dist/index.es.js +14 -4
  51. package/dist/index.es.js.map +1 -1
  52. package/dist/index.es2.js.map +1 -1
  53. package/dist/index.es3.js.map +1 -1
  54. package/dist/index.es6.js.map +1 -1
  55. package/dist/index.es7.js.map +1 -1
  56. package/dist/index.es8.js.map +1 -1
  57. package/dist/index.es9.js.map +1 -1
  58. package/dist/react-page.cjs.js +2 -1
  59. package/dist/react-page.cjs.js.map +1 -1
  60. package/dist/react-page.es.js +2 -1
  61. package/dist/react-page.es.js.map +1 -1
  62. package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts +1 -0
  63. package/dist/types/src/components/builtin/Form/components/Field/components/PlaceholderTableField/index.d.ts.map +1 -1
  64. package/dist/types/src/components/builtin/Form/components/Field/index.d.ts +1 -0
  65. package/dist/types/src/components/builtin/Form/components/Field/index.d.ts.map +1 -1
  66. package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts +1 -0
  67. package/dist/types/src/components/builtin/Form/components/Spinner/index.d.ts.map +1 -1
  68. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts +1 -0
  69. package/dist/types/src/components/builtin/Navigation/components/LinksPlaceholder/index.d.ts.map +1 -1
  70. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts +1 -0
  71. package/dist/types/src/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  72. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts +1 -0
  73. package/dist/types/src/components/builtin/SocialLinks/components/SocialLinksPlaceholder/index.d.ts.map +1 -1
  74. package/dist/types/src/components/page/Page.d.ts +1 -0
  75. package/dist/types/src/components/page/Page.d.ts.map +1 -1
  76. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts +1 -0
  77. package/dist/types/src/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
  78. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts +1 -0
  79. package/dist/types/src/components/shared/BackgroundsContainer/components/Backgrounds/index.d.ts.map +1 -1
  80. package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts +1 -1
  81. package/dist/types/src/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  82. package/dist/types/src/next/client.d.ts.map +1 -1
  83. package/dist/types/src/runtimes/react/components/render-hook.d.ts +1 -0
  84. package/dist/types/src/runtimes/react/components/render-hook.d.ts.map +1 -1
  85. package/dist/types/src/runtimes/react/controls/control.d.ts +1 -0
  86. package/dist/types/src/runtimes/react/controls/control.d.ts.map +1 -1
  87. package/dist/types/src/runtimes/react/controls/list.d.ts +1 -0
  88. package/dist/types/src/runtimes/react/controls/list.d.ts.map +1 -1
  89. package/dist/types/src/runtimes/react/controls/shape.d.ts +1 -0
  90. package/dist/types/src/runtimes/react/controls/shape.d.ts.map +1 -1
  91. package/dist/types/src/runtimes/react/controls/style-v2.d.ts +1 -0
  92. package/dist/types/src/runtimes/react/controls/style-v2.d.ts.map +1 -1
  93. package/dist/types/src/runtimes/react/controls.d.ts +1 -0
  94. package/dist/types/src/runtimes/react/controls.d.ts.map +1 -1
  95. package/dist/types/src/runtimes/react/find-dom-node.d.ts.map +1 -1
  96. package/dist/types/src/state/makeswift-api-client.d.ts.map +1 -1
  97. package/package.json +12 -13
@@ -1 +1 @@
1
- {"version":3,"file":"Form.cjs.js","sources":["../src/components/icons/check-12.svg","../src/components/builtin/Form/components/Field/services/responsiveField.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 { colorToString } from '../../../../../utils/colorToString'\n\nimport {\n Size,\n Shape,\n Contrast,\n Shapes,\n Sizes,\n Contrasts,\n Value,\n} from '../../../context/FormContext'\nimport { useResponsiveStyle } from '../../../../../utils/responsive-style'\nimport { CSSObject } from '@emotion/css'\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 responsiveField(\n props: Pick<Value, 'shape' | 'size' | 'contrast' | 'brandColor'> & { error?: boolean },\n): CSSObject {\n return {\n display: 'block',\n width: '100%',\n outline: 'none',\n borderWidth: 1,\n borderStyle: 'solid',\n transition: 'border-color 200ms',\n ...useResponsiveStyle(\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 ]) => ({\n padding: `${getSizeVerticalPadding(size)}px ${getSizeHorizontalPadding(size)}px`,\n borderRadius: getShapeBorderRadius(shape),\n borderColor: getContrastBorderColor(contrast, props.error),\n color: getContrastColor(contrast),\n backgroundColor: getContrastBackgroundColor(contrast),\n\n ':focus, :focus-within': {\n borderColor: colorToString(brandColor),\n },\n\n '::placeholder': {\n color: getContrastPlaceholderColor(contrast),\n },\n }),\n ),\n }\n}\n","import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef, ForwardedRef, forwardRef } from 'react'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\n\nimport { useResponsiveStyle } from '../../../../../../utils/responsive-style'\nimport { Size, useFormContext, Sizes } from '../../../../context/FormContext'\nimport responsiveField from '../../services/responsiveField'\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\ntype BaseProps = { error?: boolean; form?: unknown }\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'input'>, keyof BaseProps>\n\nexport default forwardRef(function Input(\n { error = false, form, className, ...restOfProps }: Props,\n ref: ForwardedRef<HTMLInputElement>,\n) {\n const { shape, size, contrast, brandColor } = useFormContext()\n\n return (\n <input\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle(responsiveField({ shape, size, contrast, brandColor, error })),\n useStyle(\n useResponsiveStyle([size] as const, ([size = Sizes.MEDIUM]) => ({\n minHeight: getSizeHeight(size),\n maxHeight: getSizeHeight(size),\n })),\n ),\n className,\n )}\n />\n )\n})\n","import { cx } from '@emotion/css'\nimport { forwardRef, Ref } from 'react'\n\nimport { useStyle } from '../../../../../runtimes/react/use-style'\n\nfunction Label() {\n return (\n <div\n className={useStyle({\n maxWidth: 120,\n minWidth: 60,\n height: 8,\n borderRadius: 2,\n backgroundColor: '#a1a8c2',\n opacity: 0.4,\n marginBottom: 8,\n })}\n />\n )\n}\n\nfunction Input() {\n return (\n <div\n className={useStyle({\n minWidth: 80,\n height: 32,\n borderRadius: 4,\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: '#a1a8c2',\n opacity: 0.4,\n })}\n />\n )\n}\n\nfunction Button() {\n return (\n <div\n className={useStyle({\n minWidth: 140,\n height: 32,\n borderRadius: 4,\n backgroundColor: '#a1a8c2',\n opacity: 0.4,\n })}\n />\n )\n}\n\ntype Props = {\n className?: string\n width?: string\n margin?: string\n}\n\nexport default forwardRef(function Placeholder(\n { className, width, margin }: Props,\n ref: Ref<HTMLDivElement>,\n): JSX.Element {\n return (\n <div\n ref={ref}\n className={cx(\n useStyle({ display: 'flex', flexDirection: 'column' }),\n width,\n margin,\n className,\n )}\n >\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 </div>\n )\n})\n","import { ComponentPropsWithoutRef, ElementType } from 'react'\nimport { colorToString } from '../../../../../../utils/colorToString'\n\nimport { useFormContext, Size, Sizes, Contrast, Contrasts } from '../../../../context/FormContext'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\nimport {\n useResponsiveStyle,\n useResponsiveTextStyle,\n} from '../../../../../../utils/responsive-style'\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\ntype BaseProps<T extends ElementType> = {\n as?: T\n}\n\ntype Props<T extends ElementType> = BaseProps<T> &\n Omit<ComponentPropsWithoutRef<'label'>, keyof BaseProps<T>>\n\nexport default function Label<T extends ElementType = 'label'>({\n as,\n className,\n ...restOfProps\n}: Props<T>): JSX.Element {\n const Component = as ?? 'label'\n const { contrast, size, labelTextStyle, labelTextColor } = useFormContext()\n\n return (\n <Component\n {...restOfProps}\n className={cx(\n useStyle({ display: 'block', margin: '0 0 0.25em 0' }),\n useStyle(useResponsiveTextStyle(labelTextStyle)),\n useStyle(\n useResponsiveStyle(\n [size, contrast, labelTextColor] as const,\n ([size = Sizes.MEDIUM, contrast = Contrasts.LIGHT, textColor]) => ({\n minHeight: getSizeHeight(size),\n color: textColor == null ? getContrastColor(contrast) : colorToString(textColor),\n }),\n ),\n ),\n className,\n )}\n />\n )\n}\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport Input from '../Input'\nimport { TableColumn } from '../../../../types'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n tableColumn?: TableColumn | null\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function SingleLineTextTableField(\n { id, label = '', name, error, hideLabel = false, tableColumn, ...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 { cx } from '@emotion/css'\nimport { forwardRef, ComponentPropsWithoutRef } from 'react'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\nimport { useFormContext } from '../../../../context/FormContext'\nimport responsiveField from '../../services/responsiveField'\n\ntype BaseProps = { error?: boolean; form?: unknown }\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'textarea'>, 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 <textarea\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({ resize: 'vertical' }),\n useStyle(responsiveField({ error, shape, size, contrast, brandColor })),\n )}\n rows={4}\n />\n )\n})\n","import { forwardRef } from 'react'\nimport { TableColumn } from '../../../../types'\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 tableColumn?: TableColumn | null\n}\n\nexport default forwardRef<HTMLTextAreaElement, Props>(function LongTextTableField(\n { id, label = '', error, hideLabel = false, tableColumn, ...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, ForwardedRef } from 'react'\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/responsiveField'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { SwatchValue } from '../../../../../../utils/types'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\nimport { useResponsiveStyle } from '../../../../../../utils/responsive-style'\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\ntype FakeCheckboxProps = {\n className?: string\n style?: CSSProperties\n contrast?: FormContextValue['contrast']\n error?: boolean\n}\n\nconst FAKE_CHECKBOX_CLASS_NAME = 'fake-checkbox'\n\nfunction FakeCheckbox({ className, style, contrast, error }: FakeCheckboxProps) {\n return (\n <div\n style={style}\n className={cx(\n FAKE_CHECKBOX_CLASS_NAME,\n useStyle({\n position: 'absolute',\n width: '100%',\n height: '100%',\n borderStyle: 'solid',\n borderRadius: 4,\n pointerEvents: 'none',\n borderWidth: 1,\n }),\n useStyle(\n useResponsiveStyle([contrast] as const, ([contrast = Contrasts.LIGHT]) => ({\n borderColor: getContrastBorderColor(contrast, error),\n backgroundColor: getContrastBackgroundColor(contrast),\n })),\n ),\n className,\n )}\n />\n )\n}\n\ntype HiddenCheckboxBaseProps = Partial<\n Pick<FormContextValue, 'size' | 'brandColor' | 'contrast'>\n> & {\n error?: boolean\n}\n\ntype HiddenCheckboxProps = HiddenCheckboxBaseProps &\n Omit<ComponentPropsWithoutRef<'input'>, keyof HiddenCheckboxBaseProps>\n\nconst HiddenCheckbox = forwardRef(function HiddenCheckbox(\n { size, brandColor, contrast, error, className, ...restOfProps }: HiddenCheckboxProps,\n ref: ForwardedRef<HTMLInputElement>,\n) {\n return (\n <input\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n cursor: 'pointer',\n\n '&:disabled': {\n cursor: 'no-drop',\n\n [`& ~ .${FAKE_CHECKBOX_CLASS_NAME}`]: {\n opacity: 0.5,\n },\n },\n\n [`&:checked ~ .${FAKE_CHECKBOX_CLASS_NAME}`]: {\n ...useResponsiveStyle(\n [brandColor] as const,\n ([{ swatch = { hue: 0, saturation: 0, lightness: 0 }, alpha = 1 } = {}]) => ({\n backgroundColor: colorToString({ swatch, alpha }),\n }),\n ),\n borderColor: 'transparent',\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n boxSizing: 'content-box',\n width: '25%',\n height: '50%',\n borderStyle: 'solid',\n ...useResponsiveStyle(\n [size, brandColor] as const,\n ([\n size = Sizes.MEDIUM,\n { swatch = { hue: 0, saturation: 0, lightness: 0 }, alpha = 1 } = {},\n ]) => ({\n borderWidth: getSize(size) * 0.1,\n borderLeft: 0,\n borderTop: 0,\n borderColor: getCheckmarkColor({ swatch, alpha }),\n }),\n ),\n transform: 'rotate(45deg) translate3d(91%, -23%, 0)',\n },\n },\n\n '&:not(:disabled)': {\n [`&:focus ~ .${FAKE_CHECKBOX_CLASS_NAME}`]: useResponsiveStyle(\n [brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n borderColor: colorToString(brandColor),\n }),\n ),\n },\n\n '&:not(:disabled):checked': {\n [`&:focus ~ .${FAKE_CHECKBOX_CLASS_NAME}`]: useResponsiveStyle(\n [contrast] as const,\n ([contrast = Contrasts.LIGHT]) => ({\n borderColor: getContrastBorderColor(contrast, error),\n }),\n ),\n },\n }),\n className,\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 <div\n className={cx(\n useStyle({ position: 'relative' }),\n useStyle(\n useResponsiveStyle([size] as const, ([size = Sizes.MEDIUM]) => ({\n height: getSize(size),\n width: getSize(size),\n })),\n ),\n )}\n >\n <HiddenCheckbox\n {...restOfProps}\n type=\"checkbox\"\n ref={ref}\n error={error}\n size={size}\n contrast={contrast}\n brandColor={brandColor}\n />\n <FakeCheckbox className={className} error={error} contrast={contrast} style={style} />\n </div>\n )\n})\n","import { ForwardedRef, forwardRef, SyntheticEvent } from 'react'\nimport { FormikProps } from 'formik'\n\nimport { useFormContext, Sizes } from '../../../../context/FormContext'\nimport Label from '../Label'\nimport { getSizeHeight as getInputSizeHeight } from '../Input'\nimport Checkbox from '../Checkbox'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\nimport { useResponsiveStyle } from '../../../../../../utils/responsive-style'\nimport { cx } from '@emotion/css'\nimport { TableColumn } from '../../../../types'\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 hideLabel?: boolean\n tableColumn?: TableColumn | null\n}\n\nexport default forwardRef(function CheckboxTableField(\n {\n form,\n id,\n name,\n label = '',\n value = false,\n error,\n hideLabel,\n tableColumn,\n ...restOfProps\n }: Props,\n ref: ForwardedRef<HTMLInputElement>,\n) {\n const { size } = useFormContext()\n\n function handleChange(event: SyntheticEvent<HTMLInputElement>) {\n form.setFieldValue(name, event.currentTarget.checked)\n }\n\n return (\n <Label\n className={cx(\n useStyle({ display: 'flex', alignItems: 'center', margin: 0 }),\n useStyle(\n useResponsiveStyle([size] as const, ([size = Sizes.MEDIUM]) => ({\n minHeight: getInputSizeHeight(size),\n maxHeight: getInputSizeHeight(size),\n })),\n ),\n )}\n htmlFor={id}\n >\n <span className={useStyle({ marginRight: 8 })}>\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 </span>\n {label}\n </Label>\n )\n})\n","import {\n forwardRef,\n useRef,\n useImperativeHandle,\n SyntheticEvent,\n ComponentPropsWithoutRef,\n} from 'react'\n\nimport Label from '../Label'\nimport Checkbox from '../Checkbox'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\n\nfunction MainLabel({ className, ...restOfProps }: ComponentPropsWithoutRef<typeof Label>) {\n return <Label {...restOfProps} className={cx(useStyle({ margin: '0 0 4px 0' }), className)} />\n}\n\nfunction StyledLabel({ className, ...restOfProps }: ComponentPropsWithoutRef<typeof Label>) {\n return (\n <Label\n {...restOfProps}\n className={cx(\n useStyle({\n display: 'flex',\n alignItems: 'center',\n margin: '8px 0',\n '&:last-of-type': { marginBottom: 0 },\n }),\n className,\n )}\n />\n )\n}\n\nfunction CheckboxContainer({ className, ...restOfProps }: ComponentPropsWithoutRef<'span'>) {\n return <span {...restOfProps} className={cx(useStyle({ marginRight: 8 }), className)} />\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, ForwardedRef } from 'react'\nimport Color from 'color'\n\nimport { getSizeHeight as getSize } from '../Label'\nimport { useFormContext, Sizes, Contrasts, Value } from '../../../../context/FormContext'\nimport { getContrastBorderColor, getContrastBackgroundColor } from '../../services/responsiveField'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { ColorValue } from '../../../../../../utils/types'\nimport { cx } from '@emotion/css'\nimport { useResponsiveStyle } from '../../../../../../utils/responsive-style'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\n\nfunction getCheckmarkColor({\n swatch: { hue: h, saturation: s, lightness: l } = { hue: 0, saturation: 0, lightness: 0 },\n alpha: a = 1,\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\ntype ContainerBaseProps = Pick<Value, 'size'>\n\ntype ContainerProps = ContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof ContainerBaseProps>\n\nfunction Container({ size, className, ...restOfProps }: ContainerProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({ position: 'relative' }),\n useStyle(\n useResponsiveStyle([size] as const, ([size = Sizes.MEDIUM]) => ({\n height: getSize(size),\n width: getSize(size),\n })),\n ),\n className,\n )}\n />\n )\n}\n\nconst FAKE_RADIO_BUTTON_CLASS_NAME = 'fake-radio-button'\n\ntype FakeRadioButtonBaseProps = Pick<Value, 'contrast'> & { error?: boolean }\n\ntype FakeRadioButtonProps = FakeRadioButtonBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof FakeRadioButtonBaseProps>\n\nfunction FakeRadioButton({ className, contrast, error, ...restOfProps }: FakeRadioButtonProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n FAKE_RADIO_BUTTON_CLASS_NAME,\n useStyle({\n position: 'absolute',\n width: '100%',\n height: '100%',\n borderStyle: 'solid',\n borderRadius: '50%',\n pointerEvents: 'none',\n borderWidth: 1,\n }),\n useStyle(\n useResponsiveStyle([contrast] as const, ([contrast = Contrasts.LIGHT]) => ({\n borderColor: getContrastBorderColor(contrast, error),\n backgroundColor: getContrastBackgroundColor(contrast),\n })),\n ),\n className,\n )}\n />\n )\n}\n\ntype HiddenRadioButtonBaseProps = Partial<Pick<Value, 'brandColor' | 'contrast'>> & {\n error?: boolean\n}\n\ntype HiddenRadioButtonProps = HiddenRadioButtonBaseProps &\n Omit<ComponentPropsWithoutRef<'input'>, keyof HiddenRadioButtonBaseProps>\n\nconst HiddenRadioButton = forwardRef(function HiddenRadioButton(\n { className, brandColor, contrast, error, ...restOfProps }: HiddenRadioButtonProps,\n ref: ForwardedRef<HTMLInputElement>,\n) {\n return (\n <input\n {...restOfProps}\n type=\"radio\"\n className={cx(\n useStyle({\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n cursor: 'pointer',\n\n '&:disabled': {\n cursor: 'no-drop',\n\n [`& ~ .${FAKE_RADIO_BUTTON_CLASS_NAME}`]: {\n opacity: 0.5,\n },\n },\n\n [`&:checked ~ .${FAKE_RADIO_BUTTON_CLASS_NAME}`]: {\n ...useResponsiveStyle(\n [brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n backgroundColor: colorToString(brandColor),\n }),\n ),\n borderColor: 'transparent',\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n boxSizing: 'content-box',\n top: '50%',\n left: '50%',\n width: '50%',\n height: '50%',\n borderRadius: '50%',\n transform: 'translate(-50%, -50%)',\n ...useResponsiveStyle(\n [brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n backgroundColor: getCheckmarkColor(brandColor),\n }),\n ),\n },\n },\n\n '&:not(:disabled)': {\n [`&:focus ~ .${FAKE_RADIO_BUTTON_CLASS_NAME}`]: useResponsiveStyle(\n [brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n borderColor: colorToString(brandColor),\n }),\n ),\n },\n\n '&:not(:disabled):checked': {\n [`&:focus ~ .${FAKE_RADIO_BUTTON_CLASS_NAME}`]: useResponsiveStyle(\n [contrast] as const,\n ([contrast = Contrasts.LIGHT]) => ({\n borderColor: getContrastBorderColor(contrast, error),\n }),\n ),\n },\n }),\n className,\n )}\n ref={ref}\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 { cx } from '@emotion/css'\nimport {\n forwardRef,\n useRef,\n useImperativeHandle,\n SyntheticEvent,\n ComponentPropsWithoutRef,\n} from 'react'\nimport { useStyle } from '../../../../../../../../../runtimes/react/use-style'\n\nimport Label from '../../../Label'\nimport RadioButton from '../../../RadioButton'\n\nfunction StyledLabel({ className, ...restOfProps }: ComponentPropsWithoutRef<typeof Label>) {\n return (\n <Label\n {...restOfProps}\n className={cx(\n useStyle({\n display: 'flex',\n alignItems: 'center',\n margin: '8px 0',\n\n '&:last-of-type': {\n marginBottom: 0,\n },\n }),\n className,\n )}\n />\n )\n}\n\nfunction RadioButtonContainer({ className, ...restOfProps }: ComponentPropsWithoutRef<'span'>) {\n return <span {...restOfProps} className={cx(useStyle({ marginRight: 8 }), className)} />\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 { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef, ForwardedRef, forwardRef } from 'react'\nimport { useStyle } from '../../../../../../../../../runtimes/react/use-style'\n\nimport { useResponsiveStyle } from '../../../../../../../../utils/responsive-style'\nimport { useFormContext, Sizes, Contrasts, Value } from '../../../../../../context/FormContext'\nimport responsiveField, {\n getSizeHeight,\n getSizeHorizontalPadding,\n getContrastColor,\n} from '../../../../services/responsiveField'\nimport Label from '../../../Label'\n\ntype BaseContainerProps = Value & { error?: boolean }\n\ntype ContainerProps = BaseContainerProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof BaseContainerProps>\n\nfunction Container({\n shape,\n size,\n contrast,\n brandColor,\n error,\n className,\n ...restOfProps\n}: ContainerProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle(responsiveField({ shape, size, contrast, brandColor, error })),\n useStyle({\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n userSelect: 'none',\n borderColor: '#f19eb9',\n\n '&:focus, &:focus-within': {\n borderColor: '#e54e7f',\n },\n\n ...useResponsiveStyle(\n [size, contrast] as const,\n ([size = Sizes.MEDIUM, contrast = Contrasts.LIGHT]) => ({\n minHeight: getSizeHeight(size),\n maxHeight: getSizeHeight(size),\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n right: getSizeHorizontalPadding(size),\n top: '50%',\n transform: 'translate3d(0, -25%, 0)',\n border: 'solid 0.35em transparent',\n borderTopColor: getContrastColor(contrast),\n },\n }),\n ),\n }),\n className,\n )}\n />\n )\n}\n\nconst Select = forwardRef(function Select(\n { className, ...restOfProps }: ComponentPropsWithoutRef<'select'>,\n ref: ForwardedRef<HTMLSelectElement>,\n) {\n return (\n <select\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({\n appearance: 'none',\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n width: '100%',\n height: '100%',\n }),\n className,\n )}\n />\n )\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'\nimport { TableColumn } from '../../../../types'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n tableColumn?: TableColumn | null\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function PhoneNumberTableField(\n { id, label = '', name, error, hideLabel = false, tableColumn, ...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'\nimport { TableColumn } from '../../../../types'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n tableColumn?: TableColumn | null\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function EmailTableField(\n { id, label = '', name, error, hideLabel = false, tableColumn, ...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'\nimport { TableColumn } from '../../../../types'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n tableColumn?: TableColumn | null\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function URLTableField(\n { id, label = '', name, error, hideLabel = false, tableColumn, ...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'\nimport { TableColumn } from '../../../../types'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n tableColumn?: TableColumn | null\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function NumberTableField(\n { id, label = '', name, error, hideLabel = false, tableColumn, ...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 { useFormContext, Sizes, Shapes, Value } from '../../../../context/FormContext'\nimport { getSizeHeight as getLabelSizeHeight } from '../Label'\nimport { getSizeHeight as getInputSizeHeight } from '../Input'\nimport { getShapeBorderRadius } from '../../services/responsiveField'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\nimport { useResponsiveStyle } from '../../../../../../utils/responsive-style'\nimport { cx } from '@emotion/css'\n\nfunction Label({ size }: Pick<Value, 'size'>) {\n return (\n <div\n className={cx(\n useStyle({\n display: 'block',\n maxWidth: 120,\n minWidth: 60,\n borderRadius: 2,\n backgroundColor: '#5f49f4',\n opacity: 0.4,\n }),\n useStyle(\n useResponsiveStyle([size] as const, ([size = Sizes.MEDIUM]) => ({\n margin: `calc(0.25 * ${getLabelSizeHeight(size)}px + 2px) 0`,\n minHeight: 0.5 * getLabelSizeHeight(size),\n maxHeight: 0.5 * getLabelSizeHeight(size),\n })),\n ),\n )}\n />\n )\n}\n\nfunction Input({ shape, size }: Pick<Value, 'shape' | 'size'>) {\n return (\n <div\n className={cx(\n useStyle({\n display: 'block',\n width: '100%',\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: '#5f49f4',\n opacity: 0.4,\n }),\n useStyle(\n useResponsiveStyle(\n [shape, size] as const,\n ([shape = Shapes.ROUNDED, size = Sizes.MEDIUM]) => ({\n minHeight: getInputSizeHeight(size),\n maxHeight: getInputSizeHeight(size),\n borderRadius: getShapeBorderRadius(shape),\n }),\n ),\n ),\n )}\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\n// Escape characters: [ ] '\nfunction escapeCharacters(string: string) {\n return string.replace(/[[\\]']/g, '\\\\$&')\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 // We're using `['${tableColumn.name}']` to avoid default Formik nested object behavior\n // which was causing an issue for table column names containing a dot.\n // https://formik.org/docs/guides/arrays#avoid-nesting\n // We need to escape square brackets [ ] because it's also used by Lodash\n // set array: https://lodash.com/docs/4.17.15#set, which is used by Formik.\n // We need to escape ' because otherwise Formik will wrap the field name inside a ''\n // for example, if we have hello'world, Formik will name the field 'hello'world'\n const formikFieldName = `['${escapeCharacters(tableColumn.name)}']`\n\n return (\n <FormikField name={formikFieldName} 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 { keyframes } from '@emotion/css'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\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\nexport default function Spinner(): JSX.Element {\n return (\n <Spinner20\n className={useStyle({\n display: 'inline-flex',\n animation: `${spin} 1s linear infinite`,\n stroke: 'currentColor',\n })}\n />\n )\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 ForwardedRef,\n} from 'react'\nimport { Formik, getIn } from 'formik'\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 } from './types'\nimport {\n ElementIDValue,\n GapYValue,\n LinkValue,\n ResponsiveIconRadioGroupValue,\n ResponsiveLengthValue,\n ResponsiveSelectValue,\n ResponsiveValue,\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 { useMakeswiftClient } from '../../../api/react'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { cx } from '@emotion/css'\nimport { useResponsiveGridItem, useResponsiveStyle } from '../../utils/responsive-style'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useTable } from '../../../runtimes/react/hooks/makeswift-api'\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?: string\n}\n\ntype GridFormBaseProps = { size?: Props['size'] }\n\ntype GridFormProps = GridFormBaseProps &\n Omit<ComponentPropsWithoutRef<'form'>, keyof GridFormBaseProps>\n\nconst GridForm = forwardRef(function GridFrom(\n { className, size, ...restOfProps }: GridFormProps,\n ref: ForwardedRef<HTMLFormElement>,\n) {\n return (\n <form\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n useResponsiveStyle([size] as const, ([size = Sizes.MEDIUM]) => ({\n fontSize: getSizeFontSize(size),\n })),\n ),\n className,\n )}\n />\n )\n})\n\ntype GridItemBaseProps = {\n grid: ResponsiveValue<{ spans: number[][]; count: number }>\n index: number\n rowGap: Props['gap']\n columnGap: Props['gap']\n}\n\ntype GridItemProps = GridItemBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof GridItemBaseProps>\n\nconst GridItem = forwardRef(function GridItem(\n { className, grid, index, rowGap, columnGap, ...restOfProps }: GridItemProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({ alignSelf: 'flex-end', flexDirection: 'column' }),\n useStyle(useResponsiveGridItem({ grid, index, rowGap, columnGap })),\n className,\n )}\n />\n )\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\ntype StyledButtonBaseProps = { size?: Props['size']; alignment?: Props['submitAlignment'] }\n\ntype StyledButtonProps = StyledButtonBaseProps &\n Omit<ComponentPropsWithoutRef<typeof Button>, keyof StyledButtonBaseProps>\n\nfunction StyledButton({ className, size, alignment, ...restOfProps }: StyledButtonProps) {\n return (\n <Button\n {...restOfProps}\n as=\"button\"\n className={cx(\n useStyle({ display: 'flex', alignItems: 'center', justifyContent: 'center' }),\n useStyle(\n useResponsiveStyle(\n [size, alignment] as const,\n ([size = Sizes.MEDIUM, alignment = Alignments.CENTER]) => ({\n minHeight: getInputSizeHeight(size),\n maxHeight: getInputSizeHeight(size),\n margin: getAlignmentMargin(alignment),\n paddingTop: 0,\n paddingBottom: 0,\n }),\n ),\n ),\n className,\n )}\n />\n )\n}\n\nfunction ErrorContainer({ className, ...restOfProps }: ComponentPropsWithoutRef<'div'>) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({\n padding: '8px 16px',\n backgroundColor: '#f19eb9',\n borderRadius: 4,\n marginTop: 16,\n }),\n className,\n )}\n />\n )\n}\n\nfunction IconContainer({ className, ...restOfProps }: ComponentPropsWithoutRef<'div'>) {\n return <div {...restOfProps} className={cx(useStyle({ fill: 'currentColor' }), className)} />\n}\n\nfunction ErrorMessage({ className, ...restOfProps }: ComponentPropsWithoutRef<'p'>) {\n return (\n <p\n {...restOfProps}\n className={cx(\n useStyle({ fontSize: 12, margin: '8px 0', color: 'rgba(127, 0, 0, 0.95)' }),\n className,\n )}\n />\n )\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\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 table = useTable(tableId ?? null)\n const client = useMakeswiftClient()\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 getDomNode() {\n return refEl instanceof Element ? refEl : null\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 client.createTableRecord(table.id, columns)\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} width={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, 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 // @ts-ignore: `disabled` is in `'button'` but not in `T`.\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","useResponsiveStyle","getContrastColor","colorToString","size","SMALL","MEDIUM","LARGE","Error","forwardRef","ref","error","form","className","restOfProps","shape","contrast","brandColor","useFormContext","cx","useStyle","responsiveField","minHeight","getSizeHeight","maxHeight","maxWidth","minWidth","height","borderRadius","backgroundColor","opacity","marginBottom","borderWidth","borderStyle","borderColor","width","margin","display","flexDirection","_jsxs","_jsx","Label","Input","justifyContent","LIGHT","DARK","as","Component","labelTextStyle","labelTextColor","useResponsiveTextStyle","textColor","color","id","label","name","hideLabel","tableColumn","_Fragment","resize","swatch","hue","h","saturation","s","lightness","l","alpha","a","Color","isLight","FAKE_CHECKBOX_CLASS_NAME","style","position","pointerEvents","getContrastBorderColor","getContrastBackgroundColor","HiddenCheckbox","cursor","content","boxSizing","getSize","borderLeft","borderTop","getCheckmarkColor","transform","value","handleChange","event","setFieldValue","currentTarget","checked","alignItems","getInputSizeHeight","marginRight","required","onChange","handle","useRef","validity","valueMissing","length","typeMismatch","useImperativeHandle","current","filter","v","options","map","option","StyledLabel","includes","FAKE_RADIO_BUTTON_CLASS_NAME","HiddenRadioButton","top","left","Container","userSelect","right","getSizeHorizontalPadding","border","borderTopColor","Select","appearance","type","getLabelSizeHeight","ROUNDED","getShapeBorderRadius","__typename","SingleLineTextTableField","LongTextTableField","CheckboxTableField","MultipleSelectTableField","SingleSelectTableField","PhoneNumberTableField","EmailTableField","URLTableField","NumberTableField","string","replace","tableFormField","placeholder","hidden","TableColumnField","getTableColumnField","input","errorMessage","getTypeMismatchErrorMessage","formikFieldName","escapeCharacters","FormikField","field","getIn","touched","errors","spin","keyframes","Spinner20","animation","stroke","useState","useIsInBuilder","useEffect","getBox","useMemo","LOCAL_STORAGE_NAMESPACE","GridForm","flexWrap","fontSize","getSizeFontSize","GridItem","grid","index","rowGap","columnGap","alignSelf","useResponsiveGridItem","alignment","Alignments","LEFT","RIGHT","Button","CENTER","getAlignmentMargin","paddingTop","paddingBottom","padding","marginTop","fill","Form","tableId","fields","fieldsProp","submitLabel","submitLink","gap","submitTextStyle","submitVariant","submitTextColor","submitWidth","submitAlignment","table","useTable","client","useMakeswiftClient","refEl","setRefEl","propControllers","setPropControllers","initialValues","setInitialValues","reduce","acc","formField","columns","find","tableColumnId","defaultValue","getTableColumnDefaultValue","controller","container","items","useTableFormFieldRefs","fieldsCount","isDone","setIsDone","linkRef","getDomNode","Element","getBoxModel","timeoutId","setTimeout","clearTimeout","values","setSubmitting","resetForm","setStatus","forEach","getTableColumn","data","push","columnId","autofill","setItem","JSON","stringify","createTableRecord","prev","click","storedValue","localStorage","getItem","parse","e","FormContextProvider","Formik","handleSubmit","formik","status","message","handleReset","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/responsiveField.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 { colorToString } from '../../../../../utils/colorToString'\n\nimport {\n Size,\n Shape,\n Contrast,\n Shapes,\n Sizes,\n Contrasts,\n Value,\n} from '../../../context/FormContext'\nimport { useResponsiveStyle } from '../../../../../utils/responsive-style'\nimport { CSSObject } from '@emotion/css'\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 responsiveField(\n props: Pick<Value, 'shape' | 'size' | 'contrast' | 'brandColor'> & { error?: boolean },\n): CSSObject {\n return {\n display: 'block',\n width: '100%',\n outline: 'none',\n borderWidth: 1,\n borderStyle: 'solid',\n transition: 'border-color 200ms',\n ...useResponsiveStyle(\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 ]) => ({\n padding: `${getSizeVerticalPadding(size)}px ${getSizeHorizontalPadding(size)}px`,\n borderRadius: getShapeBorderRadius(shape),\n borderColor: getContrastBorderColor(contrast, props.error),\n color: getContrastColor(contrast),\n backgroundColor: getContrastBackgroundColor(contrast),\n\n ':focus, :focus-within': {\n borderColor: colorToString(brandColor),\n },\n\n '::placeholder': {\n color: getContrastPlaceholderColor(contrast),\n },\n }),\n ),\n }\n}\n","import { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef, ForwardedRef, forwardRef } from 'react'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\n\nimport { useResponsiveStyle } from '../../../../../../utils/responsive-style'\nimport { Size, useFormContext, Sizes } from '../../../../context/FormContext'\nimport responsiveField from '../../services/responsiveField'\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\ntype BaseProps = { error?: boolean; form?: unknown }\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'input'>, keyof BaseProps>\n\nexport default forwardRef(function Input(\n { error = false, form, className, ...restOfProps }: Props,\n ref: ForwardedRef<HTMLInputElement>,\n) {\n const { shape, size, contrast, brandColor } = useFormContext()\n\n return (\n <input\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle(responsiveField({ shape, size, contrast, brandColor, error })),\n useStyle(\n useResponsiveStyle([size] as const, ([size = Sizes.MEDIUM]) => ({\n minHeight: getSizeHeight(size),\n maxHeight: getSizeHeight(size),\n })),\n ),\n className,\n )}\n />\n )\n})\n","import { cx } from '@emotion/css'\nimport { forwardRef, Ref } from 'react'\n\nimport { useStyle } from '../../../../../runtimes/react/use-style'\n\nfunction Label() {\n return (\n <div\n className={useStyle({\n maxWidth: 120,\n minWidth: 60,\n height: 8,\n borderRadius: 2,\n backgroundColor: '#a1a8c2',\n opacity: 0.4,\n marginBottom: 8,\n })}\n />\n )\n}\n\nfunction Input() {\n return (\n <div\n className={useStyle({\n minWidth: 80,\n height: 32,\n borderRadius: 4,\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: '#a1a8c2',\n opacity: 0.4,\n })}\n />\n )\n}\n\nfunction Button() {\n return (\n <div\n className={useStyle({\n minWidth: 140,\n height: 32,\n borderRadius: 4,\n backgroundColor: '#a1a8c2',\n opacity: 0.4,\n })}\n />\n )\n}\n\ntype Props = {\n className?: string\n width?: string\n margin?: string\n}\n\nexport default forwardRef(function Placeholder(\n { className, width, margin }: Props,\n ref: Ref<HTMLDivElement>,\n): JSX.Element {\n return (\n <div\n ref={ref}\n className={cx(\n useStyle({ display: 'flex', flexDirection: 'column' }),\n width,\n margin,\n className,\n )}\n >\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 </div>\n )\n})\n","import { ComponentPropsWithoutRef, ElementType } from 'react'\nimport { colorToString } from '../../../../../../utils/colorToString'\n\nimport { useFormContext, Size, Sizes, Contrast, Contrasts } from '../../../../context/FormContext'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\nimport {\n useResponsiveStyle,\n useResponsiveTextStyle,\n} from '../../../../../../utils/responsive-style'\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\ntype BaseProps<T extends ElementType> = {\n as?: T\n}\n\ntype Props<T extends ElementType> = BaseProps<T> &\n Omit<ComponentPropsWithoutRef<'label'>, keyof BaseProps<T>>\n\nexport default function Label<T extends ElementType = 'label'>({\n as,\n className,\n ...restOfProps\n}: Props<T>): JSX.Element {\n const Component = as ?? 'label'\n const { contrast, size, labelTextStyle, labelTextColor } = useFormContext()\n\n return (\n <Component\n {...restOfProps}\n className={cx(\n useStyle({ display: 'block', margin: '0 0 0.25em 0' }),\n useStyle(useResponsiveTextStyle(labelTextStyle)),\n useStyle(\n useResponsiveStyle(\n [size, contrast, labelTextColor] as const,\n ([size = Sizes.MEDIUM, contrast = Contrasts.LIGHT, textColor]) => ({\n minHeight: getSizeHeight(size),\n color: textColor == null ? getContrastColor(contrast) : colorToString(textColor),\n }),\n ),\n ),\n className,\n )}\n />\n )\n}\n","import { forwardRef } from 'react'\n\nimport Label from '../Label'\nimport Input from '../Input'\nimport { TableColumn } from '../../../../types'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n tableColumn?: TableColumn | null\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function SingleLineTextTableField(\n { id, label = '', name, error, hideLabel = false, tableColumn, ...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 { cx } from '@emotion/css'\nimport { forwardRef, ComponentPropsWithoutRef } from 'react'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\nimport { useFormContext } from '../../../../context/FormContext'\nimport responsiveField from '../../services/responsiveField'\n\ntype BaseProps = { error?: boolean; form?: unknown }\n\ntype Props = BaseProps & Omit<ComponentPropsWithoutRef<'textarea'>, 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 <textarea\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({ resize: 'vertical' }),\n useStyle(responsiveField({ error, shape, size, contrast, brandColor })),\n )}\n rows={4}\n />\n )\n})\n","import { forwardRef } from 'react'\nimport { TableColumn } from '../../../../types'\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 tableColumn?: TableColumn | null\n}\n\nexport default forwardRef<HTMLTextAreaElement, Props>(function LongTextTableField(\n { id, label = '', error, hideLabel = false, tableColumn, ...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, ForwardedRef } from 'react'\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/responsiveField'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { SwatchValue } from '../../../../../../utils/types'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\nimport { useResponsiveStyle } from '../../../../../../utils/responsive-style'\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\ntype FakeCheckboxProps = {\n className?: string\n style?: CSSProperties\n contrast?: FormContextValue['contrast']\n error?: boolean\n}\n\nconst FAKE_CHECKBOX_CLASS_NAME = 'fake-checkbox'\n\nfunction FakeCheckbox({ className, style, contrast, error }: FakeCheckboxProps) {\n return (\n <div\n style={style}\n className={cx(\n FAKE_CHECKBOX_CLASS_NAME,\n useStyle({\n position: 'absolute',\n width: '100%',\n height: '100%',\n borderStyle: 'solid',\n borderRadius: 4,\n pointerEvents: 'none',\n borderWidth: 1,\n }),\n useStyle(\n useResponsiveStyle([contrast] as const, ([contrast = Contrasts.LIGHT]) => ({\n borderColor: getContrastBorderColor(contrast, error),\n backgroundColor: getContrastBackgroundColor(contrast),\n })),\n ),\n className,\n )}\n />\n )\n}\n\ntype HiddenCheckboxBaseProps = Partial<\n Pick<FormContextValue, 'size' | 'brandColor' | 'contrast'>\n> & {\n error?: boolean\n}\n\ntype HiddenCheckboxProps = HiddenCheckboxBaseProps &\n Omit<ComponentPropsWithoutRef<'input'>, keyof HiddenCheckboxBaseProps>\n\nconst HiddenCheckbox = forwardRef(function HiddenCheckbox(\n { size, brandColor, contrast, error, className, ...restOfProps }: HiddenCheckboxProps,\n ref: ForwardedRef<HTMLInputElement>,\n) {\n return (\n <input\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n cursor: 'pointer',\n\n '&:disabled': {\n cursor: 'no-drop',\n\n [`& ~ .${FAKE_CHECKBOX_CLASS_NAME}`]: {\n opacity: 0.5,\n },\n },\n\n [`&:checked ~ .${FAKE_CHECKBOX_CLASS_NAME}`]: {\n ...useResponsiveStyle(\n [brandColor] as const,\n ([{ swatch = { hue: 0, saturation: 0, lightness: 0 }, alpha = 1 } = {}]) => ({\n backgroundColor: colorToString({ swatch, alpha }),\n }),\n ),\n borderColor: 'transparent',\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n boxSizing: 'content-box',\n width: '25%',\n height: '50%',\n borderStyle: 'solid',\n ...useResponsiveStyle(\n [size, brandColor] as const,\n ([\n size = Sizes.MEDIUM,\n { swatch = { hue: 0, saturation: 0, lightness: 0 }, alpha = 1 } = {},\n ]) => ({\n borderWidth: getSize(size) * 0.1,\n borderLeft: 0,\n borderTop: 0,\n borderColor: getCheckmarkColor({ swatch, alpha }),\n }),\n ),\n transform: 'rotate(45deg) translate3d(91%, -23%, 0)',\n },\n },\n\n '&:not(:disabled)': {\n [`&:focus ~ .${FAKE_CHECKBOX_CLASS_NAME}`]: useResponsiveStyle(\n [brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n borderColor: colorToString(brandColor),\n }),\n ),\n },\n\n '&:not(:disabled):checked': {\n [`&:focus ~ .${FAKE_CHECKBOX_CLASS_NAME}`]: useResponsiveStyle(\n [contrast] as const,\n ([contrast = Contrasts.LIGHT]) => ({\n borderColor: getContrastBorderColor(contrast, error),\n }),\n ),\n },\n }),\n className,\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 <div\n className={cx(\n useStyle({ position: 'relative' }),\n useStyle(\n useResponsiveStyle([size] as const, ([size = Sizes.MEDIUM]) => ({\n height: getSize(size),\n width: getSize(size),\n })),\n ),\n )}\n >\n <HiddenCheckbox\n {...restOfProps}\n type=\"checkbox\"\n ref={ref}\n error={error}\n size={size}\n contrast={contrast}\n brandColor={brandColor}\n />\n <FakeCheckbox className={className} error={error} contrast={contrast} style={style} />\n </div>\n )\n})\n","import { ForwardedRef, forwardRef, SyntheticEvent } from 'react'\nimport { FormikProps } from 'formik'\n\nimport { useFormContext, Sizes } from '../../../../context/FormContext'\nimport Label from '../Label'\nimport { getSizeHeight as getInputSizeHeight } from '../Input'\nimport Checkbox from '../Checkbox'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\nimport { useResponsiveStyle } from '../../../../../../utils/responsive-style'\nimport { cx } from '@emotion/css'\nimport { TableColumn } from '../../../../types'\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 hideLabel?: boolean\n tableColumn?: TableColumn | null\n}\n\nexport default forwardRef(function CheckboxTableField(\n {\n form,\n id,\n name,\n label = '',\n value = false,\n error,\n hideLabel,\n tableColumn,\n ...restOfProps\n }: Props,\n ref: ForwardedRef<HTMLInputElement>,\n) {\n const { size } = useFormContext()\n\n function handleChange(event: SyntheticEvent<HTMLInputElement>) {\n form.setFieldValue(name, event.currentTarget.checked)\n }\n\n return (\n <Label\n className={cx(\n useStyle({ display: 'flex', alignItems: 'center', margin: 0 }),\n useStyle(\n useResponsiveStyle([size] as const, ([size = Sizes.MEDIUM]) => ({\n minHeight: getInputSizeHeight(size),\n maxHeight: getInputSizeHeight(size),\n })),\n ),\n )}\n htmlFor={id}\n >\n <span className={useStyle({ marginRight: 8 })}>\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 </span>\n {label}\n </Label>\n )\n})\n","import {\n forwardRef,\n useRef,\n useImperativeHandle,\n SyntheticEvent,\n ComponentPropsWithoutRef,\n} from 'react'\n\nimport Label from '../Label'\nimport Checkbox from '../Checkbox'\nimport { cx } from '@emotion/css'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\n\nfunction MainLabel({ className, ...restOfProps }: ComponentPropsWithoutRef<typeof Label>) {\n return <Label {...restOfProps} className={cx(useStyle({ margin: '0 0 4px 0' }), className)} />\n}\n\nfunction StyledLabel({ className, ...restOfProps }: ComponentPropsWithoutRef<typeof Label>) {\n return (\n <Label\n {...restOfProps}\n className={cx(\n useStyle({\n display: 'flex',\n alignItems: 'center',\n margin: '8px 0',\n '&:last-of-type': { marginBottom: 0 },\n }),\n className,\n )}\n />\n )\n}\n\nfunction CheckboxContainer({ className, ...restOfProps }: ComponentPropsWithoutRef<'span'>) {\n return <span {...restOfProps} className={cx(useStyle({ marginRight: 8 }), className)} />\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, ForwardedRef } from 'react'\nimport Color from 'color'\n\nimport { getSizeHeight as getSize } from '../Label'\nimport { useFormContext, Sizes, Contrasts, Value } from '../../../../context/FormContext'\nimport { getContrastBorderColor, getContrastBackgroundColor } from '../../services/responsiveField'\nimport { colorToString } from '../../../../../../utils/colorToString'\nimport { ColorValue } from '../../../../../../utils/types'\nimport { cx } from '@emotion/css'\nimport { useResponsiveStyle } from '../../../../../../utils/responsive-style'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\n\nfunction getCheckmarkColor({\n swatch: { hue: h, saturation: s, lightness: l } = { hue: 0, saturation: 0, lightness: 0 },\n alpha: a = 1,\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\ntype ContainerBaseProps = Pick<Value, 'size'>\n\ntype ContainerProps = ContainerBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof ContainerBaseProps>\n\nfunction Container({ size, className, ...restOfProps }: ContainerProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({ position: 'relative' }),\n useStyle(\n useResponsiveStyle([size] as const, ([size = Sizes.MEDIUM]) => ({\n height: getSize(size),\n width: getSize(size),\n })),\n ),\n className,\n )}\n />\n )\n}\n\nconst FAKE_RADIO_BUTTON_CLASS_NAME = 'fake-radio-button'\n\ntype FakeRadioButtonBaseProps = Pick<Value, 'contrast'> & { error?: boolean }\n\ntype FakeRadioButtonProps = FakeRadioButtonBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof FakeRadioButtonBaseProps>\n\nfunction FakeRadioButton({ className, contrast, error, ...restOfProps }: FakeRadioButtonProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n FAKE_RADIO_BUTTON_CLASS_NAME,\n useStyle({\n position: 'absolute',\n width: '100%',\n height: '100%',\n borderStyle: 'solid',\n borderRadius: '50%',\n pointerEvents: 'none',\n borderWidth: 1,\n }),\n useStyle(\n useResponsiveStyle([contrast] as const, ([contrast = Contrasts.LIGHT]) => ({\n borderColor: getContrastBorderColor(contrast, error),\n backgroundColor: getContrastBackgroundColor(contrast),\n })),\n ),\n className,\n )}\n />\n )\n}\n\ntype HiddenRadioButtonBaseProps = Partial<Pick<Value, 'brandColor' | 'contrast'>> & {\n error?: boolean\n}\n\ntype HiddenRadioButtonProps = HiddenRadioButtonBaseProps &\n Omit<ComponentPropsWithoutRef<'input'>, keyof HiddenRadioButtonBaseProps>\n\nconst HiddenRadioButton = forwardRef(function HiddenRadioButton(\n { className, brandColor, contrast, error, ...restOfProps }: HiddenRadioButtonProps,\n ref: ForwardedRef<HTMLInputElement>,\n) {\n return (\n <input\n {...restOfProps}\n type=\"radio\"\n className={cx(\n useStyle({\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n cursor: 'pointer',\n\n '&:disabled': {\n cursor: 'no-drop',\n\n [`& ~ .${FAKE_RADIO_BUTTON_CLASS_NAME}`]: {\n opacity: 0.5,\n },\n },\n\n [`&:checked ~ .${FAKE_RADIO_BUTTON_CLASS_NAME}`]: {\n ...useResponsiveStyle(\n [brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n backgroundColor: colorToString(brandColor),\n }),\n ),\n borderColor: 'transparent',\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n boxSizing: 'content-box',\n top: '50%',\n left: '50%',\n width: '50%',\n height: '50%',\n borderRadius: '50%',\n transform: 'translate(-50%, -50%)',\n ...useResponsiveStyle(\n [brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n backgroundColor: getCheckmarkColor(brandColor),\n }),\n ),\n },\n },\n\n '&:not(:disabled)': {\n [`&:focus ~ .${FAKE_RADIO_BUTTON_CLASS_NAME}`]: useResponsiveStyle(\n [brandColor] as const,\n ([brandColor = { swatch: { hue: 0, saturation: 0, lightness: 0 }, alpha: 1 }]) => ({\n borderColor: colorToString(brandColor),\n }),\n ),\n },\n\n '&:not(:disabled):checked': {\n [`&:focus ~ .${FAKE_RADIO_BUTTON_CLASS_NAME}`]: useResponsiveStyle(\n [contrast] as const,\n ([contrast = Contrasts.LIGHT]) => ({\n borderColor: getContrastBorderColor(contrast, error),\n }),\n ),\n },\n }),\n className,\n )}\n ref={ref}\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 { cx } from '@emotion/css'\nimport {\n forwardRef,\n useRef,\n useImperativeHandle,\n SyntheticEvent,\n ComponentPropsWithoutRef,\n} from 'react'\nimport { useStyle } from '../../../../../../../../../runtimes/react/use-style'\n\nimport Label from '../../../Label'\nimport RadioButton from '../../../RadioButton'\n\nfunction StyledLabel({ className, ...restOfProps }: ComponentPropsWithoutRef<typeof Label>) {\n return (\n <Label\n {...restOfProps}\n className={cx(\n useStyle({\n display: 'flex',\n alignItems: 'center',\n margin: '8px 0',\n\n '&:last-of-type': {\n marginBottom: 0,\n },\n }),\n className,\n )}\n />\n )\n}\n\nfunction RadioButtonContainer({ className, ...restOfProps }: ComponentPropsWithoutRef<'span'>) {\n return <span {...restOfProps} className={cx(useStyle({ marginRight: 8 }), className)} />\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 { cx } from '@emotion/css'\nimport { ComponentPropsWithoutRef, ForwardedRef, forwardRef } from 'react'\nimport { useStyle } from '../../../../../../../../../runtimes/react/use-style'\n\nimport { useResponsiveStyle } from '../../../../../../../../utils/responsive-style'\nimport { useFormContext, Sizes, Contrasts, Value } from '../../../../../../context/FormContext'\nimport responsiveField, {\n getSizeHeight,\n getSizeHorizontalPadding,\n getContrastColor,\n} from '../../../../services/responsiveField'\nimport Label from '../../../Label'\n\ntype BaseContainerProps = Value & { error?: boolean }\n\ntype ContainerProps = BaseContainerProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof BaseContainerProps>\n\nfunction Container({\n shape,\n size,\n contrast,\n brandColor,\n error,\n className,\n ...restOfProps\n}: ContainerProps) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle(responsiveField({ shape, size, contrast, brandColor, error })),\n useStyle({\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n userSelect: 'none',\n borderColor: '#f19eb9',\n\n '&:focus, &:focus-within': {\n borderColor: '#e54e7f',\n },\n\n ...useResponsiveStyle(\n [size, contrast] as const,\n ([size = Sizes.MEDIUM, contrast = Contrasts.LIGHT]) => ({\n minHeight: getSizeHeight(size),\n maxHeight: getSizeHeight(size),\n\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n right: getSizeHorizontalPadding(size),\n top: '50%',\n transform: 'translate3d(0, -25%, 0)',\n border: 'solid 0.35em transparent',\n borderTopColor: getContrastColor(contrast),\n },\n }),\n ),\n }),\n className,\n )}\n />\n )\n}\n\nconst Select = forwardRef(function Select(\n { className, ...restOfProps }: ComponentPropsWithoutRef<'select'>,\n ref: ForwardedRef<HTMLSelectElement>,\n) {\n return (\n <select\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({\n appearance: 'none',\n position: 'absolute',\n top: 0,\n left: 0,\n opacity: 0,\n width: '100%',\n height: '100%',\n }),\n className,\n )}\n />\n )\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'\nimport { TableColumn } from '../../../../types'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n tableColumn?: TableColumn | null\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function PhoneNumberTableField(\n { id, label = '', name, error, hideLabel = false, tableColumn, ...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'\nimport { TableColumn } from '../../../../types'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n tableColumn?: TableColumn | null\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function EmailTableField(\n { id, label = '', name, error, hideLabel = false, tableColumn, ...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'\nimport { TableColumn } from '../../../../types'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n tableColumn?: TableColumn | null\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function URLTableField(\n { id, label = '', name, error, hideLabel = false, tableColumn, ...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'\nimport { TableColumn } from '../../../../types'\n\ntype Props = {\n id: string\n label?: string\n name: string\n error?: string\n hideLabel?: boolean\n tableColumn?: TableColumn | null\n}\n\nexport default forwardRef<HTMLInputElement, Props>(function NumberTableField(\n { id, label = '', name, error, hideLabel = false, tableColumn, ...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 { useFormContext, Sizes, Shapes, Value } from '../../../../context/FormContext'\nimport { getSizeHeight as getLabelSizeHeight } from '../Label'\nimport { getSizeHeight as getInputSizeHeight } from '../Input'\nimport { getShapeBorderRadius } from '../../services/responsiveField'\nimport { useStyle } from '../../../../../../../runtimes/react/use-style'\nimport { useResponsiveStyle } from '../../../../../../utils/responsive-style'\nimport { cx } from '@emotion/css'\n\nfunction Label({ size }: Pick<Value, 'size'>) {\n return (\n <div\n className={cx(\n useStyle({\n display: 'block',\n maxWidth: 120,\n minWidth: 60,\n borderRadius: 2,\n backgroundColor: '#5f49f4',\n opacity: 0.4,\n }),\n useStyle(\n useResponsiveStyle([size] as const, ([size = Sizes.MEDIUM]) => ({\n margin: `calc(0.25 * ${getLabelSizeHeight(size)}px + 2px) 0`,\n minHeight: 0.5 * getLabelSizeHeight(size),\n maxHeight: 0.5 * getLabelSizeHeight(size),\n })),\n ),\n )}\n />\n )\n}\n\nfunction Input({ shape, size }: Pick<Value, 'shape' | 'size'>) {\n return (\n <div\n className={cx(\n useStyle({\n display: 'block',\n width: '100%',\n borderWidth: 2,\n borderStyle: 'solid',\n borderColor: '#5f49f4',\n opacity: 0.4,\n }),\n useStyle(\n useResponsiveStyle(\n [shape, size] as const,\n ([shape = Shapes.ROUNDED, size = Sizes.MEDIUM]) => ({\n minHeight: getInputSizeHeight(size),\n maxHeight: getInputSizeHeight(size),\n borderRadius: getShapeBorderRadius(shape),\n }),\n ),\n ),\n )}\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\n// Escape characters: [ ] '\nfunction escapeCharacters(string: string) {\n return string.replace(/[[\\]']/g, '\\\\$&')\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 // We're using `['${tableColumn.name}']` to avoid default Formik nested object behavior\n // which was causing an issue for table column names containing a dot.\n // https://formik.org/docs/guides/arrays#avoid-nesting\n // We need to escape square brackets [ ] because it's also used by Lodash\n // set array: https://lodash.com/docs/4.17.15#set, which is used by Formik.\n // We need to escape ' because otherwise Formik will wrap the field name inside a ''\n // for example, if we have hello'world, Formik will name the field 'hello'world'\n const formikFieldName = `['${escapeCharacters(tableColumn.name)}']`\n\n return (\n <FormikField name={formikFieldName} 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 { keyframes } from '@emotion/css'\nimport { useStyle } from '../../../../../runtimes/react/use-style'\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\nexport default function Spinner(): JSX.Element {\n return (\n <Spinner20\n className={useStyle({\n display: 'inline-flex',\n animation: `${spin} 1s linear infinite`,\n stroke: 'currentColor',\n })}\n />\n )\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 ForwardedRef,\n} from 'react'\nimport { Formik, getIn } from 'formik'\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 } from './types'\nimport {\n ElementIDValue,\n GapYValue,\n LinkValue,\n ResponsiveIconRadioGroupValue,\n ResponsiveLengthValue,\n ResponsiveSelectValue,\n ResponsiveValue,\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 { useMakeswiftClient } from '../../../api/react'\nimport { ResponsiveColor } from '../../../runtimes/react/controls'\nimport { cx } from '@emotion/css'\nimport { useResponsiveGridItem, useResponsiveStyle } from '../../utils/responsive-style'\nimport { useStyle } from '../../../runtimes/react/use-style'\nimport { useTable } from '../../../runtimes/react/hooks/makeswift-api'\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?: string\n}\n\ntype GridFormBaseProps = { size?: Props['size'] }\n\ntype GridFormProps = GridFormBaseProps &\n Omit<ComponentPropsWithoutRef<'form'>, keyof GridFormBaseProps>\n\nconst GridForm = forwardRef(function GridFrom(\n { className, size, ...restOfProps }: GridFormProps,\n ref: ForwardedRef<HTMLFormElement>,\n) {\n return (\n <form\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({ display: 'flex', flexWrap: 'wrap', width: '100%' }),\n useStyle(\n useResponsiveStyle([size] as const, ([size = Sizes.MEDIUM]) => ({\n fontSize: getSizeFontSize(size),\n })),\n ),\n className,\n )}\n />\n )\n})\n\ntype GridItemBaseProps = {\n grid: ResponsiveValue<{ spans: number[][]; count: number }>\n index: number\n rowGap: Props['gap']\n columnGap: Props['gap']\n}\n\ntype GridItemProps = GridItemBaseProps &\n Omit<ComponentPropsWithoutRef<'div'>, keyof GridItemBaseProps>\n\nconst GridItem = forwardRef(function GridItem(\n { className, grid, index, rowGap, columnGap, ...restOfProps }: GridItemProps,\n ref: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <div\n {...restOfProps}\n ref={ref}\n className={cx(\n useStyle({ alignSelf: 'flex-end', flexDirection: 'column' }),\n useStyle(useResponsiveGridItem({ grid, index, rowGap, columnGap })),\n className,\n )}\n />\n )\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\ntype StyledButtonBaseProps = { size?: Props['size']; alignment?: Props['submitAlignment'] }\n\ntype StyledButtonProps = StyledButtonBaseProps &\n Omit<ComponentPropsWithoutRef<typeof Button>, keyof StyledButtonBaseProps>\n\nfunction StyledButton({ className, size, alignment, ...restOfProps }: StyledButtonProps) {\n return (\n <Button\n {...restOfProps}\n as=\"button\"\n className={cx(\n useStyle({ display: 'flex', alignItems: 'center', justifyContent: 'center' }),\n useStyle(\n useResponsiveStyle(\n [size, alignment] as const,\n ([size = Sizes.MEDIUM, alignment = Alignments.CENTER]) => ({\n minHeight: getInputSizeHeight(size),\n maxHeight: getInputSizeHeight(size),\n margin: getAlignmentMargin(alignment),\n paddingTop: 0,\n paddingBottom: 0,\n }),\n ),\n ),\n className,\n )}\n />\n )\n}\n\nfunction ErrorContainer({ className, ...restOfProps }: ComponentPropsWithoutRef<'div'>) {\n return (\n <div\n {...restOfProps}\n className={cx(\n useStyle({\n padding: '8px 16px',\n backgroundColor: '#f19eb9',\n borderRadius: 4,\n marginTop: 16,\n }),\n className,\n )}\n />\n )\n}\n\nfunction IconContainer({ className, ...restOfProps }: ComponentPropsWithoutRef<'div'>) {\n return <div {...restOfProps} className={cx(useStyle({ fill: 'currentColor' }), className)} />\n}\n\nfunction ErrorMessage({ className, ...restOfProps }: ComponentPropsWithoutRef<'p'>) {\n return (\n <p\n {...restOfProps}\n className={cx(\n useStyle({ fontSize: 12, margin: '8px 0', color: 'rgba(127, 0, 0, 0.95)' }),\n className,\n )}\n />\n )\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\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 table = useTable(tableId ?? null)\n const client = useMakeswiftClient()\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 getDomNode() {\n return refEl instanceof Element ? refEl : null\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 client.createTableRecord(table.id, columns)\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} width={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, 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 // @ts-ignore: `disabled` is in `'button'` but not in `T`.\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","useResponsiveStyle","getContrastColor","colorToString","size","SMALL","MEDIUM","LARGE","Error","forwardRef","ref","error","form","className","restOfProps","shape","contrast","brandColor","useFormContext","cx","useStyle","responsiveField","minHeight","getSizeHeight","maxHeight","maxWidth","minWidth","height","borderRadius","backgroundColor","opacity","marginBottom","borderWidth","borderStyle","borderColor","width","margin","display","flexDirection","_jsxs","_jsx","Label","Input","justifyContent","LIGHT","DARK","as","Component","labelTextStyle","labelTextColor","useResponsiveTextStyle","textColor","color","id","label","name","hideLabel","tableColumn","_Fragment","resize","swatch","hue","h","saturation","s","lightness","l","alpha","a","Color","isLight","FAKE_CHECKBOX_CLASS_NAME","style","position","pointerEvents","getContrastBorderColor","getContrastBackgroundColor","HiddenCheckbox","cursor","content","boxSizing","getSize","borderLeft","borderTop","getCheckmarkColor","transform","value","event","setFieldValue","currentTarget","checked","alignItems","getInputSizeHeight","marginRight","handleChange","required","onChange","handle","useRef","validity","valueMissing","length","typeMismatch","useImperativeHandle","current","filter","v","options","map","option","StyledLabel","includes","FAKE_RADIO_BUTTON_CLASS_NAME","HiddenRadioButton","top","left","Container","userSelect","right","getSizeHorizontalPadding","border","borderTopColor","Select","appearance","type","getLabelSizeHeight","ROUNDED","getShapeBorderRadius","__typename","SingleLineTextTableField","LongTextTableField","CheckboxTableField","MultipleSelectTableField","SingleSelectTableField","PhoneNumberTableField","EmailTableField","URLTableField","NumberTableField","string","replace","tableFormField","placeholder","hidden","TableColumnField","getTableColumnField","input","errorMessage","getTypeMismatchErrorMessage","formikFieldName","escapeCharacters","FormikField","field","getIn","touched","errors","spin","keyframes","Spinner20","animation","stroke","useState","useIsInBuilder","useEffect","getBox","useMemo","LOCAL_STORAGE_NAMESPACE","GridForm","flexWrap","fontSize","getSizeFontSize","GridItem","grid","index","rowGap","columnGap","alignSelf","useResponsiveGridItem","alignment","Alignments","LEFT","RIGHT","Button","CENTER","getAlignmentMargin","paddingTop","paddingBottom","padding","marginTop","fill","Form","tableId","fields","fieldsProp","submitLabel","submitLink","gap","submitTextStyle","submitVariant","submitTextColor","submitWidth","submitAlignment","table","useTable","client","useMakeswiftClient","refEl","setRefEl","propControllers","setPropControllers","initialValues","setInitialValues","reduce","acc","formField","columns","find","tableColumnId","defaultValue","getTableColumnDefaultValue","controller","container","items","useTableFormFieldRefs","fieldsCount","isDone","setIsDone","linkRef","getDomNode","Element","getBoxModel","timeoutId","setTimeout","clearTimeout","values","setSubmitting","resetForm","setStatus","forEach","getTableColumn","data","push","columnId","autofill","setItem","JSON","stringify","createTableRecord","prev","click","storedValue","localStorage","getItem","parse","e","FormContextProvider","Formik","handleSubmit","formik","status","message","handleReset","isSubmitting","Check12","Link"],"mappings":"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"}
package/dist/Form.es.js CHANGED
@@ -77,7 +77,7 @@ import "css-box-model";
77
77
  import "next/link";
78
78
  var _path;
79
79
  function _extends$1() {
80
- _extends$1 = Object.assign || function(target) {
80
+ _extends$1 = Object.assign ? Object.assign.bind() : function(target) {
81
81
  for (var i = 1; i < arguments.length; i++) {
82
82
  var source = arguments[i];
83
83
  for (var key in source) {
@@ -1408,7 +1408,7 @@ function Field({
1408
1408
  }
1409
1409
  var _g;
1410
1410
  function _extends() {
1411
- _extends = Object.assign || function(target) {
1411
+ _extends = Object.assign ? Object.assign.bind() : function(target) {
1412
1412
  for (var i = 1; i < arguments.length; i++) {
1413
1413
  var source = arguments[i];
1414
1414
  for (var key in source) {