@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.
@@ -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;AAEM,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,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;AAxBX,QAAA,gBAAgB,oBAwBL"}
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.7",
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.7",
38
- "@faststore/shared": "^3.0.7",
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": "1672bc9ba921b70b5f9acfa2845c8f566d29be16"
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