vuetify
Version:
Vue Material Component Framework
1 lines • 5.2 kB
Source Map (JSON)
{"version":3,"file":"VDatePickerHeader.mjs","names":["VBtn","VDefaultsProvider","useBackgroundColor","MaybeTransition","genericComponent","propsFactory","useRender","makeVDatePickerHeaderProps","appendIcon","String","color","header","transition","VDatePickerHeader","name","props","emits","click:append","setup","_ref","emit","slots","backgroundColorClasses","backgroundColorStyles","onClickAppend","hasContent","default","hasAppend","append","_createVNode","value","prepend","icon","variant"],"sources":["../../../src/labs/VDatePicker/VDatePickerHeader.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerHeader.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VDatePickerHeaderSlots = {\n prepend: never\n default: never\n append: never\n}\n\nexport const makeVDatePickerHeaderProps = propsFactory({\n appendIcon: String,\n color: String,\n header: String,\n transition: String,\n}, 'VDatePickerHeader')\n\nexport const VDatePickerHeader = genericComponent<VDatePickerHeaderSlots>()({\n name: 'VDatePickerHeader',\n\n props: makeVDatePickerHeaderProps(),\n\n emits: {\n 'click:append': () => true,\n },\n\n setup (props, { emit, slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n function onClickAppend () {\n emit('click:append')\n }\n\n useRender(() => {\n const hasContent = !!(slots.default || props.header)\n const hasAppend = !!(slots.append || props.appendIcon)\n\n return (\n <div\n class={[\n 'v-date-picker-header',\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n >\n { slots.prepend && (\n <div key=\"prepend\" class=\"v-date-picker-header__prepend\">\n { slots.prepend() }\n </div>\n )}\n\n { hasContent && (\n <MaybeTransition key=\"content\" name={ props.transition }>\n <div key={ props.header } class=\"v-date-picker-header__content\">\n { slots.default?.() ?? props.header }\n </div>\n </MaybeTransition>\n )}\n\n { hasAppend && (\n <div class=\"v-date-picker-header__append\">\n { !slots.append ? (\n <VBtn\n key=\"append-btn\"\n icon={ props.appendIcon }\n variant=\"text\"\n onClick={ onClickAppend }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VBtn: {\n icon: props.appendIcon,\n variant: 'text',\n },\n }}\n >\n { slots.append?.() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePickerHeader = InstanceType<typeof VDatePickerHeader>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB,wDAE1B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,eAAe,4CAExB;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAOA,OAAO,MAAMC,0BAA0B,GAAGF,YAAY,CAAC;EACrDG,UAAU,EAAEC,MAAM;EAClBC,KAAK,EAAED,MAAM;EACbE,MAAM,EAAEF,MAAM;EACdG,UAAU,EAAEH;AACd,CAAC,EAAE,mBAAmB,CAAC;AAEvB,OAAO,MAAMI,iBAAiB,GAAGT,gBAAgB,EAA0B,CAAC;EAC1EU,IAAI,EAAE,mBAAmB;EAEzBC,KAAK,EAAER,0BAA0B,EAAE;EAEnCS,KAAK,EAAE;IACL,cAAc,EAAEC,CAAA,KAAM;EACxB,CAAC;EAEDC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG,sBAAsB;MAAEC;IAAsB,CAAC,GAAGrB,kBAAkB,CAACa,KAAK,EAAE,OAAO,CAAC;IAE5F,SAASS,aAAaA,CAAA,EAAI;MACxBJ,IAAI,CAAC,cAAc,CAAC;IACtB;IAEAd,SAAS,CAAC,MAAM;MACd,MAAMmB,UAAU,GAAG,CAAC,EAAEJ,KAAK,CAACK,OAAO,IAAIX,KAAK,CAACJ,MAAM,CAAC;MACpD,MAAMgB,SAAS,GAAG,CAAC,EAAEN,KAAK,CAACO,MAAM,IAAIb,KAAK,CAACP,UAAU,CAAC;MAEtD,OAAAqB,YAAA;QAAA,SAEW,CACL,sBAAsB,EACtBP,sBAAsB,CAACQ,KAAK,CAC7B;QAAA,SACOP,qBAAqB,CAACO;MAAK,IAEjCT,KAAK,CAACU,OAAO,IAAAF,YAAA;QAAA,OACJ,SAAS;QAAA,SAAO;MAA+B,IACpDR,KAAK,CAACU,OAAO,EAAE,EAEpB,EAECN,UAAU,IAAAI,YAAA,CAAA1B,eAAA;QAAA,OACW,SAAS;QAAA,QAAQY,KAAK,CAACH;MAAU;QAAAc,OAAA,EAAAA,CAAA,MAAAG,YAAA;UAAA,OACzCd,KAAK,CAACJ,MAAM;UAAA,SAAS;QAA+B,IAC3DU,KAAK,CAACK,OAAO,IAAI,IAAIX,KAAK,CAACJ,MAAM;MAAA,EAGxC,EAECgB,SAAS,IAAAE,YAAA;QAAA,SACE;MAA8B,IACrC,CAACR,KAAK,CAACO,MAAM,GAAAC,YAAA,CAAA7B,IAAA;QAAA,OAEP,YAAY;QAAA,QACTe,KAAK,CAACP,UAAU;QAAA,WACf,MAAM;QAAA,WACJgB;MAAa,WAAAK,YAAA,CAAA5B,iBAAA;QAAA,OAInB,iBAAiB;QAAA,YACV,CAACc,KAAK,CAACP,UAAU;QAAA,YAClB;UACRR,IAAI,EAAE;YACJgC,IAAI,EAAEjB,KAAK,CAACP,UAAU;YACtByB,OAAO,EAAE;UACX;QACF;MAAC;QAAAP,OAAA,EAAAA,CAAA,MAECL,KAAK,CAACO,MAAM,IAAI;MAAA,EAErB,EAEJ;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}