@vuetify/nightly 3.9.0-beta.1-dev.2025-06-28 → 3.9.0-beta.1-dev.2025-07-02

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.md +100 -3
  2. package/dist/json/attributes.json +725 -725
  3. package/dist/json/importMap-labs.json +30 -30
  4. package/dist/json/importMap.json +156 -156
  5. package/dist/json/web-types.json +1311 -1311
  6. package/dist/vuetify-labs.cjs +61 -63
  7. package/dist/vuetify-labs.css +4207 -4207
  8. package/dist/vuetify-labs.d.ts +203 -203
  9. package/dist/vuetify-labs.esm.js +61 -63
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +61 -63
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +36 -39
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +4469 -4469
  16. package/dist/vuetify.d.ts +60 -60
  17. package/dist/vuetify.esm.js +36 -39
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +36 -39
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +34 -35
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VDataTable/VDataTableColumn.js +0 -1
  25. package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
  26. package/lib/components/VDataTable/VDataTableHeaders.js +5 -5
  27. package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
  28. package/lib/components/VDataTable/composables/sort.js +2 -1
  29. package/lib/components/VDataTable/composables/sort.js.map +1 -1
  30. package/lib/components/VDatePicker/VDatePickerMonth.js +1 -2
  31. package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
  32. package/lib/components/VOtpInput/VOtpInput.js +17 -14
  33. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  34. package/lib/components/VOverlay/locationStrategies.js +1 -1
  35. package/lib/components/VOverlay/locationStrategies.js.map +1 -1
  36. package/lib/components/VTextField/VTextField.js +1 -1
  37. package/lib/components/VTextField/VTextField.js.map +1 -1
  38. package/lib/composables/calendar.d.ts +0 -1
  39. package/lib/composables/calendar.js +6 -10
  40. package/lib/composables/calendar.js.map +1 -1
  41. package/lib/composables/date/adapters/vuetify.js +1 -1
  42. package/lib/composables/date/adapters/vuetify.js.map +1 -1
  43. package/lib/composables/virtual.js +1 -1
  44. package/lib/composables/virtual.js.map +1 -1
  45. package/lib/entry-bundler.js +1 -1
  46. package/lib/framework.d.ts +60 -60
  47. package/lib/framework.js +1 -1
  48. package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
  49. package/lib/labs/VCalendar/VCalendar.js +9 -9
  50. package/lib/labs/VCalendar/VCalendar.js.map +1 -1
  51. package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
  52. package/lib/labs/VCalendar/VCalendarDay.js +1 -1
  53. package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
  54. package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
  55. package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
  56. package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
  57. package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
  58. package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
  59. package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
  60. package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
  61. package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
  62. package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
  63. package/lib/labs/VIconBtn/VIconBtn.js +1 -0
  64. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  65. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendarInterval.js","names":["VCalendarIntervalEvent","useDate","computed","convertToUnit","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarIntervalProps","day","type","Object","default","dayIndex","Number","events","Array","intervalDivisions","intervalDuration","intervalHeight","intervalFormat","String","Function","intervalStart","VCalendarInterval","name","inheritAttrs","props","index","required","setup","_ref","attrs","emit","slots","adapter","interval","start","addMinutes","startOfDay","date","end","label","format","filter","e","allDay","isEqual","isWithinRange","map","first","last","_createElementVNode","_normalizeStyle","_mergeProps","intervalTitle","value","some","intervalBody","event","_createVNode","intervalEvent","_ref2","height","margin","eventClass","_ref3"],"sources":["../../../src/labs/VCalendar/VCalendarInterval.tsx"],"sourcesContent":["// Styles\nimport './VCalendarInterval.sass'\n\n// Components\nimport { VCalendarIntervalEvent } from './VCalendarIntervalEvent'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\ntype Interval = {\n label: string\n start: unknown\n end: unknown\n events: any[]\n}\n\nexport type VCalendarIntervalSlots = {\n intervalBody: { interval: Interval }\n intervalEvent: {\n height: string\n margin: string\n eventClass: string\n event: any\n interval: Interval\n }\n intervalTitle: { interval: Interval }\n}\n\nexport const makeVCalendarIntervalProps = propsFactory({\n day: {\n type: Object,\n default: () => ({}),\n },\n dayIndex: Number,\n events: Array<any>,\n intervalDivisions: {\n type: Number,\n default: 2,\n },\n intervalDuration: {\n type: Number,\n default: 60,\n },\n intervalHeight: {\n type: Number,\n default: 48,\n },\n intervalFormat: {\n type: [String, Function],\n default: 'fullTime12h',\n },\n intervalStart: {\n type: Number,\n default: 0,\n },\n}, 'VCalendarInterval')\n\nexport const VCalendarInterval = genericComponent<VCalendarIntervalSlots>()({\n name: 'VCalendarInterval',\n\n inheritAttrs: false,\n\n props: {\n index: {\n type: Number,\n required: true,\n },\n\n ...makeVCalendarIntervalProps(),\n },\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n const interval = computed(() => {\n const start = adapter.addMinutes(adapter.startOfDay(props.day.date), (props.intervalDuration * (props.index + props.intervalStart)))\n const end = adapter.addMinutes(\n adapter.startOfDay(props.day.date),\n (props.intervalDuration * (props.index + props.intervalStart + 1)) - 1\n )\n return {\n ...props.day,\n label: adapter.format(start, 'fullTime24h'),\n start,\n end,\n events: props.events\n ? props.events\n .filter(e => !e.allDay &&\n (adapter.isEqual(start, e.start) ||\n adapter.isWithinRange(e.start, [start, end]) ||\n adapter.isWithinRange(start, [e.start, e.end]) ||\n adapter.isEqual(end, e.end))\n )\n .map(e => {\n return {\n ...e,\n first: adapter.isEqual(start, e.start) || adapter.isWithinRange(e.start, [start, end]),\n last: adapter.isEqual(end, e.end) || adapter.isWithinRange(e.end, [start, end]),\n }\n })\n : [],\n }\n })\n\n useRender(() => {\n return (\n props.dayIndex === 0 ? (\n <div class=\"v-calendar-day__row-with-label\" style={ `height: ${convertToUnit(props.intervalHeight)}` }>\n <div\n class=\"v-calendar-day__row-label\"\n { ...getPrefixedEventHandlers(attrs, ':time', () => props) }\n >\n {\n slots.intervalTitle?.({ interval: interval.value }) ?? (\n props.index\n ? props.intervalFormat\n ? typeof props.intervalFormat === 'string'\n ? adapter.format(interval.value.start, 'hours12h')\n : props.intervalFormat(interval.value)\n : interval.value.label\n : '12 AM'\n )\n }\n </div>\n <div class=\"v-calendar-day__row-hairline\"></div>\n <div\n class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through'\n : '']}\n { ...getPrefixedEventHandlers(attrs, ':interval', () => interval.value) }\n >\n {\n slots.intervalBody?.({ interval: interval.value }) ?? (\n <div>\n {\n interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n { ...attrs }\n >\n {{\n ...(slots.intervalEvent ? {\n intervalEvent: ({ height, margin, eventClass, event, interval }) => (\n slots.intervalEvent?.({ height, margin, eventClass, event, interval })\n ),\n } : {}),\n }}\n </VCalendarIntervalEvent>\n ))\n }\n </div>\n )\n }\n </div>\n </div>\n ) : (\n <div\n class=\"v-calendar-day__row-without-label\"\n style={ `height: ${convertToUnit(props.intervalHeight)}` }\n >\n <div\n class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through' : '']}\n { ...getPrefixedEventHandlers(attrs, ':interval', () => interval.value) }\n >\n {\n slots.intervalBody?.({ interval: interval.value }) ?? (\n interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n { ...attrs }\n >\n {{\n ...(slots.intervalEvent ? {\n intervalEvent: ({ height, margin, eventClass, event, interval }) => (\n slots.intervalEvent?.({ height, margin, eventClass, event, interval })\n ),\n } : {}),\n }}\n </VCalendarIntervalEvent>\n ))\n )\n }\n </div>\n </div>\n )\n )\n })\n\n return { interval }\n },\n})\n\nexport type VCalendarInterval = InstanceType<typeof VCalendarInterval>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,sBAAsB,uCAE/B;AAAA,SACSC,OAAO,2CAEhB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,aAAa,EAAEC,gBAAgB,EAAEC,wBAAwB,EAAEC,YAAY,EAAEC,SAAS;AAqB3F,OAAO,MAAMC,0BAA0B,GAAGF,YAAY,CAAC;EACrDG,GAAG,EAAE;IACHC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAEA,CAAA,MAAO,CAAC,CAAC;EACpB,CAAC;EACDC,QAAQ,EAAEC,MAAM;EAChBC,MAAM,EAAEC,KAAU;EAClBC,iBAAiB,EAAE;IACjBP,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACX,CAAC;EACDM,gBAAgB,EAAE;IAChBR,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACX,CAAC;EACDO,cAAc,EAAE;IACdT,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACX,CAAC;EACDQ,cAAc,EAAE;IACdV,IAAI,EAAE,CAACW,MAAM,EAAEC,QAAQ,CAAC;IACxBV,OAAO,EAAE;EACX,CAAC;EACDW,aAAa,EAAE;IACbb,IAAI,EAAEI,MAAM;IACZF,OAAO,EAAE;EACX;AACF,CAAC,EAAE,mBAAmB,CAAC;AAEvB,OAAO,MAAMY,iBAAiB,GAAGpB,gBAAgB,CAAyB,CAAC,CAAC;EAC1EqB,IAAI,EAAE,mBAAmB;EAEzBC,YAAY,EAAE,KAAK;EAEnBC,KAAK,EAAE;IACLC,KAAK,EAAE;MACLlB,IAAI,EAAEI,MAAM;MACZe,QAAQ,EAAE;IACZ,CAAC;IAED,GAAGrB,0BAA0B,CAAC;EAChC,CAAC;EAEDsB,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAA0B;IAAA,IAAxB;MAAEC,KAAK;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAH,IAAA;IAClC,MAAMI,OAAO,GAAGlC,OAAO,CAAC,CAAC;IACzB,MAAMmC,QAAQ,GAAGlC,QAAQ,CAAC,MAAM;MAC9B,MAAMmC,KAAK,GAAGF,OAAO,CAACG,UAAU,CAACH,OAAO,CAACI,UAAU,CAACZ,KAAK,CAAClB,GAAG,CAAC+B,IAAI,CAAC,EAAGb,KAAK,CAACT,gBAAgB,IAAIS,KAAK,CAACC,KAAK,GAAGD,KAAK,CAACJ,aAAa,CAAE,CAAC;MACpI,MAAMkB,GAAG,GAAGN,OAAO,CAACG,UAAU,CAC5BH,OAAO,CAACI,UAAU,CAACZ,KAAK,CAAClB,GAAG,CAAC+B,IAAI,CAAC,EACjCb,KAAK,CAACT,gBAAgB,IAAIS,KAAK,CAACC,KAAK,GAAGD,KAAK,CAACJ,aAAa,GAAG,CAAC,CAAC,GAAI,CACvE,CAAC;MACD,OAAO;QACL,GAAGI,KAAK,CAAClB,GAAG;QACZiC,KAAK,EAAEP,OAAO,CAACQ,MAAM,CAACN,KAAK,EAAE,aAAa,CAAC;QAC3CA,KAAK;QACLI,GAAG;QACH1B,MAAM,EAAEY,KAAK,CAACZ,MAAM,GAChBY,KAAK,CAACZ,MAAM,CACX6B,MAAM,CAACC,CAAC,IAAI,CAACA,CAAC,CAACC,MAAM,KACnBX,OAAO,CAACY,OAAO,CAACV,KAAK,EAAEQ,CAAC,CAACR,KAAK,CAAC,IAChCF,OAAO,CAACa,aAAa,CAACH,CAAC,CAACR,KAAK,EAAE,CAACA,KAAK,EAAEI,GAAG,CAAC,CAAC,IAC5CN,OAAO,CAACa,aAAa,CAACX,KAAK,EAAE,CAACQ,CAAC,CAACR,KAAK,EAAEQ,CAAC,CAACJ,GAAG,CAAC,CAAC,IAC9CN,OAAO,CAACY,OAAO,CAACN,GAAG,EAAEI,CAAC,CAACJ,GAAG,CAAC,CAC7B,CAAC,CACAQ,GAAG,CAACJ,CAAC,IAAI;UACR,OAAO;YACL,GAAGA,CAAC;YACJK,KAAK,EAAEf,OAAO,CAACY,OAAO,CAACV,KAAK,EAAEQ,CAAC,CAACR,KAAK,CAAC,IAAIF,OAAO,CAACa,aAAa,CAACH,CAAC,CAACR,KAAK,EAAE,CAACA,KAAK,EAAEI,GAAG,CAAC,CAAC;YACtFU,IAAI,EAAEhB,OAAO,CAACY,OAAO,CAACN,GAAG,EAAEI,CAAC,CAACJ,GAAG,CAAC,IAAIN,OAAO,CAACa,aAAa,CAACH,CAAC,CAACJ,GAAG,EAAE,CAACJ,KAAK,EAAEI,GAAG,CAAC;UAChF,CAAC;QACH,CAAC,CAAC,GACF;MACN,CAAC;IACH,CAAC,CAAC;IAEFlC,SAAS,CAAC,MAAM;MACd,OACEoB,KAAK,CAACd,QAAQ,KAAK,CAAC,GAAAuC,mBAAA;QAAA;QAAA,SAAAC,eAAA,CACkC,WAAWlD,aAAa,CAACwB,KAAK,CAACR,cAAc,CAAC,EAAE;MAAA,IAAAiC,mBAAA,QAAAE,WAAA;QAAA;MAAA,GAG3FjD,wBAAwB,CAAC2B,KAAK,EAAE,OAAO,EAAE,MAAML,KAAK,CAAC,IAGxDO,KAAK,CAACqB,aAAa,GAAG;QAAEnB,QAAQ,EAAEA,QAAQ,CAACoB;MAAM,CAAC,CAAC,KACjD7B,KAAK,CAACC,KAAK,GACPD,KAAK,CAACP,cAAc,GAClB,OAAOO,KAAK,CAACP,cAAc,KAAK,QAAQ,GACtCe,OAAO,CAACQ,MAAM,CAACP,QAAQ,CAACoB,KAAK,CAACnB,KAAK,EAAE,UAAU,CAAC,GAChDV,KAAK,CAACP,cAAc,CAACgB,QAAQ,CAACoB,KAAK,CAAC,GACtCpB,QAAQ,CAACoB,KAAK,CAACd,KAAK,GACtB,OAAO,CACZ,IAAAU,mBAAA;QAAA;MAAA,UAAAA,mBAAA,QAAAE,WAAA;QAAA,SAKI,CAAC,6BAA6B,EAAElB,QAAQ,CAACoB,KAAK,CAACzC,MAAM,CAAC0C,IAAI,CAACZ,CAAC,IAAI,CAACA,CAAC,CAACM,IAAI,CAAC,GAC3E,qCAAqC,GACrC,EAAE;MAAC,GACF9C,wBAAwB,CAAC2B,KAAK,EAAE,WAAW,EAAE,MAAMI,QAAQ,CAACoB,KAAK,CAAC,IAGrEtB,KAAK,CAACwB,YAAY,GAAG;QAAEtB,QAAQ,EAAEA,QAAQ,CAACoB;MAAM,CAAC,CAAC,IAAAJ,mBAAA,eAG5ChB,QAAQ,CAACoB,KAAK,CAACzC,MAAM,EAAEkC,GAAG,CAACU,KAAK,IAAAC,YAAA,CAAA5D,sBAAA,EAAAsD,WAAA;QAAA,SAEpBK,KAAK;QAAA,YACFvB,QAAQ,CAACoB,KAAK;QAAA,qBACL7B,KAAK,CAACV,iBAAiB;QAAA,oBACxBU,KAAK,CAACT,gBAAgB;QAAA,kBACxBS,KAAK,CAACR;MAAc,GAChCa,KAAK;QAGR,IAAIE,KAAK,CAAC2B,aAAa,GAAG;UACxBA,aAAa,EAAEC,KAAA;YAAA,IAAC;cAAEC,MAAM;cAAEC,MAAM;cAAEC,UAAU;cAAEN,KAAK;cAAEvB;YAAS,CAAC,GAAA0B,KAAA;YAAA,OAC7D5B,KAAK,CAAC2B,aAAa,GAAG;cAAEE,MAAM;cAAEC,MAAM;cAAEC,UAAU;cAAEN,KAAK;cAAEvB;YAAS,CAAC,CAAC;UAAA;QAE1E,CAAC,GAAG,CAAC,CAAC;MAAC,EAGZ,CAAC,EAGP,OAAAgB,mBAAA;QAAA;QAAA,SAAAC,eAAA,CAOG,WAAWlD,aAAa,CAACwB,KAAK,CAACR,cAAc,CAAC,EAAE;MAAA,IAAAiC,mBAAA,QAAAE,WAAA;QAAA,SAG/C,CAAC,6BAA6B,EAAElB,QAAQ,CAACoB,KAAK,CAACzC,MAAM,CAAC0C,IAAI,CAACZ,CAAC,IAAI,CAACA,CAAC,CAACM,IAAI,CAAC,GAC3E,qCAAqC,GAAG,EAAE;MAAC,GAC1C9C,wBAAwB,CAAC2B,KAAK,EAAE,WAAW,EAAE,MAAMI,QAAQ,CAACoB,KAAK,CAAC,IAGrEtB,KAAK,CAACwB,YAAY,GAAG;QAAEtB,QAAQ,EAAEA,QAAQ,CAACoB;MAAM,CAAC,CAAC,IAChDpB,QAAQ,CAACoB,KAAK,CAACzC,MAAM,EAAEkC,GAAG,CAACU,KAAK,IAAAC,YAAA,CAAA5D,sBAAA,EAAAsD,WAAA;QAAA,SAEpBK,KAAK;QAAA,YACFvB,QAAQ,CAACoB,KAAK;QAAA,qBACL7B,KAAK,CAACV,iBAAiB;QAAA,oBACxBU,KAAK,CAACT,gBAAgB;QAAA,kBACxBS,KAAK,CAACR;MAAc,GAChCa,KAAK;QAGR,IAAIE,KAAK,CAAC2B,aAAa,GAAG;UACxBA,aAAa,EAAEK,KAAA;YAAA,IAAC;cAAEH,MAAM;cAAEC,MAAM;cAAEC,UAAU;cAAEN,KAAK;cAAEvB;YAAS,CAAC,GAAA8B,KAAA;YAAA,OAC7DhC,KAAK,CAAC2B,aAAa,GAAG;cAAEE,MAAM;cAAEC,MAAM;cAAEC,UAAU;cAAEN,KAAK;cAAEvB;YAAS,CAAC,CAAC;UAAA;QAE1E,CAAC,GAAG,CAAC,CAAC;MAAC,EAGZ,CACF,IAIR;IAEL,CAAC,CAAC;IAEF,OAAO;MAAEA;IAAS,CAAC;EACrB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VCalendarInterval.js","names":["VCalendarIntervalEvent","useDate","computed","convertToUnit","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarIntervalProps","day","type","Object","default","dayIndex","Number","events","Array","intervalDivisions","intervalDuration","intervalHeight","intervalFormat","String","Function","intervalStart","VCalendarInterval","name","inheritAttrs","props","index","required","setup","_ref","attrs","emit","slots","adapter","interval","start","addMinutes","startOfDay","date","end","label","format","filter","e","allDay","isEqual","isWithinRange","map","first","last","_createElementVNode","_normalizeStyle","_mergeProps","value","some","event","_createVNode","_ref2","height","margin","eventClass","_ref3"],"sources":["../../../src/labs/VCalendar/VCalendarInterval.tsx"],"sourcesContent":["// Styles\nimport './VCalendarInterval.sass'\n\n// Components\nimport { VCalendarIntervalEvent } from './VCalendarIntervalEvent'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\ntype Interval = {\n label: string\n start: unknown\n end: unknown\n events: any[]\n}\n\nexport type VCalendarIntervalSlots = {\n 'interval-body': { interval: Interval }\n 'interval-event': {\n height: string\n margin: string\n eventClass: string\n event: any\n interval: Interval\n }\n 'interval-title': { interval: Interval }\n}\n\nexport const makeVCalendarIntervalProps = propsFactory({\n day: {\n type: Object,\n default: () => ({}),\n },\n dayIndex: Number,\n events: Array<any>,\n intervalDivisions: {\n type: Number,\n default: 2,\n },\n intervalDuration: {\n type: Number,\n default: 60,\n },\n intervalHeight: {\n type: Number,\n default: 48,\n },\n intervalFormat: {\n type: [String, Function],\n default: 'fullTime12h',\n },\n intervalStart: {\n type: Number,\n default: 0,\n },\n}, 'VCalendarInterval')\n\nexport const VCalendarInterval = genericComponent<VCalendarIntervalSlots>()({\n name: 'VCalendarInterval',\n\n inheritAttrs: false,\n\n props: {\n index: {\n type: Number,\n required: true,\n },\n\n ...makeVCalendarIntervalProps(),\n },\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n const interval = computed(() => {\n const start = adapter.addMinutes(adapter.startOfDay(props.day.date), (props.intervalDuration * (props.index + props.intervalStart)))\n const end = adapter.addMinutes(\n adapter.startOfDay(props.day.date),\n (props.intervalDuration * (props.index + props.intervalStart + 1)) - 1\n )\n return {\n ...props.day,\n label: adapter.format(start, 'fullTime24h'),\n start,\n end,\n events: props.events\n ? props.events\n .filter(e => !e.allDay &&\n (adapter.isEqual(start, e.start) ||\n adapter.isWithinRange(e.start, [start, end]) ||\n adapter.isWithinRange(start, [e.start, e.end]) ||\n adapter.isEqual(end, e.end))\n )\n .map(e => {\n return {\n ...e,\n first: adapter.isEqual(start, e.start) || adapter.isWithinRange(e.start, [start, end]),\n last: adapter.isEqual(end, e.end) || adapter.isWithinRange(e.end, [start, end]),\n }\n })\n : [],\n }\n })\n\n useRender(() => {\n return (\n props.dayIndex === 0 ? (\n <div class=\"v-calendar-day__row-with-label\" style={ `height: ${convertToUnit(props.intervalHeight)}` }>\n <div\n class=\"v-calendar-day__row-label\"\n { ...getPrefixedEventHandlers(attrs, ':time', () => props) }\n >\n {\n slots['interval-title']?.({ interval: interval.value }) ?? (\n props.index\n ? props.intervalFormat\n ? typeof props.intervalFormat === 'string'\n ? adapter.format(interval.value.start, 'hours12h')\n : props.intervalFormat(interval.value)\n : interval.value.label\n : '12 AM'\n )\n }\n </div>\n <div class=\"v-calendar-day__row-hairline\"></div>\n <div\n class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through'\n : '']}\n { ...getPrefixedEventHandlers(attrs, ':interval', () => interval.value) }\n >\n {\n slots['interval-body']?.({ interval: interval.value }) ?? (\n <div>\n {\n interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n { ...attrs }\n >\n {{\n ...(slots['interval-event'] ? {\n 'interval-event': ({ height, margin, eventClass, event, interval }) => (\n slots['interval-event']?.({ height, margin, eventClass, event, interval })\n ),\n } : {}),\n }}\n </VCalendarIntervalEvent>\n ))\n }\n </div>\n )\n }\n </div>\n </div>\n ) : (\n <div\n class=\"v-calendar-day__row-without-label\"\n style={ `height: ${convertToUnit(props.intervalHeight)}` }\n >\n <div\n class={['v-calendar-day__row-content', interval.value.events.some(e => !e.last)\n ? 'v-calendar-day__row-content-through' : '']}\n { ...getPrefixedEventHandlers(attrs, ':interval', () => interval.value) }\n >\n {\n slots['interval-body']?.({ interval: interval.value }) ?? (\n interval.value.events?.map(event => (\n <VCalendarIntervalEvent\n event={ event }\n interval={ interval.value }\n intervalDivisions={ props.intervalDivisions }\n intervalDuration={ props.intervalDuration }\n intervalHeight={ props.intervalHeight }\n { ...attrs }\n >\n {{\n ...(slots['interval-event'] ? {\n 'interval-event': ({ height, margin, eventClass, event, interval }) => (\n slots['interval-event']?.({ height, margin, eventClass, event, interval })\n ),\n } : {}),\n }}\n </VCalendarIntervalEvent>\n ))\n )\n }\n </div>\n </div>\n )\n )\n })\n\n return { interval }\n },\n})\n\nexport type VCalendarInterval = InstanceType<typeof VCalendarInterval>\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  export type VCalendarIntervalEventSlots = {
2
- intervalEvent: {
2
+ 'interval-event': {
3
3
  height: string;
4
4
  margin: string;
5
5
  eventClass: string;
@@ -69,7 +69,7 @@ export declare const VCalendarIntervalEvent: {
69
69
  event?: Record<string, any> | undefined;
70
70
  } & {
71
71
  $children?: {} | import("vue").VNodeChild | {
72
- intervalEvent?: ((arg: {
72
+ 'interval-event'?: ((arg: {
73
73
  height: string;
74
74
  margin: string;
75
75
  eventClass: string;
@@ -78,7 +78,7 @@ export declare const VCalendarIntervalEvent: {
78
78
  }) => import("vue").VNodeChild) | undefined;
79
79
  };
80
80
  'v-slots'?: {
81
- intervalEvent?: false | ((arg: {
81
+ 'interval-event'?: false | ((arg: {
82
82
  height: string;
83
83
  margin: string;
84
84
  eventClass: string;
@@ -87,7 +87,7 @@ export declare const VCalendarIntervalEvent: {
87
87
  }) => import("vue").VNodeChild) | undefined;
88
88
  } | undefined;
89
89
  } & {
90
- "v-slot:intervalEvent"?: false | ((arg: {
90
+ "v-slot:interval-event"?: false | ((arg: {
91
91
  height: string;
92
92
  margin: string;
93
93
  eventClass: string;
@@ -97,7 +97,7 @@ export declare const VCalendarIntervalEvent: {
97
97
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
98
98
  allDay: boolean;
99
99
  }, true, {}, import("vue").SlotsType<Partial<{
100
- intervalEvent: (arg: {
100
+ 'interval-event': (arg: {
101
101
  height: string;
102
102
  margin: string;
103
103
  eventClass: string;
@@ -121,7 +121,7 @@ export declare const VCalendarIntervalEvent: {
121
121
  event?: Record<string, any> | undefined;
122
122
  } & {
123
123
  $children?: {} | import("vue").VNodeChild | {
124
- intervalEvent?: ((arg: {
124
+ 'interval-event'?: ((arg: {
125
125
  height: string;
126
126
  margin: string;
127
127
  eventClass: string;
@@ -130,7 +130,7 @@ export declare const VCalendarIntervalEvent: {
130
130
  }) => import("vue").VNodeChild) | undefined;
131
131
  };
132
132
  'v-slots'?: {
133
- intervalEvent?: false | ((arg: {
133
+ 'interval-event'?: false | ((arg: {
134
134
  height: string;
135
135
  margin: string;
136
136
  eventClass: string;
@@ -139,7 +139,7 @@ export declare const VCalendarIntervalEvent: {
139
139
  }) => import("vue").VNodeChild) | undefined;
140
140
  } | undefined;
141
141
  } & {
142
- "v-slot:intervalEvent"?: false | ((arg: {
142
+ "v-slot:interval-event"?: false | ((arg: {
143
143
  height: string;
144
144
  margin: string;
145
145
  eventClass: string;
@@ -162,7 +162,7 @@ export declare const VCalendarIntervalEvent: {
162
162
  event?: Record<string, any> | undefined;
163
163
  } & {
164
164
  $children?: {} | import("vue").VNodeChild | {
165
- intervalEvent?: ((arg: {
165
+ 'interval-event'?: ((arg: {
166
166
  height: string;
167
167
  margin: string;
168
168
  eventClass: string;
@@ -171,7 +171,7 @@ export declare const VCalendarIntervalEvent: {
171
171
  }) => import("vue").VNodeChild) | undefined;
172
172
  };
173
173
  'v-slots'?: {
174
- intervalEvent?: false | ((arg: {
174
+ 'interval-event'?: false | ((arg: {
175
175
  height: string;
176
176
  margin: string;
177
177
  eventClass: string;
@@ -180,7 +180,7 @@ export declare const VCalendarIntervalEvent: {
180
180
  }) => import("vue").VNodeChild) | undefined;
181
181
  } | undefined;
182
182
  } & {
183
- "v-slot:intervalEvent"?: false | ((arg: {
183
+ "v-slot:interval-event"?: false | ((arg: {
184
184
  height: string;
185
185
  margin: string;
186
186
  eventClass: string;
@@ -190,7 +190,7 @@ export declare const VCalendarIntervalEvent: {
190
190
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
191
191
  allDay: boolean;
192
192
  }, {}, string, import("vue").SlotsType<Partial<{
193
- intervalEvent: (arg: {
193
+ 'interval-event': (arg: {
194
194
  height: string;
195
195
  margin: string;
196
196
  eventClass: string;
@@ -68,7 +68,7 @@ export const VCalendarIntervalEvent = genericComponent()({
68
68
  }
69
69
  };
70
70
  useRender(() => {
71
- return _createElementVNode("div", null, [slots.intervalEvent?.({
71
+ return _createElementVNode("div", null, [slots['interval-event']?.({
72
72
  height: calcHeight().height,
73
73
  margin: calcHeight().margin,
74
74
  eventClass: 'v-calendar-internal-event',
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendarIntervalEvent.js","names":["VSheet","useDate","convertToUnit","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarIntervalEventProps","allDay","Boolean","interval","Object","intervalDivisions","type","Number","required","intervalDuration","intervalHeight","event","VCalendarIntervalEvent","name","inheritAttrs","props","setup","_ref","attrs","emit","slots","adapter","calcHeight","first","last","isEqual","end","height","margin","Array","from","length","_","x","reduce","total","div","index","isBefore","addMinutes","start","_createElementVNode","intervalEvent","eventClass","_createVNode","_mergeProps","color","undefined","day","default","title"],"sources":["../../../src/labs/VCalendar/VCalendarIntervalEvent.tsx"],"sourcesContent":["// Styles\nimport './VCalendarIntervalEvent.sass'\n\n// Components\nimport { VSheet } from '@/components/VSheet'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { convertToUnit, genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\nexport type VCalendarIntervalEventSlots = {\n intervalEvent: { height: string, margin: string, eventClass: string, event: any, interval: any }\n}\n\nexport const makeVCalendarIntervalEventProps = propsFactory({\n allDay: Boolean,\n interval: Object,\n intervalDivisions: {\n type: Number,\n required: true,\n },\n intervalDuration: {\n type: Number,\n required: true,\n },\n intervalHeight: {\n type: Number,\n required: true,\n },\n event: Object,\n}, 'VCalendarIntervalEvent')\n\nexport const VCalendarIntervalEvent = genericComponent<VCalendarIntervalEventSlots>()({\n name: 'VCalendarIntervalEvent',\n\n inheritAttrs: false,\n\n props: makeVCalendarIntervalEventProps(),\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n const calcHeight = () => {\n if ((!props.event?.first && !props.event?.last) || adapter.isEqual(props.event?.end, props.interval?.end)) {\n return { height: `${props.intervalHeight}px`, margin: convertToUnit(0) }\n } else {\n const { height, margin } = Array.from({ length: props.intervalDivisions },\n (_, x: number) => (x + 1) * (props.intervalDuration / props.intervalDivisions)\n )\n .reduce((total, div, index) => {\n if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.end)) {\n return {\n height: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n margin: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n }\n }\n return { height: total.height, margin: total.margin }\n }, { height: '', margin: '' })\n return { height, margin }\n }\n }\n\n useRender(() => {\n return (\n <div>\n {\n slots.intervalEvent?.({\n height: calcHeight().height,\n margin: calcHeight().margin,\n eventClass: 'v-calendar-internal-event',\n event: props.event,\n interval: props.interval,\n }) ?? (\n <VSheet\n height={ calcHeight().height }\n density=\"comfortable\"\n style={ `margin-top: ${calcHeight().margin}` }\n class=\"v-calendar-internal-event\"\n color={ props.event?.color ?? undefined }\n rounded={\n props.event?.first && props.event?.last ? true\n : props.event?.first ? 't'\n : props.event?.last ? 'b'\n : false\n }\n { ...getPrefixedEventHandlers(attrs, ':event', () => ({\n event: props.event,\n allDay: false,\n day: null,\n interval: props.interval,\n intervalDivisions: props.intervalDivisions,\n intervalDuration: props.intervalDuration,\n intervalHeight: props.intervalHeight,\n }))}\n >\n { props.event?.first ? props.event?.title : '' }\n </VSheet>\n )\n }\n </div>\n )\n })\n\n return {}\n },\n\n})\n\nexport type VCalendarIntervalEvent = InstanceType<typeof VCalendarIntervalEvent>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VCalendarIntervalEvent.js","names":["VSheet","useDate","convertToUnit","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarIntervalEventProps","allDay","Boolean","interval","Object","intervalDivisions","type","Number","required","intervalDuration","intervalHeight","event","VCalendarIntervalEvent","name","inheritAttrs","props","setup","_ref","attrs","emit","slots","adapter","calcHeight","first","last","isEqual","end","height","margin","Array","from","length","_","x","reduce","total","div","index","isBefore","addMinutes","start","_createElementVNode","eventClass","_createVNode","_mergeProps","color","undefined","day","default","title"],"sources":["../../../src/labs/VCalendar/VCalendarIntervalEvent.tsx"],"sourcesContent":["// Styles\nimport './VCalendarIntervalEvent.sass'\n\n// Components\nimport { VSheet } from '@/components/VSheet'\n\n// Composables\nimport { useDate } from '@/composables/date'\n\n// Utilities\nimport { convertToUnit, genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\nexport type VCalendarIntervalEventSlots = {\n 'interval-event': { height: string, margin: string, eventClass: string, event: any, interval: any }\n}\n\nexport const makeVCalendarIntervalEventProps = propsFactory({\n allDay: Boolean,\n interval: Object,\n intervalDivisions: {\n type: Number,\n required: true,\n },\n intervalDuration: {\n type: Number,\n required: true,\n },\n intervalHeight: {\n type: Number,\n required: true,\n },\n event: Object,\n}, 'VCalendarIntervalEvent')\n\nexport const VCalendarIntervalEvent = genericComponent<VCalendarIntervalEventSlots>()({\n name: 'VCalendarIntervalEvent',\n\n inheritAttrs: false,\n\n props: makeVCalendarIntervalEventProps(),\n\n setup (props, { attrs, emit, slots }) {\n const adapter = useDate()\n const calcHeight = () => {\n if ((!props.event?.first && !props.event?.last) || adapter.isEqual(props.event?.end, props.interval?.end)) {\n return { height: `${props.intervalHeight}px`, margin: convertToUnit(0) }\n } else {\n const { height, margin } = Array.from({ length: props.intervalDivisions },\n (_, x: number) => (x + 1) * (props.intervalDuration / props.intervalDivisions)\n )\n .reduce((total, div, index) => {\n if (adapter.isBefore(adapter.addMinutes(props.interval?.start, div), props.event?.end)) {\n return {\n height: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n margin: convertToUnit((props.intervalHeight / props.intervalDivisions) * index),\n }\n }\n return { height: total.height, margin: total.margin }\n }, { height: '', margin: '' })\n return { height, margin }\n }\n }\n\n useRender(() => {\n return (\n <div>\n {\n slots['interval-event']?.({\n height: calcHeight().height,\n margin: calcHeight().margin,\n eventClass: 'v-calendar-internal-event',\n event: props.event,\n interval: props.interval,\n }) ?? (\n <VSheet\n height={ calcHeight().height }\n density=\"comfortable\"\n style={ `margin-top: ${calcHeight().margin}` }\n class=\"v-calendar-internal-event\"\n color={ props.event?.color ?? undefined }\n rounded={\n props.event?.first && props.event?.last ? true\n : props.event?.first ? 't'\n : props.event?.last ? 'b'\n : false\n }\n { ...getPrefixedEventHandlers(attrs, ':event', () => ({\n event: props.event,\n allDay: false,\n day: null,\n interval: props.interval,\n intervalDivisions: props.intervalDivisions,\n intervalDuration: props.intervalDuration,\n intervalHeight: props.intervalHeight,\n }))}\n >\n { props.event?.first ? props.event?.title : '' }\n </VSheet>\n )\n }\n </div>\n )\n })\n\n return {}\n },\n\n})\n\nexport type VCalendarIntervalEvent = InstanceType<typeof VCalendarIntervalEvent>\n"],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,16 @@
1
1
  import type { PropType } from 'vue';
2
2
  import type { CalendarDay } from "../../composables/calendar.js";
3
3
  export type VCalendarMonthDaySlots = {
4
- dayBody: {
4
+ 'day-body': {
5
5
  day?: CalendarDay;
6
6
  events?: Array<any>;
7
7
  };
8
- dayEvent: {
8
+ 'day-event': {
9
9
  day?: CalendarDay;
10
10
  allDay: boolean;
11
11
  event: Record<string, unknown>;
12
12
  };
13
- dayTitle: {
13
+ 'day-title': {
14
14
  title?: number | string;
15
15
  };
16
16
  };
@@ -77,60 +77,60 @@ export declare const VCalendarMonthDay: {
77
77
  events?: any[] | undefined;
78
78
  } & {
79
79
  $children?: {} | import("vue").VNodeChild | {
80
- dayBody?: ((arg: {
80
+ 'day-body'?: ((arg: {
81
81
  day?: CalendarDay;
82
82
  events?: Array<any>;
83
83
  }) => import("vue").VNodeChild) | undefined;
84
- dayEvent?: ((arg: {
84
+ 'day-event'?: ((arg: {
85
85
  day?: CalendarDay;
86
86
  allDay: boolean;
87
87
  event: Record<string, unknown>;
88
88
  }) => import("vue").VNodeChild) | undefined;
89
- dayTitle?: ((arg: {
89
+ 'day-title'?: ((arg: {
90
90
  title?: number | string;
91
91
  }) => import("vue").VNodeChild) | undefined;
92
92
  };
93
93
  'v-slots'?: {
94
- dayBody?: false | ((arg: {
94
+ 'day-body'?: false | ((arg: {
95
95
  day?: CalendarDay;
96
96
  events?: Array<any>;
97
97
  }) => import("vue").VNodeChild) | undefined;
98
- dayEvent?: false | ((arg: {
98
+ 'day-event'?: false | ((arg: {
99
99
  day?: CalendarDay;
100
100
  allDay: boolean;
101
101
  event: Record<string, unknown>;
102
102
  }) => import("vue").VNodeChild) | undefined;
103
- dayTitle?: false | ((arg: {
103
+ 'day-title'?: false | ((arg: {
104
104
  title?: number | string;
105
105
  }) => import("vue").VNodeChild) | undefined;
106
106
  } | undefined;
107
107
  } & {
108
- "v-slot:dayBody"?: false | ((arg: {
108
+ "v-slot:day-body"?: false | ((arg: {
109
109
  day?: CalendarDay;
110
110
  events?: Array<any>;
111
111
  }) => import("vue").VNodeChild) | undefined;
112
- "v-slot:dayEvent"?: false | ((arg: {
112
+ "v-slot:day-event"?: false | ((arg: {
113
113
  day?: CalendarDay;
114
114
  allDay: boolean;
115
115
  event: Record<string, unknown>;
116
116
  }) => import("vue").VNodeChild) | undefined;
117
- "v-slot:dayTitle"?: false | ((arg: {
117
+ "v-slot:day-title"?: false | ((arg: {
118
118
  title?: number | string;
119
119
  }) => import("vue").VNodeChild) | undefined;
120
120
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, {
121
121
  active: boolean;
122
122
  disabled: boolean;
123
123
  }, true, {}, import("vue").SlotsType<Partial<{
124
- dayBody: (arg: {
124
+ 'day-body': (arg: {
125
125
  day?: CalendarDay;
126
126
  events?: Array<any>;
127
127
  }) => import("vue").VNode[];
128
- dayEvent: (arg: {
128
+ 'day-event': (arg: {
129
129
  day?: CalendarDay;
130
130
  allDay: boolean;
131
131
  event: Record<string, unknown>;
132
132
  }) => import("vue").VNode[];
133
- dayTitle: (arg: {
133
+ 'day-title': (arg: {
134
134
  title?: number | string;
135
135
  }) => import("vue").VNode[];
136
136
  }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
@@ -150,44 +150,44 @@ export declare const VCalendarMonthDay: {
150
150
  events?: any[] | undefined;
151
151
  } & {
152
152
  $children?: {} | import("vue").VNodeChild | {
153
- dayBody?: ((arg: {
153
+ 'day-body'?: ((arg: {
154
154
  day?: CalendarDay;
155
155
  events?: Array<any>;
156
156
  }) => import("vue").VNodeChild) | undefined;
157
- dayEvent?: ((arg: {
157
+ 'day-event'?: ((arg: {
158
158
  day?: CalendarDay;
159
159
  allDay: boolean;
160
160
  event: Record<string, unknown>;
161
161
  }) => import("vue").VNodeChild) | undefined;
162
- dayTitle?: ((arg: {
162
+ 'day-title'?: ((arg: {
163
163
  title?: number | string;
164
164
  }) => import("vue").VNodeChild) | undefined;
165
165
  };
166
166
  'v-slots'?: {
167
- dayBody?: false | ((arg: {
167
+ 'day-body'?: false | ((arg: {
168
168
  day?: CalendarDay;
169
169
  events?: Array<any>;
170
170
  }) => import("vue").VNodeChild) | undefined;
171
- dayEvent?: false | ((arg: {
171
+ 'day-event'?: false | ((arg: {
172
172
  day?: CalendarDay;
173
173
  allDay: boolean;
174
174
  event: Record<string, unknown>;
175
175
  }) => import("vue").VNodeChild) | undefined;
176
- dayTitle?: false | ((arg: {
176
+ 'day-title'?: false | ((arg: {
177
177
  title?: number | string;
178
178
  }) => import("vue").VNodeChild) | undefined;
179
179
  } | undefined;
180
180
  } & {
181
- "v-slot:dayBody"?: false | ((arg: {
181
+ "v-slot:day-body"?: false | ((arg: {
182
182
  day?: CalendarDay;
183
183
  events?: Array<any>;
184
184
  }) => import("vue").VNodeChild) | undefined;
185
- "v-slot:dayEvent"?: false | ((arg: {
185
+ "v-slot:day-event"?: false | ((arg: {
186
186
  day?: CalendarDay;
187
187
  allDay: boolean;
188
188
  event: Record<string, unknown>;
189
189
  }) => import("vue").VNodeChild) | undefined;
190
- "v-slot:dayTitle"?: false | ((arg: {
190
+ "v-slot:day-title"?: false | ((arg: {
191
191
  title?: number | string;
192
192
  }) => import("vue").VNodeChild) | undefined;
193
193
  }, {}, {}, {}, {}, {
@@ -207,60 +207,60 @@ export declare const VCalendarMonthDay: {
207
207
  events?: any[] | undefined;
208
208
  } & {
209
209
  $children?: {} | import("vue").VNodeChild | {
210
- dayBody?: ((arg: {
210
+ 'day-body'?: ((arg: {
211
211
  day?: CalendarDay;
212
212
  events?: Array<any>;
213
213
  }) => import("vue").VNodeChild) | undefined;
214
- dayEvent?: ((arg: {
214
+ 'day-event'?: ((arg: {
215
215
  day?: CalendarDay;
216
216
  allDay: boolean;
217
217
  event: Record<string, unknown>;
218
218
  }) => import("vue").VNodeChild) | undefined;
219
- dayTitle?: ((arg: {
219
+ 'day-title'?: ((arg: {
220
220
  title?: number | string;
221
221
  }) => import("vue").VNodeChild) | undefined;
222
222
  };
223
223
  'v-slots'?: {
224
- dayBody?: false | ((arg: {
224
+ 'day-body'?: false | ((arg: {
225
225
  day?: CalendarDay;
226
226
  events?: Array<any>;
227
227
  }) => import("vue").VNodeChild) | undefined;
228
- dayEvent?: false | ((arg: {
228
+ 'day-event'?: false | ((arg: {
229
229
  day?: CalendarDay;
230
230
  allDay: boolean;
231
231
  event: Record<string, unknown>;
232
232
  }) => import("vue").VNodeChild) | undefined;
233
- dayTitle?: false | ((arg: {
233
+ 'day-title'?: false | ((arg: {
234
234
  title?: number | string;
235
235
  }) => import("vue").VNodeChild) | undefined;
236
236
  } | undefined;
237
237
  } & {
238
- "v-slot:dayBody"?: false | ((arg: {
238
+ "v-slot:day-body"?: false | ((arg: {
239
239
  day?: CalendarDay;
240
240
  events?: Array<any>;
241
241
  }) => import("vue").VNodeChild) | undefined;
242
- "v-slot:dayEvent"?: false | ((arg: {
242
+ "v-slot:day-event"?: false | ((arg: {
243
243
  day?: CalendarDay;
244
244
  allDay: boolean;
245
245
  event: Record<string, unknown>;
246
246
  }) => import("vue").VNodeChild) | undefined;
247
- "v-slot:dayTitle"?: false | ((arg: {
247
+ "v-slot:day-title"?: false | ((arg: {
248
248
  title?: number | string;
249
249
  }) => import("vue").VNodeChild) | undefined;
250
250
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
251
251
  active: boolean;
252
252
  disabled: boolean;
253
253
  }, {}, string, import("vue").SlotsType<Partial<{
254
- dayBody: (arg: {
254
+ 'day-body': (arg: {
255
255
  day?: CalendarDay;
256
256
  events?: Array<any>;
257
257
  }) => import("vue").VNode[];
258
- dayEvent: (arg: {
258
+ 'day-event': (arg: {
259
259
  day?: CalendarDay;
260
260
  allDay: boolean;
261
261
  event: Record<string, unknown>;
262
262
  }) => import("vue").VNode[];
263
- dayTitle: (arg: {
263
+ 'day-title': (arg: {
264
264
  title?: number | string;
265
265
  }) => import("vue").VNode[];
266
266
  }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("../../util/index.js").FilterPropsOptions<{
@@ -31,7 +31,7 @@ export const VCalendarMonthDay = genericComponent()({
31
31
  }, getPrefixedEventHandlers(attrs, ':day', () => props)), [!props.day?.isHidden ? _createElementVNode("div", {
32
32
  "key": "title",
33
33
  "class": "v-calendar-weekly__day-label"
34
- }, [slots.dayTitle?.({
34
+ }, [slots['day-title']?.({
35
35
  title: props.title
36
36
  }) ?? _createVNode(VBtn, _mergeProps({
37
37
  "class": props.day?.isToday ? 'v-calendar-weekly__day-label__today' : undefined,
@@ -44,12 +44,12 @@ export const VCalendarMonthDay = genericComponent()({
44
44
  }, getPrefixedEventHandlers(attrs, ':date', () => props)), null)]) : undefined, !props.day?.isHidden ? _createElementVNode("div", {
45
45
  "key": "content",
46
46
  "class": "v-calendar-weekly__day-content"
47
- }, [slots.dayBody?.({
47
+ }, [slots['day-body']?.({
48
48
  day: props.day,
49
49
  events: props.events
50
50
  }) ?? _createElementVNode("div", null, [_createElementVNode("div", {
51
51
  "class": "v-calendar-weekly__day-alldayevents-container"
52
- }, [props.events?.filter(event => event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
52
+ }, [props.events?.filter(event => event.allDay).map(event => slots['day-event'] ? slots['day-event']({
53
53
  day: props.day,
54
54
  allDay: true,
55
55
  event
@@ -59,7 +59,7 @@ export const VCalendarMonthDay = genericComponent()({
59
59
  "allDay": true
60
60
  }, attrs), null))]), _createElementVNode("div", {
61
61
  "class": "v-calendar-weekly__day-events-container"
62
- }, [props.events?.filter(event => !event.allDay).map(event => slots.dayEvent ? slots.dayEvent({
62
+ }, [props.events?.filter(event => !event.allDay).map(event => slots['day-event'] ? slots['day-event']({
63
63
  day: props.day,
64
64
  event,
65
65
  allDay: false
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendarMonthDay.js","names":["VCalendarEvent","VBtn","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarMonthDayProps","active","Boolean","color","String","day","type","Object","disabled","events","Array","title","Number","VCalendarMonthDay","name","inheritAttrs","props","setup","_ref","attrs","slots","_createElementVNode","_mergeProps","isHidden","dayTitle","_createVNode","isToday","undefined","dayBody","filter","event","allDay","map","dayEvent"],"sources":["../../../src/labs/VCalendar/VCalendarMonthDay.tsx"],"sourcesContent":["// Styles\nimport './VCalendarMonthDay.sass'\n\n// Components\nimport { VCalendarEvent } from './VCalendarEvent'\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CalendarDay } from '@/composables/calendar'\n\nexport type VCalendarMonthDaySlots = {\n dayBody: { day?: CalendarDay, events?: Array<any> }\n dayEvent: { day?: CalendarDay, allDay: boolean, event: Record<string, unknown> }\n dayTitle: { title?: number | string }\n}\n\nexport const makeVCalendarMonthDayProps = propsFactory({\n active: Boolean,\n color: String,\n day: {\n type: Object as PropType<CalendarDay>,\n },\n disabled: Boolean,\n events: Array<any>,\n title: [Number, String],\n}, 'VCalendarMonthDay')\n\nexport const VCalendarMonthDay = genericComponent<VCalendarMonthDaySlots>()({\n name: 'VCalendarMonthDay',\n\n inheritAttrs: false,\n\n props: makeVCalendarMonthDayProps(),\n\n setup (props, { attrs, slots }) {\n useRender(() => {\n return (\n <div\n class={[\n 'v-calendar-month__day',\n ]}\n { ...getPrefixedEventHandlers(attrs, ':day', () => props) }\n >\n { !props.day?.isHidden ? (\n <div key=\"title\" class=\"v-calendar-weekly__day-label\">\n { slots.dayTitle?.({ title: props.title }) ?? (\n <VBtn\n class={ props.day?.isToday ? 'v-calendar-weekly__day-label__today' : undefined }\n color={ props.color }\n disabled={ props.disabled }\n icon\n size=\"x-small\"\n variant={ props.day?.isToday ? undefined : 'flat' }\n text={ `${props.title}` }\n { ...getPrefixedEventHandlers(attrs, ':date', () => props) }\n />\n )\n }\n </div>\n ) : undefined }\n\n { !props.day?.isHidden ? (\n <div key=\"content\" class=\"v-calendar-weekly__day-content\" >\n { slots.dayBody?.({ day: props.day, events: props.events }) ?? (\n <div>\n <div class=\"v-calendar-weekly__day-alldayevents-container\">\n { props.events?.filter(event => event.allDay).map(event => slots.dayEvent\n ? slots.dayEvent({ day: props.day, allDay: true, event })\n : (\n <VCalendarEvent day={ props.day } event={ event } allDay { ...attrs } />\n ))}\n </div>\n\n <div class=\"v-calendar-weekly__day-events-container\">\n { props.events?.filter(event => !event.allDay).map(event => slots.dayEvent\n ? slots.dayEvent({ day: props.day, event, allDay: false })\n : (\n <VCalendarEvent day={ props.day } event={ event } { ...attrs } />\n ))}\n </div>\n </div>\n )}\n </div>\n ) : undefined }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VCalendarMonthDay = InstanceType<typeof VCalendarMonthDay>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VCalendarMonthDay.js","names":["VCalendarEvent","VBtn","genericComponent","getPrefixedEventHandlers","propsFactory","useRender","makeVCalendarMonthDayProps","active","Boolean","color","String","day","type","Object","disabled","events","Array","title","Number","VCalendarMonthDay","name","inheritAttrs","props","setup","_ref","attrs","slots","_createElementVNode","_mergeProps","isHidden","_createVNode","isToday","undefined","filter","event","allDay","map"],"sources":["../../../src/labs/VCalendar/VCalendarMonthDay.tsx"],"sourcesContent":["// Styles\nimport './VCalendarMonthDay.sass'\n\n// Components\nimport { VCalendarEvent } from './VCalendarEvent'\nimport { VBtn } from '@/components/VBtn'\n\n// Utilities\nimport { genericComponent, getPrefixedEventHandlers, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { CalendarDay } from '@/composables/calendar'\n\nexport type VCalendarMonthDaySlots = {\n 'day-body': { day?: CalendarDay, events?: Array<any> }\n 'day-event': { day?: CalendarDay, allDay: boolean, event: Record<string, unknown> }\n 'day-title': { title?: number | string }\n}\n\nexport const makeVCalendarMonthDayProps = propsFactory({\n active: Boolean,\n color: String,\n day: {\n type: Object as PropType<CalendarDay>,\n },\n disabled: Boolean,\n events: Array<any>,\n title: [Number, String],\n}, 'VCalendarMonthDay')\n\nexport const VCalendarMonthDay = genericComponent<VCalendarMonthDaySlots>()({\n name: 'VCalendarMonthDay',\n\n inheritAttrs: false,\n\n props: makeVCalendarMonthDayProps(),\n\n setup (props, { attrs, slots }) {\n useRender(() => {\n return (\n <div\n class={[\n 'v-calendar-month__day',\n ]}\n { ...getPrefixedEventHandlers(attrs, ':day', () => props) }\n >\n { !props.day?.isHidden ? (\n <div key=\"title\" class=\"v-calendar-weekly__day-label\">\n { slots['day-title']?.({ title: props.title }) ?? (\n <VBtn\n class={ props.day?.isToday ? 'v-calendar-weekly__day-label__today' : undefined }\n color={ props.color }\n disabled={ props.disabled }\n icon\n size=\"x-small\"\n variant={ props.day?.isToday ? undefined : 'flat' }\n text={ `${props.title}` }\n { ...getPrefixedEventHandlers(attrs, ':date', () => props) }\n />\n )\n }\n </div>\n ) : undefined }\n\n { !props.day?.isHidden ? (\n <div key=\"content\" class=\"v-calendar-weekly__day-content\" >\n { slots['day-body']?.({ day: props.day, events: props.events }) ?? (\n <div>\n <div class=\"v-calendar-weekly__day-alldayevents-container\">\n { props.events?.filter(event => event.allDay).map(event => slots['day-event']\n ? slots['day-event']({ day: props.day, allDay: true, event })\n : (\n <VCalendarEvent day={ props.day } event={ event } allDay { ...attrs } />\n ))}\n </div>\n\n <div class=\"v-calendar-weekly__day-events-container\">\n { props.events?.filter(event => !event.allDay).map(event => slots['day-event']\n ? slots['day-event']({ day: props.day, event, allDay: false })\n : (\n <VCalendarEvent day={ props.day } event={ event } { ...attrs } />\n ))}\n </div>\n </div>\n )}\n </div>\n ) : undefined }\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VCalendarMonthDay = InstanceType<typeof VCalendarMonthDay>\n"],"mappings":"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","ignoreList":[]}
@@ -130,6 +130,7 @@ export const VIconBtn = genericComponent()({
130
130
  opacity: props.opacity
131
131
  };
132
132
  return _createVNode(props.tag, {
133
+ "type": props.tag === 'button' ? 'button' : undefined,
133
134
  "class": _normalizeClass([{
134
135
  'v-icon-btn': true,
135
136
  'v-icon-btn--active': isActive.value,
@@ -1 +1 @@
1
- {"version":3,"file":"VIconBtn.js","names":["VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","makeIconSizeProps","useIconSizes","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toDisplayString","convertToUnit","genericComponent","propsFactory","useRender","makeVIconBtnProps","active","type","Boolean","default","undefined","activeColor","String","activeIcon","Function","Object","activeVariant","baseVariant","disabled","height","Number","width","hideOverlay","icon","iconColor","loading","opacity","readonly","rotate","size","sizes","Array","text","tag","variant","VIconBtn","name","props","emits","value","setup","_ref","attrs","slots","isActive","themeClasses","borderClasses","elevationClasses","roundedClasses","colorClasses","colorStyles","variantClasses","color","btnSizeMap","Map","onClick","href","_btnSize","hasNamedSize","has","btnSize","get","btnHeight","btnWidth","iconSize","iconSizes","iconProps","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","loader"],"sources":["../../../src/labs/VIconBtn/VIconBtn.tsx"],"sourcesContent":["// Styles\nimport './VIconBtn.scss'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { IconValue } from '@/composables/icons'\nimport type { Variant } from '@/composables/variant'\n\nexport type VIconBtnSlots = {\n default: never\n loader: never\n}\n\nexport type VIconBtnSizes = 'x-small' | 'small' | 'default' | 'large' | 'x-large'\n\nexport const makeVIconBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n activeIcon: [String, Function, Object] as PropType<IconValue>,\n activeVariant: String as PropType<Variant>,\n baseVariant: {\n type: String as PropType<Variant>,\n default: 'tonal',\n },\n disabled: Boolean,\n height: [Number, String],\n width: [Number, String],\n hideOverlay: Boolean,\n icon: [String, Function, Object] as PropType<IconValue>,\n iconColor: String,\n loading: Boolean,\n opacity: [Number, String],\n readonly: Boolean,\n rotate: [Number, String],\n size: {\n type: [Number, String] as PropType<VIconBtnSizes | number | string>,\n default: 'default',\n },\n sizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 16],\n ['small', 24],\n ['default', 40],\n ['large', 48],\n ['x-large', 56],\n ]),\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VIconBtn')\n\nexport const VIconBtn = genericComponent<VIconBtnSlots>()({\n name: 'VIconBtn',\n\n props: makeVIconBtnProps(),\n\n emits: {\n 'update:active': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'active')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: (() => {\n if (props.disabled) return undefined\n if (!isActive.value) return props.color\n // Use an inline fallback as opposed to setting a default color\n // because non-toggle buttons are default flat whereas toggle\n // buttons are default tonal and active flat. The exact use\n // case for this is a toggle button with no active color.\n return props.activeColor ?? props.color ?? 'surface-variant'\n })(),\n variant: (() => {\n if (isActive.value === undefined) return props.variant\n if (isActive.value) return props.activeVariant ?? props.variant\n return props.baseVariant ?? props.variant\n })(),\n }))\n\n const btnSizeMap = new Map(props.sizes)\n\n function onClick () {\n if (\n props.disabled ||\n props.readonly ||\n isActive.value === undefined ||\n (props.tag === 'a' && attrs.href)\n ) return\n\n isActive.value = !isActive.value\n }\n\n useRender(() => {\n const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon\n\n const _btnSize = props.size as VIconBtnSizes\n const hasNamedSize = btnSizeMap.has(_btnSize)\n const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize\n const btnHeight = props.height ?? btnSize\n const btnWidth = props.width ?? btnSize\n const { iconSize } = useIconSizes(props, () => new Map(props.iconSizes).get(_btnSize))\n\n const iconProps = {\n icon,\n size: iconSize.value,\n iconColor: props.iconColor,\n opacity: props.opacity,\n }\n\n return (\n <props.tag\n class={[\n {\n 'v-icon-btn': true,\n 'v-icon-btn--active': isActive.value,\n 'v-icon-btn--disabled': props.disabled,\n 'v-icon-btn--loading': props.loading,\n 'v-icon-btn--readonly': props.readonly,\n [`v-icon-btn--${props.size}`]: true,\n },\n themeClasses.value,\n colorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),\n '--v-icon-btn-height': convertToUnit(btnHeight),\n '--v-icon-btn-width': convertToUnit(btnWidth),\n },\n colorStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled || props.readonly ? -1 : 0 }\n onClick={ onClick }\n >\n { genOverlays(!props.hideOverlay, 'v-icon-btn') }\n\n <div class=\"v-icon-btn__content\" data-no-activator=\"\">\n { (!slots.default && icon) ? (\n <VIcon\n key=\"content-icon\"\n { ...iconProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !icon }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots={{\n default: () => slots.default?.() ?? toDisplayString(props.text),\n }}\n />\n )}\n </div>\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-icon-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate=\"disable-shrink\"\n width=\"2\"\n size={ iconSize.value }\n />\n )}\n </span>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VIconBtn = InstanceType<typeof VIconBtn>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VIconBtn.js","names":["VDefaultsProvider","VIcon","VProgressCircular","makeBorderProps","useBorder","makeComponentProps","makeElevationProps","useElevation","makeIconSizeProps","useIconSizes","useProxiedModel","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genOverlays","makeVariantProps","useVariant","toDisplayString","convertToUnit","genericComponent","propsFactory","useRender","makeVIconBtnProps","active","type","Boolean","default","undefined","activeColor","String","activeIcon","Function","Object","activeVariant","baseVariant","disabled","height","Number","width","hideOverlay","icon","iconColor","loading","opacity","readonly","rotate","size","sizes","Array","text","tag","variant","VIconBtn","name","props","emits","value","setup","_ref","attrs","slots","isActive","themeClasses","borderClasses","elevationClasses","roundedClasses","colorClasses","colorStyles","variantClasses","color","btnSizeMap","Map","onClick","href","_btnSize","hasNamedSize","has","btnSize","get","btnHeight","btnWidth","iconSize","iconSizes","iconProps","_createVNode","_normalizeClass","class","_normalizeStyle","style","_createElementVNode","_mergeProps","loader"],"sources":["../../../src/labs/VIconBtn/VIconBtn.tsx"],"sourcesContent":["// Styles\nimport './VIconBtn.scss'\n\n// Components\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\nimport { VProgressCircular } from '@/components/VProgressCircular'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeIconSizeProps, useIconSizes } from '@/composables/iconSizes'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { genOverlays, makeVariantProps, useVariant } from '@/composables/variant'\n\n// Utilities\nimport { toDisplayString } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { IconValue } from '@/composables/icons'\nimport type { Variant } from '@/composables/variant'\n\nexport type VIconBtnSlots = {\n default: never\n loader: never\n}\n\nexport type VIconBtnSizes = 'x-small' | 'small' | 'default' | 'large' | 'x-large'\n\nexport const makeVIconBtnProps = propsFactory({\n active: {\n type: Boolean,\n default: undefined,\n },\n activeColor: String,\n activeIcon: [String, Function, Object] as PropType<IconValue>,\n activeVariant: String as PropType<Variant>,\n baseVariant: {\n type: String as PropType<Variant>,\n default: 'tonal',\n },\n disabled: Boolean,\n height: [Number, String],\n width: [Number, String],\n hideOverlay: Boolean,\n icon: [String, Function, Object] as PropType<IconValue>,\n iconColor: String,\n loading: Boolean,\n opacity: [Number, String],\n readonly: Boolean,\n rotate: [Number, String],\n size: {\n type: [Number, String] as PropType<VIconBtnSizes | number | string>,\n default: 'default',\n },\n sizes: {\n type: Array as PropType<[VIconBtnSizes, number][]>,\n default: () => ([\n ['x-small', 16],\n ['small', 24],\n ['default', 40],\n ['large', 48],\n ['x-large', 56],\n ]),\n },\n text: {\n type: [String, Number, Boolean],\n default: undefined,\n },\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeElevationProps(),\n ...makeIconSizeProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'button' }),\n ...makeThemeProps(),\n ...makeVariantProps({ variant: 'flat' } as const),\n}, 'VIconBtn')\n\nexport const VIconBtn = genericComponent<VIconBtnSlots>()({\n name: 'VIconBtn',\n\n props: makeVIconBtnProps(),\n\n emits: {\n 'update:active': (value: boolean) => true,\n },\n\n setup (props, { attrs, slots }) {\n const isActive = useProxiedModel(props, 'active')\n\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n\n const { colorClasses, colorStyles, variantClasses } = useVariant(() => ({\n color: (() => {\n if (props.disabled) return undefined\n if (!isActive.value) return props.color\n // Use an inline fallback as opposed to setting a default color\n // because non-toggle buttons are default flat whereas toggle\n // buttons are default tonal and active flat. The exact use\n // case for this is a toggle button with no active color.\n return props.activeColor ?? props.color ?? 'surface-variant'\n })(),\n variant: (() => {\n if (isActive.value === undefined) return props.variant\n if (isActive.value) return props.activeVariant ?? props.variant\n return props.baseVariant ?? props.variant\n })(),\n }))\n\n const btnSizeMap = new Map(props.sizes)\n\n function onClick () {\n if (\n props.disabled ||\n props.readonly ||\n isActive.value === undefined ||\n (props.tag === 'a' && attrs.href)\n ) return\n\n isActive.value = !isActive.value\n }\n\n useRender(() => {\n const icon = isActive.value ? props.activeIcon ?? props.icon : props.icon\n\n const _btnSize = props.size as VIconBtnSizes\n const hasNamedSize = btnSizeMap.has(_btnSize)\n const btnSize = hasNamedSize ? btnSizeMap.get(_btnSize) : _btnSize\n const btnHeight = props.height ?? btnSize\n const btnWidth = props.width ?? btnSize\n const { iconSize } = useIconSizes(props, () => new Map(props.iconSizes).get(_btnSize))\n\n const iconProps = {\n icon,\n size: iconSize.value,\n iconColor: props.iconColor,\n opacity: props.opacity,\n }\n\n return (\n <props.tag\n type={ props.tag === 'button' ? 'button' : undefined }\n class={[\n {\n 'v-icon-btn': true,\n 'v-icon-btn--active': isActive.value,\n 'v-icon-btn--disabled': props.disabled,\n 'v-icon-btn--loading': props.loading,\n 'v-icon-btn--readonly': props.readonly,\n [`v-icon-btn--${props.size}`]: true,\n },\n themeClasses.value,\n colorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n variantClasses.value,\n props.class,\n ]}\n style={[\n {\n '--v-icon-btn-rotate': convertToUnit(props.rotate, 'deg'),\n '--v-icon-btn-height': convertToUnit(btnHeight),\n '--v-icon-btn-width': convertToUnit(btnWidth),\n },\n colorStyles.value,\n props.style,\n ]}\n tabindex={ props.disabled || props.readonly ? -1 : 0 }\n onClick={ onClick }\n >\n { genOverlays(!props.hideOverlay, 'v-icon-btn') }\n\n <div class=\"v-icon-btn__content\" data-no-activator=\"\">\n { (!slots.default && icon) ? (\n <VIcon\n key=\"content-icon\"\n { ...iconProps }\n />\n ) : (\n <VDefaultsProvider\n key=\"content-defaults\"\n disabled={ !icon }\n defaults={{ VIcon: { ...iconProps } }}\n v-slots={{\n default: () => slots.default?.() ?? toDisplayString(props.text),\n }}\n />\n )}\n </div>\n\n { !!props.loading && (\n <span key=\"loader\" class=\"v-icon-btn__loader\">\n { slots.loader?.() ?? (\n <VProgressCircular\n color={ typeof props.loading === 'boolean' ? undefined : props.loading }\n indeterminate=\"disable-shrink\"\n width=\"2\"\n size={ iconSize.value }\n />\n )}\n </span>\n )}\n </props.tag>\n )\n })\n\n return {}\n },\n})\n\nexport type VIconBtn = InstanceType<typeof VIconBtn>\n"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vuetify/nightly",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.9.0-beta.1-dev.2025-06-28",
4
+ "version": "3.9.0-beta.1-dev.2025-07-02",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"