@janbox/storefront-ui 2.0.10 → 2.0.12
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/constants/index.d.ts +0 -4
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +0 -7
- package/dist/hooks/use-formatter/index.d.ts.map +1 -1
- package/dist/hooks/use-formatter/index.js +8 -8
- package/dist/i18n/index.d.ts +8 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +26 -0
- package/dist/i18n/locales/en.json.d.ts +6 -0
- package/dist/i18n/locales/en.json.js +8 -0
- package/dist/i18n/locales/vi.json.d.ts +5 -0
- package/dist/i18n/locales/vi.json.js +8 -0
- package/dist/index.js +2 -0
- package/dist/lib/avatar/avatar.d.ts +3 -0
- package/dist/lib/avatar/avatar.d.ts.map +1 -0
- package/dist/lib/avatar/avatar.js +124 -0
- package/dist/lib/avatar/helpers.d.ts +6 -0
- package/dist/lib/avatar/helpers.d.ts.map +1 -0
- package/dist/lib/avatar/helpers.js +37 -0
- package/dist/lib/avatar/index.d.ts +3 -0
- package/dist/lib/avatar/index.d.ts.map +1 -0
- package/dist/lib/avatar/types.d.ts +19 -0
- package/dist/lib/avatar/types.d.ts.map +1 -0
- package/dist/lib/count-up/count-up.d.ts.map +1 -1
- package/dist/lib/count-up/count-up.js +3 -3
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/link/link.d.ts +1 -1
- package/dist/lib/link/link.d.ts.map +1 -1
- package/dist/lib/link/link.js +1 -1
- package/dist/lib/price-label/price-label.d.ts.map +1 -1
- package/dist/lib/price-label/price-label.js +28 -10
- package/dist/lib/price-label/types.d.ts +2 -0
- package/dist/lib/price-label/types.d.ts.map +1 -1
- package/dist/locales/en/ui__translation.json +2 -1
- package/dist/locales/vi/ui__translation.json +2 -1
- package/dist/theme/provider.d.ts +2 -1
- package/dist/theme/provider.d.ts.map +1 -1
- package/dist/theme/provider.js +3 -2
- package/package.json +1 -3
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { default as IMAGE_PLACEHOLDER } from '../assets/svg/image-placeholder.svg?url';
|
|
2
|
-
export declare const USER_COMPONENT_LOCALE_NAMESPACE = "user-component";
|
|
3
2
|
export declare enum HTMLDatasetAttributes {
|
|
4
3
|
DATA_TEST_ID = "data-testid",
|
|
5
4
|
ARIA_DISABLED = "aria-disabled",
|
|
@@ -18,7 +17,4 @@ export declare enum Booleanish {
|
|
|
18
17
|
True = "true",
|
|
19
18
|
False = "false"
|
|
20
19
|
}
|
|
21
|
-
export declare enum LocaleNamespaces {
|
|
22
|
-
Translation = "ui__translation"
|
|
23
|
-
}
|
|
24
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AAExE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AAExE,oBAAY,qBAAqB;IAC/B,YAAY,gBAAgB;IAC5B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,cAAc,mBAAmB;CAClC;AAED,oBAAY,WAAW;IACrB,aAAa,kBAAkB;CAChC;AAED,eAAO,MAAM,YAAY,oHAA0G,CAAC;AAIpI,eAAO,MAAM,eAAe,MAAM,CAAC;AAEnC,eAAO,MAAM,KAAK,SAAgC,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,KAAK,UAAU;CAChB"}
|
package/dist/constants/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { default as default2 } from "../assets/svg/image-placeholder.svg.js";
|
|
2
|
-
const USER_COMPONENT_LOCALE_NAMESPACE = "user-component";
|
|
3
2
|
var HTMLDatasetAttributes = /* @__PURE__ */ ((HTMLDatasetAttributes2) => {
|
|
4
3
|
HTMLDatasetAttributes2["DATA_TEST_ID"] = "data-testid";
|
|
5
4
|
HTMLDatasetAttributes2["ARIA_DISABLED"] = "aria-disabled";
|
|
@@ -20,18 +19,12 @@ var Booleanish = /* @__PURE__ */ ((Booleanish2) => {
|
|
|
20
19
|
Booleanish2["False"] = "false";
|
|
21
20
|
return Booleanish2;
|
|
22
21
|
})(Booleanish || {});
|
|
23
|
-
var LocaleNamespaces = /* @__PURE__ */ ((LocaleNamespaces2) => {
|
|
24
|
-
LocaleNamespaces2["Translation"] = "ui__translation";
|
|
25
|
-
return LocaleNamespaces2;
|
|
26
|
-
})(LocaleNamespaces || {});
|
|
27
22
|
export {
|
|
28
23
|
Booleanish,
|
|
29
24
|
FALLBACK_SVG,
|
|
30
25
|
HTMLClasses,
|
|
31
26
|
HTMLDatasetAttributes,
|
|
32
27
|
default2 as IMAGE_PLACEHOLDER,
|
|
33
|
-
LocaleNamespaces,
|
|
34
28
|
TYPING_DEBOUNCE,
|
|
35
|
-
USER_COMPONENT_LOCALE_NAMESPACE,
|
|
36
29
|
isSSR
|
|
37
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-formatter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAElB,qBAAqB,EAErB,mBAAmB,EACpB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-formatter/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,kBAAkB,EAElB,qBAAqB,EAErB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC,eAAO,MAAM,YAAY;0BAIb,MAAM,YAAY,OAAO,CAAC,mBAAmB,CAAC;4BAO9C,IAAI,GAAG,MAAM,GAAG,MAAM,WAAW,WAAW,CAAC,qBAAqB,EAAE,KAAK,CAAC;yBAU1E,MAAM,WAAW,WAAW,CAAC,kBAAkB,EAAE,KAAK,CAAC;CAclE,CAAC"}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { formatNumber, formatDateTime, formatPrice } from "../../utils/index.js";
|
|
2
2
|
import { useCallback, useMemo } from "react";
|
|
3
|
-
import { useTranslation } from "
|
|
3
|
+
import { useTranslation } from "../../i18n/index.js";
|
|
4
4
|
const useFormatter = () => {
|
|
5
|
-
const {
|
|
5
|
+
const { locale } = useTranslation();
|
|
6
6
|
const formatNumberFn = useCallback(
|
|
7
7
|
(value, options) => {
|
|
8
|
-
return formatNumber(value, { lng:
|
|
8
|
+
return formatNumber(value, { lng: locale, ...options });
|
|
9
9
|
},
|
|
10
|
-
[
|
|
10
|
+
[locale]
|
|
11
11
|
);
|
|
12
12
|
const formatDateTimeFn = useCallback(
|
|
13
13
|
(value, options) => {
|
|
14
14
|
return formatDateTime(value, {
|
|
15
15
|
...options,
|
|
16
|
-
lng: options.lng ??
|
|
16
|
+
lng: options.lng ?? locale
|
|
17
17
|
});
|
|
18
18
|
},
|
|
19
|
-
[
|
|
19
|
+
[locale]
|
|
20
20
|
);
|
|
21
21
|
const formatPriceFn = useCallback(
|
|
22
22
|
(value, options) => {
|
|
23
|
-
return formatPrice(value, { ...options, lng: options.lng ??
|
|
23
|
+
return formatPrice(value, { ...options, lng: options.lng ?? locale });
|
|
24
24
|
},
|
|
25
|
-
[
|
|
25
|
+
[locale]
|
|
26
26
|
);
|
|
27
27
|
return useMemo(
|
|
28
28
|
() => ({
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as en } from './locales/en.json';
|
|
2
|
+
export declare const FALLBACK_LOCALE = "en";
|
|
3
|
+
export declare const LocaleContext: import('react').Context<string>;
|
|
4
|
+
export declare const useTranslation: () => {
|
|
5
|
+
t: (key: keyof typeof en) => string;
|
|
6
|
+
locale: string;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/i18n/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAQnC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,eAAO,MAAM,aAAa,iCAAiC,CAAC;AAE5D,eAAO,MAAM,cAAc;aAKZ,MAAM,OAAO,EAAE;;CAI7B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useContext, useMemo, createContext } from "react";
|
|
2
|
+
import en from "./locales/en.json.js";
|
|
3
|
+
import vi from "./locales/vi.json.js";
|
|
4
|
+
const translations = {
|
|
5
|
+
en,
|
|
6
|
+
vi
|
|
7
|
+
};
|
|
8
|
+
const FALLBACK_LOCALE = "en";
|
|
9
|
+
const LocaleContext = createContext(FALLBACK_LOCALE);
|
|
10
|
+
const useTranslation = () => {
|
|
11
|
+
const locale = useContext(LocaleContext);
|
|
12
|
+
return useMemo(() => {
|
|
13
|
+
return {
|
|
14
|
+
t: (key) => {
|
|
15
|
+
var _a, _b;
|
|
16
|
+
return ((_a = translations[locale]) == null ? void 0 : _a[key]) ?? ((_b = translations.en) == null ? void 0 : _b[key]) ?? key;
|
|
17
|
+
},
|
|
18
|
+
locale
|
|
19
|
+
};
|
|
20
|
+
}, [locale]);
|
|
21
|
+
};
|
|
22
|
+
export {
|
|
23
|
+
FALLBACK_LOCALE,
|
|
24
|
+
LocaleContext,
|
|
25
|
+
useTranslation
|
|
26
|
+
};
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import { AccordionGroupContext, getAccordionGroupDataAttributes, getAccordionGro
|
|
|
7
7
|
import { AccordionGroupDataAttributes } from "./lib/accordion/accordion-group/types.js";
|
|
8
8
|
import { AccordionSummary } from "./lib/accordion/accordion-summary/accordion-summary.js";
|
|
9
9
|
import { AccordionSummaryVariant } from "./lib/accordion/accordion-summary/types.js";
|
|
10
|
+
import { Avatar } from "./lib/avatar/avatar.js";
|
|
10
11
|
import { Badge } from "./lib/badge/badge.js";
|
|
11
12
|
import { BlockSkeleton } from "./lib/loading/block-skeleton/block-skeleton.js";
|
|
12
13
|
import { Box } from "./lib/box/box.js";
|
|
@@ -150,6 +151,7 @@ export {
|
|
|
150
151
|
AccordionGroupDataAttributes,
|
|
151
152
|
AccordionSummary,
|
|
152
153
|
AccordionSummaryVariant,
|
|
154
|
+
Avatar,
|
|
153
155
|
Badge,
|
|
154
156
|
BlockSkeleton,
|
|
155
157
|
Box,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../src/lib/avatar/avatar.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAyB,MAAM,SAAS,CAAC;AAQ7D,eAAO,MAAM,MAAM,uBAAwB,WAAW,4CAwFrD,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { getAvatarProps, getInitials, getAvatarStatusColor } from "./helpers.js";
|
|
4
|
+
import { isNil } from "lodash-es";
|
|
5
|
+
import { getColorVar } from "../../theme/palette.js";
|
|
6
|
+
import { useUpdateEffect } from "../../hooks/use-update-effect/index.js";
|
|
7
|
+
import { Primitive } from "../primitive/primitive.js";
|
|
8
|
+
const Avatar = ({ ref, ..._props }) => {
|
|
9
|
+
var _a, _b, _c;
|
|
10
|
+
const { src, name, color = "primary", size = 40, status, sm, md, lg, ...rest } = getAvatarProps(_props);
|
|
11
|
+
const [avatarSrc, setAvatarSrc] = useState(src);
|
|
12
|
+
useUpdateEffect(() => {
|
|
13
|
+
setAvatarSrc(src);
|
|
14
|
+
}, [src]);
|
|
15
|
+
return /* @__PURE__ */ jsxs(
|
|
16
|
+
Primitive,
|
|
17
|
+
{
|
|
18
|
+
ref,
|
|
19
|
+
...rest,
|
|
20
|
+
sx: {
|
|
21
|
+
position: "relative",
|
|
22
|
+
...createStyle({ size }),
|
|
23
|
+
...rest.sx,
|
|
24
|
+
sm: {
|
|
25
|
+
...createStyle(sm),
|
|
26
|
+
...(_a = rest.sx) == null ? void 0 : _a.sm
|
|
27
|
+
},
|
|
28
|
+
md: {
|
|
29
|
+
...createStyle(md),
|
|
30
|
+
...(_b = rest.sx) == null ? void 0 : _b.md
|
|
31
|
+
},
|
|
32
|
+
lg: {
|
|
33
|
+
...createStyle(lg),
|
|
34
|
+
...(_c = rest.sx) == null ? void 0 : _c.lg
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
children: [
|
|
38
|
+
avatarSrc ? /* @__PURE__ */ jsx(
|
|
39
|
+
Primitive,
|
|
40
|
+
{
|
|
41
|
+
src,
|
|
42
|
+
alt: name ?? "",
|
|
43
|
+
onError: () => setAvatarSrc(void 0),
|
|
44
|
+
sx: {
|
|
45
|
+
position: "absolute",
|
|
46
|
+
width: "100%",
|
|
47
|
+
height: "100%",
|
|
48
|
+
display: "block",
|
|
49
|
+
objectFit: "inherit",
|
|
50
|
+
borderRadius: "inherit"
|
|
51
|
+
},
|
|
52
|
+
as: "img"
|
|
53
|
+
}
|
|
54
|
+
) : /* @__PURE__ */ jsx(
|
|
55
|
+
Primitive,
|
|
56
|
+
{
|
|
57
|
+
sx: {
|
|
58
|
+
position: "absolute",
|
|
59
|
+
width: "100%",
|
|
60
|
+
height: "100%",
|
|
61
|
+
display: "flex",
|
|
62
|
+
alignItems: "center",
|
|
63
|
+
justifyContent: "center",
|
|
64
|
+
backgroundColor: getColorVar(`${color}.600`),
|
|
65
|
+
color: getColorVar("white"),
|
|
66
|
+
fontWeight: 600,
|
|
67
|
+
lineHeight: 1,
|
|
68
|
+
borderRadius: "inherit",
|
|
69
|
+
...createInitialsStyle({ size }),
|
|
70
|
+
sm: createInitialsStyle(sm),
|
|
71
|
+
md: createInitialsStyle(md),
|
|
72
|
+
lg: createInitialsStyle(lg)
|
|
73
|
+
},
|
|
74
|
+
children: getInitials(name)
|
|
75
|
+
}
|
|
76
|
+
),
|
|
77
|
+
status && /* @__PURE__ */ jsx(
|
|
78
|
+
Primitive,
|
|
79
|
+
{
|
|
80
|
+
as: "span",
|
|
81
|
+
sx: {
|
|
82
|
+
position: "absolute",
|
|
83
|
+
bottom: 0,
|
|
84
|
+
right: 0,
|
|
85
|
+
borderRadius: "50%",
|
|
86
|
+
backgroundColor: getAvatarStatusColor(status),
|
|
87
|
+
borderWidth: 2,
|
|
88
|
+
borderColor: getColorVar("white"),
|
|
89
|
+
...createStatusStyle({ size }),
|
|
90
|
+
sm: createStatusStyle(sm),
|
|
91
|
+
md: createStatusStyle(md),
|
|
92
|
+
lg: createStatusStyle(lg)
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
)
|
|
96
|
+
]
|
|
97
|
+
}
|
|
98
|
+
);
|
|
99
|
+
};
|
|
100
|
+
const createStyle = ({ size } = {}) => {
|
|
101
|
+
return {
|
|
102
|
+
width: size,
|
|
103
|
+
height: size,
|
|
104
|
+
minWidth: size,
|
|
105
|
+
minHeight: size
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
const createStatusStyle = ({ size } = {}) => {
|
|
109
|
+
if (isNil(size)) return {};
|
|
110
|
+
const dotSize = Math.round(size * 0.28);
|
|
111
|
+
return {
|
|
112
|
+
width: dotSize,
|
|
113
|
+
height: dotSize
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
const createInitialsStyle = ({ size } = {}) => {
|
|
117
|
+
if (isNil(size)) return {};
|
|
118
|
+
return {
|
|
119
|
+
fontSize: Math.round(size * 0.4)
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
export {
|
|
123
|
+
Avatar
|
|
124
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AvatarProps, AvatarStatus } from './types';
|
|
2
|
+
export declare const getAvatarProps: (props: AvatarProps) => AvatarProps;
|
|
3
|
+
/** Resolve dimension from named size or custom number */
|
|
4
|
+
export declare const getInitials: (name?: string) => string;
|
|
5
|
+
export declare const getAvatarStatusColor: (status: AvatarStatus) => string | undefined;
|
|
6
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/avatar/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAapD,eAAO,MAAM,cAAc,UAAW,WAAW,KAAG,WAEnD,CAAC;AAEF,yDAAyD;AAEzD,eAAO,MAAM,WAAW,2BAIvB,CAAC;AAEF,eAAO,MAAM,oBAAoB,WAAY,YAAY,uBAaxD,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { mergeComponentProps } from "../../utils/index.js";
|
|
2
|
+
import "lodash-es";
|
|
3
|
+
import { getColorVar } from "../../theme/palette.js";
|
|
4
|
+
const defaultProps = {
|
|
5
|
+
size: 40,
|
|
6
|
+
sx: {
|
|
7
|
+
borderRadius: "50%",
|
|
8
|
+
objectFit: "cover"
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
const getAvatarProps = (props) => {
|
|
12
|
+
return mergeComponentProps(defaultProps, props);
|
|
13
|
+
};
|
|
14
|
+
const getInitials = (name = "") => {
|
|
15
|
+
const parts = name.trim().split(/\s+/);
|
|
16
|
+
if (parts.length === 1) return parts[0].charAt(0).toUpperCase();
|
|
17
|
+
return (parts[0].charAt(0) + parts[parts.length - 1].charAt(0)).toUpperCase();
|
|
18
|
+
};
|
|
19
|
+
const getAvatarStatusColor = (status) => {
|
|
20
|
+
switch (status) {
|
|
21
|
+
case "online":
|
|
22
|
+
return getColorVar("green.600");
|
|
23
|
+
case "offline":
|
|
24
|
+
return getColorVar("neutral.600");
|
|
25
|
+
case "busy":
|
|
26
|
+
return getColorVar("red.600");
|
|
27
|
+
case "away":
|
|
28
|
+
return getColorVar("orange.600");
|
|
29
|
+
default:
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
getAvatarProps,
|
|
35
|
+
getAvatarStatusColor,
|
|
36
|
+
getInitials
|
|
37
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/avatar/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { JSX } from 'react';
|
|
2
|
+
import { ColorVariant, PropsWithSx, ShallowMerge, ToResponsiveProps } from '../../types';
|
|
3
|
+
export type AvatarStatus = 'online' | 'offline' | 'busy' | 'away';
|
|
4
|
+
export type AvatarResponsiveProps = {
|
|
5
|
+
size?: number;
|
|
6
|
+
};
|
|
7
|
+
type AvatarHTMLProps = JSX.IntrinsicElements['div'];
|
|
8
|
+
export type AvatarProps = PropsWithSx<ShallowMerge<AvatarHTMLProps, ToResponsiveProps<AvatarResponsiveProps> & {
|
|
9
|
+
/** URL of the avatar image */
|
|
10
|
+
src?: string;
|
|
11
|
+
/** User's name — used for initials fallback and alt/aria-label */
|
|
12
|
+
name?: string;
|
|
13
|
+
/** Shape of the avatar */
|
|
14
|
+
/** Online status indicator */
|
|
15
|
+
status?: AvatarStatus;
|
|
16
|
+
color?: ColorVariant;
|
|
17
|
+
}>>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/avatar/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAErF,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAElE,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,eAAe,GAAG,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAEpD,MAAM,MAAM,WAAW,GAAG,WAAW,CACnC,YAAY,CACV,eAAe,EACf,iBAAiB,CAAC,qBAAqB,CAAC,GAAG;IACzC,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,8BAA8B;IAC9B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB,CACF,CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count-up.d.ts","sourceRoot":"","sources":["../../../src/lib/count-up/count-up.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"count-up.d.ts","sourceRoot":"","sources":["../../../src/lib/count-up/count-up.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC,eAAO,MAAM,OAAO,+DAAwE,YAAY,4CAiCvG,CAAC"}
|
|
@@ -2,12 +2,12 @@ import { jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useRef, useEffect } from "react";
|
|
3
3
|
import { useMergeRefs } from "@floating-ui/react";
|
|
4
4
|
import { useMotionValue, useInView, useTransform, animate, motion } from "motion/react";
|
|
5
|
-
import { useTranslation } from "react-i18next";
|
|
6
5
|
import { formatNumber } from "../../utils/index.js";
|
|
6
|
+
import { useTranslation } from "../../i18n/index.js";
|
|
7
7
|
import { getDecimalDigits } from "../../utils/common.js";
|
|
8
8
|
const CountUp = ({ from = 0, to, duration = 2, formatNumberOptions, ref, ...props }) => {
|
|
9
9
|
const rootRef = useRef(null);
|
|
10
|
-
const {
|
|
10
|
+
const { locale } = useTranslation();
|
|
11
11
|
const mergedRef = useMergeRefs([ref, rootRef]);
|
|
12
12
|
const maximumFractionDigits = Math.max(getDecimalDigits(from), getDecimalDigits(to));
|
|
13
13
|
const count = useMotionValue(from);
|
|
@@ -15,7 +15,7 @@ const CountUp = ({ from = 0, to, duration = 2, formatNumberOptions, ref, ...prop
|
|
|
15
15
|
const rounded = useTransform(
|
|
16
16
|
count,
|
|
17
17
|
(latest) => formatNumber(latest, {
|
|
18
|
-
lng:
|
|
18
|
+
lng: locale,
|
|
19
19
|
...formatNumberOptions,
|
|
20
20
|
maximumFractionDigits
|
|
21
21
|
})
|
package/dist/lib/index.d.ts
CHANGED
package/dist/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
|
package/dist/lib/link/link.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { LinkProps } from './types';
|
|
2
|
-
export declare const Link: ({ children, ref, ..._props }: LinkProps) => import("
|
|
2
|
+
export declare const Link: ({ children, ref, ..._props }: LinkProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=link.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/lib/link/link.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../src/lib/link/link.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAuB,MAAM,SAAS,CAAC;AAOzD,eAAO,MAAM,IAAI,iCAAkC,SAAS,4CAoD3D,CAAC"}
|
package/dist/lib/link/link.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"price-label.d.ts","sourceRoot":"","sources":["../../../src/lib/price-label/price-label.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA8C,eAAe,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"price-label.d.ts","sourceRoot":"","sources":["../../../src/lib/price-label/price-label.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA8C,eAAe,EAAE,MAAM,SAAS,CAAC;AAOtF,eAAO,MAAM,UAAU,WAAY,eAAe,4CAsGjD,CAAC"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { getPriceLabelProps } from "./helpers.js";
|
|
3
3
|
import { isNumber, isNil } from "lodash-es";
|
|
4
|
-
import { useTranslation } from "
|
|
5
|
-
import { LocaleNamespaces } from "../../constants/index.js";
|
|
4
|
+
import { useTranslation } from "../../i18n/index.js";
|
|
6
5
|
import { useFormatter } from "../../hooks/use-formatter/index.js";
|
|
7
6
|
import { getColorVar } from "../../theme/palette.js";
|
|
8
7
|
import { getSmallerTypographyVariants, getTypographyVar } from "../../theme/typography.js";
|
|
9
8
|
import { Primitive } from "../primitive/primitive.js";
|
|
10
9
|
import { TextSkeleton } from "../loading/text-skeleton/text-skeleton.js";
|
|
11
10
|
const PriceLabel = (_props) => {
|
|
11
|
+
var _a, _b, _c, _d, _e, _f;
|
|
12
12
|
const {
|
|
13
13
|
price,
|
|
14
14
|
exchangePrice,
|
|
@@ -19,6 +19,8 @@ const PriceLabel = (_props) => {
|
|
|
19
19
|
md,
|
|
20
20
|
lg,
|
|
21
21
|
showEqual = false,
|
|
22
|
+
priceProps,
|
|
23
|
+
exchangePriceProps,
|
|
22
24
|
...rest
|
|
23
25
|
} = getPriceLabelProps(_props);
|
|
24
26
|
const isPriceEqual = price.currency && price.currency === (exchangePrice == null ? void 0 : exchangePrice.currency) && isNumber(price.value) && price.value === (exchangePrice == null ? void 0 : exchangePrice.value);
|
|
@@ -40,14 +42,25 @@ const PriceLabel = (_props) => {
|
|
|
40
42
|
/* @__PURE__ */ jsx(
|
|
41
43
|
Primitive,
|
|
42
44
|
{
|
|
43
|
-
|
|
45
|
+
...priceProps,
|
|
44
46
|
sx: {
|
|
45
47
|
color: getColorVar(`${color}.600`),
|
|
46
48
|
...createStyle({ size }),
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
...priceProps == null ? void 0 : priceProps.sx,
|
|
50
|
+
sm: {
|
|
51
|
+
...createStyle(sm),
|
|
52
|
+
...(_a = priceProps == null ? void 0 : priceProps.sx) == null ? void 0 : _a.sm
|
|
53
|
+
},
|
|
54
|
+
md: {
|
|
55
|
+
...createStyle(md),
|
|
56
|
+
...(_b = priceProps == null ? void 0 : priceProps.sx) == null ? void 0 : _b.md
|
|
57
|
+
},
|
|
58
|
+
lg: {
|
|
59
|
+
...createStyle(lg),
|
|
60
|
+
...(_c = priceProps == null ? void 0 : priceProps.sx) == null ? void 0 : _c.lg
|
|
61
|
+
}
|
|
50
62
|
},
|
|
63
|
+
as: "span",
|
|
51
64
|
children: /* @__PURE__ */ jsx(
|
|
52
65
|
PriceRenderer,
|
|
53
66
|
{
|
|
@@ -64,17 +77,22 @@ const PriceLabel = (_props) => {
|
|
|
64
77
|
/* @__PURE__ */ jsx(
|
|
65
78
|
Primitive,
|
|
66
79
|
{
|
|
80
|
+
...exchangePriceProps,
|
|
67
81
|
sx: {
|
|
68
82
|
color: getColorVar(`${color}.500`),
|
|
69
83
|
...createStyle({ size: getSmallerTypographyVariants(size).at(0) }),
|
|
84
|
+
...exchangePriceProps == null ? void 0 : exchangePriceProps.sx,
|
|
70
85
|
sm: {
|
|
71
|
-
...createStyle({ size: getSmallerTypographyVariants(sm == null ? void 0 : sm.size).at(0) })
|
|
86
|
+
...createStyle({ size: getSmallerTypographyVariants(sm == null ? void 0 : sm.size).at(0) }),
|
|
87
|
+
...(_d = exchangePriceProps == null ? void 0 : exchangePriceProps.sx) == null ? void 0 : _d.sm
|
|
72
88
|
},
|
|
73
89
|
md: {
|
|
74
|
-
...createStyle({ size: getSmallerTypographyVariants(md == null ? void 0 : md.size).at(0) })
|
|
90
|
+
...createStyle({ size: getSmallerTypographyVariants(md == null ? void 0 : md.size).at(0) }),
|
|
91
|
+
...(_e = exchangePriceProps == null ? void 0 : exchangePriceProps.sx) == null ? void 0 : _e.md
|
|
75
92
|
},
|
|
76
93
|
lg: {
|
|
77
|
-
...createStyle({ size: getSmallerTypographyVariants(lg == null ? void 0 : lg.size).at(0) })
|
|
94
|
+
...createStyle({ size: getSmallerTypographyVariants(lg == null ? void 0 : lg.size).at(0) }),
|
|
95
|
+
...(_f = exchangePriceProps == null ? void 0 : exchangePriceProps.sx) == null ? void 0 : _f.lg
|
|
78
96
|
}
|
|
79
97
|
},
|
|
80
98
|
as: "span",
|
|
@@ -97,7 +115,7 @@ const PriceLabel = (_props) => {
|
|
|
97
115
|
);
|
|
98
116
|
};
|
|
99
117
|
const PriceRenderer = ({ price }) => {
|
|
100
|
-
const { t } = useTranslation(
|
|
118
|
+
const { t } = useTranslation();
|
|
101
119
|
const { formatPrice, formatNumber } = useFormatter();
|
|
102
120
|
const { currency, value, isPending, prefix = "", suffix = "", placeholder } = price;
|
|
103
121
|
if (currency && isNumber(value)) {
|
|
@@ -15,7 +15,9 @@ export interface PriceLabelResponsiveProps {
|
|
|
15
15
|
}
|
|
16
16
|
type PriceLabelExtendedProps = ToResponsiveProps<PriceLabelResponsiveProps> & {
|
|
17
17
|
price: PriceLabelEntry;
|
|
18
|
+
priceProps?: PrimitiveProps<JSX.IntrinsicElements['span']>;
|
|
18
19
|
exchangePrice?: PriceLabelEntry;
|
|
20
|
+
exchangePriceProps?: PrimitiveProps<JSX.IntrinsicElements['span']>;
|
|
19
21
|
color?: ColorVariant;
|
|
20
22
|
orientation?: 'horizontal' | 'vertical';
|
|
21
23
|
showEqual?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/price-label/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B;AAED,KAAK,uBAAuB,GAAG,iBAAiB,CAAC,yBAAyB,CAAC,GAAG;IAC5E,KAAK,EAAE,eAAe,CAAC;IACvB,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/price-label/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B;AAED,KAAK,uBAAuB,GAAG,iBAAiB,CAAC,yBAAyB,CAAC,GAAG;IAC5E,KAAK,EAAE,eAAe,CAAC;IACvB,UAAU,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3D,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,kBAAkB,CAAC,EAAE,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC"}
|
package/dist/theme/provider.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Theme } from '@emotion/react';
|
|
|
2
2
|
import { PropsWithChildren } from 'react';
|
|
3
3
|
export type ThemeProviderProps = PropsWithChildren<{
|
|
4
4
|
theme: Theme;
|
|
5
|
+
locale?: string;
|
|
5
6
|
}>;
|
|
6
|
-
export declare const ThemeProvider: ({ theme, children }: ThemeProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare const ThemeProvider: ({ theme, locale, children }: ThemeProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/theme/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAwD,MAAM,gBAAgB,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/theme/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAwD,MAAM,gBAAgB,CAAC;AACrG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAQ/C,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;IACjD,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH,eAAO,MAAM,aAAa,gCAAmD,kBAAkB,4CAO9F,CAAC"}
|
package/dist/theme/provider.js
CHANGED
|
@@ -4,10 +4,11 @@ import { getColorVar } from "./palette.js";
|
|
|
4
4
|
import { flatten } from "flat";
|
|
5
5
|
import { flatMap } from "lodash-es";
|
|
6
6
|
import { getTypographyVar } from "./typography.js";
|
|
7
|
-
|
|
7
|
+
import { LocaleContext, FALLBACK_LOCALE } from "../i18n/index.js";
|
|
8
|
+
const ThemeProvider = ({ theme, locale = FALLBACK_LOCALE, children }) => {
|
|
8
9
|
return /* @__PURE__ */ jsxs(ThemeProvider$1, { theme, children: [
|
|
9
10
|
/* @__PURE__ */ jsx(Global, { styles: createGlobalStyle(theme) }),
|
|
10
|
-
children
|
|
11
|
+
/* @__PURE__ */ jsx(LocaleContext.Provider, { value: locale, children })
|
|
11
12
|
] });
|
|
12
13
|
};
|
|
13
14
|
const createGlobalStyle = ({ palette, typography }) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@janbox/storefront-ui",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.12",
|
|
4
4
|
"description": "Storefront UI component library for Janbox",
|
|
5
5
|
"author": "Janbox",
|
|
6
6
|
"keywords": [
|
|
@@ -56,7 +56,6 @@
|
|
|
56
56
|
"@emotion/react": "*",
|
|
57
57
|
"react": ">=19.0.0",
|
|
58
58
|
"react-dom": ">=19.0.0",
|
|
59
|
-
"react-i18next": "*",
|
|
60
59
|
"react-router": ">=7.0.0"
|
|
61
60
|
},
|
|
62
61
|
"dependencies": {
|
|
@@ -99,7 +98,6 @@
|
|
|
99
98
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
100
99
|
"eslint-plugin-unused-imports": "^4.4.1",
|
|
101
100
|
"globals": "^17.4.0",
|
|
102
|
-
"i18next": "^25.8.13",
|
|
103
101
|
"prettier": "^3.8.1",
|
|
104
102
|
"sass-embedded": "^1.97.3",
|
|
105
103
|
"storybook": "^10.2.14",
|