@alfalab/core-components-modal 10.0.1 → 10.0.3
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/Component.d.ts +1 -1
- package/Component.js.map +1 -1
- package/Component.responsive.js.map +1 -1
- package/Context.js.map +1 -1
- package/ResponsiveContext.d.ts +1 -1
- package/ResponsiveContext.js.map +1 -1
- package/components/content/Component.d.ts +2 -2
- package/components/content/Component.js.map +1 -1
- package/components/content/desktop.css +7 -7
- package/components/content/desktop.module.css.js +1 -1
- package/components/content/index.css +4 -4
- package/components/content/index.module.css.js +1 -1
- package/components/content/mobile.css +3 -3
- package/components/content/mobile.module.css.js +1 -1
- package/components/controls/Component.d.ts +1 -1
- package/components/controls/Component.js.map +1 -1
- package/components/controls/index.css +1 -1
- package/components/controls/index.module.css.js +1 -1
- package/components/footer/Component.d.ts +1 -1
- package/components/footer/Component.js.map +1 -1
- package/components/footer/desktop.css +9 -9
- package/components/footer/desktop.module.css.js +1 -1
- package/components/footer/index.css +6 -4
- package/components/footer/index.module.css.js +1 -1
- package/components/footer/index.module.css.js.map +1 -1
- package/components/footer/layout.css +19 -19
- package/components/footer/layout.module.css.js +1 -1
- package/components/footer/mobile.css +5 -5
- package/components/footer/mobile.module.css.js +1 -1
- package/components/header/Component.d.ts +2 -2
- package/components/header/Component.js.map +1 -1
- package/components/header/desktop.css +17 -17
- package/components/header/desktop.module.css.js +1 -1
- package/components/header/index.css +4 -4
- package/components/header/index.module.css.js +1 -1
- package/components/header/mobile.css +8 -8
- package/components/header/mobile.module.css.js +1 -1
- package/cssm/Component.d.ts +1 -1
- package/cssm/Component.js.map +1 -1
- package/cssm/Component.responsive.js.map +1 -1
- package/cssm/Context.js.map +1 -1
- package/cssm/ResponsiveContext.d.ts +1 -1
- package/cssm/ResponsiveContext.js.map +1 -1
- package/cssm/components/content/Component.d.ts +2 -2
- package/cssm/components/content/Component.js.map +1 -1
- package/cssm/components/content/desktop.module.css +1 -1
- package/cssm/components/content/index.module.css +1 -1
- package/cssm/components/content/mobile.module.css +1 -1
- package/cssm/components/controls/Component.d.ts +1 -1
- package/cssm/components/controls/Component.js.map +1 -1
- package/cssm/components/footer/Component.d.ts +1 -1
- package/cssm/components/footer/Component.js.map +1 -1
- package/cssm/components/footer/desktop.module.css +1 -1
- package/cssm/components/footer/index.module.css +3 -1
- package/cssm/components/footer/layout.module.css +3 -3
- package/cssm/components/footer/mobile.module.css +2 -2
- package/cssm/components/header/Component.d.ts +2 -2
- package/cssm/components/header/Component.js.map +1 -1
- package/cssm/components/header/desktop.module.css +3 -3
- package/cssm/components/header/index.module.css +1 -1
- package/cssm/components/header/mobile.module.css +4 -4
- package/cssm/desktop/Component.desktop.d.ts +2 -2
- package/cssm/desktop/Component.desktop.js.map +1 -1
- package/cssm/desktop/desktop.module.css +3 -2
- package/cssm/mobile/Component.mobile.d.ts +2 -2
- package/cssm/mobile/Component.mobile.js.map +1 -1
- package/cssm/mobile/mobile.module.css +4 -1
- package/cssm/transitions.module.css +6 -2
- package/cssm/typings.d.ts +2 -2
- package/desktop/Component.desktop.d.ts +2 -2
- package/desktop/Component.desktop.js.map +1 -1
- package/desktop/desktop.css +11 -10
- package/desktop/desktop.module.css.js +1 -1
- package/desktop/desktop.module.css.js.map +1 -1
- package/esm/Component.d.ts +1 -1
- package/esm/Component.js.map +1 -1
- package/esm/Component.responsive.js.map +1 -1
- package/esm/Context.js.map +1 -1
- package/esm/ResponsiveContext.d.ts +1 -1
- package/esm/ResponsiveContext.js.map +1 -1
- package/esm/components/content/Component.d.ts +2 -2
- package/esm/components/content/Component.js.map +1 -1
- package/esm/components/content/desktop.css +7 -7
- package/esm/components/content/desktop.module.css.js +1 -1
- package/esm/components/content/index.css +4 -4
- package/esm/components/content/index.module.css.js +1 -1
- package/esm/components/content/mobile.css +3 -3
- package/esm/components/content/mobile.module.css.js +1 -1
- package/esm/components/controls/Component.d.ts +1 -1
- package/esm/components/controls/Component.js.map +1 -1
- package/esm/components/controls/index.css +1 -1
- package/esm/components/controls/index.module.css.js +1 -1
- package/esm/components/footer/Component.d.ts +1 -1
- package/esm/components/footer/Component.js.map +1 -1
- package/esm/components/footer/desktop.css +9 -9
- package/esm/components/footer/desktop.module.css.js +1 -1
- package/esm/components/footer/index.css +6 -4
- package/esm/components/footer/index.module.css.js +1 -1
- package/esm/components/footer/index.module.css.js.map +1 -1
- package/esm/components/footer/layout.css +19 -19
- package/esm/components/footer/layout.module.css.js +1 -1
- package/esm/components/footer/mobile.css +5 -5
- package/esm/components/footer/mobile.module.css.js +1 -1
- package/esm/components/header/Component.d.ts +2 -2
- package/esm/components/header/Component.js.map +1 -1
- package/esm/components/header/desktop.css +17 -17
- package/esm/components/header/desktop.module.css.js +1 -1
- package/esm/components/header/index.css +4 -4
- package/esm/components/header/index.module.css.js +1 -1
- package/esm/components/header/mobile.css +8 -8
- package/esm/components/header/mobile.module.css.js +1 -1
- package/esm/desktop/Component.desktop.d.ts +2 -2
- package/esm/desktop/Component.desktop.js.map +1 -1
- package/esm/desktop/desktop.css +11 -10
- package/esm/desktop/desktop.module.css.js +1 -1
- package/esm/desktop/desktop.module.css.js.map +1 -1
- package/esm/mobile/Component.mobile.d.ts +2 -2
- package/esm/mobile/Component.mobile.js.map +1 -1
- package/esm/mobile/mobile.css +6 -3
- package/esm/mobile/mobile.module.css.js +1 -1
- package/esm/transitions.css +13 -9
- package/esm/transitions.module.css.js +1 -1
- package/esm/transitions.module.css.js.map +1 -1
- package/esm/typings.d.ts +2 -2
- package/mobile/Component.mobile.d.ts +2 -2
- package/mobile/Component.mobile.js.map +1 -1
- package/mobile/mobile.css +6 -3
- package/mobile/mobile.module.css.js +1 -1
- package/modern/Component.d.ts +1 -1
- package/modern/Component.js.map +1 -1
- package/modern/Component.responsive.js.map +1 -1
- package/modern/Context.js.map +1 -1
- package/modern/ResponsiveContext.d.ts +1 -1
- package/modern/ResponsiveContext.js.map +1 -1
- package/modern/components/content/Component.d.ts +2 -2
- package/modern/components/content/Component.js.map +1 -1
- package/modern/components/content/desktop.css +7 -7
- package/modern/components/content/desktop.module.css.js +1 -1
- package/modern/components/content/index.css +4 -4
- package/modern/components/content/index.module.css.js +1 -1
- package/modern/components/content/mobile.css +3 -3
- package/modern/components/content/mobile.module.css.js +1 -1
- package/modern/components/controls/Component.d.ts +1 -1
- package/modern/components/controls/Component.js.map +1 -1
- package/modern/components/controls/index.css +1 -1
- package/modern/components/controls/index.module.css.js +1 -1
- package/modern/components/footer/Component.d.ts +1 -1
- package/modern/components/footer/Component.js.map +1 -1
- package/modern/components/footer/desktop.css +9 -9
- package/modern/components/footer/desktop.module.css.js +1 -1
- package/modern/components/footer/index.css +6 -4
- package/modern/components/footer/index.module.css.js +1 -1
- package/modern/components/footer/index.module.css.js.map +1 -1
- package/modern/components/footer/layout.css +19 -19
- package/modern/components/footer/layout.module.css.js +1 -1
- package/modern/components/footer/mobile.css +5 -5
- package/modern/components/footer/mobile.module.css.js +1 -1
- package/modern/components/header/Component.d.ts +2 -2
- package/modern/components/header/Component.js.map +1 -1
- package/modern/components/header/desktop.css +17 -17
- package/modern/components/header/desktop.module.css.js +1 -1
- package/modern/components/header/index.css +4 -4
- package/modern/components/header/index.module.css.js +1 -1
- package/modern/components/header/mobile.css +8 -8
- package/modern/components/header/mobile.module.css.js +1 -1
- package/modern/desktop/Component.desktop.d.ts +2 -2
- package/modern/desktop/Component.desktop.js.map +1 -1
- package/modern/desktop/desktop.css +11 -10
- package/modern/desktop/desktop.module.css.js +1 -1
- package/modern/desktop/desktop.module.css.js.map +1 -1
- package/modern/mobile/Component.mobile.d.ts +2 -2
- package/modern/mobile/Component.mobile.js.map +1 -1
- package/modern/mobile/mobile.css +6 -3
- package/modern/mobile/mobile.module.css.js +1 -1
- package/modern/transitions.css +13 -9
- package/modern/transitions.module.css.js +1 -1
- package/modern/transitions.module.css.js.map +1 -1
- package/modern/typings.d.ts +2 -2
- package/moderncssm/Component.d.ts +1 -1
- package/moderncssm/Component.js.map +1 -1
- package/moderncssm/Component.responsive.js.map +1 -1
- package/moderncssm/Context.js.map +1 -1
- package/moderncssm/ResponsiveContext.d.ts +1 -1
- package/moderncssm/ResponsiveContext.js.map +1 -1
- package/moderncssm/components/content/Component.d.ts +2 -2
- package/moderncssm/components/content/Component.js.map +1 -1
- package/moderncssm/components/content/desktop.module.css +3 -1
- package/moderncssm/components/content/index.module.css +3 -1
- package/moderncssm/components/content/mobile.module.css +3 -1
- package/moderncssm/components/controls/Component.d.ts +1 -1
- package/moderncssm/components/controls/Component.js.map +1 -1
- package/moderncssm/components/footer/Component.d.ts +1 -1
- package/moderncssm/components/footer/Component.js.map +1 -1
- package/moderncssm/components/footer/desktop.module.css +3 -1
- package/moderncssm/components/footer/index.module.css +5 -1
- package/moderncssm/components/footer/layout.module.css +5 -3
- package/moderncssm/components/footer/mobile.module.css +2 -2
- package/moderncssm/components/header/Component.d.ts +2 -2
- package/moderncssm/components/header/Component.js.map +1 -1
- package/moderncssm/components/header/desktop.module.css +3 -1
- package/moderncssm/components/header/index.module.css +3 -1
- package/moderncssm/components/header/mobile.module.css +2 -2
- package/moderncssm/desktop/Component.desktop.d.ts +2 -2
- package/moderncssm/desktop/Component.desktop.js.map +1 -1
- package/moderncssm/desktop/desktop.module.css +4 -2
- package/moderncssm/mobile/Component.mobile.d.ts +2 -2
- package/moderncssm/mobile/Component.mobile.js.map +1 -1
- package/moderncssm/mobile/mobile.module.css +1 -1
- package/moderncssm/transitions.module.css +6 -2
- package/moderncssm/typings.d.ts +2 -2
- package/package.json +4 -4
- package/src/Component.responsive.tsx +1 -1
- package/src/Component.tsx +1 -1
- package/src/{ResponsiveContext.tsx → ResponsiveContext.ts} +1 -1
- package/src/components/content/Component.tsx +2 -2
- package/src/components/controls/Component.tsx +1 -1
- package/src/components/footer/Component.tsx +1 -1
- package/src/components/footer/index.module.css +3 -1
- package/src/components/header/Component.tsx +2 -2
- package/src/desktop/Component.desktop.tsx +3 -3
- package/src/desktop/desktop.module.css +1 -1
- package/src/mobile/Component.mobile.tsx +2 -2
- package/src/transitions.module.css +6 -2
- package/src/typings.ts +2 -2
- package/src/vars.css +1 -1
- package/transitions.css +13 -9
- package/transitions.module.css.js +1 -1
- package/transitions.module.css.js.map +1 -1
- package/typings.d.ts +2 -2
- /package/src/{Context.tsx → Context.ts} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./mobile.css');
|
|
4
4
|
|
|
5
|
-
var mobileStyles = {"header":"
|
|
5
|
+
var mobileStyles = {"header":"modal__header_16bvk","sticky":"modal__sticky_16bvk","content":"modal__content_16bvk"};
|
|
6
6
|
|
|
7
7
|
module.exports = mobileStyles;
|
|
8
8
|
//# sourceMappingURL=mobile.module.css.js.map
|
package/cssm/Component.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { View } from './typings';
|
|
2
|
+
import { type View } from './typings';
|
|
3
3
|
export declare const Modal: React.ForwardRefExoticComponent<import("@alfalab/core-components-base-modal").BaseModalProps & {
|
|
4
4
|
size?: "fullscreen" | "s" | "m" | "l" | "xl" | 500 | 600 | 800 | 1140 | undefined;
|
|
5
5
|
fullscreen?: boolean | undefined;
|
package/cssm/Component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../src/Component.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useRef } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { BaseModal } from '@alfalab/core-components-base-modal';\n\nimport { SIZE_TO_CLASSNAME_MAP } from './consts';\nimport { ResponsiveContext } from './ResponsiveContext';\nimport { ModalDesktopProps, View } from './typings';\n\nimport desktopStyles from './desktop/desktop.module.css';\nimport mobileStyles from './mobile/mobile.module.css';\nimport transitions from './transitions.module.css';\n\nexport const Modal = forwardRef<HTMLDivElement, ModalDesktopProps & { view: View }>(\n (\n {\n size = 500,\n fixedPosition,\n fullscreen,\n children,\n className,\n wrapperClassName,\n transitionProps = {},\n view,\n dataTestId,\n ...restProps\n },\n ref,\n ) => {\n // TODO: удалить, после удаления пропсы fullscreen\n const componentSize = fullscreen ? 'fullscreen' : size;\n\n const modalRef = useRef<HTMLElement>(null);\n\n const handleEntered = (node: HTMLElement, isAppearing: boolean) => {\n if (fixedPosition && modalRef.current) {\n const content = modalRef.current.querySelector<HTMLElement>(\n `.${desktopStyles.component}`,\n );\n\n if (content) {\n const { marginTop } = window.getComputedStyle(content);\n\n content.style.marginTop = marginTop;\n }\n }\n\n if (transitionProps.onEntered) {\n transitionProps.onEntered(node, isAppearing);\n }\n };\n\n const baseModalProps =\n view === 'desktop'\n ? {\n ref: mergeRefs([ref, modalRef]),\n wrapperClassName: cn(desktopStyles.wrapper, wrapperClassName, {\n [desktopStyles.fullscreen]: componentSize === 'fullscreen',\n }),\n className: cn(\n desktopStyles.component,\n className,\n desktopStyles[SIZE_TO_CLASSNAME_MAP[componentSize]],\n ),\n backdropProps: {\n invisible: componentSize === 'fullscreen',\n ...restProps.backdropProps,\n },\n transitionProps: {\n classNames: transitions,\n ...transitionProps,\n onEntered: handleEntered,\n },\n }\n : {\n wrapperClassName,\n ref,\n transitionProps: {\n classNames: transitions,\n ...transitionProps,\n },\n className: cn(className, mobileStyles.component),\n contentProps: {\n ...restProps.contentProps,\n className: cn(mobileStyles.content, restProps.contentProps?.className),\n },\n };\n\n const contextValue = useMemo(\n () => ({ size: componentSize, view, dataTestId }),\n [componentSize, view, dataTestId],\n );\n\n return (\n <ResponsiveContext.Provider value={contextValue}>\n <BaseModal {...restProps} {...baseModalProps} dataTestId={dataTestId}>\n {children}\n </BaseModal>\n </ResponsiveContext.Provider>\n );\n },\n);\n\nModal.displayName = 'Modal';\n"],"names":["forwardRef","__rest","useRef","desktopStyles","mergeRefs","cn","SIZE_TO_CLASSNAME_MAP","__assign","transitions","mobileStyles","useMemo","React","ResponsiveContext","BaseModal"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;IAca,KAAK,GAAGA,gBAAU,CAC3B,UACI,EAWC,EACD,GAAG,EAAA;;;AAXC,IAAA,IAAA,YAAU,EAAV,IAAI,GAAG,EAAA,KAAA,MAAA,GAAA,GAAG,KAAA,EACV,aAAa,GAAA,EAAA,CAAA,aAAA,EACb,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,EAAoB,GAAA,EAAA,CAAA,eAAA,EAApB,eAAe,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACpB,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,UAAU,GAAA,EAAA,CAAA,UAAA,EACP,SAAS,GAAAC,YAAA,CAAA,EAAA,EAVhB,6HAWC,CADe;;IAKhB,IAAM,aAAa,GAAG,UAAU,GAAG,YAAY,GAAG,IAAI;AAEtD,IAAA,IAAM,QAAQ,GAAGC,YAAM,CAAc,IAAI,CAAC;AAE1C,IAAA,IAAM,aAAa,GAAG,UAAC,IAAiB,EAAE,WAAoB,EAAA;AAC1D,QAAA,IAAI,aAAa,IAAI,QAAQ,CAAC,OAAO,EAAE;AACnC,YAAA,IAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAC1C,GAAA,CAAA,MAAA,CAAIC,8BAAa,CAAC,SAAS,CAAE,CAChC;AAED,YAAA,IAAI,OAAO,EAAE;gBACD,IAAA,SAAS,GAAK,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAA,SAArC;AAEjB,gBAAA,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS;AACtC;AACJ;QAED,IAAI,eAAe,CAAC,SAAS,EAAE;AAC3B,YAAA,eAAe,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC;AAC/C;AACL,KAAC;AAED,IAAA,IAAM,cAAc,GAChB,IAAI,KAAK;AACL,UAAE;YACI,GAAG,EAAEC,0BAAS,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC/B,YAAA,gBAAgB,EAAEC,mBAAE,CAACF,8BAAa,CAAC,OAAO,EAAE,gBAAgB,GAAA,EAAA,GAAA,EAAA;AACxD,gBAAA,EAAA,CAACA,8BAAa,CAAC,UAAU,CAAG,GAAA,aAAa,KAAK,YAAY;AAC5D,gBAAA,EAAA,EAAA;AACF,YAAA,SAAS,EAAEE,mBAAE,CACTF,8BAAa,CAAC,SAAS,EACvB,SAAS,EACTA,8BAAa,CAACG,4BAAqB,CAAC,aAAa,CAAC,CAAC,CACtD;YACD,aAAa,EAAAC,cAAA,CAAA,EACT,SAAS,EAAE,aAAa,KAAK,YAAY,EACtC,EAAA,SAAS,CAAC,aAAa,CAC7B;YACD,eAAe,EAAAA,cAAA,CAAAA,cAAA,CAAA,EACX,UAAU,EAAEC,4BAAW,EAAA,EACpB,eAAe,CAClB,EAAA,EAAA,SAAS,EAAE,aAAa,EAC3B,CAAA;AACJ;AACH,UAAE;AACI,YAAA,gBAAgB,EAAA,gBAAA;AAChB,YAAA,GAAG,EAAA,GAAA;AACH,YAAA,eAAe,mBACX,UAAU,EAAEA,4BAAW,EAAA,EACpB,eAAe,CACrB;YACD,SAAS,EAAEH,mBAAE,CAAC,SAAS,EAAEI,6BAAY,CAAC,SAAS,CAAC;YAChD,YAAY,EAAAF,cAAA,CAAAA,cAAA,CAAA,EAAA,EACL,SAAS,CAAC,YAAY,KACzB,SAAS,EAAEF,mBAAE,CAACI,6BAAY,CAAC,OAAO,EAAE,MAAA,SAAS,CAAC,YAAY,MAAE,IAAA,IAAA,EAAA,KAAA,MAAA,GAAA,MAAA,GAAA,EAAA,CAAA,SAAS,CAAC,EACzE,CAAA;SACJ;AAEX,IAAA,IAAM,YAAY,GAAGC,aAAO,CACxB,YAAM,EAAA,QAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAA,IAAA,EAAE,UAAU,EAAA,UAAA,EAAE,EAA1C,EAA2C,EACjD,CAAC,aAAa,EAAE,IAAI,EAAE,UAAU,CAAC,CACpC;IAED,QACIC,qCAACC,mCAAiB,CAAC,QAAQ,EAAC,EAAA,KAAK,EAAE,YAAY,EAAA;AAC3C,QAAAD,sBAAA,CAAA,aAAA,CAACE,cAAS,EAAAN,cAAA,CAAA,EAAA,EAAK,SAAS,EAAM,cAAc,EAAE,EAAA,UAAU,EAAE,UAAU,EAC/D,CAAA,EAAA,QAAQ,CACD,CACa;AAErC,CAAC;AAGL,KAAK,CAAC,WAAW,GAAG,OAAO;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../src/Component.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useRef } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\n\nimport { BaseModal } from '@alfalab/core-components-base-modal';\n\nimport { SIZE_TO_CLASSNAME_MAP } from './consts';\nimport { ResponsiveContext } from './ResponsiveContext';\nimport { type ModalDesktopProps, type View } from './typings';\n\nimport desktopStyles from './desktop/desktop.module.css';\nimport mobileStyles from './mobile/mobile.module.css';\nimport transitions from './transitions.module.css';\n\nexport const Modal = forwardRef<HTMLDivElement, ModalDesktopProps & { view: View }>(\n (\n {\n size = 500,\n fixedPosition,\n fullscreen,\n children,\n className,\n wrapperClassName,\n transitionProps = {},\n view,\n dataTestId,\n ...restProps\n },\n ref,\n ) => {\n // TODO: удалить, после удаления пропсы fullscreen\n const componentSize = fullscreen ? 'fullscreen' : size;\n\n const modalRef = useRef<HTMLElement>(null);\n\n const handleEntered = (node: HTMLElement, isAppearing: boolean) => {\n if (fixedPosition && modalRef.current) {\n const content = modalRef.current.querySelector<HTMLElement>(\n `.${desktopStyles.component}`,\n );\n\n if (content) {\n const { marginTop } = window.getComputedStyle(content);\n\n content.style.marginTop = marginTop;\n }\n }\n\n if (transitionProps.onEntered) {\n transitionProps.onEntered(node, isAppearing);\n }\n };\n\n const baseModalProps =\n view === 'desktop'\n ? {\n ref: mergeRefs([ref, modalRef]),\n wrapperClassName: cn(desktopStyles.wrapper, wrapperClassName, {\n [desktopStyles.fullscreen]: componentSize === 'fullscreen',\n }),\n className: cn(\n desktopStyles.component,\n className,\n desktopStyles[SIZE_TO_CLASSNAME_MAP[componentSize]],\n ),\n backdropProps: {\n invisible: componentSize === 'fullscreen',\n ...restProps.backdropProps,\n },\n transitionProps: {\n classNames: transitions,\n ...transitionProps,\n onEntered: handleEntered,\n },\n }\n : {\n wrapperClassName,\n ref,\n transitionProps: {\n classNames: transitions,\n ...transitionProps,\n },\n className: cn(className, mobileStyles.component),\n contentProps: {\n ...restProps.contentProps,\n className: cn(mobileStyles.content, restProps.contentProps?.className),\n },\n };\n\n const contextValue = useMemo(\n () => ({ size: componentSize, view, dataTestId }),\n [componentSize, view, dataTestId],\n );\n\n return (\n <ResponsiveContext.Provider value={contextValue}>\n <BaseModal {...restProps} {...baseModalProps} dataTestId={dataTestId}>\n {children}\n </BaseModal>\n </ResponsiveContext.Provider>\n );\n },\n);\n\nModal.displayName = 'Modal';\n"],"names":["forwardRef","__rest","useRef","desktopStyles","mergeRefs","cn","SIZE_TO_CLASSNAME_MAP","__assign","transitions","mobileStyles","useMemo","React","ResponsiveContext","BaseModal"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { Content } from './components/content/Component';\nimport { Controls } from './components/controls';\nimport { Footer } from './components/footer/Component';\nimport { Header } from './components/header/Component';\nimport { Modal } from './Component';\nimport type
|
|
1
|
+
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\n\nimport { Content } from './components/content/Component';\nimport { Controls } from './components/controls';\nimport { Footer } from './components/footer/Component';\nimport { Header } from './components/header/Component';\nimport { Modal } from './Component';\nimport { type ModalResponsiveProps } from './typings';\n\nconst ModalResponsiveComponent = forwardRef<HTMLDivElement, ModalResponsiveProps>(\n (\n {\n children,\n breakpoint,\n client,\n defaultMatchMediaValue = client === undefined ? undefined : client === 'desktop',\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, defaultMatchMediaValue);\n\n return (\n <Modal ref={ref} {...restProps} view={isDesktop ? 'desktop' : 'mobile'}>\n {children}\n </Modal>\n );\n },\n);\n\nexport const ModalResponsive = Object.assign(ModalResponsiveComponent, {\n Header,\n Content,\n Footer,\n Controls,\n});\n\nModalResponsiveComponent.displayName = 'ModalResponsiveComponent';\n\nexport {\n ModalResponsiveComponent as ModalComponentResponsive,\n Header as HeaderResponsive,\n Content as ContentResponsive,\n Footer as FooterResponsive,\n Controls as ControlsResponsive,\n};\n"],"names":["forwardRef","__rest","useIsDesktop","React","Modal","__assign","Header","Content","Footer","Controls"],"mappings":";;;;;;;;;;;;;;;;;AAWA,IAAM,wBAAwB,GAAGA,gBAAU,CACvC,UACI,EAMC,EACD,GAAG,EAAA;AANC,IAAA,IAAA,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,EAAA,GAAA,EAAA,CAAA,sBAAgF,EAAhF,sBAAsB,mBAAG,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,MAAM,KAAK,SAAS,GAAA,EAAA,EAC7E,SAAS,GAAAC,YAAA,CAAA,EAAA,EALhB,8DAMC,CADe;IAIhB,IAAM,SAAS,GAAGC,iBAAY,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAElE,QACIC,sBAAC,CAAA,aAAA,CAAAC,iBAAK,EAACC,cAAA,CAAA,EAAA,GAAG,EAAE,GAAG,EAAA,EAAM,SAAS,EAAA,EAAE,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,EACjE,CAAA,EAAA,QAAQ,CACL;AAEhB,CAAC;IAGQ,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,wBAAwB,EAAE;AACnE,IAAA,MAAM,EAAAC,gBAAA;AACN,IAAA,OAAO,EAAAC,mBAAA;AACP,IAAA,MAAM,EAAAC,kBAAA;AACN,IAAA,QAAQ,EAAAC,oBAAA;AACX,CAAA;AAED,wBAAwB,CAAC,WAAW,GAAG,0BAA0B;;;;;;;;;"}
|
package/cssm/Context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","sources":["../src/Context.
|
|
1
|
+
{"version":3,"file":"Context.js","sources":["../src/Context.ts"],"sourcesContent":["import { BaseModalContext } from '@alfalab/core-components-base-modal';\n\nexport const ModalContext = BaseModalContext;\n"],"names":["BaseModalContext"],"mappings":";;;;;;AAEO,IAAM,YAAY,GAAGA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsiveContext.js","sources":["../src/ResponsiveContext.
|
|
1
|
+
{"version":3,"file":"ResponsiveContext.js","sources":["../src/ResponsiveContext.ts"],"sourcesContent":["import React from 'react';\n\nimport { type TResponsiveModalContext } from './typings';\n\nexport const ResponsiveContext = React.createContext<TResponsiveModalContext>({\n view: 'desktop',\n size: 500,\n});\n"],"names":["React"],"mappings":";;;;;;;;;;AAIa,IAAA,iBAAiB,GAAGA,sBAAK,CAAC,aAAa,CAA0B;AAC1E,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,GAAG;AACZ,CAAA;;;;"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { ContentProps } from '../../typings';
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type ContentProps } from '../../typings';
|
|
3
3
|
export declare const Content: FC<ContentProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../../src/components/content/Component.tsx"],"sourcesContent":["import React, { FC, Ref, useContext } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { SIZE_TO_CLASSNAME_MAP } from '../../consts';\nimport { ModalContext } from '../../Context';\nimport { ResponsiveContext } from '../../ResponsiveContext';\nimport { ContentProps } from '../../typings';\n\nimport desktopStyles from './desktop.module.css';\nimport styles from './index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nexport const Content: FC<ContentProps> = ({ children, flex, className }) => {\n const { contentRef, hasHeader } = useContext(ModalContext);\n const { size, view, dataTestId } = useContext(ResponsiveContext);\n\n return (\n <div\n className={cn(styles.content, className, {\n [styles.flex]: flex,\n [styles.withHeader]: hasHeader,\n [desktopStyles[SIZE_TO_CLASSNAME_MAP[size]]]: view === 'desktop' && size,\n [mobileStyles.content]: view === 'mobile',\n })}\n ref={contentRef as Ref<HTMLDivElement>}\n data-test-id={getDataTestId(dataTestId, 'content')}\n >\n {children}\n </div>\n );\n};\n"],"names":["useContext","ModalContext","ResponsiveContext","React","cn","styles","desktopStyles","SIZE_TO_CLASSNAME_MAP","mobileStyles","getDataTestId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAcO,IAAM,OAAO,GAAqB,UAAC,EAA6B,EAAA;;AAA3B,IAAA,IAAA,QAAQ,cAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA;IAC3D,IAAA,EAAA,GAA4BA,gBAAU,CAACC,oBAAY,CAAC,EAAlD,UAAU,GAAA,EAAA,CAAA,UAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAA6B;AACpD,IAAA,IAAA,EAA6B,GAAAD,gBAAU,CAACE,mCAAiB,CAAC,EAAxD,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,UAAU,gBAAkC;IAEhE,QACIC,sBACI,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,OAAO,EAAE,SAAS,GAAA,EAAA,GAAA,EAAA;AACnC,YAAA,EAAA,CAACA,uBAAM,CAAC,IAAI,CAAA,GAAG,IAAI;AACnB,YAAA,EAAA,CAACA,uBAAM,CAAC,UAAU,CAAA,GAAG,SAAS;AAC9B,YAAA,EAAA,CAACC,8BAAa,CAACC,4BAAqB,CAAC,IAAI,CAAC,CAAC,CAAA,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI;AACxE,YAAA,EAAA,CAACC,6BAAY,CAAC,OAAO,CAAG,GAAA,IAAI,KAAK,QAAQ;AAC3C,YAAA,EAAA,EAAA,EACF,GAAG,EAAE,UAAiC,EAAA,cAAA,EACxBC,kBAAa,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA,EAEjD,QAAQ,CACP;AAEd;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../src/components/content/Component.tsx"],"sourcesContent":["import React, { type FC, type Ref, useContext } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { SIZE_TO_CLASSNAME_MAP } from '../../consts';\nimport { ModalContext } from '../../Context';\nimport { ResponsiveContext } from '../../ResponsiveContext';\nimport { type ContentProps } from '../../typings';\n\nimport desktopStyles from './desktop.module.css';\nimport styles from './index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nexport const Content: FC<ContentProps> = ({ children, flex, className }) => {\n const { contentRef, hasHeader } = useContext(ModalContext);\n const { size, view, dataTestId } = useContext(ResponsiveContext);\n\n return (\n <div\n className={cn(styles.content, className, {\n [styles.flex]: flex,\n [styles.withHeader]: hasHeader,\n [desktopStyles[SIZE_TO_CLASSNAME_MAP[size]]]: view === 'desktop' && size,\n [mobileStyles.content]: view === 'mobile',\n })}\n ref={contentRef as Ref<HTMLDivElement>}\n data-test-id={getDataTestId(dataTestId, 'content')}\n >\n {children}\n </div>\n );\n};\n"],"names":["useContext","ModalContext","ResponsiveContext","React","cn","styles","desktopStyles","SIZE_TO_CLASSNAME_MAP","mobileStyles","getDataTestId"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAcO,IAAM,OAAO,GAAqB,UAAC,EAA6B,EAAA;;AAA3B,IAAA,IAAA,QAAQ,cAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA;IAC3D,IAAA,EAAA,GAA4BA,gBAAU,CAACC,oBAAY,CAAC,EAAlD,UAAU,GAAA,EAAA,CAAA,UAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAA6B;AACpD,IAAA,IAAA,EAA6B,GAAAD,gBAAU,CAACE,mCAAiB,CAAC,EAAxD,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,UAAU,gBAAkC;IAEhE,QACIC,sBACI,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,OAAO,EAAE,SAAS,GAAA,EAAA,GAAA,EAAA;AACnC,YAAA,EAAA,CAACA,uBAAM,CAAC,IAAI,CAAA,GAAG,IAAI;AACnB,YAAA,EAAA,CAACA,uBAAM,CAAC,UAAU,CAAA,GAAG,SAAS;AAC9B,YAAA,EAAA,CAACC,8BAAa,CAACC,4BAAqB,CAAC,IAAI,CAAC,CAAC,CAAA,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI;AACxE,YAAA,EAAA,CAACC,6BAAY,CAAC,OAAO,CAAG,GAAA,IAAI,KAAK,QAAQ;AAC3C,YAAA,EAAA,EAAA,EACF,GAAG,EAAE,UAAiC,EAAA,cAAA,EACxBC,kBAAa,CAAC,UAAU,EAAE,SAAS,CAAC,EAAA,EAEjD,QAAQ,CACP;AAEd;;;;"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
.size-800,
|
|
11
11
|
.size-1140,
|
|
12
12
|
.fullscreen {
|
|
13
|
-
padding: var(--modal-s-content-paddings)
|
|
13
|
+
padding: var(--modal-s-content-paddings);
|
|
14
14
|
} .size-500:last-child, .size-600:last-child, .size-800:last-child, .size-1140:last-child, .fullscreen:last-child {
|
|
15
15
|
padding-bottom: var(--modal-s-content-only-bottom-padding);
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../../src/components/controls/Component.tsx"],"sourcesContent":["import React, { ReactNode, useContext } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport layoutStyles from '../footer/layout.module.css';\nimport styles from './index.module.css';\n\nexport interface ControlsProps {\n /**\n * Основной слот\n */\n primary?: ReactNode;\n\n /**\n * Дополнительный слот\n */\n secondary?: ReactNode;\n\n /**\n * Выравнивание элементов футера\n * @default start\n */\n layout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Выравнивание элементов футера (мобильный view)\n * @default start\n */\n mobileLayout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Отступы между элементами футера\n */\n gap?: 16 | 24 | 32;\n}\n\nexport const Controls: React.FC<ControlsProps> = ({\n primary,\n secondary,\n gap,\n layout: layoutProp = 'start',\n mobileLayout = layoutProp,\n}) => {\n const { view, dataTestId } = useContext(ResponsiveContext);\n\n const layout = view === 'mobile' ? mobileLayout : layoutProp;\n\n const shouldReverse = view === 'mobile' && layout !== 'column';\n\n return (\n <div\n data-test-id={getDataTestId(dataTestId, 'controls')}\n className={cn(\n styles.component,\n layoutStyles[layout],\n gap && layoutStyles[`gap-${gap}`],\n )}\n >\n {shouldReverse ? (\n <React.Fragment>\n {secondary}\n {primary}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {primary}\n {secondary}\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"names":["useContext","ResponsiveContext","React","getDataTestId","cn","styles","layoutStyles"],"mappings":";;;;;;;;;;;;;;;;;;AAuCO,IAAM,QAAQ,GAA4B,UAAC,EAMjD,EAAA;QALG,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,EAA4B,GAAA,EAAA,CAAA,MAAA,EAApB,UAAU,GAAG,EAAA,KAAA,MAAA,GAAA,OAAO,KAAA,EAC5B,EAAA,GAAA,EAAA,CAAA,YAAyB,EAAzB,YAAY,GAAA,EAAA,KAAA,MAAA,GAAG,UAAU,GAAA,EAAA;IAEnB,IAAA,EAAA,GAAuBA,gBAAU,CAACC,mCAAiB,CAAC,EAAlD,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAkC;AAE1D,IAAA,IAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,GAAG,YAAY,GAAG,UAAU;IAE5D,IAAM,aAAa,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ;AAE9D,IAAA,QACIC,sBACkB,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,cAAA,EAAAC,kBAAa,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,SAAS,EAAEC,mBAAE,CACTC,uBAAM,CAAC,SAAS,EAChBC,6BAAY,CAAC,MAAM,CAAC,EACpB,GAAG,IAAIA,6BAAY,CAAC,MAAO,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC,CACpC,EAEA,EAAA,aAAa,IACVJ,sBAAC,CAAA,aAAA,CAAAA,sBAAK,CAAC,QAAQ,EAAA,IAAA;QACV,SAAS;QACT,OAAO,CACK,KAEjBA,sBAAA,CAAA,aAAA,CAACA,sBAAK,CAAC,QAAQ,EAAA,IAAA;QACV,OAAO;AACP,QAAA,SAAS,CACG,CACpB,CACC;AAEd;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../src/components/controls/Component.tsx"],"sourcesContent":["import React, { type ReactNode, useContext } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport layoutStyles from '../footer/layout.module.css';\nimport styles from './index.module.css';\n\nexport interface ControlsProps {\n /**\n * Основной слот\n */\n primary?: ReactNode;\n\n /**\n * Дополнительный слот\n */\n secondary?: ReactNode;\n\n /**\n * Выравнивание элементов футера\n * @default start\n */\n layout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Выравнивание элементов футера (мобильный view)\n * @default start\n */\n mobileLayout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Отступы между элементами футера\n */\n gap?: 16 | 24 | 32;\n}\n\nexport const Controls: React.FC<ControlsProps> = ({\n primary,\n secondary,\n gap,\n layout: layoutProp = 'start',\n mobileLayout = layoutProp,\n}) => {\n const { view, dataTestId } = useContext(ResponsiveContext);\n\n const layout = view === 'mobile' ? mobileLayout : layoutProp;\n\n const shouldReverse = view === 'mobile' && layout !== 'column';\n\n return (\n <div\n data-test-id={getDataTestId(dataTestId, 'controls')}\n className={cn(\n styles.component,\n layoutStyles[layout],\n gap && layoutStyles[`gap-${gap}`],\n )}\n >\n {shouldReverse ? (\n <React.Fragment>\n {secondary}\n {primary}\n </React.Fragment>\n ) : (\n <React.Fragment>\n {primary}\n {secondary}\n </React.Fragment>\n )}\n </div>\n );\n};\n"],"names":["useContext","ResponsiveContext","React","getDataTestId","cn","styles","layoutStyles"],"mappings":";;;;;;;;;;;;;;;;;;AAuCO,IAAM,QAAQ,GAA4B,UAAC,EAMjD,EAAA;QALG,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,GAAG,GAAA,EAAA,CAAA,GAAA,EACH,EAA4B,GAAA,EAAA,CAAA,MAAA,EAApB,UAAU,GAAG,EAAA,KAAA,MAAA,GAAA,OAAO,KAAA,EAC5B,EAAA,GAAA,EAAA,CAAA,YAAyB,EAAzB,YAAY,GAAA,EAAA,KAAA,MAAA,GAAG,UAAU,GAAA,EAAA;IAEnB,IAAA,EAAA,GAAuBA,gBAAU,CAACC,mCAAiB,CAAC,EAAlD,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,UAAU,GAAA,EAAA,CAAA,UAAkC;AAE1D,IAAA,IAAM,MAAM,GAAG,IAAI,KAAK,QAAQ,GAAG,YAAY,GAAG,UAAU;IAE5D,IAAM,aAAa,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ;AAE9D,IAAA,QACIC,sBACkB,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,cAAA,EAAAC,kBAAa,CAAC,UAAU,EAAE,UAAU,CAAC,EACnD,SAAS,EAAEC,mBAAE,CACTC,uBAAM,CAAC,SAAS,EAChBC,6BAAY,CAAC,MAAM,CAAC,EACpB,GAAG,IAAIA,6BAAY,CAAC,MAAO,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC,CACpC,EAEA,EAAA,aAAa,IACVJ,sBAAC,CAAA,aAAA,CAAAA,sBAAK,CAAC,QAAQ,EAAA,IAAA;QACV,SAAS;QACT,OAAO,CACK,KAEjBA,sBAAA,CAAA,aAAA,CAACA,sBAAK,CAAC,QAAQ,EAAA,IAAA;QACV,OAAO;AACP,QAAA,SAAS,CACG,CACpB,CACC;AAEd;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../../src/components/footer/Component.tsx"],"sourcesContent":["import React, { FC, ReactNode, useContext, useEffect } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { SIZE_TO_CLASSNAME_MAP } from '../../consts';\nimport { ModalContext } from '../../Context';\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport desktopStyles from './desktop.module.css';\nimport styles from './index.module.css';\nimport layoutStyles from './layout.module.css';\nimport mobileStyles from './mobile.module.css';\n\nexport type FooterProps = {\n /**\n * Контент футера\n */\n children?: ReactNode;\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Фиксирует футер\n */\n sticky?: boolean;\n\n /**\n * Выравнивание элементов футера\n */\n layout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Отступы между элементами футера\n */\n gap?: 16 | 24 | 32;\n};\n\nexport const Footer: FC<FooterProps> = ({ children, className, sticky, layout = 'start', gap }) => {\n const { footerHighlighted, setHasFooter } = useContext(ModalContext);\n const { size, view, dataTestId } = useContext(ResponsiveContext);\n\n useEffect(() => {\n setHasFooter(true);\n }, [setHasFooter]);\n\n return (\n <div\n data-test-id={getDataTestId(dataTestId, 'footer')}\n className={cn(\n styles.footer,\n className,\n layoutStyles[layout],\n gap && layoutStyles[`gap-${gap}`],\n {\n [styles.highlighted]: sticky && footerHighlighted,\n [styles.sticky]: sticky,\n [desktopStyles.footer]: view === 'desktop',\n [desktopStyles.sticky]: view === 'desktop' && sticky,\n [desktopStyles[SIZE_TO_CLASSNAME_MAP[size]]]: view === 'desktop',\n [mobileStyles.footer]: view === 'mobile',\n [mobileStyles.sticky]: view === 'mobile' && sticky,\n },\n )}\n >\n {children}\n </div>\n );\n};\n"],"names":["useContext","ModalContext","ResponsiveContext","useEffect","React","getDataTestId","cn","styles","layoutStyles","desktopStyles","SIZE_TO_CLASSNAME_MAP","mobileStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyCO,IAAM,MAAM,GAAoB,UAAC,EAAsD,EAAA;;AAApD,IAAA,IAAA,QAAQ,cAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,EAAgB,GAAA,EAAA,CAAA,MAAA,EAAhB,MAAM,GAAG,EAAA,KAAA,MAAA,GAAA,OAAO,GAAA,EAAA,EAAE,GAAG,GAAA,EAAA,CAAA,GAAA;IAClF,IAAA,EAAA,GAAsCA,gBAAU,CAACC,oBAAY,CAAC,EAA5D,iBAAiB,GAAA,EAAA,CAAA,iBAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAA6B;AAC9D,IAAA,IAAA,EAA6B,GAAAD,gBAAU,CAACE,mCAAiB,CAAC,EAAxD,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,UAAU,gBAAkC;AAEhE,IAAAC,eAAS,CAAC,YAAA;QACN,YAAY,CAAC,IAAI,CAAC;AACtB,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC;AAElB,IAAA,QACIC,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,cAAA,EACkBC,kBAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EACjD,SAAS,EAAEC,mBAAE,CACTC,uBAAM,CAAC,MAAM,EACb,SAAS,EACTC,6BAAY,CAAC,MAAM,CAAC,EACpB,GAAG,IAAIA,6BAAY,CAAC,MAAO,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC,GAAA,EAAA,GAAA,EAAA;AAE7B,YAAA,EAAA,CAACD,uBAAM,CAAC,WAAW,CAAG,GAAA,MAAM,IAAI,iBAAiB;AACjD,YAAA,EAAA,CAACA,uBAAM,CAAC,MAAM,CAAA,GAAG,MAAM;AACvB,YAAA,EAAA,CAACE,8BAAa,CAAC,MAAM,CAAG,GAAA,IAAI,KAAK,SAAS;YAC1C,EAAC,CAAAA,8BAAa,CAAC,MAAM,CAAA,GAAG,IAAI,KAAK,SAAS,IAAI,MAAM;YACpD,EAAC,CAAAA,8BAAa,CAACC,4BAAqB,CAAC,IAAI,CAAC,CAAC,CAAA,GAAG,IAAI,KAAK,SAAS;AAChE,YAAA,EAAA,CAACC,6BAAY,CAAC,MAAM,CAAG,GAAA,IAAI,KAAK,QAAQ;YACxC,EAAC,CAAAA,6BAAY,CAAC,MAAM,CAAA,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM;gBAEzD,EAEA,EAAA,QAAQ,CACP;AAEd;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../src/components/footer/Component.tsx"],"sourcesContent":["import React, { type FC, type ReactNode, useContext, useEffect } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { SIZE_TO_CLASSNAME_MAP } from '../../consts';\nimport { ModalContext } from '../../Context';\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport desktopStyles from './desktop.module.css';\nimport styles from './index.module.css';\nimport layoutStyles from './layout.module.css';\nimport mobileStyles from './mobile.module.css';\n\nexport type FooterProps = {\n /**\n * Контент футера\n */\n children?: ReactNode;\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Фиксирует футер\n */\n sticky?: boolean;\n\n /**\n * Выравнивание элементов футера\n */\n layout?: 'start' | 'center' | 'space-between' | 'column';\n\n /**\n * Отступы между элементами футера\n */\n gap?: 16 | 24 | 32;\n};\n\nexport const Footer: FC<FooterProps> = ({ children, className, sticky, layout = 'start', gap }) => {\n const { footerHighlighted, setHasFooter } = useContext(ModalContext);\n const { size, view, dataTestId } = useContext(ResponsiveContext);\n\n useEffect(() => {\n setHasFooter(true);\n }, [setHasFooter]);\n\n return (\n <div\n data-test-id={getDataTestId(dataTestId, 'footer')}\n className={cn(\n styles.footer,\n className,\n layoutStyles[layout],\n gap && layoutStyles[`gap-${gap}`],\n {\n [styles.highlighted]: sticky && footerHighlighted,\n [styles.sticky]: sticky,\n [desktopStyles.footer]: view === 'desktop',\n [desktopStyles.sticky]: view === 'desktop' && sticky,\n [desktopStyles[SIZE_TO_CLASSNAME_MAP[size]]]: view === 'desktop',\n [mobileStyles.footer]: view === 'mobile',\n [mobileStyles.sticky]: view === 'mobile' && sticky,\n },\n )}\n >\n {children}\n </div>\n );\n};\n"],"names":["useContext","ModalContext","ResponsiveContext","useEffect","React","getDataTestId","cn","styles","layoutStyles","desktopStyles","SIZE_TO_CLASSNAME_MAP","mobileStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAyCO,IAAM,MAAM,GAAoB,UAAC,EAAsD,EAAA;;AAApD,IAAA,IAAA,QAAQ,cAAA,EAAE,SAAS,GAAA,EAAA,CAAA,SAAA,EAAE,MAAM,GAAA,EAAA,CAAA,MAAA,EAAE,EAAgB,GAAA,EAAA,CAAA,MAAA,EAAhB,MAAM,GAAG,EAAA,KAAA,MAAA,GAAA,OAAO,GAAA,EAAA,EAAE,GAAG,GAAA,EAAA,CAAA,GAAA;IAClF,IAAA,EAAA,GAAsCA,gBAAU,CAACC,oBAAY,CAAC,EAA5D,iBAAiB,GAAA,EAAA,CAAA,iBAAA,EAAE,YAAY,GAAA,EAAA,CAAA,YAA6B;AAC9D,IAAA,IAAA,EAA6B,GAAAD,gBAAU,CAACE,mCAAiB,CAAC,EAAxD,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,IAAI,GAAA,EAAA,CAAA,IAAA,EAAE,UAAU,gBAAkC;AAEhE,IAAAC,eAAS,CAAC,YAAA;QACN,YAAY,CAAC,IAAI,CAAC;AACtB,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC;AAElB,IAAA,QACIC,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,cAAA,EACkBC,kBAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,EACjD,SAAS,EAAEC,mBAAE,CACTC,uBAAM,CAAC,MAAM,EACb,SAAS,EACTC,6BAAY,CAAC,MAAM,CAAC,EACpB,GAAG,IAAIA,6BAAY,CAAC,MAAO,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC,GAAA,EAAA,GAAA,EAAA;AAE7B,YAAA,EAAA,CAACD,uBAAM,CAAC,WAAW,CAAG,GAAA,MAAM,IAAI,iBAAiB;AACjD,YAAA,EAAA,CAACA,uBAAM,CAAC,MAAM,CAAA,GAAG,MAAM;AACvB,YAAA,EAAA,CAACE,8BAAa,CAAC,MAAM,CAAG,GAAA,IAAI,KAAK,SAAS;YAC1C,EAAC,CAAAA,8BAAa,CAAC,MAAM,CAAA,GAAG,IAAI,KAAK,SAAS,IAAI,MAAM;YACpD,EAAC,CAAAA,8BAAa,CAACC,4BAAqB,CAAC,IAAI,CAAC,CAAC,CAAA,GAAG,IAAI,KAAK,SAAS;AAChE,YAAA,EAAA,CAACC,6BAAY,CAAC,MAAM,CAAG,GAAA,IAAI,KAAK,QAAQ;YACxC,EAAC,CAAAA,6BAAY,CAAC,MAAM,CAAA,GAAG,IAAI,KAAK,QAAQ,IAAI,MAAM;gBAEzD,EAEA,EAAA,QAAQ,CACP;AAEd;;;;"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
border-bottom-left-radius: var(--modal-border-radius);
|
|
16
16
|
border-bottom-right-radius: var(--modal-border-radius);
|
|
17
17
|
} .sticky {
|
|
18
|
-
bottom: calc(var(--modal-vertical-padding) * -1)
|
|
18
|
+
bottom: calc(var(--modal-vertical-padding) * -1);
|
|
19
19
|
} .sticky.fullscreen {
|
|
20
20
|
bottom: var(--gap-0);
|
|
21
21
|
} .size-500,
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
} .footer {
|
|
9
9
|
width: 100%;
|
|
10
10
|
box-sizing: border-box;
|
|
11
|
-
transition:
|
|
11
|
+
transition:
|
|
12
|
+
box-shadow 0.2s ease,
|
|
13
|
+
background 0.2s ease;
|
|
12
14
|
} .sticky {
|
|
13
15
|
background: var(--modal-footer-background);
|
|
14
16
|
position: sticky;
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
--modal-footer-default-gap: var(--gap-16);
|
|
10
10
|
} .column {
|
|
11
11
|
display: flex;
|
|
12
|
-
flex-direction: column
|
|
12
|
+
flex-direction: column;
|
|
13
13
|
} .column > *:not(:last-child):not(:only-child) {
|
|
14
14
|
margin-bottom: var(--modal-footer-default-gap);
|
|
15
15
|
} .column.gap-16 > *:not(:last-child):not(:only-child) {
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
} .center {
|
|
24
24
|
justify-content: center;
|
|
25
25
|
} .space-between {
|
|
26
|
-
justify-content: space-between
|
|
26
|
+
justify-content: space-between;
|
|
27
27
|
} .space-between > * {
|
|
28
28
|
flex: 1;
|
|
29
29
|
} .start,
|
|
30
30
|
.center,
|
|
31
31
|
.space-between {
|
|
32
|
-
display: flex
|
|
32
|
+
display: flex;
|
|
33
33
|
} .start > *:not(:last-child):not(:only-child), .center > *:not(:last-child):not(:only-child), .space-between > *:not(:last-child):not(:only-child) {
|
|
34
34
|
margin-right: var(--modal-footer-default-gap);
|
|
35
35
|
} .start.gap-16 > *:not(:last-child):not(:only-child), .center.gap-16 > *:not(:last-child):not(:only-child), .space-between.gap-16 > *:not(:last-child):not(:only-child) {
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
--gap-16: var(--gap-m);
|
|
8
8
|
}
|
|
9
9
|
.footer {
|
|
10
|
-
padding: var(--gap-16)
|
|
10
|
+
padding: var(--gap-16);
|
|
11
11
|
}
|
|
12
12
|
@media (display-mode: standalone) {
|
|
13
13
|
.footer {
|
|
14
|
-
padding-bottom: calc(var(--sab) + var(--gap-16))
|
|
14
|
+
padding-bottom: calc(var(--sab) + var(--gap-16));
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
.sticky {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { NavigationBarPrivateProps } from '@alfalab/core-components-navigation-bar-private/cssm';
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type NavigationBarPrivateProps } from '@alfalab/core-components-navigation-bar-private/cssm';
|
|
3
3
|
export declare type HeaderProps = Omit<NavigationBarPrivateProps, 'size' | 'view' | 'parentRef'>;
|
|
4
4
|
export declare const Header: FC<HeaderProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../../src/components/header/Component.tsx"],"sourcesContent":["import React, { FC, useCallback, useContext, useEffect } from 'react';\nimport cn from 'classnames';\n\nimport {\n NavigationBarPrivate,\n NavigationBarPrivateProps,\n} from '@alfalab/core-components-navigation-bar-private';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { SIZE_TO_CLASSNAME_MAP } from '../../consts';\nimport { ModalContext } from '../../Context';\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport desktopStyles from './desktop.module.css';\nimport styles from './index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nexport type HeaderProps = Omit<NavigationBarPrivateProps, 'size' | 'view' | 'parentRef'>;\n\nexport const Header: FC<HeaderProps> = ({\n className,\n sticky,\n title,\n children,\n contentClassName,\n hasCloser = true,\n onClose: onHeaderClose,\n ...restProps\n}) => {\n const { setHasHeader, headerHighlighted, parentRef, onClose } = useContext(ModalContext);\n const { view, size, dataTestId } = useContext(ResponsiveContext);\n\n const handleClose = useCallback<NonNullable<NavigationBarPrivateProps['onClose']>>(\n (...params) => {\n if (onHeaderClose) {\n onHeaderClose(...params);\n }\n if (onClose) {\n onClose(...params);\n }\n },\n [onHeaderClose, onClose],\n );\n\n useEffect(() => {\n setHasHeader(true);\n }, [setHasHeader]);\n\n const hasContent = Boolean(title || children);\n\n return (\n <NavigationBarPrivate\n dataTestId={getDataTestId(dataTestId, 'header')}\n {...restProps}\n scrollableParentRef={parentRef}\n hasCloser={hasCloser}\n sticky={sticky}\n view={view}\n title={title}\n onClose={handleClose}\n className={cn(className, {\n [styles.highlighted]: hasContent && sticky && headerHighlighted,\n [styles.sticky]: sticky,\n [styles.hasContent]: hasContent,\n [desktopStyles.header]: view === 'desktop',\n [desktopStyles.sticky]: view === 'desktop' && sticky,\n [desktopStyles[SIZE_TO_CLASSNAME_MAP[size]]]: view === 'desktop',\n [mobileStyles.header]: view === 'mobile',\n [mobileStyles.sticky]: view === 'mobile' && sticky,\n })}\n contentClassName={cn(contentClassName, {\n [desktopStyles.content]: view === 'desktop',\n [mobileStyles.content]: view === 'mobile',\n })}\n >\n {children}\n </NavigationBarPrivate>\n );\n};\n"],"names":["__rest","useContext","ModalContext","ResponsiveContext","useCallback","useEffect","React","NavigationBarPrivate","getDataTestId","cn","styles","desktopStyles","SIZE_TO_CLASSNAME_MAP","mobileStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../../src/components/header/Component.tsx"],"sourcesContent":["import React, { type FC, useCallback, useContext, useEffect } from 'react';\nimport cn from 'classnames';\n\nimport {\n NavigationBarPrivate,\n type NavigationBarPrivateProps,\n} from '@alfalab/core-components-navigation-bar-private';\nimport { getDataTestId } from '@alfalab/core-components-shared';\n\nimport { SIZE_TO_CLASSNAME_MAP } from '../../consts';\nimport { ModalContext } from '../../Context';\nimport { ResponsiveContext } from '../../ResponsiveContext';\n\nimport desktopStyles from './desktop.module.css';\nimport styles from './index.module.css';\nimport mobileStyles from './mobile.module.css';\n\nexport type HeaderProps = Omit<NavigationBarPrivateProps, 'size' | 'view' | 'parentRef'>;\n\nexport const Header: FC<HeaderProps> = ({\n className,\n sticky,\n title,\n children,\n contentClassName,\n hasCloser = true,\n onClose: onHeaderClose,\n ...restProps\n}) => {\n const { setHasHeader, headerHighlighted, parentRef, onClose } = useContext(ModalContext);\n const { view, size, dataTestId } = useContext(ResponsiveContext);\n\n const handleClose = useCallback<NonNullable<NavigationBarPrivateProps['onClose']>>(\n (...params) => {\n if (onHeaderClose) {\n onHeaderClose(...params);\n }\n if (onClose) {\n onClose(...params);\n }\n },\n [onHeaderClose, onClose],\n );\n\n useEffect(() => {\n setHasHeader(true);\n }, [setHasHeader]);\n\n const hasContent = Boolean(title || children);\n\n return (\n <NavigationBarPrivate\n dataTestId={getDataTestId(dataTestId, 'header')}\n {...restProps}\n scrollableParentRef={parentRef}\n hasCloser={hasCloser}\n sticky={sticky}\n view={view}\n title={title}\n onClose={handleClose}\n className={cn(className, {\n [styles.highlighted]: hasContent && sticky && headerHighlighted,\n [styles.sticky]: sticky,\n [styles.hasContent]: hasContent,\n [desktopStyles.header]: view === 'desktop',\n [desktopStyles.sticky]: view === 'desktop' && sticky,\n [desktopStyles[SIZE_TO_CLASSNAME_MAP[size]]]: view === 'desktop',\n [mobileStyles.header]: view === 'mobile',\n [mobileStyles.sticky]: view === 'mobile' && sticky,\n })}\n contentClassName={cn(contentClassName, {\n [desktopStyles.content]: view === 'desktop',\n [mobileStyles.content]: view === 'mobile',\n })}\n >\n {children}\n </NavigationBarPrivate>\n );\n};\n"],"names":["__rest","useContext","ModalContext","ResponsiveContext","useCallback","useEffect","React","NavigationBarPrivate","getDataTestId","cn","styles","desktopStyles","SIZE_TO_CLASSNAME_MAP","mobileStyles"],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
--gap-16: var(--gap-m);
|
|
11
11
|
--gap-40: var(--gap-3xl);
|
|
12
12
|
} :root {
|
|
13
|
-
--font-family-system:
|
|
14
|
-
sans-serif;
|
|
13
|
+
--font-family-system:
|
|
14
|
+
system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
|
|
15
15
|
} :root {
|
|
16
16
|
--modal-border-radius: var(--border-radius-24);
|
|
17
17
|
--modal-vertical-padding: var(--gap-40);
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
.fullscreen {
|
|
49
49
|
padding: var(--modal-s-header-paddings);
|
|
50
50
|
} .sticky {
|
|
51
|
-
top: calc(var(--modal-vertical-padding) * -1)
|
|
51
|
+
top: calc(var(--modal-vertical-padding) * -1);
|
|
52
52
|
} .sticky.fullscreen {
|
|
53
53
|
top: var(--gap-0);
|
|
54
54
|
}
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
--gap-8: var(--gap-xs);
|
|
10
10
|
}
|
|
11
11
|
:root {
|
|
12
|
-
--font-family-system:
|
|
13
|
-
sans-serif;
|
|
12
|
+
--font-family-system:
|
|
13
|
+
system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Helvetica, sans-serif;
|
|
14
14
|
}
|
|
15
15
|
:root {
|
|
16
16
|
--modal-header-mobile-content-paddings: 10px var(--gap-8);
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
var(--gap-8);
|
|
24
24
|
}
|
|
25
25
|
.header {
|
|
26
|
-
padding: var(--modal-header-mobile-paddings)
|
|
26
|
+
padding: var(--modal-header-mobile-paddings);
|
|
27
27
|
}
|
|
28
28
|
@media (display-mode: standalone) {
|
|
29
29
|
.header {
|
|
30
|
-
padding-top: calc(var(--sat) + var(--modal-header-mobile-top-padding))
|
|
30
|
+
padding-top: calc(var(--sat) + var(--modal-header-mobile-top-padding));
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
33
|
.sticky {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Content } from '../components/content/Component';
|
|
3
|
-
import { ControlsProps } from '../components/controls';
|
|
3
|
+
import { type ControlsProps } from '../components/controls';
|
|
4
4
|
import { Footer } from '../components/footer/Component';
|
|
5
|
-
import { HeaderProps } from '../components/header/Component';
|
|
5
|
+
import { type HeaderProps } from '../components/header/Component';
|
|
6
6
|
declare const ModalDesktopComponent: React.ForwardRefExoticComponent<import("@alfalab/core-components-base-modal").BaseModalProps & {
|
|
7
7
|
size?: "fullscreen" | "s" | "m" | "l" | "xl" | 500 | 600 | 800 | 1140 | undefined;
|
|
8
8
|
fullscreen?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Modal } from '../Component';\nimport { Content } from '../components/content/Component';\nimport { Controls, ControlsProps } from '../components/controls';\nimport { Footer } from '../components/footer/Component';\nimport { Header, HeaderProps } from '../components/header/Component';\nimport type
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Modal } from '../Component';\nimport { Content } from '../components/content/Component';\nimport { Controls, type ControlsProps } from '../components/controls';\nimport { Footer } from '../components/footer/Component';\nimport { Header, type HeaderProps } from '../components/header/Component';\nimport { type ModalDesktopProps } from '../typings';\n\nconst ModalDesktopComponent = forwardRef<HTMLDivElement, ModalDesktopProps>((props, ref) => (\n <Modal {...props} ref={ref} view='desktop' />\n));\n\nconst HeaderDesktop = Header as React.FC<Omit<HeaderProps, 'titleSize' | 'subtitle'>>;\nconst ControlsDesktop = Controls as React.FC<Omit<ControlsProps, 'mobileLayout'>>;\n\nexport const ModalDesktop = Object.assign(ModalDesktopComponent, {\n Content,\n Header: HeaderDesktop,\n Footer,\n Controls: ControlsDesktop,\n});\n\nexport {\n ModalDesktopComponent as ModalComponentDesktop,\n Content as ContentDesktop,\n HeaderDesktop,\n Footer as FooterDesktop,\n ControlsDesktop,\n};\n"],"names":["forwardRef","React","Modal","__assign","Header","Controls","Content","Footer"],"mappings":";;;;;;;;;;;;;;;;AASA,IAAM,qBAAqB,GAAGA,gBAAU,CAAoC,UAAC,KAAK,EAAE,GAAG,EAAK,EAAA,QACxFC,sBAAA,CAAA,aAAA,CAACC,iBAAK,EAAAC,cAAA,CAAA,EAAA,EAAK,KAAK,EAAA,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,SAAS,EAAA,CAAA,CAAG,EAChD,EAAA;AAEK,IAAA,aAAa,GAAGC;AAChB,IAAA,eAAe,GAAGC;IAEX,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE;AAC7D,IAAA,OAAO,EAAAC,iBAAA;AACP,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,MAAM,EAAAC,kBAAA;AACN,IAAA,QAAQ,EAAE,eAAe;AAC5B,CAAA;;;;;;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--border-radius-3xl: 24px;
|
|
3
|
+
--border-radius-0: 0;
|
|
3
4
|
--border-radius-24: var(--border-radius-3xl);
|
|
4
5
|
} :root {
|
|
5
6
|
--gap-3xl: 40px;
|
|
@@ -22,10 +23,10 @@
|
|
|
22
23
|
} .fullscreen {
|
|
23
24
|
padding-top: var(--gap-0);
|
|
24
25
|
padding-bottom: var(--gap-0);
|
|
25
|
-
overflow: hidden
|
|
26
|
+
overflow: hidden;
|
|
26
27
|
} .fullscreen .component {
|
|
27
28
|
flex: 1;
|
|
28
|
-
border-radius: 0;
|
|
29
|
+
border-radius: var(--border-radius-0);
|
|
29
30
|
overflow: auto;
|
|
30
31
|
} .size-500 {
|
|
31
32
|
width: var(--modal-s-width);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Content } from '../components/content/Component';
|
|
3
|
-
import { ControlsProps } from '../components/controls';
|
|
3
|
+
import { type ControlsProps } from '../components/controls';
|
|
4
4
|
import { Footer } from '../components/footer/Component';
|
|
5
5
|
import { Header } from '../components/header/Component';
|
|
6
|
-
import type
|
|
6
|
+
import { type ModalMobileProps } from '../typings';
|
|
7
7
|
declare const ModalMobileComponent: React.ForwardRefExoticComponent<ModalMobileProps & React.RefAttributes<HTMLDivElement>>;
|
|
8
8
|
declare const ControlsMobile: React.FC<Omit<ControlsProps, "mobileLayout">>;
|
|
9
9
|
export declare const ModalMobile: React.ForwardRefExoticComponent<ModalMobileProps & React.RefAttributes<HTMLDivElement>> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Modal } from '../Component';\nimport { Content } from '../components/content/Component';\nimport { Controls, ControlsProps } from '../components/controls';\nimport { Footer } from '../components/footer/Component';\nimport { Header } from '../components/header/Component';\nimport type
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Modal } from '../Component';\nimport { Content } from '../components/content/Component';\nimport { Controls, type ControlsProps } from '../components/controls';\nimport { Footer } from '../components/footer/Component';\nimport { Header } from '../components/header/Component';\nimport { type ModalMobileProps } from '../typings';\n\nconst ModalMobileComponent = forwardRef<HTMLDivElement, ModalMobileProps>((props, ref) => (\n <Modal {...props} ref={ref} view='mobile' />\n));\n\nconst ControlsMobile = Controls as React.FC<Omit<ControlsProps, 'mobileLayout'>>;\n\nexport const ModalMobile = Object.assign(ModalMobileComponent, {\n Content,\n Header,\n Footer,\n Controls: ControlsMobile,\n});\n\nexport {\n ModalMobileComponent as ModalComponentMobile,\n Content as ContentMobile,\n Header as HeaderMobile,\n Footer as FooterMobile,\n ControlsMobile,\n};\n"],"names":["forwardRef","React","Modal","__assign","Controls","Content","Header","Footer"],"mappings":";;;;;;;;;;;;;;;;AASA,IAAM,oBAAoB,GAAGA,gBAAU,CAAmC,UAAC,KAAK,EAAE,GAAG,EAAK,EAAA,QACtFC,sBAAA,CAAA,aAAA,CAACC,iBAAK,EAAAC,cAAA,CAAA,EAAA,EAAK,KAAK,EAAA,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,QAAQ,EAAA,CAAA,CAAG,EAC/C,EAAA;AAEK,IAAA,cAAc,GAAGC;IAEV,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,EAAE;AAC3D,IAAA,OAAO,EAAAC,iBAAA;AACP,IAAA,MAAM,EAAAC,kBAAA;AACN,IAAA,MAAM,EAAAC,kBAAA;AACN,IAAA,QAAQ,EAAE,cAAc;AAC3B,CAAA;;;;;;;;;"}
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
--sat: env(safe-area-inset-top, var(--gap-0));
|
|
3
3
|
--sab: env(safe-area-inset-bottom, var(--gap-0));
|
|
4
4
|
}
|
|
5
|
+
:root {
|
|
6
|
+
--gap-0: 0px;
|
|
7
|
+
}
|
|
5
8
|
.component {
|
|
6
9
|
flex: 1;
|
|
7
10
|
width: 100%;
|
|
@@ -10,6 +13,6 @@
|
|
|
10
13
|
@media (display-mode: standalone) {
|
|
11
14
|
.content {
|
|
12
15
|
padding-top: var(--sat);
|
|
13
|
-
padding-bottom: var(--sab)
|
|
16
|
+
padding-bottom: var(--sab);
|
|
14
17
|
}
|
|
15
18
|
}
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
.enterActive {
|
|
9
9
|
opacity: 1;
|
|
10
10
|
transform: translateY(0);
|
|
11
|
-
transition:
|
|
11
|
+
transition:
|
|
12
|
+
opacity 200ms ease-in,
|
|
13
|
+
transform 200ms ease-in;
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
.exit {
|
|
@@ -20,5 +22,7 @@
|
|
|
20
22
|
.exitDone {
|
|
21
23
|
opacity: 0;
|
|
22
24
|
transform: translateY(15px);
|
|
23
|
-
transition:
|
|
25
|
+
transition:
|
|
26
|
+
opacity 200ms ease-out,
|
|
27
|
+
transform 200ms ease-out;
|
|
24
28
|
}
|
package/cssm/typings.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
import type
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type BaseModalProps } from '@alfalab/core-components-base-modal/cssm';
|
|
3
3
|
export declare type ModalDesktopProps = BaseModalProps & {
|
|
4
4
|
/**
|
|
5
5
|
* Ширина модального окна
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Content } from '../components/content/Component';
|
|
3
|
-
import { ControlsProps } from '../components/controls';
|
|
3
|
+
import { type ControlsProps } from '../components/controls';
|
|
4
4
|
import { Footer } from '../components/footer/Component';
|
|
5
|
-
import { HeaderProps } from '../components/header/Component';
|
|
5
|
+
import { type HeaderProps } from '../components/header/Component';
|
|
6
6
|
declare const ModalDesktopComponent: React.ForwardRefExoticComponent<import("@alfalab/core-components-base-modal").BaseModalProps & {
|
|
7
7
|
size?: "fullscreen" | "s" | "m" | "l" | "xl" | 500 | 600 | 800 | 1140 | undefined;
|
|
8
8
|
fullscreen?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Modal } from '../Component';\nimport { Content } from '../components/content/Component';\nimport { Controls, ControlsProps } from '../components/controls';\nimport { Footer } from '../components/footer/Component';\nimport { Header, HeaderProps } from '../components/header/Component';\nimport type
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { Modal } from '../Component';\nimport { Content } from '../components/content/Component';\nimport { Controls, type ControlsProps } from '../components/controls';\nimport { Footer } from '../components/footer/Component';\nimport { Header, type HeaderProps } from '../components/header/Component';\nimport { type ModalDesktopProps } from '../typings';\n\nconst ModalDesktopComponent = forwardRef<HTMLDivElement, ModalDesktopProps>((props, ref) => (\n <Modal {...props} ref={ref} view='desktop' />\n));\n\nconst HeaderDesktop = Header as React.FC<Omit<HeaderProps, 'titleSize' | 'subtitle'>>;\nconst ControlsDesktop = Controls as React.FC<Omit<ControlsProps, 'mobileLayout'>>;\n\nexport const ModalDesktop = Object.assign(ModalDesktopComponent, {\n Content,\n Header: HeaderDesktop,\n Footer,\n Controls: ControlsDesktop,\n});\n\nexport {\n ModalDesktopComponent as ModalComponentDesktop,\n Content as ContentDesktop,\n HeaderDesktop,\n Footer as FooterDesktop,\n ControlsDesktop,\n};\n"],"names":["forwardRef","React","Modal","__assign","Header","Controls","Content","Footer"],"mappings":";;;;;;;;;;;;;;;;AASA,IAAM,qBAAqB,GAAGA,gBAAU,CAAoC,UAAC,KAAK,EAAE,GAAG,EAAK,EAAA,QACxFC,sBAAA,CAAA,aAAA,CAACC,iBAAK,EAAAC,cAAA,CAAA,EAAA,EAAK,KAAK,EAAA,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,SAAS,EAAA,CAAA,CAAG,EAChD,EAAA;AAEK,IAAA,aAAa,GAAGC;AAChB,IAAA,eAAe,GAAGC;IAEX,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE;AAC7D,IAAA,OAAO,EAAAC,iBAAA;AACP,IAAA,MAAM,EAAE,aAAa;AACrB,IAAA,MAAM,EAAAC,kBAAA;AACN,IAAA,QAAQ,EAAE,eAAe;AAC5B,CAAA;;;;;;;;;"}
|
package/desktop/desktop.css
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--border-radius-3xl: 24px;
|
|
3
|
+
--border-radius-0: 0;
|
|
3
4
|
--border-radius-24: var(--border-radius-3xl);
|
|
4
5
|
} :root {
|
|
5
6
|
--gap-3xl: 40px;
|
|
@@ -12,27 +13,27 @@
|
|
|
12
13
|
--modal-m-width: 600px;
|
|
13
14
|
--modal-l-width: 800px;
|
|
14
15
|
--modal-xl-width: 1140px;
|
|
15
|
-
} .
|
|
16
|
+
} .modal__wrapper_1l79r {
|
|
16
17
|
padding-top: var(--modal-vertical-padding);
|
|
17
18
|
padding-bottom: var(--modal-vertical-padding);
|
|
18
|
-
} .
|
|
19
|
+
} .modal__component_1l79r {
|
|
19
20
|
width: 100%;
|
|
20
21
|
max-width: 100%;
|
|
21
22
|
border-radius: var(--modal-border-radius);
|
|
22
|
-
} .
|
|
23
|
+
} .modal__fullscreen_1l79r {
|
|
23
24
|
padding-top: var(--gap-0);
|
|
24
25
|
padding-bottom: var(--gap-0);
|
|
25
|
-
overflow: hidden
|
|
26
|
-
} .
|
|
26
|
+
overflow: hidden;
|
|
27
|
+
} .modal__fullscreen_1l79r .modal__component_1l79r {
|
|
27
28
|
flex: 1;
|
|
28
|
-
border-radius: 0;
|
|
29
|
+
border-radius: var(--border-radius-0);
|
|
29
30
|
overflow: auto;
|
|
30
|
-
} .modal__size-
|
|
31
|
+
} .modal__size-500_1l79r {
|
|
31
32
|
width: var(--modal-s-width);
|
|
32
|
-
} .modal__size-
|
|
33
|
+
} .modal__size-600_1l79r {
|
|
33
34
|
width: var(--modal-m-width);
|
|
34
|
-
} .modal__size-
|
|
35
|
+
} .modal__size-800_1l79r {
|
|
35
36
|
width: var(--modal-l-width);
|
|
36
|
-
} .modal__size-
|
|
37
|
+
} .modal__size-1140_1l79r {
|
|
37
38
|
width: var(--modal-xl-width);
|
|
38
39
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
require('./desktop.css');
|
|
4
4
|
|
|
5
|
-
var desktopStyles = {"wrapper":"
|
|
5
|
+
var desktopStyles = {"wrapper":"modal__wrapper_1l79r","component":"modal__component_1l79r","fullscreen":"modal__fullscreen_1l79r","size-500":"modal__size-500_1l79r","size-600":"modal__size-600_1l79r","size-800":"modal__size-800_1l79r","size-1140":"modal__size-1140_1l79r"};
|
|
6
6
|
|
|
7
7
|
module.exports = desktopStyles;
|
|
8
8
|
//# sourceMappingURL=desktop.module.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"desktop.module.css.js","sources":["../src/desktop/desktop.module.css"],"sourcesContent":["@import '../vars.css';\n\n.wrapper {\n padding-top: var(--modal-vertical-padding);\n padding-bottom: var(--modal-vertical-padding);\n}\n\n.component {\n width: 100%;\n max-width: 100%;\n border-radius: var(--modal-border-radius);\n}\n\n.fullscreen {\n padding-top: var(--gap-0);\n padding-bottom: var(--gap-0);\n overflow: hidden;\n\n & .component {\n flex: 1;\n border-radius: 0;\n overflow: auto;\n }\n}\n\n.size-500 {\n width: var(--modal-s-width);\n}\n\n.size-600 {\n width: var(--modal-m-width);\n}\n\n.size-800 {\n width: var(--modal-l-width);\n}\n\n.size-1140 {\n width: var(--modal-xl-width);\n}\n"],"names":[],"mappings":";;;;AAEgB,oBAAe,CAAC,SAAS,CAAC,sBAAsB,CAAC,WAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,yBAAyB,CAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,uBAAuB,CAAC,WAAW,CAAC,wBAAwB,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"desktop.module.css.js","sources":["../src/desktop/desktop.module.css"],"sourcesContent":["@import '../vars.css';\n\n.wrapper {\n padding-top: var(--modal-vertical-padding);\n padding-bottom: var(--modal-vertical-padding);\n}\n\n.component {\n width: 100%;\n max-width: 100%;\n border-radius: var(--modal-border-radius);\n}\n\n.fullscreen {\n padding-top: var(--gap-0);\n padding-bottom: var(--gap-0);\n overflow: hidden;\n\n & .component {\n flex: 1;\n border-radius: var(--border-radius-0);\n overflow: auto;\n }\n}\n\n.size-500 {\n width: var(--modal-s-width);\n}\n\n.size-600 {\n width: var(--modal-m-width);\n}\n\n.size-800 {\n width: var(--modal-l-width);\n}\n\n.size-1140 {\n width: var(--modal-xl-width);\n}\n"],"names":[],"mappings":";;;;AAEgB,oBAAe,CAAC,SAAS,CAAC,sBAAsB,CAAC,WAAW,CAAC,wBAAwB,CAAC,YAAY,CAAC,yBAAyB,CAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,uBAAuB,CAAC,WAAW,CAAC,wBAAwB,CAAC;;;;"}
|
package/esm/Component.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { View } from './typings';
|
|
2
|
+
import { type View } from './typings';
|
|
3
3
|
export declare const Modal: React.ForwardRefExoticComponent<import("@alfalab/core-components-base-modal").BaseModalProps & {
|
|
4
4
|
size?: "fullscreen" | "s" | "m" | "l" | "xl" | 500 | 600 | 800 | 1140 | undefined;
|
|
5
5
|
fullscreen?: boolean | undefined;
|