@foxford/ui 2.13.1 → 2.14.0-beta-0d3935b-20231107
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/ArrowBadge/ArrowBadge.js +2 -0
- package/components/ArrowBadge/ArrowBadge.js.map +1 -0
- package/components/ArrowBadge/constants.js +2 -0
- package/components/ArrowBadge/constants.js.map +1 -0
- package/components/ArrowBadge/images/arrow.module.svg.js +2 -0
- package/components/ArrowBadge/images/arrow.module.svg.js.map +1 -0
- package/components/ArrowBadge/images/fancy.module.svg.js +2 -0
- package/components/ArrowBadge/images/fancy.module.svg.js.map +1 -0
- package/components/ArrowBadge/images/rectangle.module.svg.js +2 -0
- package/components/ArrowBadge/images/rectangle.module.svg.js.map +1 -0
- package/components/ArrowBadge/style.js +2 -0
- package/components/ArrowBadge/style.js.map +1 -0
- package/components/Button/style.js +1 -1
- package/components/Button/style.js.map +1 -1
- package/dts/index.d.ts +44 -7
- package/hooks/use-config-priority.js.map +1 -1
- package/hooks/use-theme.js.map +1 -1
- package/index.cjs.js +1 -1
- package/index.cjs.js.map +1 -1
- package/index.js +1 -1
- package/mixins/focus.js +2 -0
- package/mixins/focus.js.map +1 -0
- package/mixins/margin.js +2 -0
- package/mixins/margin.js.map +1 -0
- package/mixins/size.js +2 -0
- package/mixins/size.js.map +1 -0
- package/package.json +2 -1
- package/shared/regexp.js +2 -0
- package/shared/regexp.js.map +1 -0
- package/shared/utils/inject-theme.js.map +1 -1
- package/shared/utils/style.js +2 -0
- package/shared/utils/style.js.map +1 -0
- package/theme/themes.js +1 -1
- package/theme/themes.js.map +1 -1
- package/mixins/sizing.js +0 -2
- package/mixins/sizing.js.map +0 -1
package/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{hexToRgbA,isHex}from'./shared/utils/colors.js';export{ThemeProvider}from'./theme/theme-provider.js';export{adultDarkTheme,adultLightTheme,babyDarkTheme,babyLightTheme,motherDarkTheme,motherLightTheme,teenDarkTheme,teenLightTheme,defaultTheme as theme}from'./theme/themes.js';export{ColorNames}from'./theme/colors.js';export{screenL,screenM,screenMaxL,screenMaxM,screenMaxS,screenMaxXl,screenMaxXs,screenMaxXxs,screenMinL,screenMinM,screenMinS,screenMinXl,screenMinXs,screenRetina,screenS,screenXl,screenXs}from'./mixins/screen.js';export{property,responsiveNamedProperty,responsiveProperty}from'./mixins/responsive-property.js';export{color}from'./mixins/color.js';export{vAlign}from'./mixins/vAlign.js';export{buildMediaQuery,desktopFirst,mobileFirst}from'./mixins/shared.js';export{ActionBtn}from'./components/ActionBtn/ActionBtn.js';export{Alert}from'./components/Alert/Alert.js';export{Amount}from'./components/Amount/Amount.js';export{CURRENCY_MAP,CurrencyCodes}from'./components/Amount/data/index.js';export{Anchor}from'./components/Anchor/Anchor.js';export{Arrow}from'./components/Arrow/Arrow.js';export{Avatar}from'./components/Avatar/Avatar.js';export{Badge}from'./components/Badge/Badge.js';export{Button}from'./components/Button/Button.js';export{Container}from'./components/Container/Container.js';export{Icon}from'./components/Icon/Icon.js';export{defaultIcons}from'./components/Icon/icons.js';export{Modal}from'./components/Modal/Modal.js';export{Paper}from'./components/Paper/Paper.js';export{Progress}from'./components/Progress/Progress.js';export{Scrollable}from'./components/Scrollable/Scrollable.js';export{Section}from'./components/Section/Section.js';export{Separator}from'./components/Separator/Separator.js';export{Spacer}from'./components/Spacer/Spacer.js';export{Spinner}from'./components/Spinner/Spinner.js';export{Switcher}from'./components/Switcher/Switcher.js';export{Tabs}from'./components/Tabs/Tabs.js';export{Text}from'./components/Text/Text.js';export{Tooltip}from'./components/Tooltip/Tooltip.js';export{Tag}from'./components/Tag/Tag.js';export{ContextMenu}from'./components/ContextMenu/ContextMenu.js';export{Textarea}from'./components/Textarea/Textarea.js';export{Input}from'./components/Input/Input.js';export{baseInputStyle}from'./components/Input/style.js';export{COUNTRY_DATA,DEFAULT_MASK,INITIAL_MASK}from'./components/Input.Phone/constants.js';export{Radio}from'./components/Radio/Radio.js';export{Checkbox}from'./components/Checkbox/Checkbox.js';export{Select}from'./components/Select/Select.js';
|
|
1
|
+
export{hexToRgbA,isHex}from'./shared/utils/colors.js';export{ThemeProvider}from'./theme/theme-provider.js';export{adultDarkTheme,adultLightTheme,babyDarkTheme,babyLightTheme,motherDarkTheme,motherLightTheme,teenDarkTheme,teenLightTheme,defaultTheme as theme}from'./theme/themes.js';export{ColorNames}from'./theme/colors.js';export{screenL,screenM,screenMaxL,screenMaxM,screenMaxS,screenMaxXl,screenMaxXs,screenMaxXxs,screenMinL,screenMinM,screenMinS,screenMinXl,screenMinXs,screenRetina,screenS,screenXl,screenXs}from'./mixins/screen.js';export{property,responsiveNamedProperty,responsiveProperty}from'./mixins/responsive-property.js';export{color}from'./mixins/color.js';export{vAlign}from'./mixins/vAlign.js';export{buildMediaQuery,desktopFirst,mobileFirst}from'./mixins/shared.js';export{ActionBtn}from'./components/ActionBtn/ActionBtn.js';export{Alert}from'./components/Alert/Alert.js';export{Amount}from'./components/Amount/Amount.js';export{CURRENCY_MAP,CurrencyCodes}from'./components/Amount/data/index.js';export{Anchor}from'./components/Anchor/Anchor.js';export{Arrow}from'./components/Arrow/Arrow.js';export{ArrowBadge}from'./components/ArrowBadge/ArrowBadge.js';export{Avatar}from'./components/Avatar/Avatar.js';export{Badge}from'./components/Badge/Badge.js';export{Button}from'./components/Button/Button.js';export{Container}from'./components/Container/Container.js';export{Icon}from'./components/Icon/Icon.js';export{defaultIcons}from'./components/Icon/icons.js';export{Modal}from'./components/Modal/Modal.js';export{Paper}from'./components/Paper/Paper.js';export{Progress}from'./components/Progress/Progress.js';export{Scrollable}from'./components/Scrollable/Scrollable.js';export{Section}from'./components/Section/Section.js';export{Separator}from'./components/Separator/Separator.js';export{Spacer}from'./components/Spacer/Spacer.js';export{Spinner}from'./components/Spinner/Spinner.js';export{Switcher}from'./components/Switcher/Switcher.js';export{Tabs}from'./components/Tabs/Tabs.js';export{Text}from'./components/Text/Text.js';export{Tooltip}from'./components/Tooltip/Tooltip.js';export{Tag}from'./components/Tag/Tag.js';export{ContextMenu}from'./components/ContextMenu/ContextMenu.js';export{Textarea}from'./components/Textarea/Textarea.js';export{Input}from'./components/Input/Input.js';export{baseInputStyle}from'./components/Input/style.js';export{COUNTRY_DATA,DEFAULT_MASK,INITIAL_MASK}from'./components/Input.Phone/constants.js';export{Radio}from'./components/Radio/Radio.js';export{Checkbox}from'./components/Checkbox/Checkbox.js';export{Select}from'./components/Select/Select.js';
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/mixins/focus.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"focus.js","sources":["../../../src/mixins/focus.ts"],"sourcesContent":["import type { ThemedStyledProps, DefaultTheme } from 'styled-components'\n\nconst focus = (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: ThemedStyledProps<any, DefaultTheme>\n): string => {\n return `\n &:focus-visible {\n box-shadow: 0 0 0 2px ${props.theme.colors.white}, 0 0 0 4px ${props.theme.colors.toryBlueDark};\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n `\n}\n\nexport { focus }\n"],"names":["focus","props","concat","theme","colors","white","toryBlueDark"],"mappings":"AAEMA,IAAAA,EAEJC,GAEA,wDAAAC,OAE4BD,EAAME,MAAMC,OAAOC,MAAoBJ,gBAAAA,OAAAA,EAAME,MAAMC,OAAOE,aAFtF"}
|
package/mixins/margin.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from'@babel/runtime/helpers/taggedTemplateLiteral';import r from'@babel/runtime/helpers/objectSpread2';import{css as t}from'styled-components';import{desktopFirst as s,getMediaQueryByResponsiveProp as a}from'./shared.js';import{marginPropKeyRegExp as o,responsiveMarginPropKeyRegExp as p}from'../shared/regexp.js';var i;var n=n=>t(["",""],[Object.keys(n).filter((e=>o.test(e)&&('string'==typeof n[e]||'number'==typeof n[e]))).reduce(((e,r)=>{var t;return e[r]='string'==typeof n[r]?n[r]:"".concat(n[r]).concat(null!==(t=n.marginUnits)&&void 0!==t?t:'px'),e}),{}),...Object.keys(n).filter((e=>p.test(e)&&('string'==typeof n[e]||'number'==typeof n[e]))).sort(s).reduce(((e,t)=>{var s=t.match(p);if(s){var o;var i=a(t);var m=e.find((e=>e[0]===i));var c={[s[1]]:'string'==typeof n[t]?n[t]:"".concat(n[t]).concat(null!==(o=n.marginUnits)&&void 0!==o?o:'px')};m?m[1]=r(r({},m[1]),c):e.push([i,c])}return e}),[]).map((r=>{var[t,s]=r;return t()(i||(i=e(["",""])),s)}))]);export{n as responsiveMargin};
|
|
2
|
+
//# sourceMappingURL=margin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"margin.js","sources":["../../../src/mixins/margin.ts"],"sourcesContent":["import { css } from 'styled-components'\nimport type { ThemedStyledProps, DefaultTheme, CSSObject, FlattenInterpolation, ThemeProps } from 'styled-components'\nimport { getMediaQueryByResponsiveProp, desktopFirst } from 'mixins/shared'\nimport { marginPropKeyRegExp, responsiveMarginPropKeyRegExp } from 'shared/regexp'\nimport type { MediaQuery } from 'mixins/screen'\nimport type { ResponsiveMarginProps } from 'shared/interfaces'\n\n/**\n *\n * Mixin enables support for responsive margin in styled component\n */\nconst responsiveMargin = (\n props: ThemedStyledProps<ResponsiveMarginProps, DefaultTheme>\n): FlattenInterpolation<ThemeProps<DefaultTheme>> => {\n return css`\n ${[\n Object.keys(props)\n .filter(\n (propKey) =>\n marginPropKeyRegExp.test(propKey) &&\n (typeof props[propKey] === 'string' || typeof props[propKey] === 'number')\n )\n .reduce((cssObject, propKey) => {\n return (\n (cssObject[propKey] =\n typeof props[propKey] === 'string' ? props[propKey] : `${props[propKey]}${props.marginUnits ?? 'px'}`),\n cssObject\n )\n }, {} as CSSObject),\n ...Object.keys(props)\n .filter(\n (propKey) =>\n responsiveMarginPropKeyRegExp.test(propKey) &&\n (typeof props[propKey] === 'string' || typeof props[propKey] === 'number')\n )\n .sort(desktopFirst)\n .reduce((breakpointsTuples, propKey) => {\n const matched = propKey.match(responsiveMarginPropKeyRegExp)\n\n if (matched) {\n const mediaQuery = getMediaQueryByResponsiveProp(propKey)\n const tupleFound = breakpointsTuples.find((tuple) => tuple[0] === mediaQuery)\n\n const propertyEntry = {\n [matched[1]]:\n typeof props[propKey] === 'string' ? props[propKey] : `${props[propKey]}${props.marginUnits ?? 'px'}`,\n }\n\n if (tupleFound) tupleFound[1] = { ...tupleFound[1], ...propertyEntry }\n else breakpointsTuples.push([mediaQuery, propertyEntry])\n }\n\n return breakpointsTuples\n }, [] as [MediaQuery, CSSObject][])\n .map(([mediaQuery, cssObject]) => mediaQuery()`${cssObject}`),\n ]}\n `\n}\n\nexport { responsiveMargin }\n"],"names":["responsiveMargin","props","css","Object","keys","filter","propKey","marginPropKeyRegExp","test","reduce","cssObject","_props$marginUnits","concat","marginUnits","responsiveMarginPropKeyRegExp","sort","desktopFirst","breakpointsTuples","matched","match","_props$marginUnits2","mediaQuery","getMediaQueryByResponsiveProp","tupleFound","find","tuple","propertyEntry","_objectSpread","push","map","_ref","_templateObject","_taggedTemplateLiteral"],"mappings":"yUAWMA,IAAAA,EACJC,GAEOC,EACH,CAAA,GAAA,IAAA,CACAC,OAAOC,KAAKH,GACTI,QACEC,GACCC,EAAoBC,KAAKF,KACE,iBAAnBL,EAAMK,IAAmD,iBAAnBL,EAAMK,MAEvDG,QAAAA,CAAQC,EAAWJ,KAAY,IAAAK,EAC9B,OACGD,EAAUJ,GACiB,iBAAnBL,EAAMK,GAAwBL,EAAMK,GAAcL,GAAAA,OAAAA,EAAMK,IAA/DM,OAAA,QAAAD,EAA0EV,EAAMY,uBAAhFF,EAAAA,EAA+F,MACjGD,IAED,OACFP,OAAOC,KAAKH,GACZI,QACEC,GACCQ,EAA8BN,KAAKF,KACR,iBAAnBL,EAAMK,IAAmD,iBAAnBL,EAAMK,MAEvDS,KAAKC,GACLP,QAAAA,CAAQQ,EAAmBX,KAC1B,IAAMY,EAAUZ,EAAQa,MAAML,GAE9B,GAAII,EAAS,CAAA,IAAAE,EACX,IAAMC,EAAaC,EAA8BhB,GACjD,IAAMiB,EAAaN,EAAkBO,MAAMC,GAAUA,EAAM,KAAOJ,IAElE,IAAMK,EAAgB,CACpB,CAACR,EAAQ,IACmB,iBAAnBjB,EAAMK,GAAwBL,EAAMK,GAAcL,GAAAA,OAAAA,EAAMK,IAA/DM,OAAA,QAAAQ,EAA0EnB,EAAMY,mBAAhF,IAAAO,EAAAA,EAA+F,OAG/FG,EAAYA,EAAW,GAAXI,EAAAA,EAAA,GAAqBJ,EAAW,IAAOG,GAClDT,EAAkBW,KAAK,CAACP,EAAYK,IAG3C,OAAOT,IACN,IACFY,KAAIC,IAAA,IAAET,EAAYX,GAAdoB,EAAA,OAA6BT,GAAAA,CAA7BU,IAAAA,EAAAC,EAAA,CAAA,GAAA,MAA4CtB"}
|
package/mixins/size.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e from'@babel/runtime/helpers/taggedTemplateLiteral';import{css as r}from'styled-components';import{desktopFirst as s,getMediaQueryByResponsiveProp as i}from'./shared.js';import{screenMinM as a,screenMaxM as t,screenMaxS as n,screenMinL as o,screenMaxL as p,screenMaxXs as c,screenMaxXxs as m}from'./screen.js';import{responsiveSizePropKeyRegExp as v}from'../shared/regexp.js';var z,l;var y=[a,t,n];var f=[o,p,t,n,c,m];var d=function(e,r,s,i,a){var t;var n=arguments.length>2&&void 0!==s?s:'fontSize';var o=arguments.length>3&&void 0!==i?i:'px';var p=arguments.length>4?a:void 0;if('number'==typeof e){var c='function'==typeof p?p(e,n,o):{[n]:"".concat(e).concat(o)};return c}return null!==(t=r[e])&&void 0!==t?t:{}};var u=a=>{if(Array.isArray(a.size)){var t=a.size.length>y.length?f:y;return r(["",""],a.size.map(((r,s)=>{var i=t[s];return'function'==typeof i?i()(z||(z=e(["",""])),d(r,a.sizes,a.sizeProperty,a.sizeUnits,a.dynamicSizeDeclaration)):null})))}return r(["",""],[d(a.size,a.sizes,a.sizeProperty,a.sizeUnits,a.dynamicSizeDeclaration),...Object.keys(a).filter((e=>v.test(e))).sort(s).map((r=>i(r)()(l||(l=e(["",""])),d(a[r],a.sizes,a.sizeProperty,a.sizeUnits,a.dynamicSizeDeclaration))))])};export{u as responsiveSize};
|
|
2
|
+
//# sourceMappingURL=size.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"size.js","sources":["../../../src/mixins/size.ts"],"sourcesContent":["import { css } from 'styled-components'\nimport type { ThemedStyledProps, DefaultTheme, CSSObject, FlattenInterpolation, ThemeProps } from 'styled-components'\nimport type { CSSProperties } from 'react'\nimport { getMediaQueryByResponsiveProp, desktopFirst } from 'mixins/shared'\nimport type { MediaQuery } from 'mixins/screen'\nimport { screenMinM, screenMaxM, screenMaxS, screenMinL, screenMaxL, screenMaxXs, screenMaxXxs } from 'mixins/screen'\nimport { responsiveSizePropKeyRegExp } from 'shared/regexp'\nimport type {\n ResponsiveSizeProps,\n ResponsiveSizeInterpolationProps,\n SizeValue,\n CSSUnit,\n Sizes,\n} from 'shared/interfaces'\n\nconst DEVICE_MEDIA_QUERIES: [desktop: MediaQuery, tablet: MediaQuery, mobile: MediaQuery] = [\n screenMinM,\n screenMaxM,\n screenMaxS,\n]\n\nconst BREAKPOINTS_MEDIA_QUERIES: [\n xl: MediaQuery,\n l: MediaQuery,\n m: MediaQuery,\n s: MediaQuery,\n xs: MediaQuery,\n xxs: MediaQuery\n] = [screenMinL, screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMaxXxs]\n\nconst buildSizeCSSDeclarations = (\n size: SizeValue,\n sizes: Partial<Sizes>,\n cssProperty: keyof CSSProperties = 'fontSize',\n cssUnit: CSSUnit = 'px',\n dynamicDeclaration?: (size: number, cssProperty: keyof CSSProperties, cssUnit: CSSUnit) => CSSProperties\n): CSSObject => {\n if (typeof size === 'number') {\n const declarations =\n typeof dynamicDeclaration === 'function'\n ? dynamicDeclaration(size, cssProperty, cssUnit)\n : { [cssProperty]: `${size}${cssUnit}` }\n\n return declarations as CSSObject\n }\n return (sizes[size] ?? {}) as CSSObject\n}\n\n/**\n *\n * Mixin enables support for responsive size in styled component\n */\nconst responsiveSize = (\n props: ThemedStyledProps<ResponsiveSizeInterpolationProps<ResponsiveSizeProps>, DefaultTheme>\n): FlattenInterpolation<ThemeProps<DefaultTheme>> => {\n if (Array.isArray(props.size)) {\n const queries: MediaQuery[] =\n props.size.length > DEVICE_MEDIA_QUERIES.length ? BREAKPOINTS_MEDIA_QUERIES : DEVICE_MEDIA_QUERIES\n\n return css`\n ${props.size.map((size, idx) => {\n const mediaQuery: MediaQuery | void = queries[idx]\n\n return typeof mediaQuery === 'function'\n ? mediaQuery()`${buildSizeCSSDeclarations(\n size,\n props.sizes,\n props.sizeProperty,\n props.sizeUnits,\n props.dynamicSizeDeclaration\n )}`\n : null\n })}\n `\n } else {\n return css`\n ${[\n buildSizeCSSDeclarations(\n props.size,\n props.sizes,\n props.sizeProperty,\n props.sizeUnits,\n props.dynamicSizeDeclaration\n ),\n ...Object.keys(props)\n .filter((propKey) => responsiveSizePropKeyRegExp.test(propKey))\n .sort(desktopFirst)\n .map(\n (sizeProp) =>\n getMediaQueryByResponsiveProp(sizeProp)()`${buildSizeCSSDeclarations(\n props[sizeProp],\n props.sizes,\n props.sizeProperty,\n props.sizeUnits,\n props.dynamicSizeDeclaration\n )}`\n ),\n ]}\n `\n }\n}\n\nexport { responsiveSize }\n"],"names":["DEVICE_MEDIA_QUERIES","screenMinM","screenMaxM","screenMaxS","BREAKPOINTS_MEDIA_QUERIES","screenMinL","screenMaxL","screenMaxXs","screenMaxXxs","buildSizeCSSDeclarations","size","sizes","t","i","n","_sizes$size","cssProperty","cssUnit","dynamicDeclaration","arguments","length","undefined","declarations","concat","responsiveSize","props","Array","isArray","queries","css","map","idx","mediaQuery","_templateObject","_taggedTemplateLiteral","sizeProperty","sizeUnits","dynamicSizeDeclaration","Object","keys","filter","propKey","responsiveSizePropKeyRegExp","test","sort","desktopFirst","sizeProp","getMediaQueryByResponsiveProp"],"mappings":"wYAeA,IAAMA,EAAsF,CAC1FC,EACAC,EACAC,GAGF,IAAMC,EAOF,CAACC,EAAYC,EAAYJ,EAAYC,EAAYI,EAAaC,GAElE,IAAMC,EAA2B,SAC/BC,EACAC,EAF+BC,EAAAC,EAAAC,GAMjB,IAAAC,EAAA,IAHdC,+BAH+BJ,EAAAA,EAGI,WAGrB,IAFdK,+BAJ+BJ,EAAAA,EAIZ,KAEL,IADdK,EACcC,UAAAC,OAAA,EANiBN,OAMjBO,EACd,GAAoB,iBAATX,EAAmB,CAC5B,IAAMY,EAC0B,mBAAvBJ,EACHA,EAAmBR,EAAMM,EAAaC,GACtC,CAAED,CAACA,GAAD,GAAAO,OAAkBb,GAAlBa,OAAyBN,IAEjC,OAAOK,EAET,eAAAP,EAAQJ,EAAMD,kBAAS,IAOnBc,IAAAA,EACJC,IAEA,GAAIC,MAAMC,QAAQF,EAAMf,MAAO,CAC7B,IAAMkB,EACJH,EAAMf,KAAKU,OAASpB,EAAqBoB,OAAShB,EAA4BJ,EAEhF,OAAO6B,EAAP,CAAA,GAAA,IACIJ,EAAMf,KAAKoB,KAAAA,CAAKpB,EAAMqB,KACtB,IAAMC,EAAgCJ,EAAQG,GAE9C,MAA6B,mBAAfC,EACVA,GAAAA,CADGC,IAAAA,EAAAC,EAAA,CAAA,GAAA,MACYzB,EACbC,EACAe,EAAMd,MACNc,EAAMU,aACNV,EAAMW,UACNX,EAAMY,yBAER,SAIR,OAAOR,EACH,CAAA,GAAA,IAAA,CACApB,EACEgB,EAAMf,KACNe,EAAMd,MACNc,EAAMU,aACNV,EAAMW,UACNX,EAAMY,2BAELC,OAAOC,KAAKd,GACZe,QAAQC,GAAYC,EAA4BC,KAAKF,KACrDG,KAAKC,GACLf,KACEgB,GACCC,EAA8BD,EAA9BC,EAAAA,mBAA4CtC,EAC1CgB,EAAMqB,GACNrB,EAAMd,MACNc,EAAMU,aACNV,EAAMW,UACNX,EAAMY"}
|
package/package.json
CHANGED
package/shared/regexp.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var r=/^(preset|sizeProperty|sizeUnits|sizes|size|dynamicSizeDeclaration|marginUnits|color|backgroundColor|cursor)$/;var a=/^(primary|secondary|tertiary|quaternary)$/;var e=/^size(XXS|XS|S|M|L|XL)$/;var i=/^(margin|marginTop|marginRight|marginBottom|marginLeft)$/;var o=/^(margin|marginTop|marginRight|marginBottom|marginLeft)(XXS|XS|S|M|L|XL)$/;export{a as colorSchemaPropKeyRegExp,r as commonPropKeyRegExp,i as marginPropKeyRegExp,o as responsiveMarginPropKeyRegExp,e as responsiveSizePropKeyRegExp};
|
|
2
|
+
//# sourceMappingURL=regexp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regexp.js","sources":["../../../src/shared/regexp.ts"],"sourcesContent":["export const commonPropKeyRegExp =\n /^(preset|sizeProperty|sizeUnits|sizes|size|dynamicSizeDeclaration|marginUnits|color|backgroundColor|cursor)$/\n\nexport const colorSchemaPropKeyRegExp = /^(primary|secondary|tertiary|quaternary)$/\n\nexport const responsiveSizePropKeyRegExp = /^size(XXS|XS|S|M|L|XL)$/\n\nexport const marginPropKeyRegExp = /^(margin|marginTop|marginRight|marginBottom|marginLeft)$/\n\nexport const responsiveMarginPropKeyRegExp = /^(margin|marginTop|marginRight|marginBottom|marginLeft)(XXS|XS|S|M|L|XL)$/\n"],"names":["commonPropKeyRegExp","colorSchemaPropKeyRegExp","responsiveSizePropKeyRegExp","marginPropKeyRegExp","responsiveMarginPropKeyRegExp"],"mappings":"AAAO,IAAMA,EACX,+GAEK,IAAMC,EAA2B,4CAEjC,IAAMC,EAA8B,0BAEpC,IAAMC,EAAsB,2DAE5B,IAAMC,EAAgC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inject-theme.js","sources":["../../../../src/shared/utils/inject-theme.ts"],"sourcesContent":["import type { DefaultTheme } from 'styled-components'\nimport { defaultTheme } from '../../theme/themes'\n\nexport function injectDefaultTheme(\n config: { theme: DefaultTheme | void } & Record<string, unknown>\n): { theme: DefaultTheme } & Record<string, unknown> {\n const contextTheme = config.theme\n\n const shouldForwardTheme =\n typeof contextTheme === 'object' && contextTheme !== null && Object.keys(contextTheme).length > 0\n\n const forwardedTheme = shouldForwardTheme ? contextTheme : defaultTheme\n\n return {\n ...config,\n theme: forwardedTheme,\n }\n}\n"],"names":["injectDefaultTheme","config","contextTheme","theme","forwardedTheme","Object","keys","length","defaultTheme","_objectSpread"],"mappings":"
|
|
1
|
+
{"version":3,"file":"inject-theme.js","sources":["../../../../src/shared/utils/inject-theme.ts"],"sourcesContent":["import type { DefaultTheme } from 'styled-components'\nimport { defaultTheme } from '../../theme/themes'\n\n/**\n *\n * @deprecated it will be deleted in near future\n */\nexport function injectDefaultTheme(\n config: { theme: DefaultTheme | void } & Record<string, unknown>\n): { theme: DefaultTheme } & Record<string, unknown> {\n const contextTheme = config.theme\n\n const shouldForwardTheme =\n typeof contextTheme === 'object' && contextTheme !== null && Object.keys(contextTheme).length > 0\n\n const forwardedTheme = shouldForwardTheme ? contextTheme : defaultTheme\n\n return {\n ...config,\n theme: forwardedTheme,\n }\n}\n"],"names":["injectDefaultTheme","config","contextTheme","theme","forwardedTheme","Object","keys","length","defaultTheme","_objectSpread"],"mappings":"yGAOO,SAASA,EACdC,GAEA,IAAMC,EAAeD,EAAOE,MAK5B,IAAMC,EAFoB,iBAAjBF,GAA8C,OAAjBA,GAAyBG,OAAOC,KAAKJ,GAAcK,OAAS,EAEtDL,EAAeM,EAE3D,OAAAC,EAAAA,EAAA,GACKR,GADL,GAAA,CAEEE,MAAOC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{commonPropKeyRegExp as e,colorSchemaPropKeyRegExp as r,responsiveSizePropKeyRegExp as o,marginPropKeyRegExp as a,responsiveMarginPropKeyRegExp as p}from'../regexp.js';var s=function(){for(var s=arguments.length,n=new Array(s),t=0;t<s;t++)n[t]=arguments[t];var g=Object.create(null);return s=>(void 0===g[s]&&(g[s]=n.every((e=>e(s)))&&[e,r,o,a,p].every((e=>!e.test(s)))),g[s])};export{s as createShouldForwardProp};
|
|
2
|
+
//# sourceMappingURL=style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.js","sources":["../../../../src/shared/utils/style.ts"],"sourcesContent":["import {\n commonPropKeyRegExp,\n colorSchemaPropKeyRegExp,\n responsiveSizePropKeyRegExp,\n marginPropKeyRegExp,\n responsiveMarginPropKeyRegExp,\n} from 'shared/regexp'\n\nexport const createShouldForwardProp = (...predicates: ((propKey: string) => boolean)[]) => {\n const cache: Record<string, boolean> = Object.create(null)\n\n return (propKey: string) => {\n if (cache[propKey] === undefined) {\n cache[propKey] =\n predicates.every((func) => func(propKey)) &&\n [\n commonPropKeyRegExp,\n colorSchemaPropKeyRegExp,\n responsiveSizePropKeyRegExp,\n marginPropKeyRegExp,\n responsiveMarginPropKeyRegExp,\n ].every((regExp) => !regExp.test(propKey))\n }\n\n return cache[propKey]\n }\n}\n"],"names":["createShouldForwardProp","_len","arguments","length","predicates","Array","_key","cache","Object","create","propKey","undefined","every","func","commonPropKeyRegExp","colorSchemaPropKeyRegExp","responsiveSizePropKeyRegExp","marginPropKeyRegExp","responsiveMarginPropKeyRegExp","regExp","test"],"mappings":"8KAQaA,IAAAA,EAA0B,WAAqD,IAAA,IAAAC,EAAAC,UAAAC,OAAjDC,EAAiD,IAAAC,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAjDF,EAAiDE,GAAAJ,UAAAI,GAC1F,IAAMC,EAAiCC,OAAOC,OAAO,MAErD,OAAQC,SACiBC,IAAnBJ,EAAMG,KACRH,EAAMG,GACJN,EAAWQ,OAAOC,GAASA,EAAKH,MAChC,CACEI,EACAC,EACAC,EACAC,EACAC,GACAN,OAAOO,IAAYA,EAAOC,KAAKV,MAG9BH,EAAMG"}
|
package/theme/themes.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import o from'@babel/runtime/helpers/objectSpread2';import{
|
|
1
|
+
import o from'@babel/runtime/helpers/objectSpread2';import{hexToRgbA as r}from'../shared/utils/colors.js';import{relBuilder as e}from'../shared/utils/rel-builder.js';import{SizeInput as s}from'../shared/enums/sizeInput.js';import{COMPONENT_NAME as a}from'../components/Arrow/Arrow.js';import{COMPONENT_NAME as t}from'../components/Button/Button.js';import{COMPONENT_NAME as l}from'../components/Checkbox/Checkbox.js';import{colors as m,socialColors as n,unitColors as i}from'./colors.js';import{baseColors as d,motherColors as b,babyColors as p,teenColors as h,adultColors as c}from'./colors-light.js';import{baseColors as u,motherColors as C,babyColors as f,teenColors as k,adultColors as T}from'./colors-dark.js';import{breakpoints as j}from'./breakpoints.js';var x={breakpoints:j,colors:o(o(o(o(o({},m),n),i),d),b),borderRadius:'5px',textColor:'mineShaft',fallbackColor:'mineShaft',zIndex:{modal:9e3,tooltip:80},classNamePrefix:'fox',defaultInputControlsWidth:s.l,utils:{relBuilder:e,hexToRgbA:r},mode:'light',preset:'default',name:'mother',components:{[a]:{size:'l'},[t]:{size:'m'},[l]:{size:'m'}}};var N=o(o({},x),{},{preset:'brand'});var v=o(o({},x),{},{colors:o(o(o({},x.colors),u),C),mode:'dark',preset:'brand'});var g=o(o({},x),{},{colors:o(o({},x.colors),p),preset:'brand',name:'baby'});var A=o(o({},x),{},{colors:o(o(o({},x.colors),u),f),mode:'dark',preset:'brand',name:'baby'});var y=o(o({},x),{},{colors:o(o({},x.colors),h),preset:'brand',name:'teen'});var z=o(o({},x),{},{colors:o(o(o({},x.colors),u),k),mode:'dark',preset:'brand',name:'teen'});var E=o(o({},x),{},{colors:o(o({},x.colors),c),preset:'brand',name:'adult'});var M=o(o({},x),{},{colors:o(o(o({},x.colors),u),T),mode:'dark',preset:'brand',name:'adult'});export{M as adultDarkTheme,E as adultLightTheme,A as babyDarkTheme,g as babyLightTheme,x as defaultTheme,v as motherDarkTheme,N as motherLightTheme,z as teenDarkTheme,y as teenLightTheme};
|
|
2
2
|
//# sourceMappingURL=themes.js.map
|
package/theme/themes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.js","sources":["../../../src/theme/themes.ts"],"sourcesContent":["import type { DefaultTheme } from 'styled-components'\nimport { relBuilder } from 'shared/utils/rel-builder'\nimport { SizeInput } from 'shared/enums/sizeInput'\nimport { COMPONENT_NAME as ARROW } from 'components/Arrow'\nimport { COMPONENT_NAME as BUTTON } from 'components/Button'\nimport { COMPONENT_NAME as CHECKBOX } from 'components/Checkbox'\nimport { colors, socialColors, unitColors } from './colors'\nimport * as ColorsLight from './colors-light'\nimport * as ColorsDark from './colors-dark'\nimport { breakpoints } from './breakpoints'\n\nexport const defaultTheme: DefaultTheme = {\n breakpoints,\n colors: {\n ...colors,\n ...socialColors,\n ...unitColors,\n ...ColorsLight.baseColors,\n ...ColorsLight.motherColors,\n },\n borderRadius: '5px',\n textColor: 'mineShaft',\n fallbackColor: 'mineShaft',\n zIndex: {\n modal: 9000,\n tooltip: 80,\n },\n classNamePrefix: 'fox',\n defaultInputControlsWidth: SizeInput.l,\n utils: {\n relBuilder,\n },\n mode: 'light',\n preset: 'default',\n name: 'mother',\n components: {\n [ARROW]: {\n size: 'l',\n },\n [BUTTON]: {\n size: 'm',\n },\n [CHECKBOX]: {\n size: 'm',\n },\n },\n}\n\nexport const motherLightTheme: DefaultTheme = {\n ...defaultTheme,\n preset: 'brand',\n}\n\nexport const motherDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.motherColors,\n },\n mode: 'dark',\n preset: 'brand',\n}\n\nexport const babyLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.babyColors,\n },\n preset: 'brand',\n name: 'baby',\n}\n\nexport const babyDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.babyColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'baby',\n}\n\nexport const teenLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.teenColors,\n },\n preset: 'brand',\n name: 'teen',\n}\n\nexport const teenDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.teenColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'teen',\n}\n\nexport const adultLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.adultColors,\n },\n preset: 'brand',\n name: 'adult',\n}\n\nexport const adultDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.adultColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'adult',\n}\n"],"names":["defaultTheme","breakpoints","colors","socialColors","unitColors","ColorsLight","borderRadius","textColor","fallbackColor","zIndex","modal","tooltip","classNamePrefix","defaultInputControlsWidth","SizeInput","l","utils","relBuilder","mode","preset","name","components","COMPONENT_NAME","ARROW","size","COMPONENT_NAME$1","BUTTON","COMPONENT_NAME$2","CHECKBOX","motherLightTheme","_objectSpread","motherDarkTheme","ColorsDark","babyLightTheme","babyDarkTheme","teenLightTheme","teenDarkTheme","adultLightTheme","adultDarkTheme"],"mappings":"
|
|
1
|
+
{"version":3,"file":"themes.js","sources":["../../../src/theme/themes.ts"],"sourcesContent":["import type { DefaultTheme } from 'styled-components'\nimport { hexToRgbA } from 'shared/utils/colors'\nimport { relBuilder } from 'shared/utils/rel-builder'\nimport { SizeInput } from 'shared/enums/sizeInput'\nimport { COMPONENT_NAME as ARROW } from 'components/Arrow'\nimport { COMPONENT_NAME as BUTTON } from 'components/Button'\nimport { COMPONENT_NAME as CHECKBOX } from 'components/Checkbox'\nimport { colors, socialColors, unitColors } from './colors'\nimport * as ColorsLight from './colors-light'\nimport * as ColorsDark from './colors-dark'\nimport { breakpoints } from './breakpoints'\n\nexport const defaultTheme: DefaultTheme = {\n breakpoints,\n colors: {\n ...colors,\n ...socialColors,\n ...unitColors,\n ...ColorsLight.baseColors,\n ...ColorsLight.motherColors,\n },\n borderRadius: '5px',\n textColor: 'mineShaft',\n fallbackColor: 'mineShaft',\n zIndex: {\n modal: 9000,\n tooltip: 80,\n },\n classNamePrefix: 'fox',\n defaultInputControlsWidth: SizeInput.l,\n utils: {\n relBuilder,\n hexToRgbA,\n },\n mode: 'light',\n preset: 'default',\n name: 'mother',\n components: {\n [ARROW]: {\n size: 'l',\n },\n [BUTTON]: {\n size: 'm',\n },\n [CHECKBOX]: {\n size: 'm',\n },\n },\n}\n\nexport const motherLightTheme: DefaultTheme = {\n ...defaultTheme,\n preset: 'brand',\n}\n\nexport const motherDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.motherColors,\n },\n mode: 'dark',\n preset: 'brand',\n}\n\nexport const babyLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.babyColors,\n },\n preset: 'brand',\n name: 'baby',\n}\n\nexport const babyDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.babyColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'baby',\n}\n\nexport const teenLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.teenColors,\n },\n preset: 'brand',\n name: 'teen',\n}\n\nexport const teenDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.teenColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'teen',\n}\n\nexport const adultLightTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsLight.adultColors,\n },\n preset: 'brand',\n name: 'adult',\n}\n\nexport const adultDarkTheme: DefaultTheme = {\n ...defaultTheme,\n colors: {\n ...defaultTheme.colors,\n ...ColorsDark.baseColors,\n ...ColorsDark.adultColors,\n },\n mode: 'dark',\n preset: 'brand',\n name: 'adult',\n}\n"],"names":["defaultTheme","breakpoints","colors","socialColors","unitColors","ColorsLight","borderRadius","textColor","fallbackColor","zIndex","modal","tooltip","classNamePrefix","defaultInputControlsWidth","SizeInput","l","utils","relBuilder","hexToRgbA","mode","preset","name","components","COMPONENT_NAME","ARROW","size","COMPONENT_NAME$1","BUTTON","COMPONENT_NAME$2","CHECKBOX","motherLightTheme","_objectSpread","motherDarkTheme","ColorsDark","babyLightTheme","babyDarkTheme","teenLightTheme","teenDarkTheme","adultLightTheme","adultDarkTheme"],"mappings":"0vBAYO,IAAMA,EAA6B,CACxCC,YAAAA,EACAC,OACKA,EAAAA,EAAAA,EAAAA,EAAAA,EAAAA,GAAAA,GACAC,GACAC,GACAC,GACAA,GAELC,aAAc,MACdC,UAAW,YACXC,cAAe,YACfC,OAAQ,CACNC,MAAO,IACPC,QAAS,IAEXC,gBAAiB,MACjBC,0BAA2BC,EAAUC,EACrCC,MAAO,CACLC,WAAAA,EACAC,UAAAA,GAEFC,KAAM,QACNC,OAAQ,UACRC,KAAM,SACNC,WAAY,CACVC,CAACC,GAAQ,CACPC,KAAM,KAERC,CAACC,GAAS,CACRF,KAAM,KAERG,CAACC,GAAW,CACVJ,KAAM,OAKL,IAAMK,EAA8BC,EAAAA,EAAA,GACtC/B,GADsC,GAAA,CAEzCoB,OAAQ,UAGH,IAAMY,EAA6BD,EAAAA,EAAA,GACrC/B,GADqC,GAAA,CAExCE,OACKF,EAAAA,EAAAA,EAAAA,GAAAA,EAAaE,QACb+B,GACAA,GAELd,KAAM,OACNC,OAAQ,UAGH,IAAMc,EAA4BH,EAAAA,EAAA,GACpC/B,GADoC,GAAA,CAEvCE,OAAM6B,EAAAA,EAAA,GACD/B,EAAaE,QACbG,GAELe,OAAQ,QACRC,KAAM,SAGD,IAAMc,EAA2BJ,EAAAA,EAAA,GACnC/B,GADmC,GAAA,CAEtCE,OACKF,EAAAA,EAAAA,EAAAA,GAAAA,EAAaE,QACb+B,GACAA,GAELd,KAAM,OACNC,OAAQ,QACRC,KAAM,SAGD,IAAMe,EAA4BL,EAAAA,EAAA,GACpC/B,GADoC,GAAA,CAEvCE,OAAM6B,EAAAA,EAAA,GACD/B,EAAaE,QACbG,GAELe,OAAQ,QACRC,KAAM,SAGD,IAAMgB,EAA2BN,EAAAA,EAAA,GACnC/B,GADmC,GAAA,CAEtCE,OACKF,EAAAA,EAAAA,EAAAA,GAAAA,EAAaE,QACb+B,GACAA,GAELd,KAAM,OACNC,OAAQ,QACRC,KAAM,SAGD,IAAMiB,EAA6BP,EAAAA,EAAA,GACrC/B,GADqC,GAAA,CAExCE,OAAM6B,EAAAA,EAAA,GACD/B,EAAaE,QACbG,GAELe,OAAQ,QACRC,KAAM,UAGD,IAAMkB,EAA4BR,EAAAA,EAAA,GACpC/B,GADoC,GAAA,CAEvCE,OACKF,EAAAA,EAAAA,EAAAA,GAAAA,EAAaE,QACb+B,GACAA,GAELd,KAAM,OACNC,OAAQ,QACRC,KAAM"}
|
package/mixins/sizing.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import e from'@babel/runtime/helpers/taggedTemplateLiteral';import{css as r}from'styled-components';import{desktopFirst as s,getMediaQueryByResponsiveProp as i}from'./shared.js';import{screenMinM as a,screenMaxM as n,screenMaxS as t,screenMinL as o,screenMaxL as c,screenMaxXs as p,screenMaxXxs as v}from'./screen.js';var z,l;var m=/^size(XXS|XS|S|M|L|XL)$/;var y=[a,n,t];var f=[o,c,n,t,p,v];var u=function(e,r,s,i,a){var n;var t=arguments.length>2&&void 0!==s?s:'fontSize';var o=arguments.length>3&&void 0!==i?i:'px';var c=arguments.length>4?a:void 0;if('number'==typeof e){var p='function'==typeof c?c(e,t,o):{[t]:"".concat(e).concat(o)};return p}return null!==(n=r[e])&&void 0!==n?n:{}};var d=a=>{if(Array.isArray(a.size)){var n=a.size.length>y.length?f:y;return r(["",""],a.size.map(((r,s)=>{var i=n[s];return'function'==typeof i?i()(z||(z=e(["",""])),u(r,a.sizes,a.sizeProperty,a.sizeUnits,a.dynamicSizeDeclaration)):null})))}return r(["",""],[u(a.size,a.sizes,a.sizeProperty,a.sizeUnits,a.dynamicSizeDeclaration),...Object.keys(a).filter((e=>m.test(e))).sort(s).map((r=>i(r)()(l||(l=e(["",""])),u(a[r],a.sizes,a.sizeProperty,a.sizeUnits,a.dynamicSizeDeclaration))))])};export{d as responsiveSizing};
|
|
2
|
-
//# sourceMappingURL=sizing.js.map
|
package/mixins/sizing.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sizing.js","sources":["../../../src/mixins/sizing.ts"],"sourcesContent":["import { css } from 'styled-components'\nimport type { ThemedStyledProps, DefaultTheme, CSSObject, FlattenInterpolation, ThemeProps } from 'styled-components'\nimport type { CSSProperties } from 'react'\nimport { getMediaQueryByResponsiveProp, desktopFirst } from 'mixins/shared'\nimport type { MediaQuery } from 'mixins/screen'\nimport { screenMinM, screenMaxM, screenMaxS, screenMinL, screenMaxL, screenMaxXs, screenMaxXxs } from 'mixins/screen'\nimport type { ResponsiveSizeProps, ResponsiveInterpolationProps, SizeValue, CSSUnit, Sizes } from 'shared/interfaces'\n\nconst responsiveSizePropRegExp = /^size(XXS|XS|S|M|L|XL)$/\n\nconst DEVICE_MEDIA_QUERIES: [desktop: MediaQuery, tablet: MediaQuery, mobile: MediaQuery] = [\n screenMinM,\n screenMaxM,\n screenMaxS,\n]\n\nconst BREAKPOINTS_MEDIA_QUERIES: [\n xl: MediaQuery,\n l: MediaQuery,\n m: MediaQuery,\n s: MediaQuery,\n xs: MediaQuery,\n xxs: MediaQuery\n] = [screenMinL, screenMaxL, screenMaxM, screenMaxS, screenMaxXs, screenMaxXxs]\n\nconst buildSizeCSSDeclarations = (\n size: SizeValue,\n sizes: Partial<Sizes>,\n cssProperty: keyof CSSProperties = 'fontSize',\n cssUnit: CSSUnit = 'px',\n dynamicDeclaration?: (size: number, cssProperty: keyof CSSProperties, cssUnit: CSSUnit) => CSSProperties\n): CSSObject => {\n if (typeof size === 'number') {\n const declarations =\n typeof dynamicDeclaration === 'function'\n ? dynamicDeclaration(size, cssProperty, cssUnit)\n : { [cssProperty]: `${size}${cssUnit}` }\n\n return declarations as CSSObject\n }\n return (sizes[size] ?? {}) as CSSObject\n}\n\n/**\n *\n * Mixin enables support for responsive sizing in styled component\n */\nconst responsiveSizing = (\n props: ThemedStyledProps<ResponsiveInterpolationProps<ResponsiveSizeProps>, DefaultTheme>\n): FlattenInterpolation<ThemeProps<DefaultTheme>> => {\n if (Array.isArray(props.size)) {\n const queries: MediaQuery[] =\n props.size.length > DEVICE_MEDIA_QUERIES.length ? BREAKPOINTS_MEDIA_QUERIES : DEVICE_MEDIA_QUERIES\n\n return css`\n ${props.size.map((size, idx) => {\n const mediaQuery: MediaQuery | void = queries[idx]\n\n return typeof mediaQuery === 'function'\n ? mediaQuery()`${buildSizeCSSDeclarations(\n size,\n props.sizes,\n props.sizeProperty,\n props.sizeUnits,\n props.dynamicSizeDeclaration\n )}`\n : null\n })}\n `\n } else {\n return css`\n ${[\n buildSizeCSSDeclarations(\n props.size,\n props.sizes,\n props.sizeProperty,\n props.sizeUnits,\n props.dynamicSizeDeclaration\n ),\n ...Object.keys(props)\n .filter((prop) => responsiveSizePropRegExp.test(prop))\n .sort(desktopFirst)\n .map(\n (sizeProp) =>\n getMediaQueryByResponsiveProp(sizeProp)()`${buildSizeCSSDeclarations(\n props[sizeProp],\n props.sizes,\n props.sizeProperty,\n props.sizeUnits,\n props.dynamicSizeDeclaration\n )}`\n ),\n ]}\n `\n }\n}\n\nexport { responsiveSizing }\n"],"names":["responsiveSizePropRegExp","DEVICE_MEDIA_QUERIES","screenMinM","screenMaxM","screenMaxS","BREAKPOINTS_MEDIA_QUERIES","screenMinL","screenMaxL","screenMaxXs","screenMaxXxs","buildSizeCSSDeclarations","size","sizes","i","t","n","_sizes$size","cssProperty","cssUnit","dynamicDeclaration","arguments","length","declarations","concat","responsiveSizing","props","Array","isArray","queries","css","map","idx","mediaQuery","_templateObject","_taggedTemplateLiteral","sizeProperty","sizeUnits","dynamicSizeDeclaration","Object","keys","filter","prop","test","sort","desktopFirst","sizeProp","getMediaQueryByResponsiveProp"],"mappings":"sUAQA,IAAMA,EAA2B,0BAEjC,IAAMC,EAAsF,CAC1FC,EACAC,EACAC,GAGF,IAAMC,EAOF,CAACC,EAAYC,EAAYJ,EAAYC,EAAYI,EAAaC,GAElE,IAAMC,EAA2B,SAC/BC,EACAC,EAF+BC,EAAAC,EAAAC,GAMjB,IAAAC,EAAA,IAHdC,+BAH+BJ,EAAAA,EAGI,WAGrB,IAFdK,+BAJ+BJ,EAAAA,EAIZ,KAEL,IADdK,EACcC,UAAAC,OAAA,EANiBN,OAAA,EAO/B,GAAoB,iBAATJ,EAAmB,CAC5B,IAAMW,EAC0B,mBAAvBH,EACHA,EAAmBR,EAAMM,EAAaC,GACtC,CAAED,CAACA,GAAD,GAAAM,OAAkBZ,GAAlBY,OAAyBL,IAEjC,OAAOI,EAET,eAAAN,EAAQJ,EAAMD,kBAAS,IAOnBa,IAAAA,EACJC,IAEA,GAAIC,MAAMC,QAAQF,EAAMd,MAAO,CAC7B,IAAMiB,EACJH,EAAMd,KAAKU,OAASpB,EAAqBoB,OAAShB,EAA4BJ,EAEhF,OAAO4B,EAAP,CAAA,GAAA,IACIJ,EAAMd,KAAKmB,KAAI,CAACnB,EAAMoB,KACtB,IAAMC,EAAgCJ,EAAQG,GAE9C,MAA6B,mBAAfC,EACVA,GAAAA,CADGC,IAAAA,EAAAC,EAAA,CAAA,GAAA,MACYxB,EACbC,EACAc,EAAMb,MACNa,EAAMU,aACNV,EAAMW,UACNX,EAAMY,yBAER,SAIR,OAAOR,EACH,CAAA,GAAA,IAAA,CACAnB,EACEe,EAAMd,KACNc,EAAMb,MACNa,EAAMU,aACNV,EAAMW,UACNX,EAAMY,2BAELC,OAAOC,KAAKd,GACZe,QAAQC,GAASzC,EAAyB0C,KAAKD,KAC/CE,KAAKC,GACLd,KACEe,GACCC,EAA8BD,EAA9BC,EAAAA,mBAA4CpC,EAC1Ce,EAAMoB,GACNpB,EAAMb,MACNa,EAAMU,aACNV,EAAMW,UACNX,EAAMY"}
|