@cerberus-design/styled-system
Version:
Cerberus Design System Panda-CSS styled-system.
68 lines (63 loc) • 1.43 kB
JavaScript
import { compact, getSlotCompoundVariant, memo, splitProps } from '../helpers.mjs';
import { createRecipe } from './create-recipe.mjs';
const dialogDefaultVariants = {
"size": "md"
}
const dialogCompoundVariants = []
const dialogSlotNames = [
[
"trigger",
"dialog__trigger"
],
[
"backdrop",
"dialog__backdrop"
],
[
"positioner",
"dialog__positioner"
],
[
"content",
"dialog__content"
],
[
"title",
"dialog__title"
],
[
"description",
"dialog__description"
],
[
"closeTrigger",
"dialog__closeTrigger"
]
]
const dialogSlotFns = /* @__PURE__ */ dialogSlotNames.map(([slotName, slotKey]) => [slotName, createRecipe(slotKey, dialogDefaultVariants, getSlotCompoundVariant(dialogCompoundVariants, slotName))])
const dialogFn = memo((props = {}) => {
return Object.fromEntries(dialogSlotFns.map(([slotName, slotFn]) => [slotName, slotFn.recipeFn(props)]))
})
const dialogVariantKeys = [
"size"
]
const getVariantProps = (variants) => ({ ...dialogDefaultVariants, ...compact(variants) })
export const dialog = /* @__PURE__ */ Object.assign(dialogFn, {
__recipe__: false,
__name__: 'dialog',
raw: (props) => props,
variantKeys: dialogVariantKeys,
variantMap: {
"size": [
"xs",
"sm",
"md",
"lg",
"full"
]
},
splitVariantProps(props) {
return splitProps(props, dialogVariantKeys)
},
getVariantProps
})