@itcase/ui-web 1.9.99 → 1.9.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("clsx"),s=require("react-modern-drawer"),a=require("@itcase/ui-core/hooks"),c=require("../../primitives_cjs_Cn5nSqZM.js"),t=require("../../default_cjs_BMbs2it-.js");require("@rc-component/tooltip"),require("react-inlinesvg"),require("@itcase/ui-core/hoc"),require("@itcase/ui-core/utils");const o={sizeH3:{titleTextSize:"h3",descTextSize:"s",dividerSize:"s"},...{surfacePrimary:{titleTextColor:"surfaceTextPrimary",descTextColor:"surfaceTextPrimary",closeIcon:t.icons24.Action.Close,closeIconFillIcon:"surfaceItemPrimary"}}},l={DEFAULT:{isInDOM:!0,isOpen:!1},ENTER_FINISH:{isInDOM:!0,isOpen:!0},EXIT_FINISH:{isInDOM:!1,isOpen:!1}},n={appearance:o,setAppearance:e=>{n.appearance=e}};exports.Drawer=function(t){const{appearance:o,className:d,dataTestId:u,dataTour:
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("react"),i=require("clsx"),s=require("react-modern-drawer"),a=require("@itcase/ui-core/hooks"),c=require("../../primitives_cjs_Cn5nSqZM.js"),t=require("../../default_cjs_BMbs2it-.js");require("@rc-component/tooltip"),require("react-inlinesvg"),require("@itcase/ui-core/hoc"),require("@itcase/ui-core/utils");const o={sizeH3:{titleTextSize:"h3",descTextSize:"s",dividerSize:"s"},...{surfacePrimary:{titleTextColor:"surfaceTextPrimary",descTextColor:"surfaceTextPrimary",closeIcon:t.icons24.Action.Close,closeIconFillIcon:"surfaceItemPrimary"}}},l={DEFAULT:{isInDOM:!0,isOpen:!1},ENTER_FINISH:{isInDOM:!0,isOpen:!0},EXIT_FINISH:{isInDOM:!1,isOpen:!1}},n={appearance:o,setAppearance:e=>{n.appearance=e}};exports.Drawer=function(t){const{appearance:o,className:d,dataTestId:u,dataTour:p,type:I,title:_,desc:x,enableOverlay:T,lockBackgroundScroll:m=!0,stickyButton:f,before:S,after:h,close:v,isKeepMounted:N=!1,isOpen:w=!1,onClickClose:z,onClose:j,children:C}=t,y=r.useRef(w),g=r.useRef(!0),F=a.useAppearanceConfig(o,n),E=a.useDevicePropsGenerator(t,F),{direction:q,size:O,titleTextColor:k,titleTextSize:D,titleTextWeight:H,descTextColor:A,descTextSize:P,divider:b,dividerSize:B,zeroPadding:M,closeIcon:R,closeIconFill:X,closeIconFillIcon:$,closeIconFillSize:L,closeIconShape:U,closeIconSize:W,closeIconSrc:G}=E,[K,J]=r.useState(w?l.ENTER_FINISH:l.EXIT_FINISH);return r.useEffect(()=>{if(g.current)return void(g.current=!1);const e=!0===Boolean(y.current),r=!1===Boolean(w);y.current=w,J(l.DEFAULT);const i=setTimeout(()=>{J(w?l.ENTER_FINISH:l.EXIT_FINISH),e&&r&&j&&j()},w?16:300);return()=>{clearTimeout(i)}},[w]),N||K.isInDOM?e.jsxs(s,{className:i("drawer",I&&`drawer_type_${I}`,d,p&&`dataTour-${p}`,f&&"drawer_sticky-button",M&&"drawer_reset-padding"),direction:q||"right",size:O||600,customIdSuffix:u?`_${u}`:void 0,"data-testid":u,"data-tour":p,duration:300,enableOverlay:T,lockBackgroundScroll:m,overlayClassName:"drawer__overlay",open:K.isOpen,onClose:z,children:[S&&e.jsx("div",{className:"drawer__before",children:S}),!v&&(R||G)&&e.jsx("div",{className:"drawer__close",children:e.jsx(c.Icon,{className:"cursor_type_pointer",fill:X,fillSize:L,iconFill:$,iconSize:W,imageSrc:G,shape:U,SvgImage:R,onClick:z})}),(_||x)&&e.jsxs("div",{className:"drawer__header",children:[e.jsx(c.Title,{className:"drawer__header-title",size:D,textColor:k,textWeight:H,children:_}),e.jsx(c.Text,{className:"drawer__header-desc",size:P,textColor:A,children:x})]}),b&&e.jsx(c.Divider,{width:"fill",size:B,fill:"surfaceTertiary"}),C&&e.jsx("div",{className:"drawer__wrapper",children:C}),h&&e.jsx("div",{className:"drawer__after",children:h})]}):null},exports.drawerAppearance=o,exports.drawerConfig=n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as r}from"react/jsx-runtime";import{useRef as i,useState as o,useEffect as t}from"react";import a from"clsx";import c from"react-modern-drawer";import{useAppearanceConfig as s,useDevicePropsGenerator as l}from"@itcase/ui-core/hooks";import{I as n,T as d,a as m,D as p}from"../primitives_es_CkHPBwNl.js";import{a as I}from"../default_es_C4dY1Dqw.js";import"@rc-component/tooltip";import"react-inlinesvg";import"@itcase/ui-core/hoc";import"@itcase/ui-core/utils";const u={sizeH3:{titleTextSize:"h3",descTextSize:"s",dividerSize:"s"},...{surfacePrimary:{titleTextColor:"surfaceTextPrimary",descTextColor:"surfaceTextPrimary",closeIcon:I.Action.Close,closeIconFillIcon:"surfaceItemPrimary"}}},_={DEFAULT:{isInDOM:!0,isOpen:!1},ENTER_FINISH:{isInDOM:!0,isOpen:!0},EXIT_FINISH:{isInDOM:!1,isOpen:!1}},T={appearance:u,setAppearance:e=>{T.appearance=e}};function f(I){const{appearance:u,className:f,dataTestId:S,dataTour:h,type:N,title:x,desc:v,enableOverlay:z,lockBackgroundScroll:w=!0,stickyButton:y,before:C,after:F,close:g,
|
|
1
|
+
import{jsxs as e,jsx as r}from"react/jsx-runtime";import{useRef as i,useState as o,useEffect as t}from"react";import a from"clsx";import c from"react-modern-drawer";import{useAppearanceConfig as s,useDevicePropsGenerator as l}from"@itcase/ui-core/hooks";import{I as n,T as d,a as m,D as p}from"../primitives_es_CkHPBwNl.js";import{a as I}from"../default_es_C4dY1Dqw.js";import"@rc-component/tooltip";import"react-inlinesvg";import"@itcase/ui-core/hoc";import"@itcase/ui-core/utils";const u={sizeH3:{titleTextSize:"h3",descTextSize:"s",dividerSize:"s"},...{surfacePrimary:{titleTextColor:"surfaceTextPrimary",descTextColor:"surfaceTextPrimary",closeIcon:I.Action.Close,closeIconFillIcon:"surfaceItemPrimary"}}},_={DEFAULT:{isInDOM:!0,isOpen:!1},ENTER_FINISH:{isInDOM:!0,isOpen:!0},EXIT_FINISH:{isInDOM:!1,isOpen:!1}},T={appearance:u,setAppearance:e=>{T.appearance=e}};function f(I){const{appearance:u,className:f,dataTestId:S,dataTour:h,type:N,title:x,desc:v,enableOverlay:z,lockBackgroundScroll:w=!0,stickyButton:y,before:C,after:F,close:g,isKeepMounted:E=!1,isOpen:O=!1,onClickClose:k,onClose:D,children:H}=I,b=i(O),B=i(!0),M=s(u,T),P=l(I,M),{direction:A,size:j,titleTextColor:R,titleTextSize:X,titleTextWeight:$,descTextColor:L,descTextSize:U,divider:W,dividerSize:K,zeroPadding:q,closeIcon:G,closeIconFill:J,closeIconFillIcon:Q,closeIconFillSize:V,closeIconShape:Y,closeIconSize:Z,closeIconSrc:ee}=P,[re,ie]=o(O?_.ENTER_FINISH:_.EXIT_FINISH);return t(()=>{if(B.current)return void(B.current=!1);const e=!0===Boolean(b.current),r=!1===Boolean(O);b.current=O,ie(_.DEFAULT);const i=setTimeout(()=>{ie(O?_.ENTER_FINISH:_.EXIT_FINISH),e&&r&&D&&D()},O?16:300);return()=>{clearTimeout(i)}},[O]),E||re.isInDOM?e(c,{className:a("drawer",N&&`drawer_type_${N}`,f,h&&`dataTour-${h}`,y&&"drawer_sticky-button",q&&"drawer_reset-padding"),direction:A||"right",size:j||600,customIdSuffix:S?`_${S}`:void 0,"data-testid":S,"data-tour":h,duration:300,enableOverlay:z,lockBackgroundScroll:w,overlayClassName:"drawer__overlay",open:re.isOpen,onClose:k,children:[C&&r("div",{className:"drawer__before",children:C}),!g&&(G||ee)&&r("div",{className:"drawer__close",children:r(n,{className:"cursor_type_pointer",fill:J,fillSize:V,iconFill:Q,iconSize:Z,imageSrc:ee,shape:Y,SvgImage:G,onClick:k})}),(x||v)&&e("div",{className:"drawer__header",children:[r(d,{className:"drawer__header-title",size:X,textColor:R,textWeight:$,children:x}),r(m,{className:"drawer__header-desc",size:U,textColor:L,children:v})]}),W&&r(p,{width:"fill",size:K,fill:"surfaceTertiary"}),H&&r("div",{className:"drawer__wrapper",children:H}),F&&r("div",{className:"drawer__after",children:F})]}):null}export{f as Drawer,u as drawerAppearance,T as drawerConfig};
|
|
@@ -16,7 +16,7 @@ const drawerConfig = {
|
|
|
16
16
|
},
|
|
17
17
|
};
|
|
18
18
|
function Drawer(props) {
|
|
19
|
-
const { appearance, className, dataTestId, dataTour, type, title, desc, enableOverlay, lockBackgroundScroll = true, stickyButton, before, after, close, isOpen = false, onClickClose, onClose, children, } = props;
|
|
19
|
+
const { appearance, className, dataTestId, dataTour, type, title, desc, enableOverlay, lockBackgroundScroll = true, stickyButton, before, after, close, isKeepMounted = false, isOpen = false, onClickClose, onClose, children, } = props;
|
|
20
20
|
const isOpenPrevRef = useRef(isOpen);
|
|
21
21
|
const isFirstRenderRef = useRef(true);
|
|
22
22
|
const appearanceConfig = useAppearanceConfig(appearance, drawerConfig);
|
|
@@ -50,7 +50,7 @@ function Drawer(props) {
|
|
|
50
50
|
};
|
|
51
51
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52
52
|
}, [isOpen]);
|
|
53
|
-
if (!animationState.isInDOM) {
|
|
53
|
+
if (!isKeepMounted && !animationState.isInDOM) {
|
|
54
54
|
return null;
|
|
55
55
|
}
|
|
56
56
|
return (_jsxs(ReactDrawer, { className: clsx('drawer', type && `drawer_type_${type}`, className, dataTour && `dataTour-${dataTour}`, stickyButton && 'drawer_sticky-button', zeroPadding && 'drawer_reset-padding'), direction: direction || 'right', size: size || 600, customIdSuffix: dataTestId ? `_${dataTestId}` : undefined, "data-testid": dataTestId, "data-tour": dataTour, duration: ANIMATION_DURATION, enableOverlay: enableOverlay, lockBackgroundScroll: lockBackgroundScroll, overlayClassName: "drawer__overlay", open: animationState.isOpen, onClose: onClickClose, children: [before && _jsx("div", { className: "drawer__before", children: before }), !close && (closeIcon || closeIconSrc) && (_jsx("div", { className: "drawer__close", children: _jsx(Icon, { className: "cursor_type_pointer", fill: closeIconFill, fillSize: closeIconFillSize, iconFill: closeIconFillIcon, iconSize: closeIconSize, imageSrc: closeIconSrc, shape: closeIconShape, SvgImage: closeIcon, onClick: onClickClose }) })), (title || desc) && (_jsxs("div", { className: "drawer__header", children: [_jsx(Title, { className: "drawer__header-title", size: titleTextSize, textColor: titleTextColor, textWeight: titleTextWeight, children: title }), _jsx(Text, { className: "drawer__header-desc", size: descTextSize, textColor: descTextColor, children: desc })] })), divider && (_jsx(Divider, { width: "fill", size: dividerSize, fill: "surfaceTertiary" })), children && _jsx("div", { className: "drawer__wrapper", children: children }), after && _jsx("div", { className: "drawer__after", children: after })] }));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@itcase/ui-web",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.100",
|
|
4
4
|
"description": "UI components",
|
|
5
5
|
"keywords": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -114,5 +114,5 @@
|
|
|
114
114
|
"storybook": "^10.3.6",
|
|
115
115
|
"typescript": "^6.0.3"
|
|
116
116
|
},
|
|
117
|
-
"gitHead": "
|
|
117
|
+
"gitHead": "6a815c080134f82f5e150afd57a3c807d2cae9f6"
|
|
118
118
|
}
|