@contentful/field-editor-radio 0.14.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,200 +3,130 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [0.14.0](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.13.4...@contentful/field-editor-radio@0.14.0) (2021-10-06)
7
-
8
-
9
- ### Features
10
-
11
- * [EXT-3161] bump app sdk to v4 ([#881](https://github.com/contentful/field-editors/issues/881)) ([9c4a2af](https://github.com/contentful/field-editors/commit/9c4a2af07da203d59fb5f15c3a5188ecc64b1d44))
12
-
13
-
6
+ ## [1.0.1](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@1.0.0...@contentful/field-editor-radio@1.0.1) (2021-11-17)
14
7
 
8
+ ### Bug Fixes
15
9
 
10
+ - **card-actions:** update forma 36 to fix card actions click issue ([#927](https://github.com/contentful/field-editors/issues/927)) ([3dfdef2](https://github.com/contentful/field-editors/commit/3dfdef2c2b0045f12ea94ddafca89a8e9f25e7d0))
16
11
 
17
- ## [0.13.4](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.13.3...@contentful/field-editor-radio@0.13.4) (2021-09-17)
12
+ # [1.0.0](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.15.0...@contentful/field-editor-radio@1.0.0) (2021-11-04)
18
13
 
19
14
  **Note:** Version bump only for package @contentful/field-editor-radio
20
15
 
16
+ # [0.15.0](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.14.1...@contentful/field-editor-radio@0.15.0) (2021-11-04)
17
+
18
+ ### Features
21
19
 
20
+ - Forma v4 components adoption ([#805](https://github.com/contentful/field-editors/issues/805)) ([526bde6](https://github.com/contentful/field-editors/commit/526bde6e10e0ee3789705ec10fb31489af7ca59e))
22
21
 
22
+ ### BREAKING CHANGES
23
23
 
24
+ - adopts a new Forma v4 beta
24
25
 
25
- ## [0.13.3](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.13.2...@contentful/field-editor-radio@0.13.3) (2021-09-16)
26
+ ## [0.14.1](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.14.0...@contentful/field-editor-radio@0.14.1) (2021-10-14)
26
27
 
27
28
  **Note:** Version bump only for package @contentful/field-editor-radio
28
29
 
30
+ # [0.14.0](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.13.4...@contentful/field-editor-radio@0.14.0) (2021-10-06)
29
31
 
32
+ ### Features
30
33
 
34
+ - [EXT-3161] bump app sdk to v4 ([#881](https://github.com/contentful/field-editors/issues/881)) ([9c4a2af](https://github.com/contentful/field-editors/commit/9c4a2af07da203d59fb5f15c3a5188ecc64b1d44))
31
35
 
32
-
33
- ## [0.13.2](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.13.1...@contentful/field-editor-radio@0.13.2) (2021-08-19)
36
+ ## [0.13.4](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.13.3...@contentful/field-editor-radio@0.13.4) (2021-09-17)
34
37
 
35
38
  **Note:** Version bump only for package @contentful/field-editor-radio
36
39
 
40
+ ## [0.13.3](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.13.2...@contentful/field-editor-radio@0.13.3) (2021-09-16)
37
41
 
42
+ **Note:** Version bump only for package @contentful/field-editor-radio
38
43
 
44
+ ## [0.13.2](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.13.1...@contentful/field-editor-radio@0.13.2) (2021-08-19)
39
45
 
46
+ **Note:** Version bump only for package @contentful/field-editor-radio
40
47
 
41
48
  ## [0.13.1](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.13.0...@contentful/field-editor-radio@0.13.1) (2021-07-29)
42
49
 
43
50
  **Note:** Version bump only for package @contentful/field-editor-radio
44
51
 
45
-
46
-
47
-
48
-
49
52
  # [0.13.0](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.12.6...@contentful/field-editor-radio@0.13.0) (2021-07-23)
50
53
 
51
-
52
54
  ### Features
53
55
 
54
- * 💡 new color tokens ([#778](https://github.com/contentful/field-editors/issues/778)) ([fba548d](https://github.com/contentful/field-editors/commit/fba548de32305016df7f2685634eefb14294828f))
55
-
56
-
57
-
58
-
56
+ - 💡 new color tokens ([#778](https://github.com/contentful/field-editors/issues/778)) ([fba548d](https://github.com/contentful/field-editors/commit/fba548de32305016df7f2685634eefb14294828f))
59
57
 
60
58
  ## [0.12.6](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.12.3...@contentful/field-editor-radio@0.12.6) (2021-07-06)
61
59
 
62
60
  **Note:** Version bump only for package @contentful/field-editor-radio
63
61
 
64
-
65
-
66
-
67
-
68
62
  ## [0.12.5](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.12.3...@contentful/field-editor-radio@0.12.5) (2021-07-06)
69
63
 
70
64
  **Note:** Version bump only for package @contentful/field-editor-radio
71
65
 
72
-
73
-
74
-
75
-
76
66
  ## [0.12.4](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.12.3...@contentful/field-editor-radio@0.12.4) (2021-06-23)
77
67
 
78
68
  **Note:** Version bump only for package @contentful/field-editor-radio
79
69
 
80
-
81
-
82
-
83
-
84
70
  ## [0.12.3](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.12.2...@contentful/field-editor-radio@0.12.3) (2021-06-23)
85
71
 
86
72
  **Note:** Version bump only for package @contentful/field-editor-radio
87
73
 
88
-
89
-
90
-
91
-
92
74
  ## [0.12.2](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.12.1...@contentful/field-editor-radio@0.12.2) (2021-06-22)
93
75
 
94
76
  **Note:** Version bump only for package @contentful/field-editor-radio
95
77
 
96
-
97
-
98
-
99
-
100
78
  ## [0.12.1](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.12.0...@contentful/field-editor-radio@0.12.1) (2021-03-05)
101
79
 
102
80
  **Note:** Version bump only for package @contentful/field-editor-radio
103
81
 
104
-
105
-
106
-
107
-
108
82
  # [0.12.0](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.11.1...@contentful/field-editor-radio@0.12.0) (2021-02-19)
109
83
 
110
-
111
84
  ### Features
112
85
 
113
- * bump min version of forma-36 ([#606](https://github.com/contentful/field-editors/issues/606)) ([fd57c7a](https://github.com/contentful/field-editors/commit/fd57c7a4312766af38c01507f17706ab22992617))
114
-
115
-
116
-
117
-
86
+ - bump min version of forma-36 ([#606](https://github.com/contentful/field-editors/issues/606)) ([fd57c7a](https://github.com/contentful/field-editors/commit/fd57c7a4312766af38c01507f17706ab22992617))
118
87
 
119
88
  ## [0.11.2](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.11.1...@contentful/field-editor-radio@0.11.2) (2021-02-09)
120
89
 
121
90
  **Note:** Version bump only for package @contentful/field-editor-radio
122
91
 
123
-
124
-
125
-
126
-
127
92
  ## [0.11.1](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.11.0...@contentful/field-editor-radio@0.11.1) (2021-02-01)
128
93
 
129
94
  **Note:** Version bump only for package @contentful/field-editor-radio
130
95
 
131
-
132
-
133
-
134
-
135
96
  # [0.11.0](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.10.1...@contentful/field-editor-radio@0.11.0) (2021-01-20)
136
97
 
137
-
138
98
  ### Features
139
99
 
140
- * update minimal forma-36 versions to use updated design ([#565](https://github.com/contentful/field-editors/issues/565)) ([332c734](https://github.com/contentful/field-editors/commit/332c734bfaf54f0e9773fcbb460d743b1f5459ec))
141
-
142
-
143
-
144
-
100
+ - update minimal forma-36 versions to use updated design ([#565](https://github.com/contentful/field-editors/issues/565)) ([332c734](https://github.com/contentful/field-editors/commit/332c734bfaf54f0e9773fcbb460d743b1f5459ec))
145
101
 
146
102
  ## [0.10.1](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.10.0...@contentful/field-editor-radio@0.10.1) (2021-01-15)
147
103
 
148
-
149
104
  ### Bug Fixes
150
105
 
151
- * 🐛 small layout adjustments ([#555](https://github.com/contentful/field-editors/issues/555)) ([235c594](https://github.com/contentful/field-editors/commit/235c5941db152d2921a9ef134c1a71b0069a4dc2))
152
-
153
-
154
-
155
-
106
+ - 🐛 small layout adjustments ([#555](https://github.com/contentful/field-editors/issues/555)) ([235c594](https://github.com/contentful/field-editors/commit/235c5941db152d2921a9ef134c1a71b0069a4dc2))
156
107
 
157
108
  # [0.10.0](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.9.5...@contentful/field-editor-radio@0.10.0) (2021-01-12)
158
109
 
159
-
160
110
  ### Features
161
111
 
162
- * update minimal required Forma version to the 3.73.12 ([#552](https://github.com/contentful/field-editors/issues/552)) ([2816fd9](https://github.com/contentful/field-editors/commit/2816fd960c28815faebf49a9ef8f4c4c0d91fc36))
163
-
164
-
165
-
166
-
112
+ - update minimal required Forma version to the 3.73.12 ([#552](https://github.com/contentful/field-editors/issues/552)) ([2816fd9](https://github.com/contentful/field-editors/commit/2816fd960c28815faebf49a9ef8f4c4c0d91fc36))
167
113
 
168
114
  ## [0.9.5](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.9.4...@contentful/field-editor-radio@0.9.5) (2020-12-16)
169
115
 
170
116
  **Note:** Version bump only for package @contentful/field-editor-radio
171
117
 
172
-
173
-
174
-
175
-
176
118
  ## [0.9.4](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.9.3...@contentful/field-editor-radio@0.9.4) (2020-11-06)
177
119
 
178
120
  **Note:** Version bump only for package @contentful/field-editor-radio
179
121
 
180
-
181
-
182
-
183
-
184
122
  ## [0.9.3](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.9.2...@contentful/field-editor-radio@0.9.3) (2020-11-06)
185
123
 
186
124
  **Note:** Version bump only for package @contentful/field-editor-radio
187
125
 
188
-
189
-
190
-
191
-
192
126
  ## [0.9.2](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.9.1...@contentful/field-editor-radio@0.9.2) (2020-10-28)
193
127
 
194
128
  **Note:** Version bump only for package @contentful/field-editor-radio
195
129
 
196
-
197
-
198
-
199
-
200
130
  ## [0.9.1](https://github.com/contentful/field-editors/compare/@contentful/field-editor-radio@0.9.0...@contentful/field-editor-radio@0.9.1) (2020-08-24)
201
131
 
202
132
  **Note:** Version bump only for package @contentful/field-editor-radio
package/README.md CHANGED
@@ -7,6 +7,5 @@ npm install @contentful/field-editor-radio
7
7
  This package contains a React `RadioEditor` component that is used for the `Text`,`Symbol`,`Integer` and `Number` field types in the Contentful web application.
8
8
 
9
9
  ```js
10
- import '@contentful/forma-36-react-components/dist/styles.css';
11
10
  import { RadioEditor } from '@contentful/field-editor-radio';
12
11
  ```
@@ -8,8 +8,8 @@ var React = require('react');
8
8
  var emotion = require('emotion');
9
9
  var fieldEditorShared = require('@contentful/field-editor-shared');
10
10
  var fieldEditorDropdown = require('@contentful/field-editor-dropdown');
11
- var forma36ReactComponents = require('@contentful/forma-36-react-components');
12
- var tokens = _interopDefault(require('@contentful/forma-36-tokens'));
11
+ var tokens = _interopDefault(require('@contentful/f36-tokens'));
12
+ var f36Components = require('@contentful/f36-components');
13
13
 
14
14
  var form = /*#__PURE__*/emotion.css({
15
15
  marginTop: tokens.spacingS
@@ -49,29 +49,28 @@ function RadioEditor(props) {
49
49
  setValue(undefined);
50
50
  };
51
51
 
52
- return React.createElement(forma36ReactComponents.Form, {
52
+ return React.createElement(f36Components.Form, {
53
53
  testId: "radio-editor",
54
- spacing: "condensed",
55
54
  className: emotion.cx(form, direction === 'rtl' ? rightToLeft : '')
56
55
  }, options.map(function (item, index) {
57
56
  var id = ['entity', field.id, field.locale, index, item.id].join('.');
58
57
  var checked = value === item.value;
59
- return React.createElement(forma36ReactComponents.Flex, {
58
+ return React.createElement(f36Components.Flex, {
60
59
  key: id,
61
- alignItems: "center"
62
- }, React.createElement(forma36ReactComponents.RadioButtonField, {
63
- labelIsLight: true,
60
+ alignItems: "center",
61
+ marginBottom: "spacingS"
62
+ }, React.createElement(f36Components.Radio, {
64
63
  id: id,
65
- checked: checked,
66
- labelText: item.label,
67
- disabled: disabled,
64
+ isDisabled: disabled,
68
65
  value: item.value === undefined ? '' : String(item.value),
66
+ isChecked: checked,
69
67
  onChange: function onChange(e) {
70
68
  if (e.target.checked) {
71
69
  setOption(e.target.value);
72
70
  }
73
71
  }
74
- }), checked && React.createElement(forma36ReactComponents.TextLink, {
72
+ }, item.label), checked && React.createElement(f36Components.TextLink, {
73
+ as: "button",
75
74
  className: clearBtn,
76
75
  onClick: clearOption
77
76
  }, "Clear"));
@@ -1 +1 @@
1
- {"version":3,"file":"field-editor-radio.cjs.development.js","sources":["../src/styles.ts","../src/RadioEditor.tsx"],"sourcesContent":["import { css } from 'emotion';\nimport tokens from '@contentful/forma-36-tokens';\n\nexport const form = css({\n marginTop: tokens.spacingS\n});\n\nexport const rightToLeft = css({\n direction: 'rtl'\n});\n\nexport const clearBtn = css({ marginLeft: tokens.spacingL });\n","import * as React from 'react';\nimport { cx } from 'emotion';\nimport {\n FieldAPI,\n FieldConnector,\n PredefinedValuesError,\n LocalesAPI,\n} from '@contentful/field-editor-shared';\nimport { getOptions, parseValue } from '@contentful/field-editor-dropdown';\nimport { Form, RadioButtonField, TextLink, Flex } from '@contentful/forma-36-react-components';\nimport * as styles from './styles';\n\nexport interface RadioEditorProps {\n /**\n * is the field disabled initially\n */\n isInitiallyDisabled: boolean;\n\n /**\n * sdk.field\n */\n field: FieldAPI;\n\n /**\n * sdk.locales\n */\n locales: LocalesAPI;\n}\n\nexport function RadioEditor(props: RadioEditorProps) {\n const { field, locales } = props;\n\n const options = getOptions(field);\n const misconfigured = options.length === 0;\n\n if (misconfigured) {\n return <PredefinedValuesError />;\n }\n\n const direction = locales.direction[field.locale] || 'ltr';\n\n return (\n <FieldConnector<string | number>\n throttle={0}\n field={field}\n isInitiallyDisabled={props.isInitiallyDisabled}>\n {({ disabled, value, setValue }) => {\n const setOption = (value: string) => {\n setValue(parseValue(value, field.type));\n };\n const clearOption = () => {\n setValue(undefined);\n };\n\n return (\n <Form\n testId=\"radio-editor\"\n spacing=\"condensed\"\n className={cx(styles.form, direction === 'rtl' ? styles.rightToLeft : '')}>\n {options.map((item, index) => {\n const id = ['entity', field.id, field.locale, index, item.id].join('.');\n const checked = value === item.value;\n return (\n <Flex key={id} alignItems=\"center\">\n <RadioButtonField\n labelIsLight\n id={id}\n checked={checked}\n labelText={item.label}\n disabled={disabled}\n value={item.value === undefined ? '' : String(item.value)}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.checked) {\n setOption(e.target.value);\n }\n }}\n />\n {checked && (\n <TextLink className={styles.clearBtn} onClick={clearOption}>\n Clear\n </TextLink>\n )}\n </Flex>\n );\n })}\n </Form>\n );\n }}\n </FieldConnector>\n );\n}\n\nRadioEditor.defaultProps = {\n isInitiallyDisabled: true,\n};\n"],"names":["form","css","marginTop","tokens","spacingS","rightToLeft","direction","clearBtn","marginLeft","spacingL","RadioEditor","props","field","locales","options","getOptions","misconfigured","length","React","PredefinedValuesError","locale","FieldConnector","throttle","isInitiallyDisabled","disabled","value","setValue","setOption","parseValue","type","clearOption","undefined","Form","testId","spacing","className","cx","styles","map","item","index","id","join","checked","Flex","key","alignItems","RadioButtonField","labelIsLight","labelText","label","String","onChange","e","target","TextLink","onClick","defaultProps"],"mappings":";;;;;;;;;;;;;AAGO,IAAMA,IAAI,gBAAGC,WAAG,CAAC;AACtBC,EAAAA,SAAS,EAAEC,MAAM,CAACC;AADI,CAAD,CAAhB;AAIA,IAAMC,WAAW,gBAAGJ,WAAG,CAAC;AAC7BK,EAAAA,SAAS,EAAE;AADkB,CAAD,CAAvB;AAIA,IAAMC,QAAQ,gBAAGN,WAAG,CAAC;AAAEO,EAAAA,UAAU,EAAEL,MAAM,CAACM;AAArB,CAAD,CAApB;;SCkBSC,YAAYC;AAC1B,MAAQC,KAAR,GAA2BD,KAA3B,CAAQC,KAAR;AAAA,MAAeC,OAAf,GAA2BF,KAA3B,CAAeE,OAAf;AAEA,MAAMC,OAAO,GAAGC,8BAAU,CAACH,KAAD,CAA1B;AACA,MAAMI,aAAa,GAAGF,OAAO,CAACG,MAAR,KAAmB,CAAzC;;AAEA,MAAID,aAAJ,EAAmB;AACjB,WAAOE,mBAAA,CAACC,uCAAD,MAAA,CAAP;AACD;;AAED,MAAMb,SAAS,GAAGO,OAAO,CAACP,SAAR,CAAkBM,KAAK,CAACQ,MAAxB,KAAmC,KAArD;AAEA,SACEF,mBAAA,CAACG,gCAAD;AACEC,IAAAA,QAAQ,EAAE;AACVV,IAAAA,KAAK,EAAEA;AACPW,IAAAA,mBAAmB,EAAEZ,KAAK,CAACY;GAH7B,EAIG;QAAGC,gBAAAA;QAAUC,aAAAA;QAAOC,gBAAAA;;AACnB,QAAMC,SAAS,GAAG,SAAZA,SAAY,CAACF,KAAD;AAChBC,MAAAA,QAAQ,CAACE,8BAAU,CAACH,KAAD,EAAQb,KAAK,CAACiB,IAAd,CAAX,CAAR;AACD,KAFD;;AAGA,QAAMC,WAAW,GAAG,SAAdA,WAAc;AAClBJ,MAAAA,QAAQ,CAACK,SAAD,CAAR;AACD,KAFD;;AAIA,WACEb,mBAAA,CAACc,2BAAD;AACEC,MAAAA,MAAM,EAAC;AACPC,MAAAA,OAAO,EAAC;AACRC,MAAAA,SAAS,EAAEC,UAAE,CAACC,IAAD,EAAc/B,SAAS,KAAK,KAAd,GAAsB+B,WAAtB,GAA2C,EAAzD;KAHf,EAIGvB,OAAO,CAACwB,GAAR,CAAY,UAACC,IAAD,EAAOC,KAAP;AACX,UAAMC,EAAE,GAAG,CAAC,QAAD,EAAW7B,KAAK,CAAC6B,EAAjB,EAAqB7B,KAAK,CAACQ,MAA3B,EAAmCoB,KAAnC,EAA0CD,IAAI,CAACE,EAA/C,EAAmDC,IAAnD,CAAwD,GAAxD,CAAX;AACA,UAAMC,OAAO,GAAGlB,KAAK,KAAKc,IAAI,CAACd,KAA/B;AACA,aACEP,mBAAA,CAAC0B,2BAAD;AAAMC,QAAAA,GAAG,EAAEJ;AAAIK,QAAAA,UAAU,EAAC;OAA1B,EACE5B,mBAAA,CAAC6B,uCAAD;AACEC,QAAAA,YAAY;AACZP,QAAAA,EAAE,EAAEA;AACJE,QAAAA,OAAO,EAAEA;AACTM,QAAAA,SAAS,EAAEV,IAAI,CAACW;AAChB1B,QAAAA,QAAQ,EAAEA;AACVC,QAAAA,KAAK,EAAEc,IAAI,CAACd,KAAL,KAAeM,SAAf,GAA2B,EAA3B,GAAgCoB,MAAM,CAACZ,IAAI,CAACd,KAAN;AAC7C2B,QAAAA,QAAQ,EAAE,kBAACC,CAAD;AACR,cAAIA,CAAC,CAACC,MAAF,CAASX,OAAb,EAAsB;AACpBhB,YAAAA,SAAS,CAAC0B,CAAC,CAACC,MAAF,CAAS7B,KAAV,CAAT;AACD;AACF;OAXH,CADF,EAcGkB,OAAO,IACNzB,mBAAA,CAACqC,+BAAD;AAAUpB,QAAAA,SAAS,EAAEE;AAAiBmB,QAAAA,OAAO,EAAE1B;OAA/C,SAAA,CAfJ,CADF;AAsBD,KAzBA,CAJH,CADF;AAiCD,GA7CH,CADF;AAiDD;AAEDpB,WAAW,CAAC+C,YAAZ,GAA2B;AACzBlC,EAAAA,mBAAmB,EAAE;AADI,CAA3B;;;;"}
1
+ {"version":3,"file":"field-editor-radio.cjs.development.js","sources":["../src/styles.ts","../src/RadioEditor.tsx"],"sourcesContent":["import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const form = css({\n marginTop: tokens.spacingS,\n});\n\nexport const rightToLeft = css({\n direction: 'rtl',\n});\n\nexport const clearBtn = css({ marginLeft: tokens.spacingL });\n","import * as React from 'react';\nimport { cx } from 'emotion';\nimport {\n FieldAPI,\n FieldConnector,\n PredefinedValuesError,\n LocalesAPI,\n} from '@contentful/field-editor-shared';\nimport { getOptions, parseValue } from '@contentful/field-editor-dropdown';\nimport * as styles from './styles';\n\nimport { TextLink, Flex, Radio, Form } from '@contentful/f36-components';\n\nexport interface RadioEditorProps {\n /**\n * is the field disabled initially\n */\n isInitiallyDisabled: boolean;\n\n /**\n * sdk.field\n */\n field: FieldAPI;\n\n /**\n * sdk.locales\n */\n locales: LocalesAPI;\n}\n\nexport function RadioEditor(props: RadioEditorProps) {\n const { field, locales } = props;\n\n const options = getOptions(field);\n const misconfigured = options.length === 0;\n\n if (misconfigured) {\n return <PredefinedValuesError />;\n }\n\n const direction = locales.direction[field.locale] || 'ltr';\n\n return (\n <FieldConnector<string | number>\n throttle={0}\n field={field}\n isInitiallyDisabled={props.isInitiallyDisabled}>\n {({ disabled, value, setValue }) => {\n const setOption = (value: string) => {\n setValue(parseValue(value, field.type));\n };\n const clearOption = () => {\n setValue(undefined);\n };\n\n return (\n <Form\n testId=\"radio-editor\"\n className={cx(styles.form, direction === 'rtl' ? styles.rightToLeft : '')}>\n {options.map((item, index) => {\n const id = ['entity', field.id, field.locale, index, item.id].join('.');\n const checked = value === item.value;\n return (\n <Flex key={id} alignItems=\"center\" marginBottom=\"spacingS\">\n <Radio\n id={id}\n isDisabled={disabled}\n value={item.value === undefined ? '' : String(item.value)}\n isChecked={checked}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.checked) {\n setOption(e.target.value);\n }\n }}>\n {item.label}\n </Radio>\n {checked && (\n <TextLink as=\"button\" className={styles.clearBtn} onClick={clearOption}>\n Clear\n </TextLink>\n )}\n </Flex>\n );\n })}\n </Form>\n );\n }}\n </FieldConnector>\n );\n}\n\nRadioEditor.defaultProps = {\n isInitiallyDisabled: true,\n};\n"],"names":["form","css","marginTop","tokens","spacingS","rightToLeft","direction","clearBtn","marginLeft","spacingL","RadioEditor","props","field","locales","options","getOptions","misconfigured","length","React","PredefinedValuesError","locale","FieldConnector","throttle","isInitiallyDisabled","disabled","value","setValue","setOption","parseValue","type","clearOption","undefined","Form","testId","className","cx","styles","map","item","index","id","join","checked","Flex","key","alignItems","marginBottom","Radio","isDisabled","String","isChecked","onChange","e","target","label","TextLink","as","onClick","defaultProps"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),r=require("emotion"),i=require("@contentful/field-editor-shared"),l=require("@contentful/field-editor-dropdown"),n=require("@contentful/forma-36-react-components"),a=(e=require("@contentful/forma-36-tokens"))&&"object"==typeof e&&"default"in e?e.default:e,o=r.css({marginTop:a.spacingS}),c=r.css({direction:"rtl"}),d=r.css({marginLeft:a.spacingL});function s(e){var a=e.field,s=e.locales,u=l.getOptions(a);if(0===u.length)return t.createElement(i.PredefinedValuesError,null);var f=s.direction[a.locale]||"ltr";return t.createElement(i.FieldConnector,{throttle:0,field:a,isInitiallyDisabled:e.isInitiallyDisabled},(function(e){var i=e.disabled,s=e.value,m=e.setValue,p=function(){m(void 0)};return t.createElement(n.Form,{testId:"radio-editor",spacing:"condensed",className:r.cx(o,"rtl"===f?c:"")},u.map((function(e,r){var o=["entity",a.id,a.locale,r,e.id].join("."),c=s===e.value;return t.createElement(n.Flex,{key:o,alignItems:"center"},t.createElement(n.RadioButtonField,{labelIsLight:!0,id:o,checked:c,labelText:e.label,disabled:i,value:void 0===e.value?"":String(e.value),onChange:function(e){e.target.checked&&function(e){m(l.parseValue(e,a.type))}(e.target.value)}}),c&&t.createElement(n.TextLink,{className:d,onClick:p},"Clear"))})))}))}s.defaultProps={isInitiallyDisabled:!0},exports.RadioEditor=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),i=require("emotion"),r=require("@contentful/field-editor-shared"),n=require("@contentful/field-editor-dropdown"),l=(e=require("@contentful/f36-tokens"))&&"object"==typeof e&&"default"in e?e.default:e,a=require("@contentful/f36-components"),o=i.css({marginTop:l.spacingS}),c=i.css({direction:"rtl"}),s=i.css({marginLeft:l.spacingL});function d(e){var l=e.field,d=e.locales,u=n.getOptions(l);if(0===u.length)return t.createElement(r.PredefinedValuesError,null);var f=d.direction[l.locale]||"ltr";return t.createElement(r.FieldConnector,{throttle:0,field:l,isInitiallyDisabled:e.isInitiallyDisabled},(function(e){var r=e.disabled,d=e.value,m=e.setValue,p=function(){m(void 0)};return t.createElement(a.Form,{testId:"radio-editor",className:i.cx(o,"rtl"===f?c:"")},u.map((function(e,i){var o=["entity",l.id,l.locale,i,e.id].join("."),c=d===e.value;return t.createElement(a.Flex,{key:o,alignItems:"center",marginBottom:"spacingS"},t.createElement(a.Radio,{id:o,isDisabled:r,value:void 0===e.value?"":String(e.value),isChecked:c,onChange:function(e){e.target.checked&&function(e){m(n.parseValue(e,l.type))}(e.target.value)}},e.label),c&&t.createElement(a.TextLink,{as:"button",className:s,onClick:p},"Clear"))})))}))}d.defaultProps={isInitiallyDisabled:!0},exports.RadioEditor=d;
2
2
  //# sourceMappingURL=field-editor-radio.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field-editor-radio.cjs.production.min.js","sources":["../src/styles.ts","../src/RadioEditor.tsx"],"sourcesContent":["import { css } from 'emotion';\nimport tokens from '@contentful/forma-36-tokens';\n\nexport const form = css({\n marginTop: tokens.spacingS\n});\n\nexport const rightToLeft = css({\n direction: 'rtl'\n});\n\nexport const clearBtn = css({ marginLeft: tokens.spacingL });\n","import * as React from 'react';\nimport { cx } from 'emotion';\nimport {\n FieldAPI,\n FieldConnector,\n PredefinedValuesError,\n LocalesAPI,\n} from '@contentful/field-editor-shared';\nimport { getOptions, parseValue } from '@contentful/field-editor-dropdown';\nimport { Form, RadioButtonField, TextLink, Flex } from '@contentful/forma-36-react-components';\nimport * as styles from './styles';\n\nexport interface RadioEditorProps {\n /**\n * is the field disabled initially\n */\n isInitiallyDisabled: boolean;\n\n /**\n * sdk.field\n */\n field: FieldAPI;\n\n /**\n * sdk.locales\n */\n locales: LocalesAPI;\n}\n\nexport function RadioEditor(props: RadioEditorProps) {\n const { field, locales } = props;\n\n const options = getOptions(field);\n const misconfigured = options.length === 0;\n\n if (misconfigured) {\n return <PredefinedValuesError />;\n }\n\n const direction = locales.direction[field.locale] || 'ltr';\n\n return (\n <FieldConnector<string | number>\n throttle={0}\n field={field}\n isInitiallyDisabled={props.isInitiallyDisabled}>\n {({ disabled, value, setValue }) => {\n const setOption = (value: string) => {\n setValue(parseValue(value, field.type));\n };\n const clearOption = () => {\n setValue(undefined);\n };\n\n return (\n <Form\n testId=\"radio-editor\"\n spacing=\"condensed\"\n className={cx(styles.form, direction === 'rtl' ? styles.rightToLeft : '')}>\n {options.map((item, index) => {\n const id = ['entity', field.id, field.locale, index, item.id].join('.');\n const checked = value === item.value;\n return (\n <Flex key={id} alignItems=\"center\">\n <RadioButtonField\n labelIsLight\n id={id}\n checked={checked}\n labelText={item.label}\n disabled={disabled}\n value={item.value === undefined ? '' : String(item.value)}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.checked) {\n setOption(e.target.value);\n }\n }}\n />\n {checked && (\n <TextLink className={styles.clearBtn} onClick={clearOption}>\n Clear\n </TextLink>\n )}\n </Flex>\n );\n })}\n </Form>\n );\n }}\n </FieldConnector>\n );\n}\n\nRadioEditor.defaultProps = {\n isInitiallyDisabled: true,\n};\n"],"names":["form","css","marginTop","tokens","spacingS","rightToLeft","direction","clearBtn","marginLeft","spacingL","RadioEditor","props","field","locales","options","getOptions","length","React","PredefinedValuesError","locale","FieldConnector","throttle","isInitiallyDisabled","disabled","value","setValue","clearOption","undefined","Form","testId","spacing","className","cx","styles","map","item","index","id","join","checked","Flex","key","alignItems","RadioButtonField","labelIsLight","labelText","label","String","onChange","e","target","parseValue","type","setOption","TextLink","onClick","defaultProps"],"mappings":"6VAGaA,EAAOC,MAAI,CACtBC,UAAWC,EAAOC,WAGPC,EAAcJ,MAAI,CAC7BK,UAAW,QAGAC,EAAWN,MAAI,CAAEO,WAAYL,EAAOM,oBCkBjCC,EAAYC,OAClBC,EAAmBD,EAAnBC,MAAOC,EAAYF,EAAZE,QAETC,EAAUC,aAAWH,MACc,IAAnBE,EAAQE,cAGrBC,gBAACC,kCAGJZ,EAAYO,EAAQP,UAAUM,EAAMO,SAAW,aAGnDF,gBAACG,kBACCC,SAAU,EACVT,MAAOA,EACPU,oBAAqBX,EAAMW,sBAC1B,gBAAGC,IAAAA,SAAUC,IAAAA,MAAOC,IAAAA,SAIbC,EAAc,WAClBD,OAASE,WAITV,gBAACW,QACCC,OAAO,eACPC,QAAQ,YACRC,UAAWC,KAAGC,EAA2B,QAAd3B,EAAsB2B,EAAqB,KACrEnB,EAAQoB,KAAI,SAACC,EAAMC,OACZC,EAAK,CAAC,SAAUzB,EAAMyB,GAAIzB,EAAMO,OAAQiB,EAAOD,EAAKE,IAAIC,KAAK,KAC7DC,EAAUf,IAAUW,EAAKX,aAE7BP,gBAACuB,QAAKC,IAAKJ,EAAIK,WAAW,UACxBzB,gBAAC0B,oBACCC,gBACAP,GAAIA,EACJE,QAASA,EACTM,UAAWV,EAAKW,MAChBvB,SAAUA,EACVC,WAAsBG,IAAfQ,EAAKX,MAAsB,GAAKuB,OAAOZ,EAAKX,OACnDwB,SAAU,SAACC,GACLA,EAAEC,OAAOX,SAzBT,SAACf,GACjBC,EAAS0B,aAAW3B,EAAOZ,EAAMwC,OAyBnBC,CAAUJ,EAAEC,OAAO1B,UAIxBe,GACCtB,gBAACqC,YAASvB,UAAWE,EAAiBsB,QAAS7B,oBAcnEhB,EAAY8C,aAAe,CACzBlC,qBAAqB"}
1
+ {"version":3,"file":"field-editor-radio.cjs.production.min.js","sources":["../src/styles.ts","../src/RadioEditor.tsx"],"sourcesContent":["import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const form = css({\n marginTop: tokens.spacingS,\n});\n\nexport const rightToLeft = css({\n direction: 'rtl',\n});\n\nexport const clearBtn = css({ marginLeft: tokens.spacingL });\n","import * as React from 'react';\nimport { cx } from 'emotion';\nimport {\n FieldAPI,\n FieldConnector,\n PredefinedValuesError,\n LocalesAPI,\n} from '@contentful/field-editor-shared';\nimport { getOptions, parseValue } from '@contentful/field-editor-dropdown';\nimport * as styles from './styles';\n\nimport { TextLink, Flex, Radio, Form } from '@contentful/f36-components';\n\nexport interface RadioEditorProps {\n /**\n * is the field disabled initially\n */\n isInitiallyDisabled: boolean;\n\n /**\n * sdk.field\n */\n field: FieldAPI;\n\n /**\n * sdk.locales\n */\n locales: LocalesAPI;\n}\n\nexport function RadioEditor(props: RadioEditorProps) {\n const { field, locales } = props;\n\n const options = getOptions(field);\n const misconfigured = options.length === 0;\n\n if (misconfigured) {\n return <PredefinedValuesError />;\n }\n\n const direction = locales.direction[field.locale] || 'ltr';\n\n return (\n <FieldConnector<string | number>\n throttle={0}\n field={field}\n isInitiallyDisabled={props.isInitiallyDisabled}>\n {({ disabled, value, setValue }) => {\n const setOption = (value: string) => {\n setValue(parseValue(value, field.type));\n };\n const clearOption = () => {\n setValue(undefined);\n };\n\n return (\n <Form\n testId=\"radio-editor\"\n className={cx(styles.form, direction === 'rtl' ? styles.rightToLeft : '')}>\n {options.map((item, index) => {\n const id = ['entity', field.id, field.locale, index, item.id].join('.');\n const checked = value === item.value;\n return (\n <Flex key={id} alignItems=\"center\" marginBottom=\"spacingS\">\n <Radio\n id={id}\n isDisabled={disabled}\n value={item.value === undefined ? '' : String(item.value)}\n isChecked={checked}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.checked) {\n setOption(e.target.value);\n }\n }}>\n {item.label}\n </Radio>\n {checked && (\n <TextLink as=\"button\" className={styles.clearBtn} onClick={clearOption}>\n Clear\n </TextLink>\n )}\n </Flex>\n );\n })}\n </Form>\n );\n }}\n </FieldConnector>\n );\n}\n\nRadioEditor.defaultProps = {\n isInitiallyDisabled: true,\n};\n"],"names":["form","css","marginTop","tokens","spacingS","rightToLeft","direction","clearBtn","marginLeft","spacingL","RadioEditor","props","field","locales","options","getOptions","length","React","PredefinedValuesError","locale","FieldConnector","throttle","isInitiallyDisabled","disabled","value","setValue","clearOption","undefined","Form","testId","className","cx","styles","map","item","index","id","join","checked","Flex","key","alignItems","marginBottom","Radio","isDisabled","String","isChecked","onChange","e","target","parseValue","type","setOption","label","TextLink","as","onClick","defaultProps"],"mappings":"6UAGaA,EAAOC,MAAI,CACtBC,UAAWC,EAAOC,WAGPC,EAAcJ,MAAI,CAC7BK,UAAW,QAGAC,EAAWN,MAAI,CAAEO,WAAYL,EAAOM,oBCmBjCC,EAAYC,OAClBC,EAAmBD,EAAnBC,MAAOC,EAAYF,EAAZE,QAETC,EAAUC,aAAWH,MACc,IAAnBE,EAAQE,cAGrBC,gBAACC,kCAGJZ,EAAYO,EAAQP,UAAUM,EAAMO,SAAW,aAGnDF,gBAACG,kBACCC,SAAU,EACVT,MAAOA,EACPU,oBAAqBX,EAAMW,sBAC1B,gBAAGC,IAAAA,SAAUC,IAAAA,MAAOC,IAAAA,SAIbC,EAAc,WAClBD,OAASE,WAITV,gBAACW,QACCC,OAAO,eACPC,UAAWC,KAAGC,EAA2B,QAAd1B,EAAsB0B,EAAqB,KACrElB,EAAQmB,KAAI,SAACC,EAAMC,OACZC,EAAK,CAAC,SAAUxB,EAAMwB,GAAIxB,EAAMO,OAAQgB,EAAOD,EAAKE,IAAIC,KAAK,KAC7DC,EAAUd,IAAUU,EAAKV,aAE7BP,gBAACsB,QAAKC,IAAKJ,EAAIK,WAAW,SAASC,aAAa,YAC9CzB,gBAAC0B,SACCP,GAAIA,EACJQ,WAAYrB,EACZC,WAAsBG,IAAfO,EAAKV,MAAsB,GAAKqB,OAAOX,EAAKV,OACnDsB,UAAWR,EACXS,SAAU,SAACC,GACLA,EAAEC,OAAOX,SAtBT,SAACd,GACjBC,EAASyB,aAAW1B,EAAOZ,EAAMuC,OAsBnBC,CAAUJ,EAAEC,OAAOzB,SAGtBU,EAAKmB,OAEPf,GACCrB,gBAACqC,YAASC,GAAG,SAASzB,UAAWE,EAAiBwB,QAAS9B,oBAc/EhB,EAAY+C,aAAe,CACzBnC,qBAAqB"}
@@ -2,8 +2,8 @@ import { createElement } from 'react';
2
2
  import { css, cx } from 'emotion';
3
3
  import { PredefinedValuesError, FieldConnector } from '@contentful/field-editor-shared';
4
4
  import { getOptions, parseValue } from '@contentful/field-editor-dropdown';
5
- import { Form, Flex, RadioButtonField, TextLink } from '@contentful/forma-36-react-components';
6
- import tokens from '@contentful/forma-36-tokens';
5
+ import tokens from '@contentful/f36-tokens';
6
+ import { Form, Flex, Radio, TextLink } from '@contentful/f36-components';
7
7
 
8
8
  var form = /*#__PURE__*/css({
9
9
  marginTop: tokens.spacingS
@@ -45,27 +45,26 @@ function RadioEditor(props) {
45
45
 
46
46
  return createElement(Form, {
47
47
  testId: "radio-editor",
48
- spacing: "condensed",
49
48
  className: cx(form, direction === 'rtl' ? rightToLeft : '')
50
49
  }, options.map(function (item, index) {
51
50
  var id = ['entity', field.id, field.locale, index, item.id].join('.');
52
51
  var checked = value === item.value;
53
52
  return createElement(Flex, {
54
53
  key: id,
55
- alignItems: "center"
56
- }, createElement(RadioButtonField, {
57
- labelIsLight: true,
54
+ alignItems: "center",
55
+ marginBottom: "spacingS"
56
+ }, createElement(Radio, {
58
57
  id: id,
59
- checked: checked,
60
- labelText: item.label,
61
- disabled: disabled,
58
+ isDisabled: disabled,
62
59
  value: item.value === undefined ? '' : String(item.value),
60
+ isChecked: checked,
63
61
  onChange: function onChange(e) {
64
62
  if (e.target.checked) {
65
63
  setOption(e.target.value);
66
64
  }
67
65
  }
68
- }), checked && createElement(TextLink, {
66
+ }, item.label), checked && createElement(TextLink, {
67
+ as: "button",
69
68
  className: clearBtn,
70
69
  onClick: clearOption
71
70
  }, "Clear"));
@@ -1 +1 @@
1
- {"version":3,"file":"field-editor-radio.esm.js","sources":["../src/styles.ts","../src/RadioEditor.tsx"],"sourcesContent":["import { css } from 'emotion';\nimport tokens from '@contentful/forma-36-tokens';\n\nexport const form = css({\n marginTop: tokens.spacingS\n});\n\nexport const rightToLeft = css({\n direction: 'rtl'\n});\n\nexport const clearBtn = css({ marginLeft: tokens.spacingL });\n","import * as React from 'react';\nimport { cx } from 'emotion';\nimport {\n FieldAPI,\n FieldConnector,\n PredefinedValuesError,\n LocalesAPI,\n} from '@contentful/field-editor-shared';\nimport { getOptions, parseValue } from '@contentful/field-editor-dropdown';\nimport { Form, RadioButtonField, TextLink, Flex } from '@contentful/forma-36-react-components';\nimport * as styles from './styles';\n\nexport interface RadioEditorProps {\n /**\n * is the field disabled initially\n */\n isInitiallyDisabled: boolean;\n\n /**\n * sdk.field\n */\n field: FieldAPI;\n\n /**\n * sdk.locales\n */\n locales: LocalesAPI;\n}\n\nexport function RadioEditor(props: RadioEditorProps) {\n const { field, locales } = props;\n\n const options = getOptions(field);\n const misconfigured = options.length === 0;\n\n if (misconfigured) {\n return <PredefinedValuesError />;\n }\n\n const direction = locales.direction[field.locale] || 'ltr';\n\n return (\n <FieldConnector<string | number>\n throttle={0}\n field={field}\n isInitiallyDisabled={props.isInitiallyDisabled}>\n {({ disabled, value, setValue }) => {\n const setOption = (value: string) => {\n setValue(parseValue(value, field.type));\n };\n const clearOption = () => {\n setValue(undefined);\n };\n\n return (\n <Form\n testId=\"radio-editor\"\n spacing=\"condensed\"\n className={cx(styles.form, direction === 'rtl' ? styles.rightToLeft : '')}>\n {options.map((item, index) => {\n const id = ['entity', field.id, field.locale, index, item.id].join('.');\n const checked = value === item.value;\n return (\n <Flex key={id} alignItems=\"center\">\n <RadioButtonField\n labelIsLight\n id={id}\n checked={checked}\n labelText={item.label}\n disabled={disabled}\n value={item.value === undefined ? '' : String(item.value)}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.checked) {\n setOption(e.target.value);\n }\n }}\n />\n {checked && (\n <TextLink className={styles.clearBtn} onClick={clearOption}>\n Clear\n </TextLink>\n )}\n </Flex>\n );\n })}\n </Form>\n );\n }}\n </FieldConnector>\n );\n}\n\nRadioEditor.defaultProps = {\n isInitiallyDisabled: true,\n};\n"],"names":["form","css","marginTop","tokens","spacingS","rightToLeft","direction","clearBtn","marginLeft","spacingL","RadioEditor","props","field","locales","options","getOptions","misconfigured","length","React","PredefinedValuesError","locale","FieldConnector","throttle","isInitiallyDisabled","disabled","value","setValue","setOption","parseValue","type","clearOption","undefined","Form","testId","spacing","className","cx","styles","map","item","index","id","join","checked","Flex","key","alignItems","RadioButtonField","labelIsLight","labelText","label","String","onChange","e","target","TextLink","onClick","defaultProps"],"mappings":"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"}
1
+ {"version":3,"file":"field-editor-radio.esm.js","sources":["../src/styles.ts","../src/RadioEditor.tsx"],"sourcesContent":["import { css } from 'emotion';\nimport tokens from '@contentful/f36-tokens';\n\nexport const form = css({\n marginTop: tokens.spacingS,\n});\n\nexport const rightToLeft = css({\n direction: 'rtl',\n});\n\nexport const clearBtn = css({ marginLeft: tokens.spacingL });\n","import * as React from 'react';\nimport { cx } from 'emotion';\nimport {\n FieldAPI,\n FieldConnector,\n PredefinedValuesError,\n LocalesAPI,\n} from '@contentful/field-editor-shared';\nimport { getOptions, parseValue } from '@contentful/field-editor-dropdown';\nimport * as styles from './styles';\n\nimport { TextLink, Flex, Radio, Form } from '@contentful/f36-components';\n\nexport interface RadioEditorProps {\n /**\n * is the field disabled initially\n */\n isInitiallyDisabled: boolean;\n\n /**\n * sdk.field\n */\n field: FieldAPI;\n\n /**\n * sdk.locales\n */\n locales: LocalesAPI;\n}\n\nexport function RadioEditor(props: RadioEditorProps) {\n const { field, locales } = props;\n\n const options = getOptions(field);\n const misconfigured = options.length === 0;\n\n if (misconfigured) {\n return <PredefinedValuesError />;\n }\n\n const direction = locales.direction[field.locale] || 'ltr';\n\n return (\n <FieldConnector<string | number>\n throttle={0}\n field={field}\n isInitiallyDisabled={props.isInitiallyDisabled}>\n {({ disabled, value, setValue }) => {\n const setOption = (value: string) => {\n setValue(parseValue(value, field.type));\n };\n const clearOption = () => {\n setValue(undefined);\n };\n\n return (\n <Form\n testId=\"radio-editor\"\n className={cx(styles.form, direction === 'rtl' ? styles.rightToLeft : '')}>\n {options.map((item, index) => {\n const id = ['entity', field.id, field.locale, index, item.id].join('.');\n const checked = value === item.value;\n return (\n <Flex key={id} alignItems=\"center\" marginBottom=\"spacingS\">\n <Radio\n id={id}\n isDisabled={disabled}\n value={item.value === undefined ? '' : String(item.value)}\n isChecked={checked}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n if (e.target.checked) {\n setOption(e.target.value);\n }\n }}>\n {item.label}\n </Radio>\n {checked && (\n <TextLink as=\"button\" className={styles.clearBtn} onClick={clearOption}>\n Clear\n </TextLink>\n )}\n </Flex>\n );\n })}\n </Form>\n );\n }}\n </FieldConnector>\n );\n}\n\nRadioEditor.defaultProps = {\n isInitiallyDisabled: true,\n};\n"],"names":["form","css","marginTop","tokens","spacingS","rightToLeft","direction","clearBtn","marginLeft","spacingL","RadioEditor","props","field","locales","options","getOptions","misconfigured","length","React","PredefinedValuesError","locale","FieldConnector","throttle","isInitiallyDisabled","disabled","value","setValue","setOption","parseValue","type","clearOption","undefined","Form","testId","className","cx","styles","map","item","index","id","join","checked","Flex","key","alignItems","marginBottom","Radio","isDisabled","String","isChecked","onChange","e","target","label","TextLink","as","onClick","defaultProps"],"mappings":";;;;;;;AAGO,IAAMA,IAAI,gBAAGC,GAAG,CAAC;AACtBC,EAAAA,SAAS,EAAEC,MAAM,CAACC;AADI,CAAD,CAAhB;AAIA,IAAMC,WAAW,gBAAGJ,GAAG,CAAC;AAC7BK,EAAAA,SAAS,EAAE;AADkB,CAAD,CAAvB;AAIA,IAAMC,QAAQ,gBAAGN,GAAG,CAAC;AAAEO,EAAAA,UAAU,EAAEL,MAAM,CAACM;AAArB,CAAD,CAApB;;SCmBSC,YAAYC;AAC1B,MAAQC,KAAR,GAA2BD,KAA3B,CAAQC,KAAR;AAAA,MAAeC,OAAf,GAA2BF,KAA3B,CAAeE,OAAf;AAEA,MAAMC,OAAO,GAAGC,UAAU,CAACH,KAAD,CAA1B;AACA,MAAMI,aAAa,GAAGF,OAAO,CAACG,MAAR,KAAmB,CAAzC;;AAEA,MAAID,aAAJ,EAAmB;AACjB,WAAOE,aAAA,CAACC,qBAAD,MAAA,CAAP;AACD;;AAED,MAAMb,SAAS,GAAGO,OAAO,CAACP,SAAR,CAAkBM,KAAK,CAACQ,MAAxB,KAAmC,KAArD;AAEA,SACEF,aAAA,CAACG,cAAD;AACEC,IAAAA,QAAQ,EAAE;AACVV,IAAAA,KAAK,EAAEA;AACPW,IAAAA,mBAAmB,EAAEZ,KAAK,CAACY;GAH7B,EAIG;QAAGC,gBAAAA;QAAUC,aAAAA;QAAOC,gBAAAA;;AACnB,QAAMC,SAAS,GAAG,SAAZA,SAAY,CAACF,KAAD;AAChBC,MAAAA,QAAQ,CAACE,UAAU,CAACH,KAAD,EAAQb,KAAK,CAACiB,IAAd,CAAX,CAAR;AACD,KAFD;;AAGA,QAAMC,WAAW,GAAG,SAAdA,WAAc;AAClBJ,MAAAA,QAAQ,CAACK,SAAD,CAAR;AACD,KAFD;;AAIA,WACEb,aAAA,CAACc,IAAD;AACEC,MAAAA,MAAM,EAAC;AACPC,MAAAA,SAAS,EAAEC,EAAE,CAACC,IAAD,EAAc9B,SAAS,KAAK,KAAd,GAAsB8B,WAAtB,GAA2C,EAAzD;KAFf,EAGGtB,OAAO,CAACuB,GAAR,CAAY,UAACC,IAAD,EAAOC,KAAP;AACX,UAAMC,EAAE,GAAG,CAAC,QAAD,EAAW5B,KAAK,CAAC4B,EAAjB,EAAqB5B,KAAK,CAACQ,MAA3B,EAAmCmB,KAAnC,EAA0CD,IAAI,CAACE,EAA/C,EAAmDC,IAAnD,CAAwD,GAAxD,CAAX;AACA,UAAMC,OAAO,GAAGjB,KAAK,KAAKa,IAAI,CAACb,KAA/B;AACA,aACEP,aAAA,CAACyB,IAAD;AAAMC,QAAAA,GAAG,EAAEJ;AAAIK,QAAAA,UAAU,EAAC;AAASC,QAAAA,YAAY,EAAC;OAAhD,EACE5B,aAAA,CAAC6B,KAAD;AACEP,QAAAA,EAAE,EAAEA;AACJQ,QAAAA,UAAU,EAAExB;AACZC,QAAAA,KAAK,EAAEa,IAAI,CAACb,KAAL,KAAeM,SAAf,GAA2B,EAA3B,GAAgCkB,MAAM,CAACX,IAAI,CAACb,KAAN;AAC7CyB,QAAAA,SAAS,EAAER;AACXS,QAAAA,QAAQ,EAAE,kBAACC,CAAD;AACR,cAAIA,CAAC,CAACC,MAAF,CAASX,OAAb,EAAsB;AACpBf,YAAAA,SAAS,CAACyB,CAAC,CAACC,MAAF,CAAS5B,KAAV,CAAT;AACD;AACF;OATH,EAUGa,IAAI,CAACgB,KAVR,CADF,EAaGZ,OAAO,IACNxB,aAAA,CAACqC,QAAD;AAAUC,QAAAA,EAAE,EAAC;AAAStB,QAAAA,SAAS,EAAEE;AAAiBqB,QAAAA,OAAO,EAAE3B;OAA3D,SAAA,CAdJ,CADF;AAqBD,KAxBA,CAHH,CADF;AA+BD,GA3CH,CADF;AA+CD;AAEDpB,WAAW,CAACgD,YAAZ,GAA2B;AACzBnC,EAAAA,mBAAmB,EAAE;AADI,CAA3B;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/field-editor-radio",
3
- "version": "0.14.0",
3
+ "version": "1.0.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/field-editor-radio.esm.js",
6
6
  "typings": "dist/index.d.ts",
@@ -21,17 +21,17 @@
21
21
  "tsc": "tsc -p ./ --noEmit"
22
22
  },
23
23
  "dependencies": {
24
- "@contentful/field-editor-dropdown": "^0.15.0",
25
- "@contentful/field-editor-shared": "^0.25.0",
26
- "@contentful/forma-36-react-components": "^3.93.4",
27
- "@contentful/forma-36-tokens": "^0.11.0",
24
+ "@contentful/f36-components": "^4.0.1-beta.2527",
25
+ "@contentful/f36-tokens": "^4.0.1-beta.2527",
26
+ "@contentful/field-editor-dropdown": "^1.0.1",
27
+ "@contentful/field-editor-shared": "^1.0.1",
28
28
  "emotion": "^10.0.17",
29
29
  "lodash": "^4.17.15",
30
30
  "lodash-es": "^4.17.15",
31
31
  "nanoid": "^3.1.3"
32
32
  },
33
33
  "devDependencies": {
34
- "@contentful/field-editor-test-utils": "^0.18.0",
34
+ "@contentful/field-editor-test-utils": "^1.0.1",
35
35
  "contentful-management": "^7.42.1"
36
36
  },
37
37
  "peerDependencies": {
@@ -47,5 +47,5 @@
47
47
  }
48
48
  }
49
49
  },
50
- "gitHead": "917572e21ded4ddb74828b2e1b2ce7bdc1c14fc8"
50
+ "gitHead": "3dc7130a751de690903c572edfcdfdf3587b57bf"
51
51
  }