@yamada-ui/react
Version:
React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion
1 lines • 1.81 kB
Source Map (JSON)
{"version":3,"file":"layer.cjs","names":["defaultLayers: Layers","DEFAULT_LAYERS"],"sources":["../../../../src/core/system/layer.ts"],"sourcesContent":["import type { Dict } from \"../../utils\"\nimport type { LayerScheme, LayersConfig } from \"./index.types\"\nimport { runIfFn } from \"../../utils\"\nimport { DEFAULT_LAYERS } from \"../constant\"\n\nexport interface Layers {\n atRule: string | undefined\n names: string[]\n wrap: (name: LayerScheme, style?: (() => Dict) | Dict) => Dict\n getAtRule?: (name: LayerScheme) => string\n}\n\nexport const defaultLayers: Layers = {\n atRule: undefined,\n names: [] as string[],\n wrap: function (_: LayerScheme, style?: (() => Dict) | Dict) {\n return runIfFn(style) ?? {}\n },\n}\n\nexport function createLayers(\n layers: false | LayersConfig = DEFAULT_LAYERS,\n): Layers {\n if (!layers) return defaultLayers\n\n const names = Object.values(layers)\n .sort((a, b) => a.order - b.order)\n .map((layer) => layer.name)\n const atRule = `@layer ${names.join(\", \")};`\n\n const getAtRule = (name: LayerScheme) => `@layer ${layers[name].name}`\n\n const wrap = (name: LayerScheme, style?: (() => Dict) | Dict) => {\n const atRule = getAtRule(name)\n\n return { [atRule]: runIfFn(style) }\n }\n\n return {\n atRule,\n getAtRule,\n names,\n wrap,\n }\n}\n"],"mappings":";;;;AAYA,MAAaA,gBAAwB;CACnC,QAAQ;CACR,OAAO,EAAE;CACT,MAAM,SAAU,GAAgB,OAA6B;AAC3D,wDAAe,MAAM,IAAI,EAAE;;CAE9B;AAED,SAAgB,aACd,SAA+BC,iCACvB;AACR,KAAI,CAAC,OAAQ,QAAO;CAEpB,MAAM,QAAQ,OAAO,OAAO,OAAO,CAChC,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,CACjC,KAAK,UAAU,MAAM,KAAK;CAC7B,MAAM,SAAS,UAAU,MAAM,KAAK,KAAK,CAAC;CAE1C,MAAM,aAAa,SAAsB,UAAU,OAAO,MAAM;CAEhE,MAAM,QAAQ,MAAmB,UAAgC;AAG/D,SAAO,GAFQ,UAAU,KAAK,kDAEH,MAAM,EAAE;;AAGrC,QAAO;EACL;EACA;EACA;EACA;EACD"}