@shipengine/formik-giger 0.2.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (67) hide show
  1. package/dist/esm/Checkbox.d.ts +13 -0
  2. package/dist/esm/Checkbox.js +57 -0
  3. package/dist/esm/Checkbox.js.map +1 -0
  4. package/dist/esm/DatePicker.d.ts +11 -0
  5. package/dist/esm/DatePicker.js +51 -0
  6. package/dist/esm/DatePicker.js.map +1 -0
  7. package/dist/esm/FocusOnError.d.ts +21 -0
  8. package/dist/esm/FocusOnError.js +70 -0
  9. package/dist/esm/FocusOnError.js.map +1 -0
  10. package/dist/esm/FormField.d.ts +17 -0
  11. package/dist/esm/FormField.js +43 -0
  12. package/dist/esm/FormField.js.map +1 -0
  13. package/dist/esm/Input.d.ts +11 -0
  14. package/dist/esm/Input.js +48 -0
  15. package/dist/esm/Input.js.map +1 -0
  16. package/dist/esm/Radio.d.ts +11 -0
  17. package/dist/esm/Radio.js +49 -0
  18. package/dist/esm/Radio.js.map +1 -0
  19. package/dist/esm/RadioGroup.d.ts +11 -0
  20. package/dist/esm/RadioGroup.js +47 -0
  21. package/dist/esm/RadioGroup.js.map +1 -0
  22. package/dist/esm/Select.d.ts +13 -0
  23. package/dist/esm/Select.js +68 -0
  24. package/dist/esm/Select.js.map +1 -0
  25. package/dist/esm/SelectAutocomplete.d.ts +11 -0
  26. package/dist/esm/SelectAutocomplete.js +57 -0
  27. package/dist/esm/SelectAutocomplete.js.map +1 -0
  28. package/dist/esm/Textarea.d.ts +11 -0
  29. package/dist/esm/Textarea.js +48 -0
  30. package/dist/esm/Textarea.js.map +1 -0
  31. package/dist/esm/index.d.ts +10 -0
  32. package/dist/esm/index.js +11 -0
  33. package/dist/esm/index.js.map +1 -0
  34. package/dist/lib/Checkbox.d.ts +13 -0
  35. package/dist/lib/Checkbox.js +62 -0
  36. package/dist/lib/Checkbox.js.map +1 -0
  37. package/dist/lib/DatePicker.d.ts +11 -0
  38. package/dist/lib/DatePicker.js +56 -0
  39. package/dist/lib/DatePicker.js.map +1 -0
  40. package/dist/lib/FocusOnError.d.ts +21 -0
  41. package/dist/lib/FocusOnError.js +79 -0
  42. package/dist/lib/FocusOnError.js.map +1 -0
  43. package/dist/lib/FormField.d.ts +17 -0
  44. package/dist/lib/FormField.js +47 -0
  45. package/dist/lib/FormField.js.map +1 -0
  46. package/dist/lib/Input.d.ts +11 -0
  47. package/dist/lib/Input.js +53 -0
  48. package/dist/lib/Input.js.map +1 -0
  49. package/dist/lib/Radio.d.ts +11 -0
  50. package/dist/lib/Radio.js +54 -0
  51. package/dist/lib/Radio.js.map +1 -0
  52. package/dist/lib/RadioGroup.d.ts +11 -0
  53. package/dist/lib/RadioGroup.js +52 -0
  54. package/dist/lib/RadioGroup.js.map +1 -0
  55. package/dist/lib/Select.d.ts +13 -0
  56. package/dist/lib/Select.js +73 -0
  57. package/dist/lib/Select.js.map +1 -0
  58. package/dist/lib/SelectAutocomplete.d.ts +11 -0
  59. package/dist/lib/SelectAutocomplete.js +62 -0
  60. package/dist/lib/SelectAutocomplete.js.map +1 -0
  61. package/dist/lib/Textarea.d.ts +11 -0
  62. package/dist/lib/Textarea.js +53 -0
  63. package/dist/lib/Textarea.js.map +1 -0
  64. package/dist/lib/index.d.ts +10 -0
  65. package/dist/lib/index.js +37 -0
  66. package/dist/lib/index.js.map +1 -0
  67. package/package.json +4 -4
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var formik = require('formik');
6
+ var giger = require('@shipengine/giger');
7
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
8
+
9
+ function fieldToRadio(_ref) {
10
+ let {
11
+ disabled,
12
+ field: {
13
+ onBlur: fieldOnBlur,
14
+ value: selectedValue,
15
+ onChange: onFormikChange,
16
+ ...field
17
+ },
18
+ form: {
19
+ isSubmitting,
20
+ errors,
21
+ touched
22
+ },
23
+ onBlur,
24
+ onChange,
25
+ value,
26
+ ...props
27
+ } = _ref;
28
+ const handleChange = e => {
29
+ onChange === null || onChange === void 0 ? void 0 : onChange(e);
30
+ onFormikChange(e);
31
+ };
32
+ return {
33
+ isInvalid: formik.getIn(touched, field.name) && !!formik.getIn(errors, field.name),
34
+ disabled: disabled || isSubmitting,
35
+ value,
36
+ onBlur: onBlur !== null && onBlur !== void 0 ? onBlur : function (e) {
37
+ fieldOnBlur(e !== null && e !== void 0 ? e : field.name);
38
+ },
39
+ onChange: handleChange,
40
+ checked: selectedValue === value,
41
+ ...field,
42
+ ...props
43
+ };
44
+ }
45
+ function Radio(props) {
46
+ return jsxRuntime.jsx(giger.Radio, {
47
+ ...fieldToRadio(props)
48
+ });
49
+ }
50
+ Radio.displayName = 'FormikRadio';
51
+
52
+ exports.Radio = Radio;
53
+ exports.fieldToRadio = fieldToRadio;
54
+ //# sourceMappingURL=Radio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radio.js","sources":["../../src/Radio.tsx"],"sourcesContent":["import { FieldProps, getIn } from 'formik';\nimport { ChangeEvent, FocusEvent } from 'react';\n\nimport { Radio as GigerRadio, RadioProps as GigerRadioProps } from '@shipengine/giger';\n\nexport type RadioProps = FieldProps & Omit<GigerRadioProps, 'name' | 'checked'>;\n\nexport function fieldToRadio({\n disabled,\n field: { onBlur: fieldOnBlur, value: selectedValue, onChange: onFormikChange, ...field },\n form: { isSubmitting, errors, touched },\n onBlur,\n onChange,\n value,\n ...props\n}: RadioProps): GigerRadioProps {\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n onChange?.(e);\n onFormikChange(e);\n };\n\n return {\n isInvalid: getIn(touched, field.name) && !!getIn(errors, field.name),\n disabled: disabled || isSubmitting,\n value,\n onBlur:\n onBlur ??\n function (e: FocusEvent) {\n fieldOnBlur(e ?? field.name);\n },\n onChange: handleChange,\n checked: selectedValue === value,\n ...field,\n ...props,\n };\n}\n\nexport function Radio(props: RadioProps): JSX.Element {\n return <GigerRadio {...fieldToRadio(props)} />;\n}\n\nRadio.displayName = 'FormikRadio';\n"],"names":["fieldToRadio","_ref","disabled","field","onBlur","fieldOnBlur","value","selectedValue","onChange","onFormikChange","form","isSubmitting","errors","touched","props","handleChange","e","isInvalid","getIn","name","checked","Radio","_jsx","GigerRadio","displayName"],"mappings":";;;;;;;;AAOO,SAASA,YAAYA,CAAAC,IAAA,EAQI;EAAA,IARH;IACzBC,QAAQ;AACRC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAEC,WAAW;AAAEC,MAAAA,KAAK,EAAEC,aAAa;AAAEC,MAAAA,QAAQ,EAAEC,cAAc;MAAE,GAAGN,KAAAA;KAAO;AACxFO,IAAAA,IAAI,EAAE;MAAEC,YAAY;MAAEC,MAAM;AAAEC,MAAAA,OAAAA;KAAS;IACvCT,MAAM;IACNI,QAAQ;IACRF,KAAK;IACL,GAAGQ,KAAAA;AACK,GAAC,GAAAb,IAAA,CAAA;EACT,MAAMc,YAAY,GAAIC,CAAgC,IAAK;AACvDR,IAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAGQ,CAAC,CAAC,CAAA;IACbP,cAAc,CAACO,CAAC,CAAC,CAAA;GACpB,CAAA;EAED,OAAO;AACHC,IAAAA,SAAS,EAAEC,YAAK,CAACL,OAAO,EAAEV,KAAK,CAACgB,IAAI,CAAC,IAAI,CAAC,CAACD,YAAK,CAACN,MAAM,EAAET,KAAK,CAACgB,IAAI,CAAC;IACpEjB,QAAQ,EAAEA,QAAQ,IAAIS,YAAY;IAClCL,KAAK;IACLF,MAAM,EACFA,MAAM,KAANA,IAAAA,IAAAA,MAAM,cAANA,MAAM,GACN,UAAUY,CAAa,EAAE;MACrBX,WAAW,CAACW,CAAC,KAAA,IAAA,IAADA,CAAC,KAAA,KAAA,CAAA,GAADA,CAAC,GAAIb,KAAK,CAACgB,IAAI,CAAC,CAAA;KAC/B;AACLX,IAAAA,QAAQ,EAAEO,YAAY;IACtBK,OAAO,EAAEb,aAAa,KAAKD,KAAK;AAChC,IAAA,GAAGH,KAAK;IACR,GAAGW,KAAAA;GACN,CAAA;AACL,CAAA;AAEO,SAASO,KAAKA,CAACP,KAAiB,EAAe;EAClD,OAAOQ,cAAA,CAACC,WAAU,EAAA;IAAA,GAAKvB,YAAY,CAACc,KAAK,CAAA;AAAC,GAAG,CAAC,CAAA;AAClD,CAAA;AAEAO,KAAK,CAACG,WAAW,GAAG,aAAa;;;;;"}
@@ -0,0 +1,11 @@
1
+ import { FieldProps } from 'formik';
2
+ import { IRadioGroupProps } from '@shipengine/giger';
3
+
4
+ type RadioGroupProps = FieldProps & Omit<IRadioGroupProps, 'name' | 'value'>;
5
+ declare function fieldToRadioGroup({ disabled, field: { onBlur: fieldOnBlur, value, onChange: onFormikChange, ...field }, form: { isSubmitting, errors, touched }, onBlur, onChange, ...props }: RadioGroupProps): IRadioGroupProps;
6
+ declare function RadioGroup(props: RadioGroupProps): JSX.Element;
7
+ declare namespace RadioGroup {
8
+ var displayName: string;
9
+ }
10
+
11
+ export { RadioGroup, RadioGroupProps, fieldToRadioGroup };
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var formik = require('formik');
6
+ var giger = require('@shipengine/giger');
7
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
8
+
9
+ function fieldToRadioGroup(_ref) {
10
+ let {
11
+ disabled,
12
+ field: {
13
+ onBlur: fieldOnBlur,
14
+ value,
15
+ onChange: onFormikChange,
16
+ ...field
17
+ },
18
+ form: {
19
+ isSubmitting,
20
+ errors,
21
+ touched
22
+ },
23
+ onBlur,
24
+ onChange,
25
+ ...props
26
+ } = _ref;
27
+ const handleChange = e => {
28
+ onChange && onChange(e);
29
+ onFormikChange(e);
30
+ };
31
+ return {
32
+ isInvalid: formik.getIn(touched, field.name) && !!formik.getIn(errors, field.name),
33
+ disabled: disabled || isSubmitting,
34
+ value,
35
+ onBlur: onBlur !== null && onBlur !== void 0 ? onBlur : function (e) {
36
+ fieldOnBlur(e !== null && e !== void 0 ? e : field.name);
37
+ },
38
+ onChange: handleChange,
39
+ ...field,
40
+ ...props
41
+ };
42
+ }
43
+ function RadioGroup(props) {
44
+ return jsxRuntime.jsx(giger.RadioGroup, {
45
+ ...fieldToRadioGroup(props)
46
+ });
47
+ }
48
+ RadioGroup.displayName = 'FormikRadioGroup';
49
+
50
+ exports.RadioGroup = RadioGroup;
51
+ exports.fieldToRadioGroup = fieldToRadioGroup;
52
+ //# sourceMappingURL=RadioGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadioGroup.js","sources":["../../src/RadioGroup.tsx"],"sourcesContent":["import { ChangeEvent, FocusEvent } from 'react';\nimport { FieldProps, getIn } from 'formik';\n\nimport { RadioGroup as GigerRadioGroup, IRadioGroupProps as GigerRadioGroupProps } from '@shipengine/giger';\n\nexport type RadioGroupProps = FieldProps & Omit<GigerRadioGroupProps, 'name' | 'value'>;\n\nexport function fieldToRadioGroup({\n disabled,\n field: { onBlur: fieldOnBlur, value, onChange: onFormikChange, ...field },\n form: { isSubmitting, errors, touched },\n onBlur,\n onChange,\n ...props\n}: RadioGroupProps): GigerRadioGroupProps {\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n onChange && onChange(e);\n onFormikChange(e);\n };\n\n return {\n isInvalid: getIn(touched, field.name) && !!getIn(errors, field.name),\n disabled: disabled || isSubmitting,\n value,\n onBlur:\n onBlur ??\n function (e: FocusEvent) {\n fieldOnBlur(e ?? field.name);\n },\n onChange: handleChange,\n ...field,\n ...props,\n };\n}\n\nexport function RadioGroup(props: RadioGroupProps): JSX.Element {\n return <GigerRadioGroup {...fieldToRadioGroup(props)} />;\n}\n\nRadioGroup.displayName = 'FormikRadioGroup';\n"],"names":["fieldToRadioGroup","_ref","disabled","field","onBlur","fieldOnBlur","value","onChange","onFormikChange","form","isSubmitting","errors","touched","props","handleChange","e","isInvalid","getIn","name","RadioGroup","_jsx","GigerRadioGroup","displayName"],"mappings":";;;;;;;;AAOO,SAASA,iBAAiBA,CAAAC,IAAA,EAOS;EAAA,IAPR;IAC9BC,QAAQ;AACRC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAEC,WAAW;MAAEC,KAAK;AAAEC,MAAAA,QAAQ,EAAEC,cAAc;MAAE,GAAGL,KAAAA;KAAO;AACzEM,IAAAA,IAAI,EAAE;MAAEC,YAAY;MAAEC,MAAM;AAAEC,MAAAA,OAAAA;KAAS;IACvCR,MAAM;IACNG,QAAQ;IACR,GAAGM,KAAAA;AACU,GAAC,GAAAZ,IAAA,CAAA;EACd,MAAMa,YAAY,GAAIC,CAAgC,IAAK;AACvDR,IAAAA,QAAQ,IAAIA,QAAQ,CAACQ,CAAC,CAAC,CAAA;IACvBP,cAAc,CAACO,CAAC,CAAC,CAAA;GACpB,CAAA;EAED,OAAO;AACHC,IAAAA,SAAS,EAAEC,YAAK,CAACL,OAAO,EAAET,KAAK,CAACe,IAAI,CAAC,IAAI,CAAC,CAACD,YAAK,CAACN,MAAM,EAAER,KAAK,CAACe,IAAI,CAAC;IACpEhB,QAAQ,EAAEA,QAAQ,IAAIQ,YAAY;IAClCJ,KAAK;IACLF,MAAM,EACFA,MAAM,KAANA,IAAAA,IAAAA,MAAM,cAANA,MAAM,GACN,UAAUW,CAAa,EAAE;MACrBV,WAAW,CAACU,CAAC,KAAA,IAAA,IAADA,CAAC,KAAA,KAAA,CAAA,GAADA,CAAC,GAAIZ,KAAK,CAACe,IAAI,CAAC,CAAA;KAC/B;AACLX,IAAAA,QAAQ,EAAEO,YAAY;AACtB,IAAA,GAAGX,KAAK;IACR,GAAGU,KAAAA;GACN,CAAA;AACL,CAAA;AAEO,SAASM,UAAUA,CAACN,KAAsB,EAAe;EAC5D,OAAOO,cAAA,CAACC,gBAAe,EAAA;IAAA,GAAKrB,iBAAiB,CAACa,KAAK,CAAA;AAAC,GAAG,CAAC,CAAA;AAC5D,CAAA;AAEAM,UAAU,CAACG,WAAW,GAAG,kBAAkB;;;;;"}
@@ -0,0 +1,13 @@
1
+ import { FieldProps } from 'formik';
2
+ import { ISelectOption, ISelect } from '@shipengine/giger';
3
+
4
+ type SelectProps<FormValues = unknown> = FieldProps<ISelectOption | null, FormValues> & Omit<ISelect, 'name' | 'value'> & {
5
+ options?: ISelectOption[];
6
+ };
7
+ declare function fieldToSelect<FormValues = unknown>({ disabled, field: { onBlur: fieldOnBlur, onChange: onFormikChange, ...field }, form: { isSubmitting, touched, errors }, onClickAway, onChange, ...props }: SelectProps<FormValues>): ISelect;
8
+ declare function Select<FormValues = unknown>({ options, children, ...props }: SelectProps<FormValues>): JSX.Element;
9
+ declare namespace Select {
10
+ var displayName: string;
11
+ }
12
+
13
+ export { Select, SelectProps, fieldToSelect };
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var formik = require('formik');
6
+ var giger = require('@shipengine/giger');
7
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
8
+
9
+ function fieldToSelect(_ref) {
10
+ let {
11
+ disabled,
12
+ field: {
13
+ onBlur: fieldOnBlur,
14
+ onChange: onFormikChange,
15
+ ...field
16
+ },
17
+ form: {
18
+ isSubmitting,
19
+ touched,
20
+ errors
21
+ },
22
+ onClickAway,
23
+ onChange,
24
+ ...props
25
+ } = _ref;
26
+ const handleChange = (fieldName, value) => {
27
+ onChange === null || onChange === void 0 ? void 0 : onChange(fieldName, value);
28
+ onFormikChange({
29
+ target: {
30
+ name: field.name,
31
+ value
32
+ }
33
+ });
34
+ };
35
+ const handleClickAway = () => {
36
+ onClickAway === null || onClickAway === void 0 ? void 0 : onClickAway();
37
+ fieldOnBlur({
38
+ target: {
39
+ name: field.name
40
+ }
41
+ });
42
+ };
43
+ return {
44
+ isInvalid: formik.getIn(touched, field.name) && !!formik.getIn(errors, field.name),
45
+ disabled: disabled || isSubmitting,
46
+ onClickAway: handleClickAway,
47
+ onChange: handleChange,
48
+ ...field,
49
+ ...props
50
+ };
51
+ }
52
+ function Select(_ref2) {
53
+ let {
54
+ options,
55
+ children,
56
+ ...props
57
+ } = _ref2;
58
+ const formikProps = fieldToSelect(props);
59
+ const renderedOptions = options ? options.map(option => jsxRuntime.jsx(giger.Option, {
60
+ value: option,
61
+ selected: option === formikProps.value,
62
+ children: option.label
63
+ }, option.label)) : children;
64
+ return jsxRuntime.jsx(giger.Select, {
65
+ ...formikProps,
66
+ children: renderedOptions
67
+ });
68
+ }
69
+ Select.displayName = 'FormikSelect';
70
+
71
+ exports.Select = Select;
72
+ exports.fieldToSelect = fieldToSelect;
73
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sources":["../../src/Select.tsx"],"sourcesContent":["import { FieldProps, getIn } from 'formik';\n\nimport { ISelectOption, Select as GigerSelect, ISelect as IGigerSelect, Option } from '@shipengine/giger';\n\nexport type SelectProps<FormValues = unknown> = FieldProps<ISelectOption | null, FormValues> &\n Omit<IGigerSelect, 'name' | 'value'> & {\n options?: ISelectOption[];\n };\n\nexport function fieldToSelect<FormValues = unknown>({\n disabled,\n field: { onBlur: fieldOnBlur, onChange: onFormikChange, ...field },\n form: { isSubmitting, touched, errors },\n onClickAway,\n onChange,\n ...props\n}: SelectProps<FormValues>): IGigerSelect {\n const handleChange = (fieldName: string, value: ISelectOption | null) => {\n onChange?.(fieldName, value);\n onFormikChange({ target: { name: field.name, value } });\n };\n\n const handleClickAway = () => {\n onClickAway?.();\n fieldOnBlur({ target: { name: field.name } });\n };\n\n return {\n isInvalid: getIn(touched, field.name) && !!getIn(errors, field.name),\n disabled: disabled || isSubmitting,\n onClickAway: handleClickAway,\n onChange: handleChange,\n ...field,\n ...props,\n };\n}\n\nexport function Select<FormValues = unknown>({ options, children, ...props }: SelectProps<FormValues>): JSX.Element {\n const formikProps = fieldToSelect(props);\n\n const renderedOptions = options\n ? options.map((option) => (\n <Option key={option.label} value={option} selected={option === formikProps.value}>\n {option.label}\n </Option>\n ))\n : children;\n\n return <GigerSelect {...formikProps}>{renderedOptions}</GigerSelect>;\n}\n\nSelect.displayName = 'FormikSelect';\n"],"names":["fieldToSelect","_ref","disabled","field","onBlur","fieldOnBlur","onChange","onFormikChange","form","isSubmitting","touched","errors","onClickAway","props","handleChange","fieldName","value","target","name","handleClickAway","isInvalid","getIn","Select","_ref2","options","children","formikProps","renderedOptions","map","option","_jsx","Option","selected","label","GigerSelect","displayName"],"mappings":";;;;;;;;AASO,SAASA,aAAaA,CAAAC,IAAA,EAOa;EAAA,IAPU;IAChDC,QAAQ;AACRC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAEC,WAAW;AAAEC,MAAAA,QAAQ,EAAEC,cAAc;MAAE,GAAGJ,KAAAA;KAAO;AAClEK,IAAAA,IAAI,EAAE;MAAEC,YAAY;MAAEC,OAAO;AAAEC,MAAAA,MAAAA;KAAQ;IACvCC,WAAW;IACXN,QAAQ;IACR,GAAGO,KAAAA;AACkB,GAAC,GAAAZ,IAAA,CAAA;AACtB,EAAA,MAAMa,YAAY,GAAGA,CAACC,SAAiB,EAAEC,KAA2B,KAAK;IACrEV,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAGS,SAAS,EAAEC,KAAK,CAAC,CAAA;AAC5BT,IAAAA,cAAc,CAAC;AAAEU,MAAAA,MAAM,EAAE;QAAEC,IAAI,EAAEf,KAAK,CAACe,IAAI;AAAEF,QAAAA,KAAAA;AAAM,OAAA;AAAE,KAAC,CAAC,CAAA;GAC1D,CAAA;EAED,MAAMG,eAAe,GAAGA,MAAM;AAC1BP,IAAAA,WAAW,KAAXA,IAAAA,IAAAA,WAAW,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAW,EAAI,CAAA;AACfP,IAAAA,WAAW,CAAC;AAAEY,MAAAA,MAAM,EAAE;QAAEC,IAAI,EAAEf,KAAK,CAACe,IAAAA;AAAK,OAAA;AAAE,KAAC,CAAC,CAAA;GAChD,CAAA;EAED,OAAO;AACHE,IAAAA,SAAS,EAAEC,YAAK,CAACX,OAAO,EAAEP,KAAK,CAACe,IAAI,CAAC,IAAI,CAAC,CAACG,YAAK,CAACV,MAAM,EAAER,KAAK,CAACe,IAAI,CAAC;IACpEhB,QAAQ,EAAEA,QAAQ,IAAIO,YAAY;AAClCG,IAAAA,WAAW,EAAEO,eAAe;AAC5Bb,IAAAA,QAAQ,EAAEQ,YAAY;AACtB,IAAA,GAAGX,KAAK;IACR,GAAGU,KAAAA;GACN,CAAA;AACL,CAAA;AAEO,SAASS,MAAMA,CAAAC,KAAA,EAA8F;EAAA,IAAvE;IAAEC,OAAO;IAAEC,QAAQ;IAAE,GAAGZ,KAAAA;AAA+B,GAAC,GAAAU,KAAA,CAAA;AACjG,EAAA,MAAMG,WAAW,GAAG1B,aAAa,CAACa,KAAK,CAAC,CAAA;AAExC,EAAA,MAAMc,eAAe,GAAGH,OAAO,GACzBA,OAAO,CAACI,GAAG,CAAEC,MAAM,IACfC,cAAA,CAACC,YAAM,EAAA;AAAoBf,IAAAA,KAAK,EAAEa,MAAO;AAACG,IAAAA,QAAQ,EAAEH,MAAM,KAAKH,WAAW,CAACV,KAAM;IAAAS,QAAA,EAC5EI,MAAM,CAACI,KAAAA;AAAK,GAAA,EADJJ,MAAM,CAACI,KAEZ,CACX,CAAC,GACFR,QAAQ,CAAA;EAEd,OAAOK,cAAA,CAACI,YAAW,EAAA;AAAA,IAAA,GAAKR,WAAW;AAAAD,IAAAA,QAAA,EAAGE,eAAAA;AAAe,GAAc,CAAC,CAAA;AACxE,CAAA;AAEAL,MAAM,CAACa,WAAW,GAAG,cAAc;;;;;"}
@@ -0,0 +1,11 @@
1
+ import { ISelectAutocompleteOption, ISelectAutocomplete } from '@shipengine/giger';
2
+ import { FieldProps } from 'formik';
3
+
4
+ type SelectAutocompleteProps<FormValues = unknown> = FieldProps<ISelectAutocompleteOption | null, FormValues> & Omit<ISelectAutocomplete, 'name' | 'value'>;
5
+ declare function fieldToSelectAutocomplete<FormValues = unknown>({ disabled, field: { onBlur: fieldOnBlur, onChange: onFormikChange, ...field }, form: { isSubmitting, touched, errors }, onBlur, onChange, ...props }: SelectAutocompleteProps<FormValues>): ISelectAutocomplete;
6
+ declare function SelectAutocomplete<FormValues = unknown>({ ...props }: SelectAutocompleteProps<FormValues>): JSX.Element;
7
+ declare namespace SelectAutocomplete {
8
+ var displayName: string;
9
+ }
10
+
11
+ export { SelectAutocomplete, SelectAutocompleteProps, fieldToSelectAutocomplete };
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var giger = require('@shipengine/giger');
6
+ var formik = require('formik');
7
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
8
+
9
+ function fieldToSelectAutocomplete(_ref) {
10
+ let {
11
+ disabled,
12
+ field: {
13
+ onBlur: fieldOnBlur,
14
+ onChange: onFormikChange,
15
+ ...field
16
+ },
17
+ form: {
18
+ isSubmitting,
19
+ touched,
20
+ errors
21
+ },
22
+ onBlur,
23
+ onChange,
24
+ ...props
25
+ } = _ref;
26
+ const handleChange = (fieldName, value) => {
27
+ onChange === null || onChange === void 0 ? void 0 : onChange(fieldName, value);
28
+ onFormikChange({
29
+ target: {
30
+ name: field.name,
31
+ value
32
+ }
33
+ });
34
+ };
35
+ return {
36
+ isInvalid: formik.getIn(touched, field.name) && !!formik.getIn(errors, field.name),
37
+ disabled: disabled || isSubmitting,
38
+ onBlur: onBlur !== null && onBlur !== void 0 ? onBlur : function () {
39
+ fieldOnBlur({
40
+ target: {
41
+ name: field.name
42
+ }
43
+ });
44
+ },
45
+ onChange: handleChange,
46
+ ...field,
47
+ ...props
48
+ };
49
+ }
50
+ function SelectAutocomplete(_ref2) {
51
+ let {
52
+ ...props
53
+ } = _ref2;
54
+ return jsxRuntime.jsx(giger.SelectAutocomplete, {
55
+ ...fieldToSelectAutocomplete(props)
56
+ });
57
+ }
58
+ SelectAutocomplete.displayName = 'FormikSelectAutocomplete';
59
+
60
+ exports.SelectAutocomplete = SelectAutocomplete;
61
+ exports.fieldToSelectAutocomplete = fieldToSelectAutocomplete;
62
+ //# sourceMappingURL=SelectAutocomplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectAutocomplete.js","sources":["../../src/SelectAutocomplete.tsx"],"sourcesContent":["import {\n ISelectAutocompleteOption,\n SelectAutocomplete as GigerSelectAutocomplete,\n ISelectAutocomplete as IGigerSelectAutocomplete,\n} from '@shipengine/giger';\n\nimport { FieldProps, getIn } from 'formik';\n\nexport type SelectAutocompleteProps<FormValues = unknown> = FieldProps<ISelectAutocompleteOption | null, FormValues> &\n Omit<IGigerSelectAutocomplete, 'name' | 'value'>;\n\nexport function fieldToSelectAutocomplete<FormValues = unknown>({\n disabled,\n field: { onBlur: fieldOnBlur, onChange: onFormikChange, ...field },\n form: { isSubmitting, touched, errors },\n onBlur,\n onChange,\n ...props\n}: SelectAutocompleteProps<FormValues>): IGigerSelectAutocomplete {\n const handleChange = (fieldName: string, value: ISelectAutocompleteOption | null) => {\n onChange?.(fieldName, value);\n onFormikChange({ target: { name: field.name, value } });\n };\n\n return {\n isInvalid: getIn(touched, field.name) && !!getIn(errors, field.name),\n disabled: disabled || isSubmitting,\n onBlur:\n onBlur ??\n function () {\n fieldOnBlur({ target: { name: field.name } });\n },\n onChange: handleChange,\n ...field,\n ...props,\n };\n}\n\nexport function SelectAutocomplete<FormValues = unknown>({\n ...props\n}: SelectAutocompleteProps<FormValues>): JSX.Element {\n return <GigerSelectAutocomplete {...fieldToSelectAutocomplete(props)} />;\n}\n\nSelectAutocomplete.displayName = 'FormikSelectAutocomplete';\n"],"names":["fieldToSelectAutocomplete","_ref","disabled","field","onBlur","fieldOnBlur","onChange","onFormikChange","form","isSubmitting","touched","errors","props","handleChange","fieldName","value","target","name","isInvalid","getIn","SelectAutocomplete","_ref2","_jsx","GigerSelectAutocomplete","displayName"],"mappings":";;;;;;;;AAWO,SAASA,yBAAyBA,CAAAC,IAAA,EAOyB;EAAA,IAPF;IAC5DC,QAAQ;AACRC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAEC,WAAW;AAAEC,MAAAA,QAAQ,EAAEC,cAAc;MAAE,GAAGJ,KAAAA;KAAO;AAClEK,IAAAA,IAAI,EAAE;MAAEC,YAAY;MAAEC,OAAO;AAAEC,MAAAA,MAAAA;KAAQ;IACvCP,MAAM;IACNE,QAAQ;IACR,GAAGM,KAAAA;AAC8B,GAAC,GAAAX,IAAA,CAAA;AAClC,EAAA,MAAMY,YAAY,GAAGA,CAACC,SAAiB,EAAEC,KAAuC,KAAK;IACjFT,QAAQ,KAAA,IAAA,IAARA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAGQ,SAAS,EAAEC,KAAK,CAAC,CAAA;AAC5BR,IAAAA,cAAc,CAAC;AAAES,MAAAA,MAAM,EAAE;QAAEC,IAAI,EAAEd,KAAK,CAACc,IAAI;AAAEF,QAAAA,KAAAA;AAAM,OAAA;AAAE,KAAC,CAAC,CAAA;GAC1D,CAAA;EAED,OAAO;AACHG,IAAAA,SAAS,EAAEC,YAAK,CAACT,OAAO,EAAEP,KAAK,CAACc,IAAI,CAAC,IAAI,CAAC,CAACE,YAAK,CAACR,MAAM,EAAER,KAAK,CAACc,IAAI,CAAC;IACpEf,QAAQ,EAAEA,QAAQ,IAAIO,YAAY;AAClCL,IAAAA,MAAM,EACFA,MAAM,KAAA,IAAA,IAANA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,MAAM,GACN,YAAY;AACRC,MAAAA,WAAW,CAAC;AAAEW,QAAAA,MAAM,EAAE;UAAEC,IAAI,EAAEd,KAAK,CAACc,IAAAA;AAAK,SAAA;AAAE,OAAC,CAAC,CAAA;KAChD;AACLX,IAAAA,QAAQ,EAAEO,YAAY;AACtB,IAAA,GAAGV,KAAK;IACR,GAAGS,KAAAA;GACN,CAAA;AACL,CAAA;AAEO,SAASQ,kBAAkBA,CAAAC,KAAA,EAEmB;EAAA,IAFI;IACrD,GAAGT,KAAAA;AAC8B,GAAC,GAAAS,KAAA,CAAA;EAClC,OAAOC,cAAA,CAACC,wBAAuB,EAAA;IAAA,GAAKvB,yBAAyB,CAACY,KAAK,CAAA;AAAC,GAAG,CAAC,CAAA;AAC5E,CAAA;AAEAQ,kBAAkB,CAACI,WAAW,GAAG,0BAA0B;;;;;"}
@@ -0,0 +1,11 @@
1
+ import { FieldProps } from 'formik';
2
+ import { ITextareaProps } from '@shipengine/giger';
3
+
4
+ type TextareaProps<FormValues = unknown> = FieldProps<string | number | undefined, FormValues> & Omit<ITextareaProps, 'name' | 'value'>;
5
+ declare function fieldToTextarea<FormValues = unknown>({ disabled, field: { onBlur: fieldOnBlur, onChange: onFormikChange, ...field }, form: { isSubmitting, touched, errors }, onBlur, onChange, ...props }: TextareaProps<FormValues>): ITextareaProps;
6
+ declare function Textarea<FormValues = unknown>({ ...props }: TextareaProps<FormValues>): JSX.Element;
7
+ declare namespace Textarea {
8
+ var displayName: string;
9
+ }
10
+
11
+ export { Textarea, TextareaProps, fieldToTextarea };
@@ -0,0 +1,53 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var formik = require('formik');
6
+ var giger = require('@shipengine/giger');
7
+ var jsxRuntime = require('@emotion/react/jsx-runtime');
8
+
9
+ function fieldToTextarea(_ref) {
10
+ let {
11
+ disabled,
12
+ field: {
13
+ onBlur: fieldOnBlur,
14
+ onChange: onFormikChange,
15
+ ...field
16
+ },
17
+ form: {
18
+ isSubmitting,
19
+ touched,
20
+ errors
21
+ },
22
+ onBlur,
23
+ onChange,
24
+ ...props
25
+ } = _ref;
26
+ const handleChange = e => {
27
+ onChange === null || onChange === void 0 ? void 0 : onChange(e);
28
+ onFormikChange(e);
29
+ };
30
+ return {
31
+ isInvalid: formik.getIn(touched, field.name) && !!formik.getIn(errors, field.name),
32
+ disabled: disabled || isSubmitting,
33
+ onBlur: onBlur !== null && onBlur !== void 0 ? onBlur : function (e) {
34
+ fieldOnBlur(e !== null && e !== void 0 ? e : field.name);
35
+ },
36
+ onChange: handleChange,
37
+ ...field,
38
+ ...props
39
+ };
40
+ }
41
+ function Textarea(_ref2) {
42
+ let {
43
+ ...props
44
+ } = _ref2;
45
+ return jsxRuntime.jsx(giger.Textarea, {
46
+ ...fieldToTextarea(props)
47
+ });
48
+ }
49
+ Textarea.displayName = 'FormikTextarea';
50
+
51
+ exports.Textarea = Textarea;
52
+ exports.fieldToTextarea = fieldToTextarea;
53
+ //# sourceMappingURL=Textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.js","sources":["../../src/Textarea.tsx"],"sourcesContent":["import { FieldProps, getIn } from 'formik';\nimport { ChangeEvent, FocusEvent } from 'react';\n\nimport { Textarea as GigerTextarea, ITextareaProps as IGigerTextareaProps } from '@shipengine/giger';\n\nexport type TextareaProps<FormValues = unknown> = FieldProps<string | number | undefined, FormValues> &\n Omit<IGigerTextareaProps, 'name' | 'value'>;\n\nexport function fieldToTextarea<FormValues = unknown>({\n disabled,\n field: { onBlur: fieldOnBlur, onChange: onFormikChange, ...field },\n form: { isSubmitting, touched, errors },\n onBlur,\n onChange,\n ...props\n}: TextareaProps<FormValues>): IGigerTextareaProps {\n const handleChange = (e: ChangeEvent<HTMLTextAreaElement>) => {\n onChange?.(e);\n onFormikChange(e);\n };\n\n return {\n isInvalid: getIn(touched, field.name) && !!getIn(errors, field.name),\n disabled: disabled || isSubmitting,\n onBlur:\n onBlur ??\n function (e: FocusEvent) {\n fieldOnBlur(e ?? field.name);\n },\n onChange: handleChange,\n ...field,\n ...props,\n };\n}\n\nexport function Textarea<FormValues = unknown>({ ...props }: TextareaProps<FormValues>): JSX.Element {\n return <GigerTextarea {...fieldToTextarea(props)} />;\n}\n\nTextarea.displayName = 'FormikTextarea';\n"],"names":["fieldToTextarea","_ref","disabled","field","onBlur","fieldOnBlur","onChange","onFormikChange","form","isSubmitting","touched","errors","props","handleChange","e","isInvalid","getIn","name","Textarea","_ref2","_jsx","GigerTextarea","displayName"],"mappings":";;;;;;;;AAQO,SAASA,eAAeA,CAAAC,IAAA,EAOoB;EAAA,IAPG;IAClDC,QAAQ;AACRC,IAAAA,KAAK,EAAE;AAAEC,MAAAA,MAAM,EAAEC,WAAW;AAAEC,MAAAA,QAAQ,EAAEC,cAAc;MAAE,GAAGJ,KAAAA;KAAO;AAClEK,IAAAA,IAAI,EAAE;MAAEC,YAAY;MAAEC,OAAO;AAAEC,MAAAA,MAAAA;KAAQ;IACvCP,MAAM;IACNE,QAAQ;IACR,GAAGM,KAAAA;AACoB,GAAC,GAAAX,IAAA,CAAA;EACxB,MAAMY,YAAY,GAAIC,CAAmC,IAAK;AAC1DR,IAAAA,QAAQ,aAARA,QAAQ,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAARA,QAAQ,CAAGQ,CAAC,CAAC,CAAA;IACbP,cAAc,CAACO,CAAC,CAAC,CAAA;GACpB,CAAA;EAED,OAAO;AACHC,IAAAA,SAAS,EAAEC,YAAK,CAACN,OAAO,EAAEP,KAAK,CAACc,IAAI,CAAC,IAAI,CAAC,CAACD,YAAK,CAACL,MAAM,EAAER,KAAK,CAACc,IAAI,CAAC;IACpEf,QAAQ,EAAEA,QAAQ,IAAIO,YAAY;IAClCL,MAAM,EACFA,MAAM,KAANA,IAAAA,IAAAA,MAAM,cAANA,MAAM,GACN,UAAUU,CAAa,EAAE;MACrBT,WAAW,CAACS,CAAC,KAAA,IAAA,IAADA,CAAC,KAAA,KAAA,CAAA,GAADA,CAAC,GAAIX,KAAK,CAACc,IAAI,CAAC,CAAA;KAC/B;AACLX,IAAAA,QAAQ,EAAEO,YAAY;AACtB,IAAA,GAAGV,KAAK;IACR,GAAGS,KAAAA;GACN,CAAA;AACL,CAAA;AAEO,SAASM,QAAQA,CAAAC,KAAA,EAA6E;EAAA,IAAtD;IAAE,GAAGP,KAAAA;AAAiC,GAAC,GAAAO,KAAA,CAAA;EAClF,OAAOC,cAAA,CAACC,cAAa,EAAA;IAAA,GAAKrB,eAAe,CAACY,KAAK,CAAA;AAAC,GAAG,CAAC,CAAA;AACxD,CAAA;AAEAM,QAAQ,CAACI,WAAW,GAAG,gBAAgB;;;;;"}
@@ -0,0 +1,10 @@
1
+ export { Input, InputProps, fieldToInput } from './Input.js';
2
+ export { Checkbox, CheckboxProps, fieldToCheckbox } from './Checkbox.js';
3
+ export { DatePicker, IDatePickerProps, fieldToDateField } from './DatePicker.js';
4
+ export { FocusOnError, IFocusOnErrorProps, useFocusOnError } from './FocusOnError.js';
5
+ export { FormField } from './FormField.js';
6
+ export { Textarea, TextareaProps, fieldToTextarea } from './Textarea.js';
7
+ export { SelectAutocomplete, SelectAutocompleteProps, fieldToSelectAutocomplete } from './SelectAutocomplete.js';
8
+ export { Select, SelectProps, fieldToSelect } from './Select.js';
9
+ export { RadioGroup, RadioGroupProps, fieldToRadioGroup } from './RadioGroup.js';
10
+ export { Radio, RadioProps, fieldToRadio } from './Radio.js';
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var Input = require('./Input.js');
6
+ var Checkbox = require('./Checkbox.js');
7
+ var DatePicker = require('./DatePicker.js');
8
+ var FocusOnError = require('./FocusOnError.js');
9
+ var FormField = require('./FormField.js');
10
+ var Textarea = require('./Textarea.js');
11
+ var SelectAutocomplete = require('./SelectAutocomplete.js');
12
+ var Select = require('./Select.js');
13
+ var RadioGroup = require('./RadioGroup.js');
14
+ var Radio = require('./Radio.js');
15
+
16
+
17
+
18
+ exports.Input = Input.Input;
19
+ exports.fieldToInput = Input.fieldToInput;
20
+ exports.Checkbox = Checkbox.Checkbox;
21
+ exports.fieldToCheckbox = Checkbox.fieldToCheckbox;
22
+ exports.DatePicker = DatePicker.DatePicker;
23
+ exports.fieldToDateField = DatePicker.fieldToDateField;
24
+ exports.FocusOnError = FocusOnError.FocusOnError;
25
+ exports.useFocusOnError = FocusOnError.useFocusOnError;
26
+ exports.FormField = FormField.FormField;
27
+ exports.Textarea = Textarea.Textarea;
28
+ exports.fieldToTextarea = Textarea.fieldToTextarea;
29
+ exports.SelectAutocomplete = SelectAutocomplete.SelectAutocomplete;
30
+ exports.fieldToSelectAutocomplete = SelectAutocomplete.fieldToSelectAutocomplete;
31
+ exports.Select = Select.Select;
32
+ exports.fieldToSelect = Select.fieldToSelect;
33
+ exports.RadioGroup = RadioGroup.RadioGroup;
34
+ exports.fieldToRadioGroup = RadioGroup.fieldToRadioGroup;
35
+ exports.Radio = Radio.Radio;
36
+ exports.fieldToRadio = Radio.fieldToRadio;
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shipengine/formik-giger",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "A package providing formik bindings for Giger",
5
5
  "homepage": "https://github.com/shipengine/giger",
6
6
  "sideEffects": false,
@@ -33,9 +33,9 @@
33
33
  "postpublish": "packlink-scripts metrics"
34
34
  },
35
35
  "devDependencies": {
36
- "@shipengine/giger": "^0.2.0",
36
+ "@shipengine/giger": "^0.4.0",
37
37
  "formik": "^2.4.2",
38
- "test-utils": "^2.7.0",
38
+ "test-utils": "^2.7.2",
39
39
  "yup": "0.32.11"
40
40
  },
41
41
  "dependencies": {
@@ -49,5 +49,5 @@
49
49
  "formik": ">=2.2.9",
50
50
  "react": "^16.14.0 || ^17.0.0 || ^18.0.0"
51
51
  },
52
- "gitHead": "11d8ba1d2a7c2c827319a33a0963175692abd5d2"
52
+ "gitHead": "c49871cb1702dcde14d2e68086460daf556f7477"
53
53
  }