{"version":3,"file":"VPicker.mjs","names":["VPickerTitle","makeVSheetProps","VSheet","genericComponent","omit","propsFactory","useRender","makeVPickerProps","landscape","Boolean","title","String","VPicker","name","props","setup","_ref","slots","sheetProps","filterProps","hasTitle","_createVNode","_mergeProps","actions","class","style","default","header"],"sources":["../../../src/labs/VPicker/VPicker.tsx"],"sourcesContent":["// Styles\nimport './VPicker.sass'\n\n// Components\nimport { VPickerTitle } from './VPickerTitle'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Utilities\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VPickerSlots = {\n  header: never\n  default: never\n  actions: never\n  title: never\n}\n\nexport const makeVPickerProps = propsFactory({\n  landscape: Boolean,\n  title: String,\n\n  ...omit(makeVSheetProps(), ['color']),\n}, 'VPicker')\n\nexport const VPicker = genericComponent<VPickerSlots>()({\n  name: 'VPicker',\n\n  props: makeVPickerProps(),\n\n  setup (props, { slots }) {\n    useRender(() => {\n      const [sheetProps] = VSheet.filterProps(props)\n      const hasTitle = !!(props.title || slots.title)\n\n      return (\n        <VSheet\n          { ...sheetProps }\n          class={[\n            'v-picker',\n            {\n              'v-picker--landscape': props.landscape,\n              'v-picker--with-actions': !!slots.actions,\n            },\n            props.class,\n          ]}\n          style={ props.style }\n        >\n          { hasTitle && (\n            <VPickerTitle key=\"picker-title\">\n              { slots.title?.() ?? props.title }\n            </VPickerTitle>\n          )}\n\n          { slots.header && (\n            <div class=\"v-picker__header\">\n              { slots.header() }\n            </div>\n          )}\n\n          <div class=\"v-picker__body\">\n            { slots.default?.() }\n          </div>\n\n          { slots.actions && (\n            <div class=\"v-picker__actions\">\n              { slots.actions() }\n            </div>\n          )}\n        </VSheet>\n      )\n    })\n\n    return {}\n  },\n})\n\nexport type VPicker = InstanceType<typeof VPicker>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,YAAY;AAAA,SACZC,eAAe,EAAEC,MAAM,8CAEhC;AAAA,SACSC,gBAAgB,EAAEC,IAAI,EAAEC,YAAY,EAAEC,SAAS,gCAExD;AAQA,OAAO,MAAMC,gBAAgB,GAAGF,YAAY,CAAC;EAC3CG,SAAS,EAAEC,OAAO;EAClBC,KAAK,EAAEC,MAAM;EAEb,GAAGP,IAAI,CAACH,eAAe,EAAE,EAAE,CAAC,OAAO,CAAC;AACtC,CAAC,EAAE,SAAS,CAAC;AAEb,OAAO,MAAMW,OAAO,GAAGT,gBAAgB,EAAgB,CAAC;EACtDU,IAAI,EAAE,SAAS;EAEfC,KAAK,EAAEP,gBAAgB,EAAE;EAEzBQ,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBV,SAAS,CAAC,MAAM;MACd,MAAM,CAACY,UAAU,CAAC,GAAGhB,MAAM,CAACiB,WAAW,CAACL,KAAK,CAAC;MAC9C,MAAMM,QAAQ,GAAG,CAAC,EAAEN,KAAK,CAACJ,KAAK,IAAIO,KAAK,CAACP,KAAK,CAAC;MAE/C,OAAAW,YAAA,CAAAnB,MAAA,EAAAoB,WAAA,CAESJ,UAAU;QAAA,SACR,CACL,UAAU,EACV;UACE,qBAAqB,EAAEJ,KAAK,CAACN,SAAS;UACtC,wBAAwB,EAAE,CAAC,CAACS,KAAK,CAACM;QACpC,CAAC,EACDT,KAAK,CAACU,KAAK,CACZ;QAAA,SACOV,KAAK,CAACW;MAAK;QAAAC,OAAA,EAAAA,CAAA,MAEjBN,QAAQ,IAAAC,YAAA,CAAArB,YAAA;UAAA,OACU;QAAc;UAAA0B,OAAA,EAAAA,CAAA,MAC5BT,KAAK,CAACP,KAAK,IAAI,IAAII,KAAK,CAACJ,KAAK;QAAA,EAEnC,EAECO,KAAK,CAACU,MAAM,IAAAN,YAAA;UAAA,SACD;QAAkB,IACzBJ,KAAK,CAACU,MAAM,EAAE,EAEnB,EAAAN,YAAA;UAAA,SAEU;QAAgB,IACvBJ,KAAK,CAACS,OAAO,IAAI,IAGnBT,KAAK,CAACM,OAAO,IAAAF,YAAA;UAAA,SACF;QAAmB,IAC1BJ,KAAK,CAACM,OAAO,EAAE,EAEpB;MAAA;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}