1 line
5.5 KiB
Plaintext
1 line
5.5 KiB
Plaintext
|
{"version":3,"file":"VDatePickerHeader.mjs","names":["VBtn","VDefaultsProvider","useBackgroundColor","MaybeTransition","EventProp","genericComponent","propsFactory","useRender","makeVDatePickerHeaderProps","appendIcon","String","color","header","transition","onClick","VDatePickerHeader","name","props","emits","click","click:append","setup","_ref","emit","slots","backgroundColorClasses","backgroundColorStyles","onClickAppend","hasContent","default","hasAppend","append","_createVNode","value","prepend","icon","variant"],"sources":["../../../src/components/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 { EventProp, 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 onClick: EventProp<[MouseEvent]>(),\n}, 'VDatePickerHeader')\n\nexport const VDatePickerHeader = genericComponent<VDatePickerHeaderSlots>()({\n name: 'VDatePickerHeader',\n\n props: makeVDatePickerHeaderProps(),\n\n emits: {\n click: () => true,\n 'click:append': () => true,\n },\n\n setup (props, { emit, slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n function onClick () {\n emit('click')\n }\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 {\n 'v-date-picker-header--clickable': !!props.onClick,\n },\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n onClick={ onClick }\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,0CAE1B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,eAAe,4CAExB;AAAA,SACSC,SAAS,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAE7D;AAOA,OAAO,MAAMC,0BAA0B,GAAGF,YAAY,CAAC;EACrDG,UAAU,EAAEC,MAAM;EAClBC,KAAK,EAAED,MAAM;EACbE,MAAM,EAAEF,MAAM;EACdG,UAAU,EAAEH,MAAM;EAClBI,OAAO,EAAEV,SAAS,CAAe;AACnC,CAAC,EAAE
|