@cerberus-design/styled-system
Version:
Cerberus Design System Panda-CSS styled-system.
52 lines (47 loc) • 1.4 kB
JavaScript
import { compact, getSlotCompoundVariant, memo, splitProps } from '../helpers.mjs';
import { createRecipe } from './create-recipe.mjs';
const fileUploaderDefaultVariants = {}
const fileUploaderCompoundVariants = []
const fileUploaderSlotNames = [
[
"container",
"file-uploader__container"
],
[
"label",
"file-uploader__label"
],
[
"icon",
"file-uploader__icon"
],
[
"heading",
"file-uploader__heading"
],
[
"description",
"file-uploader__description"
],
[
"input",
"file-uploader__input"
]
]
const fileUploaderSlotFns = /* @__PURE__ */ fileUploaderSlotNames.map(([slotName, slotKey]) => [slotName, createRecipe(slotKey, fileUploaderDefaultVariants, getSlotCompoundVariant(fileUploaderCompoundVariants, slotName))])
const fileUploaderFn = memo((props = {}) => {
return Object.fromEntries(fileUploaderSlotFns.map(([slotName, slotFn]) => [slotName, slotFn.recipeFn(props)]))
})
const fileUploaderVariantKeys = []
const getVariantProps = (variants) => ({ ...fileUploaderDefaultVariants, ...compact(variants) })
export const fileUploader = /* @__PURE__ */ Object.assign(fileUploaderFn, {
__recipe__: false,
__name__: 'fileUploader',
raw: (props) => props,
variantKeys: fileUploaderVariantKeys,
variantMap: {},
splitVariantProps(props) {
return splitProps(props, fileUploaderVariantKeys)
},
getVariantProps
})