@jenesei-software/jenesei-kit-react 2.3.3 → 2.3.4
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/build/area-preview.cjs.js +1 -1
- package/build/area-preview.es.js +1 -1
- package/build/button-Cl4532xK.cjs +3 -0
- package/build/button-Cl4532xK.cjs.map +1 -0
- package/build/button-ygPLb-n_.js +118 -0
- package/build/button-ygPLb-n_.js.map +1 -0
- package/build/{checkbox-9ue4f3-6.cjs → checkbox-B_eE5eQs.cjs} +2 -2
- package/build/{checkbox-9ue4f3-6.cjs.map → checkbox-B_eE5eQs.cjs.map} +1 -1
- package/build/{checkbox-TW5VSNui.js → checkbox-CLGIqCRV.js} +2 -2
- package/build/{checkbox-TW5VSNui.js.map → checkbox-CLGIqCRV.js.map} +1 -1
- package/build/component-button.cjs.js +1 -1
- package/build/component-button.es.js +1 -1
- package/build/component-checkbox.cjs.js +1 -1
- package/build/component-checkbox.es.js +1 -1
- package/build/component-date-picker.cjs.js +1 -1
- package/build/component-date-picker.es.js +1 -1
- package/build/component-icon.cjs.js +1 -1
- package/build/component-icon.es.js +1 -1
- package/build/component-pagination.cjs.js +1 -1
- package/build/component-pagination.es.js +1 -1
- package/build/component-select.cjs.js +1 -1
- package/build/component-select.es.js +1 -1
- package/build/components/button/component.d.ts +1 -2
- package/build/components/icon/component.d.ts +1 -1
- package/build/components/icon/component.hooks.d.ts +3 -1
- package/build/{context-app-CxNgCfd2.js → context-app-DhxAgIBE.js} +2 -2
- package/build/{context-app-CxNgCfd2.js.map → context-app-DhxAgIBE.js.map} +1 -1
- package/build/{context-app-29ajupjq.cjs → context-app-v8y-IIxP.cjs} +2 -2
- package/build/{context-app-29ajupjq.cjs.map → context-app-v8y-IIxP.cjs.map} +1 -1
- package/build/context-app.cjs.js +1 -1
- package/build/context-app.es.js +1 -1
- package/build/{context-cookie-Daq2MZo3.js → context-cookie-DRPslhxf.js} +2 -2
- package/build/{context-cookie-Daq2MZo3.js.map → context-cookie-DRPslhxf.js.map} +1 -1
- package/build/{context-cookie-DFgWWGA9.cjs → context-cookie-qk-RTVhn.cjs} +2 -2
- package/build/{context-cookie-DFgWWGA9.cjs.map → context-cookie-qk-RTVhn.cjs.map} +1 -1
- package/build/context-cookie.cjs.js +1 -1
- package/build/context-cookie.es.js +1 -1
- package/build/{context-geolocation-B_KYGlfQ.js → context-geolocation-6vk3sckx.js} +2 -2
- package/build/{context-geolocation-B_KYGlfQ.js.map → context-geolocation-6vk3sckx.js.map} +1 -1
- package/build/{context-geolocation-bP0_455H.cjs → context-geolocation-DlHZrmaf.cjs} +2 -2
- package/build/{context-geolocation-bP0_455H.cjs.map → context-geolocation-DlHZrmaf.cjs.map} +1 -1
- package/build/context-geolocation.cjs.js +1 -1
- package/build/context-geolocation.es.js +1 -1
- package/build/{context-local-storage-DA_whw_k.js → context-local-storage-CknlDupP.js} +2 -2
- package/build/{context-local-storage-DA_whw_k.js.map → context-local-storage-CknlDupP.js.map} +1 -1
- package/build/{context-local-storage-D_x8dwxM.cjs → context-local-storage-DK4zzbkX.cjs} +2 -2
- package/build/{context-local-storage-D_x8dwxM.cjs.map → context-local-storage-DK4zzbkX.cjs.map} +1 -1
- package/build/context-local-storage.cjs.js +1 -1
- package/build/context-local-storage.es.js +1 -1
- package/build/{context-permission-Cj70kL4A.js → context-permission-C5L4I8X3.js} +2 -2
- package/build/{context-permission-Cj70kL4A.js.map → context-permission-C5L4I8X3.js.map} +1 -1
- package/build/{context-permission-BP9hPUcR.cjs → context-permission-qp3vUfoA.cjs} +2 -2
- package/build/{context-permission-BP9hPUcR.cjs.map → context-permission-qp3vUfoA.cjs.map} +1 -1
- package/build/context-permission.cjs.js +1 -1
- package/build/context-permission.es.js +1 -1
- package/build/{context-sonner-DNJWVKTw.js → context-sonner-BB7C6Wsf.js} +3 -3
- package/build/{context-sonner-DNJWVKTw.js.map → context-sonner-BB7C6Wsf.js.map} +1 -1
- package/build/{context-sonner-C8aMJPWz.cjs → context-sonner-BGpNwV_S.cjs} +2 -2
- package/build/{context-sonner-C8aMJPWz.cjs.map → context-sonner-BGpNwV_S.cjs.map} +1 -1
- package/build/context-sonner.cjs.js +1 -1
- package/build/context-sonner.es.js +1 -1
- package/build/{date-picker-DRXvfRZx.cjs → date-picker-CexAqJgp.cjs} +2 -2
- package/build/{date-picker-DRXvfRZx.cjs.map → date-picker-CexAqJgp.cjs.map} +1 -1
- package/build/{date-picker-Sw6n-RRw.js → date-picker-WGlcoobG.js} +3 -3
- package/build/{date-picker-Sw6n-RRw.js.map → date-picker-WGlcoobG.js.map} +1 -1
- package/build/hooks-use-deep-compare-memoize.cjs.js +1 -1
- package/build/hooks-use-deep-compare-memoize.es.js +1 -1
- package/build/hooks-use-deep-memo.cjs.js +1 -1
- package/build/hooks-use-deep-memo.es.js +1 -1
- package/build/icon-B6PvcNvO.cjs +3 -0
- package/build/icon-B6PvcNvO.cjs.map +1 -0
- package/build/icon-okw710zo.js +255 -0
- package/build/icon-okw710zo.js.map +1 -0
- package/build/index.cjs.js +1 -1
- package/build/index.es.js +13 -13
- package/build/{isEqual-BHn_Fkkw.js → isEqual-BF-XUq17.js} +1 -1
- package/build/{isEqual-BHn_Fkkw.js.map → isEqual-BF-XUq17.js.map} +1 -1
- package/build/{isEqual-Q-mEN2md.cjs → isEqual-DJD8QXYf.cjs} +1 -1
- package/build/{isEqual-Q-mEN2md.cjs.map → isEqual-DJD8QXYf.cjs.map} +1 -1
- package/build/{logger-QC3A33gh.js → logger-D-UddU9-.js} +1 -1
- package/build/{logger-QC3A33gh.js.map → logger-D-UddU9-.js.map} +1 -1
- package/build/{logger-D3Xu5ef3.cjs → logger-GLARTxbP.cjs} +1 -1
- package/build/{logger-D3Xu5ef3.cjs.map → logger-GLARTxbP.cjs.map} +1 -1
- package/build/{pagination-CzmrFLcs.cjs → pagination-ClW-z5EV.cjs} +2 -2
- package/build/{pagination-CzmrFLcs.cjs.map → pagination-ClW-z5EV.cjs.map} +1 -1
- package/build/{pagination-DWlnuh1H.js → pagination-Dnl1v3VL.js} +2 -2
- package/build/{pagination-DWlnuh1H.js.map → pagination-Dnl1v3VL.js.map} +1 -1
- package/build/{preview-p2i9Ju3I.cjs → preview-DEFGRXfJ.cjs} +2 -2
- package/build/{preview-p2i9Ju3I.cjs.map → preview-DEFGRXfJ.cjs.map} +1 -1
- package/build/{preview-C-mtYSGG.js → preview-DVk-Ykii.js} +2 -2
- package/build/{preview-C-mtYSGG.js.map → preview-DVk-Ykii.js.map} +1 -1
- package/build/{select-Bn-24dwy.js → select-9C2iAXLx.js} +3 -3
- package/build/{select-Bn-24dwy.js.map → select-9C2iAXLx.js.map} +1 -1
- package/build/{select-DcgzvPvR.cjs → select-C2lLQlEy.cjs} +2 -2
- package/build/{select-DcgzvPvR.cjs.map → select-C2lLQlEy.cjs.map} +1 -1
- package/package.json +1 -1
- package/build/button-9k2nzpqW.js +0 -135
- package/build/button-9k2nzpqW.js.map +0 -1
- package/build/button-C1H35JQG.cjs +0 -3
- package/build/button-C1H35JQG.cjs.map +0 -1
- package/build/icon-DyjaxKWq.cjs +0 -3
- package/build/icon-DyjaxKWq.cjs.map +0 -1
- package/build/icon-Y-IZxLXB.js +0 -245
- package/build/icon-Y-IZxLXB.js.map +0 -1
package/package.json
CHANGED
package/build/button-9k2nzpqW.js
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { o as w } from "./chunk-cI0lbGMq.js";
|
|
2
|
-
import { i as l, n, r, t as I } from "./utils-BRgi6734.js";
|
|
3
|
-
import { n as z, t as v } from "./functions-DzX-pTN8.js";
|
|
4
|
-
import { t as A } from "./icon-Y-IZxLXB.js";
|
|
5
|
-
import { t as G } from "./isEqual-BHn_Fkkw.js";
|
|
6
|
-
import { useDeepCompareMemoize as f } from "./hooks-use-deep-compare-memoize.es.js";
|
|
7
|
-
import { useMergeRefs as O } from "./hooks-use-merge-refs.es.js";
|
|
8
|
-
import { useTypographyStyles as T } from "./hooks-use-typography-styles.es.js";
|
|
9
|
-
import { jsx as x, jsxs as B } from "react/jsx-runtime";
|
|
10
|
-
import { memo as H, useCallback as S, useMemo as d, useRef as g } from "react";
|
|
11
|
-
var C = /* @__PURE__ */ w(G(), 1), _ = (e) => {
|
|
12
|
-
const o = g(e.onClick), i = g(e.onFocus), s = g(e.onMouseDown), c = g(e.isDisabled);
|
|
13
|
-
o.current = e.onClick, i.current = e.onFocus, s.current = e.onMouseDown, c.current = e.isDisabled;
|
|
14
|
-
const a = S((u) => {
|
|
15
|
-
c.current || o.current?.(u);
|
|
16
|
-
}, []), m = S((u) => {
|
|
17
|
-
i.current?.(u);
|
|
18
|
-
}, []), y = S((u) => {
|
|
19
|
-
s.current?.(u);
|
|
20
|
-
}, []);
|
|
21
|
-
return /* @__PURE__ */ x(R, {
|
|
22
|
-
...e,
|
|
23
|
-
onClick: e.onClick ? a : void 0,
|
|
24
|
-
onFocus: e.onFocus ? m : void 0,
|
|
25
|
-
onMouseDown: e.onMouseDown ? y : void 0
|
|
26
|
-
});
|
|
27
|
-
}, j = (e) => {
|
|
28
|
-
const o = f(e.icons ?? []), i = f(e.style), s = f(e.sxTypography), c = "iconGroupOrder" in e, a = c ? e.iconGroupOrder : void 0, m = d(() => A({
|
|
29
|
-
icons: o.map((b) => ({
|
|
30
|
-
...b,
|
|
31
|
-
style: { color: r.genre.button[e.genre].color.index }
|
|
32
|
-
})),
|
|
33
|
-
size: e.size
|
|
34
|
-
}), [
|
|
35
|
-
o,
|
|
36
|
-
e.size,
|
|
37
|
-
e.genre
|
|
38
|
-
]), y = g(null), u = O(d(() => [y, e.ref], [e.ref])), { className: h, style: F } = T({
|
|
39
|
-
sx: d(() => ({
|
|
40
|
-
variant: I.sizeToController[e.size],
|
|
41
|
-
isNoUserSelect: !0,
|
|
42
|
-
...s
|
|
43
|
-
}), [e.size, s]),
|
|
44
|
-
style: d(() => ({
|
|
45
|
-
order: 0,
|
|
46
|
-
display: "inline-flex"
|
|
47
|
-
}), [])
|
|
48
|
-
}), { className: D, style: M } = d(() => {
|
|
49
|
-
const b = v([
|
|
50
|
-
n.component.button.root,
|
|
51
|
-
n.control[e.isDisabled ? "none" : e.control ?? "boxShadow"],
|
|
52
|
-
n.transition.color,
|
|
53
|
-
e.isZeroRadius && n.component.button.isZeroRadius,
|
|
54
|
-
e.isHidden && n.component.button.isHidden,
|
|
55
|
-
e.isHiddenBorder && n.component.button.isHiddenBorder,
|
|
56
|
-
e.isFullRadius && n.component.button.isFullRadius,
|
|
57
|
-
e.isFullSize && n.component.button.isFullSize,
|
|
58
|
-
e.isWidthAsHeight && n.component.button.isWidthAsHeight,
|
|
59
|
-
e.isMinWidthAsContent && n.component.button.isMinWidthAsContent,
|
|
60
|
-
e.isZeroPadding && n.component.button.isZeroPadding,
|
|
61
|
-
e.isSizeFitContent && n.component.button.isSizeFitContent,
|
|
62
|
-
e.className
|
|
63
|
-
]), t = {};
|
|
64
|
-
return t[l.component.button.background] = r.genre.button[e.genre].background.index, t[l.component.button.color] = r.genre.button[e.genre].color.index, t[l.component.button.border] = r.genre.button[e.genre].border.index, t[l.component.button.height] = r.size[e.size].height, t[l.component.button.padding] = r.size[e.size].padding, t[l.component.button.radius] = r.size[e.size].radius, t[l.component.button.gap] = `calc(${r.size[e.size].padding} - 2px)`, {
|
|
65
|
-
className: b,
|
|
66
|
-
style: z([Object.keys(t).length ? t : void 0, i])
|
|
67
|
-
};
|
|
68
|
-
}, [
|
|
69
|
-
e.className,
|
|
70
|
-
i,
|
|
71
|
-
e.genre,
|
|
72
|
-
e.isDisabled,
|
|
73
|
-
e.isFullSize,
|
|
74
|
-
e.isHidden,
|
|
75
|
-
e.isHiddenBorder,
|
|
76
|
-
e.isMinWidthAsContent,
|
|
77
|
-
e.isFullRadius,
|
|
78
|
-
e.isWidthAsHeight,
|
|
79
|
-
e.size,
|
|
80
|
-
e.isZeroRadius,
|
|
81
|
-
e.control,
|
|
82
|
-
e.isZeroPadding,
|
|
83
|
-
e.isSizeFitContent
|
|
84
|
-
]), { className: N, style: k } = d(() => {
|
|
85
|
-
const b = v([n.component.button.iconGroup, e.isIconGroup && n.component.button.iconGroupIsIconGroup]), t = {};
|
|
86
|
-
return c && (t[l.component.button.iconGroupOrder] = String(a ?? "initial")), {
|
|
87
|
-
className: b,
|
|
88
|
-
style: z([Object.keys(t).length ? t : void 0])
|
|
89
|
-
};
|
|
90
|
-
}, [
|
|
91
|
-
e.isIconGroup,
|
|
92
|
-
c,
|
|
93
|
-
a
|
|
94
|
-
]);
|
|
95
|
-
return /* @__PURE__ */ B("button", {
|
|
96
|
-
tabIndex: e.tabIndex,
|
|
97
|
-
disabled: e.isDisabled,
|
|
98
|
-
className: D,
|
|
99
|
-
style: M,
|
|
100
|
-
onClick: e.onClick,
|
|
101
|
-
onFocus: e.onFocus,
|
|
102
|
-
onMouseDown: e.onMouseDown,
|
|
103
|
-
type: e.type ?? "button",
|
|
104
|
-
ref: u,
|
|
105
|
-
name: e.name,
|
|
106
|
-
"aria-label": e.ariaLabel,
|
|
107
|
-
id: e.id,
|
|
108
|
-
children: [!e.isOnlyIcon && e.children && /* @__PURE__ */ x("div", {
|
|
109
|
-
className: h,
|
|
110
|
-
style: F,
|
|
111
|
-
children: e.children
|
|
112
|
-
}), /* @__PURE__ */ x("div", {
|
|
113
|
-
className: N,
|
|
114
|
-
style: k,
|
|
115
|
-
children: m
|
|
116
|
-
})]
|
|
117
|
-
});
|
|
118
|
-
}, R = H(j, E);
|
|
119
|
-
_.displayName = "Button";
|
|
120
|
-
R.displayName = "ButtonView";
|
|
121
|
-
function E(e, o) {
|
|
122
|
-
const { icons: i, style: s, sxTypography: c, ...a } = e, { icons: m, style: y, sxTypography: u, ...h } = o;
|
|
123
|
-
return (0, C.default)(i, m) && (0, C.default)(s, y) && (0, C.default)(c, u) && W(a, h);
|
|
124
|
-
}
|
|
125
|
-
function W(e, o) {
|
|
126
|
-
const i = Object.keys(e), s = Object.keys(o);
|
|
127
|
-
if (i.length !== s.length) return !1;
|
|
128
|
-
const c = new Set(s);
|
|
129
|
-
return i.every((a) => c.has(a) && Object.is(e[a], o[a]));
|
|
130
|
-
}
|
|
131
|
-
export {
|
|
132
|
-
_ as t
|
|
133
|
-
};
|
|
134
|
-
|
|
135
|
-
//# sourceMappingURL=button-9k2nzpqW.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-9k2nzpqW.js","names":[],"sources":["../src/components/button/component.tsx"],"sourcesContent":["import { getIconComponents } from '@local/components/icon';\nimport { useDeepCompareMemoize } from '@local/hooks/use-deep-compare-memoize';\nimport { useMergeRefs } from '@local/hooks/use-merge-refs';\nimport { useTypographyStyles } from '@local/hooks/use-typography-styles';\nimport { CSS_CLASS, CSS_VARS, CSS_VARS_RAW, EXTRA_VALUE } from '@local/styles/utils';\nimport { setClasses, setStyles } from '@local/styles/utils/functions';\n\nimport isEqual from 'lodash/isEqual';\nimport { FC, memo, Ref, useCallback, useMemo, useRef } from 'react';\n\nimport { IButton } from './component.types';\n\nexport const Button: FC<IButton> = (props) => {\n const onClickRef = useRef(props.onClick);\n const onFocusRef = useRef(props.onFocus);\n const onMouseDownRef = useRef(props.onMouseDown);\n const isDisabledRef = useRef(props.isDisabled);\n\n onClickRef.current = props.onClick;\n onFocusRef.current = props.onFocus;\n onMouseDownRef.current = props.onMouseDown;\n isDisabledRef.current = props.isDisabled;\n\n const handleClick = useCallback<Exclude<IButton['onClick'], undefined>>((event) => {\n if (!isDisabledRef.current) {\n onClickRef.current?.(event);\n }\n }, []);\n\n const handleFocus = useCallback<Exclude<IButton['onFocus'], undefined>>((event) => {\n onFocusRef.current?.(event);\n }, []);\n\n const handleMouseDown = useCallback<Exclude<IButton['onMouseDown'], undefined>>((event) => {\n onMouseDownRef.current?.(event);\n }, []);\n\n return (\n <ButtonView\n {...props}\n onClick={props.onClick ? handleClick : undefined}\n onFocus={props.onFocus ? handleFocus : undefined}\n onMouseDown={props.onMouseDown ? handleMouseDown : undefined}\n />\n );\n};\n\nconst ButtonComponent: FC<IButton> = (props) => {\n const icons = useDeepCompareMemoize(props.icons ?? []);\n const propsStyle = useDeepCompareMemoize(props.style);\n const sxTypography = useDeepCompareMemoize(props.sxTypography);\n const hasIconGroupOrder = 'iconGroupOrder' in props;\n const iconGroupOrder = hasIconGroupOrder ? props.iconGroupOrder : undefined;\n\n const iconComponents = useMemo(\n () =>\n getIconComponents({\n icons: icons.map((e) => ({\n ...e,\n style: { color: CSS_VARS.genre.button[props.genre].color.index },\n })),\n size: props.size,\n }),\n [icons, props.size, props.genre],\n );\n\n const refDefault = useRef<HTMLButtonElement>(null);\n\n const refs = useMemo(() => [refDefault, props.ref], [props.ref]);\n const ref = useMergeRefs(refs);\n\n const typographySx = useMemo(\n () => ({ variant: EXTRA_VALUE.sizeToController[props.size], isNoUserSelect: true, ...sxTypography }),\n [props.size, sxTypography],\n );\n\n const typographyStyle = useMemo(() => ({ order: 0, display: 'inline-flex' }), []);\n\n const { className: classNameTypography, style: styleTypography } = useTypographyStyles({\n sx: typographySx,\n style: typographyStyle,\n });\n\n const { className, style } = useMemo(() => {\n const className = setClasses([\n CSS_CLASS.component.button.root,\n CSS_CLASS.control[props.isDisabled ? 'none' : (props.control ?? 'boxShadow')],\n CSS_CLASS.transition.color,\n props.isZeroRadius && CSS_CLASS.component.button.isZeroRadius,\n props.isHidden && CSS_CLASS.component.button.isHidden,\n props.isHiddenBorder && CSS_CLASS.component.button.isHiddenBorder,\n props.isFullRadius && CSS_CLASS.component.button.isFullRadius,\n props.isFullSize && CSS_CLASS.component.button.isFullSize,\n props.isWidthAsHeight && CSS_CLASS.component.button.isWidthAsHeight,\n props.isMinWidthAsContent && CSS_CLASS.component.button.isMinWidthAsContent,\n props.isZeroPadding && CSS_CLASS.component.button.isZeroPadding,\n props.isSizeFitContent && CSS_CLASS.component.button.isSizeFitContent,\n props.className,\n ]);\n\n const vars: Record<string, string> = {};\n\n vars[CSS_VARS_RAW.component.button.background] = CSS_VARS.genre.button[props.genre].background.index;\n vars[CSS_VARS_RAW.component.button.color] = CSS_VARS.genre.button[props.genre].color.index;\n vars[CSS_VARS_RAW.component.button.border] = CSS_VARS.genre.button[props.genre].border.index;\n\n vars[CSS_VARS_RAW.component.button.height] = CSS_VARS.size[props.size].height;\n vars[CSS_VARS_RAW.component.button.padding] = CSS_VARS.size[props.size].padding;\n vars[CSS_VARS_RAW.component.button.radius] = CSS_VARS.size[props.size].radius;\n vars[CSS_VARS_RAW.component.button.gap] = `calc(${CSS_VARS.size[props.size].padding} - 2px)`;\n\n const style = setStyles([Object.keys(vars).length ? vars : undefined, propsStyle]);\n\n return { className, style };\n }, [\n props.className,\n propsStyle,\n props.genre,\n props.isDisabled,\n props.isFullSize,\n props.isHidden,\n props.isHiddenBorder,\n props.isMinWidthAsContent,\n props.isFullRadius,\n props.isWidthAsHeight,\n props.size,\n props.isZeroRadius,\n props.control,\n props.isZeroPadding,\n props.isSizeFitContent,\n ]);\n\n const { className: classNameIconGroup, style: styleIconGroup } = useMemo(() => {\n const className = setClasses([\n CSS_CLASS.component.button.iconGroup,\n\n props.isIconGroup && CSS_CLASS.component.button.iconGroupIsIconGroup,\n ]);\n\n const vars: Record<string, string> = {};\n\n if (hasIconGroupOrder) vars[CSS_VARS_RAW.component.button.iconGroupOrder] = String(iconGroupOrder ?? 'initial');\n\n const style = setStyles([Object.keys(vars).length ? vars : undefined]);\n\n return { className, style };\n }, [props.isIconGroup, hasIconGroupOrder, iconGroupOrder]);\n\n return (\n <button\n tabIndex={props.tabIndex}\n disabled={props.isDisabled}\n className={className}\n style={style}\n onClick={props.onClick}\n onFocus={props.onFocus}\n onMouseDown={props.onMouseDown}\n type={props.type ?? 'button'}\n ref={ref as Ref<HTMLButtonElement>}\n name={props.name}\n aria-label={props.ariaLabel}\n id={props.id}\n >\n {!props.isOnlyIcon && props.children && (\n <div className={classNameTypography} style={styleTypography}>\n {props.children}\n </div>\n )}\n <div className={classNameIconGroup} style={styleIconGroup}>\n {iconComponents}\n </div>\n </button>\n );\n};\n\nconst ButtonView = memo(ButtonComponent, areButtonPropsEqual);\nButton.displayName = 'Button';\nButtonView.displayName = 'ButtonView';\n\nfunction areButtonPropsEqual(prev: IButton, next: IButton) {\n const { icons: prevIcons, style: prevStyle, sxTypography: prevSxTypography, ...prevRest } = prev;\n const { icons: nextIcons, style: nextStyle, sxTypography: nextSxTypography, ...nextRest } = next;\n\n return (\n isEqual(prevIcons, nextIcons) &&\n isEqual(prevStyle, nextStyle) &&\n isEqual(prevSxTypography, nextSxTypography) &&\n areShallowEqual(prevRest, nextRest)\n );\n}\n\nfunction areShallowEqual<T extends Record<string, unknown>>(prev: T, next: T) {\n const prevKeys = Object.keys(prev);\n const nextKeys = Object.keys(next);\n\n if (prevKeys.length !== nextKeys.length) return false;\n\n const nextKeysSet = new Set(nextKeys);\n\n return prevKeys.every((key) => nextKeysSet.has(key) && Object.is(prev[key], next[key]));\n}\n"],"mappings":";;;;;;;;;;mCAYa,IAAA,CAAuB,MAAU;AAC5C,QAAM,IAAa,EAAO,EAAM,OAAA,GAC1B,IAAa,EAAO,EAAM,OAAA,GAC1B,IAAiB,EAAO,EAAM,WAAA,GAC9B,IAAgB,EAAO,EAAM,UAAA;AAEnC,EAAA,EAAW,UAAU,EAAM,SAC3B,EAAW,UAAU,EAAM,SAC3B,EAAe,UAAU,EAAM,aAC/B,EAAc,UAAU,EAAM;AAE9B,QAAM,IAAc,EAAA,CAAqD,MAAU;AACjF,IAAK,EAAc,WACjB,EAAW,UAAU,CAAA;AAAA,KAEtB,CAAA,CAAE,GAEC,IAAc,EAAA,CAAqD,MAAU;AACjF,IAAA,EAAW,UAAU,CAAA;AAAA,KACpB,CAAA,CAAE,GAEC,IAAkB,EAAA,CAAyD,MAAU;AACzF,IAAA,EAAe,UAAU,CAAA;AAAA,KACxB,CAAA,CAAE;AAEL,SACE,gBAAA,EAAC,GAAD;AAAA,IACE,GAAI;AAAA,IACJ,SAAS,EAAM,UAAU,IAAc;AAAA,IACvC,SAAS,EAAM,UAAU,IAAc;AAAA,IACvC,aAAa,EAAM,cAAc,IAAkB;AAAA,GACnD;GAIA,IAAA,CAAgC,MAAU;AAC9C,QAAM,IAAQ,EAAsB,EAAM,SAAS,CAAA,CAAE,GAC/C,IAAa,EAAsB,EAAM,KAAA,GACzC,IAAe,EAAsB,EAAM,YAAA,GAC3C,IAAoB,oBAAoB,GACxC,IAAiB,IAAoB,EAAM,iBAAiB,QAE5D,IAAiB,EAAA,MAEnB,EAAkB;AAAA,IAChB,OAAO,EAAM,IAAA,CAAK,OAAO;AAAA,MACvB,GAAG;AAAA,MACH,OAAO,EAAE,OAAO,EAAS,MAAM,OAAO,EAAM,KAAA,EAAO,MAAM,MAAA;AAAA,MAC1D;AAAA,IACD,MAAM,EAAM;AAAA,GACb,GACH;AAAA,IAAC;AAAA,IAAO,EAAM;AAAA,IAAM,EAAM;AAAA,GAAM,GAG5B,IAAa,EAA0B,IAAA,GAGvC,IAAM,EADC,EAAA,MAAc,CAAC,GAAY,EAAM,GAAA,GAAM,CAAC,EAAM,GAAA,CAAI,CAAC,GAU1D,EAAE,WAAW,GAAqB,OAAO,EAAA,IAAoB,EAAoB;AAAA,IACrF,IARmB,EAAA,OACZ;AAAA,MAAE,SAAS,EAAY,iBAAiB,EAAM,IAAA;AAAA,MAAO,gBAAgB;AAAA,MAAM,GAAG;AAAA,QACrF,CAAC,EAAM,MAAM,CAAA,CAAa;AAAA,IAO1B,OAJsB,EAAA,OAAe;AAAA,MAAE,OAAO;AAAA,MAAG,SAAS;AAAA,QAAkB,CAAA,CAAE;AAAA,GAK/E,GAEK,EAAE,WAAA,GAAW,OAAA,EAAA,IAAU,EAAA,MAAc;AACzC,UAAM,IAAY,EAAW;AAAA,MAC3B,EAAU,UAAU,OAAO;AAAA,MAC3B,EAAU,QAAQ,EAAM,aAAa,SAAU,EAAM,WAAW,WAAA;AAAA,MAChE,EAAU,WAAW;AAAA,MACrB,EAAM,gBAAgB,EAAU,UAAU,OAAO;AAAA,MACjD,EAAM,YAAY,EAAU,UAAU,OAAO;AAAA,MAC7C,EAAM,kBAAkB,EAAU,UAAU,OAAO;AAAA,MACnD,EAAM,gBAAgB,EAAU,UAAU,OAAO;AAAA,MACjD,EAAM,cAAc,EAAU,UAAU,OAAO;AAAA,MAC/C,EAAM,mBAAmB,EAAU,UAAU,OAAO;AAAA,MACpD,EAAM,uBAAuB,EAAU,UAAU,OAAO;AAAA,MACxD,EAAM,iBAAiB,EAAU,UAAU,OAAO;AAAA,MAClD,EAAM,oBAAoB,EAAU,UAAU,OAAO;AAAA,MACrD,EAAM;AAAA,KACP,GAEK,IAA+B,CAAA;AAErC,WAAA,EAAK,EAAa,UAAU,OAAO,UAAA,IAAc,EAAS,MAAM,OAAO,EAAM,KAAA,EAAO,WAAW,OAC/F,EAAK,EAAa,UAAU,OAAO,KAAA,IAAS,EAAS,MAAM,OAAO,EAAM,KAAA,EAAO,MAAM,OACrF,EAAK,EAAa,UAAU,OAAO,MAAA,IAAU,EAAS,MAAM,OAAO,EAAM,KAAA,EAAO,OAAO,OAEvF,EAAK,EAAa,UAAU,OAAO,MAAA,IAAU,EAAS,KAAK,EAAM,IAAA,EAAM,QACvE,EAAK,EAAa,UAAU,OAAO,OAAA,IAAW,EAAS,KAAK,EAAM,IAAA,EAAM,SACxE,EAAK,EAAa,UAAU,OAAO,MAAA,IAAU,EAAS,KAAK,EAAM,IAAA,EAAM,QACvE,EAAK,EAAa,UAAU,OAAO,GAAA,IAAO,QAAQ,EAAS,KAAK,EAAM,IAAA,EAAM,OAAA,WAIrE;AAAA,MAAE,WAAA;AAAA,MAAW,OAFN,EAAU,CAAC,OAAO,KAAK,CAAA,EAAM,SAAS,IAAO,QAAW,CAAA,CAAW;AAAA;KAGhF;AAAA,IACD,EAAM;AAAA,IACN;AAAA,IACA,EAAM;AAAA,IACN,EAAM;AAAA,IACN,EAAM;AAAA,IACN,EAAM;AAAA,IACN,EAAM;AAAA,IACN,EAAM;AAAA,IACN,EAAM;AAAA,IACN,EAAM;AAAA,IACN,EAAM;AAAA,IACN,EAAM;AAAA,IACN,EAAM;AAAA,IACN,EAAM;AAAA,IACN,EAAM;AAAA,GACP,GAEK,EAAE,WAAW,GAAoB,OAAO,EAAA,IAAmB,EAAA,MAAc;AAC7E,UAAM,IAAY,EAAW,CAC3B,EAAU,UAAU,OAAO,WAE3B,EAAM,eAAe,EAAU,UAAU,OAAO,oBAAA,CACjD,GAEK,IAA+B,CAAA;AAErC,WAAI,MAAmB,EAAK,EAAa,UAAU,OAAO,cAAA,IAAkB,OAAO,KAAkB,SAAA,IAI9F;AAAA,MAAE,WAAA;AAAA,MAAW,OAFN,EAAU,CAAC,OAAO,KAAK,CAAA,EAAM,SAAS,IAAO,MAAA,CAAU;AAAA;KAGpE;AAAA,IAAC,EAAM;AAAA,IAAa;AAAA,IAAmB;AAAA,GAAe;AAEzD,SACE,gBAAA,EAAC,UAAD;AAAA,IACE,UAAU,EAAM;AAAA,IAChB,UAAU,EAAM;AAAA,IACL,WAAA;AAAA,IACJ,OAAA;AAAA,IACP,SAAS,EAAM;AAAA,IACf,SAAS,EAAM;AAAA,IACf,aAAa,EAAM;AAAA,IACnB,MAAM,EAAM,QAAQ;AAAA,IACf,KAAA;AAAA,IACL,MAAM,EAAM;AAAA,IACZ,cAAY,EAAM;AAAA,IAClB,IAAI,EAAM;AAAA,cAZZ,CAcG,CAAC,EAAM,cAAc,EAAM,YAC1B,gBAAA,EAAC,OAAD;AAAA,MAAK,WAAW;AAAA,MAAqB,OAAO;AAAA,gBACzC,EAAM;AAAA,KACH,GAER,gBAAA,EAAC,OAAD;AAAA,MAAK,WAAW;AAAA,MAAoB,OAAO;AAAA,gBACxC;AAAA,KACG,CAAA;AAAA;GAKN,IAAa,EAAK,GAAiB,CAAA;AACzC,EAAO,cAAc;AACrB,EAAW,cAAc;AAEzB,SAAS,EAAoB,GAAe,GAAe;AACzD,QAAM,EAAE,OAAO,GAAW,OAAO,GAAW,cAAc,GAAkB,GAAG,EAAA,IAAa,GACtF,EAAE,OAAO,GAAW,OAAO,GAAW,cAAc,GAAkB,GAAG,EAAA,IAAa;AAE5F,aAAA,EAAA,SACU,GAAW,CAAA,SAAU,EAAA,SACrB,GAAW,CAAA,SAAU,EAAA,SACrB,GAAkB,CAAA,KAC1B,EAAgB,GAAU,CAAA;;AAI9B,SAAS,EAAmD,GAAS,GAAS;AAC5E,QAAM,IAAW,OAAO,KAAK,CAAA,GACvB,IAAW,OAAO,KAAK,CAAA;AAE7B,MAAI,EAAS,WAAW,EAAS,OAAQ,QAAO;AAEhD,QAAM,IAAc,IAAI,IAAI,CAAA;AAE5B,SAAO,EAAS,MAAA,CAAO,MAAQ,EAAY,IAAI,CAAA,KAAQ,OAAO,GAAG,EAAK,CAAA,GAAM,EAAK,CAAA,CAAA,CAAK"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const q=require("./chunk-Dd8m0Ver.cjs"),n=require("./utils-DCIq-5FL.cjs"),C=require("./functions-CZrZU5U0.cjs"),M=require("./icon-DyjaxKWq.cjs"),v=require("./isEqual-Q-mEN2md.cjs"),y=require("./hooks-use-deep-compare-memoize.cjs.js"),k=require("./hooks-use-merge-refs.cjs.js"),V=require("./hooks-use-typography-styles.cjs.js");let _=require("react/jsx-runtime"),t=require("react");var b=q.__toESM(v.require_isEqual(),1),A=e=>{const i=(0,t.useRef)(e.onClick),s=(0,t.useRef)(e.onFocus),u=(0,t.useRef)(e.onMouseDown),c=(0,t.useRef)(e.isDisabled);i.current=e.onClick,s.current=e.onFocus,u.current=e.onMouseDown,c.current=e.isDisabled;const S=(0,t.useCallback)(r=>{c.current||i.current?.(r)},[]),l=(0,t.useCallback)(r=>{s.current?.(r)},[]),a=(0,t.useCallback)(r=>{u.current?.(r)},[]);return(0,_.jsx)(g,{...e,onClick:e.onClick?S:void 0,onFocus:e.onFocus?l:void 0,onMouseDown:e.onMouseDown?a:void 0})},D=e=>{const i=y.useDeepCompareMemoize(e.icons??[]),s=y.useDeepCompareMemoize(e.style),u=y.useDeepCompareMemoize(e.sxTypography),c="iconGroupOrder"in e,S=c?e.iconGroupOrder:void 0,l=(0,t.useMemo)(()=>M.getIconComponents({icons:i.map(d=>({...d,style:{color:n.CSS_VARS.genre.button[e.genre].color.index}})),size:e.size}),[i,e.size,e.genre]),a=(0,t.useRef)(null),r=k.useMergeRefs((0,t.useMemo)(()=>[a,e.ref],[e.ref])),{className:m,style:h}=V.useTypographyStyles({sx:(0,t.useMemo)(()=>({variant:n.EXTRA_VALUE.sizeToController[e.size],isNoUserSelect:!0,...u}),[e.size,u]),style:(0,t.useMemo)(()=>({order:0,display:"inline-flex"}),[])}),{className:R,style:f}=(0,t.useMemo)(()=>{const d=C.setClasses([n.CSS_CLASS.component.button.root,n.CSS_CLASS.control[e.isDisabled?"none":e.control??"boxShadow"],n.CSS_CLASS.transition.color,e.isZeroRadius&&n.CSS_CLASS.component.button.isZeroRadius,e.isHidden&&n.CSS_CLASS.component.button.isHidden,e.isHiddenBorder&&n.CSS_CLASS.component.button.isHiddenBorder,e.isFullRadius&&n.CSS_CLASS.component.button.isFullRadius,e.isFullSize&&n.CSS_CLASS.component.button.isFullSize,e.isWidthAsHeight&&n.CSS_CLASS.component.button.isWidthAsHeight,e.isMinWidthAsContent&&n.CSS_CLASS.component.button.isMinWidthAsContent,e.isZeroPadding&&n.CSS_CLASS.component.button.isZeroPadding,e.isSizeFitContent&&n.CSS_CLASS.component.button.isSizeFitContent,e.className]),o={};return o[n.CSS_VARS_RAW.component.button.background]=n.CSS_VARS.genre.button[e.genre].background.index,o[n.CSS_VARS_RAW.component.button.color]=n.CSS_VARS.genre.button[e.genre].color.index,o[n.CSS_VARS_RAW.component.button.border]=n.CSS_VARS.genre.button[e.genre].border.index,o[n.CSS_VARS_RAW.component.button.height]=n.CSS_VARS.size[e.size].height,o[n.CSS_VARS_RAW.component.button.padding]=n.CSS_VARS.size[e.size].padding,o[n.CSS_VARS_RAW.component.button.radius]=n.CSS_VARS.size[e.size].radius,o[n.CSS_VARS_RAW.component.button.gap]=`calc(${n.CSS_VARS.size[e.size].padding} - 2px)`,{className:d,style:C.setStyles([Object.keys(o).length?o:void 0,s])}},[e.className,s,e.genre,e.isDisabled,e.isFullSize,e.isHidden,e.isHiddenBorder,e.isMinWidthAsContent,e.isFullRadius,e.isWidthAsHeight,e.size,e.isZeroRadius,e.control,e.isZeroPadding,e.isSizeFitContent]),{className:x,style:z}=(0,t.useMemo)(()=>{const d=C.setClasses([n.CSS_CLASS.component.button.iconGroup,e.isIconGroup&&n.CSS_CLASS.component.button.iconGroupIsIconGroup]),o={};return c&&(o[n.CSS_VARS_RAW.component.button.iconGroupOrder]=String(S??"initial")),{className:d,style:C.setStyles([Object.keys(o).length?o:void 0])}},[e.isIconGroup,c,S]);return(0,_.jsxs)("button",{tabIndex:e.tabIndex,disabled:e.isDisabled,className:R,style:f,onClick:e.onClick,onFocus:e.onFocus,onMouseDown:e.onMouseDown,type:e.type??"button",ref:r,name:e.name,"aria-label":e.ariaLabel,id:e.id,children:[!e.isOnlyIcon&&e.children&&(0,_.jsx)("div",{className:m,style:h,children:e.children}),(0,_.jsx)("div",{className:x,style:z,children:l})]})},g=(0,t.memo)(D,F);A.displayName="Button";g.displayName="ButtonView";function F(e,i){const{icons:s,style:u,sxTypography:c,...S}=e,{icons:l,style:a,sxTypography:r,...m}=i;return(0,b.default)(s,l)&&(0,b.default)(u,a)&&(0,b.default)(c,r)&&L(S,m)}function L(e,i){const s=Object.keys(e),u=Object.keys(i);if(s.length!==u.length)return!1;const c=new Set(u);return s.every(S=>c.has(S)&&Object.is(e[S],i[S]))}Object.defineProperty(exports,"Button",{enumerable:!0,get:function(){return A}});
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=button-C1H35JQG.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-C1H35JQG.cjs","names":[],"sources":["../src/components/button/component.tsx"],"sourcesContent":["import { getIconComponents } from '@local/components/icon';\nimport { useDeepCompareMemoize } from '@local/hooks/use-deep-compare-memoize';\nimport { useMergeRefs } from '@local/hooks/use-merge-refs';\nimport { useTypographyStyles } from '@local/hooks/use-typography-styles';\nimport { CSS_CLASS, CSS_VARS, CSS_VARS_RAW, EXTRA_VALUE } from '@local/styles/utils';\nimport { setClasses, setStyles } from '@local/styles/utils/functions';\n\nimport isEqual from 'lodash/isEqual';\nimport { FC, memo, Ref, useCallback, useMemo, useRef } from 'react';\n\nimport { IButton } from './component.types';\n\nexport const Button: FC<IButton> = (props) => {\n const onClickRef = useRef(props.onClick);\n const onFocusRef = useRef(props.onFocus);\n const onMouseDownRef = useRef(props.onMouseDown);\n const isDisabledRef = useRef(props.isDisabled);\n\n onClickRef.current = props.onClick;\n onFocusRef.current = props.onFocus;\n onMouseDownRef.current = props.onMouseDown;\n isDisabledRef.current = props.isDisabled;\n\n const handleClick = useCallback<Exclude<IButton['onClick'], undefined>>((event) => {\n if (!isDisabledRef.current) {\n onClickRef.current?.(event);\n }\n }, []);\n\n const handleFocus = useCallback<Exclude<IButton['onFocus'], undefined>>((event) => {\n onFocusRef.current?.(event);\n }, []);\n\n const handleMouseDown = useCallback<Exclude<IButton['onMouseDown'], undefined>>((event) => {\n onMouseDownRef.current?.(event);\n }, []);\n\n return (\n <ButtonView\n {...props}\n onClick={props.onClick ? handleClick : undefined}\n onFocus={props.onFocus ? handleFocus : undefined}\n onMouseDown={props.onMouseDown ? handleMouseDown : undefined}\n />\n );\n};\n\nconst ButtonComponent: FC<IButton> = (props) => {\n const icons = useDeepCompareMemoize(props.icons ?? []);\n const propsStyle = useDeepCompareMemoize(props.style);\n const sxTypography = useDeepCompareMemoize(props.sxTypography);\n const hasIconGroupOrder = 'iconGroupOrder' in props;\n const iconGroupOrder = hasIconGroupOrder ? props.iconGroupOrder : undefined;\n\n const iconComponents = useMemo(\n () =>\n getIconComponents({\n icons: icons.map((e) => ({\n ...e,\n style: { color: CSS_VARS.genre.button[props.genre].color.index },\n })),\n size: props.size,\n }),\n [icons, props.size, props.genre],\n );\n\n const refDefault = useRef<HTMLButtonElement>(null);\n\n const refs = useMemo(() => [refDefault, props.ref], [props.ref]);\n const ref = useMergeRefs(refs);\n\n const typographySx = useMemo(\n () => ({ variant: EXTRA_VALUE.sizeToController[props.size], isNoUserSelect: true, ...sxTypography }),\n [props.size, sxTypography],\n );\n\n const typographyStyle = useMemo(() => ({ order: 0, display: 'inline-flex' }), []);\n\n const { className: classNameTypography, style: styleTypography } = useTypographyStyles({\n sx: typographySx,\n style: typographyStyle,\n });\n\n const { className, style } = useMemo(() => {\n const className = setClasses([\n CSS_CLASS.component.button.root,\n CSS_CLASS.control[props.isDisabled ? 'none' : (props.control ?? 'boxShadow')],\n CSS_CLASS.transition.color,\n props.isZeroRadius && CSS_CLASS.component.button.isZeroRadius,\n props.isHidden && CSS_CLASS.component.button.isHidden,\n props.isHiddenBorder && CSS_CLASS.component.button.isHiddenBorder,\n props.isFullRadius && CSS_CLASS.component.button.isFullRadius,\n props.isFullSize && CSS_CLASS.component.button.isFullSize,\n props.isWidthAsHeight && CSS_CLASS.component.button.isWidthAsHeight,\n props.isMinWidthAsContent && CSS_CLASS.component.button.isMinWidthAsContent,\n props.isZeroPadding && CSS_CLASS.component.button.isZeroPadding,\n props.isSizeFitContent && CSS_CLASS.component.button.isSizeFitContent,\n props.className,\n ]);\n\n const vars: Record<string, string> = {};\n\n vars[CSS_VARS_RAW.component.button.background] = CSS_VARS.genre.button[props.genre].background.index;\n vars[CSS_VARS_RAW.component.button.color] = CSS_VARS.genre.button[props.genre].color.index;\n vars[CSS_VARS_RAW.component.button.border] = CSS_VARS.genre.button[props.genre].border.index;\n\n vars[CSS_VARS_RAW.component.button.height] = CSS_VARS.size[props.size].height;\n vars[CSS_VARS_RAW.component.button.padding] = CSS_VARS.size[props.size].padding;\n vars[CSS_VARS_RAW.component.button.radius] = CSS_VARS.size[props.size].radius;\n vars[CSS_VARS_RAW.component.button.gap] = `calc(${CSS_VARS.size[props.size].padding} - 2px)`;\n\n const style = setStyles([Object.keys(vars).length ? vars : undefined, propsStyle]);\n\n return { className, style };\n }, [\n props.className,\n propsStyle,\n props.genre,\n props.isDisabled,\n props.isFullSize,\n props.isHidden,\n props.isHiddenBorder,\n props.isMinWidthAsContent,\n props.isFullRadius,\n props.isWidthAsHeight,\n props.size,\n props.isZeroRadius,\n props.control,\n props.isZeroPadding,\n props.isSizeFitContent,\n ]);\n\n const { className: classNameIconGroup, style: styleIconGroup } = useMemo(() => {\n const className = setClasses([\n CSS_CLASS.component.button.iconGroup,\n\n props.isIconGroup && CSS_CLASS.component.button.iconGroupIsIconGroup,\n ]);\n\n const vars: Record<string, string> = {};\n\n if (hasIconGroupOrder) vars[CSS_VARS_RAW.component.button.iconGroupOrder] = String(iconGroupOrder ?? 'initial');\n\n const style = setStyles([Object.keys(vars).length ? vars : undefined]);\n\n return { className, style };\n }, [props.isIconGroup, hasIconGroupOrder, iconGroupOrder]);\n\n return (\n <button\n tabIndex={props.tabIndex}\n disabled={props.isDisabled}\n className={className}\n style={style}\n onClick={props.onClick}\n onFocus={props.onFocus}\n onMouseDown={props.onMouseDown}\n type={props.type ?? 'button'}\n ref={ref as Ref<HTMLButtonElement>}\n name={props.name}\n aria-label={props.ariaLabel}\n id={props.id}\n >\n {!props.isOnlyIcon && props.children && (\n <div className={classNameTypography} style={styleTypography}>\n {props.children}\n </div>\n )}\n <div className={classNameIconGroup} style={styleIconGroup}>\n {iconComponents}\n </div>\n </button>\n );\n};\n\nconst ButtonView = memo(ButtonComponent, areButtonPropsEqual);\nButton.displayName = 'Button';\nButtonView.displayName = 'ButtonView';\n\nfunction areButtonPropsEqual(prev: IButton, next: IButton) {\n const { icons: prevIcons, style: prevStyle, sxTypography: prevSxTypography, ...prevRest } = prev;\n const { icons: nextIcons, style: nextStyle, sxTypography: nextSxTypography, ...nextRest } = next;\n\n return (\n isEqual(prevIcons, nextIcons) &&\n isEqual(prevStyle, nextStyle) &&\n isEqual(prevSxTypography, nextSxTypography) &&\n areShallowEqual(prevRest, nextRest)\n );\n}\n\nfunction areShallowEqual<T extends Record<string, unknown>>(prev: T, next: T) {\n const prevKeys = Object.keys(prev);\n const nextKeys = Object.keys(next);\n\n if (prevKeys.length !== nextKeys.length) return false;\n\n const nextKeysSet = new Set(nextKeys);\n\n return prevKeys.every((key) => nextKeysSet.has(key) && Object.is(prev[key], next[key]));\n}\n"],"mappings":"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"}
|
package/build/icon-DyjaxKWq.cjs
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const V=require("./chunk-Dd8m0Ver.cjs"),t=require("./utils-DCIq-5FL.cjs"),m=require("./functions-CZrZU5U0.cjs"),_=require("./skeleton-BfOHjRgT.cjs");require("./logger-D3Xu5ef3.cjs");let S=require("react/jsx-runtime"),s=require("react");var A="1.3.0",a=new Map;function M(e){const[n,l]=(0,s.useState)(!1),[g,c]=(0,s.useState)(null);return(0,s.useEffect)(()=>{let u=!0;const r=a.get(e);if(r?.loaded){l(!0),c(r.error??null);return}let f;if(r)f=r.promise;else{const o=(async()=>{const i=await fetch(e);if(!i.ok)throw new Error(`Failed to load sprite: ${e}`);const C=await i.text(),d=document.createElement("div");d.style.display="none",d.innerHTML=C,document.body.prepend(d)})();a.set(e,{promise:o,loaded:!1}),o.then(()=>{const i=a.get(e);a.set(e,{...i,promise:o,loaded:!0})}).catch(i=>{const C=i instanceof Error?i:new Error(String(i)),d=a.get(e);a.set(e,{...d,promise:o,loaded:!0,error:C})}),f=o}return f.then(()=>{if(!u)return;const o=a.get(e);l(o?.loaded??!0),c(o?.error??null)}).catch(()=>{}),()=>{u=!1}},[e]),{loaded:n,error:g}}var y=e=>{const n=(0,s.useMemo)(()=>h({type:e.type,name:e.name}),[e.name,e.type]),{loaded:l,error:g}=M((0,s.useMemo)(()=>w({type:e.type}),[e.type])),c=(0,s.useMemo)(()=>({className:m.setClasses([t.CSS_CLASS.component.icon.skeleton,e.className]),style:m.setStyles([{[t.CSS_VARS_RAW.component.icon.skeletonHeightIcon]:e.size!=="100%"?t.CSS_VARS.size[e.size].heightIcon:"100%",[t.CSS_VARS_RAW.component.icon.skeletonOrder]:e.order?String(e.order):"initial"},e.style])}),[e.className,e.style,e.order,e.size]),u=(0,s.useMemo)(()=>({className:m.setClasses([t.CSS_CLASS.component.icon.root,t.CSS_CLASS.transition.icon,e.className]),style:m.setStyles([{[t.CSS_VARS_RAW.component.icon.color]:e.color?t.CSS_VARS.palette[e.color]:"inherit",[t.CSS_VARS_RAW.component.icon.heightIcon]:e.size!=="100%"?t.CSS_VARS.size[e.size].heightIcon:"100%",[t.CSS_VARS_RAW.component.icon.turn]:e.turn?`${e.turn}deg`:"0deg",[t.CSS_VARS_RAW.component.icon.order]:e.order?String(e.order):"initial"},e.style])}),[e.className,e.style,e.order,e.size,e.color,e.turn]);return!l||g?(0,S.jsx)(_.Skeleton,{color:e.color??void 0,className:c.className,style:c.style,visible:!1}):(0,S.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",className:u.className,style:u.style,onClick:e.onClick,onKeyDown:r=>{e.onClick&&(r.key==="Enter"||r.key===" ")&&(r.preventDefault(),e.onClick(r))},tabIndex:e.tabIndex,role:e.onClick?"button":void 0,children:[(0,S.jsx)("title",{children:e.name}),(0,S.jsx)("use",{href:n})]})};function h(e){return`#${e.type}-${e.name}`}function w(e){return`https://cdn.jsdelivr.net/gh/jenesei-software/jenesei-id-assets@${A}/icons/${e.type}.svg`}var k=["Close","Biometry","Qr","Search","Folder","Wallet","Graph","Bookmark","Browser","Category","Home","Notification","Chat","Heart","Paper","Plus","Minus","PaperPlus","PaperNegative","PaperFail","PaperDownload","PaperUpload","Send","Password","Swap","Work","Arrow1","Arrow2","Arrow3","Arrow4","ArrowMini1","ArrowMini2","Scan","Activity","Calendar","Message","PlusMini","ChartMini","Game","Bag1","Bag2","TicketStar","MoreCircle","MoreSquare","Discount","Buy","Web","InfoMini","DangerMini","CloseMini","TickMini","Video","Discovery","Location","Document","Setting","Time","VolumeUp","VolumeDown","VolumeOff","Star","Select","Ticket","Camera","Profile","AddUser","TwoUser","ThreeUser","Login","Logout","Download","Upload","Voice1","Voice2","Delete","Edit","PlayMini","ShieldDone","ShieldFail","Show","Hide","Filter1","Filter2","Image","Call","Calling","CallMissed","CallSilent","Lock","Unlock","Resources","Language"],v=["Radio-true","Radio-false","Square-true","Square-false","Heart-true","Heart-false","Arrow"],E=["Line","Blocks","Balls"],I=["Jenesei","BustMarket"],P={id:k,checkbox:v,loading:E,logo:I};function R(e){return(e.icons??[])?.filter(n=>!n.isHidden)?.map((n,l)=>(0,S.jsx)(y,{size:n?.size??e.size,...n},`${n.type}-${n.name}-${l}`))}Object.defineProperty(exports,"Icon",{enumerable:!0,get:function(){return y}});Object.defineProperty(exports,"THEME_MAP",{enumerable:!0,get:function(){return P}});Object.defineProperty(exports,"getIconComponents",{enumerable:!0,get:function(){return R}});
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=icon-DyjaxKWq.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-DyjaxKWq.cjs","names":[],"sources":["../src/cores/consts.ts","../src/components/icon/component.hooks.tsx","../src/components/icon/component.tsx","../src/components/icon/component.consts.tsx","../src/components/icon/component.functions.tsx"],"sourcesContent":["import {\n IDatePickerTranslateInput,\n IDatePickerTranslateMonth,\n IDatePickerTranslateWeek,\n} from '@local/components/date-picker';\n\nexport const LOCALE_INPUT: IDatePickerTranslateInput = {\n day: 'ДД',\n month: 'ММ',\n year: 'ГГГГ',\n};\n\nexport const LOCALE_MONTHS: IDatePickerTranslateMonth[] = [\n {\n localeLong: 'Январь',\n localeShort: 'Янв',\n value: 'january',\n },\n {\n localeLong: 'February',\n localeShort: 'Feb',\n value: 'february',\n },\n {\n localeLong: 'March',\n localeShort: 'Mar',\n value: 'march',\n },\n {\n localeLong: 'April',\n localeShort: 'Apr',\n value: 'april',\n },\n {\n localeLong: 'May',\n localeShort: 'May',\n value: 'may',\n },\n {\n localeLong: 'June',\n localeShort: 'Jun',\n value: 'june',\n },\n {\n localeLong: 'July',\n localeShort: 'Jul',\n value: 'july',\n },\n {\n localeLong: 'August',\n localeShort: 'Aug',\n value: 'august',\n },\n {\n localeLong: 'September',\n localeShort: 'Sep',\n value: 'september',\n },\n {\n localeLong: 'October',\n localeShort: 'Oct',\n value: 'october',\n },\n {\n localeLong: 'November',\n localeShort: 'Nov',\n value: 'november',\n },\n {\n localeLong: 'December',\n localeShort: 'Dec',\n value: 'december',\n },\n];\nexport const LOCALE_WEEKS: IDatePickerTranslateWeek[] = [\n {\n localeLong: 'Monday',\n localeShort: 'Пн',\n value: 'mo',\n },\n {\n localeLong: 'Tuesday',\n localeShort: 'Tue',\n value: 'tu',\n },\n {\n localeLong: 'Wednesday',\n localeShort: 'Wed',\n value: 'we',\n },\n {\n localeLong: 'Thursday',\n localeShort: 'Thu',\n value: 'th',\n },\n {\n localeLong: 'Friday',\n localeShort: 'Fri',\n value: 'fr',\n },\n {\n localeLong: 'Saturday',\n localeShort: 'Sat',\n value: 'sa',\n },\n {\n localeLong: 'Sunday',\n localeShort: 'Sun',\n value: 'su',\n },\n];\n\nexport const LIBRARY_VERSION = import.meta.env.VITE_APP_VERSION;\nexport const ICON_VERSION = import.meta.env.VITE_ICON_VERSION;\n\n// export const LIST_TYPOGRAPHY_VARIANTS_DEFAULT: IThemeTypographyHeading[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n","import { logger } from '@local/cores/logger';\n\nimport { useEffect, useState } from 'react';\n\nexport function useInjectSprites(urls: string[]) {\n useEffect(() => {\n const containers: HTMLDivElement[] = [];\n\n urls.forEach(async (url) => {\n try {\n const res = await fetch(url);\n if (!res.ok) {\n logger.error(`Failed to load sprite: ${url}`);\n return;\n }\n const text = await res.text();\n\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n\n document.body.prepend(div);\n containers.push(div);\n } catch (err) {\n logger.error(`Error loading sprite ${url}`, err);\n }\n });\n\n return () => {\n containers.forEach((div) => {\n div.remove();\n });\n };\n }, [urls]);\n}\n\ntype SpriteStatus = {\n promise: Promise<void>;\n loaded: boolean;\n error?: Error;\n};\n\nconst loadedSprites = new Map<string, SpriteStatus>();\n\nexport function useLazyInjectSprite(url: string) {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n\n // Проверяем актуальный статус прямо здесь\n const status = loadedSprites.get(url);\n if (status?.loaded) {\n setLoaded(true);\n setError(status.error ?? null);\n return;\n }\n\n let promise: Promise<void>;\n\n if (!status) {\n const p = (async () => {\n const res = await fetch(url);\n if (!res.ok) throw new Error(`Failed to load sprite: ${url}`);\n const text = await res.text();\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n document.body.prepend(div);\n })();\n\n loadedSprites.set(url, { promise: p, loaded: false });\n\n p.then(() => {\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true });\n }).catch((err) => {\n const errorObj = err instanceof Error ? err : new Error(String(err));\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true, error: errorObj });\n });\n\n promise = p;\n } else {\n promise = status.promise;\n }\n\n promise\n .then(() => {\n if (!isMounted) return;\n const s = loadedSprites.get(url);\n setLoaded(s?.loaded ?? true);\n setError(s?.error ?? null);\n })\n .catch(() => {}); // Ошибка уже сохранена в статусе\n\n return () => {\n isMounted = false;\n };\n }, [url]);\n\n return { loaded, error };\n}\n","import { Skeleton } from '@local/areas/skeleton';\nimport { ICON_VERSION } from '@local/cores/consts';\nimport { CSS_VARS } from '@local/styles/utils';\nimport { CSS_CLASS, CSS_VARS_RAW } from '@local/styles/utils/constants';\nimport { setClasses, setStyles } from '@local/styles/utils/functions';\n\nimport { useMemo } from 'react';\n\nimport { useLazyInjectSprite } from './component.hooks';\nimport { IIcon } from './component.types';\n\nexport const Icon = (props: IIcon) => {\n const iconId = useMemo(() => getIconId({ type: props.type, name: props.name }), [props.name, props.type]);\n const spriteUrl = useMemo(() => getSpriteUrl({ type: props.type }), [props.type]);\n const { loaded, error } = useLazyInjectSprite(spriteUrl);\n\n const configSkeleton = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.skeleton, props.className]),\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.skeletonHeightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.skeletonOrder]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size]);\n\n const configIcon = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.root, CSS_CLASS.transition.icon, props.className]),\n\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.color]: props.color ? CSS_VARS.palette[props.color] : 'inherit',\n [CSS_VARS_RAW.component.icon.heightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.turn]: props.turn ? `${props.turn}deg` : '0deg',\n [CSS_VARS_RAW.component.icon.order]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size, props.color, props.turn]);\n\n if (!loaded || error)\n return (\n <Skeleton\n color={props.color ?? undefined}\n className={configSkeleton.className}\n style={configSkeleton.style}\n visible={false}\n />\n );\n\n return (\n <svg\n width='24'\n height='24'\n viewBox='0 0 24 24'\n xmlns='http://www.w3.org/2000/svg'\n className={configIcon.className}\n style={configIcon.style}\n onClick={props.onClick}\n onKeyDown={(e) => {\n if (props.onClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n props.onClick(e as any);\n }\n }}\n tabIndex={props.tabIndex}\n role={props.onClick ? 'button' : undefined}\n >\n <title>{props.name}</title>\n <use href={iconId} />\n </svg>\n );\n};\n\nexport function getIconId(props: { type: string; name: string }) {\n return `#${props.type}-${props.name}`;\n}\n\nexport function getSpriteUrl(props: { type: string }) {\n return `https://cdn.jsdelivr.net/gh/jenesei-software/jenesei-id-assets@${ICON_VERSION}/icons/${props.type}.svg`;\n}\n","const THEME_MAP_ID = [\n 'Close',\n 'Biometry',\n 'Qr',\n 'Search',\n 'Folder',\n 'Wallet',\n 'Graph',\n 'Bookmark',\n 'Browser',\n 'Category',\n 'Home',\n 'Notification',\n 'Chat',\n 'Heart',\n 'Paper',\n 'Plus',\n 'Minus',\n 'PaperPlus',\n 'PaperNegative',\n 'PaperFail',\n 'PaperDownload',\n 'PaperUpload',\n 'Send',\n 'Password',\n 'Swap',\n 'Work',\n 'Arrow1',\n 'Arrow2',\n 'Arrow3',\n 'Arrow4',\n 'ArrowMini1',\n 'ArrowMini2',\n 'Scan',\n 'Activity',\n 'Calendar',\n 'Message',\n 'PlusMini',\n 'ChartMini',\n 'Game',\n 'Bag1',\n 'Bag2',\n 'TicketStar',\n 'MoreCircle',\n 'MoreSquare',\n 'Discount',\n 'Buy',\n 'Web',\n 'InfoMini',\n 'DangerMini',\n 'CloseMini',\n 'TickMini',\n 'Video',\n 'Discovery',\n 'Location',\n 'Document',\n 'Setting',\n 'Time',\n 'VolumeUp',\n 'VolumeDown',\n 'VolumeOff',\n 'Star',\n 'Select',\n 'Ticket',\n 'Camera',\n 'Profile',\n 'AddUser',\n 'TwoUser',\n 'ThreeUser',\n 'Login',\n 'Logout',\n 'Download',\n 'Upload',\n 'Voice1',\n 'Voice2',\n 'Delete',\n 'Edit',\n 'PlayMini',\n 'ShieldDone',\n 'ShieldFail',\n 'Show',\n 'Hide',\n 'Filter1',\n 'Filter2',\n 'Image',\n 'Call',\n 'Calling',\n 'CallMissed',\n 'CallSilent',\n 'Lock',\n 'Unlock',\n 'Resources',\n 'Language',\n] as const;\nconst THEME_MAP_CHECKBOX = [\n 'Radio-true',\n 'Radio-false',\n 'Square-true',\n 'Square-false',\n 'Heart-true',\n 'Heart-false',\n 'Arrow',\n] as const;\nconst THEME_MAP_LOADING = ['Line', 'Blocks', 'Balls'] as const;\nconst THEME_MAP_LOGO = ['Jenesei', 'BustMarket'] as const;\n\nexport const THEME_MAP = {\n id: THEME_MAP_ID,\n checkbox: THEME_MAP_CHECKBOX,\n loading: THEME_MAP_LOADING,\n logo: THEME_MAP_LOGO,\n};\n","import { Icon } from './component';\nimport { IGetIconComponentsProps } from './component.types';\n\nexport function getIconComponents(props: IGetIconComponentsProps) {\n return (props.icons ?? [])\n ?.filter((icon) => !icon.isHidden)\n ?.map((icon, index) => (\n <Icon key={`${icon.type}-${icon.name}-${index}`} size={icon?.size ?? props.size} {...icon} />\n ));\n}\n"],"mappings":"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"}
|
package/build/icon-Y-IZxLXB.js
DELETED
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
import { i as l, n as y, r as h } from "./utils-BRgi6734.js";
|
|
2
|
-
import { n as w, t as M } from "./functions-DzX-pTN8.js";
|
|
3
|
-
import { t as k } from "./skeleton-wRSg85X7.js";
|
|
4
|
-
import "./logger-QC3A33gh.js";
|
|
5
|
-
import { jsx as u, jsxs as v } from "react/jsx-runtime";
|
|
6
|
-
import { useEffect as E, useMemo as m, useState as C } from "react";
|
|
7
|
-
var A = "1.3.0", r = /* @__PURE__ */ new Map();
|
|
8
|
-
function I(e) {
|
|
9
|
-
const [t, a] = C(!1), [g, s] = C(null);
|
|
10
|
-
return E(() => {
|
|
11
|
-
let c = !0;
|
|
12
|
-
const n = r.get(e);
|
|
13
|
-
if (n?.loaded) {
|
|
14
|
-
a(!0), s(n.error ?? null);
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
let f;
|
|
18
|
-
if (n)
|
|
19
|
-
f = n.promise;
|
|
20
|
-
else {
|
|
21
|
-
const o = (async () => {
|
|
22
|
-
const i = await fetch(e);
|
|
23
|
-
if (!i.ok) throw new Error(`Failed to load sprite: ${e}`);
|
|
24
|
-
const S = await i.text(), d = document.createElement("div");
|
|
25
|
-
d.style.display = "none", d.innerHTML = S, document.body.prepend(d);
|
|
26
|
-
})();
|
|
27
|
-
r.set(e, {
|
|
28
|
-
promise: o,
|
|
29
|
-
loaded: !1
|
|
30
|
-
}), o.then(() => {
|
|
31
|
-
const i = r.get(e);
|
|
32
|
-
r.set(e, {
|
|
33
|
-
...i,
|
|
34
|
-
promise: o,
|
|
35
|
-
loaded: !0
|
|
36
|
-
});
|
|
37
|
-
}).catch((i) => {
|
|
38
|
-
const S = i instanceof Error ? i : new Error(String(i)), d = r.get(e);
|
|
39
|
-
r.set(e, {
|
|
40
|
-
...d,
|
|
41
|
-
promise: o,
|
|
42
|
-
loaded: !0,
|
|
43
|
-
error: S
|
|
44
|
-
});
|
|
45
|
-
}), f = o;
|
|
46
|
-
}
|
|
47
|
-
return f.then(() => {
|
|
48
|
-
if (!c) return;
|
|
49
|
-
const o = r.get(e);
|
|
50
|
-
a(o?.loaded ?? !0), s(o?.error ?? null);
|
|
51
|
-
}).catch(() => {
|
|
52
|
-
}), () => {
|
|
53
|
-
c = !1;
|
|
54
|
-
};
|
|
55
|
-
}, [e]), {
|
|
56
|
-
loaded: t,
|
|
57
|
-
error: g
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
var P = (e) => {
|
|
61
|
-
const t = m(() => N({
|
|
62
|
-
type: e.type,
|
|
63
|
-
name: e.name
|
|
64
|
-
}), [e.name, e.type]), { loaded: a, error: g } = I(m(() => H({ type: e.type }), [e.type])), s = m(() => ({
|
|
65
|
-
className: M([y.component.icon.skeleton, e.className]),
|
|
66
|
-
style: w([{
|
|
67
|
-
[l.component.icon.skeletonHeightIcon]: e.size !== "100%" ? h.size[e.size].heightIcon : "100%",
|
|
68
|
-
[l.component.icon.skeletonOrder]: e.order ? String(e.order) : "initial"
|
|
69
|
-
}, e.style])
|
|
70
|
-
}), [
|
|
71
|
-
e.className,
|
|
72
|
-
e.style,
|
|
73
|
-
e.order,
|
|
74
|
-
e.size
|
|
75
|
-
]), c = m(() => ({
|
|
76
|
-
className: M([
|
|
77
|
-
y.component.icon.root,
|
|
78
|
-
y.transition.icon,
|
|
79
|
-
e.className
|
|
80
|
-
]),
|
|
81
|
-
style: w([{
|
|
82
|
-
[l.component.icon.color]: e.color ? h.palette[e.color] : "inherit",
|
|
83
|
-
[l.component.icon.heightIcon]: e.size !== "100%" ? h.size[e.size].heightIcon : "100%",
|
|
84
|
-
[l.component.icon.turn]: e.turn ? `${e.turn}deg` : "0deg",
|
|
85
|
-
[l.component.icon.order]: e.order ? String(e.order) : "initial"
|
|
86
|
-
}, e.style])
|
|
87
|
-
}), [
|
|
88
|
-
e.className,
|
|
89
|
-
e.style,
|
|
90
|
-
e.order,
|
|
91
|
-
e.size,
|
|
92
|
-
e.color,
|
|
93
|
-
e.turn
|
|
94
|
-
]);
|
|
95
|
-
return !a || g ? /* @__PURE__ */ u(k, {
|
|
96
|
-
color: e.color ?? void 0,
|
|
97
|
-
className: s.className,
|
|
98
|
-
style: s.style,
|
|
99
|
-
visible: !1
|
|
100
|
-
}) : /* @__PURE__ */ v("svg", {
|
|
101
|
-
width: "24",
|
|
102
|
-
height: "24",
|
|
103
|
-
viewBox: "0 0 24 24",
|
|
104
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
105
|
-
className: c.className,
|
|
106
|
-
style: c.style,
|
|
107
|
-
onClick: e.onClick,
|
|
108
|
-
onKeyDown: (n) => {
|
|
109
|
-
e.onClick && (n.key === "Enter" || n.key === " ") && (n.preventDefault(), e.onClick(n));
|
|
110
|
-
},
|
|
111
|
-
tabIndex: e.tabIndex,
|
|
112
|
-
role: e.onClick ? "button" : void 0,
|
|
113
|
-
children: [/* @__PURE__ */ u("title", { children: e.name }), /* @__PURE__ */ u("use", { href: t })]
|
|
114
|
-
});
|
|
115
|
-
};
|
|
116
|
-
function N(e) {
|
|
117
|
-
return `#${e.type}-${e.name}`;
|
|
118
|
-
}
|
|
119
|
-
function H(e) {
|
|
120
|
-
return `https://cdn.jsdelivr.net/gh/jenesei-software/jenesei-id-assets@${A}/icons/${e.type}.svg`;
|
|
121
|
-
}
|
|
122
|
-
var _ = [
|
|
123
|
-
"Close",
|
|
124
|
-
"Biometry",
|
|
125
|
-
"Qr",
|
|
126
|
-
"Search",
|
|
127
|
-
"Folder",
|
|
128
|
-
"Wallet",
|
|
129
|
-
"Graph",
|
|
130
|
-
"Bookmark",
|
|
131
|
-
"Browser",
|
|
132
|
-
"Category",
|
|
133
|
-
"Home",
|
|
134
|
-
"Notification",
|
|
135
|
-
"Chat",
|
|
136
|
-
"Heart",
|
|
137
|
-
"Paper",
|
|
138
|
-
"Plus",
|
|
139
|
-
"Minus",
|
|
140
|
-
"PaperPlus",
|
|
141
|
-
"PaperNegative",
|
|
142
|
-
"PaperFail",
|
|
143
|
-
"PaperDownload",
|
|
144
|
-
"PaperUpload",
|
|
145
|
-
"Send",
|
|
146
|
-
"Password",
|
|
147
|
-
"Swap",
|
|
148
|
-
"Work",
|
|
149
|
-
"Arrow1",
|
|
150
|
-
"Arrow2",
|
|
151
|
-
"Arrow3",
|
|
152
|
-
"Arrow4",
|
|
153
|
-
"ArrowMini1",
|
|
154
|
-
"ArrowMini2",
|
|
155
|
-
"Scan",
|
|
156
|
-
"Activity",
|
|
157
|
-
"Calendar",
|
|
158
|
-
"Message",
|
|
159
|
-
"PlusMini",
|
|
160
|
-
"ChartMini",
|
|
161
|
-
"Game",
|
|
162
|
-
"Bag1",
|
|
163
|
-
"Bag2",
|
|
164
|
-
"TicketStar",
|
|
165
|
-
"MoreCircle",
|
|
166
|
-
"MoreSquare",
|
|
167
|
-
"Discount",
|
|
168
|
-
"Buy",
|
|
169
|
-
"Web",
|
|
170
|
-
"InfoMini",
|
|
171
|
-
"DangerMini",
|
|
172
|
-
"CloseMini",
|
|
173
|
-
"TickMini",
|
|
174
|
-
"Video",
|
|
175
|
-
"Discovery",
|
|
176
|
-
"Location",
|
|
177
|
-
"Document",
|
|
178
|
-
"Setting",
|
|
179
|
-
"Time",
|
|
180
|
-
"VolumeUp",
|
|
181
|
-
"VolumeDown",
|
|
182
|
-
"VolumeOff",
|
|
183
|
-
"Star",
|
|
184
|
-
"Select",
|
|
185
|
-
"Ticket",
|
|
186
|
-
"Camera",
|
|
187
|
-
"Profile",
|
|
188
|
-
"AddUser",
|
|
189
|
-
"TwoUser",
|
|
190
|
-
"ThreeUser",
|
|
191
|
-
"Login",
|
|
192
|
-
"Logout",
|
|
193
|
-
"Download",
|
|
194
|
-
"Upload",
|
|
195
|
-
"Voice1",
|
|
196
|
-
"Voice2",
|
|
197
|
-
"Delete",
|
|
198
|
-
"Edit",
|
|
199
|
-
"PlayMini",
|
|
200
|
-
"ShieldDone",
|
|
201
|
-
"ShieldFail",
|
|
202
|
-
"Show",
|
|
203
|
-
"Hide",
|
|
204
|
-
"Filter1",
|
|
205
|
-
"Filter2",
|
|
206
|
-
"Image",
|
|
207
|
-
"Call",
|
|
208
|
-
"Calling",
|
|
209
|
-
"CallMissed",
|
|
210
|
-
"CallSilent",
|
|
211
|
-
"Lock",
|
|
212
|
-
"Unlock",
|
|
213
|
-
"Resources",
|
|
214
|
-
"Language"
|
|
215
|
-
], D = [
|
|
216
|
-
"Radio-true",
|
|
217
|
-
"Radio-false",
|
|
218
|
-
"Square-true",
|
|
219
|
-
"Square-false",
|
|
220
|
-
"Heart-true",
|
|
221
|
-
"Heart-false",
|
|
222
|
-
"Arrow"
|
|
223
|
-
], z = [
|
|
224
|
-
"Line",
|
|
225
|
-
"Blocks",
|
|
226
|
-
"Balls"
|
|
227
|
-
], L = ["Jenesei", "BustMarket"], b = {
|
|
228
|
-
id: _,
|
|
229
|
-
checkbox: D,
|
|
230
|
-
loading: z,
|
|
231
|
-
logo: L
|
|
232
|
-
};
|
|
233
|
-
function U(e) {
|
|
234
|
-
return (e.icons ?? [])?.filter((t) => !t.isHidden)?.map((t, a) => /* @__PURE__ */ u(P, {
|
|
235
|
-
size: t?.size ?? e.size,
|
|
236
|
-
...t
|
|
237
|
-
}, `${t.type}-${t.name}-${a}`));
|
|
238
|
-
}
|
|
239
|
-
export {
|
|
240
|
-
b as n,
|
|
241
|
-
P as r,
|
|
242
|
-
U as t
|
|
243
|
-
};
|
|
244
|
-
|
|
245
|
-
//# sourceMappingURL=icon-Y-IZxLXB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-Y-IZxLXB.js","names":[],"sources":["../src/cores/consts.ts","../src/components/icon/component.hooks.tsx","../src/components/icon/component.tsx","../src/components/icon/component.consts.tsx","../src/components/icon/component.functions.tsx"],"sourcesContent":["import {\n IDatePickerTranslateInput,\n IDatePickerTranslateMonth,\n IDatePickerTranslateWeek,\n} from '@local/components/date-picker';\n\nexport const LOCALE_INPUT: IDatePickerTranslateInput = {\n day: 'ДД',\n month: 'ММ',\n year: 'ГГГГ',\n};\n\nexport const LOCALE_MONTHS: IDatePickerTranslateMonth[] = [\n {\n localeLong: 'Январь',\n localeShort: 'Янв',\n value: 'january',\n },\n {\n localeLong: 'February',\n localeShort: 'Feb',\n value: 'february',\n },\n {\n localeLong: 'March',\n localeShort: 'Mar',\n value: 'march',\n },\n {\n localeLong: 'April',\n localeShort: 'Apr',\n value: 'april',\n },\n {\n localeLong: 'May',\n localeShort: 'May',\n value: 'may',\n },\n {\n localeLong: 'June',\n localeShort: 'Jun',\n value: 'june',\n },\n {\n localeLong: 'July',\n localeShort: 'Jul',\n value: 'july',\n },\n {\n localeLong: 'August',\n localeShort: 'Aug',\n value: 'august',\n },\n {\n localeLong: 'September',\n localeShort: 'Sep',\n value: 'september',\n },\n {\n localeLong: 'October',\n localeShort: 'Oct',\n value: 'october',\n },\n {\n localeLong: 'November',\n localeShort: 'Nov',\n value: 'november',\n },\n {\n localeLong: 'December',\n localeShort: 'Dec',\n value: 'december',\n },\n];\nexport const LOCALE_WEEKS: IDatePickerTranslateWeek[] = [\n {\n localeLong: 'Monday',\n localeShort: 'Пн',\n value: 'mo',\n },\n {\n localeLong: 'Tuesday',\n localeShort: 'Tue',\n value: 'tu',\n },\n {\n localeLong: 'Wednesday',\n localeShort: 'Wed',\n value: 'we',\n },\n {\n localeLong: 'Thursday',\n localeShort: 'Thu',\n value: 'th',\n },\n {\n localeLong: 'Friday',\n localeShort: 'Fri',\n value: 'fr',\n },\n {\n localeLong: 'Saturday',\n localeShort: 'Sat',\n value: 'sa',\n },\n {\n localeLong: 'Sunday',\n localeShort: 'Sun',\n value: 'su',\n },\n];\n\nexport const LIBRARY_VERSION = import.meta.env.VITE_APP_VERSION;\nexport const ICON_VERSION = import.meta.env.VITE_ICON_VERSION;\n\n// export const LIST_TYPOGRAPHY_VARIANTS_DEFAULT: IThemeTypographyHeading[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n","import { logger } from '@local/cores/logger';\n\nimport { useEffect, useState } from 'react';\n\nexport function useInjectSprites(urls: string[]) {\n useEffect(() => {\n const containers: HTMLDivElement[] = [];\n\n urls.forEach(async (url) => {\n try {\n const res = await fetch(url);\n if (!res.ok) {\n logger.error(`Failed to load sprite: ${url}`);\n return;\n }\n const text = await res.text();\n\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n\n document.body.prepend(div);\n containers.push(div);\n } catch (err) {\n logger.error(`Error loading sprite ${url}`, err);\n }\n });\n\n return () => {\n containers.forEach((div) => {\n div.remove();\n });\n };\n }, [urls]);\n}\n\ntype SpriteStatus = {\n promise: Promise<void>;\n loaded: boolean;\n error?: Error;\n};\n\nconst loadedSprites = new Map<string, SpriteStatus>();\n\nexport function useLazyInjectSprite(url: string) {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n\n // Проверяем актуальный статус прямо здесь\n const status = loadedSprites.get(url);\n if (status?.loaded) {\n setLoaded(true);\n setError(status.error ?? null);\n return;\n }\n\n let promise: Promise<void>;\n\n if (!status) {\n const p = (async () => {\n const res = await fetch(url);\n if (!res.ok) throw new Error(`Failed to load sprite: ${url}`);\n const text = await res.text();\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n document.body.prepend(div);\n })();\n\n loadedSprites.set(url, { promise: p, loaded: false });\n\n p.then(() => {\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true });\n }).catch((err) => {\n const errorObj = err instanceof Error ? err : new Error(String(err));\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true, error: errorObj });\n });\n\n promise = p;\n } else {\n promise = status.promise;\n }\n\n promise\n .then(() => {\n if (!isMounted) return;\n const s = loadedSprites.get(url);\n setLoaded(s?.loaded ?? true);\n setError(s?.error ?? null);\n })\n .catch(() => {}); // Ошибка уже сохранена в статусе\n\n return () => {\n isMounted = false;\n };\n }, [url]);\n\n return { loaded, error };\n}\n","import { Skeleton } from '@local/areas/skeleton';\nimport { ICON_VERSION } from '@local/cores/consts';\nimport { CSS_VARS } from '@local/styles/utils';\nimport { CSS_CLASS, CSS_VARS_RAW } from '@local/styles/utils/constants';\nimport { setClasses, setStyles } from '@local/styles/utils/functions';\n\nimport { useMemo } from 'react';\n\nimport { useLazyInjectSprite } from './component.hooks';\nimport { IIcon } from './component.types';\n\nexport const Icon = (props: IIcon) => {\n const iconId = useMemo(() => getIconId({ type: props.type, name: props.name }), [props.name, props.type]);\n const spriteUrl = useMemo(() => getSpriteUrl({ type: props.type }), [props.type]);\n const { loaded, error } = useLazyInjectSprite(spriteUrl);\n\n const configSkeleton = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.skeleton, props.className]),\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.skeletonHeightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.skeletonOrder]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size]);\n\n const configIcon = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.root, CSS_CLASS.transition.icon, props.className]),\n\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.color]: props.color ? CSS_VARS.palette[props.color] : 'inherit',\n [CSS_VARS_RAW.component.icon.heightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.turn]: props.turn ? `${props.turn}deg` : '0deg',\n [CSS_VARS_RAW.component.icon.order]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size, props.color, props.turn]);\n\n if (!loaded || error)\n return (\n <Skeleton\n color={props.color ?? undefined}\n className={configSkeleton.className}\n style={configSkeleton.style}\n visible={false}\n />\n );\n\n return (\n <svg\n width='24'\n height='24'\n viewBox='0 0 24 24'\n xmlns='http://www.w3.org/2000/svg'\n className={configIcon.className}\n style={configIcon.style}\n onClick={props.onClick}\n onKeyDown={(e) => {\n if (props.onClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n props.onClick(e as any);\n }\n }}\n tabIndex={props.tabIndex}\n role={props.onClick ? 'button' : undefined}\n >\n <title>{props.name}</title>\n <use href={iconId} />\n </svg>\n );\n};\n\nexport function getIconId(props: { type: string; name: string }) {\n return `#${props.type}-${props.name}`;\n}\n\nexport function getSpriteUrl(props: { type: string }) {\n return `https://cdn.jsdelivr.net/gh/jenesei-software/jenesei-id-assets@${ICON_VERSION}/icons/${props.type}.svg`;\n}\n","const THEME_MAP_ID = [\n 'Close',\n 'Biometry',\n 'Qr',\n 'Search',\n 'Folder',\n 'Wallet',\n 'Graph',\n 'Bookmark',\n 'Browser',\n 'Category',\n 'Home',\n 'Notification',\n 'Chat',\n 'Heart',\n 'Paper',\n 'Plus',\n 'Minus',\n 'PaperPlus',\n 'PaperNegative',\n 'PaperFail',\n 'PaperDownload',\n 'PaperUpload',\n 'Send',\n 'Password',\n 'Swap',\n 'Work',\n 'Arrow1',\n 'Arrow2',\n 'Arrow3',\n 'Arrow4',\n 'ArrowMini1',\n 'ArrowMini2',\n 'Scan',\n 'Activity',\n 'Calendar',\n 'Message',\n 'PlusMini',\n 'ChartMini',\n 'Game',\n 'Bag1',\n 'Bag2',\n 'TicketStar',\n 'MoreCircle',\n 'MoreSquare',\n 'Discount',\n 'Buy',\n 'Web',\n 'InfoMini',\n 'DangerMini',\n 'CloseMini',\n 'TickMini',\n 'Video',\n 'Discovery',\n 'Location',\n 'Document',\n 'Setting',\n 'Time',\n 'VolumeUp',\n 'VolumeDown',\n 'VolumeOff',\n 'Star',\n 'Select',\n 'Ticket',\n 'Camera',\n 'Profile',\n 'AddUser',\n 'TwoUser',\n 'ThreeUser',\n 'Login',\n 'Logout',\n 'Download',\n 'Upload',\n 'Voice1',\n 'Voice2',\n 'Delete',\n 'Edit',\n 'PlayMini',\n 'ShieldDone',\n 'ShieldFail',\n 'Show',\n 'Hide',\n 'Filter1',\n 'Filter2',\n 'Image',\n 'Call',\n 'Calling',\n 'CallMissed',\n 'CallSilent',\n 'Lock',\n 'Unlock',\n 'Resources',\n 'Language',\n] as const;\nconst THEME_MAP_CHECKBOX = [\n 'Radio-true',\n 'Radio-false',\n 'Square-true',\n 'Square-false',\n 'Heart-true',\n 'Heart-false',\n 'Arrow',\n] as const;\nconst THEME_MAP_LOADING = ['Line', 'Blocks', 'Balls'] as const;\nconst THEME_MAP_LOGO = ['Jenesei', 'BustMarket'] as const;\n\nexport const THEME_MAP = {\n id: THEME_MAP_ID,\n checkbox: THEME_MAP_CHECKBOX,\n loading: THEME_MAP_LOADING,\n logo: THEME_MAP_LOGO,\n};\n","import { Icon } from './component';\nimport { IGetIconComponentsProps } from './component.types';\n\nexport function getIconComponents(props: IGetIconComponentsProps) {\n return (props.icons ?? [])\n ?.filter((icon) => !icon.isHidden)\n ?.map((icon, index) => (\n <Icon key={`${icon.type}-${icon.name}-${index}`} size={icon?.size ?? props.size} {...icon} />\n ));\n}\n"],"mappings":"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"}
|