@janbox/storefront-ui 2.0.3 → 2.0.5
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/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/use-formatter/index.d.ts +8 -0
- package/dist/hooks/use-formatter/index.d.ts.map +1 -0
- package/dist/hooks/use-formatter/index.js +38 -0
- package/dist/index.js +4 -0
- package/dist/lib/accordion/accordion/accordion.js +7 -7
- package/dist/lib/accordion/accordion/types.d.ts +2 -2
- package/dist/lib/accordion/accordion/types.d.ts.map +1 -1
- package/dist/lib/button/button.d.ts.map +1 -1
- package/dist/lib/button/button.js +74 -63
- package/dist/lib/checkbox/checkbox.d.ts.map +1 -1
- package/dist/lib/checkbox/checkbox.js +3 -2
- package/dist/lib/count-up/count-up.js +2 -3
- package/dist/lib/icon-button/icon-button.js +1 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/loading/block-skeleton/block-skeleton.d.ts +3 -3
- package/dist/lib/loading/block-skeleton/block-skeleton.d.ts.map +1 -1
- package/dist/lib/loading/block-skeleton/block-skeleton.js +10 -9
- package/dist/lib/loading/image-skeleton/image-skeleton.d.ts +1 -1
- package/dist/lib/loading/image-skeleton/image-skeleton.d.ts.map +1 -1
- package/dist/lib/loading/image-skeleton/image-skeleton.js +14 -16
- package/dist/lib/loading/image-skeleton/types.d.ts +2 -2
- package/dist/lib/loading/image-skeleton/types.d.ts.map +1 -1
- package/dist/lib/loading/text-skeleton/text-skeleton.d.ts +1 -1
- package/dist/lib/loading/text-skeleton/text-skeleton.d.ts.map +1 -1
- package/dist/lib/loading/text-skeleton/text-skeleton.js +34 -22
- package/dist/lib/loading/text-skeleton/types.d.ts +2 -2
- package/dist/lib/loading/text-skeleton/types.d.ts.map +1 -1
- package/dist/lib/multiple-select/multiple-select.d.ts.map +1 -1
- package/dist/lib/multiple-select/multiple-select.js +1 -1
- package/dist/lib/price-label/helpers.d.ts +3 -0
- package/dist/lib/price-label/helpers.d.ts.map +1 -0
- package/dist/lib/price-label/helpers.js +12 -0
- package/dist/lib/price-label/index.d.ts +4 -0
- package/dist/lib/price-label/index.d.ts.map +1 -0
- package/dist/lib/price-label/price-label.d.ts +3 -0
- package/dist/lib/price-label/price-label.d.ts.map +1 -0
- package/dist/lib/price-label/price-label.js +119 -0
- package/dist/lib/price-label/types.d.ts +24 -0
- package/dist/lib/price-label/types.d.ts.map +1 -0
- package/dist/lib/stepper/stepper.js +1 -1
- package/dist/lib/text/text.d.ts +1 -1
- package/dist/lib/text/text.d.ts.map +1 -1
- package/dist/lib/text/text.js +22 -19
- package/dist/lib/time-picker/time-picker.d.ts.map +1 -1
- package/dist/lib/time-picker/time-picker.js +1 -1
- package/dist/theme/typography.d.ts +1 -1
- package/dist/theme/typography.d.ts.map +1 -1
- package/dist/theme/typography.js +3 -0
- package/dist/utils/common.js +0 -11
- package/dist/utils/index.d.ts +15 -3
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +52 -3
- package/package.json +1 -1
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC"}
|
package/dist/hooks/index.js
CHANGED
|
@@ -7,11 +7,13 @@ import { useQueryParams } from "./use-query-params.js";
|
|
|
7
7
|
import { useFirstMountState } from "./use-first-mount-state/index.js";
|
|
8
8
|
import { useUpdateEffect } from "./use-update-effect/index.js";
|
|
9
9
|
import { useDeepCompareEffect } from "./use-deep-compare-effect/index.js";
|
|
10
|
+
import { useFormatter } from "./use-formatter/index.js";
|
|
10
11
|
export {
|
|
11
12
|
useControllableState,
|
|
12
13
|
useCountdownTimer,
|
|
13
14
|
useDeepCompareEffect,
|
|
14
15
|
useFirstMountState,
|
|
16
|
+
useFormatter,
|
|
15
17
|
useHoverLineEffect,
|
|
16
18
|
useQueryParams,
|
|
17
19
|
useRippleEffect,
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FormatPriceOptions, FormatDateTimeOptions, FormatNumberOptions } from '../../utils';
|
|
2
|
+
import { SetOptional } from 'type-fest';
|
|
3
|
+
export declare const useFormatter: () => {
|
|
4
|
+
formatNumber: (value: number, options?: Partial<FormatNumberOptions>) => string;
|
|
5
|
+
formatDateTime: (value: Date | string | number, options: SetOptional<FormatDateTimeOptions, "lng">) => string;
|
|
6
|
+
formatPrice: (value: number, options: SetOptional<FormatPriceOptions, "lng">) => string;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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;AAIjB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC,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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { formatNumber, formatDateTime, formatPrice } from "../../utils/index.js";
|
|
2
|
+
import { useCallback, useMemo } from "react";
|
|
3
|
+
import { useTranslation } from "react-i18next";
|
|
4
|
+
const useFormatter = () => {
|
|
5
|
+
const { i18n } = useTranslation();
|
|
6
|
+
const formatNumberFn = useCallback(
|
|
7
|
+
(value, options) => {
|
|
8
|
+
return formatNumber(value, { lng: i18n.language, ...options });
|
|
9
|
+
},
|
|
10
|
+
[i18n.language]
|
|
11
|
+
);
|
|
12
|
+
const formatDateTimeFn = useCallback(
|
|
13
|
+
(value, options) => {
|
|
14
|
+
return formatDateTime(value, {
|
|
15
|
+
...options,
|
|
16
|
+
lng: options.lng ?? i18n.language
|
|
17
|
+
});
|
|
18
|
+
},
|
|
19
|
+
[i18n.language]
|
|
20
|
+
);
|
|
21
|
+
const formatPriceFn = useCallback(
|
|
22
|
+
(value, options) => {
|
|
23
|
+
return formatPrice(value, { ...options, lng: options.lng ?? i18n.language });
|
|
24
|
+
},
|
|
25
|
+
[i18n.language]
|
|
26
|
+
);
|
|
27
|
+
return useMemo(
|
|
28
|
+
() => ({
|
|
29
|
+
formatNumber: formatNumberFn,
|
|
30
|
+
formatDateTime: formatDateTimeFn,
|
|
31
|
+
formatPrice: formatPriceFn
|
|
32
|
+
}),
|
|
33
|
+
[formatNumberFn, formatDateTimeFn, formatPriceFn]
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
useFormatter
|
|
38
|
+
};
|
package/dist/index.js
CHANGED
|
@@ -72,6 +72,7 @@ import { Popover } from "./lib/popover/popover/popover.js";
|
|
|
72
72
|
import { PopoverClose } from "./lib/popover/popover-close/popover-close.js";
|
|
73
73
|
import { PopoverContent } from "./lib/popover/popover-content/popover-content.js";
|
|
74
74
|
import { PopoverTrigger } from "./lib/popover/popover-trigger/popover-trigger.js";
|
|
75
|
+
import { PriceLabel } from "./lib/price-label/price-label.js";
|
|
75
76
|
import { Primitive } from "./lib/primitive/primitive.js";
|
|
76
77
|
import { Progress } from "./lib/progress/progress.js";
|
|
77
78
|
import { RadioButton } from "./lib/radio-button/radio-button.js";
|
|
@@ -126,6 +127,7 @@ import { getListItemProps } from "./lib/unordered-list/list-item/helpers.js";
|
|
|
126
127
|
import { getMarqueeProps } from "./lib/marquee/marquee/helpers.js";
|
|
127
128
|
import { getMultipleSelectProps } from "./lib/multiple-select/helpers.js";
|
|
128
129
|
import { getPageRange, getPaginationProps } from "./lib/pagination/helpers.js";
|
|
130
|
+
import { getPriceLabelProps } from "./lib/price-label/helpers.js";
|
|
129
131
|
import { getRadioButtonProps } from "./lib/radio-button/helpers.js";
|
|
130
132
|
import { getSwiperProps } from "./lib/swiper/swiper/helpers.js";
|
|
131
133
|
import { getTabListProps } from "./lib/tabs/tab-list/helpers.js";
|
|
@@ -215,6 +217,7 @@ export {
|
|
|
215
217
|
PopoverClose,
|
|
216
218
|
PopoverContent,
|
|
217
219
|
PopoverTrigger,
|
|
220
|
+
PriceLabel,
|
|
218
221
|
Primitive,
|
|
219
222
|
Progress,
|
|
220
223
|
RadioButton,
|
|
@@ -277,6 +280,7 @@ export {
|
|
|
277
280
|
getMultipleSelectProps,
|
|
278
281
|
getPageRange,
|
|
279
282
|
getPaginationProps,
|
|
283
|
+
getPriceLabelProps,
|
|
280
284
|
getRadioButtonProps,
|
|
281
285
|
getSwiperProps,
|
|
282
286
|
getTabListProps,
|
|
@@ -6,8 +6,8 @@ import { getAccordionProps, getAccordionDataAttributes, AccordionContext } from
|
|
|
6
6
|
import { AccordionDataAttributes } from "./types.js";
|
|
7
7
|
import { Booleanish } from "../../../constants/index.js";
|
|
8
8
|
import { useControllableState } from "../../../hooks/use-controllable-state.js";
|
|
9
|
-
import { createSxInterpolation } from "../../../utils/stylesheet.js";
|
|
10
9
|
import { getAccordionGroupDataAttributes } from "../accordion-group/helpers.js";
|
|
10
|
+
import { Primitive } from "../../primitive/primitive.js";
|
|
11
11
|
const Accordion = (_props) => {
|
|
12
12
|
const {
|
|
13
13
|
sx,
|
|
@@ -76,18 +76,18 @@ const Accordion = (_props) => {
|
|
|
76
76
|
};
|
|
77
77
|
}, [onOpenChange]);
|
|
78
78
|
return /* @__PURE__ */ jsx(AccordionContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(
|
|
79
|
-
|
|
79
|
+
Primitive,
|
|
80
80
|
{
|
|
81
|
-
|
|
81
|
+
...{
|
|
82
|
+
[AccordionDataAttributes.OpenState]: open
|
|
83
|
+
},
|
|
84
|
+
...rest,
|
|
85
|
+
sx: {
|
|
82
86
|
width: "100%",
|
|
83
87
|
display: "flex",
|
|
84
88
|
flexDirection: "column",
|
|
85
89
|
...sx
|
|
86
|
-
}),
|
|
87
|
-
...{
|
|
88
|
-
[AccordionDataAttributes.OpenState]: open
|
|
89
90
|
},
|
|
90
|
-
...rest,
|
|
91
91
|
ref: mergedRefs,
|
|
92
92
|
children
|
|
93
93
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JSX } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { PrimitiveProps } from '../../primitive';
|
|
3
3
|
export declare enum AccordionDataAttributes {
|
|
4
4
|
OpenState = "data-open"
|
|
5
5
|
}
|
|
@@ -8,5 +8,5 @@ export interface AccordionExtendedProps {
|
|
|
8
8
|
open?: boolean;
|
|
9
9
|
onOpenChange?: (open: boolean) => void;
|
|
10
10
|
}
|
|
11
|
-
export type AccordionProps =
|
|
11
|
+
export type AccordionProps = PrimitiveProps<JSX.IntrinsicElements['div'] & AccordionExtendedProps>;
|
|
12
12
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/accordion/accordion/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/accordion/accordion/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,oBAAY,uBAAuB;IACjC,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,sBAAsB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/lib/button/button.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAyB,MAAM,SAAS,CAAC;AAW7D,eAAO,MAAM,MAAM,iCAAkC,WAAW,
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/lib/button/button.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAyB,MAAM,SAAS,CAAC;AAW7D,eAAO,MAAM,MAAM,iCAAkC,WAAW,qDA4N/D,CAAC"}
|
|
@@ -140,69 +140,80 @@ const Button = ({ children, ref, ..._props }) => {
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
};
|
|
143
|
-
return /* @__PURE__ */ jsxs(
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
143
|
+
return /* @__PURE__ */ jsxs(
|
|
144
|
+
"button",
|
|
145
|
+
{
|
|
146
|
+
css,
|
|
147
|
+
disabled,
|
|
148
|
+
...rest,
|
|
149
|
+
onClick,
|
|
150
|
+
className: cn(rest.className, className),
|
|
151
|
+
ref: mergedRef,
|
|
152
|
+
children: [
|
|
153
|
+
prefix,
|
|
154
|
+
!!startIcon && /* @__PURE__ */ jsx(
|
|
155
|
+
Icon,
|
|
156
|
+
{
|
|
157
|
+
size: getSizeVariantState(size).iconSize,
|
|
158
|
+
...startIcon,
|
|
159
|
+
css: {
|
|
160
|
+
flexShrink: 0
|
|
161
|
+
},
|
|
162
|
+
sm: {
|
|
163
|
+
size: getSizeVariantState(sm == null ? void 0 : sm.size).iconSize,
|
|
164
|
+
...startIcon.sm
|
|
165
|
+
},
|
|
166
|
+
md: {
|
|
167
|
+
size: getSizeVariantState(md == null ? void 0 : md.size).iconSize,
|
|
168
|
+
...startIcon.md
|
|
169
|
+
},
|
|
170
|
+
lg: {
|
|
171
|
+
size: getSizeVariantState(lg == null ? void 0 : lg.size).iconSize,
|
|
172
|
+
...startIcon.lg
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
),
|
|
176
|
+
/* @__PURE__ */ jsx(Fragment, { children: isValidElement(children) ? children : /* @__PURE__ */ jsx("span", { dangerouslySetInnerHTML, css: truncateStyle, children }) }),
|
|
177
|
+
!!endIcon && /* @__PURE__ */ jsx(
|
|
178
|
+
Icon,
|
|
179
|
+
{
|
|
180
|
+
size: getSizeVariantState(size).iconSize,
|
|
181
|
+
...endIcon,
|
|
182
|
+
css: {
|
|
183
|
+
flexShrink: 0
|
|
184
|
+
},
|
|
185
|
+
sm: {
|
|
186
|
+
size: getSizeVariantState(sm == null ? void 0 : sm.size).iconSize,
|
|
187
|
+
...endIcon.sm
|
|
188
|
+
},
|
|
189
|
+
md: {
|
|
190
|
+
size: getSizeVariantState(md == null ? void 0 : md.size).iconSize,
|
|
191
|
+
...endIcon.md
|
|
192
|
+
},
|
|
193
|
+
lg: {
|
|
194
|
+
size: getSizeVariantState(lg == null ? void 0 : lg.size).iconSize,
|
|
195
|
+
...endIcon.lg
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
),
|
|
199
|
+
suffix,
|
|
200
|
+
isLoading && /* @__PURE__ */ jsx(
|
|
201
|
+
"span",
|
|
202
|
+
{
|
|
203
|
+
"data-loading": true,
|
|
204
|
+
css: {
|
|
205
|
+
position: "absolute",
|
|
206
|
+
inset: 0,
|
|
207
|
+
display: "flex",
|
|
208
|
+
alignItems: "center",
|
|
209
|
+
justifyContent: "center"
|
|
210
|
+
},
|
|
211
|
+
children: /* @__PURE__ */ jsx(Icon, { css: animateSpinStyle, source: LoadingIcon })
|
|
212
|
+
}
|
|
213
|
+
)
|
|
214
|
+
]
|
|
215
|
+
}
|
|
216
|
+
);
|
|
206
217
|
};
|
|
207
218
|
const createStyle = ({ size } = {}) => {
|
|
208
219
|
return [getButtonCssBySize(size)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/lib/checkbox/checkbox.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AASxC,eAAO,MAAM,QAAQ,iFAQlB,aAAa,
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../src/lib/checkbox/checkbox.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AASxC,eAAO,MAAM,QAAQ,iFAQlB,aAAa,qDAmCf,CAAC"}
|
|
@@ -32,9 +32,10 @@ const Checkbox = ({
|
|
|
32
32
|
as: "label",
|
|
33
33
|
...containerProps,
|
|
34
34
|
className: cn(classes.checkbox__container, containerProps == null ? void 0 : containerProps.className),
|
|
35
|
-
|
|
35
|
+
sx: {
|
|
36
36
|
"--checkbox-color": main,
|
|
37
|
-
"--checkbox-contrast-text": contrastText
|
|
37
|
+
"--checkbox-contrast-text": contrastText,
|
|
38
|
+
...containerProps == null ? void 0 : containerProps.sx
|
|
38
39
|
},
|
|
39
40
|
children: [
|
|
40
41
|
/* @__PURE__ */ jsxs("span", { className: classes.checkbox__main, children: [
|
|
@@ -3,9 +3,8 @@ import { forwardRef, useRef, useEffect } from "react";
|
|
|
3
3
|
import { useMergeRefs } from "@floating-ui/react";
|
|
4
4
|
import { useMotionValue, useInView, useTransform, animate, motion } from "motion/react";
|
|
5
5
|
import { useTranslation } from "react-i18next";
|
|
6
|
-
import "
|
|
7
|
-
import "../../
|
|
8
|
-
import { getDecimalDigits, formatNumber } from "../../utils/common.js";
|
|
6
|
+
import { formatNumber } from "../../utils/index.js";
|
|
7
|
+
import { getDecimalDigits } from "../../utils/common.js";
|
|
9
8
|
const CountUp = forwardRef(
|
|
10
9
|
({ from = 0, to, duration = 2, formatNumberOptions, ...props }, ref) => {
|
|
11
10
|
const rootRef = useRef(null);
|
|
@@ -101,7 +101,7 @@ const IconButton = forwardRef((_props, ref) => {
|
|
|
101
101
|
var _a;
|
|
102
102
|
(_a = rest.onClick) == null ? void 0 : _a.call(rest, e);
|
|
103
103
|
};
|
|
104
|
-
return /* @__PURE__ */ jsxs("button", { css, className: cn(rest.className, className), onClick, ref: mergedRef, children: [
|
|
104
|
+
return /* @__PURE__ */ jsxs("button", { css, ...rest, className: cn(rest.className, className), onClick, ref: mergedRef, children: [
|
|
105
105
|
!!icon && /* @__PURE__ */ jsx(
|
|
106
106
|
Icon,
|
|
107
107
|
{
|
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"}
|
|
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,5 +1,5 @@
|
|
|
1
1
|
import { JSX } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
export type BlockSkeletonProps =
|
|
4
|
-
export declare const BlockSkeleton: (
|
|
2
|
+
import { PrimitiveProps } from '../../primitive';
|
|
3
|
+
export type BlockSkeletonProps = PrimitiveProps<JSX.IntrinsicElements['div']>;
|
|
4
|
+
export declare const BlockSkeleton: (props: BlockSkeletonProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
5
5
|
//# sourceMappingURL=block-skeleton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block-skeleton.d.ts","sourceRoot":"","sources":["../../../../src/lib/loading/block-skeleton/block-skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAI5B,OAAO,
|
|
1
|
+
{"version":3,"file":"block-skeleton.d.ts","sourceRoot":"","sources":["../../../../src/lib/loading/block-skeleton/block-skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAI5B,OAAO,EAAa,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;AAE9E,eAAO,MAAM,aAAa,UAAW,kBAAkB,qDAYtD,CAAC"}
|
|
@@ -2,17 +2,18 @@ import { jsx } from "@emotion/react/jsx-runtime";
|
|
|
2
2
|
import { animatePulseStyle } from "../../../constants/emotion.js";
|
|
3
3
|
import "lodash-es";
|
|
4
4
|
import { getColorVar } from "../../../theme/palette.js";
|
|
5
|
-
import {
|
|
6
|
-
const BlockSkeleton = (
|
|
5
|
+
import { Primitive } from "../../primitive/primitive.js";
|
|
6
|
+
const BlockSkeleton = (props) => {
|
|
7
7
|
return /* @__PURE__ */ jsx(
|
|
8
|
-
|
|
8
|
+
Primitive,
|
|
9
9
|
{
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
10
|
+
...props,
|
|
11
|
+
sx: {
|
|
12
|
+
...animatePulseStyle,
|
|
13
|
+
borderRadius: 4,
|
|
14
|
+
backgroundColor: getColorVar("neutral.200"),
|
|
15
|
+
...props.sx
|
|
16
|
+
}
|
|
16
17
|
}
|
|
17
18
|
);
|
|
18
19
|
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { ImageSkeletonProps } from './types';
|
|
2
|
-
export declare const ImageSkeleton: (
|
|
2
|
+
export declare const ImageSkeleton: (props: ImageSkeletonProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=image-skeleton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-skeleton.d.ts","sourceRoot":"","sources":["../../../../src/lib/loading/image-skeleton/image-skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAM7C,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"image-skeleton.d.ts","sourceRoot":"","sources":["../../../../src/lib/loading/image-skeleton/image-skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAM7C,eAAO,MAAM,aAAa,UAAW,kBAAkB,qDA2BtD,CAAC"}
|
|
@@ -2,25 +2,23 @@ import { jsx } from "@emotion/react/jsx-runtime";
|
|
|
2
2
|
import { animatePulseStyle } from "../../../constants/emotion.js";
|
|
3
3
|
import "lodash-es";
|
|
4
4
|
import { getColorVar } from "../../../theme/palette.js";
|
|
5
|
-
import {
|
|
6
|
-
const ImageSkeleton = (
|
|
5
|
+
import { Primitive } from "../../primitive/primitive.js";
|
|
6
|
+
const ImageSkeleton = (props) => {
|
|
7
7
|
return /* @__PURE__ */ jsx(
|
|
8
|
-
|
|
8
|
+
Primitive,
|
|
9
9
|
{
|
|
10
|
-
css: [
|
|
11
|
-
animatePulseStyle,
|
|
12
|
-
{
|
|
13
|
-
display: "flex",
|
|
14
|
-
alignItems: "center",
|
|
15
|
-
justifyContent: "center",
|
|
16
|
-
width: "100%",
|
|
17
|
-
height: "100%",
|
|
18
|
-
borderRadius: "0.25rem",
|
|
19
|
-
backgroundColor: getColorVar("neutral.200")
|
|
20
|
-
},
|
|
21
|
-
createSxInterpolation(sx)
|
|
22
|
-
],
|
|
23
10
|
...props,
|
|
11
|
+
sx: {
|
|
12
|
+
...animatePulseStyle,
|
|
13
|
+
display: "flex",
|
|
14
|
+
alignItems: "center",
|
|
15
|
+
justifyContent: "center",
|
|
16
|
+
width: "100%",
|
|
17
|
+
height: "100%",
|
|
18
|
+
borderRadius: "0.25rem",
|
|
19
|
+
backgroundColor: getColorVar("neutral.200"),
|
|
20
|
+
...props.sx
|
|
21
|
+
},
|
|
24
22
|
children: /* @__PURE__ */ jsx(
|
|
25
23
|
"svg",
|
|
26
24
|
{
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PrimitiveProps } from '../../primitive';
|
|
2
2
|
import { JSX } from 'react';
|
|
3
|
-
export type ImageSkeletonProps =
|
|
3
|
+
export type ImageSkeletonProps = PrimitiveProps<JSX.IntrinsicElements['div']>;
|
|
4
4
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/loading/image-skeleton/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/loading/image-skeleton/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TextSkeletonProps } from './types';
|
|
2
|
-
export declare const TextSkeleton: (
|
|
2
|
+
export declare const TextSkeleton: (props: TextSkeletonProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=text-skeleton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-skeleton.d.ts","sourceRoot":"","sources":["../../../../src/lib/loading/text-skeleton/text-skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAM5C,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"text-skeleton.d.ts","sourceRoot":"","sources":["../../../../src/lib/loading/text-skeleton/text-skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAM5C,eAAO,MAAM,YAAY,UAAW,iBAAiB,qDAiCpD,CAAC"}
|
|
@@ -1,30 +1,42 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { animatePulseStyle } from "../../../constants/emotion.js";
|
|
3
3
|
import "lodash-es";
|
|
4
4
|
import { getColorVar } from "../../../theme/palette.js";
|
|
5
|
-
import {
|
|
6
|
-
const TextSkeleton = (
|
|
7
|
-
return /* @__PURE__ */
|
|
8
|
-
|
|
5
|
+
import { Primitive } from "../../primitive/primitive.js";
|
|
6
|
+
const TextSkeleton = (props) => {
|
|
7
|
+
return /* @__PURE__ */ jsx(
|
|
8
|
+
Primitive,
|
|
9
9
|
{
|
|
10
|
-
|
|
11
|
-
{ width: "100%", overflow: "hidden", display: "inline-flex", alignItems: "center" },
|
|
12
|
-
createSxInterpolation(sx)
|
|
13
|
-
],
|
|
10
|
+
as: "span",
|
|
14
11
|
...props,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
12
|
+
sx: {
|
|
13
|
+
width: "100%",
|
|
14
|
+
overflow: "hidden",
|
|
15
|
+
display: "inline-flex",
|
|
16
|
+
alignItems: "center",
|
|
17
|
+
visibility: "hidden",
|
|
18
|
+
"::before": {
|
|
19
|
+
content: '"\\200B"'
|
|
20
|
+
},
|
|
21
|
+
...props.sx
|
|
22
|
+
},
|
|
23
|
+
children: /* @__PURE__ */ jsx(
|
|
24
|
+
Primitive,
|
|
25
|
+
{
|
|
26
|
+
sx: {
|
|
27
|
+
...animatePulseStyle,
|
|
28
|
+
flex: "1 1 0%",
|
|
29
|
+
borderRadius: "0.125rem",
|
|
30
|
+
lineHeight: 1,
|
|
31
|
+
backgroundColor: getColorVar("neutral.200"),
|
|
32
|
+
visibility: "visible",
|
|
33
|
+
"::before": {
|
|
34
|
+
content: '"\\200B"'
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
as: "span"
|
|
38
|
+
}
|
|
39
|
+
)
|
|
28
40
|
}
|
|
29
41
|
);
|
|
30
42
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PrimitiveProps } from '../../primitive';
|
|
2
2
|
import { JSX } from 'react';
|
|
3
|
-
export type TextSkeletonProps =
|
|
3
|
+
export type TextSkeletonProps = PrimitiveProps<JSX.IntrinsicElements['span']>;
|
|
4
4
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/loading/text-skeleton/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/loading/text-skeleton/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiple-select.d.ts","sourceRoot":"","sources":["../../../src/lib/multiple-select/multiple-select.tsx"],"names":[],"mappings":"AAQA,OAAO,EAA6B,mBAAmB,EAAE,MAAM,SAAS,CAAC;AA0BzE,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,8BAA8B,mBAAmB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"multiple-select.d.ts","sourceRoot":"","sources":["../../../src/lib/multiple-select/multiple-select.tsx"],"names":[],"mappings":"AAQA,OAAO,EAA6B,mBAAmB,EAAE,MAAM,SAAS,CAAC;AA0BzE,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,MAAM,8BAA8B,mBAAmB,CAAC,CAAC,CAAC,qDAqYlG,CAAC"}
|
|
@@ -112,7 +112,7 @@ const MultipleSelect = ({ ref, ...props }) => {
|
|
|
112
112
|
setControllableValues(preset);
|
|
113
113
|
onChange == null ? void 0 : onChange(preset);
|
|
114
114
|
};
|
|
115
|
-
const responsiveSize = isNil(windowScreen.name) ? void 0 : getResponsiveProp(rest, "size", windowScreen.name)
|
|
115
|
+
const responsiveSize = isNil(windowScreen.name) ? void 0 : getResponsiveProp(rest, "size", windowScreen.name);
|
|
116
116
|
const rowMinHeight = getSizeVariantState(responsiveSize).inputSize ?? 0;
|
|
117
117
|
const displayOptions = useMemo(() => {
|
|
118
118
|
if (!inputValue) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/price-label/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,eAAO,MAAM,kBAAkB,aAAc,eAAe,oBAO3D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/price-label/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +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;AAQtF,eAAO,MAAM,UAAU,WAAY,eAAe,qDAwEjD,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from "@emotion/react/jsx-runtime";
|
|
2
|
+
import { getPriceLabelProps } from "./helpers.js";
|
|
3
|
+
import { isNil, isNumber } from "lodash-es";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
5
|
+
import { LocaleNamespaces } from "../../constants/index.js";
|
|
6
|
+
import { useFormatter } from "../../hooks/use-formatter/index.js";
|
|
7
|
+
import { getColorVar } from "../../theme/palette.js";
|
|
8
|
+
import { getSmallerTypographyVariants, getTypographyVar } from "../../theme/typography.js";
|
|
9
|
+
import { Primitive } from "../primitive/primitive.js";
|
|
10
|
+
import { TextSkeleton } from "../loading/text-skeleton/text-skeleton.js";
|
|
11
|
+
const PriceLabel = (_props) => {
|
|
12
|
+
const {
|
|
13
|
+
price,
|
|
14
|
+
exchangePrice,
|
|
15
|
+
size,
|
|
16
|
+
orientation = "vertical",
|
|
17
|
+
color = "neutral",
|
|
18
|
+
sm,
|
|
19
|
+
md,
|
|
20
|
+
lg,
|
|
21
|
+
...rest
|
|
22
|
+
} = getPriceLabelProps(_props);
|
|
23
|
+
return /* @__PURE__ */ jsxs(
|
|
24
|
+
Primitive,
|
|
25
|
+
{
|
|
26
|
+
as: "span",
|
|
27
|
+
sx: {
|
|
28
|
+
display: "inline-block",
|
|
29
|
+
textAlign: orientation === "vertical" ? "right" : "left",
|
|
30
|
+
...rest.sx
|
|
31
|
+
},
|
|
32
|
+
...rest,
|
|
33
|
+
children: [
|
|
34
|
+
/* @__PURE__ */ jsx(
|
|
35
|
+
Primitive,
|
|
36
|
+
{
|
|
37
|
+
as: "span",
|
|
38
|
+
sx: {
|
|
39
|
+
color: getColorVar(`${color}.600`),
|
|
40
|
+
...createStyle({ size }),
|
|
41
|
+
sm: createStyle(sm),
|
|
42
|
+
md: createStyle(md),
|
|
43
|
+
lg: createStyle(lg)
|
|
44
|
+
},
|
|
45
|
+
children: /* @__PURE__ */ jsx(
|
|
46
|
+
PriceRenderer,
|
|
47
|
+
{
|
|
48
|
+
price: {
|
|
49
|
+
placeholder: true,
|
|
50
|
+
...price
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
}
|
|
55
|
+
),
|
|
56
|
+
exchangePrice && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
57
|
+
orientation === "vertical" ? /* @__PURE__ */ jsx("br", {}) : /* @__PURE__ */ jsx(Fragment, { children: " " }),
|
|
58
|
+
/* @__PURE__ */ jsx(
|
|
59
|
+
Primitive,
|
|
60
|
+
{
|
|
61
|
+
sx: {
|
|
62
|
+
color: getColorVar(`${color}.500`),
|
|
63
|
+
...createStyle({ size: getSmallerTypographyVariants(size).at(0) }),
|
|
64
|
+
sm: {
|
|
65
|
+
...createStyle({ size: getSmallerTypographyVariants(sm == null ? void 0 : sm.size).at(0) })
|
|
66
|
+
},
|
|
67
|
+
md: {
|
|
68
|
+
...createStyle({ size: getSmallerTypographyVariants(md == null ? void 0 : md.size).at(0) })
|
|
69
|
+
},
|
|
70
|
+
lg: {
|
|
71
|
+
...createStyle({ size: getSmallerTypographyVariants(lg == null ? void 0 : lg.size).at(0) })
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
as: "span",
|
|
75
|
+
children: /* @__PURE__ */ jsx(
|
|
76
|
+
PriceRenderer,
|
|
77
|
+
{
|
|
78
|
+
price: {
|
|
79
|
+
prefix: "(",
|
|
80
|
+
suffix: ")",
|
|
81
|
+
placeholder: isNil(exchangePrice.value),
|
|
82
|
+
...exchangePrice
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
)
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
] })
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
);
|
|
92
|
+
};
|
|
93
|
+
const PriceRenderer = ({ price }) => {
|
|
94
|
+
const { t } = useTranslation(LocaleNamespaces.Translation);
|
|
95
|
+
const { formatPrice, formatNumber } = useFormatter();
|
|
96
|
+
const { currency, value, isPending, prefix = "", suffix = "", placeholder } = price;
|
|
97
|
+
if (currency && isNumber(value)) {
|
|
98
|
+
return `${prefix}${formatPrice(value, { currency })}${suffix}`;
|
|
99
|
+
}
|
|
100
|
+
if (isNumber(value)) {
|
|
101
|
+
return `${prefix}${formatNumber(value)}${suffix}`;
|
|
102
|
+
}
|
|
103
|
+
if (isPending) {
|
|
104
|
+
return `${prefix}${t("updating")}${suffix}`;
|
|
105
|
+
}
|
|
106
|
+
if (placeholder) {
|
|
107
|
+
return /* @__PURE__ */ jsx(TextSkeleton, { sx: { width: 60 } });
|
|
108
|
+
}
|
|
109
|
+
return /* @__PURE__ */ jsx(Fragment, {});
|
|
110
|
+
};
|
|
111
|
+
const createStyle = ({ size } = {}) => {
|
|
112
|
+
return size ? {
|
|
113
|
+
fontSize: getTypographyVar(size).fontSize,
|
|
114
|
+
lineHeight: getTypographyVar(size).lineHeight
|
|
115
|
+
} : {};
|
|
116
|
+
};
|
|
117
|
+
export {
|
|
118
|
+
PriceLabel
|
|
119
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { JSX } from 'react';
|
|
2
|
+
import { TypographySizeVariant } from '../../theme';
|
|
3
|
+
import { ColorVariant, ShallowMerge, ToResponsiveProps } from '../../types';
|
|
4
|
+
import { PrimitiveProps } from '../primitive';
|
|
5
|
+
export type PriceLabelEntry = {
|
|
6
|
+
currency?: string;
|
|
7
|
+
value?: number;
|
|
8
|
+
isPending?: boolean;
|
|
9
|
+
placeholder?: boolean;
|
|
10
|
+
prefix?: string;
|
|
11
|
+
suffix?: string;
|
|
12
|
+
};
|
|
13
|
+
export interface PriceLabelResponsiveProps {
|
|
14
|
+
size?: TypographySizeVariant;
|
|
15
|
+
}
|
|
16
|
+
type PriceLabelExtendedProps = ToResponsiveProps<PriceLabelResponsiveProps> & {
|
|
17
|
+
price: PriceLabelEntry;
|
|
18
|
+
exchangePrice?: PriceLabelEntry;
|
|
19
|
+
color?: ColorVariant;
|
|
20
|
+
orientation?: 'horizontal' | 'vertical';
|
|
21
|
+
};
|
|
22
|
+
export type PriceLabelProps = ShallowMerge<PrimitiveProps<JSX.IntrinsicElements['span']>, PriceLabelExtendedProps>;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +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;CACzC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC"}
|
|
@@ -4,7 +4,7 @@ import { Step } from "./step.js";
|
|
|
4
4
|
import { Progress } from "../progress/progress.js";
|
|
5
5
|
const maxPercent = 100;
|
|
6
6
|
const Stepper = forwardRef((props, ref) => {
|
|
7
|
-
const { direction = "horizontal",
|
|
7
|
+
const { direction = "horizontal", items, activeIndex = 0, circleSize = 32, ...rest } = props;
|
|
8
8
|
const value = maxPercent / (items.length - 1) * activeIndex;
|
|
9
9
|
const progressBarSize = `${(items.length - 1) / items.length * 100}%`;
|
|
10
10
|
const progressBarStyles = {
|
package/dist/lib/text/text.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TextProps } from './types';
|
|
2
|
-
export declare const Text: ({
|
|
2
|
+
export declare const Text: ({ children, ref, ..._props }: TextProps) => import("@emotion/react/jsx-runtime").JSX.Element;
|
|
3
3
|
//# sourceMappingURL=text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/lib/text/text.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/lib/text/text.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAuB,MAAM,SAAS,CAAC;AAMzD,eAAO,MAAM,IAAI,iCAAkC,SAAS,qDA6B3D,CAAC"}
|
package/dist/lib/text/text.js
CHANGED
|
@@ -1,41 +1,44 @@
|
|
|
1
1
|
import { jsx } from "@emotion/react/jsx-runtime";
|
|
2
2
|
import { isNil } from "lodash-es";
|
|
3
3
|
import { getTextProps } from "./helpers.js";
|
|
4
|
-
import { mediaQuery } from "../../theme/screens.js";
|
|
5
4
|
import "../../theme/palette.js";
|
|
6
5
|
import { getTypographyVar } from "../../theme/typography.js";
|
|
7
|
-
import { createSxInterpolation } from "../../utils/stylesheet.js";
|
|
8
6
|
import { Primitive } from "../primitive/primitive.js";
|
|
9
|
-
const Text = ({
|
|
7
|
+
const Text = ({ children, ref, ..._props }) => {
|
|
8
|
+
var _a, _b, _c;
|
|
10
9
|
const { sizeVariant, sm, md, lg, as = "p", dangerouslySetInnerHTML, ...rest } = getTextProps(_props);
|
|
11
|
-
const css = [
|
|
12
|
-
createStyle({ sizeVariant }),
|
|
13
|
-
{
|
|
14
|
-
[mediaQuery("sm")]: createStyle(sm),
|
|
15
|
-
[mediaQuery("md")]: createStyle(md),
|
|
16
|
-
[mediaQuery("lg")]: createStyle(lg)
|
|
17
|
-
},
|
|
18
|
-
createSxInterpolation(sx)
|
|
19
|
-
];
|
|
20
10
|
return /* @__PURE__ */ jsx(
|
|
21
11
|
Primitive,
|
|
22
12
|
{
|
|
23
|
-
css,
|
|
24
13
|
dangerouslySetInnerHTML: isNil(children) ? dangerouslySetInnerHTML : void 0,
|
|
25
14
|
...rest,
|
|
26
15
|
as,
|
|
16
|
+
sx: {
|
|
17
|
+
...createStyle({ sizeVariant }),
|
|
18
|
+
...rest.sx,
|
|
19
|
+
sm: {
|
|
20
|
+
...createStyle(sm),
|
|
21
|
+
...(_a = rest.sx) == null ? void 0 : _a.sm
|
|
22
|
+
},
|
|
23
|
+
md: {
|
|
24
|
+
...createStyle(md),
|
|
25
|
+
...(_b = rest.sx) == null ? void 0 : _b.md
|
|
26
|
+
},
|
|
27
|
+
lg: {
|
|
28
|
+
...createStyle(lg),
|
|
29
|
+
...(_c = rest.sx) == null ? void 0 : _c.lg
|
|
30
|
+
}
|
|
31
|
+
},
|
|
27
32
|
ref,
|
|
28
33
|
children: isNil(dangerouslySetInnerHTML) ? children : null
|
|
29
34
|
}
|
|
30
35
|
);
|
|
31
36
|
};
|
|
32
37
|
const createStyle = ({ sizeVariant } = {}) => {
|
|
33
|
-
return
|
|
34
|
-
sizeVariant
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
];
|
|
38
|
+
return sizeVariant ? {
|
|
39
|
+
fontSize: getTypographyVar(sizeVariant).fontSize,
|
|
40
|
+
lineHeight: getTypographyVar(sizeVariant).lineHeight
|
|
41
|
+
} : {};
|
|
39
42
|
};
|
|
40
43
|
export {
|
|
41
44
|
Text
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-picker.d.ts","sourceRoot":"","sources":["../../../src/lib/time-picker/time-picker.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAmB1C,eAAO,MAAM,UAAU,mJAepB,eAAe,
|
|
1
|
+
{"version":3,"file":"time-picker.d.ts","sourceRoot":"","sources":["../../../src/lib/time-picker/time-picker.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAmB1C,eAAO,MAAM,UAAU,mJAepB,eAAe,qDAyQjB,CAAC"}
|
|
@@ -34,7 +34,7 @@ const TimePicker = ({
|
|
|
34
34
|
}) => {
|
|
35
35
|
const floatingRef = useRef(null);
|
|
36
36
|
const windowScreen = useWindowScreen();
|
|
37
|
-
const responsiveSize = isNil(windowScreen.name) ? void 0 : getResponsiveProp(rest, "size", windowScreen.name)
|
|
37
|
+
const responsiveSize = isNil(windowScreen.name) ? void 0 : getResponsiveProp(rest, "size", windowScreen.name);
|
|
38
38
|
const rowMinHeight = getSizeVariantState(responsiveSize).inputSize ?? 0;
|
|
39
39
|
const [isOpen, setIsOpen] = useControllableState({
|
|
40
40
|
defaultValue: open ?? false,
|
|
@@ -4,7 +4,7 @@ export declare const getTypographyVar: <T extends TypographySizeVariant>(key: T,
|
|
|
4
4
|
lineHeight: string;
|
|
5
5
|
};
|
|
6
6
|
export declare const typographyVars: ThemeTypography;
|
|
7
|
-
export declare const getSmallerTypographyVariants: (variant
|
|
7
|
+
export declare const getSmallerTypographyVariants: (variant?: TypographySizeVariant) => TypographySizeVariant[];
|
|
8
8
|
type TypographySizeVariantCSS = {
|
|
9
9
|
fontSize: string;
|
|
10
10
|
lineHeight: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typography.d.ts","sourceRoot":"","sources":["../../src/theme/typography.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B,IAAI,GACJ,IAAI,GACJ,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAEV,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,qBAAqB,OAAO,CAAC;;;CASvE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAW5B,CAAC;AAEF,eAAO,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"typography.d.ts","sourceRoot":"","sources":["../../src/theme/typography.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B,IAAI,GACJ,IAAI,GACJ,MAAM,GACN,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AAEV,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,qBAAqB,OAAO,CAAC;;;CASvE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAW5B,CAAC;AAEF,eAAO,MAAM,4BAA4B,aAAc,qBAAqB,4BAQ3E,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,CAAC;AAEtF,OAAO,QAAQ,gBAAgB,CAAC;IAC9B,UAAiB,KAAK;QACpB,UAAU,EAAE,eAAe,CAAC;KAC7B;CACF"}
|
package/dist/theme/typography.js
CHANGED
|
@@ -19,6 +19,9 @@ const typographyVars = {
|
|
|
19
19
|
"6xl": getTypographyVar("6xl")
|
|
20
20
|
};
|
|
21
21
|
const getSmallerTypographyVariants = (variant) => {
|
|
22
|
+
if (!variant) {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
22
25
|
const allVariants = ["xs", "sm", "base", "lg", "xl", "2xl", "3xl", "4xl", "5xl", "6xl"];
|
|
23
26
|
return allVariants.slice(0, allVariants.indexOf(variant)).reverse();
|
|
24
27
|
};
|
package/dist/utils/common.js
CHANGED
|
@@ -37,16 +37,6 @@ const matchSearch = (text, searchText, options) => {
|
|
|
37
37
|
return normalizeSearchText(entry, options).includes(normalizedSearchText);
|
|
38
38
|
});
|
|
39
39
|
};
|
|
40
|
-
const formatNumber = (value, { lng, ...options }) => {
|
|
41
|
-
try {
|
|
42
|
-
return new Intl.NumberFormat(lng, {
|
|
43
|
-
minimumFractionDigits: 0,
|
|
44
|
-
...options
|
|
45
|
-
}).format(value);
|
|
46
|
-
} catch (error) {
|
|
47
|
-
return value.toString();
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
40
|
const getDecimalDigits = (value) => {
|
|
51
41
|
var _a;
|
|
52
42
|
return ((_a = value.toString().split(".").at(1)) == null ? void 0 : _a.length) ?? 0;
|
|
@@ -121,7 +111,6 @@ function parseSvgString(source, uniqueId) {
|
|
|
121
111
|
export {
|
|
122
112
|
ensureArray,
|
|
123
113
|
ensureBoolean,
|
|
124
|
-
formatNumber,
|
|
125
114
|
getDecimalDigits,
|
|
126
115
|
getEnumValues,
|
|
127
116
|
matchSearch,
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
2
|
import { Screen, TypographySizeVariant } from '../theme';
|
|
3
|
-
import { SizeVariant, ColorVariant } from '../types';
|
|
4
|
-
import { Get, Paths } from 'type-fest';
|
|
3
|
+
import { SizeVariant, ColorVariant, ToResponsiveProps } from '../types';
|
|
4
|
+
import { Get, Paths, SetRequired } from 'type-fest';
|
|
5
5
|
export * from './common';
|
|
6
6
|
export * from './query-params';
|
|
7
7
|
export declare const getColorShadesByVariant: (variant?: ColorVariant) => {
|
|
@@ -34,7 +34,19 @@ export type SizeVariantState = Partial<{
|
|
|
34
34
|
textVariant: TypographySizeVariant;
|
|
35
35
|
}>;
|
|
36
36
|
export declare const getSizeVariantState: (size?: SizeVariant) => SizeVariantState;
|
|
37
|
-
export declare const getResponsiveProp: <O extends object, P extends Paths<O>, R = Get<O, `${P}`>>(record:
|
|
37
|
+
export declare const getResponsiveProp: <O extends object, P extends Paths<O>, R = Get<O, `${P}`>>(record: ToResponsiveProps<O>, field: P, screen: Screen, options?: {
|
|
38
38
|
condition?: (value?: R) => boolean;
|
|
39
39
|
}) => R;
|
|
40
|
+
export type FormatNumberOptions = Intl.NumberFormatOptions & {
|
|
41
|
+
lng: string;
|
|
42
|
+
};
|
|
43
|
+
export declare const formatNumber: (value: number, { lng, ...options }: FormatNumberOptions) => string;
|
|
44
|
+
export type FormatPriceOptions = SetRequired<Intl.NumberFormatOptions, 'currency'> & {
|
|
45
|
+
lng: string;
|
|
46
|
+
};
|
|
47
|
+
export declare const formatPrice: (value: number, { lng, ...options }: FormatPriceOptions) => string;
|
|
48
|
+
export type FormatDateTimeOptions = Intl.DateTimeFormatOptions & {
|
|
49
|
+
lng: string;
|
|
50
|
+
};
|
|
51
|
+
export declare const formatDateTime: (value: Date | string | number, { lng, ...options }: FormatDateTimeOptions) => string;
|
|
40
52
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,YAAY,EAAE,MAAM,OAAO,CAAC;AAI5F,OAAO,EAAe,MAAM,EAAqB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,YAAY,EAAE,MAAM,OAAO,CAAC;AAI5F,OAAO,EAAe,MAAM,EAAqB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAEpD,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAc/B,eAAO,MAAM,uBAAuB,aAAc,YAAY;;;;;;;;;;;;;;;;;;;;CAyF7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,WAAW,KAAK,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,MAiB9G,CAAC;AAEF,eAAO,MAAM,eAAe,aAAc,KAAK,CAAC,SAAS,KAAG,YAAY,EAYvE,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,qBAAqB,CAAC;CACpC,CAAC,CAAC;AAEH,eAAO,MAAM,mBAAmB,UAAW,WAAW,KAAG,gBAiCxD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,2BAC/D,iBAAiB,CAAC,CAAC,CAAC,SACrB,CAAC,UACA,MAAM,YACJ;IACR,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC;CACpC,KACA,CAgBF,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,GAAG;IAC3D,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,YAAY,UAAW,MAAM,uBAAuB,mBAAmB,WASnF,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,GAAG;IACnF,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,WAAW,UAAW,MAAM,uBAAuB,kBAAkB,WAWjF,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,GAAG;IAC/D,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,IAAI,GAAG,MAAM,GAAG,MAAM,uBAAuB,qBAAqB,WAyBvG,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Children, isValidElement, Fragment } from "react";
|
|
2
|
-
import { isUndefined, mergeWith, get } from "lodash-es";
|
|
2
|
+
import { isString, isNumber, isUndefined, mergeWith, get } from "lodash-es";
|
|
3
3
|
import { getSmallerScreens } from "../theme/screens.js";
|
|
4
4
|
import { getColorVar } from "../theme/palette.js";
|
|
5
|
-
import { ensureArray, ensureBoolean,
|
|
5
|
+
import { ensureArray, ensureBoolean, getDecimalDigits, getEnumValues, matchSearch, normalizeSearchText, omitEmpty, parseNumber, parseSvgString } from "./common.js";
|
|
6
6
|
import { ArrayParamParser, BooleanParamParser, DateParamParser, EnumParamParser, NumberParamParser, StringParamParser, simplifyQueryParams } from "./query-params.js";
|
|
7
7
|
const getColorShadesByVariant = (variant) => {
|
|
8
8
|
switch (variant) {
|
|
@@ -156,7 +156,7 @@ const getSizeVariantState = (size) => {
|
|
|
156
156
|
};
|
|
157
157
|
const getResponsiveProp = (record, field, screen, options) => {
|
|
158
158
|
const condition = (options == null ? void 0 : options.condition) ?? ((value) => !isUndefined(value));
|
|
159
|
-
const getByScreen = (bp) => get(record == null ? void 0 : record[bp], field);
|
|
159
|
+
const getByScreen = (bp) => bp === "xs" ? get(record, field) : get(record == null ? void 0 : record[bp], field);
|
|
160
160
|
const currentVal = getByScreen(screen);
|
|
161
161
|
if (condition(currentVal)) {
|
|
162
162
|
return currentVal;
|
|
@@ -166,6 +166,53 @@ const getResponsiveProp = (record, field, screen, options) => {
|
|
|
166
166
|
});
|
|
167
167
|
return getByScreen(smallerScreen ?? screen);
|
|
168
168
|
};
|
|
169
|
+
const formatNumber = (value, { lng, ...options }) => {
|
|
170
|
+
try {
|
|
171
|
+
return new Intl.NumberFormat(lng, {
|
|
172
|
+
minimumFractionDigits: 0,
|
|
173
|
+
...options
|
|
174
|
+
}).format(value);
|
|
175
|
+
} catch (error) {
|
|
176
|
+
return value.toString();
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
const formatPrice = (value, { lng, ...options }) => {
|
|
180
|
+
try {
|
|
181
|
+
return new Intl.NumberFormat(lng, {
|
|
182
|
+
style: "currency",
|
|
183
|
+
minimumFractionDigits: 0,
|
|
184
|
+
currencyDisplay: "narrowSymbol",
|
|
185
|
+
...options
|
|
186
|
+
}).format(value);
|
|
187
|
+
} catch (error) {
|
|
188
|
+
return [value, options.currency].filter(Boolean).join(" ");
|
|
189
|
+
}
|
|
190
|
+
};
|
|
191
|
+
const formatDateTime = (value, { lng, ...options }) => {
|
|
192
|
+
const dateObject = (() => {
|
|
193
|
+
if (isString(value)) {
|
|
194
|
+
const hasTimezone = /([zZ]|[+-]\d{2}:\d{2})$/.test(value);
|
|
195
|
+
return hasTimezone ? new Date(value) : /* @__PURE__ */ new Date(value + "Z");
|
|
196
|
+
}
|
|
197
|
+
if (isNumber(value)) {
|
|
198
|
+
return new Date(value);
|
|
199
|
+
}
|
|
200
|
+
return value;
|
|
201
|
+
})();
|
|
202
|
+
try {
|
|
203
|
+
return new Intl.DateTimeFormat(lng, {
|
|
204
|
+
day: "2-digit",
|
|
205
|
+
month: "2-digit",
|
|
206
|
+
year: "numeric",
|
|
207
|
+
hour: "numeric",
|
|
208
|
+
minute: "2-digit",
|
|
209
|
+
hour12: false,
|
|
210
|
+
...options
|
|
211
|
+
}).format(dateObject);
|
|
212
|
+
} catch (error) {
|
|
213
|
+
return value.toString();
|
|
214
|
+
}
|
|
215
|
+
};
|
|
169
216
|
export {
|
|
170
217
|
ArrayParamParser,
|
|
171
218
|
BooleanParamParser,
|
|
@@ -176,7 +223,9 @@ export {
|
|
|
176
223
|
ensureArray,
|
|
177
224
|
ensureBoolean,
|
|
178
225
|
flattenChildren,
|
|
226
|
+
formatDateTime,
|
|
179
227
|
formatNumber,
|
|
228
|
+
formatPrice,
|
|
180
229
|
getColorShadesByVariant,
|
|
181
230
|
getDecimalDigits,
|
|
182
231
|
getEnumValues,
|