@gravity-ui/page-constructor 7.11.0 → 7.11.1

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.
@@ -20,8 +20,8 @@ export interface CardFooterBaseProps {
20
20
  }
21
21
  export declare const Layout: {
22
22
  (props: CardBasePropsType): import("react/jsx-runtime").JSX.Element;
23
- Header: (props: React.PropsWithChildren<CardHeaderBaseProps>) => React.ReactNode;
24
- Content: (props: React.PropsWithChildren<{}>) => React.ReactNode;
25
- Footer: (props: React.PropsWithChildren<CardFooterBaseProps>) => React.ReactNode;
23
+ Header: (props: React.PropsWithChildren<CardHeaderBaseProps>) => React.ReactElement | null;
24
+ Content: (props: React.PropsWithChildren<{}>) => React.ReactElement | null;
25
+ Footer: (props: React.PropsWithChildren<CardFooterBaseProps>) => React.ReactElement | null;
26
26
  };
27
27
  export default Layout;
@@ -1 +1 @@
1
- {"version":3,"file":"CardBase.js","sourceRoot":"../../../../src","sources":["components/CardBase/CardBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Link} from '@gravity-ui/uikit';\n\nimport {useAnalytics} from '../../hooks';\nimport {\n AnalyticsEventsBase,\n CardBaseProps as CardBaseParams,\n DefaultEventNames,\n ImageProps,\n} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\nimport BackgroundImage from '../BackgroundImage/BackgroundImage';\nimport RouterLink from '../RouterLink/RouterLink';\n\nimport './CardBase.scss';\n\ninterface CardBaseProps extends AnalyticsEventsBase, CardBaseParams {\n className?: string;\n bodyClassName?: string;\n contentClassName?: string;\n url?: string;\n urlTitle?: string;\n target?: React.HTMLAttributeAnchorTarget;\n qa?: string;\n extraProps?: React.HTMLAttributes<HTMLElement>;\n}\n\nexport type CardBasePropsType = React.PropsWithChildren<CardBaseProps>;\n\nexport interface CardHeaderBaseProps {\n className?: string;\n image?: ImageProps | null;\n}\n\nexport interface CardFooterBaseProps {\n className?: string;\n}\n\nconst b = block('card-base-block');\n\nconst Header: (props: React.PropsWithChildren<CardHeaderBaseProps>) => React.ReactNode = () => null;\nconst Content: (props: React.PropsWithChildren<{}>) => React.ReactNode = () => null;\nconst Footer: (props: React.PropsWithChildren<CardFooterBaseProps>) => React.ReactNode = () => null;\n\nexport const Layout = (props: CardBasePropsType) => {\n const {\n className,\n bodyClassName,\n analyticsEvents,\n contentClassName,\n children,\n url,\n target,\n border = 'shadow',\n urlTitle,\n qa,\n extraProps = {},\n } = props;\n const handleAnalytics = useAnalytics(DefaultEventNames.CardBase, url);\n let header, content, footer, image, headerClass, footerClass;\n const qaAttributes = getQaAttrubutes(qa, 'header', 'footer', 'body', 'content');\n\n function handleChild(child: React.ReactElement) {\n switch (child.type) {\n case Header:\n header = child.props.children;\n image = child.props.image;\n headerClass = child.props.className;\n break;\n case Content:\n content = child.props.children;\n break;\n case Footer:\n footer = child.props.children;\n footerClass = child.props.className;\n break;\n }\n }\n\n React.Children.toArray(children).forEach((child) => {\n if (React.isValidElement(child)) {\n handleChild(child);\n }\n });\n\n const cardContent = (\n <React.Fragment>\n {(header || image) && (\n <BackgroundImage\n className={b('header', headerClass)}\n {...(typeof image === 'string' ? {src: image} : image)}\n qa={qaAttributes.header}\n >\n <div className={b('header-content')}>{header}</div>\n </BackgroundImage>\n )}\n <div className={b('body', bodyClassName)} data-qa={qaAttributes.body}>\n <div className={b('content', contentClassName)} data-qa={qaAttributes.content}>\n {content}\n </div>\n {footer && (\n <div className={b('footer', footerClass)} data-qa={qaAttributes.footer}>\n {footer}\n </div>\n )}\n </div>\n </React.Fragment>\n );\n\n const fullClassName = b({border}, className);\n\n const onClick = () => {\n handleAnalytics(analyticsEvents);\n };\n\n return url ? (\n <RouterLink href={url}>\n <Link\n href={url}\n target={target}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n className={fullClassName}\n onClick={onClick}\n title={urlTitle}\n extraProps={{\n draggable: false,\n onDragStart: (e: React.DragEvent<HTMLAnchorElement>) => e.preventDefault(),\n ...extraProps,\n }}\n qa={qa}\n >\n {cardContent}\n </Link>\n </RouterLink>\n ) : (\n <div className={fullClassName} data-qa={qa} {...extraProps}>\n {cardContent}\n </div>\n );\n};\n\nLayout.Header = Header;\nLayout.Content = Content;\nLayout.Footer = Footer;\n\nexport default Layout;\n"]}
1
+ {"version":3,"file":"CardBase.js","sourceRoot":"../../../../src","sources":["components/CardBase/CardBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Link} from '@gravity-ui/uikit';\n\nimport {useAnalytics} from '../../hooks';\nimport {\n AnalyticsEventsBase,\n CardBaseProps as CardBaseParams,\n DefaultEventNames,\n ImageProps,\n} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\nimport BackgroundImage from '../BackgroundImage/BackgroundImage';\nimport RouterLink from '../RouterLink/RouterLink';\n\nimport './CardBase.scss';\n\ninterface CardBaseProps extends AnalyticsEventsBase, CardBaseParams {\n className?: string;\n bodyClassName?: string;\n contentClassName?: string;\n url?: string;\n urlTitle?: string;\n target?: React.HTMLAttributeAnchorTarget;\n qa?: string;\n extraProps?: React.HTMLAttributes<HTMLElement>;\n}\n\nexport type CardBasePropsType = React.PropsWithChildren<CardBaseProps>;\n\nexport interface CardHeaderBaseProps {\n className?: string;\n image?: ImageProps | null;\n}\n\nexport interface CardFooterBaseProps {\n className?: string;\n}\n\nconst b = block('card-base-block');\n\nconst Header: (\n props: React.PropsWithChildren<CardHeaderBaseProps>,\n) => React.ReactElement | null = () => null;\nconst Content: (props: React.PropsWithChildren<{}>) => React.ReactElement | null = () => null;\nconst Footer: (\n props: React.PropsWithChildren<CardFooterBaseProps>,\n) => React.ReactElement | null = () => null;\n\nexport const Layout = (props: CardBasePropsType) => {\n const {\n className,\n bodyClassName,\n analyticsEvents,\n contentClassName,\n children,\n url,\n target,\n border = 'shadow',\n urlTitle,\n qa,\n extraProps = {},\n } = props;\n const handleAnalytics = useAnalytics(DefaultEventNames.CardBase, url);\n let header, content, footer, image, headerClass, footerClass;\n const qaAttributes = getQaAttrubutes(qa, 'header', 'footer', 'body', 'content');\n\n function handleChild(child: React.ReactElement) {\n switch (child.type) {\n case Header:\n header = child.props.children;\n image = child.props.image;\n headerClass = child.props.className;\n break;\n case Content:\n content = child.props.children;\n break;\n case Footer:\n footer = child.props.children;\n footerClass = child.props.className;\n break;\n }\n }\n\n React.Children.toArray(children).forEach((child) => {\n if (React.isValidElement(child)) {\n handleChild(child);\n }\n });\n\n const cardContent = (\n <React.Fragment>\n {(header || image) && (\n <BackgroundImage\n className={b('header', headerClass)}\n {...(typeof image === 'string' ? {src: image} : image)}\n qa={qaAttributes.header}\n >\n <div className={b('header-content')}>{header}</div>\n </BackgroundImage>\n )}\n <div className={b('body', bodyClassName)} data-qa={qaAttributes.body}>\n <div className={b('content', contentClassName)} data-qa={qaAttributes.content}>\n {content}\n </div>\n {footer && (\n <div className={b('footer', footerClass)} data-qa={qaAttributes.footer}>\n {footer}\n </div>\n )}\n </div>\n </React.Fragment>\n );\n\n const fullClassName = b({border}, className);\n\n const onClick = () => {\n handleAnalytics(analyticsEvents);\n };\n\n return url ? (\n <RouterLink href={url}>\n <Link\n href={url}\n target={target}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n className={fullClassName}\n onClick={onClick}\n title={urlTitle}\n extraProps={{\n draggable: false,\n onDragStart: (e: React.DragEvent<HTMLAnchorElement>) => e.preventDefault(),\n ...extraProps,\n }}\n qa={qa}\n >\n {cardContent}\n </Link>\n </RouterLink>\n ) : (\n <div className={fullClassName} data-qa={qa} {...extraProps}>\n {cardContent}\n </div>\n );\n};\n\nLayout.Header = Header;\nLayout.Content = Content;\nLayout.Footer = Footer;\n\nexport default Layout;\n"]}
@@ -6,6 +6,6 @@ interface MediaBaseProps extends MediaBaseBlockProps {
6
6
  }
7
7
  export declare const MediaBase: {
8
8
  (props: MediaBaseProps): import("react/jsx-runtime").JSX.Element;
9
- Card: (props: React.PropsWithChildren<{}>) => React.ReactNode;
9
+ Card: (props: React.PropsWithChildren<{}>) => React.ReactElement | null;
10
10
  };
11
11
  export default MediaBase;
@@ -1 +1 @@
1
- {"version":3,"file":"MediaBase.js","sourceRoot":"../../../../src","sources":["components/MediaBase/MediaBase.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,2FAAsE;AACtE,8CAA0D;AAE1D,gDAAkC;AAClC,sEAAmC;AAEnC,qFAA8C;AAI9C,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,YAAY,CAAC,CAAC;AAE9B,MAAM,IAAI,GAA4D,GAAG,EAAE,CAAC,IAAI,CAAC;AAO1E,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC/C,MAAM,EACF,QAAQ,EACR,UAAU,EACV,SAAS,GAAG,eAAe,EAC3B,eAAe,GAAG,eAAe,EACjC,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,iBAAiB,GAAG,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,EACpC,GAAG,iBAAiB,EACvB,GAAG,KAAK,CAAC;IACV,MAAM,EAAC,KAAK,EAAE,WAAW,EAAC,GAAG,iBAAiB,CAAC;IAE/C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,SAAS;YACZ,CAAC,CAAC,EAAC,CAAC,qBAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAC;YAC5B,CAAC,CAAC,EAAC,CAAC,qBAAc,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACpC,OAAO,EAAC,CAAC,qBAAc,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAC,CAAC;IAC/E,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,YAAY,GAAG,CAAC,SAAS,IAAI,uBAAC,0BAAY,OAAK,iBAAiB,GAAI,CAAC;IAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtE,OAAO,CACH,wBAAC,sBAAY,IAAC,SAAS,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,aAC9D,SAAS,IAAI,CACV,uBAAC,eAAK,IACF,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,iBAAiB,GAC7B,CACL,EACD,uBAAC,WAAI,cACD,wBAAC,UAAG,IACA,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE;wBAChB,OAAO,EAAE,SAAS,KAAK,eAAe;wBACtC,gBAAgB,EAAE,eAAe,KAAK,eAAe;qBACxD,CAAC,aAEF,uBAAC,UAAG,IAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,YAC5C,YAAY,GACX,EACL,IAAI,CAAC,CAAC,CAAC,CACJ,uBAAC,UAAG,IAAC,KAAK,EAAE,UAAU,YAClB,gCAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAAG,IAAI,GAAO,GACrC,CACT,CAAC,CAAC,CAAC,IAAI,IACN,GACH,IACI,CAClB,CAAC;AACN,CAAC,CAAC;AAxDW,QAAA,SAAS,aAwDpB;AAEF,iBAAS,CAAC,IAAI,GAAG,IAAI,CAAC;AAEtB,kBAAe,iBAAS,CAAC","sourcesContent":["import * as React from 'react';\n\nimport AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport {Col, Grid, GridColumnSize, Row} from '../../grid';\nimport {MediaBaseBlockProps} from '../../models';\nimport {block} from '../../utils';\nimport Title from '../Title/Title';\n\nimport MediaContent from './MediaBaseContent';\n\nimport './MediaBase.scss';\n\nconst b = block('media-base');\n\nconst Card: (props: React.PropsWithChildren<{}>) => React.ReactNode = () => null;\n\ninterface MediaBaseProps extends MediaBaseBlockProps {\n children: React.ReactElement;\n onScroll?: () => void;\n}\n\nexport const MediaBase = (props: MediaBaseProps) => {\n const {\n children,\n largeMedia,\n direction = 'content-media',\n mobileDirection = 'content-media',\n animated,\n mediaOnly,\n onScroll,\n mediaOnlyColSizes = {all: 12, md: 8},\n ...mediaContentProps\n } = props;\n const {title, description} = mediaContentProps;\n\n const mediaSizes = React.useMemo(() => {\n return mediaOnly\n ? {[GridColumnSize.All]: 12}\n : {[GridColumnSize.Md]: largeMedia ? 8 : 6, [GridColumnSize.All]: 12};\n }, [mediaOnly, largeMedia]);\n\n const contentSizes = React.useMemo(() => {\n return {[GridColumnSize.Md]: largeMedia ? 4 : 6, [GridColumnSize.All]: 12};\n }, [largeMedia]);\n\n const mediaContent = !mediaOnly && <MediaContent {...mediaContentProps} />;\n const card = children.type === Card ? children?.props.children : null;\n\n return (\n <AnimateBlock className={b()} onScroll={onScroll} animate={animated}>\n {mediaOnly && (\n <Title\n className={b('header')}\n title={title}\n subtitle={description}\n colSizes={mediaOnlyColSizes}\n />\n )}\n <Grid>\n <Row\n className={b('row', {\n reverse: direction === 'media-content',\n 'mobile-reverse': mobileDirection === 'media-content',\n })}\n >\n <Col className={b('content')} sizes={contentSizes}>\n {mediaContent}\n </Col>\n {card ? (\n <Col sizes={mediaSizes}>\n <div className={b('card')}>{card}</div>\n </Col>\n ) : null}\n </Row>\n </Grid>\n </AnimateBlock>\n );\n};\n\nMediaBase.Card = Card;\n\nexport default MediaBase;\n"]}
1
+ {"version":3,"file":"MediaBase.js","sourceRoot":"../../../../src","sources":["components/MediaBase/MediaBase.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,2FAAsE;AACtE,8CAA0D;AAE1D,gDAAkC;AAClC,sEAAmC;AAEnC,qFAA8C;AAI9C,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,YAAY,CAAC,CAAC;AAE9B,MAAM,IAAI,GAAsE,GAAG,EAAE,CAAC,IAAI,CAAC;AAOpF,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC/C,MAAM,EACF,QAAQ,EACR,UAAU,EACV,SAAS,GAAG,eAAe,EAC3B,eAAe,GAAG,eAAe,EACjC,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,iBAAiB,GAAG,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,EACpC,GAAG,iBAAiB,EACvB,GAAG,KAAK,CAAC;IACV,MAAM,EAAC,KAAK,EAAE,WAAW,EAAC,GAAG,iBAAiB,CAAC;IAE/C,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAClC,OAAO,SAAS;YACZ,CAAC,CAAC,EAAC,CAAC,qBAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAC;YAC5B,CAAC,CAAC,EAAC,CAAC,qBAAc,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAC,CAAC;IAC9E,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5B,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACpC,OAAO,EAAC,CAAC,qBAAc,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,qBAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAC,CAAC;IAC/E,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,YAAY,GAAG,CAAC,SAAS,IAAI,uBAAC,0BAAY,OAAK,iBAAiB,GAAI,CAAC;IAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAEtE,OAAO,CACH,wBAAC,sBAAY,IAAC,SAAS,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,aAC9D,SAAS,IAAI,CACV,uBAAC,eAAK,IACF,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,EACtB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,iBAAiB,GAC7B,CACL,EACD,uBAAC,WAAI,cACD,wBAAC,UAAG,IACA,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE;wBAChB,OAAO,EAAE,SAAS,KAAK,eAAe;wBACtC,gBAAgB,EAAE,eAAe,KAAK,eAAe;qBACxD,CAAC,aAEF,uBAAC,UAAG,IAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,YAC5C,YAAY,GACX,EACL,IAAI,CAAC,CAAC,CAAC,CACJ,uBAAC,UAAG,IAAC,KAAK,EAAE,UAAU,YAClB,gCAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAAG,IAAI,GAAO,GACrC,CACT,CAAC,CAAC,CAAC,IAAI,IACN,GACH,IACI,CAClB,CAAC;AACN,CAAC,CAAC;AAxDW,QAAA,SAAS,aAwDpB;AAEF,iBAAS,CAAC,IAAI,GAAG,IAAI,CAAC;AAEtB,kBAAe,iBAAS,CAAC","sourcesContent":["import * as React from 'react';\n\nimport AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport {Col, Grid, GridColumnSize, Row} from '../../grid';\nimport {MediaBaseBlockProps} from '../../models';\nimport {block} from '../../utils';\nimport Title from '../Title/Title';\n\nimport MediaContent from './MediaBaseContent';\n\nimport './MediaBase.scss';\n\nconst b = block('media-base');\n\nconst Card: (props: React.PropsWithChildren<{}>) => React.ReactElement | null = () => null;\n\ninterface MediaBaseProps extends MediaBaseBlockProps {\n children: React.ReactElement;\n onScroll?: () => void;\n}\n\nexport const MediaBase = (props: MediaBaseProps) => {\n const {\n children,\n largeMedia,\n direction = 'content-media',\n mobileDirection = 'content-media',\n animated,\n mediaOnly,\n onScroll,\n mediaOnlyColSizes = {all: 12, md: 8},\n ...mediaContentProps\n } = props;\n const {title, description} = mediaContentProps;\n\n const mediaSizes = React.useMemo(() => {\n return mediaOnly\n ? {[GridColumnSize.All]: 12}\n : {[GridColumnSize.Md]: largeMedia ? 8 : 6, [GridColumnSize.All]: 12};\n }, [mediaOnly, largeMedia]);\n\n const contentSizes = React.useMemo(() => {\n return {[GridColumnSize.Md]: largeMedia ? 4 : 6, [GridColumnSize.All]: 12};\n }, [largeMedia]);\n\n const mediaContent = !mediaOnly && <MediaContent {...mediaContentProps} />;\n const card = children.type === Card ? children?.props.children : null;\n\n return (\n <AnimateBlock className={b()} onScroll={onScroll} animate={animated}>\n {mediaOnly && (\n <Title\n className={b('header')}\n title={title}\n subtitle={description}\n colSizes={mediaOnlyColSizes}\n />\n )}\n <Grid>\n <Row\n className={b('row', {\n reverse: direction === 'media-content',\n 'mobile-reverse': mobileDirection === 'media-content',\n })}\n >\n <Col className={b('content')} sizes={contentSizes}>\n {mediaContent}\n </Col>\n {card ? (\n <Col sizes={mediaSizes}>\n <div className={b('card')}>{card}</div>\n </Col>\n ) : null}\n </Row>\n </Grid>\n </AnimateBlock>\n );\n};\n\nMediaBase.Card = Card;\n\nexport default MediaBase;\n"]}
@@ -21,8 +21,8 @@ export interface CardFooterBaseProps {
21
21
  }
22
22
  export declare const Layout: {
23
23
  (props: CardBasePropsType): import("react/jsx-runtime").JSX.Element;
24
- Header: (props: React.PropsWithChildren<CardHeaderBaseProps>) => React.ReactNode;
25
- Content: (props: React.PropsWithChildren<{}>) => React.ReactNode;
26
- Footer: (props: React.PropsWithChildren<CardFooterBaseProps>) => React.ReactNode;
24
+ Header: (props: React.PropsWithChildren<CardHeaderBaseProps>) => React.ReactElement | null;
25
+ Content: (props: React.PropsWithChildren<{}>) => React.ReactElement | null;
26
+ Footer: (props: React.PropsWithChildren<CardFooterBaseProps>) => React.ReactElement | null;
27
27
  };
28
28
  export default Layout;
@@ -1 +1 @@
1
- {"version":3,"file":"CardBase.js","sourceRoot":"../../../../src","sources":["components/CardBase/CardBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Link} from '@gravity-ui/uikit';\n\nimport {useAnalytics} from '../../hooks';\nimport {\n AnalyticsEventsBase,\n CardBaseProps as CardBaseParams,\n DefaultEventNames,\n ImageProps,\n} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\nimport BackgroundImage from '../BackgroundImage/BackgroundImage';\nimport RouterLink from '../RouterLink/RouterLink';\n\nimport './CardBase.scss';\n\ninterface CardBaseProps extends AnalyticsEventsBase, CardBaseParams {\n className?: string;\n bodyClassName?: string;\n contentClassName?: string;\n url?: string;\n urlTitle?: string;\n target?: React.HTMLAttributeAnchorTarget;\n qa?: string;\n extraProps?: React.HTMLAttributes<HTMLElement>;\n}\n\nexport type CardBasePropsType = React.PropsWithChildren<CardBaseProps>;\n\nexport interface CardHeaderBaseProps {\n className?: string;\n image?: ImageProps | null;\n}\n\nexport interface CardFooterBaseProps {\n className?: string;\n}\n\nconst b = block('card-base-block');\n\nconst Header: (props: React.PropsWithChildren<CardHeaderBaseProps>) => React.ReactNode = () => null;\nconst Content: (props: React.PropsWithChildren<{}>) => React.ReactNode = () => null;\nconst Footer: (props: React.PropsWithChildren<CardFooterBaseProps>) => React.ReactNode = () => null;\n\nexport const Layout = (props: CardBasePropsType) => {\n const {\n className,\n bodyClassName,\n analyticsEvents,\n contentClassName,\n children,\n url,\n target,\n border = 'shadow',\n urlTitle,\n qa,\n extraProps = {},\n } = props;\n const handleAnalytics = useAnalytics(DefaultEventNames.CardBase, url);\n let header, content, footer, image, headerClass, footerClass;\n const qaAttributes = getQaAttrubutes(qa, 'header', 'footer', 'body', 'content');\n\n function handleChild(child: React.ReactElement) {\n switch (child.type) {\n case Header:\n header = child.props.children;\n image = child.props.image;\n headerClass = child.props.className;\n break;\n case Content:\n content = child.props.children;\n break;\n case Footer:\n footer = child.props.children;\n footerClass = child.props.className;\n break;\n }\n }\n\n React.Children.toArray(children).forEach((child) => {\n if (React.isValidElement(child)) {\n handleChild(child);\n }\n });\n\n const cardContent = (\n <React.Fragment>\n {(header || image) && (\n <BackgroundImage\n className={b('header', headerClass)}\n {...(typeof image === 'string' ? {src: image} : image)}\n qa={qaAttributes.header}\n >\n <div className={b('header-content')}>{header}</div>\n </BackgroundImage>\n )}\n <div className={b('body', bodyClassName)} data-qa={qaAttributes.body}>\n <div className={b('content', contentClassName)} data-qa={qaAttributes.content}>\n {content}\n </div>\n {footer && (\n <div className={b('footer', footerClass)} data-qa={qaAttributes.footer}>\n {footer}\n </div>\n )}\n </div>\n </React.Fragment>\n );\n\n const fullClassName = b({border}, className);\n\n const onClick = () => {\n handleAnalytics(analyticsEvents);\n };\n\n return url ? (\n <RouterLink href={url}>\n <Link\n href={url}\n target={target}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n className={fullClassName}\n onClick={onClick}\n title={urlTitle}\n extraProps={{\n draggable: false,\n onDragStart: (e: React.DragEvent<HTMLAnchorElement>) => e.preventDefault(),\n ...extraProps,\n }}\n qa={qa}\n >\n {cardContent}\n </Link>\n </RouterLink>\n ) : (\n <div className={fullClassName} data-qa={qa} {...extraProps}>\n {cardContent}\n </div>\n );\n};\n\nLayout.Header = Header;\nLayout.Content = Content;\nLayout.Footer = Footer;\n\nexport default Layout;\n"]}
1
+ {"version":3,"file":"CardBase.js","sourceRoot":"../../../../src","sources":["components/CardBase/CardBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {Link} from '@gravity-ui/uikit';\n\nimport {useAnalytics} from '../../hooks';\nimport {\n AnalyticsEventsBase,\n CardBaseProps as CardBaseParams,\n DefaultEventNames,\n ImageProps,\n} from '../../models';\nimport {block, getQaAttrubutes} from '../../utils';\nimport BackgroundImage from '../BackgroundImage/BackgroundImage';\nimport RouterLink from '../RouterLink/RouterLink';\n\nimport './CardBase.scss';\n\ninterface CardBaseProps extends AnalyticsEventsBase, CardBaseParams {\n className?: string;\n bodyClassName?: string;\n contentClassName?: string;\n url?: string;\n urlTitle?: string;\n target?: React.HTMLAttributeAnchorTarget;\n qa?: string;\n extraProps?: React.HTMLAttributes<HTMLElement>;\n}\n\nexport type CardBasePropsType = React.PropsWithChildren<CardBaseProps>;\n\nexport interface CardHeaderBaseProps {\n className?: string;\n image?: ImageProps | null;\n}\n\nexport interface CardFooterBaseProps {\n className?: string;\n}\n\nconst b = block('card-base-block');\n\nconst Header: (\n props: React.PropsWithChildren<CardHeaderBaseProps>,\n) => React.ReactElement | null = () => null;\nconst Content: (props: React.PropsWithChildren<{}>) => React.ReactElement | null = () => null;\nconst Footer: (\n props: React.PropsWithChildren<CardFooterBaseProps>,\n) => React.ReactElement | null = () => null;\n\nexport const Layout = (props: CardBasePropsType) => {\n const {\n className,\n bodyClassName,\n analyticsEvents,\n contentClassName,\n children,\n url,\n target,\n border = 'shadow',\n urlTitle,\n qa,\n extraProps = {},\n } = props;\n const handleAnalytics = useAnalytics(DefaultEventNames.CardBase, url);\n let header, content, footer, image, headerClass, footerClass;\n const qaAttributes = getQaAttrubutes(qa, 'header', 'footer', 'body', 'content');\n\n function handleChild(child: React.ReactElement) {\n switch (child.type) {\n case Header:\n header = child.props.children;\n image = child.props.image;\n headerClass = child.props.className;\n break;\n case Content:\n content = child.props.children;\n break;\n case Footer:\n footer = child.props.children;\n footerClass = child.props.className;\n break;\n }\n }\n\n React.Children.toArray(children).forEach((child) => {\n if (React.isValidElement(child)) {\n handleChild(child);\n }\n });\n\n const cardContent = (\n <React.Fragment>\n {(header || image) && (\n <BackgroundImage\n className={b('header', headerClass)}\n {...(typeof image === 'string' ? {src: image} : image)}\n qa={qaAttributes.header}\n >\n <div className={b('header-content')}>{header}</div>\n </BackgroundImage>\n )}\n <div className={b('body', bodyClassName)} data-qa={qaAttributes.body}>\n <div className={b('content', contentClassName)} data-qa={qaAttributes.content}>\n {content}\n </div>\n {footer && (\n <div className={b('footer', footerClass)} data-qa={qaAttributes.footer}>\n {footer}\n </div>\n )}\n </div>\n </React.Fragment>\n );\n\n const fullClassName = b({border}, className);\n\n const onClick = () => {\n handleAnalytics(analyticsEvents);\n };\n\n return url ? (\n <RouterLink href={url}>\n <Link\n href={url}\n target={target}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n className={fullClassName}\n onClick={onClick}\n title={urlTitle}\n extraProps={{\n draggable: false,\n onDragStart: (e: React.DragEvent<HTMLAnchorElement>) => e.preventDefault(),\n ...extraProps,\n }}\n qa={qa}\n >\n {cardContent}\n </Link>\n </RouterLink>\n ) : (\n <div className={fullClassName} data-qa={qa} {...extraProps}>\n {cardContent}\n </div>\n );\n};\n\nLayout.Header = Header;\nLayout.Content = Content;\nLayout.Footer = Footer;\n\nexport default Layout;\n"]}
@@ -7,6 +7,6 @@ interface MediaBaseProps extends MediaBaseBlockProps {
7
7
  }
8
8
  export declare const MediaBase: {
9
9
  (props: MediaBaseProps): import("react/jsx-runtime").JSX.Element;
10
- Card: (props: React.PropsWithChildren<{}>) => React.ReactNode;
10
+ Card: (props: React.PropsWithChildren<{}>) => React.ReactElement | null;
11
11
  };
12
12
  export default MediaBase;
@@ -1 +1 @@
1
- {"version":3,"file":"MediaBase.js","sourceRoot":"../../../../src","sources":["components/MediaBase/MediaBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport {Col, Grid, GridColumnSize, Row} from '../../grid';\nimport {MediaBaseBlockProps} from '../../models';\nimport {block} from '../../utils';\nimport Title from '../Title/Title';\n\nimport MediaContent from './MediaBaseContent';\n\nimport './MediaBase.scss';\n\nconst b = block('media-base');\n\nconst Card: (props: React.PropsWithChildren<{}>) => React.ReactNode = () => null;\n\ninterface MediaBaseProps extends MediaBaseBlockProps {\n children: React.ReactElement;\n onScroll?: () => void;\n}\n\nexport const MediaBase = (props: MediaBaseProps) => {\n const {\n children,\n largeMedia,\n direction = 'content-media',\n mobileDirection = 'content-media',\n animated,\n mediaOnly,\n onScroll,\n mediaOnlyColSizes = {all: 12, md: 8},\n ...mediaContentProps\n } = props;\n const {title, description} = mediaContentProps;\n\n const mediaSizes = React.useMemo(() => {\n return mediaOnly\n ? {[GridColumnSize.All]: 12}\n : {[GridColumnSize.Md]: largeMedia ? 8 : 6, [GridColumnSize.All]: 12};\n }, [mediaOnly, largeMedia]);\n\n const contentSizes = React.useMemo(() => {\n return {[GridColumnSize.Md]: largeMedia ? 4 : 6, [GridColumnSize.All]: 12};\n }, [largeMedia]);\n\n const mediaContent = !mediaOnly && <MediaContent {...mediaContentProps} />;\n const card = children.type === Card ? children?.props.children : null;\n\n return (\n <AnimateBlock className={b()} onScroll={onScroll} animate={animated}>\n {mediaOnly && (\n <Title\n className={b('header')}\n title={title}\n subtitle={description}\n colSizes={mediaOnlyColSizes}\n />\n )}\n <Grid>\n <Row\n className={b('row', {\n reverse: direction === 'media-content',\n 'mobile-reverse': mobileDirection === 'media-content',\n })}\n >\n <Col className={b('content')} sizes={contentSizes}>\n {mediaContent}\n </Col>\n {card ? (\n <Col sizes={mediaSizes}>\n <div className={b('card')}>{card}</div>\n </Col>\n ) : null}\n </Row>\n </Grid>\n </AnimateBlock>\n );\n};\n\nMediaBase.Card = Card;\n\nexport default MediaBase;\n"]}
1
+ {"version":3,"file":"MediaBase.js","sourceRoot":"../../../../src","sources":["components/MediaBase/MediaBase.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport AnimateBlock from '../../components/AnimateBlock/AnimateBlock';\nimport {Col, Grid, GridColumnSize, Row} from '../../grid';\nimport {MediaBaseBlockProps} from '../../models';\nimport {block} from '../../utils';\nimport Title from '../Title/Title';\n\nimport MediaContent from './MediaBaseContent';\n\nimport './MediaBase.scss';\n\nconst b = block('media-base');\n\nconst Card: (props: React.PropsWithChildren<{}>) => React.ReactElement | null = () => null;\n\ninterface MediaBaseProps extends MediaBaseBlockProps {\n children: React.ReactElement;\n onScroll?: () => void;\n}\n\nexport const MediaBase = (props: MediaBaseProps) => {\n const {\n children,\n largeMedia,\n direction = 'content-media',\n mobileDirection = 'content-media',\n animated,\n mediaOnly,\n onScroll,\n mediaOnlyColSizes = {all: 12, md: 8},\n ...mediaContentProps\n } = props;\n const {title, description} = mediaContentProps;\n\n const mediaSizes = React.useMemo(() => {\n return mediaOnly\n ? {[GridColumnSize.All]: 12}\n : {[GridColumnSize.Md]: largeMedia ? 8 : 6, [GridColumnSize.All]: 12};\n }, [mediaOnly, largeMedia]);\n\n const contentSizes = React.useMemo(() => {\n return {[GridColumnSize.Md]: largeMedia ? 4 : 6, [GridColumnSize.All]: 12};\n }, [largeMedia]);\n\n const mediaContent = !mediaOnly && <MediaContent {...mediaContentProps} />;\n const card = children.type === Card ? children?.props.children : null;\n\n return (\n <AnimateBlock className={b()} onScroll={onScroll} animate={animated}>\n {mediaOnly && (\n <Title\n className={b('header')}\n title={title}\n subtitle={description}\n colSizes={mediaOnlyColSizes}\n />\n )}\n <Grid>\n <Row\n className={b('row', {\n reverse: direction === 'media-content',\n 'mobile-reverse': mobileDirection === 'media-content',\n })}\n >\n <Col className={b('content')} sizes={contentSizes}>\n {mediaContent}\n </Col>\n {card ? (\n <Col sizes={mediaSizes}>\n <div className={b('card')}>{card}</div>\n </Col>\n ) : null}\n </Row>\n </Grid>\n </AnimateBlock>\n );\n};\n\nMediaBase.Card = Card;\n\nexport default MediaBase;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/page-constructor",
3
- "version": "7.11.0",
3
+ "version": "7.11.1",
4
4
  "description": "Gravity UI Page Constructor",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",
package/widget/index.js CHANGED
@@ -1 +1 @@
1
- export default "(self.webpackChunk_gravity_ui_page_constructor=self.webpackChunk_gravity_ui_page_constructor||[]).push([[1349],{31349:function(_,t,Y){_.exports=function(_){\"use strict\";function t(_){return _&&\"object\"==typeof _&&\"default\"in _?_:{default:_}}var Y=t(_),e={name:\"zh-tw\",weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"週日_週一_週二_週三_週四_週五_週六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),ordinal:function(_,t){return\"W\"===t?_+\"週\":_+\"日\"},formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日 HH:mm\",LLLL:\"YYYY年M月D日dddd HH:mm\",l:\"YYYY/M/D\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日dddd HH:mm\"},relativeTime:{future:\"%s內\",past:\"%s前\",s:\"幾秒\",m:\"1 分鐘\",mm:\"%d 分鐘\",h:\"1 小時\",hh:\"%d 小時\",d:\"1 天\",dd:\"%d 天\",M:\"1 個月\",MM:\"%d 個月\",y:\"1 年\",yy:\"%d 年\"},meridiem:function(_,t){var Y=100*_+t;return Y<600?\"凌晨\":Y<900?\"早上\":Y<1100?\"上午\":Y<1300?\"中午\":Y<1800?\"下午\":\"晚上\"}};return Y.default.locale(e,null,!0),e}(Y(74353))}}]);";
1
+ export default "(self.webpackChunk_gravity_ui_page_constructor=self.webpackChunk_gravity_ui_page_constructor||[]).push([[6007],{56007:function(_,t,e){_.exports=function(_){\"use strict\";function t(_){return _&&\"object\"==typeof _&&\"default\"in _?_:{default:_}}var e=t(_),Y={name:\"zh\",weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"周日_周一_周二_周三_周四_周五_周六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),ordinal:function(_,t){return\"W\"===t?_+\"周\":_+\"日\"},weekStart:1,yearStart:4,formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日Ah点mm分\",LLLL:\"YYYY年M月D日ddddAh点mm分\",l:\"YYYY/M/D\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日dddd HH:mm\"},relativeTime:{future:\"%s后\",past:\"%s前\",s:\"几秒\",m:\"1 分钟\",mm:\"%d 分钟\",h:\"1 小时\",hh:\"%d 小时\",d:\"1 天\",dd:\"%d 天\",M:\"1 个月\",MM:\"%d 个月\",y:\"1 年\",yy:\"%d 年\"},meridiem:function(_,t){var e=100*_+t;return e<600?\"凌晨\":e<900?\"早上\":e<1100?\"上午\":e<1300?\"中午\":e<1800?\"下午\":\"晚上\"}};return e.default.locale(Y,null,!0),Y}(e(74353))}}]);";