@faststore/ui 2.0.49-alpha.0 → 2.0.50-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/molecules/SkuSelector/SkuSelector.js +1 -2
- package/dist/components/molecules/SkuSelector/SkuSelector.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/molecules/SkuSelector/SkuSelector.tsx +1 -2
- package/src/index.ts +0 -9
- package/dist/components/molecules/RadioGroup/RadioGroup.d.ts +0 -5
- package/dist/components/molecules/RadioGroup/RadioGroup.js +0 -10
- package/dist/components/molecules/RadioGroup/RadioGroup.js.map +0 -1
- package/dist/components/molecules/RadioGroup/RadioOption.d.ts +0 -19
- package/dist/components/molecules/RadioGroup/RadioOption.js +0 -11
- package/dist/components/molecules/RadioGroup/RadioOption.js.map +0 -1
- package/dist/components/molecules/RadioGroup/index.d.ts +0 -4
- package/dist/components/molecules/RadioGroup/index.js +0 -3
- package/dist/components/molecules/RadioGroup/index.js.map +0 -1
- package/dist/components/molecules/RadioGroup/useRadioGroup.d.ts +0 -17
- package/dist/components/molecules/RadioGroup/useRadioGroup.js +0 -10
- package/dist/components/molecules/RadioGroup/useRadioGroup.js.map +0 -1
- package/src/components/molecules/RadioGroup/RadioGroup.tsx +0 -25
- package/src/components/molecules/RadioGroup/RadioOption.tsx +0 -49
- package/src/components/molecules/RadioGroup/index.tsx +0 -5
- package/src/components/molecules/RadioGroup/useRadioGroup.ts +0 -33
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React, { forwardRef } from 'react';
|
|
2
|
-
import { Label } from '@faststore/components';
|
|
3
|
-
import RadioGroup from '../RadioGroup';
|
|
2
|
+
import { Label, RadioGroup } from '@faststore/components';
|
|
4
3
|
const SkuSelector = forwardRef(function SkuSelector({ id, label, variant, onChange, testId = 'store-sku-selector', activeValue, children, ...otherProps }, ref) {
|
|
5
4
|
const radioGroupId = id ? `-${id}` : '';
|
|
6
5
|
return (React.createElement("div", { ref: ref, "data-fs-sku-selector": true, "data-testid": testId, "data-fs-sku-selector-variant": variant, ...otherProps },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkuSelector.js","sourceRoot":"","sources":["../../../../src/components/molecules/SkuSelector/SkuSelector.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"SkuSelector.js","sourceRoot":"","sources":["../../../../src/components/molecules/SkuSelector/SkuSelector.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AA4DzD,MAAM,WAAW,GAAG,UAAU,CAC5B,SAAS,WAAW,CAClB,EACE,EAAE,EACF,KAAK,EACL,OAAO,EACP,QAAQ,EACR,MAAM,GAAG,oBAAoB,EAC7B,WAAW,EACX,QAAQ,EACR,GAAG,UAAU,EACd,EACD,GAAG;IAEH,MAAM,YAAY,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAEvC,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,+CAEK,MAAM,kCACW,OAAO,KACjC,UAAU;QAEb,KAAK,IAAI,CACR,oBAAC,KAAK;YACH,KAAK;;YAAG,oCAAS,WAAW,CAAU,CACjC,CACT;QACD,oBAAC,UAAU,IACT,aAAa,EAAE,WAAW,EAC1B,IAAI,EAAE,gBAAgB,OAAO,GAAG,YAAY,EAAE,EAC9C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;gBACd,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;YACf,CAAC,IAEA,QAAQ,CACE,CACT,CACP,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,WAAW,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -43,8 +43,6 @@ export { default as LoadingButton } from './components/molecules/LoadingButton';
|
|
|
43
43
|
export type { LoadingButtonProps } from './components/molecules/LoadingButton';
|
|
44
44
|
export { default as PriceRange } from './components/molecules/PriceRange';
|
|
45
45
|
export type { PriceRangeProps } from './components/molecules/PriceRange';
|
|
46
|
-
export { default as RadioGroup, RadioOption, } from './components/molecules/RadioGroup';
|
|
47
|
-
export type { RadioGroupProps, RadioOptionProps, } from './components/molecules/RadioGroup';
|
|
48
46
|
export { default as Form } from './components/molecules/Form';
|
|
49
47
|
export type { FormProps } from './components/molecules/Form';
|
|
50
48
|
export { default as OutOfStock, OutOfStockTitle, OutOfStockMessage, } from './components/organisms/OutOfStock';
|
package/dist/index.js
CHANGED
|
@@ -23,7 +23,6 @@ export { default as PaymentMethods } from './components/molecules/PaymentMethods
|
|
|
23
23
|
export { default as Breadcrumb } from './components/molecules/Breadcrumb';
|
|
24
24
|
export { default as LoadingButton } from './components/molecules/LoadingButton';
|
|
25
25
|
export { default as PriceRange } from './components/molecules/PriceRange';
|
|
26
|
-
export { default as RadioGroup, RadioOption, } from './components/molecules/RadioGroup';
|
|
27
26
|
export { default as Form } from './components/molecules/Form';
|
|
28
27
|
// Organisms
|
|
29
28
|
export { default as OutOfStock, OutOfStockTitle, OutOfStockMessage, } from './components/organisms/OutOfStock';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AAErC,QAAQ;AACR,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAG/D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAGjE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAG7D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAGjE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAG/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAGnE,YAAY;AACZ,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAG3E,OAAO,EACL,OAAO,IAAI,IAAI,EACf,WAAW,EACX,SAAS,GACV,MAAM,6BAA6B,CAAA;AAOpC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAG7E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAG7E,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,oCAAoC,CAAA;AAQ3C,OAAO,EACL,OAAO,IAAI,IAAI,EACf,SAAS,EACT,WAAW,EACX,WAAW,GACZ,MAAM,6BAA6B,CAAA;AAQpC,OAAO,EACL,OAAO,IAAI,QAAQ,EACnB,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,iCAAiC,CAAA;AAWxC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAGnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAM3E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAGrE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAG/D,OAAO,EACL,OAAO,IAAI,MAAM,EACjB,aAAa,EACb,WAAW,EACX,UAAU,GACX,MAAM,+BAA+B,CAAA;AAQtC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAGjF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAGzE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAA;AAG/E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAGzE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AAErC,QAAQ;AACR,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAG/D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAGjE,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAG7D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAGjE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,4BAA4B,CAAA;AAG/D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAGnE,YAAY;AACZ,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAG3E,OAAO,EACL,OAAO,IAAI,IAAI,EACf,WAAW,EACX,SAAS,GACV,MAAM,6BAA6B,CAAA;AAOpC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAG7E,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,qCAAqC,CAAA;AAG7E,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,oCAAoC,CAAA;AAQ3C,OAAO,EACL,OAAO,IAAI,IAAI,EACf,SAAS,EACT,WAAW,EACX,WAAW,GACZ,MAAM,6BAA6B,CAAA;AAQpC,OAAO,EACL,OAAO,IAAI,QAAQ,EACnB,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,EACd,eAAe,EACf,aAAa,GACd,MAAM,iCAAiC,CAAA;AAWxC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAGnE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAM3E,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAGrE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAG/D,OAAO,EACL,OAAO,IAAI,MAAM,EACjB,aAAa,EACb,WAAW,EACX,UAAU,GACX,MAAM,+BAA+B,CAAA;AAQtC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,uCAAuC,CAAA;AAGjF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAGzE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAA;AAG/E,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAA;AAGzE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAG7D,YAAY;AACZ,OAAO,EACL,OAAO,IAAI,UAAU,EACrB,eAAe,EACf,iBAAiB,GAClB,MAAM,mCAAmC,CAAA;AAO1C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAA;AAG1D,QAAQ;AACR,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,mBAAmB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/ui",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.50-alpha.0",
|
|
4
4
|
"description": "A lightweight, framework agnostic component library for React",
|
|
5
5
|
"author": "emersonlaurentino",
|
|
6
6
|
"license": "MIT",
|
|
@@ -59,5 +59,5 @@
|
|
|
59
59
|
"node": "16.18.0",
|
|
60
60
|
"yarn": "1.19.1"
|
|
61
61
|
},
|
|
62
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "ff4612f903a6be4e99df0b614a032b21ad7dc711"
|
|
63
63
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { ChangeEventHandler, HTMLAttributes } from 'react'
|
|
2
2
|
import React, { forwardRef } from 'react'
|
|
3
|
-
import { Label } from '@faststore/components'
|
|
4
|
-
import RadioGroup from '../RadioGroup'
|
|
3
|
+
import { Label, RadioGroup } from '@faststore/components'
|
|
5
4
|
|
|
6
5
|
interface SkuProps {
|
|
7
6
|
/**
|
package/src/index.ts
CHANGED
|
@@ -125,15 +125,6 @@ export type { LoadingButtonProps } from './components/molecules/LoadingButton'
|
|
|
125
125
|
export { default as PriceRange } from './components/molecules/PriceRange'
|
|
126
126
|
export type { PriceRangeProps } from './components/molecules/PriceRange'
|
|
127
127
|
|
|
128
|
-
export {
|
|
129
|
-
default as RadioGroup,
|
|
130
|
-
RadioOption,
|
|
131
|
-
} from './components/molecules/RadioGroup'
|
|
132
|
-
export type {
|
|
133
|
-
RadioGroupProps,
|
|
134
|
-
RadioOptionProps,
|
|
135
|
-
} from './components/molecules/RadioGroup'
|
|
136
|
-
|
|
137
128
|
export { default as Form } from './components/molecules/Form'
|
|
138
129
|
export type { FormProps } from './components/molecules/Form'
|
|
139
130
|
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { PropsWithChildren } from 'react';
|
|
2
|
-
import { RadioGroupContext } from './useRadioGroup';
|
|
3
|
-
export type RadioGroupProps = PropsWithChildren<RadioGroupContext>;
|
|
4
|
-
declare const RadioGroup: ({ name, onChange, children, selectedValue, }: RadioGroupProps) => JSX.Element;
|
|
5
|
-
export default RadioGroup;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { RadioGroupContext } from './useRadioGroup';
|
|
3
|
-
const RadioGroup = ({ name, onChange, children, selectedValue, }) => {
|
|
4
|
-
const contextValues = React.useMemo(() => {
|
|
5
|
-
return { name, selectedValue, onChange };
|
|
6
|
-
}, [name, selectedValue, onChange]);
|
|
7
|
-
return (React.createElement(RadioGroupContext.Provider, { value: contextValues }, children));
|
|
8
|
-
};
|
|
9
|
-
export default RadioGroup;
|
|
10
|
-
//# sourceMappingURL=RadioGroup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup.js","sourceRoot":"","sources":["../../../../src/components/molecules/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAInD,MAAM,UAAU,GAAG,CAAC,EAClB,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,aAAa,GACG,EAAE,EAAE;IACpB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACvC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;IAC1C,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEnC,OAAO,CACL,oBAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa,IAC7C,QAAQ,CACkB,CAC9B,CAAA;AACH,CAAC,CAAA;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { InputHTMLAttributes } from 'react';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
export interface RadioOptionProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
4
|
-
/**
|
|
5
|
-
* ID to find this component in testing tools (e.g.: cypress,
|
|
6
|
-
* testing-library, and jest).
|
|
7
|
-
*/
|
|
8
|
-
testId?: string;
|
|
9
|
-
/**
|
|
10
|
-
* Attribute to set aria-label option as required.
|
|
11
|
-
*/
|
|
12
|
-
label: string;
|
|
13
|
-
/**
|
|
14
|
-
* Value to be emitted when radio is clicked.
|
|
15
|
-
*/
|
|
16
|
-
value: string | number;
|
|
17
|
-
}
|
|
18
|
-
declare const RadioOption: React.ForwardRefExoticComponent<RadioOptionProps & React.RefAttributes<HTMLInputElement>>;
|
|
19
|
-
export default RadioOption;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from 'react';
|
|
2
|
-
import { Radio } from '@faststore/components';
|
|
3
|
-
import { useRadioGroup } from './useRadioGroup';
|
|
4
|
-
const RadioOption = forwardRef(function RadioOption({ label, value, children, testId = 'store-radio-option', ...otherProps }, ref) {
|
|
5
|
-
const { name, selectedValue, onChange } = useRadioGroup();
|
|
6
|
-
return (React.createElement("label", { "aria-label": label, "data-fs-radio-option": true },
|
|
7
|
-
React.createElement(Radio, { "data-fs-radio-option-item": true, ref: ref, name: name, checked: value === selectedValue, onChange: onChange, value: value, testId: testId, ...otherProps }),
|
|
8
|
-
children));
|
|
9
|
-
});
|
|
10
|
-
export default RadioOption;
|
|
11
|
-
//# sourceMappingURL=RadioOption.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RadioOption.js","sourceRoot":"","sources":["../../../../src/components/molecules/RadioGroup/RadioOption.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAmB/C,MAAM,WAAW,GAAG,UAAU,CAC5B,SAAS,WAAW,CAClB,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,oBAAoB,EAAE,GAAG,UAAU,EAAE,EACxE,GAAG;IAEH,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAA;IAEzD,OAAO,CACL,6CAAmB,KAAK;QACtB,oBAAC,KAAK,uCAEJ,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,KAAK,KAAK,aAAa,EAChC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,KACV,UAAU,GACd;QACD,QAAQ,CACH,CACT,CAAA;AACH,CAAC,CACF,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/molecules/RadioGroup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAGtC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { ChangeEventHandler } from 'react';
|
|
2
|
-
export interface RadioGroupContext {
|
|
3
|
-
/**
|
|
4
|
-
* Name to link children by context.
|
|
5
|
-
*/
|
|
6
|
-
name: string;
|
|
7
|
-
/**
|
|
8
|
-
* Value of checked child.
|
|
9
|
-
*/
|
|
10
|
-
selectedValue?: string | number;
|
|
11
|
-
/**
|
|
12
|
-
* Function that is triggered when any children is checked.
|
|
13
|
-
*/
|
|
14
|
-
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
15
|
-
}
|
|
16
|
-
export declare const RadioGroupContext: import("react").Context<RadioGroupContext | undefined>;
|
|
17
|
-
export declare function useRadioGroup(): RadioGroupContext;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { createContext, useContext } from 'react';
|
|
2
|
-
export const RadioGroupContext = createContext(undefined);
|
|
3
|
-
export function useRadioGroup() {
|
|
4
|
-
const context = useContext(RadioGroupContext);
|
|
5
|
-
if (!context) {
|
|
6
|
-
throw new Error(`useRadioOption hook cannot be used outside the RadioGroup context`);
|
|
7
|
-
}
|
|
8
|
-
return context;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=useRadioGroup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useRadioGroup.js","sourceRoot":"","sources":["../../../../src/components/molecules/RadioGroup/useRadioGroup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAiBjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAC5C,SAAS,CACV,CAAA;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAA;IAE7C,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAA;KACF;IAED,OAAO,OAAO,CAAA;AAChB,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { PropsWithChildren } from 'react'
|
|
2
|
-
import React from 'react'
|
|
3
|
-
|
|
4
|
-
import { RadioGroupContext } from './useRadioGroup'
|
|
5
|
-
|
|
6
|
-
export type RadioGroupProps = PropsWithChildren<RadioGroupContext>
|
|
7
|
-
|
|
8
|
-
const RadioGroup = ({
|
|
9
|
-
name,
|
|
10
|
-
onChange,
|
|
11
|
-
children,
|
|
12
|
-
selectedValue,
|
|
13
|
-
}: RadioGroupProps) => {
|
|
14
|
-
const contextValues = React.useMemo(() => {
|
|
15
|
-
return { name, selectedValue, onChange }
|
|
16
|
-
}, [name, selectedValue, onChange])
|
|
17
|
-
|
|
18
|
-
return (
|
|
19
|
-
<RadioGroupContext.Provider value={contextValues}>
|
|
20
|
-
{children}
|
|
21
|
-
</RadioGroupContext.Provider>
|
|
22
|
-
)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export default RadioGroup
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import type { InputHTMLAttributes } from 'react'
|
|
2
|
-
import React, { forwardRef } from 'react'
|
|
3
|
-
|
|
4
|
-
import { Radio } from '@faststore/components'
|
|
5
|
-
import { useRadioGroup } from './useRadioGroup'
|
|
6
|
-
|
|
7
|
-
export interface RadioOptionProps
|
|
8
|
-
extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
9
|
-
/**
|
|
10
|
-
* ID to find this component in testing tools (e.g.: cypress,
|
|
11
|
-
* testing-library, and jest).
|
|
12
|
-
*/
|
|
13
|
-
testId?: string
|
|
14
|
-
/**
|
|
15
|
-
* Attribute to set aria-label option as required.
|
|
16
|
-
*/
|
|
17
|
-
label: string
|
|
18
|
-
/**
|
|
19
|
-
* Value to be emitted when radio is clicked.
|
|
20
|
-
*/
|
|
21
|
-
value: string | number
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const RadioOption = forwardRef<HTMLInputElement, RadioOptionProps>(
|
|
25
|
-
function RadioOption(
|
|
26
|
-
{ label, value, children, testId = 'store-radio-option', ...otherProps },
|
|
27
|
-
ref
|
|
28
|
-
) {
|
|
29
|
-
const { name, selectedValue, onChange } = useRadioGroup()
|
|
30
|
-
|
|
31
|
-
return (
|
|
32
|
-
<label aria-label={label} data-fs-radio-option>
|
|
33
|
-
<Radio
|
|
34
|
-
data-fs-radio-option-item
|
|
35
|
-
ref={ref}
|
|
36
|
-
name={name}
|
|
37
|
-
checked={value === selectedValue}
|
|
38
|
-
onChange={onChange}
|
|
39
|
-
value={value}
|
|
40
|
-
testId={testId}
|
|
41
|
-
{...otherProps}
|
|
42
|
-
/>
|
|
43
|
-
{children}
|
|
44
|
-
</label>
|
|
45
|
-
)
|
|
46
|
-
}
|
|
47
|
-
)
|
|
48
|
-
|
|
49
|
-
export default RadioOption
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { ChangeEventHandler } from 'react'
|
|
2
|
-
import { createContext, useContext } from 'react'
|
|
3
|
-
|
|
4
|
-
export interface RadioGroupContext {
|
|
5
|
-
/**
|
|
6
|
-
* Name to link children by context.
|
|
7
|
-
*/
|
|
8
|
-
name: string
|
|
9
|
-
/**
|
|
10
|
-
* Value of checked child.
|
|
11
|
-
*/
|
|
12
|
-
selectedValue?: string | number
|
|
13
|
-
/**
|
|
14
|
-
* Function that is triggered when any children is checked.
|
|
15
|
-
*/
|
|
16
|
-
onChange?: ChangeEventHandler<HTMLInputElement>
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export const RadioGroupContext = createContext<RadioGroupContext | undefined>(
|
|
20
|
-
undefined
|
|
21
|
-
)
|
|
22
|
-
|
|
23
|
-
export function useRadioGroup() {
|
|
24
|
-
const context = useContext(RadioGroupContext)
|
|
25
|
-
|
|
26
|
-
if (!context) {
|
|
27
|
-
throw new Error(
|
|
28
|
-
`useRadioOption hook cannot be used outside the RadioGroup context`
|
|
29
|
-
)
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return context
|
|
33
|
-
}
|