@foxford/ui 2.126.0 → 2.127.0
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/components/Dialog/Dialog.js +1 -1
- package/components/Dialog/Dialog.js.map +1 -1
- package/components/Dialog/Dialog.mjs +1 -1
- package/components/Dialog/Dialog.mjs.map +1 -1
- package/components/Dialog/style.js +1 -1
- package/components/Dialog/style.js.map +1 -1
- package/components/Dialog/style.mjs +1 -1
- package/components/Dialog/style.mjs.map +1 -1
- package/components/DialogComponent/Body.js +2 -0
- package/components/DialogComponent/Body.js.map +1 -0
- package/components/DialogComponent/Body.mjs +2 -0
- package/components/DialogComponent/Body.mjs.map +1 -0
- package/components/DialogComponent/DialogComponent.js +1 -1
- package/components/DialogComponent/DialogComponent.js.map +1 -1
- package/components/DialogComponent/DialogComponent.mjs +1 -1
- package/components/DialogComponent/DialogComponent.mjs.map +1 -1
- package/components/DialogComponent/DraggingHandle.js +2 -0
- package/components/DialogComponent/DraggingHandle.js.map +1 -0
- package/components/DialogComponent/DraggingHandle.mjs +2 -0
- package/components/DialogComponent/DraggingHandle.mjs.map +1 -0
- package/components/DialogComponent/MediaBlock.js +2 -0
- package/components/DialogComponent/MediaBlock.js.map +1 -0
- package/components/DialogComponent/MediaBlock.mjs +2 -0
- package/components/DialogComponent/MediaBlock.mjs.map +1 -0
- package/components/DialogComponent/layouts.js +1 -1
- package/components/DialogComponent/layouts.js.map +1 -1
- package/components/DialogComponent/layouts.mjs +1 -1
- package/components/DialogComponent/layouts.mjs.map +1 -1
- package/components/DialogComponent/sizes.js +1 -1
- package/components/DialogComponent/sizes.js.map +1 -1
- package/components/DialogComponent/sizes.mjs +1 -1
- package/components/DialogComponent/sizes.mjs.map +1 -1
- package/components/DialogComponent/style.js +1 -1
- package/components/DialogComponent/style.js.map +1 -1
- package/components/DialogComponent/style.mjs +1 -1
- package/components/DialogComponent/style.mjs.map +1 -1
- package/dts/index.d.ts +70 -36
- package/hooks/useScrollLock.js +1 -1
- package/hooks/useScrollLock.js.map +1 -1
- package/hooks/useScrollLock.mjs +1 -1
- package/hooks/useScrollLock.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var React=require('react');var ReactModal=require('react-modal');var withMergedProps=require('../../hocs/withMergedProps.js');var withTranslation=require('../../hocs/withTranslation.js');var misc=require('../../shared/utils/misc.js');var useScrollLock=require('../../hooks/useScrollLock.js');var sizes=require('./sizes.js');var positions=require('./positions.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var DialogComponent=require('../DialogComponent/DialogComponent.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ReactModal__default=_interopDefault(ReactModal);const TranslationDialogComponent=withTranslation.withTranslation(React.forwardRef((e,o)=>{const{positions:s={},translated:
|
|
1
|
+
'use strict';var React=require('react');var ReactModal=require('react-modal');var withMergedProps=require('../../hocs/withMergedProps.js');var withTranslation=require('../../hocs/withTranslation.js');var misc=require('../../shared/utils/misc.js');var useScrollLock=require('../../hooks/useScrollLock.js');var sizes=require('./sizes.js');var positions=require('./positions.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var DialogComponent=require('../DialogComponent/DialogComponent.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var ReactModal__default=_interopDefault(ReactModal);const TranslationDialogComponent=withTranslation.withTranslation(React.forwardRef((e,o)=>{const{positions:s={},translated:r,...l}=e;const n=r?{}:misc.deepmerge(positions.POSITIONS,s);return jsxRuntime.jsx(style.PositionedDialogComponent,{...l,positions:n,ref:o})}));const Dialog=Object.assign(withMergedProps.withMergedProps(e=>{const{size:o="s",position:s="center",role:r="dialog",open:l,preventScrollAfterClose:n,closeTimeoutMS:a,portalClassName:t,className:i,bodyOpenClassName:c,htmlOpenClassName:u,overlayClassName:p,shouldCloseOnOverlayClick:d,shouldCloseOnEsc:C,shouldReturnFocusAfterClose:m,parentSelector:g,overlayRef:v,contentRef:D,palette:f,overlayBlur:h,overlayDisabled:y,zIndex:M,scrollLock:w,onAfterOpen:N,onAfterClose:R,onRequestClose:j,...k}=e;const O=k.draggable||y;return useScrollLock.useScrollLock({reserveScrollbarGutter:!0,locked:!1,...w}),jsxRuntime.jsx(ReactModal__default.default,{isOpen:l,ariaHideApp:!1,preventScroll:n,closeTimeoutMS:a,portalClassName:t,className:i,bodyOpenClassName:c,htmlOpenClassName:u,overlayClassName:p,shouldCloseOnOverlayClick:d,shouldCloseOnEsc:C,shouldReturnFocusAfterClose:m,parentSelector:g,overlayRef:v,contentRef:D,onAfterOpen:N,onAfterClose:R,onRequestClose:j,contentElement:e=>{const{ref:l,className:n,tabIndex:a,onKeyDown:t,onMouseDown:i,onMouseUp:c,onClick:u}=e;return jsxRuntime.jsx(TranslationDialogComponent,{...k,ref:l,size:o,role:r,className:n,tabIndex:a,position:s,"aria-modal":!k.draggable&&!y,palette:{color:f.color,backgroundColor:f.backgroundColor,shadowColor:f.shadowColor},zIndex:O?M:void 0,onKeyDown:e=>{k.onKeyDown&&k.onKeyDown(e),t&&t(e)},onMouseDown:e=>{k.onMouseDown&&k.onMouseDown(e),i&&i(e)},onMouseUp:e=>{k.onMouseUp&&k.onMouseUp(e),c&&c(e)},onClick:e=>{k.onClick&&k.onClick(e),u&&u(e)}})},overlayElement:(e,o)=>{const{ref:s,className:r,onClick:l,onMouseDown:n}=e;return O?o:jsxRuntime.jsx(style.DialogOverlay,{ref:s,className:r,blur:h,palette:{backgroundColor:f.overlayBackgroundColor},zIndex:M,onClick:l,onMouseDown:n,children:o})}})},{sizes:e=>e.fancy?sizes.SIZES_FANCY:sizes.SIZES,displayName:"Dialog"}),{Component:DialogComponent.DialogComponent});exports.COMPONENT_NAME="Dialog",exports.Dialog=Dialog;
|
|
2
2
|
//# sourceMappingURL=Dialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport ReactModal from 'react-modal'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { withTranslation } from 'hocs/withTranslation'\nimport type { InjectedTranslationProps } from 'hocs/withTranslation'\nimport { DialogComponent } from 'components/DialogComponent'\nimport { deepmerge } from 'shared/utils/misc'\nimport { useScrollLock } from 'hooks/useScrollLock'\nimport { SIZES, SIZES_FANCY } from './sizes'\nimport { POSITIONS } from './positions'\nimport * as Styled from './style'\nimport type { DialogProps, TranslationDialogComponentProps } from './types'\n\nconst COMPONENT_NAME = 'Dialog'\n\nconst TranslationDialogComponent = withTranslation<HTMLDivElement, TranslationDialogComponentProps>(\n forwardRef<HTMLDivElement, InjectedTranslationProps<HTMLDivElement, TranslationDialogComponentProps>>(\n (props, ref) => {\n const { positions = {}, translated, ...restProps } = props\n\n const dialogPositions = translated ? {} : deepmerge(POSITIONS, positions)\n\n return <Styled.PositionedDialogComponent {...restProps} positions={dialogPositions} ref={ref} />\n }\n )\n)\n\n/**\n *\n * Компонент для отображения контента поверх основного интерфейса.\n *\n * Поддерживаются все нативные атрибуты \\<div\\> элемента.\n */\nconst Dialog: React.ForwardRefExoticComponent<DialogProps> & { Component: typeof DialogComponent } = Object.assign(\n withMergedProps<DialogProps, HTMLDivElement>(\n (props) => {\n const {\n size = 's',\n position = 'center',\n role = 'dialog',\n open,\n preventScrollAfterClose,\n closeTimeoutMS,\n portalClassName,\n className,\n bodyOpenClassName,\n htmlOpenClassName,\n overlayClassName,\n shouldCloseOnOverlayClick,\n shouldCloseOnEsc,\n shouldReturnFocusAfterClose,\n parentSelector,\n overlayRef,\n contentRef,\n palette,\n overlayBlur,\n overlayDisabled,\n zIndex,\n scrollLock,\n onAfterOpen,\n onAfterClose,\n onRequestClose,\n ...dialogProps\n } = props\n\n const overlayElementDisabled = dialogProps.draggable || overlayDisabled\n\n useScrollLock(
|
|
1
|
+
{"version":3,"file":"Dialog.js","sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport ReactModal from 'react-modal'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { withTranslation } from 'hocs/withTranslation'\nimport type { InjectedTranslationProps } from 'hocs/withTranslation'\nimport { DialogComponent } from 'components/DialogComponent'\nimport { deepmerge } from 'shared/utils/misc'\nimport { useScrollLock } from 'hooks/useScrollLock'\nimport { SIZES, SIZES_FANCY } from './sizes'\nimport { POSITIONS } from './positions'\nimport * as Styled from './style'\nimport type { DialogProps, TranslationDialogComponentProps } from './types'\n\nconst COMPONENT_NAME = 'Dialog'\n\nconst TranslationDialogComponent = withTranslation<HTMLDivElement, TranslationDialogComponentProps>(\n forwardRef<HTMLDivElement, InjectedTranslationProps<HTMLDivElement, TranslationDialogComponentProps>>(\n (props, ref) => {\n const { positions = {}, translated, ...restProps } = props\n\n const dialogPositions = translated ? {} : deepmerge(POSITIONS, positions)\n\n return <Styled.PositionedDialogComponent {...restProps} positions={dialogPositions} ref={ref} />\n }\n )\n)\n\n/**\n *\n * *v2.0.0*\n *\n * Компонент для отображения контента поверх основного интерфейса.\n *\n * Поддерживаются все нативные атрибуты \\<div\\> элемента.\n */\nconst Dialog: React.ForwardRefExoticComponent<DialogProps> & { Component: typeof DialogComponent } = Object.assign(\n withMergedProps<DialogProps, HTMLDivElement>(\n (props) => {\n const {\n size = 's',\n position = 'center',\n role = 'dialog',\n open,\n preventScrollAfterClose,\n closeTimeoutMS,\n portalClassName,\n className,\n bodyOpenClassName,\n htmlOpenClassName,\n overlayClassName,\n shouldCloseOnOverlayClick,\n shouldCloseOnEsc,\n shouldReturnFocusAfterClose,\n parentSelector,\n overlayRef,\n contentRef,\n palette,\n overlayBlur,\n overlayDisabled,\n zIndex,\n scrollLock,\n onAfterOpen,\n onAfterClose,\n onRequestClose,\n ...dialogProps\n } = props\n\n const overlayElementDisabled = dialogProps.draggable || overlayDisabled\n\n useScrollLock({ reserveScrollbarGutter: true, locked: false, ...scrollLock })\n\n return (\n <ReactModal\n isOpen={open}\n ariaHideApp={false}\n preventScroll={preventScrollAfterClose}\n closeTimeoutMS={closeTimeoutMS}\n portalClassName={portalClassName}\n className={className}\n bodyOpenClassName={bodyOpenClassName}\n htmlOpenClassName={htmlOpenClassName}\n overlayClassName={overlayClassName}\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n shouldCloseOnEsc={shouldCloseOnEsc}\n shouldReturnFocusAfterClose={shouldReturnFocusAfterClose}\n parentSelector={parentSelector}\n overlayRef={overlayRef}\n contentRef={contentRef}\n onAfterOpen={onAfterOpen}\n onAfterClose={onAfterClose}\n onRequestClose={onRequestClose}\n contentElement={(contentProps) => {\n const {\n ref,\n className: contentElementClassName,\n tabIndex,\n onKeyDown,\n onMouseDown,\n onMouseUp,\n onClick,\n } = contentProps\n\n return (\n <TranslationDialogComponent\n {...dialogProps}\n ref={ref}\n size={size}\n role={role}\n className={contentElementClassName}\n tabIndex={tabIndex}\n position={position}\n aria-modal={!dialogProps.draggable && !overlayDisabled}\n palette={{\n color: palette.color,\n backgroundColor: palette.backgroundColor,\n shadowColor: palette.shadowColor,\n }}\n zIndex={overlayElementDisabled ? zIndex : undefined}\n onKeyDown={(evt) => {\n if (dialogProps.onKeyDown) dialogProps.onKeyDown(evt)\n if (onKeyDown) onKeyDown(evt)\n }}\n onMouseDown={(evt) => {\n if (dialogProps.onMouseDown) dialogProps.onMouseDown(evt)\n if (onMouseDown) onMouseDown(evt)\n }}\n onMouseUp={(evt) => {\n if (dialogProps.onMouseUp) dialogProps.onMouseUp(evt)\n if (onMouseUp) onMouseUp(evt)\n }}\n onClick={(evt) => {\n if (dialogProps.onClick) dialogProps.onClick(evt)\n if (onClick) onClick(evt)\n }}\n />\n )\n }}\n overlayElement={(overlayProps, contentElement) => {\n const { ref, className: overlayElementClassName, onClick, onMouseDown } = overlayProps\n\n return overlayElementDisabled ? (\n contentElement\n ) : (\n <Styled.DialogOverlay\n ref={ref}\n className={overlayElementClassName}\n blur={overlayBlur}\n palette={{\n backgroundColor: palette.overlayBackgroundColor,\n }}\n zIndex={zIndex}\n onClick={onClick}\n onMouseDown={onMouseDown}\n >\n {contentElement}\n </Styled.DialogOverlay>\n )\n }}\n />\n )\n },\n {\n sizes: (props) => (props.fancy ? SIZES_FANCY : SIZES),\n displayName: COMPONENT_NAME,\n }\n ),\n {\n Component: DialogComponent,\n }\n)\n\nexport { Dialog }\n\nexport { COMPONENT_NAME }\n"],"names":["TranslationDialogComponent","withTranslation","forwardRef","props","ref","positions","translated","restProps","dialogPositions","deepmerge","POSITIONS","_jsx","Styled","Dialog","Object","assign","withMergedProps","size","position","role","open","preventScrollAfterClose","closeTimeoutMS","portalClassName","className","bodyOpenClassName","htmlOpenClassName","overlayClassName","shouldCloseOnOverlayClick","shouldCloseOnEsc","shouldReturnFocusAfterClose","parentSelector","overlayRef","contentRef","palette","overlayBlur","overlayDisabled","zIndex","scrollLock","onAfterOpen","onAfterClose","onRequestClose","dialogProps","overlayElementDisabled","draggable","useScrollLock","reserveScrollbarGutter","locked","ReactModal","isOpen","ariaHideApp","preventScroll","contentElement","contentProps","contentElementClassName","tabIndex","onKeyDown","onMouseDown","onMouseUp","onClick","color","backgroundColor","shadowColor","undefined","evt","overlayElement","overlayProps","overlayElementClassName","blur","overlayBackgroundColor","children","sizes","fancy","SIZES_FANCY","SIZES","displayName","Component","DialogComponent"],"mappings":"+nBAeA,MAAMA,2BAA6BC,gBAAAA,gBACjCC,MAAAA,WACE,CAACC,EAAOC,KACN,gBAAQC,EAAY,CAAA,EAAEC,WAAEA,KAAeC,GAAcJ,EAErD,MAAMK,EAAkBF,EAAa,CAAA,EAAKG,KAAAA,UAAUC,UAAAA,UAAWL,GAE/D,OAAOM,WAAAA,IAACC,MAAAA,0BAAgC,IAAKL,EAAWF,UAAWG,EAAiBJ,IAAKA,OAa/F,MAAMS,OAA+FC,OAAOC,OAC1GC,gBAAAA,gBACGb,IACC,MAAMc,KACJA,EAAO,IAAGC,SACVA,EAAW,SAAQC,KACnBA,EAAO,SAAQC,KACfA,EAAIC,wBACJA,EAAuBC,eACvBA,EAAcC,gBACdA,EAAeC,UACfA,EAASC,kBACTA,EAAiBC,kBACjBA,EAAiBC,iBACjBA,EAAgBC,0BAChBA,EAAyBC,iBACzBA,EAAgBC,4BAChBA,EAA2BC,eAC3BA,EAAcC,WACdA,EAAUC,WACVA,EAAUC,QACVA,EAAOC,YACPA,EAAWC,gBACXA,EAAeC,OACfA,EAAMC,WACNA,EAAUC,YACVA,EAAWC,aACXA,EAAYC,eACZA,KACGC,GACDvC,EAEJ,MAAMwC,EAAyBD,EAAYE,WAAaR,EAIxD,OAFAS,4BAAc,CAAEC,wBAAwB,EAAMC,QAAQ,KAAUT,IAG9D3B,WAAAA,IAACqC,oBAAAA,QAAU,CACTC,OAAQ7B,EACR8B,aAAa,EACbC,cAAe9B,EACfC,eAAgBA,EAChBC,gBAAiBA,EACjBC,UAAWA,EACXC,kBAAmBA,EACnBC,kBAAmBA,EACnBC,iBAAkBA,EAClBC,0BAA2BA,EAC3BC,iBAAkBA,EAClBC,4BAA6BA,EAC7BC,eAAgBA,EAChBC,WAAYA,EACZC,WAAYA,EACZM,YAAaA,EACbC,aAAcA,EACdC,eAAgBA,EAChBW,eAAiBC,IACf,MAAMjD,IACJA,EACAoB,UAAW8B,EAAuBC,SAClCA,EAAQC,UACRA,EAASC,YACTA,EAAWC,UACXA,EAASC,QACTA,GACEN,EAEJ,OACE1C,WAAAA,IAACX,2BAA0B,IACrB0C,EACJtC,IAAKA,EACLa,KAAMA,EACNE,KAAMA,EACNK,UAAW8B,EACXC,SAAUA,EACVrC,SAAUA,EACV,cAAawB,EAAYE,YAAcR,EACvCF,QAAS,CACP0B,MAAO1B,EAAQ0B,MACfC,gBAAiB3B,EAAQ2B,gBACzBC,YAAa5B,EAAQ4B,aAEvBzB,OAAQM,EAAyBN,OAAS0B,EAC1CP,UAAYQ,IACNtB,EAAYc,WAAWd,EAAYc,UAAUQ,GAC7CR,GAAWA,EAAUQ,IAE3BP,YAAcO,IACRtB,EAAYe,aAAaf,EAAYe,YAAYO,GACjDP,GAAaA,EAAYO,IAE/BN,UAAYM,IACNtB,EAAYgB,WAAWhB,EAAYgB,UAAUM,GAC7CN,GAAWA,EAAUM,IAE3BL,QAAUK,IACJtB,EAAYiB,SAASjB,EAAYiB,QAAQK,GACzCL,GAASA,EAAQK,OAK7BC,eAAgBA,CAACC,EAAcd,KAC7B,MAAMhD,IAAEA,EAAKoB,UAAW2C,EAAuBR,QAAEA,EAAOF,YAAEA,GAAgBS,EAE1E,OAAOvB,EACLS,EAEAzC,WAAAA,IAACC,oBAAoB,CACnBR,IAAKA,EACLoB,UAAW2C,EACXC,KAAMjC,EACND,QAAS,CACP2B,gBAAiB3B,EAAQmC,wBAE3BhC,OAAQA,EACRsB,QAASA,EACTF,YAAaA,EAAYa,SAExBlB,QAOb,CACEmB,MAAQpE,GAAWA,EAAMqE,MAAQC,MAAAA,YAAcC,MAAAA,MAC/CC,YAtJiB,WAyJrB,CACEC,UAAWC,gBAAAA,yCA1JQ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{forwardRef}from'react';import ReactModal from'react-modal';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{withTranslation}from'../../hocs/withTranslation.mjs';import{deepmerge}from'../../shared/utils/misc.mjs';import{useScrollLock}from'../../hooks/useScrollLock.mjs';import{SIZES_FANCY,SIZES}from'./sizes.mjs';import{POSITIONS}from'./positions.mjs';import{DialogOverlay,PositionedDialogComponent}from'./style.mjs';import{jsx}from'react/jsx-runtime';import{DialogComponent}from'../DialogComponent/DialogComponent.mjs';const COMPONENT_NAME='Dialog';const TranslationDialogComponent=withTranslation(forwardRef((o,e)=>{const{positions:s={},translated:n,...l}=o;const r=n?{}:deepmerge(POSITIONS,s);return jsx(PositionedDialogComponent,{...l,positions:r,ref:e})}));const Dialog=Object.assign(withMergedProps(o=>{const{size:e="s",position:s="center",role:n="dialog",open:l,preventScrollAfterClose:r,closeTimeoutMS:a,portalClassName:t,className:i,bodyOpenClassName:m,htmlOpenClassName:c,overlayClassName:p,shouldCloseOnOverlayClick:C,shouldCloseOnEsc:d,shouldReturnFocusAfterClose:u,parentSelector:f,overlayRef:g,contentRef:D,palette:N,overlayBlur:O,overlayDisabled:
|
|
1
|
+
import{forwardRef}from'react';import ReactModal from'react-modal';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{withTranslation}from'../../hocs/withTranslation.mjs';import{deepmerge}from'../../shared/utils/misc.mjs';import{useScrollLock}from'../../hooks/useScrollLock.mjs';import{SIZES_FANCY,SIZES}from'./sizes.mjs';import{POSITIONS}from'./positions.mjs';import{DialogOverlay,PositionedDialogComponent}from'./style.mjs';import{jsx}from'react/jsx-runtime';import{DialogComponent}from'../DialogComponent/DialogComponent.mjs';const COMPONENT_NAME='Dialog';const TranslationDialogComponent=withTranslation(forwardRef((o,e)=>{const{positions:s={},translated:n,...l}=o;const r=n?{}:deepmerge(POSITIONS,s);return jsx(PositionedDialogComponent,{...l,positions:r,ref:e})}));const Dialog=Object.assign(withMergedProps(o=>{const{size:e="s",position:s="center",role:n="dialog",open:l,preventScrollAfterClose:r,closeTimeoutMS:a,portalClassName:t,className:i,bodyOpenClassName:m,htmlOpenClassName:c,overlayClassName:p,shouldCloseOnOverlayClick:C,shouldCloseOnEsc:d,shouldReturnFocusAfterClose:u,parentSelector:f,overlayRef:g,contentRef:D,palette:N,overlayBlur:O,overlayDisabled:S,zIndex:h,scrollLock:y,onAfterOpen:M,onAfterClose:w,onRequestClose:k,...v}=o;const j=v.draggable||S;return useScrollLock({reserveScrollbarGutter:!0,locked:!1,...y}),jsx(ReactModal,{isOpen:l,ariaHideApp:!1,preventScroll:r,closeTimeoutMS:a,portalClassName:t,className:i,bodyOpenClassName:m,htmlOpenClassName:c,overlayClassName:p,shouldCloseOnOverlayClick:C,shouldCloseOnEsc:d,shouldReturnFocusAfterClose:u,parentSelector:f,overlayRef:g,contentRef:D,onAfterOpen:M,onAfterClose:w,onRequestClose:k,contentElement:o=>{const{ref:l,className:r,tabIndex:a,onKeyDown:t,onMouseDown:i,onMouseUp:m,onClick:c}=o;return jsx(TranslationDialogComponent,{...v,ref:l,size:e,role:n,className:r,tabIndex:a,position:s,"aria-modal":!v.draggable&&!S,palette:{color:N.color,backgroundColor:N.backgroundColor,shadowColor:N.shadowColor},zIndex:j?h:void 0,onKeyDown:o=>{v.onKeyDown&&v.onKeyDown(o),t&&t(o)},onMouseDown:o=>{v.onMouseDown&&v.onMouseDown(o),i&&i(o)},onMouseUp:o=>{v.onMouseUp&&v.onMouseUp(o),m&&m(o)},onClick:o=>{v.onClick&&v.onClick(o),c&&c(o)}})},overlayElement:(o,e)=>{const{ref:s,className:n,onClick:l,onMouseDown:r}=o;return j?e:jsx(DialogOverlay,{ref:s,className:n,blur:O,palette:{backgroundColor:N.overlayBackgroundColor},zIndex:h,onClick:l,onMouseDown:r,children:e})}})},{sizes:o=>o.fancy?SIZES_FANCY:SIZES,displayName:"Dialog"}),{Component:DialogComponent});export{COMPONENT_NAME,Dialog};
|
|
2
2
|
//# sourceMappingURL=Dialog.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.mjs","sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport ReactModal from 'react-modal'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { withTranslation } from 'hocs/withTranslation'\nimport type { InjectedTranslationProps } from 'hocs/withTranslation'\nimport { DialogComponent } from 'components/DialogComponent'\nimport { deepmerge } from 'shared/utils/misc'\nimport { useScrollLock } from 'hooks/useScrollLock'\nimport { SIZES, SIZES_FANCY } from './sizes'\nimport { POSITIONS } from './positions'\nimport * as Styled from './style'\nimport type { DialogProps, TranslationDialogComponentProps } from './types'\n\nconst COMPONENT_NAME = 'Dialog'\n\nconst TranslationDialogComponent = withTranslation<HTMLDivElement, TranslationDialogComponentProps>(\n forwardRef<HTMLDivElement, InjectedTranslationProps<HTMLDivElement, TranslationDialogComponentProps>>(\n (props, ref) => {\n const { positions = {}, translated, ...restProps } = props\n\n const dialogPositions = translated ? {} : deepmerge(POSITIONS, positions)\n\n return <Styled.PositionedDialogComponent {...restProps} positions={dialogPositions} ref={ref} />\n }\n )\n)\n\n/**\n *\n * Компонент для отображения контента поверх основного интерфейса.\n *\n * Поддерживаются все нативные атрибуты \\<div\\> элемента.\n */\nconst Dialog: React.ForwardRefExoticComponent<DialogProps> & { Component: typeof DialogComponent } = Object.assign(\n withMergedProps<DialogProps, HTMLDivElement>(\n (props) => {\n const {\n size = 's',\n position = 'center',\n role = 'dialog',\n open,\n preventScrollAfterClose,\n closeTimeoutMS,\n portalClassName,\n className,\n bodyOpenClassName,\n htmlOpenClassName,\n overlayClassName,\n shouldCloseOnOverlayClick,\n shouldCloseOnEsc,\n shouldReturnFocusAfterClose,\n parentSelector,\n overlayRef,\n contentRef,\n palette,\n overlayBlur,\n overlayDisabled,\n zIndex,\n scrollLock,\n onAfterOpen,\n onAfterClose,\n onRequestClose,\n ...dialogProps\n } = props\n\n const overlayElementDisabled = dialogProps.draggable || overlayDisabled\n\n useScrollLock(
|
|
1
|
+
{"version":3,"file":"Dialog.mjs","sources":["../../../../src/components/Dialog/Dialog.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport ReactModal from 'react-modal'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport { withTranslation } from 'hocs/withTranslation'\nimport type { InjectedTranslationProps } from 'hocs/withTranslation'\nimport { DialogComponent } from 'components/DialogComponent'\nimport { deepmerge } from 'shared/utils/misc'\nimport { useScrollLock } from 'hooks/useScrollLock'\nimport { SIZES, SIZES_FANCY } from './sizes'\nimport { POSITIONS } from './positions'\nimport * as Styled from './style'\nimport type { DialogProps, TranslationDialogComponentProps } from './types'\n\nconst COMPONENT_NAME = 'Dialog'\n\nconst TranslationDialogComponent = withTranslation<HTMLDivElement, TranslationDialogComponentProps>(\n forwardRef<HTMLDivElement, InjectedTranslationProps<HTMLDivElement, TranslationDialogComponentProps>>(\n (props, ref) => {\n const { positions = {}, translated, ...restProps } = props\n\n const dialogPositions = translated ? {} : deepmerge(POSITIONS, positions)\n\n return <Styled.PositionedDialogComponent {...restProps} positions={dialogPositions} ref={ref} />\n }\n )\n)\n\n/**\n *\n * *v2.0.0*\n *\n * Компонент для отображения контента поверх основного интерфейса.\n *\n * Поддерживаются все нативные атрибуты \\<div\\> элемента.\n */\nconst Dialog: React.ForwardRefExoticComponent<DialogProps> & { Component: typeof DialogComponent } = Object.assign(\n withMergedProps<DialogProps, HTMLDivElement>(\n (props) => {\n const {\n size = 's',\n position = 'center',\n role = 'dialog',\n open,\n preventScrollAfterClose,\n closeTimeoutMS,\n portalClassName,\n className,\n bodyOpenClassName,\n htmlOpenClassName,\n overlayClassName,\n shouldCloseOnOverlayClick,\n shouldCloseOnEsc,\n shouldReturnFocusAfterClose,\n parentSelector,\n overlayRef,\n contentRef,\n palette,\n overlayBlur,\n overlayDisabled,\n zIndex,\n scrollLock,\n onAfterOpen,\n onAfterClose,\n onRequestClose,\n ...dialogProps\n } = props\n\n const overlayElementDisabled = dialogProps.draggable || overlayDisabled\n\n useScrollLock({ reserveScrollbarGutter: true, locked: false, ...scrollLock })\n\n return (\n <ReactModal\n isOpen={open}\n ariaHideApp={false}\n preventScroll={preventScrollAfterClose}\n closeTimeoutMS={closeTimeoutMS}\n portalClassName={portalClassName}\n className={className}\n bodyOpenClassName={bodyOpenClassName}\n htmlOpenClassName={htmlOpenClassName}\n overlayClassName={overlayClassName}\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n shouldCloseOnEsc={shouldCloseOnEsc}\n shouldReturnFocusAfterClose={shouldReturnFocusAfterClose}\n parentSelector={parentSelector}\n overlayRef={overlayRef}\n contentRef={contentRef}\n onAfterOpen={onAfterOpen}\n onAfterClose={onAfterClose}\n onRequestClose={onRequestClose}\n contentElement={(contentProps) => {\n const {\n ref,\n className: contentElementClassName,\n tabIndex,\n onKeyDown,\n onMouseDown,\n onMouseUp,\n onClick,\n } = contentProps\n\n return (\n <TranslationDialogComponent\n {...dialogProps}\n ref={ref}\n size={size}\n role={role}\n className={contentElementClassName}\n tabIndex={tabIndex}\n position={position}\n aria-modal={!dialogProps.draggable && !overlayDisabled}\n palette={{\n color: palette.color,\n backgroundColor: palette.backgroundColor,\n shadowColor: palette.shadowColor,\n }}\n zIndex={overlayElementDisabled ? zIndex : undefined}\n onKeyDown={(evt) => {\n if (dialogProps.onKeyDown) dialogProps.onKeyDown(evt)\n if (onKeyDown) onKeyDown(evt)\n }}\n onMouseDown={(evt) => {\n if (dialogProps.onMouseDown) dialogProps.onMouseDown(evt)\n if (onMouseDown) onMouseDown(evt)\n }}\n onMouseUp={(evt) => {\n if (dialogProps.onMouseUp) dialogProps.onMouseUp(evt)\n if (onMouseUp) onMouseUp(evt)\n }}\n onClick={(evt) => {\n if (dialogProps.onClick) dialogProps.onClick(evt)\n if (onClick) onClick(evt)\n }}\n />\n )\n }}\n overlayElement={(overlayProps, contentElement) => {\n const { ref, className: overlayElementClassName, onClick, onMouseDown } = overlayProps\n\n return overlayElementDisabled ? (\n contentElement\n ) : (\n <Styled.DialogOverlay\n ref={ref}\n className={overlayElementClassName}\n blur={overlayBlur}\n palette={{\n backgroundColor: palette.overlayBackgroundColor,\n }}\n zIndex={zIndex}\n onClick={onClick}\n onMouseDown={onMouseDown}\n >\n {contentElement}\n </Styled.DialogOverlay>\n )\n }}\n />\n )\n },\n {\n sizes: (props) => (props.fancy ? SIZES_FANCY : SIZES),\n displayName: COMPONENT_NAME,\n }\n ),\n {\n Component: DialogComponent,\n }\n)\n\nexport { Dialog }\n\nexport { COMPONENT_NAME }\n"],"names":["COMPONENT_NAME","TranslationDialogComponent","withTranslation","forwardRef","props","ref","positions","translated","restProps","dialogPositions","deepmerge","POSITIONS","_jsx","Styled","Dialog","Object","assign","withMergedProps","size","position","role","open","preventScrollAfterClose","closeTimeoutMS","portalClassName","className","bodyOpenClassName","htmlOpenClassName","overlayClassName","shouldCloseOnOverlayClick","shouldCloseOnEsc","shouldReturnFocusAfterClose","parentSelector","overlayRef","contentRef","palette","overlayBlur","overlayDisabled","zIndex","scrollLock","onAfterOpen","onAfterClose","onRequestClose","dialogProps","overlayElementDisabled","draggable","useScrollLock","reserveScrollbarGutter","locked","ReactModal","isOpen","ariaHideApp","preventScroll","contentElement","contentProps","contentElementClassName","tabIndex","onKeyDown","onMouseDown","onMouseUp","onClick","color","backgroundColor","shadowColor","undefined","evt","overlayElement","overlayProps","overlayElementClassName","blur","overlayBackgroundColor","children","sizes","fancy","SIZES_FANCY","SIZES","displayName","Component","DialogComponent"],"mappings":"giBAaA,MAAMA,eAAiB,SAEvB,MAAMC,2BAA6BC,gBACjCC,WACE,CAACC,EAAOC,KACN,MAAMC,UAAEA,EAAY,CAAA,EAAEC,WAAEA,KAAeC,GAAcJ,EAErD,MAAMK,EAAkBF,EAAa,CAAA,EAAKG,UAAUC,UAAWL,GAE/D,OAAOM,IAACC,0BAAgC,IAAKL,EAAWF,UAAWG,EAAiBJ,IAAKA,OAa/F,MAAMS,OAA+FC,OAAOC,OAC1GC,gBACGb,IACC,MAAMc,KACJA,EAAO,IAAGC,SACVA,EAAW,SAAQC,KACnBA,EAAO,SAAQC,KACfA,EAAIC,wBACJA,EAAuBC,eACvBA,EAAcC,gBACdA,EAAeC,UACfA,EAASC,kBACTA,EAAiBC,kBACjBA,EAAiBC,iBACjBA,EAAgBC,0BAChBA,EAAyBC,iBACzBA,EAAgBC,4BAChBA,EAA2BC,eAC3BA,EAAcC,WACdA,EAAUC,WACVA,EAAUC,QACVA,EAAOC,YACPA,EAAWC,gBACXA,EAAeC,OACfA,EAAMC,WACNA,EAAUC,YACVA,EAAWC,aACXA,EAAYC,eACZA,KACGC,GACDvC,EAEJ,MAAMwC,EAAyBD,EAAYE,WAAaR,EAIxD,OAFAS,cAAc,CAAEC,wBAAwB,EAAMC,QAAQ,KAAUT,IAG9D3B,IAACqC,WAAU,CACTC,OAAQ7B,EACR8B,aAAa,EACbC,cAAe9B,EACfC,eAAgBA,EAChBC,gBAAiBA,EACjBC,UAAWA,EACXC,kBAAmBA,EACnBC,kBAAmBA,EACnBC,iBAAkBA,EAClBC,0BAA2BA,EAC3BC,iBAAkBA,EAClBC,4BAA6BA,EAC7BC,eAAgBA,EAChBC,WAAYA,EACZC,WAAYA,EACZM,YAAaA,EACbC,aAAcA,EACdC,eAAgBA,EAChBW,eAAiBC,IACf,MAAMjD,IACJA,EACAoB,UAAW8B,EAAuBC,SAClCA,EAAQC,UACRA,EAASC,YACTA,EAAWC,UACXA,EAASC,QACTA,GACEN,EAEJ,OACE1C,IAACX,2BAA0B,IACrB0C,EACJtC,IAAKA,EACLa,KAAMA,EACNE,KAAMA,EACNK,UAAW8B,EACXC,SAAUA,EACVrC,SAAUA,EACV,cAAawB,EAAYE,YAAcR,EACvCF,QAAS,CACP0B,MAAO1B,EAAQ0B,MACfC,gBAAiB3B,EAAQ2B,gBACzBC,YAAa5B,EAAQ4B,aAEvBzB,OAAQM,EAAyBN,OAAS0B,EAC1CP,UAAYQ,IACNtB,EAAYc,WAAWd,EAAYc,UAAUQ,GAC7CR,GAAWA,EAAUQ,IAE3BP,YAAcO,IACRtB,EAAYe,aAAaf,EAAYe,YAAYO,GACjDP,GAAaA,EAAYO,IAE/BN,UAAYM,IACNtB,EAAYgB,WAAWhB,EAAYgB,UAAUM,GAC7CN,GAAWA,EAAUM,IAE3BL,QAAUK,IACJtB,EAAYiB,SAASjB,EAAYiB,QAAQK,GACzCL,GAASA,EAAQK,OAK7BC,eAAgBA,CAACC,EAAcd,KAC7B,MAAMhD,IAAEA,EAAKoB,UAAW2C,EAAuBR,QAAEA,EAAOF,YAAEA,GAAgBS,EAE1E,OAAOvB,EACLS,EAEAzC,IAACC,cAAoB,CACnBR,IAAKA,EACLoB,UAAW2C,EACXC,KAAMjC,EACND,QAAS,CACP2B,gBAAiB3B,EAAQmC,wBAE3BhC,OAAQA,EACRsB,QAASA,EACTF,YAAaA,EAAYa,SAExBlB,QAOb,CACEmB,MAAQpE,GAAWA,EAAMqE,MAAQC,YAAcC,MAC/CC,YAtJiB,WAyJrB,CACEC,UAAWC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var styled=require('styled-components');var responsivePosition=require('../../mixins/responsive-position.js');var DialogComponent=require('../DialogComponent/DialogComponent.js');function _interopDefault(o){return o&&o.__esModule?o:{default:o}}var styled__default=_interopDefault(styled);const PositionedDialogComponent=styled__default.default(DialogComponent.DialogComponent).withConfig({shouldForwardProp:o=>!['position','positions','positionXXS','positionXS','positionS','positionM','positionL','positionXL'].includes(o)}).withConfig({displayName:"Dialog__PositionedDialogComponent",componentId:"ui__sc-19crdz4-0"})(["position:fixed;&:focus-visible{outline:none;}",""],responsivePosition.responsivePosition);const DialogOverlay=styled__default.default.div.withConfig({shouldForwardProp:o=>!['palette','blur','zIndex'].includes(o)}).withConfig({displayName:"Dialog__DialogOverlay",componentId:"ui__sc-19crdz4-1"})(["position:fixed;top:0;right:0;bottom:0;left:0;"," "," ",""],o=>o.blur&&"\n backdrop-filter: blur(10px);\n ",o=>typeof o.zIndex=='number'&&`z-index: ${o.zIndex};`,o=>`\n background-color: ${o.palette.backgroundColor??o.theme.colors['bg-other-overlay']};\n`);exports.DialogOverlay=DialogOverlay,exports.PositionedDialogComponent=PositionedDialogComponent;
|
|
1
|
+
'use strict';var styled=require('styled-components');var responsivePosition=require('../../mixins/responsive-position.js');var DialogComponent=require('../DialogComponent/DialogComponent.js');function _interopDefault(o){return o&&o.__esModule?o:{default:o}}var styled__default=_interopDefault(styled);const PositionedDialogComponent=styled__default.default(DialogComponent.DialogComponent).withConfig({shouldForwardProp:o=>!['position','positions','positionXXS','positionXS','positionS','positionM','positionL','positionXL'].includes(o)}).withConfig({displayName:"Dialog__PositionedDialogComponent",componentId:"ui__sc-19crdz4-0"})(["position:fixed;&:focus-visible,&:focus{outline:none;}",""],responsivePosition.responsivePosition);const DialogOverlay=styled__default.default.div.withConfig({shouldForwardProp:o=>!['palette','blur','zIndex'].includes(o)}).withConfig({displayName:"Dialog__DialogOverlay",componentId:"ui__sc-19crdz4-1"})(["position:fixed;top:0;right:0;bottom:0;left:0;"," "," ",""],o=>o.blur&&"\n backdrop-filter: blur(10px);\n ",o=>typeof o.zIndex=='number'&&`z-index: ${o.zIndex};`,o=>`\n background-color: ${o.palette.backgroundColor??o.theme.colors['bg-other-overlay']};\n`);exports.DialogOverlay=DialogOverlay,exports.PositionedDialogComponent=PositionedDialogComponent;
|
|
2
2
|
//# sourceMappingURL=style.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.js","sources":["../../../../src/components/Dialog/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { DialogComponent } from 'components/DialogComponent'\nimport { responsivePosition } from 'mixins/responsive-position'\nimport type { DialogOverlayPalette, StyledDialogOverlayProps, StyledTranslationDialogComponentProps } from './types'\n\nconst overlayTemplate = (palette: DialogOverlayPalette) => `\n background-color: ${palette.backgroundColor};\n`\n\nexport const PositionedDialogComponent = styled(DialogComponent).withConfig<StyledTranslationDialogComponentProps>({\n shouldForwardProp: (propKey) =>\n ![\n 'position',\n 'positions',\n 'positionXXS',\n 'positionXS',\n 'positionS',\n 'positionM',\n 'positionL',\n 'positionXL',\n ].includes(propKey),\n})`\n position: fixed;\n\n &:focus-visible {\n outline: none;\n }\n\n ${responsivePosition}\n`\n\nexport const DialogOverlay = styled.div.withConfig<StyledDialogOverlayProps>({\n shouldForwardProp: (propKey) => !['palette', 'blur', 'zIndex'].includes(propKey),\n})`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n ${(props) =>\n props.blur &&\n `\n backdrop-filter: blur(10px);\n `}\n\n ${(props) => typeof props.zIndex === 'number' && `z-index: ${props.zIndex};`}\n\n ${(props) =>\n overlayTemplate({\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-other-overlay'],\n })}\n`\n"],"names":["PositionedDialogComponent","styled","DialogComponent","withConfig","shouldForwardProp","propKey","includes","displayName","componentId","responsivePosition","DialogOverlay","div","props","blur","zIndex","palette","backgroundColor","theme","colors"],"mappings":"6SASO,MAAMA,0BAA4BC,gBAAAA,QAAOC,iCAAiBC,WAAkD,CACjHC,kBAAoBC,IACjB,CACC,WACA,YACA,cACA,aACA,YACA,YACA,YACA,cACAC,SAASD,KACbF,WAAA,CAAAI,YAAA,oCAAAC,YAAA,oBAZuCP,CAYvC,CAAA,
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/components/Dialog/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { DialogComponent } from 'components/DialogComponent'\nimport { responsivePosition } from 'mixins/responsive-position'\nimport type { DialogOverlayPalette, StyledDialogOverlayProps, StyledTranslationDialogComponentProps } from './types'\n\nconst overlayTemplate = (palette: DialogOverlayPalette) => `\n background-color: ${palette.backgroundColor};\n`\n\nexport const PositionedDialogComponent = styled(DialogComponent).withConfig<StyledTranslationDialogComponentProps>({\n shouldForwardProp: (propKey) =>\n ![\n 'position',\n 'positions',\n 'positionXXS',\n 'positionXS',\n 'positionS',\n 'positionM',\n 'positionL',\n 'positionXL',\n ].includes(propKey),\n})`\n position: fixed;\n\n &:focus-visible,\n &:focus {\n outline: none;\n }\n\n ${responsivePosition}\n`\n\nexport const DialogOverlay = styled.div.withConfig<StyledDialogOverlayProps>({\n shouldForwardProp: (propKey) => !['palette', 'blur', 'zIndex'].includes(propKey),\n})`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n ${(props) =>\n props.blur &&\n `\n backdrop-filter: blur(10px);\n `}\n\n ${(props) => typeof props.zIndex === 'number' && `z-index: ${props.zIndex};`}\n\n ${(props) =>\n overlayTemplate({\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-other-overlay'],\n })}\n`\n"],"names":["PositionedDialogComponent","styled","DialogComponent","withConfig","shouldForwardProp","propKey","includes","displayName","componentId","responsivePosition","DialogOverlay","div","props","blur","zIndex","palette","backgroundColor","theme","colors"],"mappings":"6SASO,MAAMA,0BAA4BC,gBAAAA,QAAOC,iCAAiBC,WAAkD,CACjHC,kBAAoBC,IACjB,CACC,WACA,YACA,cACA,aACA,YACA,YACA,YACA,cACAC,SAASD,KACbF,WAAA,CAAAI,YAAA,oCAAAC,YAAA,oBAZuCP,CAYvC,CAAA,wDAAA,IAQEQ,mBAAAA,oBAGG,MAAMC,cAAgBT,gBAAAA,QAAOU,IAAIR,WAAqC,CAC3EC,kBAAoBC,IAAa,CAAC,UAAW,OAAQ,UAAUC,SAASD,KACxEF,WAAA,CAAAI,YAAA,wBAAAC,YAAA,oBAF2BP,CAE3B,CAAA,gDAAA,IAAA,IAAA,IAOGW,GACDA,EAAMC,MACN,6CAICD,UAAiBA,EAAME,QAAW,UAAY,YAAYF,EAAME,UAEhEF,GA5CsD,yBA8CpCA,EAAMG,QAAQC,iBAAmBJ,EAAMK,MAAMC,OAAO"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import styled from'styled-components';import{responsivePosition}from'../../mixins/responsive-position.mjs';import{DialogComponent}from'../DialogComponent/DialogComponent.mjs';const PositionedDialogComponent=styled(DialogComponent).withConfig({shouldForwardProp:o=>!['position','positions','positionXXS','positionXS','positionS','positionM','positionL','positionXL'].includes(o)}).withConfig({displayName:"Dialog__PositionedDialogComponent",componentId:"ui__sc-19crdz4-0"})(["position:fixed;&:focus-visible{outline:none;}",""],responsivePosition);const DialogOverlay=styled.div.withConfig({shouldForwardProp:o=>!['palette','blur','zIndex'].includes(o)}).withConfig({displayName:"Dialog__DialogOverlay",componentId:"ui__sc-19crdz4-1"})(["position:fixed;top:0;right:0;bottom:0;left:0;"," "," ",""],o=>o.blur&&"\n backdrop-filter: blur(10px);\n ",o=>typeof o.zIndex=='number'&&`z-index: ${o.zIndex};`,o=>`\n background-color: ${o.palette.backgroundColor??o.theme.colors['bg-other-overlay']};\n`);export{DialogOverlay,PositionedDialogComponent};
|
|
1
|
+
import styled from'styled-components';import{responsivePosition}from'../../mixins/responsive-position.mjs';import{DialogComponent}from'../DialogComponent/DialogComponent.mjs';const PositionedDialogComponent=styled(DialogComponent).withConfig({shouldForwardProp:o=>!['position','positions','positionXXS','positionXS','positionS','positionM','positionL','positionXL'].includes(o)}).withConfig({displayName:"Dialog__PositionedDialogComponent",componentId:"ui__sc-19crdz4-0"})(["position:fixed;&:focus-visible,&:focus{outline:none;}",""],responsivePosition);const DialogOverlay=styled.div.withConfig({shouldForwardProp:o=>!['palette','blur','zIndex'].includes(o)}).withConfig({displayName:"Dialog__DialogOverlay",componentId:"ui__sc-19crdz4-1"})(["position:fixed;top:0;right:0;bottom:0;left:0;"," "," ",""],o=>o.blur&&"\n backdrop-filter: blur(10px);\n ",o=>typeof o.zIndex=='number'&&`z-index: ${o.zIndex};`,o=>`\n background-color: ${o.palette.backgroundColor??o.theme.colors['bg-other-overlay']};\n`);export{DialogOverlay,PositionedDialogComponent};
|
|
2
2
|
//# sourceMappingURL=style.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","sources":["../../../../src/components/Dialog/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { DialogComponent } from 'components/DialogComponent'\nimport { responsivePosition } from 'mixins/responsive-position'\nimport type { DialogOverlayPalette, StyledDialogOverlayProps, StyledTranslationDialogComponentProps } from './types'\n\nconst overlayTemplate = (palette: DialogOverlayPalette) => `\n background-color: ${palette.backgroundColor};\n`\n\nexport const PositionedDialogComponent = styled(DialogComponent).withConfig<StyledTranslationDialogComponentProps>({\n shouldForwardProp: (propKey) =>\n ![\n 'position',\n 'positions',\n 'positionXXS',\n 'positionXS',\n 'positionS',\n 'positionM',\n 'positionL',\n 'positionXL',\n ].includes(propKey),\n})`\n position: fixed;\n\n &:focus-visible {\n outline: none;\n }\n\n ${responsivePosition}\n`\n\nexport const DialogOverlay = styled.div.withConfig<StyledDialogOverlayProps>({\n shouldForwardProp: (propKey) => !['palette', 'blur', 'zIndex'].includes(propKey),\n})`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n ${(props) =>\n props.blur &&\n `\n backdrop-filter: blur(10px);\n `}\n\n ${(props) => typeof props.zIndex === 'number' && `z-index: ${props.zIndex};`}\n\n ${(props) =>\n overlayTemplate({\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-other-overlay'],\n })}\n`\n"],"names":["PositionedDialogComponent","styled","DialogComponent","withConfig","shouldForwardProp","propKey","includes","displayName","componentId","responsivePosition","DialogOverlay","div","props","blur","zIndex","palette","backgroundColor","theme","colors"],"mappings":"+KASO,MAAMA,0BAA4BC,OAAOC,iBAAiBC,WAAkD,CACjHC,kBAAoBC,IACjB,CACC,WACA,YACA,cACA,aACA,YACA,YACA,YACA,cACAC,SAASD,KACbF,WAAA,CAAAI,YAAA,oCAAAC,YAAA,oBAZuCP,CAYvC,CAAA,
|
|
1
|
+
{"version":3,"file":"style.mjs","sources":["../../../../src/components/Dialog/style.ts"],"sourcesContent":["import styled from 'styled-components'\nimport { DialogComponent } from 'components/DialogComponent'\nimport { responsivePosition } from 'mixins/responsive-position'\nimport type { DialogOverlayPalette, StyledDialogOverlayProps, StyledTranslationDialogComponentProps } from './types'\n\nconst overlayTemplate = (palette: DialogOverlayPalette) => `\n background-color: ${palette.backgroundColor};\n`\n\nexport const PositionedDialogComponent = styled(DialogComponent).withConfig<StyledTranslationDialogComponentProps>({\n shouldForwardProp: (propKey) =>\n ![\n 'position',\n 'positions',\n 'positionXXS',\n 'positionXS',\n 'positionS',\n 'positionM',\n 'positionL',\n 'positionXL',\n ].includes(propKey),\n})`\n position: fixed;\n\n &:focus-visible,\n &:focus {\n outline: none;\n }\n\n ${responsivePosition}\n`\n\nexport const DialogOverlay = styled.div.withConfig<StyledDialogOverlayProps>({\n shouldForwardProp: (propKey) => !['palette', 'blur', 'zIndex'].includes(propKey),\n})`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n\n ${(props) =>\n props.blur &&\n `\n backdrop-filter: blur(10px);\n `}\n\n ${(props) => typeof props.zIndex === 'number' && `z-index: ${props.zIndex};`}\n\n ${(props) =>\n overlayTemplate({\n backgroundColor: props.palette.backgroundColor ?? props.theme.colors['bg-other-overlay'],\n })}\n`\n"],"names":["PositionedDialogComponent","styled","DialogComponent","withConfig","shouldForwardProp","propKey","includes","displayName","componentId","responsivePosition","DialogOverlay","div","props","blur","zIndex","palette","backgroundColor","theme","colors"],"mappings":"+KASO,MAAMA,0BAA4BC,OAAOC,iBAAiBC,WAAkD,CACjHC,kBAAoBC,IACjB,CACC,WACA,YACA,cACA,aACA,YACA,YACA,YACA,cACAC,SAASD,KACbF,WAAA,CAAAI,YAAA,oCAAAC,YAAA,oBAZuCP,CAYvC,CAAA,wDAAA,IAQEQ,oBAGG,MAAMC,cAAgBT,OAAOU,IAAIR,WAAqC,CAC3EC,kBAAoBC,IAAa,CAAC,UAAW,OAAQ,UAAUC,SAASD,KACxEF,WAAA,CAAAI,YAAA,wBAAAC,YAAA,oBAF2BP,CAE3B,CAAA,gDAAA,IAAA,IAAA,IAOGW,GACDA,EAAMC,MACN,6CAICD,UAAiBA,EAAME,QAAW,UAAY,YAAYF,EAAME,UAEhEF,GA5CsD,yBA8CpCA,EAAMG,QAAQC,iBAAmBJ,EAAMK,MAAMC,OAAO"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var React=require('react');var constants=require('../../shared/constants.js');var useScrollThresholds=require('../../hooks/useScrollThresholds.js');var useScrollLock=require('../../hooks/useScrollLock.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');exports.Body=({header:e,footer:r,children:l,stickyHeader:s,scrollable:t,scrollFading:o,scrollAreaReserveScrollbarGutter:c,scrollAreaRef:n})=>{const a=t&&o;const[u,i]=React.useState(null);const{scrollThresholds:d,setScrollThresholds:h}=useScrollThresholds.useScrollThresholds({enabled:a,target:u});useScrollLock.useScrollLock({locked:!t,target:u,reserveScrollbarGutter:!!t&&c});const y=React.useCallback(e=>{i(e),n?.(e)},[n]);return jsxRuntime.jsxs(style.Container,{children:[s&&e?jsxRuntime.jsx(style.Header,{stickyHeader:s,children:e}):null,a?jsxRuntime.jsx(style.Fading,{visible:d.top===!1}):null,jsxRuntime.jsxs(style.ScrollArea,{ref:y,scrollable:t,tabIndex:t?0:void 0,onScroll:e=>{a&&h(e.currentTarget)},onKeyDown:e=>{constants.keyboardKeys.ArrowUp.validate(e.key)?(e.preventDefault(),e.currentTarget.scrollBy(0,-13)):constants.keyboardKeys.ArrowDown.validate(e.key)&&(e.preventDefault(),e.currentTarget.scrollBy(0,13))},children:[!s&&e?jsxRuntime.jsx(style.Header,{stickyHeader:s,children:e}):null,l?jsxRuntime.jsx(style.Content,{scrollable:t,children:l}):null]}),a?jsxRuntime.jsx(style.Fading,{visible:d.bottom===!1,after:!0}):null,r?jsxRuntime.jsx(style.Footer,{children:r}):null]})};
|
|
2
|
+
//# sourceMappingURL=Body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Body.js","sources":["../../../../src/components/DialogComponent/Body.tsx"],"sourcesContent":["import { useCallback, useState } from 'react'\nimport type { FC } from 'react'\nimport { keyboardKeys } from 'shared/constants'\nimport { useScrollThresholds } from 'hooks/useScrollThresholds'\nimport { useScrollLock } from 'hooks/useScrollLock'\nimport type { BodyProps } from './types'\nimport * as Styled from './style'\n\nconst Body: FC<BodyProps> = ({\n header,\n footer,\n children,\n stickyHeader,\n scrollable,\n scrollFading,\n scrollAreaReserveScrollbarGutter,\n scrollAreaRef,\n}) => {\n const scrollFadingEnabled = scrollable && scrollFading\n\n const [scrollAreaNode, setScrollAreaNode] = useState<HTMLDivElement | null>(null)\n\n const { scrollThresholds, setScrollThresholds } = useScrollThresholds({\n enabled: scrollFadingEnabled,\n target: scrollAreaNode,\n })\n\n useScrollLock({\n locked: !scrollable,\n target: scrollAreaNode,\n reserveScrollbarGutter: scrollable ? scrollAreaReserveScrollbarGutter : false,\n })\n\n const handleScrollAreaRef = useCallback(\n (node: HTMLDivElement | null) => {\n setScrollAreaNode(node)\n scrollAreaRef?.(node)\n },\n [scrollAreaRef]\n )\n\n return (\n <Styled.Container>\n {stickyHeader && header ? <Styled.Header stickyHeader={stickyHeader}>{header}</Styled.Header> : null}\n {scrollFadingEnabled ? <Styled.Fading visible={scrollThresholds.top === false} /> : null}\n <Styled.ScrollArea\n ref={handleScrollAreaRef}\n scrollable={scrollable}\n tabIndex={scrollable ? 0 : undefined}\n onScroll={(evt) => {\n if (scrollFadingEnabled) {\n setScrollThresholds(evt.currentTarget)\n }\n }}\n onKeyDown={(evt) => {\n if (keyboardKeys.ArrowUp.validate(evt.key)) {\n evt.preventDefault()\n evt.currentTarget.scrollBy(0, -13)\n } else if (keyboardKeys.ArrowDown.validate(evt.key)) {\n evt.preventDefault()\n evt.currentTarget.scrollBy(0, 13)\n }\n }}\n >\n {!stickyHeader && header ? <Styled.Header stickyHeader={stickyHeader}>{header}</Styled.Header> : null}\n {children ? <Styled.Content scrollable={scrollable}>{children}</Styled.Content> : null}\n </Styled.ScrollArea>\n {scrollFadingEnabled ? <Styled.Fading visible={scrollThresholds.bottom === false} after /> : null}\n {footer ? <Styled.Footer>{footer}</Styled.Footer> : null}\n </Styled.Container>\n )\n}\n\nexport { Body }\n"],"names":["Body","header","footer","children","stickyHeader","scrollable","scrollFading","scrollAreaReserveScrollbarGutter","scrollAreaRef","scrollFadingEnabled","scrollAreaNode","setScrollAreaNode","useState","scrollThresholds","setScrollThresholds","useScrollThresholds","enabled","target","useScrollLock","locked","reserveScrollbarGutter","handleScrollAreaRef","useCallback","node","_jsxs","Styled","_jsx","visible","top","ref","tabIndex","undefined","onScroll","evt","currentTarget","onKeyDown","keyboardKeys","ArrowUp","validate","key","preventDefault","scrollBy","ArrowDown","bottom","after"],"mappings":"oTAQ4BA,EAC1BC,SACAC,SACAC,WACAC,eACAC,aACAC,eACAC,mCACAC,oBAEA,MAAMC,EAAsBJ,GAAcC,EAE1C,MAAOI,EAAgBC,GAAqBC,MAAAA,SAAgC,MAE5E,MAAMC,iBAAEA,EAAgBC,oBAAEA,GAAwBC,wCAAoB,CACpEC,QAASP,EACTQ,OAAQP,IAGVQ,4BAAc,CACZC,QAASd,EACTY,OAAQP,EACRU,yBAAwBf,GAAaE,IAGvC,MAAMc,EAAsBC,MAAAA,YACzBC,IACCZ,EAAkBY,GAClBf,IAAgBe,IAElB,CAACf,IAGH,OACEgB,WAAAA,KAACC,MAAAA,UAAgB,CAAAtB,SAAA,CACdC,GAAgBH,EAASyB,WAAAA,IAACD,MAAAA,OAAa,CAACrB,aAAcA,EAAaD,SAAEF,IAA0B,KAC/FQ,EAAsBiB,WAAAA,IAACD,MAAAA,OAAa,CAACE,QAASd,EAAiBe,OAAQ,IAAY,KACpFJ,WAAAA,KAACC,iBAAiB,CAChBI,IAAKR,EACLhB,WAAYA,EACZyB,SAAUzB,EAAa,OAAI0B,EAC3BC,SAAWC,IACLxB,GACFK,EAAoBmB,EAAIC,gBAG5BC,UAAYF,IACNG,UAAAA,aAAaC,QAAQC,SAASL,EAAIM,MACpCN,EAAIO,iBACJP,EAAIC,cAAcO,SAAS,GAAG,KACrBL,UAAAA,aAAaM,UAAUJ,SAASL,EAAIM,OAC7CN,EAAIO,iBACJP,EAAIC,cAAcO,SAAS,EAAG,MAEhCtC,SAAA,EAEAC,GAAgBH,EAASyB,WAAAA,IAACD,MAAAA,OAAa,CAACrB,aAAcA,EAAaD,SAAEF,IAA0B,KAChGE,EAAWuB,WAAAA,IAACD,MAAAA,QAAc,CAACpB,WAAYA,EAAWF,SAAEA,IAA6B,QAEnFM,EAAsBiB,WAAAA,IAACD,aAAa,CAACE,QAASd,EAAiB8B,UAAW,EAAOC,OAAK,IAAM,KAC5F1C,EAASwB,WAAAA,IAACD,MAAAA,OAAa,CAAAtB,SAAED,IAA0B"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useState,useCallback}from'react';import{keyboardKeys}from'../../shared/constants.mjs';import{useScrollThresholds}from'../../hooks/useScrollThresholds.mjs';import{useScrollLock}from'../../hooks/useScrollLock.mjs';import{Container,Header,Fading,ScrollArea,Content,Footer}from'./style.mjs';import{jsxs,jsx}from'react/jsx-runtime';const Body=({header:e,footer:r,children:l,stickyHeader:o,scrollable:s,scrollFading:t,scrollAreaReserveScrollbarGutter:a,scrollAreaRef:c})=>{const n=s&&t;const[d,i]=useState(null);const{scrollThresholds:u,setScrollThresholds:h}=useScrollThresholds({enabled:n,target:d});useScrollLock({locked:!s,target:d,reserveScrollbarGutter:!!s&&a});const m=useCallback(e=>{i(e),c?.(e)},[c]);return jsxs(Container,{children:[o&&e?jsx(Header,{stickyHeader:o,children:e}):null,n?jsx(Fading,{visible:u.top===!1}):null,jsxs(ScrollArea,{ref:m,scrollable:s,tabIndex:s?0:void 0,onScroll:e=>{n&&h(e.currentTarget)},onKeyDown:e=>{keyboardKeys.ArrowUp.validate(e.key)?(e.preventDefault(),e.currentTarget.scrollBy(0,-13)):keyboardKeys.ArrowDown.validate(e.key)&&(e.preventDefault(),e.currentTarget.scrollBy(0,13))},children:[!o&&e?jsx(Header,{stickyHeader:o,children:e}):null,l?jsx(Content,{scrollable:s,children:l}):null]}),n?jsx(Fading,{visible:u.bottom===!1,after:!0}):null,r?jsx(Footer,{children:r}):null]})};export{Body};
|
|
2
|
+
//# sourceMappingURL=Body.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Body.mjs","sources":["../../../../src/components/DialogComponent/Body.tsx"],"sourcesContent":["import { useCallback, useState } from 'react'\nimport type { FC } from 'react'\nimport { keyboardKeys } from 'shared/constants'\nimport { useScrollThresholds } from 'hooks/useScrollThresholds'\nimport { useScrollLock } from 'hooks/useScrollLock'\nimport type { BodyProps } from './types'\nimport * as Styled from './style'\n\nconst Body: FC<BodyProps> = ({\n header,\n footer,\n children,\n stickyHeader,\n scrollable,\n scrollFading,\n scrollAreaReserveScrollbarGutter,\n scrollAreaRef,\n}) => {\n const scrollFadingEnabled = scrollable && scrollFading\n\n const [scrollAreaNode, setScrollAreaNode] = useState<HTMLDivElement | null>(null)\n\n const { scrollThresholds, setScrollThresholds } = useScrollThresholds({\n enabled: scrollFadingEnabled,\n target: scrollAreaNode,\n })\n\n useScrollLock({\n locked: !scrollable,\n target: scrollAreaNode,\n reserveScrollbarGutter: scrollable ? scrollAreaReserveScrollbarGutter : false,\n })\n\n const handleScrollAreaRef = useCallback(\n (node: HTMLDivElement | null) => {\n setScrollAreaNode(node)\n scrollAreaRef?.(node)\n },\n [scrollAreaRef]\n )\n\n return (\n <Styled.Container>\n {stickyHeader && header ? <Styled.Header stickyHeader={stickyHeader}>{header}</Styled.Header> : null}\n {scrollFadingEnabled ? <Styled.Fading visible={scrollThresholds.top === false} /> : null}\n <Styled.ScrollArea\n ref={handleScrollAreaRef}\n scrollable={scrollable}\n tabIndex={scrollable ? 0 : undefined}\n onScroll={(evt) => {\n if (scrollFadingEnabled) {\n setScrollThresholds(evt.currentTarget)\n }\n }}\n onKeyDown={(evt) => {\n if (keyboardKeys.ArrowUp.validate(evt.key)) {\n evt.preventDefault()\n evt.currentTarget.scrollBy(0, -13)\n } else if (keyboardKeys.ArrowDown.validate(evt.key)) {\n evt.preventDefault()\n evt.currentTarget.scrollBy(0, 13)\n }\n }}\n >\n {!stickyHeader && header ? <Styled.Header stickyHeader={stickyHeader}>{header}</Styled.Header> : null}\n {children ? <Styled.Content scrollable={scrollable}>{children}</Styled.Content> : null}\n </Styled.ScrollArea>\n {scrollFadingEnabled ? <Styled.Fading visible={scrollThresholds.bottom === false} after /> : null}\n {footer ? <Styled.Footer>{footer}</Styled.Footer> : null}\n </Styled.Container>\n )\n}\n\nexport { Body }\n"],"names":["Body","header","footer","children","stickyHeader","scrollable","scrollFading","scrollAreaReserveScrollbarGutter","scrollAreaRef","scrollFadingEnabled","scrollAreaNode","setScrollAreaNode","useState","scrollThresholds","setScrollThresholds","useScrollThresholds","enabled","target","useScrollLock","locked","reserveScrollbarGutter","handleScrollAreaRef","useCallback","node","_jsxs","Styled","_jsx","visible","top","ref","tabIndex","undefined","onScroll","evt","currentTarget","onKeyDown","keyboardKeys","ArrowUp","validate","key","preventDefault","scrollBy","ArrowDown","bottom","after"],"mappings":"8UAQA,MAAMA,KAAsBA,EAC1BC,SACAC,SACAC,WACAC,eACAC,aACAC,eACAC,mCACAC,oBAEA,MAAMC,EAAsBJ,GAAcC,EAE1C,MAAOI,EAAgBC,GAAqBC,SAAgC,MAE5E,MAAMC,iBAAEA,EAAgBC,oBAAEA,GAAwBC,oBAAoB,CACpEC,QAASP,EACTQ,OAAQP,IAGVQ,cAAc,CACZC,QAASd,EACTY,OAAQP,EACRU,yBAAwBf,GAAaE,IAGvC,MAAMc,EAAsBC,YACzBC,IACCZ,EAAkBY,GAClBf,IAAgBe,IAElB,CAACf,IAGH,OACEgB,KAACC,UAAgB,CAAAtB,SAAA,CACdC,GAAgBH,EAASyB,IAACD,OAAa,CAACrB,aAAcA,EAAaD,SAAEF,IAA0B,KAC/FQ,EAAsBiB,IAACD,OAAa,CAACE,QAASd,EAAiBe,OAAQ,IAAY,KACpFJ,KAACC,WAAiB,CAChBI,IAAKR,EACLhB,WAAYA,EACZyB,SAAUzB,EAAa,OAAI0B,EAC3BC,SAAWC,IACLxB,GACFK,EAAoBmB,EAAIC,gBAG5BC,UAAYF,IACNG,aAAaC,QAAQC,SAASL,EAAIM,MACpCN,EAAIO,iBACJP,EAAIC,cAAcO,SAAS,GAAG,KACrBL,aAAaM,UAAUJ,SAASL,EAAIM,OAC7CN,EAAIO,iBACJP,EAAIC,cAAcO,SAAS,EAAG,MAEhCtC,SAAA,EAEAC,GAAgBH,EAASyB,IAACD,OAAa,CAACrB,aAAcA,EAAaD,SAAEF,IAA0B,KAChGE,EAAWuB,IAACD,QAAc,CAACpB,WAAYA,EAAWF,SAAEA,IAA6B,QAEnFM,EAAsBiB,IAACD,OAAa,CAACE,QAASd,EAAiB8B,UAAW,EAAOC,OAAK,IAAM,KAC5F1C,EAASwB,IAACD,OAAa,CAAAtB,SAAED,IAA0B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var React=require('react');var withMergedProps=require('../../hocs/withMergedProps.js');var
|
|
1
|
+
'use strict';var React=require('react');var withMergedProps=require('../../hocs/withMergedProps.js');var dom=require('../../shared/utils/dom.js');var isNil=require('../../shared/utils/isNil.js');var style=require('./style.js');var sizes=require('./sizes.js');var layouts=require('./layouts.js');var MediaBlock=require('./MediaBlock.js');var DraggingHandle=require('./DraggingHandle.js');var Body=require('./Body.js');var Header=require('./Header.js');var jsxRuntime=require('react/jsx-runtime');var Slot=require('../Slot/Slot.js');var Skeleton=require('../Skeleton/Skeleton.js');var Text=require('../Text/Text.js');var Button=require('../Button/Button.js');var index=require('../../icon-pack/src/icons/Close/index.js');const DialogComponent=withMergedProps.withMergedProps(React.forwardRef((e,s)=>{const{size:t="s",layout:o="vertical",scrollable:i=!1,scrollFading:r=!1,scrollAreaReserveScrollbarGutter:l=!1,sizeXXS:a,sizeXS:n,sizeS:u,sizeM:d,sizeL:c,sizeXL:x,layoutXXS:j,layoutXS:y,layoutS:S,layoutM:m,layoutL:R,layoutXL:g,root:p,floats:h,media:T,body:k,header:L,caption:z,title:A,subtitle:N,children:b,footer:B,closeButton:I,progressLine:P,fancy:C,imgSrcVertical:v,imgSrcHorizontal:_,draggable:q,loading:w,stickyHeader:M,className:O,backgroundClassName:f,onGrab:E,onNudge:H,scrollAreaRef:X,...Y}=e;const D={size:t,sizeXXS:a,sizeXS:n,sizeS:u,sizeM:d,sizeL:c,sizeXL:x};const U={layout:o,layoutXXS:j,layoutXS:y,layoutS:S,layoutM:m,layoutL:R,layoutXL:g};const F={...D,appearance:'body',color:'content-onmain-tertiary',wordBreak:'break-word',sizes:sizes.SIZES_CAPTION};const G={...D,as:'h2',appearance:'heading',color:'content-onmain-primary',wordBreak:'break-word',sizes:sizes.SIZES_TITLE};const Z={...D,as:'p',appearance:'body',color:'content-onmain-primary',wordBreak:'break-word',sizes:sizes.SIZES_SUBTITLE};const V=C?{icon:jsxRuntime.jsx(index.Close,{}),size:'xxl',filled:!0}:{icon:jsxRuntime.jsx(index.Close,{}),size:'xl',secondary:!0,marginTop:10,marginRight:10};const K={size:'xs'};const J=C?O:dom.concatClassNames(O,f);const Q=!(isNil.isNil(L)&&isNil.isNil(z)&&isNil.isNil(A)&&isNil.isNil(N));return jsxRuntime.jsxs(style.Root,{...Y,...D,...U,layouts:C?layouts.LAYOUTS_FANCY:layouts.LAYOUTS,className:J,fancy:C,ref:s,children:[C?jsxRuntime.jsx(style.FancyBackground,{className:f,...U,layouts:layouts.LAYOUTS_FANCY_BACKGROUND}):null,jsxRuntime.jsx(Slot.Slot,{render:p,props:{captionProps:F,titleProps:G,subtitleProps:Z,closeButtonProps:V,progressLineProps:K,onGrab:E,onNudge:H},fallback:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[h,q?jsxRuntime.jsx(DraggingHandle.DraggingHandle,{...U,layouts:layouts.VISIBILITY_VERTICAL,onGrab:E,onNudge:H}):null,I?jsxRuntime.jsx(style.ButtonPosition,{children:jsxRuntime.jsx(Slot.Slot,{render:I,props:V})}):null,w||v||T?jsxRuntime.jsx(MediaBlock.MediaBlock,{...U,layouts:C?layouts.LAYOUTS_FANCY_MEDIA_VERTICAL:layouts.LAYOUTS_MEDIA_VERTICAL,aspectRatioProps:{ratio:'3:1',width:'100%'},loading:w,media:T,imgSrc:v,fancy:C}):null,w||_||T?jsxRuntime.jsx(MediaBlock.MediaBlock,{...U,layouts:layouts.LAYOUTS_MEDIA_HORIZONTAL,aspectRatioProps:{ratio:'5:7',height:'100%'},loading:w,media:T,imgSrc:_,fancy:C}):null,jsxRuntime.jsxs(style.Body,{children:[P&&!w?jsxRuntime.jsx(style.ProgressPosition,{...U,layouts:C?layouts.LAYOUTS_FANCY_PROGRESS:layouts.LAYOUTS_PROGRESS,children:jsxRuntime.jsx(Slot.Slot,{render:P,props:K})}):null,q?jsxRuntime.jsx(DraggingHandle.DraggingHandle,{...U,layouts:layouts.VISIBILITY_HORIZONTAL,onGrab:E,onNudge:H}):null,C?jsxRuntime.jsx(style.LayoutSpacer,{...U,layouts:layouts.LAYOUTS_SPACER}):null,w?jsxRuntime.jsxs(style.Container,{children:[jsxRuntime.jsxs(style.Header,{children:[jsxRuntime.jsx(Skeleton.Skeleton,{width:"100%",borderRadius:4,children:jsxRuntime.jsx(Text.Text,{...G})}),jsxRuntime.jsx(Skeleton.Skeleton,{width:"50%",borderRadius:4,children:jsxRuntime.jsx(Text.Text,{...G})})]}),jsxRuntime.jsx(style.Content,{loading:!0,children:jsxRuntime.jsxs(style.LoadingContent,{children:[jsxRuntime.jsx(Skeleton.Skeleton,{width:"95%",borderRadius:4,children:jsxRuntime.jsx(Text.Text,{...F})}),jsxRuntime.jsx(Skeleton.Skeleton,{width:"67%",borderRadius:4,children:jsxRuntime.jsx(Text.Text,{...F})})]})}),B?jsxRuntime.jsx(style.Footer,{children:jsxRuntime.jsx(Skeleton.Skeleton,{width:"100%",borderRadius:40,children:jsxRuntime.jsx(Button.Button,{...D})})}):null]}):jsxRuntime.jsx(Slot.Slot,{render:k,props:{captionProps:F,titleProps:G,subtitleProps:Z},fallback:jsxRuntime.jsx(Body.Body,{stickyHeader:M,scrollable:i,scrollFading:r,scrollAreaReserveScrollbarGutter:l,footer:B,header:Q?jsxRuntime.jsx(Header.Header,{header:L,caption:z,title:A,subtitle:N,captionProps:F,titleProps:G,subtitleProps:Z}):null,scrollAreaRef:X,children:b})})]})]})})]})}),{sizes:e=>e.fancy?sizes.SIZES_FANCY:sizes.SIZES,displayName:'DialogComponent'});exports.DialogComponent=DialogComponent;
|
|
2
2
|
//# sourceMappingURL=DialogComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogComponent.js","sources":["../../../../src/components/DialogComponent/DialogComponent.tsx"],"sourcesContent":["import { forwardRef, useState, isValidElement } from 'react'\nimport { Close } from '@foxford/icon-pack'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useScrollThresholds } from 'hooks/useScrollThresholds'\nimport { keyboardKeys } from 'shared/constants'\nimport { Text } from 'components/Text'\nimport { Icon } from 'components/Icon'\nimport { Skeleton } from 'components/Skeleton'\nimport { AspectRatio } from 'components/AspectRatio'\nimport type { TextProps } from 'components/Text'\nimport type { IconButtonProps } from 'components/IconButton'\nimport type { ProgressLineProps } from 'components/ProgressLine'\nimport { concatClassNames } from 'shared/utils/dom'\nimport { useScrollLock } from 'hooks/useScrollLock'\nimport Dragging from './images/dragging.svg?module'\nimport * as Styled from './style'\nimport {\n SIZES,\n SIZES_FANCY,\n SIZES_CONTAINER,\n SIZES_CONTENT,\n SIZES_FOOTER,\n SIZES_CAPTION,\n SIZES_TITLE,\n SIZES_SUBTITLE,\n SIZES_STICKY_HEADER,\n} from './sizes'\nimport {\n LAYOUTS,\n LAYOUTS_FANCY,\n LAYOUTS_MEDIA_VERTICAL,\n LAYOUTS_FANCY_MEDIA_VERTICAL,\n LAYOUTS_MEDIA_HORIZONTAL,\n LAYOUTS_PROGRESS,\n LAYOUTS_FANCY_PROGRESS,\n VISIBILITY_VERTICAL,\n VISIBILITY_HORIZONTAL,\n} from './layouts'\nimport type { DialogComponentProps } from './types'\nimport { Header } from './Header'\n\nconst COMPONENT_NAME = 'DialogComponent'\n\nconst DialogComponent: React.ForwardRefExoticComponent<DialogComponentProps> = withMergedProps<\n DialogComponentProps,\n HTMLDivElement\n>(\n forwardRef<HTMLDivElement, MergedProps<DialogComponentProps>>((props, ref) => {\n const {\n size = 's',\n layout = 'vertical',\n scrollable = false,\n scrollFading = false,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n root,\n floats,\n media,\n body,\n header,\n caption,\n title,\n subtitle,\n children,\n footer,\n closeButton,\n progressLine,\n fancy,\n imgSrcVertical,\n imgSrcHorizontal,\n draggable,\n loading,\n stickyHeader,\n className,\n backgroundClassName,\n onGrab,\n onNudge,\n ...restProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const layoutProps = {\n layout,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n }\n\n const captionProps: TextProps = {\n ...sizeProps,\n appearance: 'body',\n color: 'content-onmain-tertiary',\n wordBreak: 'break-word',\n marginBottom: '0.8em',\n sizes: SIZES_CAPTION,\n }\n\n const titleProps: TextProps = {\n ...sizeProps,\n as: 'h2',\n appearance: 'heading',\n color: 'content-onmain-primary',\n wordBreak: 'break-word',\n marginBottom: '0.5em',\n sizes: SIZES_TITLE,\n }\n\n const subtitleProps: TextProps = {\n ...sizeProps,\n as: 'p',\n appearance: 'body',\n color: 'content-onmain-primary',\n wordBreak: 'break-word',\n marginBottom: '0.8em',\n sizes: SIZES_SUBTITLE,\n }\n\n const closeButtonProps: IconButtonProps = fancy\n ? { icon: <Close />, size: 'xxl', filled: true }\n : { icon: <Close />, size: 'l', marginTop: 8, marginRight: 8 }\n\n const progressLineProps: ProgressLineProps = {\n size: 'xs',\n }\n\n const rootClassName = !fancy ? concatClassNames(className, backgroundClassName) : className\n\n const scrollFadingEnabled = scrollable && scrollFading\n\n const [contentRef, setContentRef] = useState<HTMLDivElement | null>(null)\n\n const { scrollThresholds, setScrollThresholds } = useScrollThresholds({\n enabled: scrollFadingEnabled,\n target: contentRef,\n })\n\n useScrollLock({ locked: !scrollable, target: contentRef })\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n {...layoutProps}\n layouts={fancy ? LAYOUTS_FANCY : LAYOUTS}\n className={rootClassName}\n fancy={fancy}\n ref={ref}\n >\n {fancy ? <Styled.FancyBackground className={backgroundClassName} /> : null}\n {isValidElement(root) ? (\n root\n ) : typeof root === 'function' ? (\n root({\n captionProps,\n titleProps,\n subtitleProps,\n closeButtonProps,\n progressLineProps,\n onGrab,\n onNudge,\n })\n ) : (\n <>\n {floats}\n {draggable ? (\n <Styled.DraggingHandle {...layoutProps} layouts={VISIBILITY_VERTICAL} onPointerDown={onGrab}>\n <Styled.DraggingIconContainer tabIndex={0} onKeyDown={onNudge}>\n <Icon icon={<Dragging />} size={34} color='content-onmain-tertiary' />\n </Styled.DraggingIconContainer>\n </Styled.DraggingHandle>\n ) : null}\n {closeButton ? (\n <Styled.ButtonPosition>\n {isValidElement(closeButton)\n ? closeButton\n : typeof closeButton === 'function'\n ? closeButton(closeButtonProps)\n : null}\n </Styled.ButtonPosition>\n ) : null}\n {loading || media || imgSrcVertical ? (\n <Styled.Media {...layoutProps} layouts={fancy ? LAYOUTS_FANCY_MEDIA_VERTICAL : LAYOUTS_MEDIA_VERTICAL}>\n {loading ? (\n <AspectRatio ratio='3:1' width='100%'>\n <Skeleton borderRadius={0} />\n </AspectRatio>\n ) : isValidElement(media) ? (\n media\n ) : (\n <AspectRatio ratio='3:1' width='100%'>\n <Styled.Img src={imgSrcVertical} />\n </AspectRatio>\n )}\n </Styled.Media>\n ) : null}\n {loading || media || imgSrcHorizontal ? (\n <Styled.Media {...layoutProps} layouts={LAYOUTS_MEDIA_HORIZONTAL}>\n {loading ? (\n <AspectRatio ratio='5:7' height='100%'>\n <Skeleton borderRadius={0} />\n </AspectRatio>\n ) : isValidElement(media) ? (\n media\n ) : (\n <AspectRatio ratio='5:7' height='100%'>\n <Styled.Img src={imgSrcHorizontal} />\n </AspectRatio>\n )}\n </Styled.Media>\n ) : null}\n <Styled.Body>\n {progressLine && !loading ? (\n <Styled.ProgressPosition {...layoutProps} layouts={fancy ? LAYOUTS_FANCY_PROGRESS : LAYOUTS_PROGRESS}>\n {isValidElement(progressLine)\n ? progressLine\n : typeof progressLine === 'function'\n ? progressLine(progressLineProps)\n : null}\n </Styled.ProgressPosition>\n ) : null}\n {draggable ? (\n <Styled.DraggingHandle {...layoutProps} layouts={VISIBILITY_HORIZONTAL} onPointerDown={onGrab}>\n <Styled.DraggingIconContainer tabIndex={0} onKeyDown={onNudge}>\n <Icon icon={<Dragging />} size={34} color='content-onmain-tertiary' />\n </Styled.DraggingIconContainer>\n </Styled.DraggingHandle>\n ) : null}\n {fancy ? <Styled.LayoutSpacer {...layoutProps} layouts={VISIBILITY_HORIZONTAL} paddingTop={76} /> : null}\n {loading ? (\n <Styled.Container {...sizeProps} sizes={SIZES_CONTAINER}>\n <Styled.Content {...sizeProps} sizes={SIZES_CONTENT}>\n <Skeleton>\n <Text {...titleProps} marginBottom='1.5em' />\n </Skeleton>\n <Skeleton width='90%'>\n <Text {...subtitleProps} marginBottom='0.4em' />\n </Skeleton>\n <Skeleton width='70%'>\n <Text {...subtitleProps} marginBottom='0.4em' />\n </Skeleton>\n <Skeleton width='50%'>\n <Text {...subtitleProps} marginBottom='0.8em' />\n </Skeleton>\n </Styled.Content>\n </Styled.Container>\n ) : isValidElement(body) ? (\n body\n ) : typeof body === 'function' ? (\n body({\n captionProps,\n titleProps,\n subtitleProps,\n })\n ) : (\n <Styled.Container {...sizeProps} sizes={SIZES_CONTAINER}>\n {stickyHeader ? (\n <Styled.StickyHeader {...sizeProps} sizes={SIZES_STICKY_HEADER}>\n <Header\n header={header}\n caption={caption}\n title={title}\n subtitle={subtitle}\n captionProps={captionProps}\n titleProps={titleProps}\n subtitleProps={subtitleProps}\n />\n </Styled.StickyHeader>\n ) : null}\n {scrollFadingEnabled ? <Styled.Fading visible={scrollThresholds.top === false} /> : null}\n <Styled.ContentScrollArea\n ref={setContentRef}\n scrollable={scrollable}\n tabIndex={scrollable ? 0 : undefined}\n onScroll={(evt) => {\n if (scrollFadingEnabled) {\n setScrollThresholds(evt.currentTarget)\n }\n }}\n onKeyDown={(evt) => {\n if (keyboardKeys.ArrowUp.validate(evt.key)) {\n evt.preventDefault()\n evt.currentTarget.scrollBy(0, -13)\n } else if (keyboardKeys.ArrowDown.validate(evt.key)) {\n evt.preventDefault()\n evt.currentTarget.scrollBy(0, 13)\n }\n }}\n >\n <Styled.Content {...sizeProps} sizes={SIZES_CONTENT}>\n {!stickyHeader ? (\n <Header\n header={header}\n caption={caption}\n title={title}\n subtitle={subtitle}\n captionProps={captionProps}\n titleProps={titleProps}\n subtitleProps={subtitleProps}\n />\n ) : null}\n {children}\n </Styled.Content>\n </Styled.ContentScrollArea>\n {scrollFadingEnabled ? <Styled.Fading visible={scrollThresholds.bottom === false} after /> : null}\n {footer ? (\n <Styled.Footer {...sizeProps} sizes={SIZES_FOOTER}>\n {footer}\n </Styled.Footer>\n ) : null}\n </Styled.Container>\n )}\n </Styled.Body>\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n sizes: (props) => (props.fancy ? SIZES_FANCY : SIZES),\n displayName: COMPONENT_NAME,\n }\n)\n\nexport { DialogComponent }\n"],"names":["DialogComponent","withMergedProps","forwardRef","props","ref","size","layout","scrollable","scrollFading","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","layoutXXS","layoutXS","layoutS","layoutM","layoutL","layoutXL","root","floats","media","body","header","caption","title","subtitle","children","footer","closeButton","progressLine","fancy","imgSrcVertical","imgSrcHorizontal","draggable","loading","stickyHeader","className","backgroundClassName","onGrab","onNudge","restProps","sizeProps","layoutProps","captionProps","appearance","color","wordBreak","marginBottom","sizes","SIZES_CAPTION","titleProps","as","SIZES_TITLE","subtitleProps","SIZES_SUBTITLE","closeButtonProps","icon","_jsx","Close","filled","marginTop","marginRight","progressLineProps","rootClassName","concatClassNames","scrollFadingEnabled","contentRef","setContentRef","useState","scrollThresholds","setScrollThresholds","useScrollThresholds","enabled","target","useScrollLock","locked","_jsxs","Styled","layouts","LAYOUTS_FANCY","LAYOUTS","isValidElement","_Fragment","VISIBILITY_VERTICAL","onPointerDown","tabIndex","onKeyDown","Icon","Dragging","LAYOUTS_FANCY_MEDIA_VERTICAL","LAYOUTS_MEDIA_VERTICAL","AspectRatio","ratio","width","Skeleton","borderRadius","src","LAYOUTS_MEDIA_HORIZONTAL","height","LAYOUTS_FANCY_PROGRESS","LAYOUTS_PROGRESS","VISIBILITY_HORIZONTAL","paddingTop","SIZES_CONTAINER","SIZES_CONTENT","Text","SIZES_STICKY_HEADER","Header","visible","top","undefined","onScroll","evt","currentTarget","keyboardKeys","ArrowUp","validate","key","preventDefault","scrollBy","ArrowDown","bottom","after","SIZES_FOOTER","SIZES_FANCY","SIZES","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DialogComponent.js","sources":["../../../../src/components/DialogComponent/DialogComponent.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { Close } from '@foxford/icon-pack'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Slot } from 'components/Slot'\nimport { Text } from 'components/Text'\nimport type { TextProps } from 'components/Text'\nimport type { IconButtonProps } from 'components/IconButton'\nimport type { ProgressLineProps } from 'components/ProgressLine'\nimport { concatClassNames } from 'shared/utils/dom'\nimport { Skeleton } from 'components/Skeleton'\nimport { Button } from 'components/Button'\nimport { isNil } from 'shared/utils/isNil'\nimport * as Styled from './style'\nimport { SIZES, SIZES_FANCY, SIZES_CAPTION, SIZES_TITLE, SIZES_SUBTITLE } from './sizes'\nimport {\n LAYOUTS,\n LAYOUTS_FANCY,\n LAYOUTS_MEDIA_VERTICAL,\n LAYOUTS_FANCY_MEDIA_VERTICAL,\n LAYOUTS_MEDIA_HORIZONTAL,\n LAYOUTS_PROGRESS,\n LAYOUTS_FANCY_PROGRESS,\n VISIBILITY_VERTICAL,\n VISIBILITY_HORIZONTAL,\n LAYOUTS_FANCY_BACKGROUND,\n LAYOUTS_SPACER,\n} from './layouts'\nimport type { DialogComponentProps } from './types'\nimport { MediaBlock } from './MediaBlock'\nimport { DraggingHandle } from './DraggingHandle'\nimport { Body } from './Body'\nimport { Header } from './Header'\n\nconst COMPONENT_NAME = 'DialogComponent'\n\nconst DialogComponent: React.ForwardRefExoticComponent<DialogComponentProps> = withMergedProps<\n DialogComponentProps,\n HTMLDivElement\n>(\n forwardRef<HTMLDivElement, MergedProps<DialogComponentProps>>((props, ref) => {\n const {\n size = 's',\n layout = 'vertical',\n scrollable = false,\n scrollFading = false,\n scrollAreaReserveScrollbarGutter = false,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n root,\n floats,\n media,\n body,\n header,\n caption,\n title,\n subtitle,\n children,\n footer,\n closeButton,\n progressLine,\n fancy,\n imgSrcVertical,\n imgSrcHorizontal,\n draggable,\n loading,\n stickyHeader,\n className,\n backgroundClassName,\n onGrab,\n onNudge,\n scrollAreaRef,\n ...restProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const layoutProps = {\n layout,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n }\n\n const captionProps: TextProps = {\n ...sizeProps,\n appearance: 'body',\n color: 'content-onmain-tertiary',\n wordBreak: 'break-word',\n sizes: SIZES_CAPTION,\n }\n\n const titleProps: TextProps = {\n ...sizeProps,\n as: 'h2',\n appearance: 'heading',\n color: 'content-onmain-primary',\n wordBreak: 'break-word',\n sizes: SIZES_TITLE,\n }\n\n const subtitleProps: TextProps = {\n ...sizeProps,\n as: 'p',\n appearance: 'body',\n color: 'content-onmain-primary',\n wordBreak: 'break-word',\n sizes: SIZES_SUBTITLE,\n }\n\n const closeButtonProps: IconButtonProps = fancy\n ? { icon: <Close />, size: 'xxl', filled: true }\n : { icon: <Close />, size: 'xl', secondary: true, marginTop: 10, marginRight: 10 }\n\n const progressLineProps: ProgressLineProps = {\n size: 'xs',\n }\n\n const rootClassName = !fancy ? concatClassNames(className, backgroundClassName) : className\n\n const hasHeaderContent = !isNil(header) || !isNil(caption) || !isNil(title) || !isNil(subtitle)\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n {...layoutProps}\n layouts={fancy ? LAYOUTS_FANCY : LAYOUTS}\n className={rootClassName}\n fancy={fancy}\n ref={ref}\n >\n {fancy ? (\n <Styled.FancyBackground className={backgroundClassName} {...layoutProps} layouts={LAYOUTS_FANCY_BACKGROUND} />\n ) : null}\n <Slot\n render={root}\n props={{\n captionProps,\n titleProps,\n subtitleProps,\n closeButtonProps,\n progressLineProps,\n onGrab,\n onNudge,\n }}\n fallback={\n <>\n {floats}\n\n {draggable ? (\n <DraggingHandle {...layoutProps} layouts={VISIBILITY_VERTICAL} onGrab={onGrab} onNudge={onNudge} />\n ) : null}\n\n {closeButton ? (\n <Styled.ButtonPosition>\n <Slot render={closeButton} props={closeButtonProps} />\n </Styled.ButtonPosition>\n ) : null}\n\n {loading || imgSrcVertical || media ? (\n <MediaBlock\n {...layoutProps}\n layouts={fancy ? LAYOUTS_FANCY_MEDIA_VERTICAL : LAYOUTS_MEDIA_VERTICAL}\n aspectRatioProps={{ ratio: '3:1', width: '100%' }}\n loading={loading}\n media={media}\n imgSrc={imgSrcVertical}\n fancy={fancy}\n />\n ) : null}\n\n {loading || imgSrcHorizontal || media ? (\n <MediaBlock\n {...layoutProps}\n layouts={LAYOUTS_MEDIA_HORIZONTAL}\n aspectRatioProps={{ ratio: '5:7', height: '100%' }}\n loading={loading}\n media={media}\n imgSrc={imgSrcHorizontal}\n fancy={fancy}\n />\n ) : null}\n\n <Styled.Body>\n {progressLine && !loading ? (\n <Styled.ProgressPosition {...layoutProps} layouts={fancy ? LAYOUTS_FANCY_PROGRESS : LAYOUTS_PROGRESS}>\n <Slot render={progressLine} props={progressLineProps} />\n </Styled.ProgressPosition>\n ) : null}\n\n {draggable ? (\n <DraggingHandle {...layoutProps} layouts={VISIBILITY_HORIZONTAL} onGrab={onGrab} onNudge={onNudge} />\n ) : null}\n\n {fancy ? <Styled.LayoutSpacer {...layoutProps} layouts={LAYOUTS_SPACER} /> : null}\n\n {loading ? (\n <Styled.Container>\n <Styled.Header>\n <Skeleton width='100%' borderRadius={4}>\n <Text {...titleProps} />\n </Skeleton>\n <Skeleton width='50%' borderRadius={4}>\n <Text {...titleProps} />\n </Skeleton>\n </Styled.Header>\n <Styled.Content loading>\n <Styled.LoadingContent>\n <Skeleton width='95%' borderRadius={4}>\n <Text {...captionProps} />\n </Skeleton>\n <Skeleton width='67%' borderRadius={4}>\n <Text {...captionProps} />\n </Skeleton>\n </Styled.LoadingContent>\n </Styled.Content>\n {footer ? (\n <Styled.Footer>\n <Skeleton width='100%' borderRadius={40}>\n <Button {...sizeProps} />\n </Skeleton>\n </Styled.Footer>\n ) : null}\n </Styled.Container>\n ) : (\n <Slot\n render={body}\n props={{ captionProps, titleProps, subtitleProps }}\n fallback={\n <Body\n stickyHeader={stickyHeader}\n scrollable={scrollable}\n scrollFading={scrollFading}\n scrollAreaReserveScrollbarGutter={scrollAreaReserveScrollbarGutter}\n footer={footer}\n header={\n hasHeaderContent ? (\n <Header\n header={header}\n caption={caption}\n title={title}\n subtitle={subtitle}\n captionProps={captionProps}\n titleProps={titleProps}\n subtitleProps={subtitleProps}\n />\n ) : null\n }\n scrollAreaRef={scrollAreaRef}\n >\n {children}\n </Body>\n }\n />\n )}\n </Styled.Body>\n </>\n }\n />\n </Styled.Root>\n )\n }),\n {\n sizes: (props) => (props.fancy ? SIZES_FANCY : SIZES),\n displayName: COMPONENT_NAME,\n }\n)\n\nexport { DialogComponent }\n"],"names":["DialogComponent","withMergedProps","forwardRef","props","ref","size","layout","scrollable","scrollFading","scrollAreaReserveScrollbarGutter","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","layoutXXS","layoutXS","layoutS","layoutM","layoutL","layoutXL","root","floats","media","body","header","caption","title","subtitle","children","footer","closeButton","progressLine","fancy","imgSrcVertical","imgSrcHorizontal","draggable","loading","stickyHeader","className","backgroundClassName","onGrab","onNudge","scrollAreaRef","restProps","sizeProps","layoutProps","captionProps","appearance","color","wordBreak","sizes","SIZES_CAPTION","titleProps","as","SIZES_TITLE","subtitleProps","SIZES_SUBTITLE","closeButtonProps","icon","_jsx","Close","filled","secondary","marginTop","marginRight","progressLineProps","rootClassName","concatClassNames","hasHeaderContent","isNil","_jsxs","Styled","layouts","LAYOUTS_FANCY","LAYOUTS","LAYOUTS_FANCY_BACKGROUND","Slot","render","fallback","_Fragment","DraggingHandle","VISIBILITY_VERTICAL","MediaBlock","LAYOUTS_FANCY_MEDIA_VERTICAL","LAYOUTS_MEDIA_VERTICAL","aspectRatioProps","ratio","width","imgSrc","LAYOUTS_MEDIA_HORIZONTAL","height","LAYOUTS_FANCY_PROGRESS","LAYOUTS_PROGRESS","VISIBILITY_HORIZONTAL","LAYOUTS_SPACER","Skeleton","borderRadius","Text","Button","Body","Header","SIZES_FANCY","SIZES","displayName"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{forwardRef
|
|
1
|
+
import{forwardRef}from'react';import{withMergedProps}from'../../hocs/withMergedProps.mjs';import{concatClassNames}from'../../shared/utils/dom.mjs';import{isNil}from'../../shared/utils/isNil.mjs';import{Root,FancyBackground,ButtonPosition,Body,ProgressPosition,LayoutSpacer,Container,Header,Content,LoadingContent,Footer}from'./style.mjs';import{SIZES_SUBTITLE,SIZES_TITLE,SIZES_CAPTION,SIZES_FANCY,SIZES}from'./sizes.mjs';import{LAYOUTS_FANCY,LAYOUTS,LAYOUTS_FANCY_BACKGROUND,VISIBILITY_VERTICAL,LAYOUTS_FANCY_MEDIA_VERTICAL,LAYOUTS_MEDIA_VERTICAL,LAYOUTS_MEDIA_HORIZONTAL,LAYOUTS_FANCY_PROGRESS,LAYOUTS_PROGRESS,VISIBILITY_HORIZONTAL,LAYOUTS_SPACER}from'./layouts.mjs';import{MediaBlock}from'./MediaBlock.mjs';import{DraggingHandle}from'./DraggingHandle.mjs';import{Body as Body$1}from'./Body.mjs';import{Header as Header$1}from'./Header.mjs';import{jsxs,jsx,Fragment}from'react/jsx-runtime';import{Slot}from'../Slot/Slot.mjs';import{Skeleton}from'../Skeleton/Skeleton.mjs';import{Text}from'../Text/Text.mjs';import{Button}from'../Button/Button.mjs';import{Close}from'../../icon-pack/src/icons/Close/index.mjs';const DialogComponent=withMergedProps(forwardRef((o,e)=>{const{size:s="s",layout:r="vertical",scrollable:t=!1,scrollFading:a=!1,scrollAreaReserveScrollbarGutter:i=!1,sizeXXS:l,sizeXS:n,sizeS:d,sizeM:c,sizeL:S,sizeXL:m,layoutXXS:p,layoutXS:u,layoutS:A,layoutM:j,layoutL:g,layoutXL:x,root:L,floats:T,media:y,body:I,header:_,caption:C,title:R,subtitle:h,children:f,footer:N,closeButton:O,progressLine:E,fancy:Y,imgSrcVertical:B,imgSrcHorizontal:P,draggable:b,loading:k,stickyHeader:z,className:U,backgroundClassName:F,onGrab:w,onNudge:H,scrollAreaRef:M,...X}=o;const D={size:s,sizeXXS:l,sizeXS:n,sizeS:d,sizeM:c,sizeL:S,sizeXL:m};const Z={layout:r,layoutXXS:p,layoutXS:u,layoutS:A,layoutM:j,layoutL:g,layoutXL:x};const G={...D,appearance:'body',color:'content-onmain-tertiary',wordBreak:'break-word',sizes:SIZES_CAPTION};const V={...D,as:'h2',appearance:'heading',color:'content-onmain-primary',wordBreak:'break-word',sizes:SIZES_TITLE};const $={...D,as:'p',appearance:'body',color:'content-onmain-primary',wordBreak:'break-word',sizes:SIZES_SUBTITLE};const v=Y?{icon:jsx(Close,{}),size:'xxl',filled:!0}:{icon:jsx(Close,{}),size:'xl',secondary:!0,marginTop:10,marginRight:10};const K={size:'xs'};const q=Y?U:concatClassNames(U,F);const J=!(isNil(_)&&isNil(C)&&isNil(R)&&isNil(h));return jsxs(Root,{...X,...D,...Z,layouts:Y?LAYOUTS_FANCY:LAYOUTS,className:q,fancy:Y,ref:e,children:[Y?jsx(FancyBackground,{className:F,...Z,layouts:LAYOUTS_FANCY_BACKGROUND}):null,jsx(Slot,{render:L,props:{captionProps:G,titleProps:V,subtitleProps:$,closeButtonProps:v,progressLineProps:K,onGrab:w,onNudge:H},fallback:jsxs(Fragment,{children:[T,b?jsx(DraggingHandle,{...Z,layouts:VISIBILITY_VERTICAL,onGrab:w,onNudge:H}):null,O?jsx(ButtonPosition,{children:jsx(Slot,{render:O,props:v})}):null,k||B||y?jsx(MediaBlock,{...Z,layouts:Y?LAYOUTS_FANCY_MEDIA_VERTICAL:LAYOUTS_MEDIA_VERTICAL,aspectRatioProps:{ratio:'3:1',width:'100%'},loading:k,media:y,imgSrc:B,fancy:Y}):null,k||P||y?jsx(MediaBlock,{...Z,layouts:LAYOUTS_MEDIA_HORIZONTAL,aspectRatioProps:{ratio:'5:7',height:'100%'},loading:k,media:y,imgSrc:P,fancy:Y}):null,jsxs(Body,{children:[E&&!k?jsx(ProgressPosition,{...Z,layouts:Y?LAYOUTS_FANCY_PROGRESS:LAYOUTS_PROGRESS,children:jsx(Slot,{render:E,props:K})}):null,b?jsx(DraggingHandle,{...Z,layouts:VISIBILITY_HORIZONTAL,onGrab:w,onNudge:H}):null,Y?jsx(LayoutSpacer,{...Z,layouts:LAYOUTS_SPACER}):null,k?jsxs(Container,{children:[jsxs(Header,{children:[jsx(Skeleton,{width:"100%",borderRadius:4,children:jsx(Text,{...V})}),jsx(Skeleton,{width:"50%",borderRadius:4,children:jsx(Text,{...V})})]}),jsx(Content,{loading:!0,children:jsxs(LoadingContent,{children:[jsx(Skeleton,{width:"95%",borderRadius:4,children:jsx(Text,{...G})}),jsx(Skeleton,{width:"67%",borderRadius:4,children:jsx(Text,{...G})})]})}),N?jsx(Footer,{children:jsx(Skeleton,{width:"100%",borderRadius:40,children:jsx(Button,{...D})})}):null]}):jsx(Slot,{render:I,props:{captionProps:G,titleProps:V,subtitleProps:$},fallback:jsx(Body$1,{stickyHeader:z,scrollable:t,scrollFading:a,scrollAreaReserveScrollbarGutter:i,footer:N,header:J?jsx(Header$1,{header:_,caption:C,title:R,subtitle:h,captionProps:G,titleProps:V,subtitleProps:$}):null,scrollAreaRef:M,children:f})})]})]})})]})}),{sizes:o=>o.fancy?SIZES_FANCY:SIZES,displayName:'DialogComponent'});export{DialogComponent};
|
|
2
2
|
//# sourceMappingURL=DialogComponent.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogComponent.mjs","sources":["../../../../src/components/DialogComponent/DialogComponent.tsx"],"sourcesContent":["import { forwardRef, useState, isValidElement } from 'react'\nimport { Close } from '@foxford/icon-pack'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { useScrollThresholds } from 'hooks/useScrollThresholds'\nimport { keyboardKeys } from 'shared/constants'\nimport { Text } from 'components/Text'\nimport { Icon } from 'components/Icon'\nimport { Skeleton } from 'components/Skeleton'\nimport { AspectRatio } from 'components/AspectRatio'\nimport type { TextProps } from 'components/Text'\nimport type { IconButtonProps } from 'components/IconButton'\nimport type { ProgressLineProps } from 'components/ProgressLine'\nimport { concatClassNames } from 'shared/utils/dom'\nimport { useScrollLock } from 'hooks/useScrollLock'\nimport Dragging from './images/dragging.svg?module'\nimport * as Styled from './style'\nimport {\n SIZES,\n SIZES_FANCY,\n SIZES_CONTAINER,\n SIZES_CONTENT,\n SIZES_FOOTER,\n SIZES_CAPTION,\n SIZES_TITLE,\n SIZES_SUBTITLE,\n SIZES_STICKY_HEADER,\n} from './sizes'\nimport {\n LAYOUTS,\n LAYOUTS_FANCY,\n LAYOUTS_MEDIA_VERTICAL,\n LAYOUTS_FANCY_MEDIA_VERTICAL,\n LAYOUTS_MEDIA_HORIZONTAL,\n LAYOUTS_PROGRESS,\n LAYOUTS_FANCY_PROGRESS,\n VISIBILITY_VERTICAL,\n VISIBILITY_HORIZONTAL,\n} from './layouts'\nimport type { DialogComponentProps } from './types'\nimport { Header } from './Header'\n\nconst COMPONENT_NAME = 'DialogComponent'\n\nconst DialogComponent: React.ForwardRefExoticComponent<DialogComponentProps> = withMergedProps<\n DialogComponentProps,\n HTMLDivElement\n>(\n forwardRef<HTMLDivElement, MergedProps<DialogComponentProps>>((props, ref) => {\n const {\n size = 's',\n layout = 'vertical',\n scrollable = false,\n scrollFading = false,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n root,\n floats,\n media,\n body,\n header,\n caption,\n title,\n subtitle,\n children,\n footer,\n closeButton,\n progressLine,\n fancy,\n imgSrcVertical,\n imgSrcHorizontal,\n draggable,\n loading,\n stickyHeader,\n className,\n backgroundClassName,\n onGrab,\n onNudge,\n ...restProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const layoutProps = {\n layout,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n }\n\n const captionProps: TextProps = {\n ...sizeProps,\n appearance: 'body',\n color: 'content-onmain-tertiary',\n wordBreak: 'break-word',\n marginBottom: '0.8em',\n sizes: SIZES_CAPTION,\n }\n\n const titleProps: TextProps = {\n ...sizeProps,\n as: 'h2',\n appearance: 'heading',\n color: 'content-onmain-primary',\n wordBreak: 'break-word',\n marginBottom: '0.5em',\n sizes: SIZES_TITLE,\n }\n\n const subtitleProps: TextProps = {\n ...sizeProps,\n as: 'p',\n appearance: 'body',\n color: 'content-onmain-primary',\n wordBreak: 'break-word',\n marginBottom: '0.8em',\n sizes: SIZES_SUBTITLE,\n }\n\n const closeButtonProps: IconButtonProps = fancy\n ? { icon: <Close />, size: 'xxl', filled: true }\n : { icon: <Close />, size: 'l', marginTop: 8, marginRight: 8 }\n\n const progressLineProps: ProgressLineProps = {\n size: 'xs',\n }\n\n const rootClassName = !fancy ? concatClassNames(className, backgroundClassName) : className\n\n const scrollFadingEnabled = scrollable && scrollFading\n\n const [contentRef, setContentRef] = useState<HTMLDivElement | null>(null)\n\n const { scrollThresholds, setScrollThresholds } = useScrollThresholds({\n enabled: scrollFadingEnabled,\n target: contentRef,\n })\n\n useScrollLock({ locked: !scrollable, target: contentRef })\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n {...layoutProps}\n layouts={fancy ? LAYOUTS_FANCY : LAYOUTS}\n className={rootClassName}\n fancy={fancy}\n ref={ref}\n >\n {fancy ? <Styled.FancyBackground className={backgroundClassName} /> : null}\n {isValidElement(root) ? (\n root\n ) : typeof root === 'function' ? (\n root({\n captionProps,\n titleProps,\n subtitleProps,\n closeButtonProps,\n progressLineProps,\n onGrab,\n onNudge,\n })\n ) : (\n <>\n {floats}\n {draggable ? (\n <Styled.DraggingHandle {...layoutProps} layouts={VISIBILITY_VERTICAL} onPointerDown={onGrab}>\n <Styled.DraggingIconContainer tabIndex={0} onKeyDown={onNudge}>\n <Icon icon={<Dragging />} size={34} color='content-onmain-tertiary' />\n </Styled.DraggingIconContainer>\n </Styled.DraggingHandle>\n ) : null}\n {closeButton ? (\n <Styled.ButtonPosition>\n {isValidElement(closeButton)\n ? closeButton\n : typeof closeButton === 'function'\n ? closeButton(closeButtonProps)\n : null}\n </Styled.ButtonPosition>\n ) : null}\n {loading || media || imgSrcVertical ? (\n <Styled.Media {...layoutProps} layouts={fancy ? LAYOUTS_FANCY_MEDIA_VERTICAL : LAYOUTS_MEDIA_VERTICAL}>\n {loading ? (\n <AspectRatio ratio='3:1' width='100%'>\n <Skeleton borderRadius={0} />\n </AspectRatio>\n ) : isValidElement(media) ? (\n media\n ) : (\n <AspectRatio ratio='3:1' width='100%'>\n <Styled.Img src={imgSrcVertical} />\n </AspectRatio>\n )}\n </Styled.Media>\n ) : null}\n {loading || media || imgSrcHorizontal ? (\n <Styled.Media {...layoutProps} layouts={LAYOUTS_MEDIA_HORIZONTAL}>\n {loading ? (\n <AspectRatio ratio='5:7' height='100%'>\n <Skeleton borderRadius={0} />\n </AspectRatio>\n ) : isValidElement(media) ? (\n media\n ) : (\n <AspectRatio ratio='5:7' height='100%'>\n <Styled.Img src={imgSrcHorizontal} />\n </AspectRatio>\n )}\n </Styled.Media>\n ) : null}\n <Styled.Body>\n {progressLine && !loading ? (\n <Styled.ProgressPosition {...layoutProps} layouts={fancy ? LAYOUTS_FANCY_PROGRESS : LAYOUTS_PROGRESS}>\n {isValidElement(progressLine)\n ? progressLine\n : typeof progressLine === 'function'\n ? progressLine(progressLineProps)\n : null}\n </Styled.ProgressPosition>\n ) : null}\n {draggable ? (\n <Styled.DraggingHandle {...layoutProps} layouts={VISIBILITY_HORIZONTAL} onPointerDown={onGrab}>\n <Styled.DraggingIconContainer tabIndex={0} onKeyDown={onNudge}>\n <Icon icon={<Dragging />} size={34} color='content-onmain-tertiary' />\n </Styled.DraggingIconContainer>\n </Styled.DraggingHandle>\n ) : null}\n {fancy ? <Styled.LayoutSpacer {...layoutProps} layouts={VISIBILITY_HORIZONTAL} paddingTop={76} /> : null}\n {loading ? (\n <Styled.Container {...sizeProps} sizes={SIZES_CONTAINER}>\n <Styled.Content {...sizeProps} sizes={SIZES_CONTENT}>\n <Skeleton>\n <Text {...titleProps} marginBottom='1.5em' />\n </Skeleton>\n <Skeleton width='90%'>\n <Text {...subtitleProps} marginBottom='0.4em' />\n </Skeleton>\n <Skeleton width='70%'>\n <Text {...subtitleProps} marginBottom='0.4em' />\n </Skeleton>\n <Skeleton width='50%'>\n <Text {...subtitleProps} marginBottom='0.8em' />\n </Skeleton>\n </Styled.Content>\n </Styled.Container>\n ) : isValidElement(body) ? (\n body\n ) : typeof body === 'function' ? (\n body({\n captionProps,\n titleProps,\n subtitleProps,\n })\n ) : (\n <Styled.Container {...sizeProps} sizes={SIZES_CONTAINER}>\n {stickyHeader ? (\n <Styled.StickyHeader {...sizeProps} sizes={SIZES_STICKY_HEADER}>\n <Header\n header={header}\n caption={caption}\n title={title}\n subtitle={subtitle}\n captionProps={captionProps}\n titleProps={titleProps}\n subtitleProps={subtitleProps}\n />\n </Styled.StickyHeader>\n ) : null}\n {scrollFadingEnabled ? <Styled.Fading visible={scrollThresholds.top === false} /> : null}\n <Styled.ContentScrollArea\n ref={setContentRef}\n scrollable={scrollable}\n tabIndex={scrollable ? 0 : undefined}\n onScroll={(evt) => {\n if (scrollFadingEnabled) {\n setScrollThresholds(evt.currentTarget)\n }\n }}\n onKeyDown={(evt) => {\n if (keyboardKeys.ArrowUp.validate(evt.key)) {\n evt.preventDefault()\n evt.currentTarget.scrollBy(0, -13)\n } else if (keyboardKeys.ArrowDown.validate(evt.key)) {\n evt.preventDefault()\n evt.currentTarget.scrollBy(0, 13)\n }\n }}\n >\n <Styled.Content {...sizeProps} sizes={SIZES_CONTENT}>\n {!stickyHeader ? (\n <Header\n header={header}\n caption={caption}\n title={title}\n subtitle={subtitle}\n captionProps={captionProps}\n titleProps={titleProps}\n subtitleProps={subtitleProps}\n />\n ) : null}\n {children}\n </Styled.Content>\n </Styled.ContentScrollArea>\n {scrollFadingEnabled ? <Styled.Fading visible={scrollThresholds.bottom === false} after /> : null}\n {footer ? (\n <Styled.Footer {...sizeProps} sizes={SIZES_FOOTER}>\n {footer}\n </Styled.Footer>\n ) : null}\n </Styled.Container>\n )}\n </Styled.Body>\n </>\n )}\n </Styled.Root>\n )\n }),\n {\n sizes: (props) => (props.fancy ? SIZES_FANCY : SIZES),\n displayName: COMPONENT_NAME,\n }\n)\n\nexport { DialogComponent }\n"],"names":["DialogComponent","withMergedProps","forwardRef","props","ref","size","layout","scrollable","scrollFading","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","layoutXXS","layoutXS","layoutS","layoutM","layoutL","layoutXL","root","floats","media","body","header","caption","title","subtitle","children","footer","closeButton","progressLine","fancy","imgSrcVertical","imgSrcHorizontal","draggable","loading","stickyHeader","className","backgroundClassName","onGrab","onNudge","restProps","sizeProps","layoutProps","captionProps","appearance","color","wordBreak","marginBottom","sizes","SIZES_CAPTION","titleProps","as","SIZES_TITLE","subtitleProps","SIZES_SUBTITLE","closeButtonProps","icon","_jsx","Close","filled","marginTop","marginRight","progressLineProps","rootClassName","concatClassNames","scrollFadingEnabled","contentRef","setContentRef","useState","scrollThresholds","setScrollThresholds","useScrollThresholds","enabled","target","useScrollLock","locked","_jsxs","Styled","layouts","LAYOUTS_FANCY","LAYOUTS","isValidElement","_Fragment","VISIBILITY_VERTICAL","onPointerDown","tabIndex","onKeyDown","Icon","Dragging","LAYOUTS_FANCY_MEDIA_VERTICAL","LAYOUTS_MEDIA_VERTICAL","AspectRatio","ratio","width","Skeleton","borderRadius","src","LAYOUTS_MEDIA_HORIZONTAL","height","LAYOUTS_FANCY_PROGRESS","LAYOUTS_PROGRESS","VISIBILITY_HORIZONTAL","paddingTop","SIZES_CONTAINER","SIZES_CONTENT","Text","SIZES_STICKY_HEADER","Header","visible","top","undefined","onScroll","evt","currentTarget","keyboardKeys","ArrowUp","validate","key","preventDefault","scrollBy","ArrowDown","bottom","after","SIZES_FOOTER","SIZES_FANCY","SIZES","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DialogComponent.mjs","sources":["../../../../src/components/DialogComponent/DialogComponent.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { Close } from '@foxford/icon-pack'\nimport { withMergedProps } from 'hocs/withMergedProps'\nimport type { MergedProps } from 'hocs/withMergedProps'\nimport { Slot } from 'components/Slot'\nimport { Text } from 'components/Text'\nimport type { TextProps } from 'components/Text'\nimport type { IconButtonProps } from 'components/IconButton'\nimport type { ProgressLineProps } from 'components/ProgressLine'\nimport { concatClassNames } from 'shared/utils/dom'\nimport { Skeleton } from 'components/Skeleton'\nimport { Button } from 'components/Button'\nimport { isNil } from 'shared/utils/isNil'\nimport * as Styled from './style'\nimport { SIZES, SIZES_FANCY, SIZES_CAPTION, SIZES_TITLE, SIZES_SUBTITLE } from './sizes'\nimport {\n LAYOUTS,\n LAYOUTS_FANCY,\n LAYOUTS_MEDIA_VERTICAL,\n LAYOUTS_FANCY_MEDIA_VERTICAL,\n LAYOUTS_MEDIA_HORIZONTAL,\n LAYOUTS_PROGRESS,\n LAYOUTS_FANCY_PROGRESS,\n VISIBILITY_VERTICAL,\n VISIBILITY_HORIZONTAL,\n LAYOUTS_FANCY_BACKGROUND,\n LAYOUTS_SPACER,\n} from './layouts'\nimport type { DialogComponentProps } from './types'\nimport { MediaBlock } from './MediaBlock'\nimport { DraggingHandle } from './DraggingHandle'\nimport { Body } from './Body'\nimport { Header } from './Header'\n\nconst COMPONENT_NAME = 'DialogComponent'\n\nconst DialogComponent: React.ForwardRefExoticComponent<DialogComponentProps> = withMergedProps<\n DialogComponentProps,\n HTMLDivElement\n>(\n forwardRef<HTMLDivElement, MergedProps<DialogComponentProps>>((props, ref) => {\n const {\n size = 's',\n layout = 'vertical',\n scrollable = false,\n scrollFading = false,\n scrollAreaReserveScrollbarGutter = false,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n root,\n floats,\n media,\n body,\n header,\n caption,\n title,\n subtitle,\n children,\n footer,\n closeButton,\n progressLine,\n fancy,\n imgSrcVertical,\n imgSrcHorizontal,\n draggable,\n loading,\n stickyHeader,\n className,\n backgroundClassName,\n onGrab,\n onNudge,\n scrollAreaRef,\n ...restProps\n } = props\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const layoutProps = {\n layout,\n layoutXXS,\n layoutXS,\n layoutS,\n layoutM,\n layoutL,\n layoutXL,\n }\n\n const captionProps: TextProps = {\n ...sizeProps,\n appearance: 'body',\n color: 'content-onmain-tertiary',\n wordBreak: 'break-word',\n sizes: SIZES_CAPTION,\n }\n\n const titleProps: TextProps = {\n ...sizeProps,\n as: 'h2',\n appearance: 'heading',\n color: 'content-onmain-primary',\n wordBreak: 'break-word',\n sizes: SIZES_TITLE,\n }\n\n const subtitleProps: TextProps = {\n ...sizeProps,\n as: 'p',\n appearance: 'body',\n color: 'content-onmain-primary',\n wordBreak: 'break-word',\n sizes: SIZES_SUBTITLE,\n }\n\n const closeButtonProps: IconButtonProps = fancy\n ? { icon: <Close />, size: 'xxl', filled: true }\n : { icon: <Close />, size: 'xl', secondary: true, marginTop: 10, marginRight: 10 }\n\n const progressLineProps: ProgressLineProps = {\n size: 'xs',\n }\n\n const rootClassName = !fancy ? concatClassNames(className, backgroundClassName) : className\n\n const hasHeaderContent = !isNil(header) || !isNil(caption) || !isNil(title) || !isNil(subtitle)\n\n return (\n <Styled.Root\n {...restProps}\n {...sizeProps}\n {...layoutProps}\n layouts={fancy ? LAYOUTS_FANCY : LAYOUTS}\n className={rootClassName}\n fancy={fancy}\n ref={ref}\n >\n {fancy ? (\n <Styled.FancyBackground className={backgroundClassName} {...layoutProps} layouts={LAYOUTS_FANCY_BACKGROUND} />\n ) : null}\n <Slot\n render={root}\n props={{\n captionProps,\n titleProps,\n subtitleProps,\n closeButtonProps,\n progressLineProps,\n onGrab,\n onNudge,\n }}\n fallback={\n <>\n {floats}\n\n {draggable ? (\n <DraggingHandle {...layoutProps} layouts={VISIBILITY_VERTICAL} onGrab={onGrab} onNudge={onNudge} />\n ) : null}\n\n {closeButton ? (\n <Styled.ButtonPosition>\n <Slot render={closeButton} props={closeButtonProps} />\n </Styled.ButtonPosition>\n ) : null}\n\n {loading || imgSrcVertical || media ? (\n <MediaBlock\n {...layoutProps}\n layouts={fancy ? LAYOUTS_FANCY_MEDIA_VERTICAL : LAYOUTS_MEDIA_VERTICAL}\n aspectRatioProps={{ ratio: '3:1', width: '100%' }}\n loading={loading}\n media={media}\n imgSrc={imgSrcVertical}\n fancy={fancy}\n />\n ) : null}\n\n {loading || imgSrcHorizontal || media ? (\n <MediaBlock\n {...layoutProps}\n layouts={LAYOUTS_MEDIA_HORIZONTAL}\n aspectRatioProps={{ ratio: '5:7', height: '100%' }}\n loading={loading}\n media={media}\n imgSrc={imgSrcHorizontal}\n fancy={fancy}\n />\n ) : null}\n\n <Styled.Body>\n {progressLine && !loading ? (\n <Styled.ProgressPosition {...layoutProps} layouts={fancy ? LAYOUTS_FANCY_PROGRESS : LAYOUTS_PROGRESS}>\n <Slot render={progressLine} props={progressLineProps} />\n </Styled.ProgressPosition>\n ) : null}\n\n {draggable ? (\n <DraggingHandle {...layoutProps} layouts={VISIBILITY_HORIZONTAL} onGrab={onGrab} onNudge={onNudge} />\n ) : null}\n\n {fancy ? <Styled.LayoutSpacer {...layoutProps} layouts={LAYOUTS_SPACER} /> : null}\n\n {loading ? (\n <Styled.Container>\n <Styled.Header>\n <Skeleton width='100%' borderRadius={4}>\n <Text {...titleProps} />\n </Skeleton>\n <Skeleton width='50%' borderRadius={4}>\n <Text {...titleProps} />\n </Skeleton>\n </Styled.Header>\n <Styled.Content loading>\n <Styled.LoadingContent>\n <Skeleton width='95%' borderRadius={4}>\n <Text {...captionProps} />\n </Skeleton>\n <Skeleton width='67%' borderRadius={4}>\n <Text {...captionProps} />\n </Skeleton>\n </Styled.LoadingContent>\n </Styled.Content>\n {footer ? (\n <Styled.Footer>\n <Skeleton width='100%' borderRadius={40}>\n <Button {...sizeProps} />\n </Skeleton>\n </Styled.Footer>\n ) : null}\n </Styled.Container>\n ) : (\n <Slot\n render={body}\n props={{ captionProps, titleProps, subtitleProps }}\n fallback={\n <Body\n stickyHeader={stickyHeader}\n scrollable={scrollable}\n scrollFading={scrollFading}\n scrollAreaReserveScrollbarGutter={scrollAreaReserveScrollbarGutter}\n footer={footer}\n header={\n hasHeaderContent ? (\n <Header\n header={header}\n caption={caption}\n title={title}\n subtitle={subtitle}\n captionProps={captionProps}\n titleProps={titleProps}\n subtitleProps={subtitleProps}\n />\n ) : null\n }\n scrollAreaRef={scrollAreaRef}\n >\n {children}\n </Body>\n }\n />\n )}\n </Styled.Body>\n </>\n }\n />\n </Styled.Root>\n )\n }),\n {\n sizes: (props) => (props.fancy ? SIZES_FANCY : SIZES),\n displayName: COMPONENT_NAME,\n }\n)\n\nexport { DialogComponent }\n"],"names":["DialogComponent","withMergedProps","forwardRef","props","ref","size","layout","scrollable","scrollFading","scrollAreaReserveScrollbarGutter","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","layoutXXS","layoutXS","layoutS","layoutM","layoutL","layoutXL","root","floats","media","body","header","caption","title","subtitle","children","footer","closeButton","progressLine","fancy","imgSrcVertical","imgSrcHorizontal","draggable","loading","stickyHeader","className","backgroundClassName","onGrab","onNudge","scrollAreaRef","restProps","sizeProps","layoutProps","captionProps","appearance","color","wordBreak","sizes","SIZES_CAPTION","titleProps","as","SIZES_TITLE","subtitleProps","SIZES_SUBTITLE","closeButtonProps","icon","_jsx","Close","filled","secondary","marginTop","marginRight","progressLineProps","rootClassName","concatClassNames","hasHeaderContent","isNil","_jsxs","Styled","layouts","LAYOUTS_FANCY","LAYOUTS","LAYOUTS_FANCY_BACKGROUND","Slot","render","fallback","_Fragment","DraggingHandle","VISIBILITY_VERTICAL","MediaBlock","LAYOUTS_FANCY_MEDIA_VERTICAL","LAYOUTS_MEDIA_VERTICAL","aspectRatioProps","ratio","width","imgSrc","LAYOUTS_MEDIA_HORIZONTAL","height","LAYOUTS_FANCY_PROGRESS","LAYOUTS_PROGRESS","VISIBILITY_HORIZONTAL","LAYOUTS_SPACER","Skeleton","borderRadius","Text","Button","Body","Header","SIZES_FANCY","SIZES","displayName"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var dragging=require('./images/dragging.svg.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Icon=require('../Icon/Icon.js');exports.DraggingHandle=({onGrab:n,onNudge:e,...r})=>jsxRuntime.jsx(style.DraggingHandle,{...r,onPointerDown:n,children:jsxRuntime.jsx(style.DraggingIconContainer,{tabIndex:0,onKeyDown:e,children:jsxRuntime.jsx(Icon.Icon,{icon:jsxRuntime.jsx(dragging.default,{}),size:34,color:"content-onmain-tertiary"})})});
|
|
2
|
+
//# sourceMappingURL=DraggingHandle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DraggingHandle.js","sources":["../../../../src/components/DialogComponent/DraggingHandle.tsx"],"sourcesContent":["import type { FC } from 'react'\nimport { Icon } from 'components/Icon'\nimport Dragging from './images/dragging.svg?module'\nimport type { DraggingHandleProps } from './types'\nimport * as Styled from './style'\n\nconst DraggingHandle: FC<DraggingHandleProps> = ({ onGrab, onNudge, ...layoutProps }) => (\n <Styled.DraggingHandle {...layoutProps} onPointerDown={onGrab}>\n <Styled.DraggingIconContainer tabIndex={0} onKeyDown={onNudge}>\n <Icon icon={<Dragging />} size={34} color='content-onmain-tertiary' />\n </Styled.DraggingIconContainer>\n </Styled.DraggingHandle>\n)\n\nexport { DraggingHandle }\n"],"names":["DraggingHandle","onGrab","onNudge","layoutProps","_jsx","Styled","onPointerDown","children","tabIndex","onKeyDown","Icon","icon","Dragging","size","color"],"mappings":"qMAMgDA,EAAGC,SAAQC,aAAYC,KACrEC,WAAAA,IAACC,MAAAA,eAAqB,IAAKF,EAAaG,cAAeL,EAAOM,SAC5DH,WAAAA,IAACC,4BAA4B,CAACG,SAAU,EAAGC,UAAWP,EAAQK,SAC5DH,WAAAA,IAACM,UAAI,CAACC,KAAMP,WAAAA,IAACQ,SAAAA,YAAaC,KAAM,GAAIC,MAAM"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import SvgDragging from'./images/dragging.svg.mjs';import{DraggingHandle as DraggingHandle$1,DraggingIconContainer}from'./style.mjs';import{jsx}from'react/jsx-runtime';import{Icon}from'../Icon/Icon.mjs';const DraggingHandle=({onGrab:n,onNudge:g,...o})=>jsx(DraggingHandle$1,{...o,onPointerDown:n,children:jsx(DraggingIconContainer,{tabIndex:0,onKeyDown:g,children:jsx(Icon,{icon:jsx(SvgDragging,{}),size:34,color:"content-onmain-tertiary"})})});export{DraggingHandle};
|
|
2
|
+
//# sourceMappingURL=DraggingHandle.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DraggingHandle.mjs","sources":["../../../../src/components/DialogComponent/DraggingHandle.tsx"],"sourcesContent":["import type { FC } from 'react'\nimport { Icon } from 'components/Icon'\nimport Dragging from './images/dragging.svg?module'\nimport type { DraggingHandleProps } from './types'\nimport * as Styled from './style'\n\nconst DraggingHandle: FC<DraggingHandleProps> = ({ onGrab, onNudge, ...layoutProps }) => (\n <Styled.DraggingHandle {...layoutProps} onPointerDown={onGrab}>\n <Styled.DraggingIconContainer tabIndex={0} onKeyDown={onNudge}>\n <Icon icon={<Dragging />} size={34} color='content-onmain-tertiary' />\n </Styled.DraggingIconContainer>\n </Styled.DraggingHandle>\n)\n\nexport { DraggingHandle }\n"],"names":["DraggingHandle","onGrab","onNudge","layoutProps","_jsx","Styled","onPointerDown","children","tabIndex","onKeyDown","Icon","icon","Dragging","size","color"],"mappings":"2MAMA,MAAMA,eAA0CA,EAAGC,SAAQC,aAAYC,KACrEC,IAACC,iBAAqB,IAAKF,EAAaG,cAAeL,EAAOM,SAC5DH,IAACC,sBAA4B,CAACG,SAAU,EAAGC,UAAWP,EAAQK,SAC5DH,IAACM,KAAI,CAACC,KAAMP,IAACQ,gBAAaC,KAAM,GAAIC,MAAM"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var AspectRatio=require('../AspectRatio/AspectRatio.js');var Skeleton=require('../Skeleton/Skeleton.js');var Slot=require('../Slot/Slot.js');exports.MediaBlock=({aspectRatioProps:e,loading:t,media:s,imgSrc:i,fancy:r,...l})=>jsxRuntime.jsx(style.Media,{...l,children:t?r?null:s||i?jsxRuntime.jsx(AspectRatio.AspectRatio,{...e,children:jsxRuntime.jsx(Skeleton.Skeleton,{borderRadius:0})}):null:jsxRuntime.jsx(Slot.Slot,{render:s,props:e,fallback:jsxRuntime.jsx(AspectRatio.AspectRatio,{...e,children:jsxRuntime.jsx(style.Img,{src:i})})})});
|
|
2
|
+
//# sourceMappingURL=MediaBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaBlock.js","sources":["../../../../src/components/DialogComponent/MediaBlock.tsx"],"sourcesContent":["import type { FC } from 'react'\nimport { Slot } from 'components/Slot'\nimport { AspectRatio } from 'components/AspectRatio'\nimport { Skeleton } from 'components/Skeleton'\nimport type { MediaBlockProps } from './types'\nimport * as Styled from './style'\n\nconst MediaBlock: FC<MediaBlockProps> = ({ aspectRatioProps, loading, media, imgSrc, fancy, ...layoutProps }) => (\n <Styled.Media {...layoutProps}>\n {loading ? (\n fancy ? null : media || imgSrc ? (\n <AspectRatio {...aspectRatioProps}>\n <Skeleton borderRadius={0} />\n </AspectRatio>\n ) : null\n ) : (\n <Slot\n render={media}\n props={aspectRatioProps}\n fallback={\n <AspectRatio {...aspectRatioProps}>\n <Styled.Img src={imgSrc} />\n </AspectRatio>\n }\n />\n )}\n </Styled.Media>\n)\n\nexport { MediaBlock }\n"],"names":["MediaBlock","aspectRatioProps","loading","media","imgSrc","fancy","layoutProps","_jsx","Styled","children","AspectRatio","Skeleton","borderRadius","Slot","render","props","fallback","src"],"mappings":"yPAOwCA,EAAGC,mBAAkBC,UAASC,QAAOC,SAAQC,WAAUC,KAC7FC,WAAAA,IAACC,MAAAA,MAAY,IAAKF,EAAWG,SAC1BP,EACCG,EAAQ,KAAOF,GAASC,EACtBG,WAAAA,IAACG,wBAAW,IAAKT,EAAgBQ,SAC/BF,WAAAA,IAACI,kBAAQ,CAACC,aAAc,MAExB,KAEJL,WAAAA,IAACM,UAAI,CACHC,OAAQX,EACRY,MAAOd,EACPe,SACET,WAAAA,IAACG,wBAAW,IAAKT,EAAgBQ,SAC/BF,WAAAA,IAACC,UAAU,CAACS,IAAKb"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Media,Img}from'./style.mjs';import{jsx}from'react/jsx-runtime';import{AspectRatio}from'../AspectRatio/AspectRatio.mjs';import{Skeleton}from'../Skeleton/Skeleton.mjs';import{Slot}from'../Slot/Slot.mjs';const MediaBlock=({aspectRatioProps:o,loading:t,media:e,imgSrc:r,fancy:s,...i})=>jsx(Media,{...i,children:t?s?null:e||r?jsx(AspectRatio,{...o,children:jsx(Skeleton,{borderRadius:0})}):null:jsx(Slot,{render:e,props:o,fallback:jsx(AspectRatio,{...o,children:jsx(Img,{src:r})})})});export{MediaBlock};
|
|
2
|
+
//# sourceMappingURL=MediaBlock.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaBlock.mjs","sources":["../../../../src/components/DialogComponent/MediaBlock.tsx"],"sourcesContent":["import type { FC } from 'react'\nimport { Slot } from 'components/Slot'\nimport { AspectRatio } from 'components/AspectRatio'\nimport { Skeleton } from 'components/Skeleton'\nimport type { MediaBlockProps } from './types'\nimport * as Styled from './style'\n\nconst MediaBlock: FC<MediaBlockProps> = ({ aspectRatioProps, loading, media, imgSrc, fancy, ...layoutProps }) => (\n <Styled.Media {...layoutProps}>\n {loading ? (\n fancy ? null : media || imgSrc ? (\n <AspectRatio {...aspectRatioProps}>\n <Skeleton borderRadius={0} />\n </AspectRatio>\n ) : null\n ) : (\n <Slot\n render={media}\n props={aspectRatioProps}\n fallback={\n <AspectRatio {...aspectRatioProps}>\n <Styled.Img src={imgSrc} />\n </AspectRatio>\n }\n />\n )}\n </Styled.Media>\n)\n\nexport { MediaBlock }\n"],"names":["MediaBlock","aspectRatioProps","loading","media","imgSrc","fancy","layoutProps","_jsx","Styled","children","AspectRatio","Skeleton","borderRadius","Slot","render","props","fallback","src"],"mappings":"gNAOA,MAAMA,WAAkCA,EAAGC,mBAAkBC,UAASC,QAAOC,SAAQC,WAAUC,KAC7FC,IAACC,MAAY,IAAKF,EAAWG,SAC1BP,EACCG,EAAQ,KAAOF,GAASC,EACtBG,IAACG,YAAW,IAAKT,EAAgBQ,SAC/BF,IAACI,SAAQ,CAACC,aAAc,MAExB,KAEJL,IAACM,KAAI,CACHC,OAAQX,EACRY,MAAOd,EACPe,SACET,IAACG,YAAW,IAAKT,EAAgBQ,SAC/BF,IAACC,IAAU,CAACS,IAAKb"}
|