@vitus-labs/unistyle 1.0.1-alpha.7 → 1.1.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.
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/responsive/breakpoints.ts","../src/responsive/createMediaQueries.ts","../src/responsive/sortBreakpoints.ts","../src/responsive/normalizeTheme.ts","../src/responsive/transformTheme.ts","../src/responsive/optimizeTheme.ts","../src/responsive/makeItResponsive.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 extends {},\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(\n (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[]) => css`\n @media only screen and (min-width: ${emSize}em) {\n ${css(...args)};\n }\n `\n }\n\n return result\n },\n {} as { [I in keyof typeof breakpoints]: ReturnType<typeof css> },\n )\n\nexport default createMediaQueries\n","export type SortBreakpoints = <T extends Record<string, number>>(\n breakpoints: T,\n) => (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","type AssignToBreakpointKey = (\n breakpoints: string[],\n) => (\n value: (\n breakpoint: string,\n i: number,\n breakpoints: string[],\n result: Record<string, unknown>,\n ) => void,\n) => Record<string, unknown>\n\nconst assignToBreakpointKey: AssignToBreakpointKey =\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: (string | number)[]) => (_: any, i: number) => {\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 =\n (obj: Record<string, unknown>) =>\n (bp: string, i: number, bps: string[], res) => {\n const currentValue = obj[bp]\n const previousValue = res[bps[i - 1]!]\n\n // check for non-nullable values\n if (currentValue != null) return currentValue\n return previousValue\n }\n\nconst handleValueCb = (value: unknown) => () => value\n\nconst shouldNormalize = (props: Record<string, any>) =>\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: string[]\n}) => Record<string, unknown>\n\nconst normalizeTheme: NormalizeTheme = ({ theme, breakpoints }) => {\n if (!shouldNormalize(theme)) return theme\n\n const getBpValues = assignToBreakpointKey(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 as any))\n }\n // if it's an object\n else if (typeof value === 'object') {\n result[key] = getBpValues(handleObjectCb(value as Record<string, any>))\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, set } from '@vitus-labs/core'\n\nconst removeUnexpectedKeys = (obj: Record<string, unknown>, keys: string[]) => {\n const result = {}\n\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: string[]\n}) => any\n\nconst transformTheme: TransformTheme = ({ 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\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 = Partial<{\n rootSize: number\n breakpoints: Record<string, number>\n __VITUS_LABS__: Partial<{\n media: ReturnType<typeof createMediaQueries>\n sortedBreakpoints: ReturnType<typeof sortBreakpoints>\n }>\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?: 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","import React, { useMemo } from 'react'\nimport type { 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\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","type Value<V> = V extends string ? number : V\ntype Unit<V> = V extends string ? string : undefined\n\nexport type StripUnit = <V extends string | number, 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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return value as any\n}\n\nexport default stripUnit\n","import stripUnit from './stripUnit'\n\ntype CssUnits =\n | 'px'\n | 'rem'\n | '%'\n | 'em'\n | 'ex'\n | 'cm'\n | 'mm'\n | 'in'\n | 'pt'\n | 'pc'\n | 'ch'\n | 'vh'\n | 'vw'\n | 'vmin'\n | 'vmax'\n\nconst isNotValue = (value) => !value && value !== 0\n\nexport type Value = (\n param: string | number | null | undefined,\n rootSize?: number,\n outputUnit?: CssUnits,\n) => string | number | null\n\nconst value: Value = (\n param,\n rootSize = 16,\n outputUnit = __WEB__ ? 'rem' : 'px',\n) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (isNotValue(param)) return null as any\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: unknown[]) => number | string\nconst getValueOf: GetValueOf = (...values: any[]) =>\n values.find((value) => typeof value !== 'undefined' && value !== null)\n\nexport type Values = (\n values: unknown[],\n rootSize?: number,\n outputUnit?: Units,\n) => string | number\n\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 { PropertyValue } from '~/types'\n\nconst isValidValue = (value) => !!value || value === 0\n\nexport type BorderRadius = (\n rootSize?: number,\n) => (props: {\n full: PropertyValue | null | undefined\n top: PropertyValue | null | undefined\n bottom: PropertyValue | null | undefined\n left: PropertyValue | null | undefined\n right: PropertyValue | null | undefined\n topLeft: PropertyValue | null | undefined\n topRight: PropertyValue | null | undefined\n bottomLeft: PropertyValue | null | undefined\n bottomRight: PropertyValue | 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 { InnerTheme, Theme } from './types'\n\nexport type { Theme as StylesTheme }\n\nexport type Styles = ({\n theme,\n css,\n rootSize,\n}: {\n theme: InnerTheme\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 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 ${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-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 content-visibility: ${t.contentVisibility};\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: 'row-reverse',\n rows: 'column',\n reverseRows: 'column-reverse',\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":"index.js","sources":["../src/responsive/breakpoints.ts","../src/responsive/createMediaQueries.ts","../src/responsive/sortBreakpoints.ts","../src/responsive/normalizeTheme.ts","../src/responsive/transformTheme.ts","../src/responsive/optimizeTheme.ts","../src/responsive/makeItResponsive.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 extends {},\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(\n (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[]) => css`\n @media only screen and (min-width: ${emSize}em) {\n ${css(...args)};\n }\n `\n }\n\n return result\n },\n {} as { [I in keyof typeof breakpoints]: ReturnType<typeof css> },\n )\n\nexport default createMediaQueries\n","export type SortBreakpoints = <T extends Record<string, number>>(\n breakpoints: T,\n) => (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","type AssignToBreakpointKey = (\n breakpoints: string[],\n) => (\n value: (\n breakpoint: string,\n i: number,\n breakpoints: string[],\n result: Record<string, unknown>,\n ) => void,\n) => Record<string, unknown>\n\nconst assignToBreakpointKey: AssignToBreakpointKey =\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: (string | number)[]) => (_: any, i: number) => {\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 =\n (obj: Record<string, unknown>) =>\n (bp: string, i: number, bps: string[], res) => {\n const currentValue = obj[bp]\n const previousValue = res[bps[i - 1]!]\n\n // check for non-nullable values\n if (currentValue != null) return currentValue\n return previousValue\n }\n\nconst handleValueCb = (value: unknown) => () => value\n\nconst shouldNormalize = (props: Record<string, any>) =>\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: string[]\n}) => Record<string, unknown>\n\nconst normalizeTheme: NormalizeTheme = ({ theme, breakpoints }) => {\n if (!shouldNormalize(theme)) return theme\n\n const getBpValues = assignToBreakpointKey(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 as any))\n }\n // if it's an object\n else if (typeof value === 'object') {\n result[key] = getBpValues(handleObjectCb(value as Record<string, any>))\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, set } from '@vitus-labs/core'\n\nconst removeUnexpectedKeys = (obj: Record<string, unknown>, keys: string[]) => {\n const result = {}\n\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: string[]\n}) => any\n\nconst transformTheme: TransformTheme = ({ 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\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 = Partial<{\n rootSize: number\n breakpoints: Record<string, number>\n __VITUS_LABS__: Partial<{\n media: ReturnType<typeof createMediaQueries>\n sortedBreakpoints: ReturnType<typeof sortBreakpoints>\n }>\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?: 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","import React, { useMemo } from 'react'\nimport type { 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\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","type Value<V> = V extends string ? number : V\ntype Unit<V> = V extends string ? string : undefined\n\nexport type StripUnit = <V extends string | number, 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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return value as any\n}\n\nexport default stripUnit\n","import stripUnit from './stripUnit'\n\ntype CssUnits =\n | 'px'\n | 'rem'\n | '%'\n | 'em'\n | 'ex'\n | 'cm'\n | 'mm'\n | 'in'\n | 'pt'\n | 'pc'\n | 'ch'\n | 'vh'\n | 'vw'\n | 'vmin'\n | 'vmax'\n\nconst isNotValue = (value) => !value && value !== 0\n\nexport type Value = (\n param: string | number | null | undefined,\n rootSize?: number,\n outputUnit?: CssUnits,\n) => string | number | null\n\nconst value: Value = (\n param,\n rootSize = 16,\n outputUnit = __WEB__ ? 'rem' : 'px',\n) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (isNotValue(param)) return null as any\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: unknown[]) => number | string\nconst getValueOf: GetValueOf = (...values: any[]) =>\n values.find((value) => typeof value !== 'undefined' && value !== null)\n\nexport type Values = (\n values: unknown[],\n rootSize?: number,\n outputUnit?: Units,\n) => string | number\n\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 { PropertyValue } from '~/types'\n\nconst isValidValue = (value) => !!value || value === 0\n\nexport type BorderRadius = (\n rootSize?: number,\n) => (props: {\n full: PropertyValue | null | undefined\n top: PropertyValue | null | undefined\n bottom: PropertyValue | null | undefined\n left: PropertyValue | null | undefined\n right: PropertyValue | null | undefined\n topLeft: PropertyValue | null | undefined\n topRight: PropertyValue | null | undefined\n bottomLeft: PropertyValue | null | undefined\n bottomRight: PropertyValue | 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 { InnerTheme, Theme } from './types'\n\nexport type { Theme as StylesTheme }\n\nexport type Styles = ({\n theme,\n css,\n rootSize,\n}: {\n theme: InnerTheme\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 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 ${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-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 content-visibility: ${t.contentVisibility};\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: 'row-reverse',\n rows: 'column',\n reverseRows: 'column-reverse',\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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"}
|
|
@@ -713,9 +713,9 @@ const styles = ({ theme: t, css, rootSize }) => {
|
|
|
713
713
|
/* ------------------------------------------------- */
|
|
714
714
|
/* CUSTOM attributes */
|
|
715
715
|
/* ------------------------------------------------- */
|
|
716
|
-
${false
|
|
716
|
+
${false};
|
|
717
717
|
|
|
718
|
-
${false
|
|
718
|
+
${false};
|
|
719
719
|
|
|
720
720
|
${t.extendCss};
|
|
721
721
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitus-labs-unistyle.native.js","sources":["../src/responsive/breakpoints.ts","../src/responsive/createMediaQueries.ts","../src/responsive/sortBreakpoints.ts","../src/responsive/normalizeTheme.ts","../src/responsive/transformTheme.ts","../src/responsive/optimizeTheme.ts","../src/responsive/makeItResponsive.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 extends {},\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(\n (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[]) => css`\n @media only screen and (min-width: ${emSize}em) {\n ${css(...args)};\n }\n `\n }\n\n return result\n },\n {} as { [I in keyof typeof breakpoints]: ReturnType<typeof css> },\n )\n\nexport default createMediaQueries\n","export type SortBreakpoints = <T extends Record<string, number>>(\n breakpoints: T,\n) => (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","type AssignToBreakpointKey = (\n breakpoints: string[],\n) => (\n value: (\n breakpoint: string,\n i: number,\n breakpoints: string[],\n result: Record<string, unknown>,\n ) => void,\n) => Record<string, unknown>\n\nconst assignToBreakpointKey: AssignToBreakpointKey =\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: (string | number)[]) => (_: any, i: number) => {\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 =\n (obj: Record<string, unknown>) =>\n (bp: string, i: number, bps: string[], res) => {\n const currentValue = obj[bp]\n const previousValue = res[bps[i - 1]!]\n\n // check for non-nullable values\n if (currentValue != null) return currentValue\n return previousValue\n }\n\nconst handleValueCb = (value: unknown) => () => value\n\nconst shouldNormalize = (props: Record<string, any>) =>\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: string[]\n}) => Record<string, unknown>\n\nconst normalizeTheme: NormalizeTheme = ({ theme, breakpoints }) => {\n if (!shouldNormalize(theme)) return theme\n\n const getBpValues = assignToBreakpointKey(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 as any))\n }\n // if it's an object\n else if (typeof value === 'object') {\n result[key] = getBpValues(handleObjectCb(value as Record<string, any>))\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, set } from '@vitus-labs/core'\n\nconst removeUnexpectedKeys = (obj: Record<string, unknown>, keys: string[]) => {\n const result = {}\n\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: string[]\n}) => any\n\nconst transformTheme: TransformTheme = ({ 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\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 = Partial<{\n rootSize: number\n breakpoints: Record<string, number>\n __VITUS_LABS__: Partial<{\n media: ReturnType<typeof createMediaQueries>\n sortedBreakpoints: ReturnType<typeof sortBreakpoints>\n }>\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?: 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","import React, { useMemo } from 'react'\nimport type { 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\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","type Value<V> = V extends string ? number : V\ntype Unit<V> = V extends string ? string : undefined\n\nexport type StripUnit = <V extends string | number, 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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return value as any\n}\n\nexport default stripUnit\n","import stripUnit from './stripUnit'\n\ntype CssUnits =\n | 'px'\n | 'rem'\n | '%'\n | 'em'\n | 'ex'\n | 'cm'\n | 'mm'\n | 'in'\n | 'pt'\n | 'pc'\n | 'ch'\n | 'vh'\n | 'vw'\n | 'vmin'\n | 'vmax'\n\nconst isNotValue = (value) => !value && value !== 0\n\nexport type Value = (\n param: string | number | null | undefined,\n rootSize?: number,\n outputUnit?: CssUnits,\n) => string | number | null\n\nconst value: Value = (\n param,\n rootSize = 16,\n outputUnit = __WEB__ ? 'rem' : 'px',\n) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (isNotValue(param)) return null as any\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: unknown[]) => number | string\nconst getValueOf: GetValueOf = (...values: any[]) =>\n values.find((value) => typeof value !== 'undefined' && value !== null)\n\nexport type Values = (\n values: unknown[],\n rootSize?: number,\n outputUnit?: Units,\n) => string | number\n\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 { PropertyValue } from '~/types'\n\nconst isValidValue = (value) => !!value || value === 0\n\nexport type BorderRadius = (\n rootSize?: number,\n) => (props: {\n full: PropertyValue | null | undefined\n top: PropertyValue | null | undefined\n bottom: PropertyValue | null | undefined\n left: PropertyValue | null | undefined\n right: PropertyValue | null | undefined\n topLeft: PropertyValue | null | undefined\n topRight: PropertyValue | null | undefined\n bottomLeft: PropertyValue | null | undefined\n bottomRight: PropertyValue | 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 { InnerTheme, Theme } from './types'\n\nexport type { Theme as StylesTheme }\n\nexport type Styles = ({\n theme,\n css,\n rootSize,\n}: {\n theme: InnerTheme\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 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 ${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-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 content-visibility: ${t.contentVisibility};\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: 'row-reverse',\n rows: 'column',\n reverseRows: 'column-reverse',\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.native.js","sources":["../src/responsive/breakpoints.ts","../src/responsive/createMediaQueries.ts","../src/responsive/sortBreakpoints.ts","../src/responsive/normalizeTheme.ts","../src/responsive/transformTheme.ts","../src/responsive/optimizeTheme.ts","../src/responsive/makeItResponsive.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 extends {},\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(\n (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[]) => css`\n @media only screen and (min-width: ${emSize}em) {\n ${css(...args)};\n }\n `\n }\n\n return result\n },\n {} as { [I in keyof typeof breakpoints]: ReturnType<typeof css> },\n )\n\nexport default createMediaQueries\n","export type SortBreakpoints = <T extends Record<string, number>>(\n breakpoints: T,\n) => (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","type AssignToBreakpointKey = (\n breakpoints: string[],\n) => (\n value: (\n breakpoint: string,\n i: number,\n breakpoints: string[],\n result: Record<string, unknown>,\n ) => void,\n) => Record<string, unknown>\n\nconst assignToBreakpointKey: AssignToBreakpointKey =\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: (string | number)[]) => (_: any, i: number) => {\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 =\n (obj: Record<string, unknown>) =>\n (bp: string, i: number, bps: string[], res) => {\n const currentValue = obj[bp]\n const previousValue = res[bps[i - 1]!]\n\n // check for non-nullable values\n if (currentValue != null) return currentValue\n return previousValue\n }\n\nconst handleValueCb = (value: unknown) => () => value\n\nconst shouldNormalize = (props: Record<string, any>) =>\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: string[]\n}) => Record<string, unknown>\n\nconst normalizeTheme: NormalizeTheme = ({ theme, breakpoints }) => {\n if (!shouldNormalize(theme)) return theme\n\n const getBpValues = assignToBreakpointKey(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 as any))\n }\n // if it's an object\n else if (typeof value === 'object') {\n result[key] = getBpValues(handleObjectCb(value as Record<string, any>))\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, set } from '@vitus-labs/core'\n\nconst removeUnexpectedKeys = (obj: Record<string, unknown>, keys: string[]) => {\n const result = {}\n\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: string[]\n}) => any\n\nconst transformTheme: TransformTheme = ({ 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\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 = Partial<{\n rootSize: number\n breakpoints: Record<string, number>\n __VITUS_LABS__: Partial<{\n media: ReturnType<typeof createMediaQueries>\n sortedBreakpoints: ReturnType<typeof sortBreakpoints>\n }>\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?: 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","import React, { useMemo } from 'react'\nimport type { 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\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","type Value<V> = V extends string ? number : V\ntype Unit<V> = V extends string ? string : undefined\n\nexport type StripUnit = <V extends string | number, 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 // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return value as any\n}\n\nexport default stripUnit\n","import stripUnit from './stripUnit'\n\ntype CssUnits =\n | 'px'\n | 'rem'\n | '%'\n | 'em'\n | 'ex'\n | 'cm'\n | 'mm'\n | 'in'\n | 'pt'\n | 'pc'\n | 'ch'\n | 'vh'\n | 'vw'\n | 'vmin'\n | 'vmax'\n\nconst isNotValue = (value) => !value && value !== 0\n\nexport type Value = (\n param: string | number | null | undefined,\n rootSize?: number,\n outputUnit?: CssUnits,\n) => string | number | null\n\nconst value: Value = (\n param,\n rootSize = 16,\n outputUnit = __WEB__ ? 'rem' : 'px',\n) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (isNotValue(param)) return null as any\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: unknown[]) => number | string\nconst getValueOf: GetValueOf = (...values: any[]) =>\n values.find((value) => typeof value !== 'undefined' && value !== null)\n\nexport type Values = (\n values: unknown[],\n rootSize?: number,\n outputUnit?: Units,\n) => string | number\n\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 { PropertyValue } from '~/types'\n\nconst isValidValue = (value) => !!value || value === 0\n\nexport type BorderRadius = (\n rootSize?: number,\n) => (props: {\n full: PropertyValue | null | undefined\n top: PropertyValue | null | undefined\n bottom: PropertyValue | null | undefined\n left: PropertyValue | null | undefined\n right: PropertyValue | null | undefined\n topLeft: PropertyValue | null | undefined\n topRight: PropertyValue | null | undefined\n bottomLeft: PropertyValue | null | undefined\n bottomRight: PropertyValue | 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 { InnerTheme, Theme } from './types'\n\nexport type { Theme as StylesTheme }\n\nexport type Styles = ({\n theme,\n css,\n rootSize,\n}: {\n theme: InnerTheme\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 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 ${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-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 content-visibility: ${t.contentVisibility};\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: 'row-reverse',\n rows: 'column',\n reverseRows: 'column-reverse',\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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitus-labs/unistyle",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Vit Bokisch <vit@bokisch.cz>",
|
|
6
6
|
"maintainers": [
|
|
@@ -45,10 +45,10 @@
|
|
|
45
45
|
"react": ">= 16.8"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
|
-
"@vitus-labs/core": "1.
|
|
49
|
-
"@vitus-labs/tools-babel": "^1.
|
|
50
|
-
"@vitus-labs/tools-rollup": "^1.
|
|
51
|
-
"@vitus-labs/tools-typescript": "^1.
|
|
48
|
+
"@vitus-labs/core": "1.1.2",
|
|
49
|
+
"@vitus-labs/tools-babel": "^1.4.0",
|
|
50
|
+
"@vitus-labs/tools-rollup": "^1.4.0",
|
|
51
|
+
"@vitus-labs/tools-typescript": "^1.4.0"
|
|
52
52
|
},
|
|
53
|
-
"gitHead": "
|
|
53
|
+
"gitHead": "5ec92a645a9577365f2669a300d97332dd0bfc70"
|
|
54
54
|
}
|