@foxford/ui 2.119.0-beta-3939fb6-20260713 → 2.119.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/Alert/Alert.js +1 -1
- package/components/Alert/Alert.js.map +1 -1
- package/components/Alert/Alert.mjs +1 -1
- package/components/Alert/Alert.mjs.map +1 -1
- package/components/Alert/CountdownCircle.js +2 -0
- package/components/Alert/CountdownCircle.js.map +1 -0
- package/components/Alert/CountdownCircle.mjs +2 -0
- package/components/Alert/CountdownCircle.mjs.map +1 -0
- package/components/Alert/style.js +1 -1
- package/components/Alert/style.js.map +1 -1
- package/components/Alert/style.mjs +1 -1
- package/components/Alert/style.mjs.map +1 -1
- package/components/Alert/utils.js +2 -0
- package/components/Alert/utils.js.map +1 -0
- package/components/Alert/utils.mjs +2 -0
- package/components/Alert/utils.mjs.map +1 -0
- package/components/Button/Button.js +1 -1
- package/components/Button/Button.js.map +1 -1
- package/components/Button/Button.mjs +1 -1
- package/components/Button/Button.mjs.map +1 -1
- 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/IconButton/IconButton.js +1 -1
- package/components/IconButton/IconButton.js.map +1 -1
- package/components/IconButton/IconButton.mjs +1 -1
- package/components/IconButton/IconButton.mjs.map +1 -1
- package/components/IconButton/style.js +1 -1
- package/components/IconButton/style.js.map +1 -1
- package/components/IconButton/style.mjs +1 -1
- package/components/IconButton/style.mjs.map +1 -1
- package/components/Media/Media.js +1 -1
- package/components/Media/Media.js.map +1 -1
- package/components/Media/Media.mjs +1 -1
- package/components/Media/Media.mjs.map +1 -1
- package/components/Media/MediaMatcher.js +2 -0
- package/components/Media/MediaMatcher.js.map +1 -0
- package/components/Media/MediaMatcher.mjs +2 -0
- package/components/Media/MediaMatcher.mjs.map +1 -0
- package/components/Media/MediaMatchers.js +1 -1
- package/components/Media/MediaMatchers.js.map +1 -1
- package/components/Media/MediaMatchers.mjs +1 -1
- package/components/Media/MediaMatchers.mjs.map +1 -1
- package/components/Media/MediaMediator.js +2 -0
- package/components/Media/MediaMediator.js.map +1 -0
- package/components/Media/MediaMediator.mjs +2 -0
- package/components/Media/MediaMediator.mjs.map +1 -0
- package/{shared/context/media.js → components/Media/context.js} +1 -1
- package/components/Media/context.js.map +1 -0
- package/{shared/context/media.mjs → components/Media/context.mjs} +1 -1
- package/components/Media/context.mjs.map +1 -0
- package/{hooks → components/Media}/useMediaConnector.js +1 -1
- package/components/Media/useMediaConnector.js.map +1 -0
- package/components/Media/useMediaConnector.mjs +2 -0
- package/components/Media/useMediaConnector.mjs.map +1 -0
- package/components/Media/useMediaMatchers.js.map +1 -0
- package/components/Media/useMediaMatchers.mjs.map +1 -0
- package/components/Media/useMediaPropsMatches.js.map +1 -1
- package/components/Media/useMediaPropsMatches.mjs.map +1 -1
- package/components/TooltipComponent/TooltipComponent.js +1 -1
- package/components/TooltipComponent/TooltipComponent.js.map +1 -1
- package/components/TooltipComponent/TooltipComponent.mjs +1 -1
- package/components/TooltipComponent/TooltipComponent.mjs.map +1 -1
- package/dts/index.d.ts +659 -911
- package/icon-pack/src/collection.json.js +1 -1
- package/icon-pack/src/collection.json.mjs +1 -1
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/mixins/responsive-margin.js.map +1 -1
- package/mixins/responsive-margin.mjs.map +1 -1
- package/package.json +2 -2
- package/theme/colors-dark.js +1 -1
- package/theme/colors-dark.js.map +1 -1
- package/theme/colors-dark.mjs +1 -1
- package/theme/colors-dark.mjs.map +1 -1
- package/components/Alert/sizes.js +0 -2
- package/components/Alert/sizes.js.map +0 -1
- package/components/Alert/sizes.mjs +0 -2
- package/components/Alert/sizes.mjs.map +0 -1
- package/components/Alert/useAlertProps.js +0 -2
- package/components/Alert/useAlertProps.js.map +0 -1
- package/components/Alert/useAlertProps.mjs +0 -2
- package/components/Alert/useAlertProps.mjs.map +0 -1
- package/components/Timer/Timer.js +0 -2
- package/components/Timer/Timer.js.map +0 -1
- package/components/Timer/Timer.mjs +0 -2
- package/components/Timer/Timer.mjs.map +0 -1
- package/components/Timer/context.js +0 -2
- package/components/Timer/context.js.map +0 -1
- package/components/Timer/context.mjs +0 -2
- package/components/Timer/context.mjs.map +0 -1
- package/components/Timer/images/Circle.svg.js +0 -2
- package/components/Timer/images/Circle.svg.js.map +0 -1
- package/components/Timer/images/Circle.svg.mjs +0 -2
- package/components/Timer/images/Circle.svg.mjs.map +0 -1
- package/components/Timer/sizes.js +0 -2
- package/components/Timer/sizes.js.map +0 -1
- package/components/Timer/sizes.mjs +0 -2
- package/components/Timer/sizes.mjs.map +0 -1
- package/components/Timer/styled.js +0 -2
- package/components/Timer/styled.js.map +0 -1
- package/components/Timer/styled.mjs +0 -2
- package/components/Timer/styled.mjs.map +0 -1
- package/components/Timer/useTimer.js +0 -2
- package/components/Timer/useTimer.js.map +0 -1
- package/components/Timer/useTimer.mjs +0 -2
- package/components/Timer/useTimer.mjs.map +0 -1
- package/components/Timer/useTimerProps.js +0 -2
- package/components/Timer/useTimerProps.js.map +0 -1
- package/components/Timer/useTimerProps.mjs +0 -2
- package/components/Timer/useTimerProps.mjs.map +0 -1
- package/hooks/useMediaConnector.js.map +0 -1
- package/hooks/useMediaConnector.mjs +0 -2
- package/hooks/useMediaConnector.mjs.map +0 -1
- package/hooks/useMediaMatchers.js.map +0 -1
- package/hooks/useMediaMatchers.mjs.map +0 -1
- package/hooks/useResponsiveLayoutProps.js +0 -2
- package/hooks/useResponsiveLayoutProps.js.map +0 -1
- package/hooks/useResponsiveLayoutProps.mjs +0 -2
- package/hooks/useResponsiveLayoutProps.mjs.map +0 -1
- package/hooks/useResponsiveMarginProps.js +0 -2
- package/hooks/useResponsiveMarginProps.js.map +0 -1
- package/hooks/useResponsiveMarginProps.mjs +0 -2
- package/hooks/useResponsiveMarginProps.mjs.map +0 -1
- package/hooks/useResponsiveProps.js +0 -2
- package/hooks/useResponsiveProps.js.map +0 -1
- package/hooks/useResponsiveProps.mjs +0 -2
- package/hooks/useResponsiveProps.mjs.map +0 -1
- package/hooks/useResponsiveSizeProps.js +0 -2
- package/hooks/useResponsiveSizeProps.js.map +0 -1
- package/hooks/useResponsiveSizeProps.mjs +0 -2
- package/hooks/useResponsiveSizeProps.mjs.map +0 -1
- package/shared/context/media.js.map +0 -1
- package/shared/context/media.mjs.map +0 -1
- package/shared/media/MediaMatcher.js +0 -2
- package/shared/media/MediaMatcher.js.map +0 -1
- package/shared/media/MediaMatcher.mjs +0 -2
- package/shared/media/MediaMatcher.mjs.map +0 -1
- package/shared/media/MediaMediator.js +0 -2
- package/shared/media/MediaMediator.js.map +0 -1
- package/shared/media/MediaMediator.mjs +0 -2
- package/shared/media/MediaMediator.mjs.map +0 -1
- package/shared/utils/isPointerSupported.js +0 -2
- package/shared/utils/isPointerSupported.js.map +0 -1
- package/shared/utils/isPointerSupported.mjs +0 -2
- package/shared/utils/isPointerSupported.mjs.map +0 -1
- /package/{hooks → components/Media}/useMediaMatchers.js +0 -0
- /package/{hooks → components/Media}/useMediaMatchers.mjs +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{MediaMatchers}from'./MediaMatchers.mjs';import{useMediaConnector}from'./useMediaConnector.mjs';import{useMediaPropsMatches}from'./useMediaPropsMatches.mjs';const Media=Object.assign(e=>{const{children:s,...o}=e;const t=useMediaConnector(useMediaConnector.getConfig(o));const r=useMediaPropsMatches(o,t);return typeof s=='function'?s(r):r?s:null},{Matchers:MediaMatchers});export{Media};
|
|
2
2
|
//# sourceMappingURL=Media.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Media.mjs","sources":["../../../../src/components/Media/Media.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"Media.mjs","sources":["../../../../src/components/Media/Media.tsx"],"sourcesContent":["import { MediaMatchers } from './MediaMatchers'\nimport { useMediaConnector } from './useMediaConnector'\nimport { useMediaPropsMatches } from './useMediaPropsMatches'\nimport type { MediaProps, MediaMatchersProps } from './types'\n\n/**\n *\n * Компонент для вывода контента, который зависит от медиа кверей.\n */\nconst Media: React.FC<MediaProps> & {\n Matchers: React.FC<MediaMatchersProps>\n} = Object.assign(\n (props: MediaProps) => {\n const { children, ...mediaProps } = props\n\n const breakpointsMatchers = useMediaConnector(useMediaConnector.getConfig(mediaProps))\n\n const matches = useMediaPropsMatches(mediaProps, breakpointsMatchers)\n\n if (typeof children === 'function') {\n return children(matches)\n }\n\n return matches ? children : null\n },\n {\n Matchers: MediaMatchers,\n }\n)\n\nexport { Media }\n"],"names":["Media","Object","assign","props","children","mediaProps","breakpointsMatchers","useMediaConnector","getConfig","matches","useMediaPropsMatches","Matchers","MediaMatchers"],"mappings":"mKASA,MAAMA,MAEFC,OAAOC,OACRC,IACC,MAAMC,SAAEA,KAAaC,GAAeF,EAEpC,MAAMG,EAAsBC,kBAAkBA,kBAAkBC,UAAUH,IAE1E,MAAMI,EAAUC,qBAAqBL,EAAYC,GAEjD,cAAWF,GAAa,WACfA,EAASK,GAGXA,EAAUL,EAAW,MAE9B,CACEO,SAAUC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var Observable=require('../../shared/utils/Observable.js');exports.MediaMatcher=class MediaMatcher extends Observable.Observable{constructor(e,s){super(),this.id=e,typeof window!='undefined'&&(this.mediaQueryList=window.matchMedia(s),this.mediaQueryList.addEventListener?this.mediaQueryList.addEventListener('change',e=>{this.notify({matches:e.matches})}):this.mediaQueryList.addListener(e=>{this.notify({matches:e.matches})}))}subscribe=e=>{const s=super.subscribe.bind(this)(e);return this.mediaQueryList&&e({matches:this.mediaQueryList.matches}),s}};
|
|
2
|
+
//# sourceMappingURL=MediaMatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaMatcher.js","sources":["../../../../src/components/Media/MediaMatcher.ts"],"sourcesContent":["import { Observable } from 'shared/utils/Observable'\nimport type { Observer } from 'shared/utils/Observable'\nimport type { MediaMatchPayload } from './types'\n\nexport class MediaMatcher<T = string> extends Observable<MediaMatchPayload> {\n public id: T\n private mediaQueryList?: MediaQueryList\n\n constructor(id: T, mediaQueryString: string) {\n super()\n\n this.id = id\n\n if (typeof window !== 'undefined') {\n this.mediaQueryList = window.matchMedia(mediaQueryString)\n\n if (this.mediaQueryList.addEventListener) {\n this.mediaQueryList.addEventListener('change', (evt) => {\n this.notify({\n matches: evt.matches,\n })\n })\n } else {\n this.mediaQueryList.addListener((evt) => {\n this.notify({\n matches: evt.matches,\n })\n })\n }\n }\n }\n\n public subscribe = (observer: Observer<MediaMatchPayload>) => {\n const unsubscribe = super.subscribe.bind(this)(observer)\n\n if (this.mediaQueryList) {\n observer({\n matches: this.mediaQueryList.matches,\n })\n }\n\n return unsubscribe\n }\n}\n"],"names":["MediaMatcher","Observable","constructor","id","mediaQueryString","super","this","window","mediaQueryList","matchMedia","addEventListener","evt","notify","matches","addListener","subscribe","observer","unsubscribe","bind"],"mappings":"6FAIO,MAAMA,qBAAiCC,WAAAA,WAI5CC,WAAAA,CAAYC,EAAOC,GACjBC,QAEAC,KAAKH,GAAKA,SAECI,QAAW,cACpBD,KAAKE,eAAiBD,OAAOE,WAAWL,GAEpCE,KAAKE,eAAeE,iBACtBJ,KAAKE,eAAeE,iBAAiB,SAAWC,IAC9CL,KAAKM,OAAO,CACVC,QAASF,EAAIE,YAIjBP,KAAKE,eAAeM,YAAaH,IAC/BL,KAAKM,OAAO,CACVC,QAASF,EAAIE,YAKvB,CAEOE,UAAaC,IAClB,MAAMC,EAAcZ,MAAMU,UAAUG,KAAKZ,KAArBD,CAA2BW,GAQ/C,OANIV,KAAKE,gBACPQ,EAAS,CACPH,QAASP,KAAKE,eAAeK,UAI1BI"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Observable}from'../../shared/utils/Observable.mjs';class MediaMatcher extends Observable{constructor(e,s){super(),this.id=e,typeof window!='undefined'&&(this.mediaQueryList=window.matchMedia(s),this.mediaQueryList.addEventListener?this.mediaQueryList.addEventListener('change',e=>{this.notify({matches:e.matches})}):this.mediaQueryList.addListener(e=>{this.notify({matches:e.matches})}))}subscribe=e=>{const s=super.subscribe.bind(this)(e);return this.mediaQueryList&&e({matches:this.mediaQueryList.matches}),s}}export{MediaMatcher};
|
|
2
|
+
//# sourceMappingURL=MediaMatcher.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaMatcher.mjs","sources":["../../../../src/components/Media/MediaMatcher.ts"],"sourcesContent":["import { Observable } from 'shared/utils/Observable'\nimport type { Observer } from 'shared/utils/Observable'\nimport type { MediaMatchPayload } from './types'\n\nexport class MediaMatcher<T = string> extends Observable<MediaMatchPayload> {\n public id: T\n private mediaQueryList?: MediaQueryList\n\n constructor(id: T, mediaQueryString: string) {\n super()\n\n this.id = id\n\n if (typeof window !== 'undefined') {\n this.mediaQueryList = window.matchMedia(mediaQueryString)\n\n if (this.mediaQueryList.addEventListener) {\n this.mediaQueryList.addEventListener('change', (evt) => {\n this.notify({\n matches: evt.matches,\n })\n })\n } else {\n this.mediaQueryList.addListener((evt) => {\n this.notify({\n matches: evt.matches,\n })\n })\n }\n }\n }\n\n public subscribe = (observer: Observer<MediaMatchPayload>) => {\n const unsubscribe = super.subscribe.bind(this)(observer)\n\n if (this.mediaQueryList) {\n observer({\n matches: this.mediaQueryList.matches,\n })\n }\n\n return unsubscribe\n }\n}\n"],"names":["MediaMatcher","Observable","constructor","id","mediaQueryString","super","this","window","mediaQueryList","matchMedia","addEventListener","evt","notify","matches","addListener","subscribe","observer","unsubscribe","bind"],"mappings":"0DAIO,MAAMA,qBAAiCC,WAI5CC,WAAAA,CAAYC,EAAOC,GACjBC,QAEAC,KAAKH,GAAKA,SAECI,QAAW,cACpBD,KAAKE,eAAiBD,OAAOE,WAAWL,GAEpCE,KAAKE,eAAeE,iBACtBJ,KAAKE,eAAeE,iBAAiB,SAAWC,IAC9CL,KAAKM,OAAO,CACVC,QAASF,EAAIE,YAIjBP,KAAKE,eAAeM,YAAaH,IAC/BL,KAAKM,OAAO,CACVC,QAASF,EAAIE,YAKvB,CAEOE,UAAaC,IAClB,MAAMC,EAAcZ,MAAMU,UAAUG,KAAKZ,KAArBD,CAA2BW,GAQ/C,OANIV,KAAKE,gBACPQ,EAAS,CACPH,QAASP,KAAKE,eAAeK,UAI1BI"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var useMediaMatchers=require('
|
|
1
|
+
'use strict';var useMediaMatchers=require('./useMediaMatchers.js');exports.MediaMatchers=e=>{const{children:s}=e;return s(useMediaMatchers.useMediaMatchers())};
|
|
2
2
|
//# sourceMappingURL=MediaMatchers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaMatchers.js","sources":["../../../../src/components/Media/MediaMatchers.tsx"],"sourcesContent":["import { useMediaMatchers } from '
|
|
1
|
+
{"version":3,"file":"MediaMatchers.js","sources":["../../../../src/components/Media/MediaMatchers.tsx"],"sourcesContent":["import { useMediaMatchers } from './useMediaMatchers'\nimport type { MediaMatchersProps } from './types'\n\nconst MediaMatchers: React.FC<MediaMatchersProps> = (props: MediaMatchersProps) => {\n const { children } = props\n\n const breakpointsMatchers = useMediaMatchers()\n\n return children(breakpointsMatchers)\n}\n\nexport { MediaMatchers }\n"],"names":["props","children","useMediaMatchers"],"mappings":"yFAGqDA,IACnD,MAAMC,SAAEA,GAAaD,EAIrB,OAAOC,EAFqBC,iBAAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useMediaMatchers}from'
|
|
1
|
+
import{useMediaMatchers}from'./useMediaMatchers.mjs';const MediaMatchers=e=>{const{children:r}=e;return r(useMediaMatchers())};export{MediaMatchers};
|
|
2
2
|
//# sourceMappingURL=MediaMatchers.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MediaMatchers.mjs","sources":["../../../../src/components/Media/MediaMatchers.tsx"],"sourcesContent":["import { useMediaMatchers } from '
|
|
1
|
+
{"version":3,"file":"MediaMatchers.mjs","sources":["../../../../src/components/Media/MediaMatchers.tsx"],"sourcesContent":["import { useMediaMatchers } from './useMediaMatchers'\nimport type { MediaMatchersProps } from './types'\n\nconst MediaMatchers: React.FC<MediaMatchersProps> = (props: MediaMatchersProps) => {\n const { children } = props\n\n const breakpointsMatchers = useMediaMatchers()\n\n return children(breakpointsMatchers)\n}\n\nexport { MediaMatchers }\n"],"names":["MediaMatchers","props","children","useMediaMatchers"],"mappings":"qDAGA,MAAMA,cAA+CC,IACnD,MAAMC,SAAEA,GAAaD,EAIrB,OAAOC,EAFqBC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var constants=require('../../shared/constants.js');var MediaMatcher=require('./MediaMatcher.js');class MediaMediator{constructor(e){this.breakpoint={minXXL:new MediaMatcher.MediaMatcher('minXXL',MediaMediator.query.up(e.xxl)),minXL:new MediaMatcher.MediaMatcher('minXL',MediaMediator.query.up(e.xl)),minL:new MediaMatcher.MediaMatcher('minL',MediaMediator.query.up(e.l)),minM:new MediaMatcher.MediaMatcher('minM',MediaMediator.query.up(e.m)),minS:new MediaMatcher.MediaMatcher('minS',MediaMediator.query.up(e.s)),minXS:new MediaMatcher.MediaMatcher('minXS',MediaMediator.query.up(e.xs)),minXXS:new MediaMatcher.MediaMatcher('minXXS',MediaMediator.query.up(e.xxs)),maxXXL:new MediaMatcher.MediaMatcher('maxXXL',MediaMediator.query.below(e.xxl)),maxXL:new MediaMatcher.MediaMatcher('maxXL',MediaMediator.query.below(e.xl)),maxL:new MediaMatcher.MediaMatcher('maxL',MediaMediator.query.below(e.l)),maxM:new MediaMatcher.MediaMatcher('maxM',MediaMediator.query.below(e.m)),maxS:new MediaMatcher.MediaMatcher('maxS',MediaMediator.query.below(e.s)),maxXS:new MediaMatcher.MediaMatcher('maxXS',MediaMediator.query.below(e.xs)),maxXXS:new MediaMatcher.MediaMatcher('maxXXS',MediaMediator.query.below(e.xxs))},this.orientation={landscape:new MediaMatcher.MediaMatcher('landscape','(orientation: landscape)'),portrait:new MediaMatcher.MediaMatcher('portrait','(orientation: portrait)')}}get matchers(){return Object.values({...this.breakpoint,...this.orientation})}static query={up:(...e)=>`(min-width: ${e[0]}px)`,below:(...e)=>`(max-width: ${e[0]-.02}px)`};static create(e){return new MediaMediator(e?{...constants.BREAKPOINTS,...e}:constants.BREAKPOINTS)}}exports.MediaMediator=MediaMediator;
|
|
2
|
+
//# sourceMappingURL=MediaMediator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaMediator.js","sources":["../../../../src/components/Media/MediaMediator.ts"],"sourcesContent":["import { BREAKPOINTS } from 'shared/constants'\nimport type { Breakpoint, Orientation } from 'shared/types'\nimport { MediaMatcher } from './MediaMatcher'\nimport type { MediaBreakpoint, MediaMatcherId } from './types'\n\nexport class MediaMediator {\n public breakpoint: Record<MediaBreakpoint, MediaMatcher<MediaMatcherId>>\n public orientation: Record<Orientation, MediaMatcher<MediaMatcherId>>\n\n constructor(bps: Record<Lowercase<Breakpoint>, number>) {\n this.breakpoint = {\n minXXL: new MediaMatcher('minXXL', MediaMediator.query.up(bps.xxl)),\n minXL: new MediaMatcher('minXL', MediaMediator.query.up(bps.xl)),\n minL: new MediaMatcher('minL', MediaMediator.query.up(bps.l)),\n minM: new MediaMatcher('minM', MediaMediator.query.up(bps.m)),\n minS: new MediaMatcher('minS', MediaMediator.query.up(bps.s)),\n minXS: new MediaMatcher('minXS', MediaMediator.query.up(bps.xs)),\n minXXS: new MediaMatcher('minXXS', MediaMediator.query.up(bps.xxs)),\n maxXXL: new MediaMatcher('maxXXL', MediaMediator.query.below(bps.xxl)),\n maxXL: new MediaMatcher('maxXL', MediaMediator.query.below(bps.xl)),\n maxL: new MediaMatcher('maxL', MediaMediator.query.below(bps.l)),\n maxM: new MediaMatcher('maxM', MediaMediator.query.below(bps.m)),\n maxS: new MediaMatcher('maxS', MediaMediator.query.below(bps.s)),\n maxXS: new MediaMatcher('maxXS', MediaMediator.query.below(bps.xs)),\n maxXXS: new MediaMatcher('maxXXS', MediaMediator.query.below(bps.xxs)),\n }\n this.orientation = {\n landscape: new MediaMatcher('landscape', '(orientation: landscape)'),\n portrait: new MediaMatcher('portrait', '(orientation: portrait)'),\n }\n }\n\n get matchers() {\n return Object.values({ ...this.breakpoint, ...this.orientation })\n }\n\n static query = {\n up: (...bps: number[]) => `(min-width: ${bps[0]}px)`,\n below: (...bps: number[]) => `(max-width: ${bps[0] - 0.02}px)`,\n }\n\n static create(bps?: Partial<Record<Lowercase<Breakpoint>, number>>) {\n return new MediaMediator(bps ? { ...BREAKPOINTS, ...bps } : BREAKPOINTS)\n }\n}\n"],"names":["MediaMediator","constructor","bps","this","breakpoint","minXXL","MediaMatcher","query","up","xxl","minXL","xl","minL","l","minM","m","minS","s","minXS","xs","minXXS","xxs","maxXXL","below","maxXL","maxL","maxM","maxS","maxXS","maxXXS","orientation","landscape","portrait","matchers","Object","values","static","create","BREAKPOINTS"],"mappings":"8GAKO,MAAMA,cAIXC,WAAAA,CAAYC,GACVC,KAAKC,WAAa,CAChBC,OAAQ,IAAIC,aAAAA,aAAa,SAAUN,cAAcO,MAAMC,GAAGN,EAAIO,MAC9DC,MAAO,IAAIJ,aAAAA,aAAa,QAASN,cAAcO,MAAMC,GAAGN,EAAIS,KAC5DC,KAAM,IAAIN,aAAAA,aAAa,OAAQN,cAAcO,MAAMC,GAAGN,EAAIW,IAC1DC,KAAM,IAAIR,aAAAA,aAAa,OAAQN,cAAcO,MAAMC,GAAGN,EAAIa,IAC1DC,KAAM,IAAIV,aAAAA,aAAa,OAAQN,cAAcO,MAAMC,GAAGN,EAAIe,IAC1DC,MAAO,IAAIZ,aAAAA,aAAa,QAASN,cAAcO,MAAMC,GAAGN,EAAIiB,KAC5DC,OAAQ,IAAId,aAAAA,aAAa,SAAUN,cAAcO,MAAMC,GAAGN,EAAImB,MAC9DC,OAAQ,IAAIhB,aAAAA,aAAa,SAAUN,cAAcO,MAAMgB,MAAMrB,EAAIO,MACjEe,MAAO,IAAIlB,aAAAA,aAAa,QAASN,cAAcO,MAAMgB,MAAMrB,EAAIS,KAC/Dc,KAAM,IAAInB,aAAAA,aAAa,OAAQN,cAAcO,MAAMgB,MAAMrB,EAAIW,IAC7Da,KAAM,IAAIpB,aAAAA,aAAa,OAAQN,cAAcO,MAAMgB,MAAMrB,EAAIa,IAC7DY,KAAM,IAAIrB,aAAAA,aAAa,OAAQN,cAAcO,MAAMgB,MAAMrB,EAAIe,IAC7DW,MAAO,IAAItB,aAAAA,aAAa,QAASN,cAAcO,MAAMgB,MAAMrB,EAAIiB,KAC/DU,OAAQ,IAAIvB,aAAAA,aAAa,SAAUN,cAAcO,MAAMgB,MAAMrB,EAAImB,OAEnElB,KAAK2B,YAAc,CACjBC,UAAW,IAAIzB,aAAAA,aAAa,YAAa,4BACzC0B,SAAU,IAAI1B,0BAAa,WAAY,2BAE3C,CAEA,YAAI2B,GACF,OAAOC,OAAOC,OAAO,IAAKhC,KAAKC,cAAeD,KAAK2B,aACrD,CAEAM,aAAe,CACb5B,GAAIA,IAAIN,IAAkB,eAAeA,EAAI,QAC7CqB,MAAOA,IAAIrB,IAAkB,eAAeA,EAAI,GAAK,UAGvD,aAAOmC,CAAOnC,GACZ,OAAO,IAAIF,cAAcE,EAAM,IAAKoC,UAAAA,eAAgBpC,GAAQoC,sBAC9D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{BREAKPOINTS}from'../../shared/constants.mjs';import{MediaMatcher}from'./MediaMatcher.mjs';class MediaMediator{constructor(e){this.breakpoint={minXXL:new MediaMatcher('minXXL',MediaMediator.query.up(e.xxl)),minXL:new MediaMatcher('minXL',MediaMediator.query.up(e.xl)),minL:new MediaMatcher('minL',MediaMediator.query.up(e.l)),minM:new MediaMatcher('minM',MediaMediator.query.up(e.m)),minS:new MediaMatcher('minS',MediaMediator.query.up(e.s)),minXS:new MediaMatcher('minXS',MediaMediator.query.up(e.xs)),minXXS:new MediaMatcher('minXXS',MediaMediator.query.up(e.xxs)),maxXXL:new MediaMatcher('maxXXL',MediaMediator.query.below(e.xxl)),maxXL:new MediaMatcher('maxXL',MediaMediator.query.below(e.xl)),maxL:new MediaMatcher('maxL',MediaMediator.query.below(e.l)),maxM:new MediaMatcher('maxM',MediaMediator.query.below(e.m)),maxS:new MediaMatcher('maxS',MediaMediator.query.below(e.s)),maxXS:new MediaMatcher('maxXS',MediaMediator.query.below(e.xs)),maxXXS:new MediaMatcher('maxXXS',MediaMediator.query.below(e.xxs))},this.orientation={landscape:new MediaMatcher('landscape','(orientation: landscape)'),portrait:new MediaMatcher('portrait','(orientation: portrait)')}}get matchers(){return Object.values({...this.breakpoint,...this.orientation})}static query={up:(...e)=>`(min-width: ${e[0]}px)`,below:(...e)=>`(max-width: ${e[0]-.02}px)`};static create(e){return new MediaMediator(e?{...BREAKPOINTS,...e}:BREAKPOINTS)}}export{MediaMediator};
|
|
2
|
+
//# sourceMappingURL=MediaMediator.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MediaMediator.mjs","sources":["../../../../src/components/Media/MediaMediator.ts"],"sourcesContent":["import { BREAKPOINTS } from 'shared/constants'\nimport type { Breakpoint, Orientation } from 'shared/types'\nimport { MediaMatcher } from './MediaMatcher'\nimport type { MediaBreakpoint, MediaMatcherId } from './types'\n\nexport class MediaMediator {\n public breakpoint: Record<MediaBreakpoint, MediaMatcher<MediaMatcherId>>\n public orientation: Record<Orientation, MediaMatcher<MediaMatcherId>>\n\n constructor(bps: Record<Lowercase<Breakpoint>, number>) {\n this.breakpoint = {\n minXXL: new MediaMatcher('minXXL', MediaMediator.query.up(bps.xxl)),\n minXL: new MediaMatcher('minXL', MediaMediator.query.up(bps.xl)),\n minL: new MediaMatcher('minL', MediaMediator.query.up(bps.l)),\n minM: new MediaMatcher('minM', MediaMediator.query.up(bps.m)),\n minS: new MediaMatcher('minS', MediaMediator.query.up(bps.s)),\n minXS: new MediaMatcher('minXS', MediaMediator.query.up(bps.xs)),\n minXXS: new MediaMatcher('minXXS', MediaMediator.query.up(bps.xxs)),\n maxXXL: new MediaMatcher('maxXXL', MediaMediator.query.below(bps.xxl)),\n maxXL: new MediaMatcher('maxXL', MediaMediator.query.below(bps.xl)),\n maxL: new MediaMatcher('maxL', MediaMediator.query.below(bps.l)),\n maxM: new MediaMatcher('maxM', MediaMediator.query.below(bps.m)),\n maxS: new MediaMatcher('maxS', MediaMediator.query.below(bps.s)),\n maxXS: new MediaMatcher('maxXS', MediaMediator.query.below(bps.xs)),\n maxXXS: new MediaMatcher('maxXXS', MediaMediator.query.below(bps.xxs)),\n }\n this.orientation = {\n landscape: new MediaMatcher('landscape', '(orientation: landscape)'),\n portrait: new MediaMatcher('portrait', '(orientation: portrait)'),\n }\n }\n\n get matchers() {\n return Object.values({ ...this.breakpoint, ...this.orientation })\n }\n\n static query = {\n up: (...bps: number[]) => `(min-width: ${bps[0]}px)`,\n below: (...bps: number[]) => `(max-width: ${bps[0] - 0.02}px)`,\n }\n\n static create(bps?: Partial<Record<Lowercase<Breakpoint>, number>>) {\n return new MediaMediator(bps ? { ...BREAKPOINTS, ...bps } : BREAKPOINTS)\n }\n}\n"],"names":["MediaMediator","constructor","bps","this","breakpoint","minXXL","MediaMatcher","query","up","xxl","minXL","xl","minL","l","minM","m","minS","s","minXS","xs","minXXS","xxs","maxXXL","below","maxXL","maxL","maxM","maxS","maxXS","maxXXS","orientation","landscape","portrait","matchers","Object","values","static","create","BREAKPOINTS"],"mappings":"iGAKO,MAAMA,cAIXC,WAAAA,CAAYC,GACVC,KAAKC,WAAa,CAChBC,OAAQ,IAAIC,aAAa,SAAUN,cAAcO,MAAMC,GAAGN,EAAIO,MAC9DC,MAAO,IAAIJ,aAAa,QAASN,cAAcO,MAAMC,GAAGN,EAAIS,KAC5DC,KAAM,IAAIN,aAAa,OAAQN,cAAcO,MAAMC,GAAGN,EAAIW,IAC1DC,KAAM,IAAIR,aAAa,OAAQN,cAAcO,MAAMC,GAAGN,EAAIa,IAC1DC,KAAM,IAAIV,aAAa,OAAQN,cAAcO,MAAMC,GAAGN,EAAIe,IAC1DC,MAAO,IAAIZ,aAAa,QAASN,cAAcO,MAAMC,GAAGN,EAAIiB,KAC5DC,OAAQ,IAAId,aAAa,SAAUN,cAAcO,MAAMC,GAAGN,EAAImB,MAC9DC,OAAQ,IAAIhB,aAAa,SAAUN,cAAcO,MAAMgB,MAAMrB,EAAIO,MACjEe,MAAO,IAAIlB,aAAa,QAASN,cAAcO,MAAMgB,MAAMrB,EAAIS,KAC/Dc,KAAM,IAAInB,aAAa,OAAQN,cAAcO,MAAMgB,MAAMrB,EAAIW,IAC7Da,KAAM,IAAIpB,aAAa,OAAQN,cAAcO,MAAMgB,MAAMrB,EAAIa,IAC7DY,KAAM,IAAIrB,aAAa,OAAQN,cAAcO,MAAMgB,MAAMrB,EAAIe,IAC7DW,MAAO,IAAItB,aAAa,QAASN,cAAcO,MAAMgB,MAAMrB,EAAIiB,KAC/DU,OAAQ,IAAIvB,aAAa,SAAUN,cAAcO,MAAMgB,MAAMrB,EAAImB,OAEnElB,KAAK2B,YAAc,CACjBC,UAAW,IAAIzB,aAAa,YAAa,4BACzC0B,SAAU,IAAI1B,aAAa,WAAY,2BAE3C,CAEA,YAAI2B,GACF,OAAOC,OAAOC,OAAO,IAAKhC,KAAKC,cAAeD,KAAK2B,aACrD,CAEAM,aAAe,CACb5B,GAAIA,IAAIN,IAAkB,eAAeA,EAAI,QAC7CqB,MAAOA,IAAIrB,IAAkB,eAAeA,EAAI,GAAK,UAGvD,aAAOmC,CAAOnC,GACZ,OAAO,IAAIF,cAAcE,EAAM,IAAKoC,eAAgBpC,GAAQoC,YAC9D"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
'use strict';var React=require('react');var jsxRuntime=require('react/jsx-runtime');const MediaContext=React.createContext(null);exports.MediaContext=MediaContext,exports.MediaProvider=e=>{const{value:t,children:r}=e;return jsxRuntime.jsx(MediaContext.Provider,{value:t,children:r})};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../../src/components/Media/context.tsx"],"sourcesContent":["import { createContext } from 'react'\nimport type { MediaMediator } from './MediaMediator'\n\nexport const MediaContext = createContext<MediaMediator | null>(null)\n\nexport const MediaProvider = (\n props: React.PropsWithChildren<{\n value: MediaMediator\n }>\n) => {\n const { value, children } = props\n\n return <MediaContext.Provider value={value}>{children}</MediaContext.Provider>\n}\n"],"names":["MediaContext","createContext","props","value","children","_jsx","Provider"],"mappings":"0FAGaA,aAAeC,MAAAA,cAAoC,8DAG9DC,IAIA,MAAMC,MAAEA,EAAKC,SAAEA,GAAaF,EAE5B,OAAOG,WAAAA,IAACL,aAAaM,SAAQ,CAACH,MAAOA,EAAMC,SAAEA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import{createContext}from'react';import{jsx}from'react/jsx-runtime';const MediaContext=createContext(null);const MediaProvider=e=>{const{value:t,children:r}=e;return jsx(MediaContext.Provider,{value:t,children:r})};export{MediaContext,MediaProvider};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=context.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.mjs","sources":["../../../../src/components/Media/context.tsx"],"sourcesContent":["import { createContext } from 'react'\nimport type { MediaMediator } from './MediaMediator'\n\nexport const MediaContext = createContext<MediaMediator | null>(null)\n\nexport const MediaProvider = (\n props: React.PropsWithChildren<{\n value: MediaMediator\n }>\n) => {\n const { value, children } = props\n\n return <MediaContext.Provider value={value}>{children}</MediaContext.Provider>\n}\n"],"names":["MediaContext","createContext","MediaProvider","props","value","children","_jsx","Provider"],"mappings":"0EAGaA,aAAeC,cAAoC,MAEzD,MAAMC,cACXC,IAIA,MAAMC,MAAEA,EAAKC,SAAEA,GAAaF,EAE5B,OAAOG,IAACN,aAAaO,SAAQ,CAACH,MAAOA,EAAMC,SAAEA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var React=require('react');var useMountedStatus=require('
|
|
1
|
+
'use strict';var React=require('react');var useMountedStatus=require('../../hooks/useMountedStatus.js');var context=require('./context.js');const useMediaConnector=Object.assign((a={})=>{const{minXXS:n,minXS:e,minS:o,minM:t,minL:m,minXL:i,minXXL:X,maxXXS:s,maxXS:r,maxS:c,maxM:x,maxL:u,maxXL:S,maxXXL:l,landscape:L,portrait:B}=a;const M=React.useContext(context.MediaContext);const[d,p]=React.useState(Object.create(null));const f=useMountedStatus.useMountedStatus();return React.useLayoutEffect(()=>{const a={minXXS:Boolean(n),minXS:Boolean(e),minS:Boolean(o),minM:Boolean(t),minL:Boolean(m),minXL:Boolean(i),minXXL:Boolean(X),maxXXS:Boolean(s),maxXS:Boolean(r),maxS:Boolean(c),maxM:Boolean(x),maxL:Boolean(u),maxXL:Boolean(S),maxXXL:Boolean(l),landscape:Boolean(L),portrait:Boolean(B)};const d=[];return M&&M.matchers.filter(n=>a[n.id]).forEach(a=>{const n=a.subscribe(n=>{p(e=>({...e,[a.id]:n.matches}))});d.push(n)}),()=>{d.forEach(a=>{a()}),f()&&p(Object.create(null))}},[M,n,e,o,t,m,i,X,s,r,c,x,u,S,l,L,B,f]),d},{getConfig:(a={})=>({minXXS:a.min==='XXS',minXS:a.min==='XS',minS:a.min==='S',minM:a.min==='M',minL:a.min==='L',minXL:a.min==='XL',minXXL:a.min==='XXL',maxXXS:a.max==='XXS',maxXS:a.max==='XS',maxS:a.max==='S',maxM:a.max==='M',maxL:a.max==='L',maxXL:a.max==='XL',maxXXL:a.max==='XXL',landscape:a.orientation==='landscape',portrait:a.orientation==='portrait'})});exports.useMediaConnector=useMediaConnector;
|
|
2
2
|
//# sourceMappingURL=useMediaConnector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaConnector.js","sources":["../../../../src/components/Media/useMediaConnector.ts"],"sourcesContent":["import { useState, useContext, useLayoutEffect } from 'react'\nimport { useMountedStatus } from 'hooks/useMountedStatus'\nimport type { UnsubscribeObserverCallback } from 'shared/utils/Observable'\nimport type { MediaMatcherId, MediaConnectorConfig, MediaConnectorGetConfigOptions } from './types'\nimport { MediaContext } from './context'\n\nexport const useMediaConnector = Object.assign(\n (config: Partial<MediaConnectorConfig> = {}): Partial<Record<MediaMatcherId, boolean>> => {\n const {\n minXXS,\n minXS,\n minS,\n minM,\n minL,\n minXL,\n minXXL,\n maxXXS,\n maxXS,\n maxS,\n maxM,\n maxL,\n maxXL,\n maxXXL,\n landscape,\n portrait,\n } = config\n\n const mediator = useContext(MediaContext)\n\n const [breakpointsMatches, setBreakpointsMatches] = useState<Partial<Record<MediaMatcherId, boolean>>>(\n Object.create(null)\n )\n\n const getMountedStatus = useMountedStatus()\n\n useLayoutEffect(() => {\n const connectToMatcher: Record<MediaMatcherId, boolean> = {\n minXXS: Boolean(minXXS),\n minXS: Boolean(minXS),\n minS: Boolean(minS),\n minM: Boolean(minM),\n minL: Boolean(minL),\n minXL: Boolean(minXL),\n minXXL: Boolean(minXXL),\n maxXXS: Boolean(maxXXS),\n maxXS: Boolean(maxXS),\n maxS: Boolean(maxS),\n maxM: Boolean(maxM),\n maxL: Boolean(maxL),\n maxXL: Boolean(maxXL),\n maxXXL: Boolean(maxXXL),\n landscape: Boolean(landscape),\n portrait: Boolean(portrait),\n }\n\n const unsubscribeCallbacks: UnsubscribeObserverCallback[] = []\n\n if (mediator) {\n mediator.matchers\n .filter((matcher) => connectToMatcher[matcher.id])\n .forEach((matcher) => {\n const unsubscribe = matcher.subscribe((payload) => {\n setBreakpointsMatches((prev) => ({ ...prev, [matcher.id]: payload.matches }))\n })\n\n unsubscribeCallbacks.push(unsubscribe)\n })\n }\n\n return () => {\n unsubscribeCallbacks.forEach((callback) => {\n callback()\n })\n\n if (getMountedStatus()) {\n setBreakpointsMatches(Object.create(null))\n }\n }\n }, [\n mediator,\n minXXS,\n minXS,\n minS,\n minM,\n minL,\n minXL,\n minXXL,\n maxXXS,\n maxXS,\n maxS,\n maxM,\n maxL,\n maxXL,\n maxXXL,\n landscape,\n portrait,\n getMountedStatus,\n ])\n\n return breakpointsMatches\n },\n {\n getConfig: (options: MediaConnectorGetConfigOptions = {}): MediaConnectorConfig => ({\n minXXS: options.min === 'XXS',\n minXS: options.min === 'XS',\n minS: options.min === 'S',\n minM: options.min === 'M',\n minL: options.min === 'L',\n minXL: options.min === 'XL',\n minXXL: options.min === 'XXL',\n maxXXS: options.max === 'XXS',\n maxXS: options.max === 'XS',\n maxS: options.max === 'S',\n maxM: options.max === 'M',\n maxL: options.max === 'L',\n maxXL: options.max === 'XL',\n maxXXL: options.max === 'XXL',\n landscape: options.orientation === 'landscape',\n portrait: options.orientation === 'portrait',\n }),\n }\n)\n"],"names":["useMediaConnector","Object","assign","config","minXXS","minXS","minS","minM","minL","minXL","minXXL","maxXXS","maxXS","maxS","maxM","maxL","maxXL","maxXXL","landscape","portrait","mediator","useContext","MediaContext","breakpointsMatches","setBreakpointsMatches","useState","create","getMountedStatus","useMountedStatus","useLayoutEffect","connectToMatcher","Boolean","unsubscribeCallbacks","matchers","filter","matcher","id","forEach","unsubscribe","subscribe","payload","prev","matches","push","callback","getConfig","options","min","max","orientation"],"mappings":"4IAMO,MAAMA,kBAAoBC,OAAOC,OACtC,CAACC,EAAwC,CAAA,KACvC,MAAMC,OACJA,EAAMC,MACNA,EAAKC,KACLA,EAAIC,KACJA,EAAIC,KACJA,EAAIC,MACJA,EAAKC,OACLA,EAAMC,OACNA,EAAMC,MACNA,EAAKC,KACLA,EAAIC,KACJA,EAAIC,KACJA,EAAIC,MACJA,EAAKC,OACLA,EAAMC,UACNA,EAASC,SACTA,GACEhB,EAEJ,MAAMiB,EAAWC,MAAAA,WAAWC,sBAE5B,MAAOC,EAAoBC,GAAyBC,MAAAA,SAClDxB,OAAOyB,OAAO,OAGhB,MAAMC,EAAmBC,iBAAAA,mBAkEzB,OAhEAC,MAAAA,gBAAgB,KACd,MAAMC,EAAoD,CACxD1B,OAAQ2B,QAAQ3B,GAChBC,MAAO0B,QAAQ1B,GACfC,KAAMyB,QAAQzB,GACdC,KAAMwB,QAAQxB,GACdC,KAAMuB,QAAQvB,GACdC,MAAOsB,QAAQtB,GACfC,OAAQqB,QAAQrB,GAChBC,OAAQoB,QAAQpB,GAChBC,MAAOmB,QAAQnB,GACfC,KAAMkB,QAAQlB,GACdC,KAAMiB,QAAQjB,GACdC,KAAMgB,QAAQhB,GACdC,MAAOe,QAAQf,GACfC,OAAQc,QAAQd,GAChBC,UAAWa,QAAQb,GACnBC,SAAUY,QAAQZ,IAGpB,MAAMa,EAAsD,GAc5D,OAZIZ,GACFA,EAASa,SACNC,OAAQC,GAAYL,EAAiBK,EAAQC,KAC7CC,QAASF,IACR,MAAMG,EAAcH,EAAQI,UAAWC,IACrChB,EAAuBiB,IAAI,IAAWA,EAAM,CAACN,EAAQC,IAAKI,EAAQE,aAGpEV,EAAqBW,KAAKL,KAIzB,KACLN,EAAqBK,QAASO,IAC5BA,MAGEjB,KACFH,EAAsBvB,OAAOyB,OAAO,SAGvC,CACDN,EACAhB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAQ,IAGKJ,GAET,CACEsB,UAAWA,CAACC,EAA0C,MAAE,CACtD1C,OAAQ0C,EAAQC,MAAQ,MACxB1C,MAAOyC,EAAQC,MAAQ,KACvBzC,KAAMwC,EAAQC,MAAQ,IACtBxC,KAAMuC,EAAQC,MAAQ,IACtBvC,KAAMsC,EAAQC,MAAQ,IACtBtC,MAAOqC,EAAQC,MAAQ,KACvBrC,OAAQoC,EAAQC,MAAQ,MACxBpC,OAAQmC,EAAQE,MAAQ,MACxBpC,MAAOkC,EAAQE,MAAQ,KACvBnC,KAAMiC,EAAQE,MAAQ,IACtBlC,KAAMgC,EAAQE,MAAQ,IACtBjC,KAAM+B,EAAQE,MAAQ,IACtBhC,MAAO8B,EAAQE,MAAQ,KACvB/B,OAAQ6B,EAAQE,MAAQ,MACxB9B,UAAW4B,EAAQG,cAAgB,YACnC9B,SAAU2B,EAAQG,cAAgB"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useContext,useState,useLayoutEffect}from'react';import{useMountedStatus}from'../../hooks/useMountedStatus.mjs';import{MediaContext}from'./context.mjs';const useMediaConnector=Object.assign((n={})=>{const{minXXS:a,minXS:o,minS:e,minM:m,minL:t,minXL:i,minXXL:X,maxXXS:s,maxXS:x,maxS:r,maxM:S,maxL:c,maxXL:L,maxXXL:l,landscape:u,portrait:B}=n;const M=useContext(MediaContext);const[d,p]=useState(Object.create(null));const f=useMountedStatus();return useLayoutEffect(()=>{const n={minXXS:Boolean(a),minXS:Boolean(o),minS:Boolean(e),minM:Boolean(m),minL:Boolean(t),minXL:Boolean(i),minXXL:Boolean(X),maxXXS:Boolean(s),maxXS:Boolean(x),maxS:Boolean(r),maxM:Boolean(S),maxL:Boolean(c),maxXL:Boolean(L),maxXXL:Boolean(l),landscape:Boolean(u),portrait:Boolean(B)};const d=[];return M&&M.matchers.filter(a=>n[a.id]).forEach(n=>{const a=n.subscribe(a=>{p(o=>({...o,[n.id]:a.matches}))});d.push(a)}),()=>{d.forEach(n=>{n()}),f()&&p(Object.create(null))}},[M,a,o,e,m,t,i,X,s,x,r,S,c,L,l,u,B,f]),d},{getConfig:(n={})=>({minXXS:n.min==='XXS',minXS:n.min==='XS',minS:n.min==='S',minM:n.min==='M',minL:n.min==='L',minXL:n.min==='XL',minXXL:n.min==='XXL',maxXXS:n.max==='XXS',maxXS:n.max==='XS',maxS:n.max==='S',maxM:n.max==='M',maxL:n.max==='L',maxXL:n.max==='XL',maxXXL:n.max==='XXL',landscape:n.orientation==='landscape',portrait:n.orientation==='portrait'})});export{useMediaConnector};
|
|
2
|
+
//# sourceMappingURL=useMediaConnector.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaConnector.mjs","sources":["../../../../src/components/Media/useMediaConnector.ts"],"sourcesContent":["import { useState, useContext, useLayoutEffect } from 'react'\nimport { useMountedStatus } from 'hooks/useMountedStatus'\nimport type { UnsubscribeObserverCallback } from 'shared/utils/Observable'\nimport type { MediaMatcherId, MediaConnectorConfig, MediaConnectorGetConfigOptions } from './types'\nimport { MediaContext } from './context'\n\nexport const useMediaConnector = Object.assign(\n (config: Partial<MediaConnectorConfig> = {}): Partial<Record<MediaMatcherId, boolean>> => {\n const {\n minXXS,\n minXS,\n minS,\n minM,\n minL,\n minXL,\n minXXL,\n maxXXS,\n maxXS,\n maxS,\n maxM,\n maxL,\n maxXL,\n maxXXL,\n landscape,\n portrait,\n } = config\n\n const mediator = useContext(MediaContext)\n\n const [breakpointsMatches, setBreakpointsMatches] = useState<Partial<Record<MediaMatcherId, boolean>>>(\n Object.create(null)\n )\n\n const getMountedStatus = useMountedStatus()\n\n useLayoutEffect(() => {\n const connectToMatcher: Record<MediaMatcherId, boolean> = {\n minXXS: Boolean(minXXS),\n minXS: Boolean(minXS),\n minS: Boolean(minS),\n minM: Boolean(minM),\n minL: Boolean(minL),\n minXL: Boolean(minXL),\n minXXL: Boolean(minXXL),\n maxXXS: Boolean(maxXXS),\n maxXS: Boolean(maxXS),\n maxS: Boolean(maxS),\n maxM: Boolean(maxM),\n maxL: Boolean(maxL),\n maxXL: Boolean(maxXL),\n maxXXL: Boolean(maxXXL),\n landscape: Boolean(landscape),\n portrait: Boolean(portrait),\n }\n\n const unsubscribeCallbacks: UnsubscribeObserverCallback[] = []\n\n if (mediator) {\n mediator.matchers\n .filter((matcher) => connectToMatcher[matcher.id])\n .forEach((matcher) => {\n const unsubscribe = matcher.subscribe((payload) => {\n setBreakpointsMatches((prev) => ({ ...prev, [matcher.id]: payload.matches }))\n })\n\n unsubscribeCallbacks.push(unsubscribe)\n })\n }\n\n return () => {\n unsubscribeCallbacks.forEach((callback) => {\n callback()\n })\n\n if (getMountedStatus()) {\n setBreakpointsMatches(Object.create(null))\n }\n }\n }, [\n mediator,\n minXXS,\n minXS,\n minS,\n minM,\n minL,\n minXL,\n minXXL,\n maxXXS,\n maxXS,\n maxS,\n maxM,\n maxL,\n maxXL,\n maxXXL,\n landscape,\n portrait,\n getMountedStatus,\n ])\n\n return breakpointsMatches\n },\n {\n getConfig: (options: MediaConnectorGetConfigOptions = {}): MediaConnectorConfig => ({\n minXXS: options.min === 'XXS',\n minXS: options.min === 'XS',\n minS: options.min === 'S',\n minM: options.min === 'M',\n minL: options.min === 'L',\n minXL: options.min === 'XL',\n minXXL: options.min === 'XXL',\n maxXXS: options.max === 'XXS',\n maxXS: options.max === 'XS',\n maxS: options.max === 'S',\n maxM: options.max === 'M',\n maxL: options.max === 'L',\n maxXL: options.max === 'XL',\n maxXXL: options.max === 'XXL',\n landscape: options.orientation === 'landscape',\n portrait: options.orientation === 'portrait',\n }),\n }\n)\n"],"names":["useMediaConnector","Object","assign","config","minXXS","minXS","minS","minM","minL","minXL","minXXL","maxXXS","maxXS","maxS","maxM","maxL","maxXL","maxXXL","landscape","portrait","mediator","useContext","MediaContext","breakpointsMatches","setBreakpointsMatches","useState","create","getMountedStatus","useMountedStatus","useLayoutEffect","connectToMatcher","Boolean","unsubscribeCallbacks","matchers","filter","matcher","id","forEach","unsubscribe","subscribe","payload","prev","matches","push","callback","getConfig","options","min","max","orientation"],"mappings":"8JAMO,MAAMA,kBAAoBC,OAAOC,OACtC,CAACC,EAAwC,CAAA,KACvC,MAAMC,OACJA,EAAMC,MACNA,EAAKC,KACLA,EAAIC,KACJA,EAAIC,KACJA,EAAIC,MACJA,EAAKC,OACLA,EAAMC,OACNA,EAAMC,MACNA,EAAKC,KACLA,EAAIC,KACJA,EAAIC,KACJA,EAAIC,MACJA,EAAKC,OACLA,EAAMC,UACNA,EAASC,SACTA,GACEhB,EAEJ,MAAMiB,EAAWC,WAAWC,cAE5B,MAAOC,EAAoBC,GAAyBC,SAClDxB,OAAOyB,OAAO,OAGhB,MAAMC,EAAmBC,mBAkEzB,OAhEAC,gBAAgB,KACd,MAAMC,EAAoD,CACxD1B,OAAQ2B,QAAQ3B,GAChBC,MAAO0B,QAAQ1B,GACfC,KAAMyB,QAAQzB,GACdC,KAAMwB,QAAQxB,GACdC,KAAMuB,QAAQvB,GACdC,MAAOsB,QAAQtB,GACfC,OAAQqB,QAAQrB,GAChBC,OAAQoB,QAAQpB,GAChBC,MAAOmB,QAAQnB,GACfC,KAAMkB,QAAQlB,GACdC,KAAMiB,QAAQjB,GACdC,KAAMgB,QAAQhB,GACdC,MAAOe,QAAQf,GACfC,OAAQc,QAAQd,GAChBC,UAAWa,QAAQb,GACnBC,SAAUY,QAAQZ,IAGpB,MAAMa,EAAsD,GAc5D,OAZIZ,GACFA,EAASa,SACNC,OAAQC,GAAYL,EAAiBK,EAAQC,KAC7CC,QAASF,IACR,MAAMG,EAAcH,EAAQI,UAAWC,IACrChB,EAAuBiB,IAAI,IAAWA,EAAM,CAACN,EAAQC,IAAKI,EAAQE,aAGpEV,EAAqBW,KAAKL,KAIzB,KACLN,EAAqBK,QAASO,IAC5BA,MAGEjB,KACFH,EAAsBvB,OAAOyB,OAAO,SAGvC,CACDN,EACAhB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAQ,IAGKJ,GAET,CACEsB,UAAWA,CAACC,EAA0C,MAAE,CACtD1C,OAAQ0C,EAAQC,MAAQ,MACxB1C,MAAOyC,EAAQC,MAAQ,KACvBzC,KAAMwC,EAAQC,MAAQ,IACtBxC,KAAMuC,EAAQC,MAAQ,IACtBvC,KAAMsC,EAAQC,MAAQ,IACtBtC,MAAOqC,EAAQC,MAAQ,KACvBrC,OAAQoC,EAAQC,MAAQ,MACxBpC,OAAQmC,EAAQE,MAAQ,MACxBpC,MAAOkC,EAAQE,MAAQ,KACvBnC,KAAMiC,EAAQE,MAAQ,IACtBlC,KAAMgC,EAAQE,MAAQ,IACtBjC,KAAM+B,EAAQE,MAAQ,IACtBhC,MAAO8B,EAAQE,MAAQ,KACvB/B,OAAQ6B,EAAQE,MAAQ,MACxB9B,UAAW4B,EAAQG,cAAgB,YACnC9B,SAAU2B,EAAQG,cAAgB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaMatchers.js","sources":["../../../../src/components/Media/useMediaMatchers.ts"],"sourcesContent":["import { useMediaConnector } from './useMediaConnector'\n\n/**\n *\n * Хук для чтения статуса медиа матчеров.\n *\n * Булевые значения говорят о том совпадают ли характеристики вьюпорта с медиа кверями матчеров.\n */\nexport const useMediaMatchers = () => {\n const breakpointsMatchers = useMediaConnector({\n minXXS: true,\n minXS: true,\n minS: true,\n minM: true,\n minL: true,\n minXL: true,\n minXXL: true,\n maxXXS: true,\n maxXS: true,\n maxS: true,\n maxM: true,\n maxL: true,\n maxXL: true,\n maxXXL: true,\n landscape: true,\n portrait: true,\n })\n\n return breakpointsMatchers\n}\n"],"names":["useMediaMatchers","useMediaConnector","minXXS","minXS","minS","minM","minL","minXL","minXXL","maxXXS","maxXS","maxS","maxM","maxL","maxXL","maxXXL","landscape","portrait"],"mappings":"8FAQgCA,IACFC,kBAAAA,kBAAkB,CAC5CC,QAAQ,EACRC,OAAO,EACPC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,QAAQ,EACRC,QAAQ,EACRC,OAAO,EACPC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,QAAQ,EACRC,WAAW,EACXC,UAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMediaMatchers.mjs","sources":["../../../../src/components/Media/useMediaMatchers.ts"],"sourcesContent":["import { useMediaConnector } from './useMediaConnector'\n\n/**\n *\n * Хук для чтения статуса медиа матчеров.\n *\n * Булевые значения говорят о том совпадают ли характеристики вьюпорта с медиа кверями матчеров.\n */\nexport const useMediaMatchers = () => {\n const breakpointsMatchers = useMediaConnector({\n minXXS: true,\n minXS: true,\n minS: true,\n minM: true,\n minL: true,\n minXL: true,\n minXXL: true,\n maxXXS: true,\n maxXS: true,\n maxS: true,\n maxM: true,\n maxL: true,\n maxXL: true,\n maxXXL: true,\n landscape: true,\n portrait: true,\n })\n\n return breakpointsMatchers\n}\n"],"names":["useMediaMatchers","useMediaConnector","minXXS","minXS","minS","minM","minL","minXL","minXXL","maxXXS","maxXS","maxS","maxM","maxL","maxXL","maxXXL","landscape","portrait"],"mappings":"uDAQO,MAAMA,iBAAmBA,IACFC,kBAAkB,CAC5CC,QAAQ,EACRC,OAAO,EACPC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,QAAQ,EACRC,QAAQ,EACRC,OAAO,EACPC,MAAM,EACNC,MAAM,EACNC,MAAM,EACNC,OAAO,EACPC,QAAQ,EACRC,WAAW,EACXC,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMediaPropsMatches.js","sources":["../../../../src/components/Media/useMediaPropsMatches.ts"],"sourcesContent":["import type { useMediaConnector } from '
|
|
1
|
+
{"version":3,"file":"useMediaPropsMatches.js","sources":["../../../../src/components/Media/useMediaPropsMatches.ts"],"sourcesContent":["import type { useMediaConnector } from './useMediaConnector'\nimport type { MediaProps } from './types'\n\nexport const useMediaPropsMatches = (\n props: Omit<MediaProps, 'children'>,\n matchers: ReturnType<typeof useMediaConnector>\n): boolean => {\n if (!props.orientation && !props.min && !props.max) {\n return false\n }\n\n if (props.orientation && !matchers[props.orientation]) {\n return false\n }\n\n if (props.min && !matchers[`min${props.min}`]) {\n return false\n }\n\n if (props.max && !matchers[`max${props.max}`]) {\n return false\n }\n\n return true\n}\n"],"names":["useMediaPropsMatches","props","matchers","orientation","min","max"],"mappings":"0CAGoCA,CAClCC,EACAC,QAEKD,EAAME,aAAgBF,EAAMG,KAAQH,EAAMI,MAI3CJ,EAAME,cAAgBD,EAASD,EAAME,cAIrCF,EAAMG,MAAQF,EAAS,MAAMD,EAAMG,QAInCH,EAAMI,MAAQH,EAAS,MAAMD,EAAMI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMediaPropsMatches.mjs","sources":["../../../../src/components/Media/useMediaPropsMatches.ts"],"sourcesContent":["import type { useMediaConnector } from '
|
|
1
|
+
{"version":3,"file":"useMediaPropsMatches.mjs","sources":["../../../../src/components/Media/useMediaPropsMatches.ts"],"sourcesContent":["import type { useMediaConnector } from './useMediaConnector'\nimport type { MediaProps } from './types'\n\nexport const useMediaPropsMatches = (\n props: Omit<MediaProps, 'children'>,\n matchers: ReturnType<typeof useMediaConnector>\n): boolean => {\n if (!props.orientation && !props.min && !props.max) {\n return false\n }\n\n if (props.orientation && !matchers[props.orientation]) {\n return false\n }\n\n if (props.min && !matchers[`min${props.min}`]) {\n return false\n }\n\n if (props.max && !matchers[`max${props.max}`]) {\n return false\n }\n\n return true\n}\n"],"names":["useMediaPropsMatches","props","matchers","orientation","min","max"],"mappings":"MAGaA,qBAAuBA,CAClCC,EACAC,QAEKD,EAAME,aAAgBF,EAAMG,KAAQH,EAAMI,MAI3CJ,EAAME,cAAgBD,EAASD,EAAME,cAIrCF,EAAMG,MAAQF,EAAS,MAAMD,EAAMG,QAInCH,EAAMI,MAAQH,EAAS,MAAMD,EAAMI"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var React=require('react');var useMergedProps=require('../../hooks/useMergedProps.js');var isNil=require('../../shared/utils/isNil.js');var sizes=require('./sizes.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Slot=require('../Slot/Slot.js');var Text=require('../Text/Text.js');var IconButton=require('../IconButton/IconButton.js');var index=require('../../icon-pack/src/icons/Close/index.js');exports.TooltipComponent=React.forwardRef((e,s)=>{const{size:t="s",titleProps:o={},contentProps:i={},closeButtonProps:r={},root:n,body:l,heading:c,title:u,text:a,content:x,closeButton:j,closeFn:p,showCloseButton:d,footer:S,sizeXXS:z,sizeXS:m,sizeS:R,sizeM:T,sizeL:
|
|
1
|
+
'use strict';var React=require('react');var useMergedProps=require('../../hooks/useMergedProps.js');var isNil=require('../../shared/utils/isNil.js');var sizes=require('./sizes.js');var style=require('./style.js');var jsxRuntime=require('react/jsx-runtime');var Slot=require('../Slot/Slot.js');var Text=require('../Text/Text.js');var IconButton=require('../IconButton/IconButton.js');var index=require('../../icon-pack/src/icons/Close/index.js');exports.TooltipComponent=React.forwardRef((e,s)=>{const{size:t="s",titleProps:o={},contentProps:i={},closeButtonProps:r={},root:n,body:l,heading:c,title:u,text:a,content:x,closeButton:j,closeFn:p,showCloseButton:d,footer:S,sizeXXS:z,sizeXS:m,sizeS:R,sizeM:T,sizeL:k,sizeXL:f,...h}=useMergedProps.useMergedProps(e,{componentName:"TooltipComponent",sizes:sizes.SIZES});const C={size:t,sizeXXS:z,sizeXS:m,sizeS:R,sizeM:T,sizeL:k,sizeXL:f};const B={...C,sizes:sizes.SIZES_TEXT,appearance:'body',color:'inherit',weight:700,wordBreak:'break-word'};const I={...C,sizes:sizes.SIZES_TEXT,appearance:'body',color:'inherit',wordBreak:'break-word'};const y={...C,sizes:sizes.SIZES_CLOSE_BUTTON,icon:jsxRuntime.jsx(index.Close,{}),square:!0,secondary:h.black,contrast:h.black||h.contrast,onClick:()=>{typeof p=='function'&&p()}};return jsxRuntime.jsx(style.Root,{...h,...C,ref:s,children:jsxRuntime.jsx(Slot.Slot,{render:n,props:{headingProps:B,textProps:I,closeButtonProps:y},fallback:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs(style.Container,{...C,sizes:j||d?sizes.SIZES_CONTAINER_WITH_BUTTON:sizes.SIZES_CONTAINER,children:[jsxRuntime.jsx(Slot.Slot,{render:l,props:{headingProps:B,textProps:I},fallback:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(Slot.Slot,{render:c,props:B,fallback:isNil.isNil(u)?null:jsxRuntime.jsx(Text.Text,{...B,...o,children:u})}),jsxRuntime.jsx(Slot.Slot,{render:a,props:I,fallback:isNil.isNil(x)?null:jsxRuntime.jsx(Text.Text,{...I,...i,children:x})})]})}),typeof S=='function'?S(C):S]}),j||d?jsxRuntime.jsx(style.ButtonContainer,{children:jsxRuntime.jsx(Slot.Slot,{render:j,props:y,fallback:jsxRuntime.jsx(IconButton.IconButton,{...y,...r,onClick:e=>{typeof y.onClick=='function'&&y.onClick(e),typeof r.onClick=='function'&&r.onClick(e)}})})}):null]})})})});
|
|
2
2
|
//# sourceMappingURL=TooltipComponent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipComponent.js","sources":["../../../../src/components/TooltipComponent/TooltipComponent.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { Close } from '@foxford/icon-pack'\nimport { useMergedProps } from 'hooks/useMergedProps'\nimport { Slot } from 'components/Slot'\nimport { isNil } from 'shared/utils/isNil'\nimport { Text } from 'components/Text'\nimport { IconButton } from 'components/IconButton'\nimport type { TextProps } from 'components/Text'\nimport type { IconButtonProps } from 'components/IconButton'\nimport { SIZES, SIZES_CONTAINER, SIZES_CONTAINER_WITH_BUTTON, SIZES_CLOSE_BUTTON, SIZES_TEXT } from './sizes'\nimport type { TooltipComponentProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'TooltipComponent'\n\nconst TooltipComponent: React.ForwardRefExoticComponent<TooltipComponentProps> = forwardRef<\n HTMLDivElement,\n TooltipComponentProps\n>((props, ref) => {\n const {\n size = 's',\n titleProps = {},\n contentProps = {},\n closeButtonProps: closeButtonPropsProp = {},\n root,\n body,\n heading,\n title,\n text,\n content,\n closeButton,\n closeFn,\n showCloseButton,\n footer,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n ...restProps\n } = useMergedProps<TooltipComponentProps>(props, {\n componentName: COMPONENT_NAME,\n sizes: SIZES,\n })\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const headingProps: TextProps = {\n ...sizeProps,\n sizes: SIZES_TEXT,\n appearance: 'body',\n color: 'inherit',\n weight: 700,\n wordBreak: 'break-word',\n }\n\n const textProps: TextProps = {\n ...sizeProps,\n sizes: SIZES_TEXT,\n appearance: 'body',\n color: 'inherit',\n wordBreak: 'break-word',\n }\n\n const closeButtonProps: IconButtonProps = {\n ...sizeProps,\n sizes: SIZES_CLOSE_BUTTON,\n icon: <Close />,\n square: true,\n
|
|
1
|
+
{"version":3,"file":"TooltipComponent.js","sources":["../../../../src/components/TooltipComponent/TooltipComponent.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { Close } from '@foxford/icon-pack'\nimport { useMergedProps } from 'hooks/useMergedProps'\nimport { Slot } from 'components/Slot'\nimport { isNil } from 'shared/utils/isNil'\nimport { Text } from 'components/Text'\nimport { IconButton } from 'components/IconButton'\nimport type { TextProps } from 'components/Text'\nimport type { IconButtonProps } from 'components/IconButton'\nimport { SIZES, SIZES_CONTAINER, SIZES_CONTAINER_WITH_BUTTON, SIZES_CLOSE_BUTTON, SIZES_TEXT } from './sizes'\nimport type { TooltipComponentProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'TooltipComponent'\n\nconst TooltipComponent: React.ForwardRefExoticComponent<TooltipComponentProps> = forwardRef<\n HTMLDivElement,\n TooltipComponentProps\n>((props, ref) => {\n const {\n size = 's',\n titleProps = {},\n contentProps = {},\n closeButtonProps: closeButtonPropsProp = {},\n root,\n body,\n heading,\n title,\n text,\n content,\n closeButton,\n closeFn,\n showCloseButton,\n footer,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n ...restProps\n } = useMergedProps<TooltipComponentProps>(props, {\n componentName: COMPONENT_NAME,\n sizes: SIZES,\n })\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const headingProps: TextProps = {\n ...sizeProps,\n sizes: SIZES_TEXT,\n appearance: 'body',\n color: 'inherit',\n weight: 700,\n wordBreak: 'break-word',\n }\n\n const textProps: TextProps = {\n ...sizeProps,\n sizes: SIZES_TEXT,\n appearance: 'body',\n color: 'inherit',\n wordBreak: 'break-word',\n }\n\n const closeButtonProps: IconButtonProps = {\n ...sizeProps,\n sizes: SIZES_CLOSE_BUTTON,\n icon: <Close />,\n square: true,\n secondary: restProps.black,\n contrast: restProps.black || restProps.contrast,\n onClick: () => {\n if (typeof closeFn === 'function') {\n closeFn()\n }\n },\n }\n\n return (\n <Styled.Root {...restProps} {...sizeProps} ref={ref}>\n <Slot\n render={root}\n props={{\n headingProps,\n textProps,\n closeButtonProps,\n }}\n fallback={\n <>\n <Styled.Container\n {...sizeProps}\n sizes={closeButton || showCloseButton ? SIZES_CONTAINER_WITH_BUTTON : SIZES_CONTAINER}\n >\n <Slot\n render={body}\n props={{\n headingProps,\n textProps,\n }}\n fallback={\n <>\n <Slot\n render={heading}\n props={headingProps}\n fallback={\n !isNil(title) ? (\n <Text {...headingProps} {...titleProps}>\n {title}\n </Text>\n ) : null\n }\n />\n <Slot\n render={text}\n props={textProps}\n fallback={\n !isNil(content) ? (\n <Text {...textProps} {...contentProps}>\n {content}\n </Text>\n ) : null\n }\n />\n </>\n }\n />\n {typeof footer === 'function' ? footer(sizeProps) : footer}\n </Styled.Container>\n {closeButton || showCloseButton ? (\n <Styled.ButtonContainer>\n <Slot\n render={closeButton}\n props={closeButtonProps}\n fallback={\n <IconButton\n {...closeButtonProps}\n {...closeButtonPropsProp}\n onClick={(evt) => {\n if (typeof closeButtonProps.onClick === 'function') {\n closeButtonProps.onClick(evt)\n }\n if (typeof closeButtonPropsProp.onClick === 'function') {\n closeButtonPropsProp.onClick(evt)\n }\n }}\n />\n }\n />\n </Styled.ButtonContainer>\n ) : null}\n </>\n }\n />\n </Styled.Root>\n )\n})\n\nexport { TooltipComponent }\n"],"names":["forwardRef","props","ref","size","titleProps","contentProps","closeButtonProps","closeButtonPropsProp","root","body","heading","title","text","content","closeButton","closeFn","showCloseButton","footer","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","restProps","useMergedProps","componentName","sizes","SIZES","sizeProps","headingProps","SIZES_TEXT","appearance","color","weight","wordBreak","textProps","SIZES_CLOSE_BUTTON","icon","_jsx","Close","square","secondary","black","contrast","onClick","Styled","children","Slot","render","fallback","_jsxs","_Fragment","SIZES_CONTAINER_WITH_BUTTON","SIZES_CONTAINER","isNil","Text","IconButton","evt"],"mappings":"sdAeiFA,MAAAA,WAG/E,CAACC,EAAOC,KACR,MAAMC,KACJA,EAAO,IAAGC,WACVA,EAAa,CAAA,EAAEC,aACfA,EAAe,CAAA,EACfC,iBAAkBC,EAAuB,CAAA,EAAEC,KAC3CA,EAAIC,KACJA,EAAIC,QACJA,EAAOC,MACPA,EAAKC,KACLA,EAAIC,QACJA,EAAOC,YACPA,EAAWC,QACXA,EAAOC,gBACPA,EAAeC,OACfA,EAAMC,QACNA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,KACGC,GACDC,eAAAA,eAAsCxB,EAAO,CAC/CyB,cA7BmB,mBA8BnBC,MAAOC,MAAAA,QAGT,MAAMC,EAAY,CAChB1B,OACAe,UACAC,SACAC,QACAC,QACAC,QACAC,UAGF,MAAMO,EAA0B,IAC3BD,EACHF,MAAOI,MAAAA,WACPC,WAAY,OACZC,MAAO,UACPC,OAAQ,IACRC,UAAW,cAGb,MAAMC,EAAuB,IACxBP,EACHF,MAAOI,MAAAA,WACPC,WAAY,OACZC,MAAO,UACPE,UAAW,cAGb,MAAM7B,EAAoC,IACrCuB,EACHF,MAAOU,MAAAA,mBACPC,KAAMC,WAAAA,IAACC,MAAAA,UACPC,QAAQ,EACRC,UAAWlB,EAAUmB,MACrBC,SAAUpB,EAAUmB,OAASnB,EAAUoB,SACvCC,QAASA,YACI9B,GAAY,YACrBA,MAKN,OACEwB,WAAAA,IAACO,MAAAA,KAAW,IAAKtB,KAAeK,EAAW3B,IAAKA,EAAI6C,SAClDR,WAAAA,IAACS,UAAI,CACHC,OAAQzC,EACRP,MAAO,CACL6B,eACAM,YACA9B,oBAEF4C,SACEC,WAAAA,KAAAC,oBAAA,CAAAL,SAAA,CACEI,WAAAA,KAACL,gBAAgB,IACXjB,EACJF,MAAOb,GAAeE,EAAkBqC,MAAAA,4BAA8BC,MAAAA,gBAAgBP,SAAA,CAEtFR,WAAAA,IAACS,UAAI,CACHC,OAAQxC,EACRR,MAAO,CACL6B,eACAM,aAEFc,SACEC,WAAAA,KAAAC,oBAAA,CAAAL,SAAA,CACER,WAAAA,IAACS,UAAI,CACHC,OAAQvC,EACRT,MAAO6B,EACPoB,SACGK,MAAAA,MAAM5C,GAIH,KAHF4B,WAAAA,IAACiB,KAAAA,KAAI,IAAK1B,KAAkB1B,EAAU2C,SACnCpC,MAKT4B,WAAAA,IAACS,UAAI,CACHC,OAAQrC,EACRX,MAAOmC,EACPc,SACGK,MAAAA,MAAM1C,GAIH,KAHF0B,WAAAA,IAACiB,KAAAA,KAAI,IAAKpB,KAAe/B,EAAY0C,SAClClC,kBAQPI,GAAW,WAAaA,EAAOY,GAAaZ,KAErDH,GAAeE,EACduB,WAAAA,IAACO,MAAAA,gBAAsB,CAAAC,SACrBR,WAAAA,IAACS,UAAI,CACHC,OAAQnC,EACRb,MAAOK,EACP4C,SACEX,WAAAA,IAACkB,sBAAU,IACLnD,KACAC,EACJsC,QAAUa,WACGpD,EAAiBuC,SAAY,YACtCvC,EAAiBuC,QAAQa,UAEhBnD,EAAqBsC,SAAY,YAC1CtC,EAAqBsC,QAAQa,UAOvC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{forwardRef}from'react';import{useMergedProps}from'../../hooks/useMergedProps.mjs';import{isNil}from'../../shared/utils/isNil.mjs';import{SIZES_CLOSE_BUTTON,SIZES_TEXT,SIZES_CONTAINER_WITH_BUTTON,SIZES_CONTAINER,SIZES}from'./sizes.mjs';import{Root,Container,ButtonContainer}from'./style.mjs';import{jsx,jsxs,Fragment}from'react/jsx-runtime';import{Slot}from'../Slot/Slot.mjs';import{Text}from'../Text/Text.mjs';import{IconButton}from'../IconButton/IconButton.mjs';import{Close}from'../../icon-pack/src/icons/Close/index.mjs';const TooltipComponent=forwardRef((o,e)=>{const{size:s="s",titleProps:t={},contentProps:r={},closeButtonProps:n={},root:i,body:l,heading:c,title:p,text:a,content:S,closeButton:m,closeFn:d,showCloseButton:f,footer:T,sizeXXS:x,sizeXS:j,sizeS:u,sizeM:C,sizeL:I,sizeXL:z,...E}=useMergedProps(o,{componentName:"TooltipComponent",sizes:SIZES});const k={size:s,sizeXXS:x,sizeXS:j,sizeS:u,sizeM:C,sizeL:I,sizeXL:z};const N={...k,sizes:SIZES_TEXT,appearance:'body',color:'inherit',weight:700,wordBreak:'break-word'};const h={...k,sizes:SIZES_TEXT,appearance:'body',color:'inherit',wordBreak:'break-word'};const B={...k,sizes:SIZES_CLOSE_BUTTON,icon:jsx(Close,{}),square:!0,
|
|
1
|
+
import{forwardRef}from'react';import{useMergedProps}from'../../hooks/useMergedProps.mjs';import{isNil}from'../../shared/utils/isNil.mjs';import{SIZES_CLOSE_BUTTON,SIZES_TEXT,SIZES_CONTAINER_WITH_BUTTON,SIZES_CONTAINER,SIZES}from'./sizes.mjs';import{Root,Container,ButtonContainer}from'./style.mjs';import{jsx,jsxs,Fragment}from'react/jsx-runtime';import{Slot}from'../Slot/Slot.mjs';import{Text}from'../Text/Text.mjs';import{IconButton}from'../IconButton/IconButton.mjs';import{Close}from'../../icon-pack/src/icons/Close/index.mjs';const TooltipComponent=forwardRef((o,e)=>{const{size:s="s",titleProps:t={},contentProps:r={},closeButtonProps:n={},root:i,body:l,heading:c,title:p,text:a,content:S,closeButton:m,closeFn:d,showCloseButton:f,footer:T,sizeXXS:x,sizeXS:j,sizeS:u,sizeM:C,sizeL:I,sizeXL:z,...E}=useMergedProps(o,{componentName:"TooltipComponent",sizes:SIZES});const k={size:s,sizeXXS:x,sizeXS:j,sizeS:u,sizeM:C,sizeL:I,sizeXL:z};const N={...k,sizes:SIZES_TEXT,appearance:'body',color:'inherit',weight:700,wordBreak:'break-word'};const h={...k,sizes:SIZES_TEXT,appearance:'body',color:'inherit',wordBreak:'break-word'};const B={...k,sizes:SIZES_CLOSE_BUTTON,icon:jsx(Close,{}),square:!0,secondary:E.black,contrast:E.black||E.contrast,onClick:()=>{typeof d=='function'&&d()}};return jsx(Root,{...E,...k,ref:e,children:jsx(Slot,{render:i,props:{headingProps:N,textProps:h,closeButtonProps:B},fallback:jsxs(Fragment,{children:[jsxs(Container,{...k,sizes:m||f?SIZES_CONTAINER_WITH_BUTTON:SIZES_CONTAINER,children:[jsx(Slot,{render:l,props:{headingProps:N,textProps:h},fallback:jsxs(Fragment,{children:[jsx(Slot,{render:c,props:N,fallback:isNil(p)?null:jsx(Text,{...N,...t,children:p})}),jsx(Slot,{render:a,props:h,fallback:isNil(S)?null:jsx(Text,{...h,...r,children:S})})]})}),typeof T=='function'?T(k):T]}),m||f?jsx(ButtonContainer,{children:jsx(Slot,{render:m,props:B,fallback:jsx(IconButton,{...B,...n,onClick:o=>{typeof B.onClick=='function'&&B.onClick(o),typeof n.onClick=='function'&&n.onClick(o)}})})}):null]})})})});export{TooltipComponent};
|
|
2
2
|
//# sourceMappingURL=TooltipComponent.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipComponent.mjs","sources":["../../../../src/components/TooltipComponent/TooltipComponent.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { Close } from '@foxford/icon-pack'\nimport { useMergedProps } from 'hooks/useMergedProps'\nimport { Slot } from 'components/Slot'\nimport { isNil } from 'shared/utils/isNil'\nimport { Text } from 'components/Text'\nimport { IconButton } from 'components/IconButton'\nimport type { TextProps } from 'components/Text'\nimport type { IconButtonProps } from 'components/IconButton'\nimport { SIZES, SIZES_CONTAINER, SIZES_CONTAINER_WITH_BUTTON, SIZES_CLOSE_BUTTON, SIZES_TEXT } from './sizes'\nimport type { TooltipComponentProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'TooltipComponent'\n\nconst TooltipComponent: React.ForwardRefExoticComponent<TooltipComponentProps> = forwardRef<\n HTMLDivElement,\n TooltipComponentProps\n>((props, ref) => {\n const {\n size = 's',\n titleProps = {},\n contentProps = {},\n closeButtonProps: closeButtonPropsProp = {},\n root,\n body,\n heading,\n title,\n text,\n content,\n closeButton,\n closeFn,\n showCloseButton,\n footer,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n ...restProps\n } = useMergedProps<TooltipComponentProps>(props, {\n componentName: COMPONENT_NAME,\n sizes: SIZES,\n })\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const headingProps: TextProps = {\n ...sizeProps,\n sizes: SIZES_TEXT,\n appearance: 'body',\n color: 'inherit',\n weight: 700,\n wordBreak: 'break-word',\n }\n\n const textProps: TextProps = {\n ...sizeProps,\n sizes: SIZES_TEXT,\n appearance: 'body',\n color: 'inherit',\n wordBreak: 'break-word',\n }\n\n const closeButtonProps: IconButtonProps = {\n ...sizeProps,\n sizes: SIZES_CLOSE_BUTTON,\n icon: <Close />,\n square: true,\n
|
|
1
|
+
{"version":3,"file":"TooltipComponent.mjs","sources":["../../../../src/components/TooltipComponent/TooltipComponent.tsx"],"sourcesContent":["import { forwardRef } from 'react'\nimport { Close } from '@foxford/icon-pack'\nimport { useMergedProps } from 'hooks/useMergedProps'\nimport { Slot } from 'components/Slot'\nimport { isNil } from 'shared/utils/isNil'\nimport { Text } from 'components/Text'\nimport { IconButton } from 'components/IconButton'\nimport type { TextProps } from 'components/Text'\nimport type { IconButtonProps } from 'components/IconButton'\nimport { SIZES, SIZES_CONTAINER, SIZES_CONTAINER_WITH_BUTTON, SIZES_CLOSE_BUTTON, SIZES_TEXT } from './sizes'\nimport type { TooltipComponentProps } from './types'\nimport * as Styled from './style'\n\nconst COMPONENT_NAME = 'TooltipComponent'\n\nconst TooltipComponent: React.ForwardRefExoticComponent<TooltipComponentProps> = forwardRef<\n HTMLDivElement,\n TooltipComponentProps\n>((props, ref) => {\n const {\n size = 's',\n titleProps = {},\n contentProps = {},\n closeButtonProps: closeButtonPropsProp = {},\n root,\n body,\n heading,\n title,\n text,\n content,\n closeButton,\n closeFn,\n showCloseButton,\n footer,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n ...restProps\n } = useMergedProps<TooltipComponentProps>(props, {\n componentName: COMPONENT_NAME,\n sizes: SIZES,\n })\n\n const sizeProps = {\n size,\n sizeXXS,\n sizeXS,\n sizeS,\n sizeM,\n sizeL,\n sizeXL,\n }\n\n const headingProps: TextProps = {\n ...sizeProps,\n sizes: SIZES_TEXT,\n appearance: 'body',\n color: 'inherit',\n weight: 700,\n wordBreak: 'break-word',\n }\n\n const textProps: TextProps = {\n ...sizeProps,\n sizes: SIZES_TEXT,\n appearance: 'body',\n color: 'inherit',\n wordBreak: 'break-word',\n }\n\n const closeButtonProps: IconButtonProps = {\n ...sizeProps,\n sizes: SIZES_CLOSE_BUTTON,\n icon: <Close />,\n square: true,\n secondary: restProps.black,\n contrast: restProps.black || restProps.contrast,\n onClick: () => {\n if (typeof closeFn === 'function') {\n closeFn()\n }\n },\n }\n\n return (\n <Styled.Root {...restProps} {...sizeProps} ref={ref}>\n <Slot\n render={root}\n props={{\n headingProps,\n textProps,\n closeButtonProps,\n }}\n fallback={\n <>\n <Styled.Container\n {...sizeProps}\n sizes={closeButton || showCloseButton ? SIZES_CONTAINER_WITH_BUTTON : SIZES_CONTAINER}\n >\n <Slot\n render={body}\n props={{\n headingProps,\n textProps,\n }}\n fallback={\n <>\n <Slot\n render={heading}\n props={headingProps}\n fallback={\n !isNil(title) ? (\n <Text {...headingProps} {...titleProps}>\n {title}\n </Text>\n ) : null\n }\n />\n <Slot\n render={text}\n props={textProps}\n fallback={\n !isNil(content) ? (\n <Text {...textProps} {...contentProps}>\n {content}\n </Text>\n ) : null\n }\n />\n </>\n }\n />\n {typeof footer === 'function' ? footer(sizeProps) : footer}\n </Styled.Container>\n {closeButton || showCloseButton ? (\n <Styled.ButtonContainer>\n <Slot\n render={closeButton}\n props={closeButtonProps}\n fallback={\n <IconButton\n {...closeButtonProps}\n {...closeButtonPropsProp}\n onClick={(evt) => {\n if (typeof closeButtonProps.onClick === 'function') {\n closeButtonProps.onClick(evt)\n }\n if (typeof closeButtonPropsProp.onClick === 'function') {\n closeButtonPropsProp.onClick(evt)\n }\n }}\n />\n }\n />\n </Styled.ButtonContainer>\n ) : null}\n </>\n }\n />\n </Styled.Root>\n )\n})\n\nexport { TooltipComponent }\n"],"names":["TooltipComponent","forwardRef","props","ref","size","titleProps","contentProps","closeButtonProps","closeButtonPropsProp","root","body","heading","title","text","content","closeButton","closeFn","showCloseButton","footer","sizeXXS","sizeXS","sizeS","sizeM","sizeL","sizeXL","restProps","useMergedProps","componentName","sizes","SIZES","sizeProps","headingProps","SIZES_TEXT","appearance","color","weight","wordBreak","textProps","SIZES_CLOSE_BUTTON","icon","_jsx","Close","square","secondary","black","contrast","onClick","Styled","children","Slot","render","fallback","_jsxs","_Fragment","SIZES_CONTAINER_WITH_BUTTON","SIZES_CONTAINER","isNil","Text","IconButton","evt"],"mappings":"mhBAeA,MAAMA,iBAA2EC,WAG/E,CAACC,EAAOC,KACR,MAAMC,KACJA,EAAO,IAAGC,WACVA,EAAa,CAAA,EAAEC,aACfA,EAAe,CAAA,EACfC,iBAAkBC,EAAuB,CAAA,EAAEC,KAC3CA,EAAIC,KACJA,EAAIC,QACJA,EAAOC,MACPA,EAAKC,KACLA,EAAIC,QACJA,EAAOC,YACPA,EAAWC,QACXA,EAAOC,gBACPA,EAAeC,OACfA,EAAMC,QACNA,EAAOC,OACPA,EAAMC,MACNA,EAAKC,MACLA,EAAKC,MACLA,EAAKC,OACLA,KACGC,GACDC,eAAsCxB,EAAO,CAC/CyB,cA7BmB,mBA8BnBC,MAAOC,QAGT,MAAMC,EAAY,CAChB1B,OACAe,UACAC,SACAC,QACAC,QACAC,QACAC,UAGF,MAAMO,EAA0B,IAC3BD,EACHF,MAAOI,WACPC,WAAY,OACZC,MAAO,UACPC,OAAQ,IACRC,UAAW,cAGb,MAAMC,EAAuB,IACxBP,EACHF,MAAOI,WACPC,WAAY,OACZC,MAAO,UACPE,UAAW,cAGb,MAAM7B,EAAoC,IACrCuB,EACHF,MAAOU,mBACPC,KAAMC,IAACC,UACPC,QAAQ,EACRC,UAAWlB,EAAUmB,MACrBC,SAAUpB,EAAUmB,OAASnB,EAAUoB,SACvCC,QAASA,YACI9B,GAAY,YACrBA,MAKN,OACEwB,IAACO,KAAW,IAAKtB,KAAeK,EAAW3B,IAAKA,EAAI6C,SAClDR,IAACS,KAAI,CACHC,OAAQzC,EACRP,MAAO,CACL6B,eACAM,YACA9B,oBAEF4C,SACEC,KAAAC,SAAA,CAAAL,SAAA,CACEI,KAACL,UAAgB,IACXjB,EACJF,MAAOb,GAAeE,EAAkBqC,4BAA8BC,gBAAgBP,SAAA,CAEtFR,IAACS,KAAI,CACHC,OAAQxC,EACRR,MAAO,CACL6B,eACAM,aAEFc,SACEC,KAAAC,SAAA,CAAAL,SAAA,CACER,IAACS,KAAI,CACHC,OAAQvC,EACRT,MAAO6B,EACPoB,SACGK,MAAM5C,GAIH,KAHF4B,IAACiB,KAAI,IAAK1B,KAAkB1B,EAAU2C,SACnCpC,MAKT4B,IAACS,KAAI,CACHC,OAAQrC,EACRX,MAAOmC,EACPc,SACGK,MAAM1C,GAIH,KAHF0B,IAACiB,KAAI,IAAKpB,KAAe/B,EAAY0C,SAClClC,kBAQPI,GAAW,WAAaA,EAAOY,GAAaZ,KAErDH,GAAeE,EACduB,IAACO,gBAAsB,CAAAC,SACrBR,IAACS,KAAI,CACHC,OAAQnC,EACRb,MAAOK,EACP4C,SACEX,IAACkB,WAAU,IACLnD,KACAC,EACJsC,QAAUa,WACGpD,EAAiBuC,SAAY,YACtCvC,EAAiBuC,QAAQa,UAEhBnD,EAAqBsC,SAAY,YAC1CtC,EAAqBsC,QAAQa,UAOvC"}
|