{"version":3,"file":"VThemeProvider.mjs","names":["makeThemeProps","provideTheme","makeTagProps","genericComponent","VThemeProvider","name","props","withBackground","Boolean","setup","slots","themeClasses","default","value"],"sources":["../../../src/components/VThemeProvider/VThemeProvider.tsx"],"sourcesContent":["// Styles\nimport './VThemeProvider.sass'\n\n// Composables\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { genericComponent } from '@/util'\n\nexport const VThemeProvider = genericComponent()({\n  name: 'VThemeProvider',\n\n  props: {\n    withBackground: Boolean,\n\n    ...makeThemeProps(),\n    ...makeTagProps(),\n  },\n\n  setup (props, { slots }) {\n    const { themeClasses } = provideTheme(props)\n\n    return () => {\n      if (!props.withBackground) return slots.default?.()\n\n      return (\n        <props.tag class={['v-theme-provider', themeClasses.value]}>\n          { slots.default?.() }\n        </props.tag>\n      )\n    }\n  },\n})\n\nexport type VThemeProvider = InstanceType<typeof VThemeProvider>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,cAAc,EAAEC,YAAY;AAAA,SAC5BC,YAAY,qCAErB;AAAA,SACSC,gBAAgB;AAEzB,OAAO,MAAMC,cAAc,GAAGD,gBAAgB,EAAE,CAAC;EAC/CE,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAE;IACLC,cAAc,EAAEC,OAAO;IAEvB,GAAGR,cAAc,EAAE;IACnB,GAAGE,YAAY;EACjB,CAAC;EAEDO,KAAK,CAAEH,KAAK,QAAa;IAAA,IAAX;MAAEI;IAAM,CAAC;IACrB,MAAM;MAAEC;IAAa,CAAC,GAAGV,YAAY,CAACK,KAAK,CAAC;IAE5C,OAAO,MAAM;MACX,IAAI,CAACA,KAAK,CAACC,cAAc,EAAE,OAAOG,KAAK,CAACE,OAAO,IAAI;MAEnD;QAAA,SACoB,CAAC,kBAAkB,EAAED,YAAY,CAACE,KAAK;MAAC;QAAA,gBACtDH,KAAK,CAACE,OAAO,IAAI;MAAA;IAGzB,CAAC;EACH;AACF,CAAC,CAAC"}