@faststore/components 3.0.7 → 3.0.24
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/cjs/molecules/SkuSelector/useDefineVariant.d.ts +4 -0
- package/dist/cjs/molecules/SkuSelector/useDefineVariant.js +11 -0
- package/dist/cjs/molecules/SkuSelector/useDefineVariant.js.map +1 -1
- package/dist/esm/molecules/SkuSelector/useDefineVariant.d.ts +4 -0
- package/dist/esm/molecules/SkuSelector/useDefineVariant.js +11 -0
- package/dist/esm/molecules/SkuSelector/useDefineVariant.js.map +1 -1
- package/package.json +4 -4
- package/src/molecules/SkuSelector/useDefineVariant.ts +12 -0
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { SkuOption } from './SkuSelector';
|
|
2
2
|
export type Variant = 'image' | 'color' | 'label';
|
|
3
|
+
/**
|
|
4
|
+
* This hook infers what kind of SKU Selector will be displayed on the UI.
|
|
5
|
+
* There are three different options, color, image, and label (default version).
|
|
6
|
+
*/
|
|
3
7
|
export declare const useDefineVariant: (options: SkuOption[], variant?: Variant) => Variant;
|
|
@@ -7,6 +7,10 @@ const getImageName = (src) => {
|
|
|
7
7
|
const imageName = sourcePath.split('/').slice(-1)[0];
|
|
8
8
|
return imageName;
|
|
9
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* This hook infers what kind of SKU Selector will be displayed on the UI.
|
|
12
|
+
* There are three different options, color, image, and label (default version).
|
|
13
|
+
*/
|
|
10
14
|
const useDefineVariant = (options, variant) => (0, react_1.useMemo)(() => {
|
|
11
15
|
if (variant)
|
|
12
16
|
return variant;
|
|
@@ -15,6 +19,13 @@ const useDefineVariant = (options, variant) => (0, react_1.useMemo)(() => {
|
|
|
15
19
|
return 'color';
|
|
16
20
|
}
|
|
17
21
|
const firstImageName = options[0]?.src && getImageName(options[0].src);
|
|
22
|
+
/*
|
|
23
|
+
* If there's only one option (options.length === 1) and there is an image
|
|
24
|
+
* the correct return value is 'image'.
|
|
25
|
+
* */
|
|
26
|
+
if (firstImageName && options.length === 1) {
|
|
27
|
+
return 'image';
|
|
28
|
+
}
|
|
18
29
|
const areSourcesEqualsOrNull = options.every((option) => {
|
|
19
30
|
if (!option.src) {
|
|
20
31
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDefineVariant.js","sourceRoot":"","sources":["../../../../src/molecules/SkuSelector/useDefineVariant.ts"],"names":[],"mappings":";;;AAAA,iCAA+B;AAK/B,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"useDefineVariant.js","sourceRoot":"","sources":["../../../../src/molecules/SkuSelector/useDefineVariant.ts"],"names":[],"mappings":";;;AAAA,iCAA+B;AAK/B,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED;;;GAGG;AACI,MAAM,gBAAgB,GAAG,CAAC,OAAoB,EAAE,OAAiB,EAAW,EAAE,CACnF,IAAA,eAAO,EAAC,GAAG,EAAE;IACX,IAAG,OAAO;QAAE,OAAO,OAAO,CAAA;IAE1B,MAAM,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACzE,IAAI,sBAAsB,EAAE;QAC1B,OAAO,OAAO,CAAA;KACf;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEtE;;;SAGK;IACL,IAAI,cAAc,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1C,OAAO,OAAO,CAAA;KACf;IAED,MAAM,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;QACtD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACf,OAAO,IAAI,CAAA;SACZ;QACD,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChD,OAAO,eAAe,KAAK,cAAc,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sBAAsB,EAAE;QAC3B,OAAO,OAAO,CAAA;KACf;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;AAhCX,QAAA,gBAAgB,oBAgCL"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { SkuOption } from './SkuSelector';
|
|
2
2
|
export type Variant = 'image' | 'color' | 'label';
|
|
3
|
+
/**
|
|
4
|
+
* This hook infers what kind of SKU Selector will be displayed on the UI.
|
|
5
|
+
* There are three different options, color, image, and label (default version).
|
|
6
|
+
*/
|
|
3
7
|
export declare const useDefineVariant: (options: SkuOption[], variant?: Variant) => Variant;
|
|
@@ -4,6 +4,10 @@ const getImageName = (src) => {
|
|
|
4
4
|
const imageName = sourcePath.split('/').slice(-1)[0];
|
|
5
5
|
return imageName;
|
|
6
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* This hook infers what kind of SKU Selector will be displayed on the UI.
|
|
9
|
+
* There are three different options, color, image, and label (default version).
|
|
10
|
+
*/
|
|
7
11
|
export const useDefineVariant = (options, variant) => useMemo(() => {
|
|
8
12
|
if (variant)
|
|
9
13
|
return variant;
|
|
@@ -12,6 +16,13 @@ export const useDefineVariant = (options, variant) => useMemo(() => {
|
|
|
12
16
|
return 'color';
|
|
13
17
|
}
|
|
14
18
|
const firstImageName = options[0]?.src && getImageName(options[0].src);
|
|
19
|
+
/*
|
|
20
|
+
* If there's only one option (options.length === 1) and there is an image
|
|
21
|
+
* the correct return value is 'image'.
|
|
22
|
+
* */
|
|
23
|
+
if (firstImageName && options.length === 1) {
|
|
24
|
+
return 'image';
|
|
25
|
+
}
|
|
15
26
|
const areSourcesEqualsOrNull = options.every((option) => {
|
|
16
27
|
if (!option.src) {
|
|
17
28
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDefineVariant.js","sourceRoot":"","sources":["../../../../src/molecules/SkuSelector/useDefineVariant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAK/B,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAoB,EAAE,OAAiB,EAAW,EAAE,CACnF,OAAO,CAAC,GAAG,EAAE;IACX,IAAG,OAAO;QAAE,OAAO,OAAO,CAAA;IAE1B,MAAM,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACzE,IAAI,sBAAsB,EAAE;QAC1B,OAAO,OAAO,CAAA;KACf;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEtE,MAAM,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;QACtD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACf,OAAO,IAAI,CAAA;SACZ;QACD,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChD,OAAO,eAAe,KAAK,cAAc,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sBAAsB,EAAE;QAC3B,OAAO,OAAO,CAAA;KACf;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"useDefineVariant.js","sourceRoot":"","sources":["../../../../src/molecules/SkuSelector/useDefineVariant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAK/B,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,EAAE;IACnC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAA;IACxC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACpD,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAoB,EAAE,OAAiB,EAAW,EAAE,CACnF,OAAO,CAAC,GAAG,EAAE;IACX,IAAG,OAAO;QAAE,OAAO,OAAO,CAAA;IAE1B,MAAM,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACzE,IAAI,sBAAsB,EAAE;QAC1B,OAAO,OAAO,CAAA;KACf;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAEtE;;;SAGK;IACL,IAAI,cAAc,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1C,OAAO,OAAO,CAAA;KACf;IAED,MAAM,sBAAsB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;QACtD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE;YACf,OAAO,IAAI,CAAA;SACZ;QACD,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChD,OAAO,eAAe,KAAK,cAAc,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,sBAAsB,EAAE;QAC3B,OAAO,OAAO,CAAA;KACf;IAED,OAAO,OAAO,CAAA;AAChB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/components",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.24",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"typings": "dist/esm/index.d.ts",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"react-dom": "^18.2.0"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
|
-
"@faststore/eslint-config": "^3.0.
|
|
38
|
-
"@faststore/shared": "^3.0.
|
|
37
|
+
"@faststore/eslint-config": "^3.0.24",
|
|
38
|
+
"@faststore/shared": "^3.0.24",
|
|
39
39
|
"@types/react": "^18.2.42",
|
|
40
40
|
"@types/react-dom": "^18.2.17",
|
|
41
41
|
"eslint": "7.32.0",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"volta": {
|
|
45
45
|
"extends": "../../package.json"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "1cbf5056e2fd6d1b3e85268f585709c59ec9f63f"
|
|
48
48
|
}
|
|
@@ -9,6 +9,10 @@ const getImageName = (src: string) => {
|
|
|
9
9
|
return imageName
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* This hook infers what kind of SKU Selector will be displayed on the UI.
|
|
14
|
+
* There are three different options, color, image, and label (default version).
|
|
15
|
+
*/
|
|
12
16
|
export const useDefineVariant = (options: SkuOption[], variant?: Variant): Variant =>
|
|
13
17
|
useMemo(() => {
|
|
14
18
|
if(variant) return variant
|
|
@@ -20,6 +24,14 @@ export const useDefineVariant = (options: SkuOption[], variant?: Variant): Varia
|
|
|
20
24
|
|
|
21
25
|
const firstImageName = options[0]?.src && getImageName(options[0].src)
|
|
22
26
|
|
|
27
|
+
/*
|
|
28
|
+
* If there's only one option (options.length === 1) and there is an image
|
|
29
|
+
* the correct return value is 'image'.
|
|
30
|
+
* */
|
|
31
|
+
if (firstImageName && options.length === 1) {
|
|
32
|
+
return 'image'
|
|
33
|
+
}
|
|
34
|
+
|
|
23
35
|
const areSourcesEqualsOrNull = options.every((option) => {
|
|
24
36
|
if (!option.src) {
|
|
25
37
|
return true
|