@vitus-labs/unistyle 0.55.0 → 0.57.0-alpha.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-unistyle.module.js","sources":["../src/responsive/breakpoints.ts","../src/responsive/createMediaQueries.ts","../src/responsive/normalizeTheme.ts","../src/responsive/transformTheme.ts","../src/responsive/optimizeTheme.ts","../src/responsive/makeItResponsive.ts","../src/responsive/sortBreakpoints.ts","../src/context.tsx","../src/units/stripUnit.ts","../src/units/value.ts","../src/units/values.ts","../src/styles/shorthands/borderRadius.ts","../src/styles/shorthands/edge.ts","../src/styles/styles/index.ts","../src/styles/alignContent.ts","../src/styles/extendCss.ts"],"sourcesContent":["const breakpoints = {\n rootSize: 16,\n breakpoints: {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1440,\n },\n} as const\n\nexport type Breakpoints = typeof breakpoints\n\nexport default breakpoints\n","export type CreateMediaQueries = <\n B,\n R extends number,\n C extends (...args: any) => any\n>(props: {\n breakpoints: B\n rootSize: R\n css: C\n}) => Record<keyof B, ReturnType<C>>\n\nconst createMediaQueries: CreateMediaQueries = ({\n breakpoints,\n rootSize,\n css,\n}) =>\n Object.keys(breakpoints).reduce((acc, key) => {\n // use em in breakpoints to work properly cross-browser and support users\n // changing their browsers font-size: https://zellwk.com/blog/media-query-units/\n const breakpointValue = breakpoints[key]\n const result = { ...acc }\n /* eslint-disable-next-line no-param-reassign */\n\n if (breakpointValue === 0) {\n result[key] = (...args: any[]) => css(...args)\n } else {\n const emSize = breakpoints[key] / rootSize\n\n result[key] = (...args: any[]) =>\n css`\n @media only screen and (min-width: ${emSize}em) {\n ${css(...args)};\n }\n `\n }\n\n return result\n }, {} as { [I in keyof typeof breakpoints]: ReturnType<typeof css> })\n\nexport default createMediaQueries\n","type AssignToBreakbointKey = (\n breakpoints: Array<string>\n) => (\n value: (\n breakpoint: string,\n i: number,\n breakpoints: Array<string>,\n result: Record<string, unknown>\n ) => void\n) => Record<string, unknown>\n\nconst assignToBreakbointKey: AssignToBreakbointKey =\n (breakpoints) => (value) => {\n const result = {}\n\n breakpoints.forEach((item, i) => {\n result[item] = value(item, i, breakpoints, result)\n })\n\n return result\n }\n\nconst handleArrayCb = (arr) => (value, i) => {\n const currentValue = arr[i]\n const lastValue = arr[arr.length - 1]\n\n return currentValue || lastValue\n}\n\n// type HandleObjectCb = (\n// obj: Record<string, unknown>\n// ) => (\n// bp: string,\n// i: number,\n// breakpoint: Array<string>,\n// result: Record<string, unknown>\n// ) => Record<string, unknown>\n\nconst handleObjectCb = (obj) => (bp, i, bps, res) => {\n const currentValue = obj[bp]\n const previousValue = res[bps[i - 1]]\n // check for non-nullable values\n if (currentValue != null) return currentValue\n return previousValue\n}\n\nconst handleValueCb = (value) => () => value\n\nconst shouldNormalize = (props) =>\n Object.values(props).some(\n (item) => typeof item === 'object' || Array.isArray(item)\n )\n\nexport type NormalizeTheme = ({\n theme,\n breakpoints,\n}: {\n theme: Record<string, unknown>\n breakpoints: Array<string>\n}) => Record<string, unknown>\n\nconst normalizeTheme: NormalizeTheme = ({ theme, breakpoints }) => {\n if (!shouldNormalize(theme)) return theme\n\n const getBpValues = assignToBreakbointKey(breakpoints)\n const result = {}\n\n Object.entries(theme).forEach(([key, value]) => {\n if (value == null) return\n\n // if it's an array\n if (Array.isArray(value)) {\n result[key] = getBpValues(handleArrayCb(value))\n }\n // if it's an object\n else if (typeof value === 'object') {\n result[key] = getBpValues(handleObjectCb(value))\n }\n // if any other value\n else {\n result[key] = getBpValues(handleValueCb(value))\n }\n })\n\n return result\n}\n\nexport default normalizeTheme\n","import { isEmpty, memoize, set } from '@vitus-labs/core'\n\nconst removeUnexpectedKeys = (obj, keys) => {\n const result = {}\n keys.forEach((bp) => {\n const value = obj[bp]\n\n if (value) {\n result[bp] = value\n }\n })\n\n return result\n}\n\nexport type TransformTheme = ({\n theme,\n breakpoints,\n}: {\n theme: Record<string, unknown>\n breakpoints: Array<string>\n}) => any\n\nconst transformTheme: TransformTheme = memoize(\n ({ theme, breakpoints }) => {\n const result = {}\n\n if (isEmpty(theme) || isEmpty(breakpoints)) return result\n\n // can be one of following types\n // { fontSize: 12 }\n // { fontSize: { xs: 12, md: 15 }}\n // { fontSize: [12, 15] }\n Object.entries(theme).forEach(([key, value]) => {\n // array\n if (Array.isArray(value) && value.length > 0) {\n value.forEach((child, i) => {\n const indexBreakpoint = breakpoints[i]\n set(result, [indexBreakpoint, key], child)\n })\n }\n // object\n else if (typeof value === 'object' && value !== null) {\n Object.entries(value).forEach(([childKey, childValue]) => {\n set(result, [childKey, key], childValue)\n })\n }\n // normal value\n else if (value != null) {\n const firstBreakpoint = breakpoints[0]\n set(result, [firstBreakpoint, key], value)\n }\n })\n\n return removeUnexpectedKeys(result, breakpoints)\n },\n { isDeepEqual: true, maxSize: 4000 }\n)\n\nexport default transformTheme\n","export type OptimizeTheme = ({\n theme,\n breakpoints,\n}: {\n theme: Record<string, Record<string, unknown>>\n breakpoints: string[]\n}) => Record<string, Record<string, unknown>>\n\nconst optimizeTheme: OptimizeTheme = ({ theme, breakpoints }) =>\n breakpoints.reduce((acc, key, i) => {\n if (i === 0) return { ...acc, [key]: theme[key] }\n\n const previousBreakpoint = breakpoints[i - 1]\n const previousValue = theme[previousBreakpoint]\n const currentValue = theme[key]\n\n if (JSON.stringify(previousValue) !== JSON.stringify(currentValue)) {\n return { ...acc, [key]: theme[key] }\n }\n\n return acc\n }, {})\n\nexport default optimizeTheme\n","import { isEmpty } from '@vitus-labs/core'\nimport type { Css } from '~/types'\nimport createMediaQueries from './createMediaQueries'\nimport sortBreakpoints from './sortBreakpoints'\nimport normalizeTheme from './normalizeTheme'\nimport transformTheme from './transformTheme'\nimport optimizeTheme from './optimizeTheme'\n\ntype CustomTheme = Record<\n string,\n Record<string, unknown> | number | string | boolean\n>\ntype Theme = {\n rootSize: number\n breakpoints?: Record<string, number>\n __VITUS_LABS__?: {\n media?: ReturnType<typeof createMediaQueries>\n sortedBreakpoints?: ReturnType<typeof sortBreakpoints>\n }\n} & CustomTheme\n\nexport type MakeItResponsiveStyles<\n T extends Partial<Record<string, any>> = any\n> = ({\n theme,\n css,\n rootSize,\n globalTheme,\n}: {\n theme: T\n css: Css\n rootSize: number\n globalTheme?: Partial<Record<string, any>>\n}) => ReturnType<typeof css> | string | any\n\nexport type MakeItResponsive = ({\n theme,\n key,\n css,\n styles,\n normalize,\n}: {\n theme?: CustomTheme\n key?: string\n css: any\n styles: MakeItResponsiveStyles\n normalize?: boolean\n}) => ({ theme }: { theme?: Theme }) => any\n\nconst makeItResponsive: MakeItResponsive =\n ({ theme: customTheme, key = '', css, styles, normalize = false }) =>\n ({ theme = {}, ...props }) => {\n const internalTheme = customTheme || props[key]\n\n // if no theme is defined, return empty objct\n if (isEmpty(internalTheme)) return ''\n\n const { rootSize, breakpoints, __VITUS_LABS__, ...restTheme } =\n theme as Theme\n\n const renderStyles = (\n theme: Record<string, unknown>\n ): ReturnType<typeof styles> =>\n styles({ theme, css, rootSize, globalTheme: restTheme })\n\n // if there are no breakpoints, return just standard css\n if (isEmpty(breakpoints) || isEmpty(__VITUS_LABS__)) {\n return css`\n ${renderStyles(internalTheme)}\n `\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { media, sortedBreakpoints } = __VITUS_LABS__!\n\n let helperTheme = internalTheme\n\n if (normalize) {\n helperTheme = normalizeTheme({\n theme: internalTheme,\n breakpoints: sortedBreakpoints,\n })\n }\n\n const transformedTheme = transformTheme({\n theme: helperTheme,\n breakpoints: sortedBreakpoints,\n })\n\n const optimizedTheme = optimizeTheme({\n theme: transformedTheme,\n breakpoints: sortedBreakpoints,\n })\n\n return sortedBreakpoints.map((item) => {\n const breakpointTheme = optimizedTheme[item]\n\n if (!breakpointTheme || !media) return ''\n\n const result = renderStyles(breakpointTheme)\n\n return media[item]`\n ${result};\n `\n })\n }\n\nexport default makeItResponsive\n","export type SortBreakpoints = <T extends Record<string, number>>(\n breakpoints: T\n) => Array<keyof T>\n\nconst sortBreakpoints: SortBreakpoints = (breakpoints) => {\n const result = Object.keys(breakpoints).sort(\n (a, b) => breakpoints[a] - breakpoints[b]\n )\n\n return result\n}\n\nexport default sortBreakpoints\n","import React, { useMemo, ReactNode, FC } from 'react'\nimport {\n config,\n isEmpty,\n Provider as CoreProvider,\n context,\n} from '@vitus-labs/core'\nimport { sortBreakpoints, createMediaQueries } from '~/responsive'\n\ntype VitusLabsContext = {\n sortedBreakpoints?: ReturnType<typeof sortBreakpoints>\n media?: ReturnType<typeof createMediaQueries>\n}\n\ntype Theme = {\n rootSize: number\n breakpoints?: Record<string, number>\n __VITUS_LABS__?: never\n} & Partial<Record<string, unknown>>\n\nexport type TProvider = {\n theme: Theme\n children: ReactNode\n} & Partial<Record<string, unknown>>\n\nconst Provider: FC<TProvider> = ({ theme, children, ...props }) => {\n // eslint-disable-next-line no-underscore-dangle\n const __VITUS_LABS__: VitusLabsContext = {}\n\n const { breakpoints, rootSize } = theme\n\n if (!isEmpty(breakpoints)) {\n __VITUS_LABS__.sortedBreakpoints = useMemo(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n () => sortBreakpoints(breakpoints!),\n [breakpoints]\n )\n __VITUS_LABS__.media = useMemo(\n () =>\n createMediaQueries({\n breakpoints,\n css: config.css,\n rootSize,\n }),\n [breakpoints, rootSize]\n )\n }\n\n const result = {\n ...theme,\n __VITUS_LABS__,\n }\n\n return (\n <CoreProvider theme={result} {...props}>\n {children}\n </CoreProvider>\n )\n}\n\nexport { context }\n\n// eslint-disable-next-line import/prefer-default-export\nexport default Provider\n","import { ReactText } from 'react'\n\ntype Value<V> = V extends string ? number : V\ntype Unit<V> = V extends string ? string : undefined\n\nexport type StripUnit = <V extends ReactText, UR extends boolean = false>(\n value: V,\n unitReturn?: UR\n) => UR extends true ? [Value<V>, Unit<V>] : Value<V>\n\nconst stripUnit: StripUnit = (value, unitReturn) => {\n const cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/\n\n if (typeof value !== 'string') return unitReturn ? [value, undefined] : value\n\n const matchedValue = value.match(cssRegex)\n\n if (unitReturn) {\n if (matchedValue) return [parseFloat(value), matchedValue[2]]\n return [value, undefined]\n }\n\n if (matchedValue) return parseFloat(value)\n return value as any\n}\n\nexport default stripUnit\n","import stripUnit from './stripUnit'\n\nconst isNotValue = (value) => !value && value !== 0\n\nexport type Value = (\n param: any,\n rootSize?: number,\n outputUnit?: 'px' | 'rem' | '%' | string\n) => string | number | null\n\nconst value: Value = (\n param,\n rootSize = 16,\n outputUnit = __WEB__ ? 'rem' : 'px'\n) => {\n if (isNotValue(param)) return null\n\n const [value, unit] = stripUnit(param as string, true)\n if (isNotValue(value)) return null\n if (value === 0 || typeof value === 'string') return param // zero should be unitless\n\n if (rootSize && !Number.isNaN(value)) {\n if (!unit && outputUnit === 'px') return `${value}${outputUnit}`\n if (!unit) return `${value / rootSize}rem`\n if (unit === 'px' && outputUnit === 'rem') return `${value / rootSize}rem`\n }\n\n if (unit) return param\n\n return `${value}${outputUnit}`\n}\n\nexport default value\n","import type { Units } from '~/types'\nimport value from './value'\n\ntype GetValueOf = (...values: Array<unknown>) => number | string | unknown\nconst getValueOf: GetValueOf = (...values) =>\n values.find((value) => typeof value !== 'undefined' && value !== null)\n\nexport type Values = (\n values: Array<unknown>,\n rootSize?: number,\n outputUnit?: Units\n) => string | number\nconst values: Values = (values, rootSize, outputUnit) => {\n const param = getValueOf(...values)\n\n if (Array.isArray(param)) {\n return param\n .reduce((acc, item) => acc.push(value(item, rootSize, outputUnit)), [])\n .join(' ')\n }\n\n return value(param, rootSize, outputUnit)\n}\n\nexport default values\n","import { value } from '~/units'\nimport type { Value } from '~/types'\n\nconst isValidValue = (value) => !!value || value === 0\n\nexport type BorderRadius = (\n rootSize?: number\n) => (props: {\n full: Value | null | undefined\n top: Value | null | undefined\n bottom: Value | null | undefined\n left: Value | null | undefined\n right: Value | null | undefined\n topLeft: Value | null | undefined\n topRight: Value | null | undefined\n bottomLeft: Value | null | undefined\n bottomRight: Value | null | undefined\n}) => string | null\n\n// eslint-disable-next-line import/prefer-default-export\nconst borderRadius: BorderRadius =\n (rootSize) =>\n ({\n full,\n top,\n bottom,\n left,\n right,\n topLeft,\n topRight,\n bottomLeft,\n bottomRight,\n }) => {\n if (\n !isValidValue(full) &&\n !isValidValue(top) &&\n !isValidValue(bottom) &&\n !isValidValue(left) &&\n !isValidValue(right) &&\n !isValidValue(topLeft) &&\n !isValidValue(topRight) &&\n !isValidValue(bottomLeft) &&\n !isValidValue(bottomRight)\n ) {\n return null\n }\n\n const calc = (param) => value(param, rootSize)\n\n // topLeft - topRight - bottomRight - bottomLeft\n const values = [full, full, full, full]\n\n if (isValidValue(top)) {\n values[0] = top\n values[1] = top\n }\n\n if (isValidValue(bottom)) {\n values[2] = bottom\n values[3] = bottom\n }\n\n if (isValidValue(left)) {\n values[0] = left\n values[3] = left\n }\n\n if (isValidValue(right)) {\n values[1] = right\n values[2] = right\n }\n\n if (isValidValue(topLeft)) {\n values[0] = topLeft\n }\n\n if (isValidValue(topRight)) {\n values[1] = topRight\n }\n\n if (isValidValue(bottomRight)) {\n values[2] = bottomRight\n }\n\n if (isValidValue(bottomLeft)) {\n values[3] = bottomLeft\n }\n\n const [tl, tr, br, bl] = values\n\n if (values.every((val) => isValidValue(val))) {\n if (values.every((val, _, arr) => val === arr[0])) {\n return `border-radius: ${calc(tl)};`\n }\n\n if (tl === br && tr === bl) {\n return `border-radius: ${calc(tl)} ${calc(tr)};`\n }\n\n if (tl && tr === bl && br) {\n return `border-radius: ${calc(tl)} ${calc(tr)} ${calc(br)};`\n }\n\n return `border-radius: ${calc(tl)} ${calc(tr)} ${calc(br)} ${calc(bl)};`\n }\n\n let output = ''\n\n if (isValidValue(tl)) {\n output += `border-top-left-radius: ${calc(tl)};`\n }\n\n if (isValidValue(tr)) {\n output += `border-top-right-radius: ${calc(tr)};`\n }\n\n if (isValidValue(br)) {\n output += `border-bottom-right-radius: ${calc(br)};`\n }\n\n if (isValidValue(bl)) {\n output += `border-bottom-left-radius: ${calc(bl)};`\n }\n\n return output\n }\n\nexport default borderRadius\n","import { value } from '~/units'\nimport type { Units } from '~/types'\n\nconst isValidValue = (value) => !!value || value === 0\n\ntype Property =\n | 'inset'\n | 'margin'\n | 'padding'\n | 'border-width'\n | 'border-style'\n | 'border-color'\ntype Value = string | number | null | undefined\ntype Side = 'top' | 'bottom' | 'left' | 'right'\n\ntype Definitions = Record<\n Property,\n { unit?: Units; edgeCss: (side: Side) => string }\n>\n\nconst definitions: Definitions = {\n inset: {\n unit: 'rem',\n edgeCss: (side) => side,\n },\n margin: {\n unit: 'rem',\n edgeCss: (side) => `margin-${side}`,\n },\n padding: {\n unit: 'rem',\n edgeCss: (side) => `padding-${side}`,\n },\n 'border-width': {\n unit: 'px',\n edgeCss: (side) => `border-${side}-width`,\n },\n 'border-style': {\n edgeCss: (side) => `border-${side}-style`,\n },\n 'border-color': {\n edgeCss: (side) => `border-${side}-color`,\n },\n}\n\nexport type Edge = (rootSize?: number) => (\n property: Property,\n values: {\n full: Value\n x: Value\n y: Value\n top: Value\n left: Value\n right: Value\n bottom: Value\n }\n) => string | null\n\n// eslint-disable-next-line import/prefer-default-export\nconst edge: Edge =\n (rootSize = 16) =>\n (property, { full, x, y, top, left, right, bottom }) => {\n if (\n !isValidValue(top) &&\n !isValidValue(bottom) &&\n !isValidValue(left) &&\n !isValidValue(right) &&\n !isValidValue(x) &&\n !isValidValue(y) &&\n !isValidValue(full)\n ) {\n return null\n }\n\n const { unit, edgeCss } = definitions[property]\n\n const calc = (param) => {\n if (unit) return value(param, rootSize, unit)\n return param\n }\n\n // top - right - bottom - left\n const allValues = [full, full, full, full]\n\n if (isValidValue(x)) {\n allValues[1] = x\n allValues[3] = x\n }\n\n if (isValidValue(y)) {\n allValues[0] = y\n allValues[2] = y\n }\n\n if (isValidValue(top)) {\n allValues[0] = top\n }\n\n if (isValidValue(right)) {\n allValues[1] = right\n }\n\n if (isValidValue(bottom)) {\n allValues[2] = bottom\n }\n\n if (isValidValue(left)) {\n allValues[3] = left\n }\n\n const [t, r, b, l] = allValues\n\n if (allValues.every((val) => isValidValue(val))) {\n if (allValues.every((val, _, arr) => val === arr[0])) {\n return `${property}: ${calc(t)};`\n }\n\n if (t === b && r === l) {\n return `${property}: ${calc(t)} ${calc(r)};`\n }\n\n if (t && r === l && b) {\n return `${property}: ${calc(t)} ${calc(r)} ${calc(b)};`\n }\n\n return `${property}: ${calc(t)} ${calc(r)} ${calc(b)} ${calc(l)};`\n }\n\n let output = ''\n\n if (isValidValue(t)) {\n output += `${edgeCss('top')}: ${calc(t)};`\n }\n\n if (isValidValue(b)) {\n output += `${edgeCss('bottom')}: ${calc(b)};`\n }\n\n if (isValidValue(l)) {\n output += `${edgeCss('left')}: ${calc(l)};`\n }\n\n if (isValidValue(r)) {\n output += `${edgeCss('right')}: ${calc(r)};`\n }\n\n return output\n }\n\nexport default edge\n","import { borderRadius, edge } from '~/styles/shorthands'\nimport { values } from '~/units'\nimport type { Css } from '~/types'\nimport type { Theme } from './types'\n\nexport type { Theme as StylesTheme }\n\nexport type Styles = ({\n theme,\n css,\n rootSize,\n}: {\n theme: Theme\n css: Css\n rootSize?: number\n}) => ReturnType<typeof css>\n\nconst styles: Styles = ({ theme: t, css, rootSize }) => {\n const calc = (...params) => values(params, rootSize)\n const shorthand = edge(rootSize)\n\n return css`\n ${t.fullScreen &&\n css`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n `};\n\n /* ------------------------------------------------- */\n /* POSITION attributes */\n /* ------------------------------------------------- */\n all: ${t.all};\n display: ${t.display};\n position: ${t.position};\n box-sizing: ${t.boxSizing};\n float: ${t.float};\n\n ${shorthand('inset', {\n full: t.inset,\n x: t.insetX,\n y: t.insetY,\n top: t.top,\n left: t.left,\n bottom: t.bottom,\n right: t.right,\n })};\n\n width: ${calc(t.width, t.size)};\n min-width: ${calc(t.minWidth, t.minSize)};\n max-width: ${calc(t.maxWidth, t.maxSize)};\n\n height: ${calc(t.height, t.size)};\n min-height: ${calc(t.minHeight, t.minSize)};\n max-height: ${calc(t.maxHeight, t.maxSize)};\n\n gap: ${calc(t.gap)};\n\n /* ------------------------------------------------- */\n /* SPACING attributes */\n /* ------------------------------------------------- */\n ${shorthand('margin', {\n full: t.margin,\n x: t.marginX,\n y: t.marginY,\n top: t.marginTop,\n left: t.marginLeft,\n bottom: t.marginBottom,\n right: t.marginRight,\n })};\n\n ${shorthand('padding', {\n full: t.padding,\n x: t.paddingX,\n y: t.paddingY,\n top: t.paddingTop,\n left: t.paddingLeft,\n bottom: t.paddingBottom,\n right: t.paddingRight,\n })};\n\n /* ------------------------------------------------- */\n /* FLEX attributes */\n /* ------------------------------------------------- */\n align-content: ${t.alignContent};\n align-items: ${t.alignItems};\n align-self: ${t.alignSelf};\n flex: ${t.flex};\n flex-basis: ${t.flexBasis};\n flex-direction: ${t.flexDirection};\n flex-flow: ${t.flexFlow};\n flex-grow: ${t.flexGrow};\n flex-shrink: ${t.flexShrink};\n flex-wrap: ${t.flexWrap};\n justify-content: ${t.justifyContent};\n\n /* ------------------------------------------------- */\n /* GRID attributes */\n /* ------------------------------------------------- */\n grid-area: ${t.gridArea};\n grid-auto-columns: ${calc(t.gridAutoColumns)};\n grid-auto-flow: ${t.gridAutoFlow};\n grid-auto-rows: ${calc(t.gridAutoRows)};\n grid-column: ${t.gridColumn};\n grid-column-end: ${t.gridColumnEnd};\n grid-column-gap: ${calc(t.gridColumnGap)};\n grid-column-start: ${calc(t.gridColumnStart)};\n grid-gap: ${calc(t.gridGap)};\n grid-row: ${t.gridRow};\n grid-row-start: ${t.gridRowStart};\n grid-row-end: ${t.gridRowEnd};\n grid-row-gap: ${calc(t.gridRowGap)};\n grid-template: ${t.gridTemplate};\n grid-template-areas: ${t.gridTemplateAreas};\n grid-template-columns: ${t.gridTemplateColumns};\n grid-template-rows: ${t.gridTemplateRows};\n\n /* ------------------------------------------------- */\n /* POSITIONING attributes */\n /* ------------------------------------------------- */\n object-fit: ${t.objectFit};\n object-position: ${t.objectPosition};\n order: ${t.order};\n opacity: ${t.opacity};\n resize: ${t.resize};\n vertical-align: ${t.verticalAlign};\n\n /* ------------------------------------------------- */\n /* FONT attributes */\n /* ------------------------------------------------- */\n line-height: ${t.lineHeight};\n font: ${t.font};\n font-family: ${t.fontFamily};\n font-size: ${calc(t.fontSize)};\n font-size-adjust: ${calc(t.fontSizeAdjust)};\n font-stretch: ${calc(t.fontStretch)};\n font-style: ${t.fontStyle};\n font-variant: ${t.fontVariant};\n font-weight: ${t.fontWeight};\n text-align: ${t.textAlign};\n text-align-last: ${t.textAlignLast};\n text-transform: ${t.textTransform};\n text-decoration: ${t.textDecoration};\n text-decoration-color: ${t.textDecorationColor};\n text-decoration-line: ${t.textDecorationLine};\n text-decoration-style: ${t.textDecorationStyle};\n letter-spacing: ${t.letterSpacing};\n text-indent: ${t.textIndent};\n text-justify: ${t.textJustify};\n text-overflow: ${t.textOverflow};\n text-shadow: ${t.textShadow};\n text-transform: ${t.textTransform};\n white-space: ${t.whiteSpace};\n word-break: ${t.wordBreak};\n word-wrap: ${t.wordWrap};\n writing-mode: ${t.writingMode};\n direction: ${t.direction};\n\n /* ------------------------------------------------- */\n /* LIST attributes */\n /* ------------------------------------------------- */\n list-style: ${t.listStyle};\n list-style-image: ${t.listStyleImage};\n list-style-position: ${t.listStylePosition};\n list-style-type: ${t.listStyleType};\n\n /* ------------------------------------------------- */\n /* BACKGROUND & COLORS attributes */\n /* ------------------------------------------------- */\n color: ${t.color};\n background: ${t.background};\n background-color: ${t.backgroundColor};\n ${t.backgroundImage &&\n css`\n background-image: url(${t.backgroundImage});\n `};\n background-attachment: ${t.backgroundAttachment};\n background-clip: ${t.backgroundClip};\n background-origin: ${t.backgroundOrigin};\n background-position: ${t.backgroundPosition};\n background-repeat: ${t.backgroundRepeat};\n background-size: ${t.backgroundSize};\n\n /* ------------------------------------------------- */\n /* BORDERS attributes */\n /* ------------------------------------------------- */\n ${borderRadius(rootSize)({\n full: t.borderRadius,\n top: t.borderRadiusTop,\n bottom: t.borderRadiusBottom,\n left: t.borderRadiusLeft,\n right: t.borderRadiusRight,\n topLeft: t.borderRadiusTopLeft,\n topRight: t.borderRadiusTopRight,\n bottomLeft: t.borderRadiusBottomLeft,\n bottomRight: t.borderRadiusBottomRight,\n })};\n\n ${shorthand('border-width', {\n full: t.borderWidth,\n y: t.borderWidthY,\n x: t.borderWidthX,\n top: t.borderWidthTop,\n bottom: t.borderWidthBottom,\n left: t.borderWidthLeft,\n right: t.borderWidthRight,\n })};\n\n ${shorthand('border-style', {\n full: t.borderStyle,\n y: t.borderStyleY,\n x: t.borderStyleX,\n top: t.borderStyleTop,\n bottom: t.borderStyleBottom,\n left: t.borderStyleLeft,\n right: t.borderStyleRight,\n })};\n\n ${shorthand('border-color', {\n full: t.borderColor,\n y: t.borderColorY,\n x: t.borderColorX,\n top: t.borderColorTop,\n bottom: t.borderColorBottom,\n left: t.borderColorLeft,\n right: t.borderColorRight,\n })};\n\n border: ${t.border};\n border-top: ${t.borderTop};\n border-bottom: ${t.borderBottom};\n border-left: ${t.borderLeft};\n border-right: ${t.borderRight};\n\n border-image: ${t.borderImage};\n border-image-outset: ${t.borderImageOutset};\n border-image-repeat: ${t.borderImageRepeat};\n border-image-slice: ${t.borderImageSlice};\n border-image-source: ${t.borderImageSource};\n border-image-width: ${t.borderImageWidth};\n border-spacing: ${t.borderSpacing};\n\n /* ------------------------------------------------- */\n /* VISUAL EFFECTS attributes */\n /* ------------------------------------------------- */\n backface-visibility: ${t.backfaceVisibility};\n box-shadow: ${t.boxShadow};\n filter: ${t.filter};\n outline: ${t.outline};\n outline-color: ${t.outlineColor};\n outline-offset: ${t.outlineOffset};\n outline-style: ${t.outlineStyle};\n outline-width: ${t.outlineWidth};\n\n /* ------------------------------------------------- */\n /* ANIMATIONS attributes */\n /* ------------------------------------------------- */\n animation: ${t.keyframe} ${t.animation};\n transition: ${t.transition};\n transition-delay: ${t.transitionDelay};\n transition-duration: ${t.transitionDuration};\n transition-property: ${t.transitionProperty};\n transition-timing-function: ${t.transitionTimingFunction};\n\n /* ------------------------------------------------- */\n /* OTHER attributes */\n /* ------------------------------------------------- */\n caption-side: ${t.captionSide};\n clear: ${t.clear};\n clip: ${t.clip};\n clip-path: ${t.clipPath};\n content: ${t.content};\n counter-increment: ${t.counterIncrement};\n counter-reset: ${t.counterReset};\n cursor: ${t.cursor};\n empty-cells: ${t.emptyCells};\n z-index: ${t.zIndex};\n transform: ${t.transform};\n transform-origin: ${t.transformOrigin};\n transform-style: ${t.transformStyle};\n overflow: ${t.overflow};\n overflow-wrap: ${t.overflowWrap};\n overflow-x: ${t.overflowX};\n overflow-y: ${t.overflowY};\n perspective: ${t.perspective};\n perspective-origin: ${t.perspectiveOrigin};\n pointer-events: ${t.pointerEvents};\n quotes: ${t.quotes};\n tab-size: ${t.tabSize};\n table-layout: ${t.tableLayout};\n user-select: ${t.userSelect};\n visibility: ${t.visibility};\n\n /* ------------------------------------------------- */\n /* CUSTOM attributes */\n /* ------------------------------------------------- */\n ${__WEB__ &&\n t.hideEmpty &&\n css`\n &:empty {\n display: none;\n }\n `};\n\n ${__WEB__ &&\n t.clearFix &&\n css`\n &::after: {\n clear: both;\n content: '';\n display: table;\n }\n `};\n\n ${t.extendCss};\n `\n}\n\nexport default styles\n","import { config, isEmpty } from '@vitus-labs/core'\n\nexport type AlignContentDirectionKeys = keyof typeof ALIGN_CONTENT_DIRECTION\nexport type AlignContentAlignXKeys = keyof typeof ALIGN_CONTENT_MAP_X\nexport type AlignContentAlignYKeys = keyof typeof ALIGN_CONTENT_MAP_Y\n\nconst ALIGN_CONTENT_MAP_SHARED = {\n center: 'center',\n spaceBetween: 'space-between',\n spaceAround: 'space-around',\n block: 'stretch',\n}\n\nexport const ALIGN_CONTENT_MAP_X = {\n left: 'flex-start',\n right: 'flex-end',\n ...ALIGN_CONTENT_MAP_SHARED,\n} as const\n\nexport const ALIGN_CONTENT_MAP_Y = {\n top: 'flex-start',\n bottom: 'flex-end',\n ...ALIGN_CONTENT_MAP_SHARED,\n} as const\n\nexport const ALIGN_CONTENT_DIRECTION = __WEB__\n ? {\n inline: 'row',\n reverseInline: 'reverse-row',\n rows: 'column',\n reverseRows: 'reverse-column',\n }\n : {\n inline: 'row',\n reverseInline: 'row-reverse',\n rows: 'column',\n reverseRows: 'column-reverse',\n }\n\nexport type AlignContent = ({\n direction,\n alignX,\n alignY,\n}: {\n direction: AlignContentDirectionKeys\n alignX: AlignContentAlignXKeys\n alignY: AlignContentAlignYKeys\n}) => ReturnType<typeof config.css> | null\n\nconst alignContent: AlignContent = (attrs) => {\n const { direction, alignX, alignY } = attrs\n\n if (isEmpty(attrs) || !direction || !alignX || !alignY) {\n return null\n }\n\n const isReverted = ['inline', 'reverseInline'].includes(direction)\n const dir = ALIGN_CONTENT_DIRECTION[direction]\n const x = ALIGN_CONTENT_MAP_X[alignX]\n const y = ALIGN_CONTENT_MAP_Y[alignY]\n\n return config.css`\n flex-direction: ${dir};\n align-items: ${isReverted ? y : x};\n justify-content: ${isReverted ? x : y};\n `\n}\n\nexport default alignContent\n","import { config } from '@vitus-labs/core'\n\nexport type ExtendCss = (\n styles:\n | ((css: typeof config.css) => ReturnType<typeof css>)\n | string\n | null\n | undefined\n) => string | ReturnType<typeof config.css>\n\nconst extendCss: ExtendCss = (styles) => {\n if (!styles) return ''\n if (typeof styles === 'function') {\n return styles(config.css)\n }\n\n return styles\n}\n\nexport default extendCss\n"],"names":["CoreProvider","isValidValue"],"mappings":"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"}
1
+ {"version":3,"file":"vitus-labs-unistyle.module.js","sources":["../src/responsive/breakpoints.ts","../src/responsive/createMediaQueries.ts","../src/responsive/normalizeTheme.ts","../src/responsive/transformTheme.ts","../src/responsive/optimizeTheme.ts","../src/responsive/makeItResponsive.ts","../src/responsive/sortBreakpoints.ts","../src/context.tsx","../src/units/stripUnit.ts","../src/units/value.ts","../src/units/values.ts","../src/styles/shorthands/borderRadius.ts","../src/styles/shorthands/edge.ts","../src/styles/styles/index.ts","../src/styles/alignContent.ts","../src/styles/extendCss.ts"],"sourcesContent":["const breakpoints = {\n rootSize: 16,\n breakpoints: {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1440,\n },\n} as const\n\nexport type Breakpoints = typeof breakpoints\n\nexport default breakpoints\n","export type CreateMediaQueries = <\n B,\n R extends number,\n C extends (...args: any) => any\n>(props: {\n breakpoints: B\n rootSize: R\n css: C\n}) => Record<keyof B, ReturnType<C>>\n\nconst createMediaQueries: CreateMediaQueries = ({\n breakpoints,\n rootSize,\n css,\n}) =>\n Object.keys(breakpoints).reduce((acc, key) => {\n // use em in breakpoints to work properly cross-browser and support users\n // changing their browsers font-size: https://zellwk.com/blog/media-query-units/\n const breakpointValue = breakpoints[key]\n const result = { ...acc }\n /* eslint-disable-next-line no-param-reassign */\n\n if (breakpointValue === 0) {\n result[key] = (...args: any[]) => css(...args)\n } else {\n const emSize = breakpoints[key] / rootSize\n\n result[key] = (...args: any[]) =>\n css`\n @media only screen and (min-width: ${emSize}em) {\n ${css(...args)};\n }\n `\n }\n\n return result\n }, {} as { [I in keyof typeof breakpoints]: ReturnType<typeof css> })\n\nexport default createMediaQueries\n","type AssignToBreakbointKey = (\n breakpoints: Array<string>\n) => (\n value: (\n breakpoint: string,\n i: number,\n breakpoints: Array<string>,\n result: Record<string, unknown>\n ) => void\n) => Record<string, unknown>\n\nconst assignToBreakbointKey: AssignToBreakbointKey =\n (breakpoints) => (value) => {\n const result = {}\n\n breakpoints.forEach((item, i) => {\n result[item] = value(item, i, breakpoints, result)\n })\n\n return result\n }\n\nconst handleArrayCb = (arr) => (value, i) => {\n const currentValue = arr[i]\n const lastValue = arr[arr.length - 1]\n\n return currentValue || lastValue\n}\n\n// type HandleObjectCb = (\n// obj: Record<string, unknown>\n// ) => (\n// bp: string,\n// i: number,\n// breakpoint: Array<string>,\n// result: Record<string, unknown>\n// ) => Record<string, unknown>\n\nconst handleObjectCb = (obj) => (bp, i, bps, res) => {\n const currentValue = obj[bp]\n const previousValue = res[bps[i - 1]]\n // check for non-nullable values\n if (currentValue != null) return currentValue\n return previousValue\n}\n\nconst handleValueCb = (value) => () => value\n\nconst shouldNormalize = (props) =>\n Object.values(props).some(\n (item) => typeof item === 'object' || Array.isArray(item)\n )\n\nexport type NormalizeTheme = ({\n theme,\n breakpoints,\n}: {\n theme: Record<string, unknown>\n breakpoints: Array<string>\n}) => Record<string, unknown>\n\nconst normalizeTheme: NormalizeTheme = ({ theme, breakpoints }) => {\n if (!shouldNormalize(theme)) return theme\n\n const getBpValues = assignToBreakbointKey(breakpoints)\n const result = {}\n\n Object.entries(theme).forEach(([key, value]) => {\n if (value == null) return\n\n // if it's an array\n if (Array.isArray(value)) {\n result[key] = getBpValues(handleArrayCb(value))\n }\n // if it's an object\n else if (typeof value === 'object') {\n result[key] = getBpValues(handleObjectCb(value))\n }\n // if any other value\n else {\n result[key] = getBpValues(handleValueCb(value))\n }\n })\n\n return result\n}\n\nexport default normalizeTheme\n","import { isEmpty, memoize, set } from '@vitus-labs/core'\n\nconst removeUnexpectedKeys = (obj, keys) => {\n const result = {}\n keys.forEach((bp) => {\n const value = obj[bp]\n\n if (value) {\n result[bp] = value\n }\n })\n\n return result\n}\n\nexport type TransformTheme = ({\n theme,\n breakpoints,\n}: {\n theme: Record<string, unknown>\n breakpoints: Array<string>\n}) => any\n\nconst transformTheme: TransformTheme = memoize(\n ({ theme, breakpoints }) => {\n const result = {}\n\n if (isEmpty(theme) || isEmpty(breakpoints)) return result\n\n // can be one of following types\n // { fontSize: 12 }\n // { fontSize: { xs: 12, md: 15 }}\n // { fontSize: [12, 15] }\n Object.entries(theme).forEach(([key, value]) => {\n // array\n if (Array.isArray(value) && value.length > 0) {\n value.forEach((child, i) => {\n const indexBreakpoint = breakpoints[i]\n set(result, [indexBreakpoint, key], child)\n })\n }\n // object\n else if (typeof value === 'object' && value !== null) {\n Object.entries(value).forEach(([childKey, childValue]) => {\n set(result, [childKey, key], childValue)\n })\n }\n // normal value\n else if (value != null) {\n const firstBreakpoint = breakpoints[0]\n set(result, [firstBreakpoint, key], value)\n }\n })\n\n return removeUnexpectedKeys(result, breakpoints)\n },\n { isDeepEqual: true, maxSize: 4000 }\n)\n\nexport default transformTheme\n","export type OptimizeTheme = ({\n theme,\n breakpoints,\n}: {\n theme: Record<string, Record<string, unknown>>\n breakpoints: string[]\n}) => Record<string, Record<string, unknown>>\n\nconst optimizeTheme: OptimizeTheme = ({ theme, breakpoints }) =>\n breakpoints.reduce((acc, key, i) => {\n if (i === 0) return { ...acc, [key]: theme[key] }\n\n const previousBreakpoint = breakpoints[i - 1]\n const previousValue = theme[previousBreakpoint]\n const currentValue = theme[key]\n\n if (JSON.stringify(previousValue) !== JSON.stringify(currentValue)) {\n return { ...acc, [key]: theme[key] }\n }\n\n return acc\n }, {})\n\nexport default optimizeTheme\n","import { isEmpty } from '@vitus-labs/core'\nimport type { Css } from '~/types'\nimport createMediaQueries from './createMediaQueries'\nimport sortBreakpoints from './sortBreakpoints'\nimport normalizeTheme from './normalizeTheme'\nimport transformTheme from './transformTheme'\nimport optimizeTheme from './optimizeTheme'\n\ntype CustomTheme = Record<\n string,\n Record<string, unknown> | number | string | boolean\n>\ntype Theme = {\n rootSize: number\n breakpoints?: Record<string, number>\n __VITUS_LABS__?: {\n media?: ReturnType<typeof createMediaQueries>\n sortedBreakpoints?: ReturnType<typeof sortBreakpoints>\n }\n} & CustomTheme\n\nexport type MakeItResponsiveStyles<\n T extends Partial<Record<string, any>> = any\n> = ({\n theme,\n css,\n rootSize,\n globalTheme,\n}: {\n theme: T\n css: Css\n rootSize: number\n globalTheme?: Partial<Record<string, any>>\n}) => ReturnType<typeof css> | string | any\n\nexport type MakeItResponsive = ({\n theme,\n key,\n css,\n styles,\n normalize,\n}: {\n theme?: CustomTheme\n key?: string\n css: any\n styles: MakeItResponsiveStyles\n normalize?: boolean\n}) => ({ theme }: { theme?: Theme }) => any\n\nconst makeItResponsive: MakeItResponsive =\n ({ theme: customTheme, key = '', css, styles, normalize = false }) =>\n ({ theme = {}, ...props }) => {\n const internalTheme = customTheme || props[key]\n\n // if no theme is defined, return empty objct\n if (isEmpty(internalTheme)) return ''\n\n const { rootSize, breakpoints, __VITUS_LABS__, ...restTheme } =\n theme as Theme\n\n const renderStyles = (\n theme: Record<string, unknown>\n ): ReturnType<typeof styles> =>\n styles({ theme, css, rootSize, globalTheme: restTheme })\n\n // if there are no breakpoints, return just standard css\n if (isEmpty(breakpoints) || isEmpty(__VITUS_LABS__)) {\n return css`\n ${renderStyles(internalTheme)}\n `\n }\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { media, sortedBreakpoints } = __VITUS_LABS__!\n\n let helperTheme = internalTheme\n\n if (normalize) {\n helperTheme = normalizeTheme({\n theme: internalTheme,\n breakpoints: sortedBreakpoints,\n })\n }\n\n const transformedTheme = transformTheme({\n theme: helperTheme,\n breakpoints: sortedBreakpoints,\n })\n\n const optimizedTheme = optimizeTheme({\n theme: transformedTheme,\n breakpoints: sortedBreakpoints,\n })\n\n return sortedBreakpoints.map((item) => {\n const breakpointTheme = optimizedTheme[item]\n\n if (!breakpointTheme || !media) return ''\n\n const result = renderStyles(breakpointTheme)\n\n return media[item]`\n ${result};\n `\n })\n }\n\nexport default makeItResponsive\n","export type SortBreakpoints = <T extends Record<string, number>>(\n breakpoints: T\n) => Array<keyof T>\n\nconst sortBreakpoints: SortBreakpoints = (breakpoints) => {\n const result = Object.keys(breakpoints).sort(\n (a, b) => breakpoints[a] - breakpoints[b]\n )\n\n return result\n}\n\nexport default sortBreakpoints\n","import React, { ReactNode, FC, useMemo } from 'react'\nimport {\n config,\n isEmpty,\n Provider as CoreProvider,\n context,\n} from '@vitus-labs/core'\nimport { sortBreakpoints, createMediaQueries } from '~/responsive'\n\n// type VitusLabsContext = {\n// sortedBreakpoints?: ReturnType<typeof sortBreakpoints>\n// media?: ReturnType<typeof createMediaQueries>\n// }\n\ntype Theme = {\n rootSize: number\n breakpoints?: Record<string, number>\n __VITUS_LABS__?: never\n} & Partial<Record<string, unknown>>\n\nexport type TProvider = {\n theme: Theme\n children: ReactNode\n} & Partial<Record<string, unknown>>\n\nconst Provider: FC<TProvider> = ({ theme, children, ...props }) => {\n const { breakpoints, rootSize } = theme\n\n const sortedBreakpoints = useMemo(() => {\n if (breakpoints && !isEmpty(breakpoints)) {\n return sortBreakpoints(breakpoints)\n }\n\n return undefined\n }, [breakpoints])\n\n const media = useMemo(() => {\n if (breakpoints && !isEmpty(breakpoints)) {\n return createMediaQueries({\n breakpoints,\n css: config.css,\n rootSize,\n })\n }\n\n return undefined\n }, [breakpoints, rootSize])\n\n const result = {\n ...theme,\n __VITUS_LABS__: {\n sortedBreakpoints,\n media,\n },\n }\n\n return (\n <CoreProvider theme={result} {...props}>\n {children}\n </CoreProvider>\n )\n}\n\nexport { context }\n\nexport default Provider\n","import { ReactText } from 'react'\n\ntype Value<V> = V extends string ? number : V\ntype Unit<V> = V extends string ? string : undefined\n\nexport type StripUnit = <V extends ReactText, UR extends boolean = false>(\n value: V,\n unitReturn?: UR\n) => UR extends true ? [Value<V>, Unit<V>] : Value<V>\n\nconst stripUnit: StripUnit = (value, unitReturn) => {\n const cssRegex = /^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/\n\n if (typeof value !== 'string') return unitReturn ? [value, undefined] : value\n\n const matchedValue = value.match(cssRegex)\n\n if (unitReturn) {\n if (matchedValue) return [parseFloat(value), matchedValue[2]]\n return [value, undefined]\n }\n\n if (matchedValue) return parseFloat(value)\n return value as any\n}\n\nexport default stripUnit\n","import stripUnit from './stripUnit'\n\nconst isNotValue = (value) => !value && value !== 0\n\nexport type Value = (\n param: any,\n rootSize?: number,\n outputUnit?: 'px' | 'rem' | '%' | string\n) => string | number | null\n\nconst value: Value = (\n param,\n rootSize = 16,\n outputUnit = __WEB__ ? 'rem' : 'px'\n) => {\n if (isNotValue(param)) return null\n\n const [value, unit] = stripUnit(param as string, true)\n if (isNotValue(value)) return null\n if (value === 0 || typeof value === 'string') return param // zero should be unitless\n\n if (rootSize && !Number.isNaN(value)) {\n if (!unit && outputUnit === 'px') return `${value}${outputUnit}`\n if (!unit) return `${value / rootSize}rem`\n if (unit === 'px' && outputUnit === 'rem') return `${value / rootSize}rem`\n }\n\n if (unit) return param\n\n return `${value}${outputUnit}`\n}\n\nexport default value\n","import type { Units } from '~/types'\nimport value from './value'\n\ntype GetValueOf = (...values: Array<unknown>) => number | string | unknown\nconst getValueOf: GetValueOf = (...values) =>\n values.find((value) => typeof value !== 'undefined' && value !== null)\n\nexport type Values = (\n values: Array<unknown>,\n rootSize?: number,\n outputUnit?: Units\n) => string | number\nconst values: Values = (values, rootSize, outputUnit) => {\n const param = getValueOf(...values)\n\n if (Array.isArray(param)) {\n return param\n .reduce((acc, item) => acc.push(value(item, rootSize, outputUnit)), [])\n .join(' ')\n }\n\n return value(param, rootSize, outputUnit)\n}\n\nexport default values\n","import { value } from '~/units'\nimport type { Value } from '~/types'\n\nconst isValidValue = (value) => !!value || value === 0\n\nexport type BorderRadius = (\n rootSize?: number\n) => (props: {\n full: Value | null | undefined\n top: Value | null | undefined\n bottom: Value | null | undefined\n left: Value | null | undefined\n right: Value | null | undefined\n topLeft: Value | null | undefined\n topRight: Value | null | undefined\n bottomLeft: Value | null | undefined\n bottomRight: Value | null | undefined\n}) => string | null\n\n// eslint-disable-next-line import/prefer-default-export\nconst borderRadius: BorderRadius =\n (rootSize) =>\n ({\n full,\n top,\n bottom,\n left,\n right,\n topLeft,\n topRight,\n bottomLeft,\n bottomRight,\n }) => {\n if (\n !isValidValue(full) &&\n !isValidValue(top) &&\n !isValidValue(bottom) &&\n !isValidValue(left) &&\n !isValidValue(right) &&\n !isValidValue(topLeft) &&\n !isValidValue(topRight) &&\n !isValidValue(bottomLeft) &&\n !isValidValue(bottomRight)\n ) {\n return null\n }\n\n const calc = (param) => value(param, rootSize)\n\n // topLeft - topRight - bottomRight - bottomLeft\n const values = [full, full, full, full]\n\n if (isValidValue(top)) {\n values[0] = top\n values[1] = top\n }\n\n if (isValidValue(bottom)) {\n values[2] = bottom\n values[3] = bottom\n }\n\n if (isValidValue(left)) {\n values[0] = left\n values[3] = left\n }\n\n if (isValidValue(right)) {\n values[1] = right\n values[2] = right\n }\n\n if (isValidValue(topLeft)) {\n values[0] = topLeft\n }\n\n if (isValidValue(topRight)) {\n values[1] = topRight\n }\n\n if (isValidValue(bottomRight)) {\n values[2] = bottomRight\n }\n\n if (isValidValue(bottomLeft)) {\n values[3] = bottomLeft\n }\n\n const [tl, tr, br, bl] = values\n\n if (values.every((val) => isValidValue(val))) {\n if (values.every((val, _, arr) => val === arr[0])) {\n return `border-radius: ${calc(tl)};`\n }\n\n if (tl === br && tr === bl) {\n return `border-radius: ${calc(tl)} ${calc(tr)};`\n }\n\n if (tl && tr === bl && br) {\n return `border-radius: ${calc(tl)} ${calc(tr)} ${calc(br)};`\n }\n\n return `border-radius: ${calc(tl)} ${calc(tr)} ${calc(br)} ${calc(bl)};`\n }\n\n let output = ''\n\n if (isValidValue(tl)) {\n output += `border-top-left-radius: ${calc(tl)};`\n }\n\n if (isValidValue(tr)) {\n output += `border-top-right-radius: ${calc(tr)};`\n }\n\n if (isValidValue(br)) {\n output += `border-bottom-right-radius: ${calc(br)};`\n }\n\n if (isValidValue(bl)) {\n output += `border-bottom-left-radius: ${calc(bl)};`\n }\n\n return output\n }\n\nexport default borderRadius\n","import { value } from '~/units'\nimport type { Units } from '~/types'\n\nconst isValidValue = (value) => !!value || value === 0\n\ntype Property =\n | 'inset'\n | 'margin'\n | 'padding'\n | 'border-width'\n | 'border-style'\n | 'border-color'\ntype Value = string | number | null | undefined\ntype Side = 'top' | 'bottom' | 'left' | 'right'\n\ntype Definitions = Record<\n Property,\n { unit?: Units; edgeCss: (side: Side) => string }\n>\n\nconst definitions: Definitions = {\n inset: {\n unit: 'rem',\n edgeCss: (side) => side,\n },\n margin: {\n unit: 'rem',\n edgeCss: (side) => `margin-${side}`,\n },\n padding: {\n unit: 'rem',\n edgeCss: (side) => `padding-${side}`,\n },\n 'border-width': {\n unit: 'px',\n edgeCss: (side) => `border-${side}-width`,\n },\n 'border-style': {\n edgeCss: (side) => `border-${side}-style`,\n },\n 'border-color': {\n edgeCss: (side) => `border-${side}-color`,\n },\n}\n\nexport type Edge = (rootSize?: number) => (\n property: Property,\n values: {\n full: Value\n x: Value\n y: Value\n top: Value\n left: Value\n right: Value\n bottom: Value\n }\n) => string | null\n\n// eslint-disable-next-line import/prefer-default-export\nconst edge: Edge =\n (rootSize = 16) =>\n (property, { full, x, y, top, left, right, bottom }) => {\n if (\n !isValidValue(top) &&\n !isValidValue(bottom) &&\n !isValidValue(left) &&\n !isValidValue(right) &&\n !isValidValue(x) &&\n !isValidValue(y) &&\n !isValidValue(full)\n ) {\n return null\n }\n\n const { unit, edgeCss } = definitions[property]\n\n const calc = (param) => {\n if (unit) return value(param, rootSize, unit)\n return param\n }\n\n // top - right - bottom - left\n const allValues = [full, full, full, full]\n\n if (isValidValue(x)) {\n allValues[1] = x\n allValues[3] = x\n }\n\n if (isValidValue(y)) {\n allValues[0] = y\n allValues[2] = y\n }\n\n if (isValidValue(top)) {\n allValues[0] = top\n }\n\n if (isValidValue(right)) {\n allValues[1] = right\n }\n\n if (isValidValue(bottom)) {\n allValues[2] = bottom\n }\n\n if (isValidValue(left)) {\n allValues[3] = left\n }\n\n const [t, r, b, l] = allValues\n\n if (allValues.every((val) => isValidValue(val))) {\n if (allValues.every((val, _, arr) => val === arr[0])) {\n return `${property}: ${calc(t)};`\n }\n\n if (t === b && r === l) {\n return `${property}: ${calc(t)} ${calc(r)};`\n }\n\n if (t && r === l && b) {\n return `${property}: ${calc(t)} ${calc(r)} ${calc(b)};`\n }\n\n return `${property}: ${calc(t)} ${calc(r)} ${calc(b)} ${calc(l)};`\n }\n\n let output = ''\n\n if (isValidValue(t)) {\n output += `${edgeCss('top')}: ${calc(t)};`\n }\n\n if (isValidValue(b)) {\n output += `${edgeCss('bottom')}: ${calc(b)};`\n }\n\n if (isValidValue(l)) {\n output += `${edgeCss('left')}: ${calc(l)};`\n }\n\n if (isValidValue(r)) {\n output += `${edgeCss('right')}: ${calc(r)};`\n }\n\n return output\n }\n\nexport default edge\n","import { borderRadius, edge } from '~/styles/shorthands'\nimport { values } from '~/units'\nimport type { Css } from '~/types'\nimport type { Theme } from './types'\n\nexport type { Theme as StylesTheme }\n\nexport type Styles = ({\n theme,\n css,\n rootSize,\n}: {\n theme: Theme\n css: Css\n rootSize?: number\n}) => ReturnType<typeof css>\n\nconst styles: Styles = ({ theme: t, css, rootSize }) => {\n const calc = (...params) => values(params, rootSize)\n const shorthand = edge(rootSize)\n\n return css`\n ${t.fullScreen &&\n css`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n `};\n\n /* ------------------------------------------------- */\n /* POSITION attributes */\n /* ------------------------------------------------- */\n all: ${t.all};\n display: ${t.display};\n position: ${t.position};\n box-sizing: ${t.boxSizing};\n float: ${t.float};\n\n ${shorthand('inset', {\n full: t.inset,\n x: t.insetX,\n y: t.insetY,\n top: t.top,\n left: t.left,\n bottom: t.bottom,\n right: t.right,\n })};\n\n width: ${calc(t.width, t.size)};\n min-width: ${calc(t.minWidth, t.minSize)};\n max-width: ${calc(t.maxWidth, t.maxSize)};\n\n height: ${calc(t.height, t.size)};\n min-height: ${calc(t.minHeight, t.minSize)};\n max-height: ${calc(t.maxHeight, t.maxSize)};\n\n gap: ${calc(t.gap)};\n\n /* ------------------------------------------------- */\n /* SPACING attributes */\n /* ------------------------------------------------- */\n ${shorthand('margin', {\n full: t.margin,\n x: t.marginX,\n y: t.marginY,\n top: t.marginTop,\n left: t.marginLeft,\n bottom: t.marginBottom,\n right: t.marginRight,\n })};\n\n ${shorthand('padding', {\n full: t.padding,\n x: t.paddingX,\n y: t.paddingY,\n top: t.paddingTop,\n left: t.paddingLeft,\n bottom: t.paddingBottom,\n right: t.paddingRight,\n })};\n\n /* ------------------------------------------------- */\n /* FLEX attributes */\n /* ------------------------------------------------- */\n align-content: ${t.alignContent};\n align-items: ${t.alignItems};\n align-self: ${t.alignSelf};\n flex: ${t.flex};\n flex-basis: ${t.flexBasis};\n flex-direction: ${t.flexDirection};\n flex-flow: ${t.flexFlow};\n flex-grow: ${t.flexGrow};\n flex-shrink: ${t.flexShrink};\n flex-wrap: ${t.flexWrap};\n justify-content: ${t.justifyContent};\n\n /* ------------------------------------------------- */\n /* GRID attributes */\n /* ------------------------------------------------- */\n grid-area: ${t.gridArea};\n grid-auto-columns: ${calc(t.gridAutoColumns)};\n grid-auto-flow: ${t.gridAutoFlow};\n grid-auto-rows: ${calc(t.gridAutoRows)};\n grid-column: ${t.gridColumn};\n grid-column-end: ${t.gridColumnEnd};\n grid-column-gap: ${calc(t.gridColumnGap)};\n grid-column-start: ${calc(t.gridColumnStart)};\n grid-gap: ${calc(t.gridGap)};\n grid-row: ${t.gridRow};\n grid-row-start: ${t.gridRowStart};\n grid-row-end: ${t.gridRowEnd};\n grid-row-gap: ${calc(t.gridRowGap)};\n grid-template: ${t.gridTemplate};\n grid-template-areas: ${t.gridTemplateAreas};\n grid-template-columns: ${t.gridTemplateColumns};\n grid-template-rows: ${t.gridTemplateRows};\n\n /* ------------------------------------------------- */\n /* POSITIONING attributes */\n /* ------------------------------------------------- */\n object-fit: ${t.objectFit};\n object-position: ${t.objectPosition};\n order: ${t.order};\n opacity: ${t.opacity};\n resize: ${t.resize};\n vertical-align: ${t.verticalAlign};\n\n /* ------------------------------------------------- */\n /* FONT attributes */\n /* ------------------------------------------------- */\n line-height: ${t.lineHeight};\n font: ${t.font};\n font-family: ${t.fontFamily};\n font-size: ${calc(t.fontSize)};\n font-size-adjust: ${calc(t.fontSizeAdjust)};\n font-stretch: ${calc(t.fontStretch)};\n font-style: ${t.fontStyle};\n font-variant: ${t.fontVariant};\n font-weight: ${t.fontWeight};\n text-align: ${t.textAlign};\n text-align-last: ${t.textAlignLast};\n text-transform: ${t.textTransform};\n text-decoration: ${t.textDecoration};\n text-decoration-color: ${t.textDecorationColor};\n text-decoration-line: ${t.textDecorationLine};\n text-decoration-style: ${t.textDecorationStyle};\n letter-spacing: ${t.letterSpacing};\n text-indent: ${t.textIndent};\n text-justify: ${t.textJustify};\n text-overflow: ${t.textOverflow};\n text-shadow: ${t.textShadow};\n text-transform: ${t.textTransform};\n white-space: ${t.whiteSpace};\n word-break: ${t.wordBreak};\n word-wrap: ${t.wordWrap};\n writing-mode: ${t.writingMode};\n direction: ${t.direction};\n\n /* ------------------------------------------------- */\n /* LIST attributes */\n /* ------------------------------------------------- */\n list-style: ${t.listStyle};\n list-style-image: ${t.listStyleImage};\n list-style-position: ${t.listStylePosition};\n list-style-type: ${t.listStyleType};\n\n /* ------------------------------------------------- */\n /* BACKGROUND & COLORS attributes */\n /* ------------------------------------------------- */\n color: ${t.color};\n background: ${t.background};\n background-color: ${t.backgroundColor};\n ${t.backgroundImage &&\n css`\n background-image: url(${t.backgroundImage});\n `};\n background-attachment: ${t.backgroundAttachment};\n background-clip: ${t.backgroundClip};\n background-origin: ${t.backgroundOrigin};\n background-position: ${t.backgroundPosition};\n background-repeat: ${t.backgroundRepeat};\n background-size: ${t.backgroundSize};\n\n /* ------------------------------------------------- */\n /* BORDERS attributes */\n /* ------------------------------------------------- */\n ${borderRadius(rootSize)({\n full: t.borderRadius,\n top: t.borderRadiusTop,\n bottom: t.borderRadiusBottom,\n left: t.borderRadiusLeft,\n right: t.borderRadiusRight,\n topLeft: t.borderRadiusTopLeft,\n topRight: t.borderRadiusTopRight,\n bottomLeft: t.borderRadiusBottomLeft,\n bottomRight: t.borderRadiusBottomRight,\n })};\n\n ${shorthand('border-width', {\n full: t.borderWidth,\n y: t.borderWidthY,\n x: t.borderWidthX,\n top: t.borderWidthTop,\n bottom: t.borderWidthBottom,\n left: t.borderWidthLeft,\n right: t.borderWidthRight,\n })};\n\n ${shorthand('border-style', {\n full: t.borderStyle,\n y: t.borderStyleY,\n x: t.borderStyleX,\n top: t.borderStyleTop,\n bottom: t.borderStyleBottom,\n left: t.borderStyleLeft,\n right: t.borderStyleRight,\n })};\n\n ${shorthand('border-color', {\n full: t.borderColor,\n y: t.borderColorY,\n x: t.borderColorX,\n top: t.borderColorTop,\n bottom: t.borderColorBottom,\n left: t.borderColorLeft,\n right: t.borderColorRight,\n })};\n\n border: ${t.border};\n border-top: ${t.borderTop};\n border-bottom: ${t.borderBottom};\n border-left: ${t.borderLeft};\n border-right: ${t.borderRight};\n\n border-image: ${t.borderImage};\n border-image-outset: ${t.borderImageOutset};\n border-image-repeat: ${t.borderImageRepeat};\n border-image-slice: ${t.borderImageSlice};\n border-image-source: ${t.borderImageSource};\n border-image-width: ${t.borderImageWidth};\n border-spacing: ${t.borderSpacing};\n\n /* ------------------------------------------------- */\n /* VISUAL EFFECTS attributes */\n /* ------------------------------------------------- */\n backface-visibility: ${t.backfaceVisibility};\n box-shadow: ${t.boxShadow};\n filter: ${t.filter};\n outline: ${t.outline};\n outline-color: ${t.outlineColor};\n outline-offset: ${t.outlineOffset};\n outline-style: ${t.outlineStyle};\n outline-width: ${t.outlineWidth};\n\n /* ------------------------------------------------- */\n /* ANIMATIONS attributes */\n /* ------------------------------------------------- */\n animation: ${t.keyframe} ${t.animation};\n transition: ${t.transition};\n transition-delay: ${t.transitionDelay};\n transition-duration: ${t.transitionDuration};\n transition-property: ${t.transitionProperty};\n transition-timing-function: ${t.transitionTimingFunction};\n\n /* ------------------------------------------------- */\n /* OTHER attributes */\n /* ------------------------------------------------- */\n caption-side: ${t.captionSide};\n clear: ${t.clear};\n clip: ${t.clip};\n clip-path: ${t.clipPath};\n content: ${t.content};\n counter-increment: ${t.counterIncrement};\n counter-reset: ${t.counterReset};\n cursor: ${t.cursor};\n empty-cells: ${t.emptyCells};\n z-index: ${t.zIndex};\n transform: ${t.transform};\n transform-origin: ${t.transformOrigin};\n transform-style: ${t.transformStyle};\n overflow: ${t.overflow};\n overflow-wrap: ${t.overflowWrap};\n overflow-x: ${t.overflowX};\n overflow-y: ${t.overflowY};\n perspective: ${t.perspective};\n perspective-origin: ${t.perspectiveOrigin};\n pointer-events: ${t.pointerEvents};\n quotes: ${t.quotes};\n tab-size: ${t.tabSize};\n table-layout: ${t.tableLayout};\n user-select: ${t.userSelect};\n visibility: ${t.visibility};\n\n /* ------------------------------------------------- */\n /* CUSTOM attributes */\n /* ------------------------------------------------- */\n ${__WEB__ &&\n t.hideEmpty &&\n css`\n &:empty {\n display: none;\n }\n `};\n\n ${__WEB__ &&\n t.clearFix &&\n css`\n &::after: {\n clear: both;\n content: '';\n display: table;\n }\n `};\n\n ${t.extendCss};\n `\n}\n\nexport default styles\n","import { config, isEmpty } from '@vitus-labs/core'\n\nexport type AlignContentDirectionKeys = keyof typeof ALIGN_CONTENT_DIRECTION\nexport type AlignContentAlignXKeys = keyof typeof ALIGN_CONTENT_MAP_X\nexport type AlignContentAlignYKeys = keyof typeof ALIGN_CONTENT_MAP_Y\n\nconst ALIGN_CONTENT_MAP_SHARED = {\n center: 'center',\n spaceBetween: 'space-between',\n spaceAround: 'space-around',\n block: 'stretch',\n}\n\nexport const ALIGN_CONTENT_MAP_X = {\n left: 'flex-start',\n right: 'flex-end',\n ...ALIGN_CONTENT_MAP_SHARED,\n} as const\n\nexport const ALIGN_CONTENT_MAP_Y = {\n top: 'flex-start',\n bottom: 'flex-end',\n ...ALIGN_CONTENT_MAP_SHARED,\n} as const\n\nexport const ALIGN_CONTENT_DIRECTION = __WEB__\n ? {\n inline: 'row',\n reverseInline: 'reverse-row',\n rows: 'column',\n reverseRows: 'reverse-column',\n }\n : {\n inline: 'row',\n reverseInline: 'row-reverse',\n rows: 'column',\n reverseRows: 'column-reverse',\n }\n\nexport type AlignContent = ({\n direction,\n alignX,\n alignY,\n}: {\n direction: AlignContentDirectionKeys\n alignX: AlignContentAlignXKeys\n alignY: AlignContentAlignYKeys\n}) => ReturnType<typeof config.css> | null\n\nconst alignContent: AlignContent = (attrs) => {\n const { direction, alignX, alignY } = attrs\n\n if (isEmpty(attrs) || !direction || !alignX || !alignY) {\n return null\n }\n\n const isReverted = ['inline', 'reverseInline'].includes(direction)\n const dir = ALIGN_CONTENT_DIRECTION[direction]\n const x = ALIGN_CONTENT_MAP_X[alignX]\n const y = ALIGN_CONTENT_MAP_Y[alignY]\n\n return config.css`\n flex-direction: ${dir};\n align-items: ${isReverted ? y : x};\n justify-content: ${isReverted ? x : y};\n `\n}\n\nexport default alignContent\n","import { config } from '@vitus-labs/core'\n\nexport type ExtendCss = (\n styles:\n | ((css: typeof config.css) => ReturnType<typeof css>)\n | string\n | null\n | undefined\n) => string | ReturnType<typeof config.css>\n\nconst extendCss: ExtendCss = (styles) => {\n if (!styles) return ''\n if (typeof styles === 'function') {\n return styles(config.css)\n }\n\n return styles\n}\n\nexport default extendCss\n"],"names":["CoreProvider","isValidValue"],"mappings":"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"}
@@ -188,22 +188,29 @@ const sortBreakpoints = (breakpoints) => {
188
188
  };
189
189
 
190
190
  const Provider = ({ theme, children, ...props }) => {
191
- // eslint-disable-next-line no-underscore-dangle
192
- const __VITUS_LABS__ = {};
193
191
  const { breakpoints, rootSize } = theme;
194
- if (!isEmpty(breakpoints)) {
195
- __VITUS_LABS__.sortedBreakpoints = useMemo(
196
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
197
- () => sortBreakpoints(breakpoints), [breakpoints]);
198
- __VITUS_LABS__.media = useMemo(() => createMediaQueries({
199
- breakpoints,
200
- css: config.css,
201
- rootSize,
202
- }), [breakpoints, rootSize]);
203
- }
192
+ const sortedBreakpoints = useMemo(() => {
193
+ if (breakpoints && !isEmpty(breakpoints)) {
194
+ return sortBreakpoints(breakpoints);
195
+ }
196
+ return undefined;
197
+ }, [breakpoints]);
198
+ const media = useMemo(() => {
199
+ if (breakpoints && !isEmpty(breakpoints)) {
200
+ return createMediaQueries({
201
+ breakpoints,
202
+ css: config.css,
203
+ rootSize,
204
+ });
205
+ }
206
+ return undefined;
207
+ }, [breakpoints, rootSize]);
204
208
  const result = {
205
209
  ...theme,
206
- __VITUS_LABS__,
210
+ __VITUS_LABS__: {
211
+ sortedBreakpoints,
212
+ media,
213
+ },
207
214
  };
208
215
  return (React.createElement(Provider$1, { theme: result, ...props }, children));
209
216
  };