@jenesei-software/jenesei-kit-react 1.3.14 → 1.3.16
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-sDVSuS3G.js → area-BDMDiVi1.js} +4 -3
- package/build/area-BDMDiVi1.js.map +1 -0
- package/build/area-Bopd6mWj.cjs +2 -0
- package/build/area-Bopd6mWj.cjs.map +1 -0
- package/build/{area-DEwj0-O3.js → area-Cvp3eBBo.js} +4 -4
- package/build/area-Cvp3eBBo.js.map +1 -0
- package/build/{area-DRsIULcw.cjs → area-DqLK4RX5.cjs} +12 -10
- package/build/area-DqLK4RX5.cjs.map +1 -0
- package/build/area-preview.cjs.js +1 -1
- package/build/area-preview.es.js +1 -1
- package/build/area-skeleton.cjs.js +1 -1
- package/build/area-skeleton.es.js +1 -1
- package/build/build-info.txt +3 -3
- package/build/{component-DkEqMT7w.cjs → component-5o60aes-.cjs} +2 -2
- package/build/{component-DkEqMT7w.cjs.map → component-5o60aes-.cjs.map} +1 -1
- package/build/{component-CLqcB5mM.cjs → component-6hRanOkU.cjs} +2 -2
- package/build/{component-CLqcB5mM.cjs.map → component-6hRanOkU.cjs.map} +1 -1
- package/build/{component-CPzlyKwR.js → component-B80It4vM.js} +3 -3
- package/build/{component-CPzlyKwR.js.map → component-B80It4vM.js.map} +1 -1
- package/build/component-BfppCwz9.cjs +88 -0
- package/build/component-BfppCwz9.cjs.map +1 -0
- package/build/{component--jGdo2yq.cjs → component-Bj7sLW9s.cjs} +2 -2
- package/build/{component--jGdo2yq.cjs.map → component-Bj7sLW9s.cjs.map} +1 -1
- package/build/{component-BkYIZFlr.cjs → component-BxetIWe6.cjs} +6 -6
- package/build/{component-BkYIZFlr.cjs.map → component-BxetIWe6.cjs.map} +1 -1
- package/build/{component-DaXKDHnc.js → component-CKBpm4U4.js} +3 -3
- package/build/{component-DaXKDHnc.js.map → component-CKBpm4U4.js.map} +1 -1
- package/build/{component-CFKFLOAw.js → component-ClnOIQaN.js} +2 -2
- package/build/{component-CFKFLOAw.js.map → component-ClnOIQaN.js.map} +1 -1
- package/build/component-accordion.cjs.js +1 -1
- package/build/component-accordion.d.ts +5 -19
- package/build/component-accordion.es.js +1 -1
- package/build/{component-B9dFCQcm.cjs → component-b4tMFkpE.cjs} +2 -2
- package/build/{component-B9dFCQcm.cjs.map → component-b4tMFkpE.cjs.map} +1 -1
- package/build/component-button-group.cjs.js +1 -1
- package/build/component-button-group.d.ts +23 -186
- package/build/component-button-group.es.js +1 -1
- package/build/component-button.cjs.js +1 -1
- package/build/component-button.d.ts +26 -206
- package/build/component-button.es.js +4 -6
- package/build/component-checkbox-group.cjs.js +1 -1
- package/build/component-checkbox-group.d.ts +26 -170
- package/build/component-checkbox-group.es.js +1 -1
- package/build/component-checkbox.cjs.js +1 -1
- package/build/component-checkbox.d.ts +26 -193
- package/build/component-checkbox.es.js +2 -3
- package/build/component-date-picker.cjs.js +1 -1
- package/build/component-date-picker.d.ts +23 -186
- package/build/component-date-picker.es.js +1 -1
- package/build/{component-BFOHa1GY.js → component-eqTj4VVc.js} +2 -2
- package/build/{component-BFOHa1GY.js.map → component-eqTj4VVc.js.map} +1 -1
- package/build/component-icon.cjs.js +1 -1
- package/build/component-icon.d.ts +45 -166
- package/build/component-icon.es.js +5 -9
- package/build/component-icon.es.js.map +1 -1
- package/build/component-image-button.cjs.js +1 -1
- package/build/component-image-button.d.ts +23 -186
- package/build/component-image-button.es.js +1 -1
- package/build/component-image-select.cjs.js +1 -1
- package/build/component-image-select.d.ts +23 -186
- package/build/component-image-select.es.js +1 -1
- package/build/component-image-slider.cjs.js +1 -1
- package/build/component-image-slider.es.js +1 -1
- package/build/component-image.cjs.js +1 -1
- package/build/component-image.es.js +1 -1
- package/build/component-input-otp.cjs.js +1 -1
- package/build/component-input-otp.es.js +1 -1
- package/build/component-input.cjs.js +1 -1
- package/build/component-input.d.ts +1 -1
- package/build/component-input.es.js +2 -2
- package/build/{component-CeuA5Ry0.js → component-jPLOz52P.js} +51 -126
- package/build/component-jPLOz52P.js.map +1 -0
- package/build/component-map.cjs.js +1 -1
- package/build/component-map.es.js +1 -1
- package/build/component-pagination.cjs.js +1 -1
- package/build/component-pagination.d.ts +23 -186
- package/build/component-pagination.es.js +1 -1
- package/build/component-range.cjs.js +1 -1
- package/build/component-range.es.js +1 -1
- package/build/component-ripple.cjs.js +1 -1
- package/build/component-select.cjs.js +1 -1
- package/build/component-select.d.ts +2 -17
- package/build/component-select.es.js +1 -1
- package/build/component-textarea.cjs.js +1 -1
- package/build/component-textarea.es.js +1 -1
- package/build/component-toggle.cjs.js +1 -1
- package/build/component-toggle.es.js +1 -1
- package/build/component-tooltip.cjs.js +1 -1
- package/build/component-tooltip.es.js +1 -1
- package/build/component-typography.cjs.js +1 -1
- package/build/component-typography.es.js +1 -1
- package/build/{component.components-JtwTIPAB.cjs → component.components-BZX00SGG.cjs} +2 -2
- package/build/{component.components-JtwTIPAB.cjs.map → component.components-BZX00SGG.cjs.map} +1 -1
- package/build/{component.components-B2-Gqe0K.js → component.components-C9TkSqTp.js} +5 -5
- package/build/{component.components-B2-Gqe0K.js.map → component.components-C9TkSqTp.js.map} +1 -1
- package/build/{component.constants-DxcsPL8D.cjs → component.constants-B-ZMDpFv.cjs} +2 -2
- package/build/{component.constants-DxcsPL8D.cjs.map → component.constants-B-ZMDpFv.cjs.map} +1 -1
- package/build/{component.constants-CpnBclql.js → component.constants-C8li5_tq.js} +2 -2
- package/build/{component.constants-CpnBclql.js.map → component.constants-C8li5_tq.js.map} +1 -1
- package/build/{component.constants-DJzogH6s.js → component.constants-CnMky3Ym.js} +8 -8
- package/build/component.constants-CnMky3Ym.js.map +1 -0
- package/build/component.constants-Dg6JcWmd.cjs +22 -0
- package/build/component.constants-Dg6JcWmd.cjs.map +1 -0
- package/build/{component.styles-Dz33wmri.js → component.styles-0apMzB81.js} +9 -31
- package/build/component.styles-0apMzB81.js.map +1 -0
- package/build/{component.styles-BDKsgd6y.js → component.styles-AEJ_tw7Y.js} +5 -5
- package/build/{component.styles-BDKsgd6y.js.map → component.styles-AEJ_tw7Y.js.map} +1 -1
- package/build/{component.styles-BELwxHxh.cjs → component.styles-BO8xaSCQ.cjs} +2 -2
- package/build/{component.styles-BELwxHxh.cjs.map → component.styles-BO8xaSCQ.cjs.map} +1 -1
- package/build/component.styles-BVQQkX5c.cjs +57 -0
- package/build/component.styles-BVQQkX5c.cjs.map +1 -0
- package/build/component.styles-BYG4iVCR.cjs +10 -0
- package/build/{component.styles-CAN6t4un.cjs.map → component.styles-BYG4iVCR.cjs.map} +1 -1
- package/build/{component.styles-dFnW-DgR.cjs → component.styles-BZ9QLlOU.cjs} +2 -2
- package/build/{component.styles-dFnW-DgR.cjs.map → component.styles-BZ9QLlOU.cjs.map} +1 -1
- package/build/component.styles-BviHtzJH.cjs +22 -0
- package/build/component.styles-BviHtzJH.cjs.map +1 -0
- package/build/{component.styles-BYVYSgCZ.js → component.styles-C4Bz4OTl.js} +2 -2
- package/build/{component.styles-BYVYSgCZ.js.map → component.styles-C4Bz4OTl.js.map} +1 -1
- package/build/{component.styles-ZU_GyVub.cjs → component.styles-C8ONgWei.cjs} +2 -2
- package/build/{component.styles-ZU_GyVub.cjs.map → component.styles-C8ONgWei.cjs.map} +1 -1
- package/build/{component.styles-CJC0h3Ed.js → component.styles-CHqowxsZ.js} +5 -5
- package/build/component.styles-CHqowxsZ.js.map +1 -0
- package/build/component.styles-CXyyc0xg.cjs +32 -0
- package/build/{component.styles-Py-IeQ2q.cjs.map → component.styles-CXyyc0xg.cjs.map} +1 -1
- package/build/component.styles-CtZeOnGH.js +120 -0
- package/build/component.styles-CtZeOnGH.js.map +1 -0
- package/build/{component.styles-an3dM3la.js → component.styles-CwTYpBx_.js} +7 -7
- package/build/{component.styles-an3dM3la.js.map → component.styles-CwTYpBx_.js.map} +1 -1
- package/build/{component.styles-CEDSDKXy.cjs → component.styles-CxlbZwr4.cjs} +2 -2
- package/build/{component.styles-CEDSDKXy.cjs.map → component.styles-CxlbZwr4.cjs.map} +1 -1
- package/build/{component.styles-COwP0J6t.cjs → component.styles-CyCy2ymw.cjs} +2 -2
- package/build/{component.styles-COwP0J6t.cjs.map → component.styles-CyCy2ymw.cjs.map} +1 -1
- package/build/{component.styles-B0FFHGeN.js → component.styles-DWDGLfbF.js} +3 -3
- package/build/{component.styles-B0FFHGeN.js.map → component.styles-DWDGLfbF.js.map} +1 -1
- package/build/{component.styles-BbwS_Ekx.js → component.styles-DqJURuJl.js} +3 -3
- package/build/{component.styles-BbwS_Ekx.js.map → component.styles-DqJURuJl.js.map} +1 -1
- package/build/{component.styles-CsB9986a.cjs → component.styles-FMHm5NHm.cjs} +2 -2
- package/build/{component.styles-CsB9986a.cjs.map → component.styles-FMHm5NHm.cjs.map} +1 -1
- package/build/{component.styles-BeRVOt5T.cjs → component.styles-Hx-MJSWX.cjs} +2 -2
- package/build/{component.styles-BeRVOt5T.cjs.map → component.styles-Hx-MJSWX.cjs.map} +1 -1
- package/build/{component.styles-BGYbrzvh.js → component.styles-KBaixm0o.js} +2 -2
- package/build/{component.styles-BGYbrzvh.js.map → component.styles-KBaixm0o.js.map} +1 -1
- package/build/{component.styles-Czdj4SAF.js → component.styles-SZTM0cRW.js} +7 -7
- package/build/{component.styles-Czdj4SAF.js.map → component.styles-SZTM0cRW.js.map} +1 -1
- package/build/{component.styles-gZHy-64x.cjs → component.styles-_keFf_Qj.cjs} +2 -2
- package/build/{component.styles-gZHy-64x.cjs.map → component.styles-_keFf_Qj.cjs.map} +1 -1
- package/build/{component.styles-VrNFgg1_.js → component.styles-cMafDDpP.js} +3 -3
- package/build/{component.styles-VrNFgg1_.js.map → component.styles-cMafDDpP.js.map} +1 -1
- package/build/{component.styles-CxPmtiIy.js → component.styles-euSUJAiA.js} +3 -3
- package/build/{component.styles-CxPmtiIy.js.map → component.styles-euSUJAiA.js.map} +1 -1
- package/build/{component.types-B2YOqKzt.js → component.types-BTJPUAzF.js} +9 -8
- package/build/component.types-BTJPUAzF.js.map +1 -0
- package/build/{component.types-DaiIANRt.cjs → component.types-lbEwteRa.cjs} +6 -6
- package/build/component.types-lbEwteRa.cjs.map +1 -0
- package/build/context-app.cjs.js +1 -1
- package/build/context-app.es.js +1 -1
- package/build/context-sonner.cjs.js +1 -1
- package/build/context-sonner.d.ts +71 -100
- package/build/context-sonner.es.js +1 -1
- package/build/{context.constants-C4xdihsb.js → context.constants-Cio0nsYA.js} +7 -6
- package/build/context.constants-Cio0nsYA.js.map +1 -0
- package/build/{context.constants-D0P7bVk9.cjs → context.constants-y9s5VGN2.cjs} +4 -3
- package/build/context.constants-y9s5VGN2.cjs.map +1 -0
- package/build/{context.hooks-Cmgo0uqV.js → context.hooks-BIIK-2HN.js} +3 -3
- package/build/{context.hooks-Cmgo0uqV.js.map → context.hooks-BIIK-2HN.js.map} +1 -1
- package/build/{context.hooks-XBiTuVyt.cjs → context.hooks-DNnrgKb0.cjs} +3 -3
- package/build/{context.hooks-XBiTuVyt.cjs.map → context.hooks-DNnrgKb0.cjs.map} +1 -1
- package/build/{floating-ui.react--v70Xky9.cjs → floating-ui.react-DZzvtpim.cjs} +2 -2
- package/build/{floating-ui.react--v70Xky9.cjs.map → floating-ui.react-DZzvtpim.cjs.map} +1 -1
- package/build/index.cjs.js +1 -1
- package/build/index.d.ts +93 -252
- package/build/index.es.js +142 -143
- package/build/index.es.js.map +1 -1
- package/build/{style-uVTmdhsH.js → style-BzxSHZDV.js} +2 -2
- package/build/{style-uVTmdhsH.js.map → style-BzxSHZDV.js.map} +1 -1
- package/build/{style-D3Lbn1EL.cjs → style-D8DUzG0C.cjs} +2 -2
- package/build/{style-D3Lbn1EL.cjs.map → style-D8DUzG0C.cjs.map} +1 -1
- package/build/style-error.cjs.js +1 -1
- package/build/style-error.es.js +1 -1
- package/build/style-theme.cjs.js +1 -1
- package/build/style-theme.d.ts +29 -0
- package/build/style-theme.es.js +8 -2
- package/build/{theme.global-BgERDJ4e.js → theme.global-BzunMIsv.js} +132 -2
- package/build/theme.global-BzunMIsv.js.map +1 -0
- package/build/theme.global-D67h5YeA.cjs +173 -0
- package/build/theme.global-D67h5YeA.cjs.map +1 -0
- package/build/{use-DWNgOa9w.cjs → use-BLwltPMc.cjs} +2 -2
- package/build/{use-DWNgOa9w.cjs.map → use-BLwltPMc.cjs.map} +1 -1
- package/build/{use-CuHzkWqv.js → use-CnGHh8iL.js} +5 -5
- package/build/{use-CuHzkWqv.js.map → use-CnGHh8iL.js.map} +1 -1
- package/package.json +1 -1
- package/build/area-CZkDIeGx.cjs +0 -2
- package/build/area-CZkDIeGx.cjs.map +0 -1
- package/build/area-DEwj0-O3.js.map +0 -1
- package/build/area-DRsIULcw.cjs.map +0 -1
- package/build/area-sDVSuS3G.js.map +0 -1
- package/build/component-BLWcOf3A.cjs +0 -90
- package/build/component-BLWcOf3A.cjs.map +0 -1
- package/build/component-CeuA5Ry0.js.map +0 -1
- package/build/component.constants-DJzogH6s.js.map +0 -1
- package/build/component.constants-DoZ61vWX.cjs +0 -22
- package/build/component.constants-DoZ61vWX.cjs.map +0 -1
- package/build/component.styles-BKnUDWqO.cjs +0 -22
- package/build/component.styles-BKnUDWqO.cjs.map +0 -1
- package/build/component.styles-CAN6t4un.cjs +0 -10
- package/build/component.styles-CJC0h3Ed.js.map +0 -1
- package/build/component.styles-DS0ofW1Y.js +0 -2193
- package/build/component.styles-DS0ofW1Y.js.map +0 -1
- package/build/component.styles-DhXp_cmE.cjs +0 -73
- package/build/component.styles-DhXp_cmE.cjs.map +0 -1
- package/build/component.styles-Dz33wmri.js.map +0 -1
- package/build/component.styles-Py-IeQ2q.cjs +0 -32
- package/build/component.types-B2YOqKzt.js.map +0 -1
- package/build/component.types-BBQ18Npa.js +0 -143
- package/build/component.types-BBQ18Npa.js.map +0 -1
- package/build/component.types-DaiIANRt.cjs.map +0 -1
- package/build/component.types-DraGq1j_.cjs +0 -2
- package/build/component.types-DraGq1j_.cjs.map +0 -1
- package/build/context.constants-C4xdihsb.js.map +0 -1
- package/build/context.constants-D0P7bVk9.cjs.map +0 -1
- package/build/theme.global-BgERDJ4e.js.map +0 -1
- package/build/theme.global-CcoD5bPP.cjs +0 -173
- package/build/theme.global-CcoD5bPP.cjs.map +0 -1
|
@@ -55,6 +55,15 @@ declare type addFontProps = {
|
|
|
55
55
|
font?: FontSizeStylesProps;
|
|
56
56
|
};
|
|
57
57
|
|
|
58
|
+
declare type addIconProps = {
|
|
59
|
+
[T in keyof DefaultTheme['icon']['map']]: Omit<IconItemProps, 'size'> & {
|
|
60
|
+
type: T;
|
|
61
|
+
name: DefaultTheme['icon']['map'][T][number];
|
|
62
|
+
isHidden?: boolean;
|
|
63
|
+
size?: IconItemProps['size'];
|
|
64
|
+
};
|
|
65
|
+
}[keyof DefaultTheme['icon']['map']];
|
|
66
|
+
|
|
58
67
|
declare type addOutlineProps = {
|
|
59
68
|
isReadOnly?: boolean;
|
|
60
69
|
isDisabledOutline?: boolean;
|
|
@@ -82,25 +91,7 @@ declare type ButtonPropsDefault = PropsWithChildren & {
|
|
|
82
91
|
tabIndex?: number;
|
|
83
92
|
ref?: Ref<HTMLElement | null>;
|
|
84
93
|
className?: string;
|
|
85
|
-
icons?:
|
|
86
|
-
isHidden?: boolean;
|
|
87
|
-
size?: IconItemProps<'id'>['size'];
|
|
88
|
-
}) | (Omit<IconItemProps<'checkbox'>, 'size'> & {
|
|
89
|
-
isHidden?: boolean;
|
|
90
|
-
size?: IconItemProps<'checkbox'>['size'];
|
|
91
|
-
}) | (Omit<IconItemProps<'loading'>, 'size'> & {
|
|
92
|
-
isHidden?: boolean;
|
|
93
|
-
size?: IconItemProps<'loading'>['size'];
|
|
94
|
-
}) | (Omit<IconItemProps<'realebail'>, 'size'> & {
|
|
95
|
-
isHidden?: boolean;
|
|
96
|
-
size?: IconItemProps<'realebail'>['size'];
|
|
97
|
-
}) | (Omit<IconItemProps<'logo'>, 'size'> & {
|
|
98
|
-
isHidden?: boolean;
|
|
99
|
-
size?: IconItemProps<'logo'>['size'];
|
|
100
|
-
}) | (Omit<IconItemProps<'bustmarket'>, 'size'> & {
|
|
101
|
-
isHidden?: boolean;
|
|
102
|
-
size?: IconItemProps<'logo'>['size'];
|
|
103
|
-
}))[];
|
|
94
|
+
icons?: addIconProps[];
|
|
104
95
|
isDisabled?: boolean;
|
|
105
96
|
isDisabledRipple?: boolean;
|
|
106
97
|
isHidden?: boolean;
|
|
@@ -280,140 +271,6 @@ export declare type DateWrapperProps = AddDollarSign<Pick<InputStandardProps, 'g
|
|
|
280
271
|
isMinWidth?: boolean;
|
|
281
272
|
}> & StyledInputWrapperProps;
|
|
282
273
|
|
|
283
|
-
declare enum ENUM_ICON_BUSTMARKET {
|
|
284
|
-
Card = 0,
|
|
285
|
-
Delivery = 1,
|
|
286
|
-
Heart = 2,
|
|
287
|
-
Reviews = 3,
|
|
288
|
-
Search = 4,
|
|
289
|
-
Menu = 5
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
declare enum ENUM_ICON_CHECKBOX {
|
|
293
|
-
Radio = 0,
|
|
294
|
-
Square = 1,
|
|
295
|
-
Arrow = 2,
|
|
296
|
-
Heart = 3
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
declare enum ENUM_ICON_ID {
|
|
300
|
-
Close = 0,
|
|
301
|
-
Biometry = 1,
|
|
302
|
-
QR = 2,
|
|
303
|
-
Search = 3,
|
|
304
|
-
Folder = 4,
|
|
305
|
-
Wallet = 5,
|
|
306
|
-
Graph = 6,
|
|
307
|
-
Bookmark = 7,
|
|
308
|
-
Category = 8,
|
|
309
|
-
Home = 9,
|
|
310
|
-
Notification = 10,
|
|
311
|
-
Chat = 11,
|
|
312
|
-
Heart = 12,
|
|
313
|
-
Paper = 13,
|
|
314
|
-
Plus = 14,
|
|
315
|
-
Minus = 15,
|
|
316
|
-
PaperPlus = 16,
|
|
317
|
-
PaperNegative = 17,
|
|
318
|
-
PaperFail = 18,
|
|
319
|
-
PaperDownload = 19,
|
|
320
|
-
PaperUpload = 20,
|
|
321
|
-
Send = 21,
|
|
322
|
-
PasswordMini = 22,
|
|
323
|
-
Swap = 23,
|
|
324
|
-
Work = 24,
|
|
325
|
-
Arrow1 = 25,
|
|
326
|
-
Arrow2 = 26,
|
|
327
|
-
Arrow3 = 27,
|
|
328
|
-
Arrow4 = 28,
|
|
329
|
-
ArrowMini1 = 29,
|
|
330
|
-
ArrowMini2 = 30,
|
|
331
|
-
Scan = 31,
|
|
332
|
-
Activity = 32,
|
|
333
|
-
Calendar = 33,
|
|
334
|
-
Message = 34,
|
|
335
|
-
PlusMini = 35,
|
|
336
|
-
ChartMini = 36,
|
|
337
|
-
Game = 37,
|
|
338
|
-
Bag1 = 38,
|
|
339
|
-
Bag2 = 39,
|
|
340
|
-
TicketStar = 40,
|
|
341
|
-
MoreCircle = 41,
|
|
342
|
-
MoreSquare = 42,
|
|
343
|
-
Discount = 43,
|
|
344
|
-
Buy = 44,
|
|
345
|
-
Web = 45,
|
|
346
|
-
InfoMini = 46,
|
|
347
|
-
DangerMini = 47,
|
|
348
|
-
DangerTriangle = 48,
|
|
349
|
-
CloseMini = 49,
|
|
350
|
-
TickMini = 50,
|
|
351
|
-
Video = 51,
|
|
352
|
-
Discovery = 52,
|
|
353
|
-
Location = 53,
|
|
354
|
-
Document = 54,
|
|
355
|
-
Setting = 55,
|
|
356
|
-
TimeSquare = 56,
|
|
357
|
-
TimeCircle = 57,
|
|
358
|
-
VolumeUp = 58,
|
|
359
|
-
VolumeDown = 59,
|
|
360
|
-
VolumeOff = 60,
|
|
361
|
-
Star = 61,
|
|
362
|
-
Select = 62,
|
|
363
|
-
Ticket = 63,
|
|
364
|
-
Camera = 64,
|
|
365
|
-
Profile = 65,
|
|
366
|
-
AddUser = 66,
|
|
367
|
-
TwoUser = 67,
|
|
368
|
-
ThreeUser = 68,
|
|
369
|
-
Login = 69,
|
|
370
|
-
Logout = 70,
|
|
371
|
-
Download = 71,
|
|
372
|
-
Upload = 72,
|
|
373
|
-
Voice = 73,
|
|
374
|
-
Voice2 = 74,
|
|
375
|
-
Delete = 75,
|
|
376
|
-
Edit = 76,
|
|
377
|
-
EditSquare = 77,
|
|
378
|
-
PlayMini = 78,
|
|
379
|
-
ShieldDone = 79,
|
|
380
|
-
ShieldFail = 80,
|
|
381
|
-
Show = 81,
|
|
382
|
-
Hide = 82,
|
|
383
|
-
Filter = 83,
|
|
384
|
-
Filter2 = 84,
|
|
385
|
-
Image = 85,
|
|
386
|
-
Image2 = 86,
|
|
387
|
-
Call = 87,
|
|
388
|
-
Calling = 88,
|
|
389
|
-
CallMissed = 89,
|
|
390
|
-
CallSilent = 90,
|
|
391
|
-
Lock = 91,
|
|
392
|
-
Unlock = 92,
|
|
393
|
-
Resources = 93,
|
|
394
|
-
Language = 94
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
declare enum ENUM_ICON_LOADING {
|
|
398
|
-
Line = 0,
|
|
399
|
-
Circle = 1,
|
|
400
|
-
Blocks = 2,
|
|
401
|
-
Balls = 3
|
|
402
|
-
}
|
|
403
|
-
|
|
404
|
-
declare enum ENUM_ICON_LOGO {
|
|
405
|
-
Jenesei = 0,
|
|
406
|
-
BustMarket = 1
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
declare enum ENUM_ICON_REALEBAIL {
|
|
410
|
-
MapCluster = 0,
|
|
411
|
-
HomeLikes = 1,
|
|
412
|
-
HomeManagement = 2,
|
|
413
|
-
UserSettings = 3,
|
|
414
|
-
User = 4
|
|
415
|
-
}
|
|
416
|
-
|
|
417
274
|
declare type ErrorMessageProps = {
|
|
418
275
|
errorMessage?: string;
|
|
419
276
|
isError?: boolean;
|
|
@@ -429,27 +286,19 @@ declare type FontSizeStylesProps = {
|
|
|
429
286
|
height?: TypographyDataProps['height'];
|
|
430
287
|
};
|
|
431
288
|
|
|
432
|
-
declare type IconItemProps
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
} & addSXProps;
|
|
444
|
-
|
|
445
|
-
declare type IconTypeMap = {
|
|
446
|
-
id: TIconIdNameString;
|
|
447
|
-
checkbox: TIconCheckboxNameString;
|
|
448
|
-
loading: TIconLoadingNameString;
|
|
449
|
-
realebail: TIconRealEbailNameString;
|
|
450
|
-
logo: TIconLogoNameString;
|
|
451
|
-
bustmarket: TIconBustMarketNameString;
|
|
452
|
-
};
|
|
289
|
+
declare type IconItemProps = {
|
|
290
|
+
[K in keyof DefaultTheme['icon']['map']]: {
|
|
291
|
+
type: K;
|
|
292
|
+
name: DefaultTheme['icon']['map'][K][number];
|
|
293
|
+
className?: string;
|
|
294
|
+
onClick?: (event: default_2.MouseEvent<SVGSVGElement>) => void;
|
|
295
|
+
size: IThemeSize | '100%';
|
|
296
|
+
color?: IThemePaletteKeys;
|
|
297
|
+
turn?: number;
|
|
298
|
+
order?: number;
|
|
299
|
+
tabIndex?: number;
|
|
300
|
+
} & addSXProps;
|
|
301
|
+
}[keyof DefaultTheme['icon']['map']];
|
|
453
302
|
|
|
454
303
|
declare interface InputChildrenProps extends PropsWithChildren {
|
|
455
304
|
left: string;
|
|
@@ -662,18 +511,6 @@ declare type TButtonGenre = keyof IThemeGenre;
|
|
|
662
511
|
|
|
663
512
|
export declare type TDateGenre = keyof IThemeGenreDate;
|
|
664
513
|
|
|
665
|
-
declare type TIconBustMarketNameString = keyof typeof ENUM_ICON_BUSTMARKET;
|
|
666
|
-
|
|
667
|
-
declare type TIconCheckboxNameString = keyof typeof ENUM_ICON_CHECKBOX;
|
|
668
|
-
|
|
669
|
-
declare type TIconIdNameString = keyof typeof ENUM_ICON_ID;
|
|
670
|
-
|
|
671
|
-
declare type TIconLoadingNameString = keyof typeof ENUM_ICON_LOADING;
|
|
672
|
-
|
|
673
|
-
declare type TIconLogoNameString = keyof typeof ENUM_ICON_LOGO;
|
|
674
|
-
|
|
675
|
-
declare type TIconRealEbailNameString = keyof typeof ENUM_ICON_REALEBAIL;
|
|
676
|
-
|
|
677
514
|
declare type TInputGenre = keyof IThemeGenreInput;
|
|
678
515
|
|
|
679
516
|
declare type TInputSelect = keyof IThemeGenreSelect;
|
|
@@ -3,7 +3,7 @@ import { u as useScreenWidth } from "./context.hooks-BmwyZ1p3.js";
|
|
|
3
3
|
import { useMemo, useState, useRef, useEffect, useLayoutEffect, useCallback, memo } from "react";
|
|
4
4
|
import { u as useDeepCompareMemoize } from "./use-DT0XgvJT.js";
|
|
5
5
|
import { createLink } from "@tanstack/react-router";
|
|
6
|
-
import { J as JeneseiPalette, K as KEY_SIZE_DATA } from "./theme.global-
|
|
6
|
+
import { J as JeneseiPalette, K as KEY_SIZE_DATA } from "./theme.global-BzunMIsv.js";
|
|
7
7
|
import styled, { keyframes, css, useTheme } from "styled-components";
|
|
8
8
|
import { a as useFloating, b as autoUpdate, o as offset, f as flip, s as shift } from "./floating-ui.react-Byi6bLb1.js";
|
|
9
9
|
import { AnimatePresence, motion } from "framer-motion";
|
|
@@ -725,4 +725,4 @@ export {
|
|
|
725
725
|
TypographyTooltip as k,
|
|
726
726
|
usePopover as u
|
|
727
727
|
};
|
|
728
|
-
//# sourceMappingURL=component-
|
|
728
|
+
//# sourceMappingURL=component-eqTj4VVc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-BFOHa1GY.js","sources":["../src/components/typography/component.styles.ts","../src/hooks/use-overflowing/use.ts","../src/components/popover/component.tsx","../src/components/popover/component.styles.ts","../src/components/popover/component.constants.tsx","../src/components/tooltip/component.styles.ts","../src/components/tooltip/component.tsx","../src/components/tooltip/component.constants.ts","../src/components/typography/component.tsx"],"sourcesContent":["import { addOutline } from '@local/styles/add';\nimport { addSX as addSXStandard } from '@local/styles/sx';\nimport { JeneseiPalette } from '@local/theme/theme';\n\nimport styled, { css, keyframes } from 'styled-components';\n\nimport { addSXTypographyStyleProps, TypographyAllProps, TypographyCSSProps } from '.';\n\nconst shadowPulse = keyframes`\n 0% {\n text-shadow: 0 0 0 rgba(0, 0, 0, 0);\n }\n 50% {\n text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5);\n }\n 100% {\n text-shadow: 0 0 0 rgba(0, 0, 0, 0);\n }\n`;\n\nfunction toStyledCSS(value: TypographyAllProps) {\n return css`\n ${\n value.shadow &&\n value.shadow === 'shadowPulse' &&\n css`\n animation: ${shadowPulse} 2s infinite;\n `\n };\n ${\n value.letterSpacing &&\n css`\n letter-spacing: ${value.letterSpacing};\n `\n };\n ${\n value.flex &&\n css`\n flex: ${value.flex};\n `\n };\n ${\n value.cursor &&\n css`\n cursor: ${value.cursor};\n `\n };\n ${\n value.overflow &&\n css`\n overflow: ${value.overflow};\n `\n };\n ${\n value.line !== undefined\n ? value.line === 1\n ? css`\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n width: -webkit-fill-available;\n max-width: fit-content;\n `\n : css`\n word-break: break-word;\n white-space: normal;\n text-overflow: ellipsis;\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: ${value.line};\n width: fit-content;\n overflow-wrap: anywhere;\n `\n : css``\n };\n ${\n value.family &&\n css`\n font-family: ${value.family};\n `\n };\n ${\n value.weight &&\n css`\n font-weight: ${value.weight};\n `\n };\n ${\n value.height &&\n css`\n line-height: ${value.height}px;\n `\n };\n ${\n value.color &&\n css`\n color: ${JeneseiPalette[value.color]};\n `\n };\n ${\n value.align &&\n css`\n text-align: ${value.align};\n `\n };\n ${\n value.wrap &&\n css`\n text-wrap: ${value.wrap};\n `\n };\n ${\n value.decoration &&\n css`\n text-decoration: ${value.decoration};\n `\n };\n ${\n value.transform &&\n css`\n text-transform: ${value.transform};\n `\n };\n ${\n value.isHoverUnderlining &&\n css`\n &:hover {\n text-decoration: underline;\n }\n `\n };\n ${\n value.isNoUserSelect &&\n css`\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n `\n };\n ${\n 'size' in value &&\n value.size &&\n css`\n font-size: ${value.size}px;\n `\n };\n ${\n 'variant' in value && value.variant\n ? value.variant === 'h1'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h1 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h1 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h1 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h2'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h2 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h2 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h2 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h3'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h3 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h3 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h3 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h4'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h4 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h4 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h4 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h5'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h5 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h5 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h5 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h6'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h6 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h6 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h6 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h7'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h7 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h7 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h7 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h8'\n ? css`\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h8 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h8 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h8 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h9'\n ? css`\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h9 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h9 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h9 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : null\n : null\n };\n `;\n}\n\nexport const addSXTypography = css<addSXTypographyStyleProps>`\n ${(props) => {\n const rawSX = props.$sxTypography;\n if (!rawSX) return null;\n return toStyledCSS(rawSX.default);\n }}\n\n ${(props) => {\n const rawSX = props.$sxTypography;\n if (!rawSX) return null;\n\n return Object.entries(rawSX)\n .filter(([key]) => key !== 'default')\n .map(([deviceKey, value]) => {\n const screenWidth = props.theme.screens[deviceKey as keyof typeof props.theme.screens]?.width;\n if (!screenWidth) return null;\n return css`\n @media (max-width: ${screenWidth}px) {\n ${toStyledCSS(value)}\n }\n `;\n });\n }}\n`;\n\nconst TypographyCSS = css<TypographyCSSProps>`\n font-style: normal;\n position: relative;\n overflow: visible;\n text-overflow: ellipsis;\n overflow-wrap: anywhere;\n line-height: ${(props) => props.theme.font.lineHeight};\n ${addSXTypography};\n ${addSXStandard}\n`;\n\nexport const Title = styled.span<TypographyCSSProps>`\n ${TypographyCSS}\n ${addOutline}\n`;\n","\n\nimport { RefObject, useEffect, useMemo, useRef, useState } from 'react';\n\n\nimport { useDeepCompareMemoize } from '../use-deep-compare-memoize';\nimport { useTooltipProps } from '.';\n\n/**\n * Хук для отслеживания переполнения содержимого в элементе (или его родителе).\n * Возвращает ref для привязки к DOM-элементу, флаг переполнения и флаг isDisabled.\n * @param props - опциональные параметры для управления поведением проверки переполнения\n */\nexport function useOverflowing<T extends HTMLElement>(\n props?: useTooltipProps,\n): {\n isDisabled: boolean; // true, если нет переполнения\n isOverflowing: boolean; // true, если содержимое выходит за пределы контейнера\n ref: RefObject<HTMLElement | null>; // ref для отслеживания DOM-элемента\n} {\n // Нужно ли проверять размеры (по умолчанию true)\n const isCheckSize = useMemo(() => props?.isCheckSize ?? true, [props?.isCheckSize]);\n // Проверять ли переполнение относительно родителя (mode === 'parent')\n const isParentMode = useMemo(() => props?.mode === 'parent', [props?.mode]);\n\n // Состояние переполнения (может быть принудительно задано через props)\n const [isOverflowing, setIsOverflowing] = useState(\n props?.isOverflowing !== undefined ? props?.isOverflowing : false\n );\n // ref для отслеживания элемента\n const ref = useRef<T | null>(null);\n // Мемоизированные зависимости для эффекта (глубокое сравнение)\n const dependencies = useDeepCompareMemoize(props?.dependencies);\n\n useEffect(() => {\n // Если не нужно проверять размеры — выходим\n if (!isCheckSize) return;\n\n // Функция проверки переполнения\n const checkOverflow = () => {\n const el = ref.current;\n if (!el) return;\n\n // Получаем размеры содержимого и контейнера\n const scrollWidth = el.scrollWidth;\n const scrollHeight = el.scrollHeight;\n\n // Если parentMode — сравниваем с родителем, иначе с самим элементом\n const clientWidth = isParentMode && el.parentElement ? el.parentElement.clientWidth : el.clientWidth;\n const clientHeight = isParentMode && el.parentElement ? el.parentElement.clientHeight : el.clientHeight;\n\n // Считаем переполнение по ширине или высоте\n setIsOverflowing(scrollWidth > clientWidth || scrollHeight > clientHeight);\n };\n\n // Проверяем при монтировании и при изменении зависимостей\n checkOverflow();\n // Проверяем при изменении размера окна\n window.addEventListener('resize', checkOverflow);\n // Очищаем обработчик при размонтировании\n return () => window.removeEventListener('resize', checkOverflow);\n }, [dependencies, isCheckSize, isParentMode]);\n\n // isDisabled: true, если нет переполнения (можно использовать для отключения тултипа)\n return { isDisabled: !isOverflowing, ref: ref, isOverflowing };\n}\n","import { KEY_SIZE_DATA } from '@local/theme';\n\nimport { autoUpdate, flip, offset, shift, useFloating } from '@floating-ui/react';\nimport { AnimatePresence } from 'framer-motion';\nimport { FC, Ref, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useTheme } from 'styled-components';\n\nimport { DEFAULT_POPOVER_CLOSE_DELAY, DEFAULT_POPOVER_OFFSET, PopoverProps, PopoverWrapper, UsePopoverProps } from '.';\n\nexport const Popover: FC<PopoverProps> = (props) => {\n const theme = useTheme();\n return ReactDOM.createPortal(\n <AnimatePresence>\n {props.isOpen && (\n <div\n tabIndex={-1}\n ref={props.ref as Ref<HTMLDivElement | null>}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n ...props.floatingStyles,\n transform: props.floatingStyles.transform,\n zIndex: 9999,\n }}\n >\n <PopoverWrapper\n tabIndex={-1}\n $isShowAlwaysOutline={props.isShowAlwaysOutline}\n $genre={props.genre ?? 'black'}\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size ?? 'medium'].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n className={props.className}\n initial={{ opacity: 0, scale: 0.95 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.95 }}\n transition={{ duration: 0.2 }}\n $sx={props.sx}\n $size={props.size}\n $sxTypography={props.sxTypography}\n $maxHeight={props.maxHeight}\n $maxWidth={props.maxWidth}\n >\n {props.children}\n </PopoverWrapper>\n </div>\n )}\n </AnimatePresence>,\n document.body,\n );\n};\n\nexport const usePopover = (props: UsePopoverProps) => {\n const { onFocus, onBlur, onBlurReference } = props;\n\n // Состояние открытия поповера\n const [isOpen, setIsOpen] = useState(false);\n // Минимальная ширина поповера (нужна, если хотим, чтобы ширина совпадала с референсом)\n const [minWidth, setMinWidth] = useState<number | undefined>(undefined);\n // Флаг, был ли поповер когда-либо открыт (чтобы onBlur не вызывался при первом рендере)\n const [wasEverOpen, setWasEverOpen] = useState(false);\n\n // Позиционирование через floating-ui\n const {\n refs,\n floatingStyles,\n update,\n placement: actualPlacement,\n } = useFloating({\n open: isOpen,\n placement: props.placement,\n middleware: [offset(props.offset ?? 8), flip(), shift()],\n whileElementsMounted: autoUpdate,\n });\n\n // Сохраняем обработчик клика вне поповера (чтобы можно было удалить при cleanup)\n const clickOutsideHandler = useRef<((e: MouseEvent) => void) | null>(null);\n // Таймаут для закрытия при hover-режиме\n const hoverCloseTimeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Отступ для hover-зоны (чтобы не закрывался мгновенно при небольших движениях мыши)\n const hoverOffset = useMemo(\n () => props.hoverOffset ?? props.offset ?? DEFAULT_POPOVER_OFFSET,\n [props.hoverOffset, props.offset],\n );\n // Задержка перед закрытием при hover\n const hoverCloseDelay = useMemo(() => props.hoverCloseDelay ?? DEFAULT_POPOVER_CLOSE_DELAY, [props.hoverCloseDelay]);\n\n /**\n * Навешиваем обработчики на reference-элемент в зависимости от режима:\n * - click / clickOpen → открытие/переключение по клику\n * - hover → открытие/закрытие при наведении\n */\n useEffect(() => {\n if (props.isDisabled) return;\n const refEl = refs.reference.current;\n if (!refEl) return;\n\n // Режим клика\n if ((props.mode === 'click' || props.mode === 'clickOpen') && refEl instanceof HTMLElement) {\n const handleClick = () => {\n if (props.mode === 'click') {\n setIsOpen((prev) => !prev);\n } else if (props.mode === 'clickOpen') {\n setIsOpen(true);\n }\n };\n\n refEl.addEventListener('click', handleClick);\n return () => {\n refEl.removeEventListener('click', handleClick);\n };\n\n // Режим ховера\n } else if (props.mode === 'hover' && refEl instanceof HTMLElement) {\n const handleMouseEnter = () => {\n setIsOpen(true);\n };\n const handleMouseLeave = () => {\n if (hoverCloseTimeout.current) clearTimeout(hoverCloseTimeout.current);\n hoverCloseTimeout.current = setTimeout(() => setIsOpen(false), hoverCloseDelay);\n };\n\n refEl.addEventListener('mouseenter', handleMouseEnter);\n refEl.addEventListener('mouseleave', handleMouseLeave);\n return () => {\n refEl.removeEventListener('mouseenter', handleMouseEnter);\n refEl.removeEventListener('mouseleave', handleMouseLeave);\n if (hoverCloseTimeout.current) clearTimeout(hoverCloseTimeout.current);\n };\n }\n }, [props.mode, refs.reference, hoverCloseDelay, props.isDisabled]);\n\n // Автоматическое обновление позиции, пока поповер открыт\n useEffect(() => {\n if (!isOpen || !refs.reference.current || !refs.floating.current || props.isDisabled) return;\n\n const cleanup = autoUpdate(refs.reference.current, refs.floating.current, update);\n\n return () => cleanup();\n }, [isOpen, refs.reference, refs.floating, update, props.isDisabled]);\n\n /**\n * Логика закрытия поповера при клике вне него\n */\n useEffect(() => {\n if (!isOpen || !refs.reference.current || !refs.floating.current || props.isDisabled) return;\n\n if (props.isClickOutside) {\n clickOutsideHandler.current = (e: MouseEvent) => {\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n const otherRefs = props.refsExcludeClickOutside || [];\n\n // Проверяем, что клик не по поповеру, не по reference и не по исключенным ref'ам\n if (\n refEl instanceof HTMLElement &&\n floatingEl instanceof HTMLElement &&\n !refEl.contains(e.target as Node) &&\n !floatingEl.contains(e.target as Node) &&\n !otherRefs.some((ref) => {\n if (typeof ref === 'object' && ref !== null && 'current' in ref) {\n return (ref.current as HTMLElement | null)?.contains(e.target as Node);\n }\n return false;\n })\n ) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', clickOutsideHandler.current);\n }\n\n return () => {\n if (clickOutsideHandler.current) {\n document.removeEventListener('mousedown', clickOutsideHandler.current);\n clickOutsideHandler.current = null;\n }\n if (hoverCloseTimeout.current) {\n clearTimeout(hoverCloseTimeout.current);\n }\n };\n }, [isOpen, refs.reference, refs.floating, props.isClickOutside, props.isDisabled, props.refsExcludeClickOutside]);\n\n /**\n * Поддержка режима \"плавающего hover\"\n * Закрывает поповер, если мышь ушла за пределы reference+floating с отступом\n */\n useEffect(() => {\n if (!isOpen || !props.isFloatingHover || !refs.reference.current || !refs.floating.current || props.isDisabled)\n return;\n\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n\n const handleMouseMove = (e: MouseEvent) => {\n const mouseX = e.clientX;\n const mouseY = e.clientY;\n\n const refRect = refEl.getBoundingClientRect();\n const floatingRect = floatingEl.getBoundingClientRect();\n\n // Находим, внутри ли курсор reference или floating с учётом отступа\n const isInsideRef =\n mouseX >= refRect.left - hoverOffset &&\n mouseX <= refRect.right + hoverOffset &&\n mouseY >= refRect.top - hoverOffset &&\n mouseY <= refRect.bottom + hoverOffset;\n\n const isInsideFloating =\n mouseX >= floatingRect.left - hoverOffset &&\n mouseX <= floatingRect.right + hoverOffset &&\n mouseY >= floatingRect.top - hoverOffset &&\n mouseY <= floatingRect.bottom + hoverOffset;\n\n if (isInsideRef || isInsideFloating) {\n // Если вернулись внутрь — отменяем закрытие\n if (hoverCloseTimeout.current) {\n clearTimeout(hoverCloseTimeout.current);\n hoverCloseTimeout.current = null;\n }\n } else {\n // Если вышли — запускаем таймер на закрытие\n if (hoverCloseTimeout.current) clearTimeout(hoverCloseTimeout.current);\n hoverCloseTimeout.current = setTimeout(() => setIsOpen(false), hoverCloseDelay);\n }\n };\n\n document.addEventListener('mousemove', handleMouseMove);\n\n return () => {\n document.removeEventListener('mousemove', handleMouseMove);\n if (hoverCloseTimeout.current) {\n clearTimeout(hoverCloseTimeout.current);\n }\n };\n }, [isOpen, props.isFloatingHover, refs.reference, refs.floating, hoverOffset, hoverCloseDelay, props.isDisabled]);\n\n /**\n * Устанавливаем минимальную ширину поповера, равную reference (если включено isWidthAsContent)\n */\n useLayoutEffect(() => {\n if (!props.isWidthAsContent || !refs.reference.current) return;\n const rect = refs.reference.current.getBoundingClientRect();\n setMinWidth(rect.width);\n }, [props.isWidthAsContent, refs.reference]);\n\n // Методы управления открытием\n const open = useCallback(() => {\n if (props.isDisabled) return;\n setIsOpen(true);\n }, [props.isDisabled]);\n const close = useCallback(() => {\n if (props.isDisabled) return;\n setIsOpen(false);\n }, [props.isDisabled]);\n const toggle = useCallback(() => {\n if (props.isDisabled) return;\n setIsOpen((prev) => !prev);\n }, [props.isDisabled]);\n\n // Объединяем стили floating-ui с дополнительными ограничениями по ширине\n const combinedStyles = useMemo(() => {\n return {\n ...floatingStyles,\n minWidth: props.isWidthAsContent && minWidth ? `${minWidth}px` : undefined,\n maxWidth: props.isWidthAsContent && minWidth ? `${minWidth}px` : undefined,\n };\n }, [floatingStyles, props.isWidthAsContent, minWidth]);\n\n /**\n * Вызываем onFocus при открытии\n * и запоминаем, что поповер хоть раз был открыт\n */\n useEffect(() => {\n if (isOpen) {\n onFocus?.();\n setWasEverOpen(true);\n }\n }, [isOpen, onFocus]);\n\n /**\n * Вызываем onBlur при первом закрытии после открытия\n */\n useEffect(() => {\n if (!isOpen && wasEverOpen) {\n onBlur?.();\n }\n }, [isOpen, wasEverOpen, onBlur]);\n\n /**\n * Закрытие при потере фокуса (focusin вне поповера + reference)\n * (но не на исключённые элементы)\n */\n useEffect(() => {\n if (!isOpen || props.isDisabled) return;\n\n const handleFocusIn = (e: FocusEvent) => {\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n const otherRefs = props.refsExcludeClickOutside || [];\n\n const isInside =\n (refEl instanceof HTMLElement && refEl.contains(e.target as Node)) ||\n (floatingEl instanceof HTMLElement && floatingEl.contains(e.target as Node)) ||\n otherRefs.some((ref) => {\n if (ref && 'current' in ref && ref.current && ref.current instanceof HTMLElement) {\n return ref.current.contains(e.target as Node);\n }\n return false;\n });\n\n if (!isInside) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('focusin', handleFocusIn);\n\n return () => {\n document.removeEventListener('focusin', handleFocusIn);\n };\n }, [isOpen, refs.reference, refs.floating, props.refsExcludeClickOutside, props.isDisabled]);\n\n /**\n * Вызываем onBlurReference, если фокус ушёл с reference-элемента\n * (но не на исключённые элементы)\n */\n useEffect(() => {\n if (!refs.reference.current || props.isDisabled || !onBlurReference) return;\n\n const refEl = refs.reference.current;\n const otherRefs = props.refsExcludeBlur || [];\n\n const handleBlur = (e: FocusEvent) => {\n if (\n refEl instanceof HTMLElement &&\n !refEl.contains(e.relatedTarget as Node) &&\n !otherRefs.some((ref) => {\n if (ref && 'current' in ref && ref.current && ref.current instanceof HTMLElement)\n return ref.current.contains(e.relatedTarget as Node);\n })\n ) {\n onBlurReference();\n }\n };\n\n if (refEl instanceof HTMLElement) refEl.addEventListener('blur', handleBlur, true);\n\n return () => {\n if (refEl instanceof HTMLElement) refEl.removeEventListener('blur', handleBlur, true);\n };\n }, [refs.reference, props.isDisabled, onBlurReference, props.refsExcludeBlur]);\n\n /**\n * Функция возвращает true или false в зависимости от состояния от FocusEvent который находится внутри или снаружи\n */\n const getIsInside = useCallback(\n (target: Node | null) => {\n if (!target) return false; // если relatedTarget null, значит фокус ушёл вне окна — закрываем\n\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n const otherRefs = props.refsExcludeBlur || [];\n\n return (\n (refEl instanceof HTMLElement && refEl.contains(target)) ||\n (floatingEl instanceof HTMLElement && floatingEl.contains(target)) ||\n otherRefs.some((ref) => {\n if (ref && 'current' in ref && ref.current && ref.current instanceof HTMLElement) {\n return ref.current.contains(target);\n }\n return false;\n })\n );\n },\n [refs.reference, refs.floating, props.refsExcludeBlur],\n );\n // Возвращаем наружу API для использования поповера\n return {\n getIsInside,\n isOpen,\n setIsOpen,\n open,\n close,\n toggle,\n refReference: refs.setReference as Ref<HTMLElement | null>,\n refFloating: refs.setFloating as Ref<HTMLElement | null>,\n floatingStyles: combinedStyles,\n placement: actualPlacement,\n };\n};\n","import { addSXTypography } from '@local/components/typography';\nimport { addAlwaysOutline, addFont } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { StyledPopoverProps } from '.';\n\n/****************************************** Popover Genre *************************************************/\nconst addPopoverGenre = css<StyledPopoverProps>`\n ${(props) => css`\n background: ${props.theme.colors.button[props.$genre].background.rest};\n border-color: ${props.theme.colors.button[props.$genre].border.rest};\n color: ${props.theme.colors.button[props.$genre].color.rest};\n /* box-shadow: ${props.theme.effects.button}; */\n `};\n`;\n\n/****************************************** Popover Size *************************************************/\nexport const addPopoverSize = css<StyledPopoverProps>`\n ${(props) =>\n addPopoverSizeConstructor({\n ...KEY_SIZE_DATA[props.$size ?? 'medium'],\n })};\n`;\nexport const addPopoverSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n display: flex;\n border-radius: ${props.radius}px;\n padding: ${props.padding}px;\n gap: ${props.padding - 2}px;\n`;\n\n/****************************************** Default *************************************************/\nexport const PopoverWrapper = styled(motion.div)<StyledPopoverProps>`\n max-width: ${(props) => props.$maxWidth || '100%'};\n max-height: ${(props) => props.$maxHeight || '100%'};\n overflow: auto;\n flex-direction: column;\n ${addFont};\n ${addPopoverSize};\n ${addAlwaysOutline};\n ${addSXTypography};\n ${addPopoverGenre};\n ${addSX};\n`;\n","export const DEFAULT_POPOVER_OFFSET = 8;\nexport const DEFAULT_POPOVER_CLOSE_DELAY = 100;\n","import { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport styled, { css } from 'styled-components';\n\nimport { Popover, PopoverProps } from '../popover';\nimport { Stack } from '../stack';\n\nexport const TooltipContainer = styled(Stack)`\n display: flex;\n width: fit-content;\n height: fit-content;\n`;\n\nexport const addTooltipBoxSize = css<PopoverProps>`\n ${(props) =>\n addTooltipBoxSizeConstructor({\n ...KEY_SIZE_DATA[props.size ?? 'medium'],\n })};\n`;\nexport const addTooltipBoxSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n gap: 0px;\n padding: ${props.padding}px ${props.padding}px 0px ${props.padding}px;\n :after {\n content: '';\n display: block;\n height: ${props.padding}px;\n width: 100%;\n }\n`;\n\n/****************************************** TooltipBox *************************************************/\nexport const TooltipBox = styled(Popover)`\n ${addTooltipBoxSize};\n`;\n","import { Typography } from '@local/components/typography';\n\nimport { FC, memo, Ref } from 'react';\n\nimport { usePopover } from '../popover';\nimport {\n DEFAULT_TOOLTIP_OFFSET_FALLBACK,\n DEFAULT_TOOLTIP_PLACEMENT_FALLBACK,\n TooltipBox,\n TooltipContainer,\n TooltipProps,\n} from '.';\n\nexport const Tooltip: FC<TooltipProps> = memo((props) => {\n if (props.isDisabled) return <TooltipContainer sx={props.sx}>{props.children}</TooltipContainer>;\n\n return <TooltipContent {...props} />;\n});\n\nexport const TooltipContent: FC<TooltipProps> = (props) => {\n const { isOpen, refReference, refFloating, floatingStyles } = usePopover({\n placement: props.placement ?? DEFAULT_TOOLTIP_PLACEMENT_FALLBACK,\n offset: props.offset ?? DEFAULT_TOOLTIP_OFFSET_FALLBACK,\n mode: props.mode ?? 'hover',\n isClickOutside: props.isClickOutside ?? true,\n isFloatingHover: props.isFloatingHover ?? true,\n isWidthAsContent: props.isWidthAsContent ?? false,\n hoverCloseDelay: props.hoverCloseDelay ?? undefined,\n hoverOffset: props.hoverOffset ?? undefined,\n });\n return (\n <>\n <TooltipContainer sx={props.sx} ref={refReference as Ref<HTMLDivElement | null>}>\n {props.children}\n </TooltipContainer>\n <TooltipBox\n size={props.size}\n isOpen={isOpen}\n genre={props.genre}\n floatingStyles={floatingStyles}\n ref={refFloating}\n maxHeight={props.maxHeight}\n maxWidth={props.maxWidth}\n >\n <Typography\n sx={\n props.sxTypography ?? {\n default: {\n size: 14,\n },\n }\n }\n >\n {props.content}\n </Typography>\n </TooltipBox>\n </>\n );\n};\n\nTooltip.displayName = 'Tooltip';\n","import { Placement } from '@floating-ui/react';\n\nexport const DEFAULT_TOOLTIP_PLACEMENT_FALLBACK: Placement = 'bottom-start';\nexport const DEFAULT_TOOLTIP_OFFSET_FALLBACK: number = 8;\n","import { useScreenWidth } from '@local/contexts/context-screen-width';\nimport { useOverflowing } from '@local/hooks/use-overflowing';\n\nimport { createLink, LinkProps } from '@tanstack/react-router';\nimport { memo, useMemo } from 'react';\n\nimport { Tooltip } from '../tooltip';\nimport { Title, TypographyCSSProps, TypographyProps, TypographyTooltipProps } from '.';\n\nconst TypographyWithRef = (props: TypographyProps) => {\n const { screenActual } = useScreenWidth();\n const cssProps: TypographyCSSProps & Pick<TypographyProps, 'onClick' | 'className' | 'style'> = useMemo(\n () => ({\n $sxTypography: props.sx,\n style: props.style,\n className: props.className,\n $sx: props.sxStandard,\n $isDisabledOutline: props.isDisabledOutline,\n $isOutlineBoxShadow: props.isOutlineBoxShadow,\n $isReadOnly: props.isReadOnly,\n onClick: props.onClick ? props.onClick : () => {},\n }),\n [\n props.sx,\n props.style,\n props.className,\n props.sxStandard,\n props.onClick,\n props.isDisabledOutline,\n props.isOutlineBoxShadow,\n props.isReadOnly,\n ],\n );\n\n const screenSX = useMemo(() => props.sx?.[screenActual] ?? props.sx?.default, [props.sx, screenActual]);\n\n if (screenSX && 'variant' in screenSX) {\n if (screenSX.variant === 'h7' || screenSX.variant === 'h8' || screenSX.variant === 'h9') {\n return (\n <Title\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n ref={props.ref as any}\n as={props.isAnchor ? 'a' : props.isParagraph ? 'p' : props.isSpan ? 'span' : 'span'}\n href={props.href}\n {...cssProps}\n >\n {props.children}\n </Title>\n );\n } else {\n return (\n <Title\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n ref={props.ref as any}\n as={props.isAnchor ? 'a' : props.isParagraph ? 'p' : props.isSpan ? 'span' : screenSX.variant}\n href={props.href}\n {...cssProps}\n >\n {props.children}\n </Title>\n );\n }\n }\n\n return (\n <Title\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n ref={props.ref as any}\n as={props.isAnchor ? 'a' : props.isParagraph ? 'p' : props.isSpan ? 'span' : 'span'}\n href={props.href}\n {...cssProps}\n >\n {props.children}\n </Title>\n );\n};\n\nexport const Typography = (props: TypographyProps) => {\n return <TypographyWithRef {...props} />;\n};\n\nconst TypographySizeIsAnchor = (props: TypographyProps & LinkProps) => {\n return <TypographyWithRef isAnchor {...props} ref={props.ref} href={props.href} />;\n};\n\nexport const TypographyLink = createLink(TypographySizeIsAnchor);\n\nexport const TypographyTooltip = memo((props: TypographyTooltipProps) => {\n const { isDisabled, ref } = useOverflowing<HTMLDivElement>({\n isCheckSize: props.tooltip.isDisabled !== undefined ? !props.tooltip.isDisabled : true,\n dependencies: [props.children],\n });\n return (\n <Tooltip isDisabled={isDisabled} content={props.children} {...props.tooltip}>\n <TypographyWithRef ref={ref} {...props.typography} style={{ position: 'relative' }}>\n {props.children}\n </TypographyWithRef>\n </Tooltip>\n );\n});\n\nTypographyTooltip.displayName = 'TypographyTooltip';\nTypographyWithRef.displayName = 'TypographyWithRef';\nTypographySizeIsAnchor.displayName = 'TypographySizeIsAnchor';\n"],"names":["addSXStandard","ReactDOM","jsx","jsxs","Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component-eqTj4VVc.js","sources":["../src/components/typography/component.styles.ts","../src/hooks/use-overflowing/use.ts","../src/components/popover/component.tsx","../src/components/popover/component.styles.ts","../src/components/popover/component.constants.tsx","../src/components/tooltip/component.styles.ts","../src/components/tooltip/component.tsx","../src/components/tooltip/component.constants.ts","../src/components/typography/component.tsx"],"sourcesContent":["import { addOutline } from '@local/styles/add';\nimport { addSX as addSXStandard } from '@local/styles/sx';\nimport { JeneseiPalette } from '@local/theme/theme';\n\nimport styled, { css, keyframes } from 'styled-components';\n\nimport { addSXTypographyStyleProps, TypographyAllProps, TypographyCSSProps } from '.';\n\nconst shadowPulse = keyframes`\n 0% {\n text-shadow: 0 0 0 rgba(0, 0, 0, 0);\n }\n 50% {\n text-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5);\n }\n 100% {\n text-shadow: 0 0 0 rgba(0, 0, 0, 0);\n }\n`;\n\nfunction toStyledCSS(value: TypographyAllProps) {\n return css`\n ${\n value.shadow &&\n value.shadow === 'shadowPulse' &&\n css`\n animation: ${shadowPulse} 2s infinite;\n `\n };\n ${\n value.letterSpacing &&\n css`\n letter-spacing: ${value.letterSpacing};\n `\n };\n ${\n value.flex &&\n css`\n flex: ${value.flex};\n `\n };\n ${\n value.cursor &&\n css`\n cursor: ${value.cursor};\n `\n };\n ${\n value.overflow &&\n css`\n overflow: ${value.overflow};\n `\n };\n ${\n value.line !== undefined\n ? value.line === 1\n ? css`\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n width: -webkit-fill-available;\n max-width: fit-content;\n `\n : css`\n word-break: break-word;\n white-space: normal;\n text-overflow: ellipsis;\n display: -webkit-box;\n overflow: hidden;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: ${value.line};\n width: fit-content;\n overflow-wrap: anywhere;\n `\n : css``\n };\n ${\n value.family &&\n css`\n font-family: ${value.family};\n `\n };\n ${\n value.weight &&\n css`\n font-weight: ${value.weight};\n `\n };\n ${\n value.height &&\n css`\n line-height: ${value.height}px;\n `\n };\n ${\n value.color &&\n css`\n color: ${JeneseiPalette[value.color]};\n `\n };\n ${\n value.align &&\n css`\n text-align: ${value.align};\n `\n };\n ${\n value.wrap &&\n css`\n text-wrap: ${value.wrap};\n `\n };\n ${\n value.decoration &&\n css`\n text-decoration: ${value.decoration};\n `\n };\n ${\n value.transform &&\n css`\n text-transform: ${value.transform};\n `\n };\n ${\n value.isHoverUnderlining &&\n css`\n &:hover {\n text-decoration: underline;\n }\n `\n };\n ${\n value.isNoUserSelect &&\n css`\n user-select: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n `\n };\n ${\n 'size' in value &&\n value.size &&\n css`\n font-size: ${value.size}px;\n `\n };\n ${\n 'variant' in value && value.variant\n ? value.variant === 'h1'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h1 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h1 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h1 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h2'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h2 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h2 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h2 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h3'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h3 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h3 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h3 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h4'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h4 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h4 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h4 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h5'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h5 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h5 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h5 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h6'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h6 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h6 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) => props.theme.font.sizeHeading.h6 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h7'\n ? css`\n font-size: ${(props) => props.theme.font.sizeHeading.h7 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h7 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h7 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h8'\n ? css`\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h8 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h8 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h8 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : value.variant === 'h9'\n ? css`\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h9 * props.theme.font.sizeDefault.default}px;\n line-height: ${(props) => props.theme.font.lineHeight};\n margin: 0;\n @media (max-width: ${(props) => props.theme.screens.tablet.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h9 * props.theme.font.sizeDefault.tablet}px;\n }\n\n @media (max-width: ${(props) => props.theme.screens.mobile.width}px) {\n font-size: ${(props) =>\n props.theme.font.sizeHeading.h9 * props.theme.font.sizeDefault.mobile}px;\n }\n `\n : null\n : null\n };\n `;\n}\n\nexport const addSXTypography = css<addSXTypographyStyleProps>`\n ${(props) => {\n const rawSX = props.$sxTypography;\n if (!rawSX) return null;\n return toStyledCSS(rawSX.default);\n }}\n\n ${(props) => {\n const rawSX = props.$sxTypography;\n if (!rawSX) return null;\n\n return Object.entries(rawSX)\n .filter(([key]) => key !== 'default')\n .map(([deviceKey, value]) => {\n const screenWidth = props.theme.screens[deviceKey as keyof typeof props.theme.screens]?.width;\n if (!screenWidth) return null;\n return css`\n @media (max-width: ${screenWidth}px) {\n ${toStyledCSS(value)}\n }\n `;\n });\n }}\n`;\n\nconst TypographyCSS = css<TypographyCSSProps>`\n font-style: normal;\n position: relative;\n overflow: visible;\n text-overflow: ellipsis;\n overflow-wrap: anywhere;\n line-height: ${(props) => props.theme.font.lineHeight};\n ${addSXTypography};\n ${addSXStandard}\n`;\n\nexport const Title = styled.span<TypographyCSSProps>`\n ${TypographyCSS}\n ${addOutline}\n`;\n","\n\nimport { RefObject, useEffect, useMemo, useRef, useState } from 'react';\n\n\nimport { useDeepCompareMemoize } from '../use-deep-compare-memoize';\nimport { useTooltipProps } from '.';\n\n/**\n * Хук для отслеживания переполнения содержимого в элементе (или его родителе).\n * Возвращает ref для привязки к DOM-элементу, флаг переполнения и флаг isDisabled.\n * @param props - опциональные параметры для управления поведением проверки переполнения\n */\nexport function useOverflowing<T extends HTMLElement>(\n props?: useTooltipProps,\n): {\n isDisabled: boolean; // true, если нет переполнения\n isOverflowing: boolean; // true, если содержимое выходит за пределы контейнера\n ref: RefObject<HTMLElement | null>; // ref для отслеживания DOM-элемента\n} {\n // Нужно ли проверять размеры (по умолчанию true)\n const isCheckSize = useMemo(() => props?.isCheckSize ?? true, [props?.isCheckSize]);\n // Проверять ли переполнение относительно родителя (mode === 'parent')\n const isParentMode = useMemo(() => props?.mode === 'parent', [props?.mode]);\n\n // Состояние переполнения (может быть принудительно задано через props)\n const [isOverflowing, setIsOverflowing] = useState(\n props?.isOverflowing !== undefined ? props?.isOverflowing : false\n );\n // ref для отслеживания элемента\n const ref = useRef<T | null>(null);\n // Мемоизированные зависимости для эффекта (глубокое сравнение)\n const dependencies = useDeepCompareMemoize(props?.dependencies);\n\n useEffect(() => {\n // Если не нужно проверять размеры — выходим\n if (!isCheckSize) return;\n\n // Функция проверки переполнения\n const checkOverflow = () => {\n const el = ref.current;\n if (!el) return;\n\n // Получаем размеры содержимого и контейнера\n const scrollWidth = el.scrollWidth;\n const scrollHeight = el.scrollHeight;\n\n // Если parentMode — сравниваем с родителем, иначе с самим элементом\n const clientWidth = isParentMode && el.parentElement ? el.parentElement.clientWidth : el.clientWidth;\n const clientHeight = isParentMode && el.parentElement ? el.parentElement.clientHeight : el.clientHeight;\n\n // Считаем переполнение по ширине или высоте\n setIsOverflowing(scrollWidth > clientWidth || scrollHeight > clientHeight);\n };\n\n // Проверяем при монтировании и при изменении зависимостей\n checkOverflow();\n // Проверяем при изменении размера окна\n window.addEventListener('resize', checkOverflow);\n // Очищаем обработчик при размонтировании\n return () => window.removeEventListener('resize', checkOverflow);\n }, [dependencies, isCheckSize, isParentMode]);\n\n // isDisabled: true, если нет переполнения (можно использовать для отключения тултипа)\n return { isDisabled: !isOverflowing, ref: ref, isOverflowing };\n}\n","import { KEY_SIZE_DATA } from '@local/theme';\n\nimport { autoUpdate, flip, offset, shift, useFloating } from '@floating-ui/react';\nimport { AnimatePresence } from 'framer-motion';\nimport { FC, Ref, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport { useTheme } from 'styled-components';\n\nimport { DEFAULT_POPOVER_CLOSE_DELAY, DEFAULT_POPOVER_OFFSET, PopoverProps, PopoverWrapper, UsePopoverProps } from '.';\n\nexport const Popover: FC<PopoverProps> = (props) => {\n const theme = useTheme();\n return ReactDOM.createPortal(\n <AnimatePresence>\n {props.isOpen && (\n <div\n tabIndex={-1}\n ref={props.ref as Ref<HTMLDivElement | null>}\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n ...props.floatingStyles,\n transform: props.floatingStyles.transform,\n zIndex: 9999,\n }}\n >\n <PopoverWrapper\n tabIndex={-1}\n $isShowAlwaysOutline={props.isShowAlwaysOutline}\n $genre={props.genre ?? 'black'}\n $font={{\n size: props.font?.size ?? KEY_SIZE_DATA[props.size ?? 'medium'].font,\n weight: props.font?.weight ?? 700,\n family: props.font?.family ?? theme.font.family,\n height: props.font?.height,\n }}\n className={props.className}\n initial={{ opacity: 0, scale: 0.95 }}\n animate={{ opacity: 1, scale: 1 }}\n exit={{ opacity: 0, scale: 0.95 }}\n transition={{ duration: 0.2 }}\n $sx={props.sx}\n $size={props.size}\n $sxTypography={props.sxTypography}\n $maxHeight={props.maxHeight}\n $maxWidth={props.maxWidth}\n >\n {props.children}\n </PopoverWrapper>\n </div>\n )}\n </AnimatePresence>,\n document.body,\n );\n};\n\nexport const usePopover = (props: UsePopoverProps) => {\n const { onFocus, onBlur, onBlurReference } = props;\n\n // Состояние открытия поповера\n const [isOpen, setIsOpen] = useState(false);\n // Минимальная ширина поповера (нужна, если хотим, чтобы ширина совпадала с референсом)\n const [minWidth, setMinWidth] = useState<number | undefined>(undefined);\n // Флаг, был ли поповер когда-либо открыт (чтобы onBlur не вызывался при первом рендере)\n const [wasEverOpen, setWasEverOpen] = useState(false);\n\n // Позиционирование через floating-ui\n const {\n refs,\n floatingStyles,\n update,\n placement: actualPlacement,\n } = useFloating({\n open: isOpen,\n placement: props.placement,\n middleware: [offset(props.offset ?? 8), flip(), shift()],\n whileElementsMounted: autoUpdate,\n });\n\n // Сохраняем обработчик клика вне поповера (чтобы можно было удалить при cleanup)\n const clickOutsideHandler = useRef<((e: MouseEvent) => void) | null>(null);\n // Таймаут для закрытия при hover-режиме\n const hoverCloseTimeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n // Отступ для hover-зоны (чтобы не закрывался мгновенно при небольших движениях мыши)\n const hoverOffset = useMemo(\n () => props.hoverOffset ?? props.offset ?? DEFAULT_POPOVER_OFFSET,\n [props.hoverOffset, props.offset],\n );\n // Задержка перед закрытием при hover\n const hoverCloseDelay = useMemo(() => props.hoverCloseDelay ?? DEFAULT_POPOVER_CLOSE_DELAY, [props.hoverCloseDelay]);\n\n /**\n * Навешиваем обработчики на reference-элемент в зависимости от режима:\n * - click / clickOpen → открытие/переключение по клику\n * - hover → открытие/закрытие при наведении\n */\n useEffect(() => {\n if (props.isDisabled) return;\n const refEl = refs.reference.current;\n if (!refEl) return;\n\n // Режим клика\n if ((props.mode === 'click' || props.mode === 'clickOpen') && refEl instanceof HTMLElement) {\n const handleClick = () => {\n if (props.mode === 'click') {\n setIsOpen((prev) => !prev);\n } else if (props.mode === 'clickOpen') {\n setIsOpen(true);\n }\n };\n\n refEl.addEventListener('click', handleClick);\n return () => {\n refEl.removeEventListener('click', handleClick);\n };\n\n // Режим ховера\n } else if (props.mode === 'hover' && refEl instanceof HTMLElement) {\n const handleMouseEnter = () => {\n setIsOpen(true);\n };\n const handleMouseLeave = () => {\n if (hoverCloseTimeout.current) clearTimeout(hoverCloseTimeout.current);\n hoverCloseTimeout.current = setTimeout(() => setIsOpen(false), hoverCloseDelay);\n };\n\n refEl.addEventListener('mouseenter', handleMouseEnter);\n refEl.addEventListener('mouseleave', handleMouseLeave);\n return () => {\n refEl.removeEventListener('mouseenter', handleMouseEnter);\n refEl.removeEventListener('mouseleave', handleMouseLeave);\n if (hoverCloseTimeout.current) clearTimeout(hoverCloseTimeout.current);\n };\n }\n }, [props.mode, refs.reference, hoverCloseDelay, props.isDisabled]);\n\n // Автоматическое обновление позиции, пока поповер открыт\n useEffect(() => {\n if (!isOpen || !refs.reference.current || !refs.floating.current || props.isDisabled) return;\n\n const cleanup = autoUpdate(refs.reference.current, refs.floating.current, update);\n\n return () => cleanup();\n }, [isOpen, refs.reference, refs.floating, update, props.isDisabled]);\n\n /**\n * Логика закрытия поповера при клике вне него\n */\n useEffect(() => {\n if (!isOpen || !refs.reference.current || !refs.floating.current || props.isDisabled) return;\n\n if (props.isClickOutside) {\n clickOutsideHandler.current = (e: MouseEvent) => {\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n const otherRefs = props.refsExcludeClickOutside || [];\n\n // Проверяем, что клик не по поповеру, не по reference и не по исключенным ref'ам\n if (\n refEl instanceof HTMLElement &&\n floatingEl instanceof HTMLElement &&\n !refEl.contains(e.target as Node) &&\n !floatingEl.contains(e.target as Node) &&\n !otherRefs.some((ref) => {\n if (typeof ref === 'object' && ref !== null && 'current' in ref) {\n return (ref.current as HTMLElement | null)?.contains(e.target as Node);\n }\n return false;\n })\n ) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', clickOutsideHandler.current);\n }\n\n return () => {\n if (clickOutsideHandler.current) {\n document.removeEventListener('mousedown', clickOutsideHandler.current);\n clickOutsideHandler.current = null;\n }\n if (hoverCloseTimeout.current) {\n clearTimeout(hoverCloseTimeout.current);\n }\n };\n }, [isOpen, refs.reference, refs.floating, props.isClickOutside, props.isDisabled, props.refsExcludeClickOutside]);\n\n /**\n * Поддержка режима \"плавающего hover\"\n * Закрывает поповер, если мышь ушла за пределы reference+floating с отступом\n */\n useEffect(() => {\n if (!isOpen || !props.isFloatingHover || !refs.reference.current || !refs.floating.current || props.isDisabled)\n return;\n\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n\n const handleMouseMove = (e: MouseEvent) => {\n const mouseX = e.clientX;\n const mouseY = e.clientY;\n\n const refRect = refEl.getBoundingClientRect();\n const floatingRect = floatingEl.getBoundingClientRect();\n\n // Находим, внутри ли курсор reference или floating с учётом отступа\n const isInsideRef =\n mouseX >= refRect.left - hoverOffset &&\n mouseX <= refRect.right + hoverOffset &&\n mouseY >= refRect.top - hoverOffset &&\n mouseY <= refRect.bottom + hoverOffset;\n\n const isInsideFloating =\n mouseX >= floatingRect.left - hoverOffset &&\n mouseX <= floatingRect.right + hoverOffset &&\n mouseY >= floatingRect.top - hoverOffset &&\n mouseY <= floatingRect.bottom + hoverOffset;\n\n if (isInsideRef || isInsideFloating) {\n // Если вернулись внутрь — отменяем закрытие\n if (hoverCloseTimeout.current) {\n clearTimeout(hoverCloseTimeout.current);\n hoverCloseTimeout.current = null;\n }\n } else {\n // Если вышли — запускаем таймер на закрытие\n if (hoverCloseTimeout.current) clearTimeout(hoverCloseTimeout.current);\n hoverCloseTimeout.current = setTimeout(() => setIsOpen(false), hoverCloseDelay);\n }\n };\n\n document.addEventListener('mousemove', handleMouseMove);\n\n return () => {\n document.removeEventListener('mousemove', handleMouseMove);\n if (hoverCloseTimeout.current) {\n clearTimeout(hoverCloseTimeout.current);\n }\n };\n }, [isOpen, props.isFloatingHover, refs.reference, refs.floating, hoverOffset, hoverCloseDelay, props.isDisabled]);\n\n /**\n * Устанавливаем минимальную ширину поповера, равную reference (если включено isWidthAsContent)\n */\n useLayoutEffect(() => {\n if (!props.isWidthAsContent || !refs.reference.current) return;\n const rect = refs.reference.current.getBoundingClientRect();\n setMinWidth(rect.width);\n }, [props.isWidthAsContent, refs.reference]);\n\n // Методы управления открытием\n const open = useCallback(() => {\n if (props.isDisabled) return;\n setIsOpen(true);\n }, [props.isDisabled]);\n const close = useCallback(() => {\n if (props.isDisabled) return;\n setIsOpen(false);\n }, [props.isDisabled]);\n const toggle = useCallback(() => {\n if (props.isDisabled) return;\n setIsOpen((prev) => !prev);\n }, [props.isDisabled]);\n\n // Объединяем стили floating-ui с дополнительными ограничениями по ширине\n const combinedStyles = useMemo(() => {\n return {\n ...floatingStyles,\n minWidth: props.isWidthAsContent && minWidth ? `${minWidth}px` : undefined,\n maxWidth: props.isWidthAsContent && minWidth ? `${minWidth}px` : undefined,\n };\n }, [floatingStyles, props.isWidthAsContent, minWidth]);\n\n /**\n * Вызываем onFocus при открытии\n * и запоминаем, что поповер хоть раз был открыт\n */\n useEffect(() => {\n if (isOpen) {\n onFocus?.();\n setWasEverOpen(true);\n }\n }, [isOpen, onFocus]);\n\n /**\n * Вызываем onBlur при первом закрытии после открытия\n */\n useEffect(() => {\n if (!isOpen && wasEverOpen) {\n onBlur?.();\n }\n }, [isOpen, wasEverOpen, onBlur]);\n\n /**\n * Закрытие при потере фокуса (focusin вне поповера + reference)\n * (но не на исключённые элементы)\n */\n useEffect(() => {\n if (!isOpen || props.isDisabled) return;\n\n const handleFocusIn = (e: FocusEvent) => {\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n const otherRefs = props.refsExcludeClickOutside || [];\n\n const isInside =\n (refEl instanceof HTMLElement && refEl.contains(e.target as Node)) ||\n (floatingEl instanceof HTMLElement && floatingEl.contains(e.target as Node)) ||\n otherRefs.some((ref) => {\n if (ref && 'current' in ref && ref.current && ref.current instanceof HTMLElement) {\n return ref.current.contains(e.target as Node);\n }\n return false;\n });\n\n if (!isInside) {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('focusin', handleFocusIn);\n\n return () => {\n document.removeEventListener('focusin', handleFocusIn);\n };\n }, [isOpen, refs.reference, refs.floating, props.refsExcludeClickOutside, props.isDisabled]);\n\n /**\n * Вызываем onBlurReference, если фокус ушёл с reference-элемента\n * (но не на исключённые элементы)\n */\n useEffect(() => {\n if (!refs.reference.current || props.isDisabled || !onBlurReference) return;\n\n const refEl = refs.reference.current;\n const otherRefs = props.refsExcludeBlur || [];\n\n const handleBlur = (e: FocusEvent) => {\n if (\n refEl instanceof HTMLElement &&\n !refEl.contains(e.relatedTarget as Node) &&\n !otherRefs.some((ref) => {\n if (ref && 'current' in ref && ref.current && ref.current instanceof HTMLElement)\n return ref.current.contains(e.relatedTarget as Node);\n })\n ) {\n onBlurReference();\n }\n };\n\n if (refEl instanceof HTMLElement) refEl.addEventListener('blur', handleBlur, true);\n\n return () => {\n if (refEl instanceof HTMLElement) refEl.removeEventListener('blur', handleBlur, true);\n };\n }, [refs.reference, props.isDisabled, onBlurReference, props.refsExcludeBlur]);\n\n /**\n * Функция возвращает true или false в зависимости от состояния от FocusEvent который находится внутри или снаружи\n */\n const getIsInside = useCallback(\n (target: Node | null) => {\n if (!target) return false; // если relatedTarget null, значит фокус ушёл вне окна — закрываем\n\n const refEl = refs.reference.current;\n const floatingEl = refs.floating.current;\n const otherRefs = props.refsExcludeBlur || [];\n\n return (\n (refEl instanceof HTMLElement && refEl.contains(target)) ||\n (floatingEl instanceof HTMLElement && floatingEl.contains(target)) ||\n otherRefs.some((ref) => {\n if (ref && 'current' in ref && ref.current && ref.current instanceof HTMLElement) {\n return ref.current.contains(target);\n }\n return false;\n })\n );\n },\n [refs.reference, refs.floating, props.refsExcludeBlur],\n );\n // Возвращаем наружу API для использования поповера\n return {\n getIsInside,\n isOpen,\n setIsOpen,\n open,\n close,\n toggle,\n refReference: refs.setReference as Ref<HTMLElement | null>,\n refFloating: refs.setFloating as Ref<HTMLElement | null>,\n floatingStyles: combinedStyles,\n placement: actualPlacement,\n };\n};\n","import { addSXTypography } from '@local/components/typography';\nimport { addAlwaysOutline, addFont } from '@local/styles/add';\nimport { addSX } from '@local/styles/sx';\nimport { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport { motion } from 'framer-motion';\nimport styled, { css } from 'styled-components';\n\nimport { StyledPopoverProps } from '.';\n\n/****************************************** Popover Genre *************************************************/\nconst addPopoverGenre = css<StyledPopoverProps>`\n ${(props) => css`\n background: ${props.theme.colors.button[props.$genre].background.rest};\n border-color: ${props.theme.colors.button[props.$genre].border.rest};\n color: ${props.theme.colors.button[props.$genre].color.rest};\n /* box-shadow: ${props.theme.effects.button}; */\n `};\n`;\n\n/****************************************** Popover Size *************************************************/\nexport const addPopoverSize = css<StyledPopoverProps>`\n ${(props) =>\n addPopoverSizeConstructor({\n ...KEY_SIZE_DATA[props.$size ?? 'medium'],\n })};\n`;\nexport const addPopoverSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n display: flex;\n border-radius: ${props.radius}px;\n padding: ${props.padding}px;\n gap: ${props.padding - 2}px;\n`;\n\n/****************************************** Default *************************************************/\nexport const PopoverWrapper = styled(motion.div)<StyledPopoverProps>`\n max-width: ${(props) => props.$maxWidth || '100%'};\n max-height: ${(props) => props.$maxHeight || '100%'};\n overflow: auto;\n flex-direction: column;\n ${addFont};\n ${addPopoverSize};\n ${addAlwaysOutline};\n ${addSXTypography};\n ${addPopoverGenre};\n ${addSX};\n`;\n","export const DEFAULT_POPOVER_OFFSET = 8;\nexport const DEFAULT_POPOVER_CLOSE_DELAY = 100;\n","import { IThemeSizePropertyDefault, KEY_SIZE_DATA } from '@local/theme';\n\nimport styled, { css } from 'styled-components';\n\nimport { Popover, PopoverProps } from '../popover';\nimport { Stack } from '../stack';\n\nexport const TooltipContainer = styled(Stack)`\n display: flex;\n width: fit-content;\n height: fit-content;\n`;\n\nexport const addTooltipBoxSize = css<PopoverProps>`\n ${(props) =>\n addTooltipBoxSizeConstructor({\n ...KEY_SIZE_DATA[props.size ?? 'medium'],\n })};\n`;\nexport const addTooltipBoxSizeConstructor = (props: IThemeSizePropertyDefault) => css`\n gap: 0px;\n padding: ${props.padding}px ${props.padding}px 0px ${props.padding}px;\n :after {\n content: '';\n display: block;\n height: ${props.padding}px;\n width: 100%;\n }\n`;\n\n/****************************************** TooltipBox *************************************************/\nexport const TooltipBox = styled(Popover)`\n ${addTooltipBoxSize};\n`;\n","import { Typography } from '@local/components/typography';\n\nimport { FC, memo, Ref } from 'react';\n\nimport { usePopover } from '../popover';\nimport {\n DEFAULT_TOOLTIP_OFFSET_FALLBACK,\n DEFAULT_TOOLTIP_PLACEMENT_FALLBACK,\n TooltipBox,\n TooltipContainer,\n TooltipProps,\n} from '.';\n\nexport const Tooltip: FC<TooltipProps> = memo((props) => {\n if (props.isDisabled) return <TooltipContainer sx={props.sx}>{props.children}</TooltipContainer>;\n\n return <TooltipContent {...props} />;\n});\n\nexport const TooltipContent: FC<TooltipProps> = (props) => {\n const { isOpen, refReference, refFloating, floatingStyles } = usePopover({\n placement: props.placement ?? DEFAULT_TOOLTIP_PLACEMENT_FALLBACK,\n offset: props.offset ?? DEFAULT_TOOLTIP_OFFSET_FALLBACK,\n mode: props.mode ?? 'hover',\n isClickOutside: props.isClickOutside ?? true,\n isFloatingHover: props.isFloatingHover ?? true,\n isWidthAsContent: props.isWidthAsContent ?? false,\n hoverCloseDelay: props.hoverCloseDelay ?? undefined,\n hoverOffset: props.hoverOffset ?? undefined,\n });\n return (\n <>\n <TooltipContainer sx={props.sx} ref={refReference as Ref<HTMLDivElement | null>}>\n {props.children}\n </TooltipContainer>\n <TooltipBox\n size={props.size}\n isOpen={isOpen}\n genre={props.genre}\n floatingStyles={floatingStyles}\n ref={refFloating}\n maxHeight={props.maxHeight}\n maxWidth={props.maxWidth}\n >\n <Typography\n sx={\n props.sxTypography ?? {\n default: {\n size: 14,\n },\n }\n }\n >\n {props.content}\n </Typography>\n </TooltipBox>\n </>\n );\n};\n\nTooltip.displayName = 'Tooltip';\n","import { Placement } from '@floating-ui/react';\n\nexport const DEFAULT_TOOLTIP_PLACEMENT_FALLBACK: Placement = 'bottom-start';\nexport const DEFAULT_TOOLTIP_OFFSET_FALLBACK: number = 8;\n","import { useScreenWidth } from '@local/contexts/context-screen-width';\nimport { useOverflowing } from '@local/hooks/use-overflowing';\n\nimport { createLink, LinkProps } from '@tanstack/react-router';\nimport { memo, useMemo } from 'react';\n\nimport { Tooltip } from '../tooltip';\nimport { Title, TypographyCSSProps, TypographyProps, TypographyTooltipProps } from '.';\n\nconst TypographyWithRef = (props: TypographyProps) => {\n const { screenActual } = useScreenWidth();\n const cssProps: TypographyCSSProps & Pick<TypographyProps, 'onClick' | 'className' | 'style'> = useMemo(\n () => ({\n $sxTypography: props.sx,\n style: props.style,\n className: props.className,\n $sx: props.sxStandard,\n $isDisabledOutline: props.isDisabledOutline,\n $isOutlineBoxShadow: props.isOutlineBoxShadow,\n $isReadOnly: props.isReadOnly,\n onClick: props.onClick ? props.onClick : () => {},\n }),\n [\n props.sx,\n props.style,\n props.className,\n props.sxStandard,\n props.onClick,\n props.isDisabledOutline,\n props.isOutlineBoxShadow,\n props.isReadOnly,\n ],\n );\n\n const screenSX = useMemo(() => props.sx?.[screenActual] ?? props.sx?.default, [props.sx, screenActual]);\n\n if (screenSX && 'variant' in screenSX) {\n if (screenSX.variant === 'h7' || screenSX.variant === 'h8' || screenSX.variant === 'h9') {\n return (\n <Title\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n ref={props.ref as any}\n as={props.isAnchor ? 'a' : props.isParagraph ? 'p' : props.isSpan ? 'span' : 'span'}\n href={props.href}\n {...cssProps}\n >\n {props.children}\n </Title>\n );\n } else {\n return (\n <Title\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n ref={props.ref as any}\n as={props.isAnchor ? 'a' : props.isParagraph ? 'p' : props.isSpan ? 'span' : screenSX.variant}\n href={props.href}\n {...cssProps}\n >\n {props.children}\n </Title>\n );\n }\n }\n\n return (\n <Title\n // biome-ignore lint/suspicious/noExplicitAny: <explanation>\n ref={props.ref as any}\n as={props.isAnchor ? 'a' : props.isParagraph ? 'p' : props.isSpan ? 'span' : 'span'}\n href={props.href}\n {...cssProps}\n >\n {props.children}\n </Title>\n );\n};\n\nexport const Typography = (props: TypographyProps) => {\n return <TypographyWithRef {...props} />;\n};\n\nconst TypographySizeIsAnchor = (props: TypographyProps & LinkProps) => {\n return <TypographyWithRef isAnchor {...props} ref={props.ref} href={props.href} />;\n};\n\nexport const TypographyLink = createLink(TypographySizeIsAnchor);\n\nexport const TypographyTooltip = memo((props: TypographyTooltipProps) => {\n const { isDisabled, ref } = useOverflowing<HTMLDivElement>({\n isCheckSize: props.tooltip.isDisabled !== undefined ? !props.tooltip.isDisabled : true,\n dependencies: [props.children],\n });\n return (\n <Tooltip isDisabled={isDisabled} content={props.children} {...props.tooltip}>\n <TypographyWithRef ref={ref} {...props.typography} style={{ position: 'relative' }}>\n {props.children}\n </TypographyWithRef>\n </Tooltip>\n );\n});\n\nTypographyTooltip.displayName = 'TypographyTooltip';\nTypographyWithRef.displayName = 'TypographyWithRef';\nTypographySizeIsAnchor.displayName = 'TypographySizeIsAnchor';\n"],"names":["addSXStandard","ReactDOM","jsx","jsxs","Fragment"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./component.styles-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./component.styles-BviHtzJH.cjs");exports.Icon=e.Icon,exports.StyledSVG=e.StyledSVG,exports.getIconComponents=e.getIconComponents,exports.useInjectSprites=e.useInjectSprites,exports.useLazyInjectSprite=e.useLazyInjectSprite;
|
|
2
2
|
//# sourceMappingURL=component-icon.cjs.js.map
|