vuetify 3.9.0-beta.0 → 3.9.0
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.
- package/dist/_component-variables-labs.sass +1 -0
- package/dist/json/attributes.json +3590 -3502
- package/dist/json/importMap-labs.json +16 -12
- package/dist/json/importMap.json +186 -186
- package/dist/json/tags.json +31 -4
- package/dist/json/web-types.json +6626 -6392
- package/dist/vuetify-labs.cjs +1082 -195
- package/dist/vuetify-labs.css +4654 -4339
- package/dist/vuetify-labs.d.ts +2027 -493
- package/dist/vuetify-labs.esm.js +1082 -196
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +1082 -195
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +663 -170
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4744 -4671
- package/dist/vuetify.d.ts +1575 -267
- package/dist/vuetify.esm.js +663 -171
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +663 -170
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1182 -1126
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +39 -14
- package/lib/components/VAutocomplete/VAutocomplete.js +2 -2
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBtn/VBtn.sass +3 -1
- package/lib/components/VCarousel/VCarousel.css +0 -1
- package/lib/components/VCarousel/VCarousel.js +1 -0
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.sass +0 -1
- package/lib/components/VCombobox/VCombobox.d.ts +39 -14
- package/lib/components/VCombobox/VCombobox.js +2 -2
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataIterator/composables/items.d.ts +2 -1
- package/lib/components/VDataIterator/composables/items.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.css +12 -1
- package/lib/components/VDataTable/VDataTable.d.ts +20 -38
- package/lib/components/VDataTable/VDataTable.sass +12 -2
- package/lib/components/VDataTable/VDataTableColumn.d.ts +9 -3
- package/lib/components/VDataTable/VDataTableColumn.js +12 -4
- package/lib/components/VDataTable/VDataTableColumn.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.d.ts +0 -13
- package/lib/components/VDataTable/VDataTableHeaders.js +10 -9
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRow.js +2 -0
- package/lib/components/VDataTable/VDataTableRow.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.d.ts +10 -23
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +10 -23
- package/lib/components/VDataTable/composables/headers.d.ts +22 -14
- package/lib/components/VDataTable/composables/headers.js +51 -22
- package/lib/components/VDataTable/composables/headers.js.map +1 -1
- package/lib/components/VDataTable/composables/sort.js +2 -1
- package/lib/components/VDataTable/composables/sort.js.map +1 -1
- package/lib/components/VDataTable/types.d.ts +4 -2
- package/lib/components/VDataTable/types.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +2 -1
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.css +1 -0
- package/lib/components/VDatePicker/VDatePickerControls.sass +1 -0
- package/lib/components/VDatePicker/VDatePickerMonth.css +3 -8
- package/lib/components/VDatePicker/VDatePickerMonth.js +7 -3
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.sass +3 -8
- package/lib/components/VField/VField.js +2 -10
- package/lib/components/VField/VField.js.map +1 -1
- package/lib/components/VKbd/VKbd.css +14 -5
- package/lib/components/VKbd/VKbd.js.map +1 -1
- package/lib/components/VKbd/VKbd.scss +26 -0
- package/lib/components/VKbd/_variables.scss +12 -6
- package/lib/components/VKbd/index.js.map +1 -1
- package/lib/components/VList/VList.d.ts +24 -27
- package/lib/components/VList/VList.js +1 -5
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListGroup.d.ts +13 -0
- package/lib/components/VList/VListGroup.js +2 -1
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.d.ts +6 -3
- package/lib/components/VList/VListItem.js +1 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +4 -10
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VNumberInput/hold.js +4 -0
- package/lib/components/VNumberInput/hold.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +17 -14
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverlay/locationStrategies.js +1 -1
- package/lib/components/VOverlay/locationStrategies.js.map +1 -1
- package/lib/components/VSelect/VSelect.d.ts +58 -22
- package/lib/components/VSelect/VSelect.js +2 -2
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +1 -1
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.css +1 -6
- package/lib/components/VTimePicker/VTimePicker.sass +1 -6
- package/lib/components/VTimePicker/VTimePickerClock.css +5 -4
- package/lib/components/VTimePicker/VTimePickerClock.sass +5 -4
- package/lib/components/VTimePicker/VTimePickerControls.css +2 -1
- package/lib/components/VTimePicker/VTimePickerControls.sass +2 -3
- package/lib/components/VTreeview/VTreeview.d.ts +235 -188
- package/lib/components/VTreeview/VTreeview.js +13 -12
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewChildren.d.ts +94 -10
- package/lib/components/VTreeview/VTreeviewChildren.js +61 -17
- package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewGroup.d.ts +13 -0
- package/lib/components/VTreeview/VTreeviewItem.css +57 -0
- package/lib/components/VTreeview/VTreeviewItem.d.ts +1334 -97
- package/lib/components/VTreeview/VTreeviewItem.js +25 -16
- package/lib/components/VTreeview/VTreeviewItem.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewItem.sass +60 -0
- package/lib/components/VTreeview/_variables.scss +15 -0
- package/lib/composables/calendar.d.ts +2 -1
- package/lib/composables/calendar.js +8 -8
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/date/adapters/vuetify.js +1 -1
- package/lib/composables/date/adapters/vuetify.js.map +1 -1
- package/lib/composables/filter.d.ts +1 -0
- package/lib/composables/filter.js +1 -1
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/hotkey/hotkey-parsing.d.ts +15 -0
- package/lib/composables/hotkey/hotkey-parsing.js +154 -0
- package/lib/composables/hotkey/hotkey-parsing.js.map +1 -0
- package/lib/composables/hotkey/hotkey.d.ts +9 -0
- package/lib/composables/{hotkey.js → hotkey/hotkey.js} +31 -39
- package/lib/composables/hotkey/hotkey.js.map +1 -0
- package/lib/composables/hotkey/index.d.ts +1 -0
- package/lib/composables/hotkey/index.js +2 -0
- package/lib/composables/hotkey/index.js.map +1 -0
- package/lib/composables/hotkey/key-aliases.d.ts +14 -0
- package/lib/composables/hotkey/key-aliases.js +38 -0
- package/lib/composables/hotkey/key-aliases.js.map +1 -0
- package/lib/composables/icons.d.ts +11 -0
- package/lib/composables/icons.js.map +1 -1
- package/lib/composables/index.d.ts +1 -0
- package/lib/composables/index.js +1 -0
- package/lib/composables/index.js.map +1 -1
- package/lib/composables/list-items.d.ts +14 -1
- package/lib/composables/list-items.js +9 -3
- package/lib/composables/list-items.js.map +1 -1
- package/lib/composables/nested/nested.d.ts +7 -4
- package/lib/composables/nested/nested.js +24 -14
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/composables/nested/selectStrategies.d.ts +2 -1
- package/lib/composables/nested/selectStrategies.js +22 -11
- package/lib/composables/nested/selectStrategies.js.map +1 -1
- package/lib/composables/virtual.js +1 -1
- package/lib/composables/virtual.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +91 -66
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/iconsets/fa.js +12 -1
- package/lib/iconsets/fa.js.map +1 -1
- package/lib/iconsets/fa4.js +12 -1
- package/lib/iconsets/fa4.js.map +1 -1
- package/lib/iconsets/md.js +12 -1
- package/lib/iconsets/md.js.map +1 -1
- package/lib/iconsets/mdi-svg.js +12 -1
- package/lib/iconsets/mdi-svg.js.map +1 -1
- package/lib/iconsets/mdi.js +12 -1
- package/lib/iconsets/mdi.js.map +1 -1
- package/lib/labs/VCalendar/VCalendar.d.ts +33 -33
- package/lib/labs/VCalendar/VCalendar.js +10 -10
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarDay.d.ts +33 -33
- package/lib/labs/VCalendar/VCalendarDay.js +1 -1
- package/lib/labs/VCalendar/VCalendarDay.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarInterval.d.ts +36 -36
- package/lib/labs/VCalendar/VCalendarInterval.js +9 -9
- package/lib/labs/VCalendar/VCalendarInterval.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.d.ts +12 -12
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js +1 -1
- package/lib/labs/VCalendar/VCalendarIntervalEvent.js.map +1 -1
- package/lib/labs/VCalendar/VCalendarMonthDay.d.ts +36 -36
- package/lib/labs/VCalendar/VCalendarMonthDay.js +4 -4
- package/lib/labs/VCalendar/VCalendarMonthDay.js.map +1 -1
- package/lib/labs/VHotkey/VHotkey.css +242 -0
- package/lib/labs/VHotkey/VHotkey.d.ts +387 -0
- package/lib/labs/VHotkey/VHotkey.js +432 -0
- package/lib/labs/VHotkey/VHotkey.js.map +1 -0
- package/lib/labs/VHotkey/VHotkey.scss +253 -0
- package/lib/labs/VHotkey/_variables.scss +43 -0
- package/lib/labs/VHotkey/index.d.ts +1 -0
- package/lib/labs/VHotkey/index.js +2 -0
- package/lib/labs/VHotkey/index.js.map +1 -0
- package/lib/labs/VIconBtn/VIconBtn.js +1 -0
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/VPicker/VPicker.css +4 -0
- package/lib/labs/VPicker/VPicker.sass +4 -0
- package/lib/labs/components.d.ts +1 -0
- package/lib/labs/components.js +1 -0
- package/lib/labs/components.js.map +1 -1
- package/lib/locale/af.d.ts +18 -0
- package/lib/locale/af.js +18 -0
- package/lib/locale/af.js.map +1 -1
- package/lib/locale/ar.d.ts +18 -0
- package/lib/locale/ar.js +18 -0
- package/lib/locale/ar.js.map +1 -1
- package/lib/locale/az.d.ts +18 -0
- package/lib/locale/az.js +18 -0
- package/lib/locale/az.js.map +1 -1
- package/lib/locale/bg.d.ts +18 -0
- package/lib/locale/bg.js +18 -0
- package/lib/locale/bg.js.map +1 -1
- package/lib/locale/ca.d.ts +18 -0
- package/lib/locale/ca.js +18 -0
- package/lib/locale/ca.js.map +1 -1
- package/lib/locale/ckb.d.ts +18 -0
- package/lib/locale/ckb.js +18 -0
- package/lib/locale/ckb.js.map +1 -1
- package/lib/locale/cs.d.ts +18 -0
- package/lib/locale/cs.js +18 -0
- package/lib/locale/cs.js.map +1 -1
- package/lib/locale/da.d.ts +18 -0
- package/lib/locale/da.js +18 -0
- package/lib/locale/da.js.map +1 -1
- package/lib/locale/de.d.ts +18 -0
- package/lib/locale/de.js +18 -0
- package/lib/locale/de.js.map +1 -1
- package/lib/locale/el.d.ts +18 -0
- package/lib/locale/el.js +18 -0
- package/lib/locale/el.js.map +1 -1
- package/lib/locale/en.d.ts +18 -0
- package/lib/locale/en.js +18 -0
- package/lib/locale/en.js.map +1 -1
- package/lib/locale/es.d.ts +18 -0
- package/lib/locale/es.js +18 -0
- package/lib/locale/es.js.map +1 -1
- package/lib/locale/et.d.ts +18 -0
- package/lib/locale/et.js +18 -0
- package/lib/locale/et.js.map +1 -1
- package/lib/locale/fa.d.ts +18 -0
- package/lib/locale/fa.js +18 -0
- package/lib/locale/fa.js.map +1 -1
- package/lib/locale/fi.d.ts +18 -0
- package/lib/locale/fi.js +18 -0
- package/lib/locale/fi.js.map +1 -1
- package/lib/locale/fr.d.ts +18 -0
- package/lib/locale/fr.js +18 -0
- package/lib/locale/fr.js.map +1 -1
- package/lib/locale/he.d.ts +18 -0
- package/lib/locale/he.js +18 -0
- package/lib/locale/he.js.map +1 -1
- package/lib/locale/hr.d.ts +18 -0
- package/lib/locale/hr.js +18 -0
- package/lib/locale/hr.js.map +1 -1
- package/lib/locale/hu.d.ts +18 -0
- package/lib/locale/hu.js +18 -0
- package/lib/locale/hu.js.map +1 -1
- package/lib/locale/id.d.ts +18 -0
- package/lib/locale/id.js +18 -0
- package/lib/locale/id.js.map +1 -1
- package/lib/locale/it.d.ts +18 -0
- package/lib/locale/it.js +18 -0
- package/lib/locale/it.js.map +1 -1
- package/lib/locale/ja.d.ts +18 -0
- package/lib/locale/ja.js +18 -0
- package/lib/locale/ja.js.map +1 -1
- package/lib/locale/km.d.ts +18 -0
- package/lib/locale/km.js +18 -0
- package/lib/locale/km.js.map +1 -1
- package/lib/locale/ko.d.ts +18 -0
- package/lib/locale/ko.js +18 -0
- package/lib/locale/ko.js.map +1 -1
- package/lib/locale/lt.d.ts +18 -0
- package/lib/locale/lt.js +18 -0
- package/lib/locale/lt.js.map +1 -1
- package/lib/locale/lv.d.ts +18 -0
- package/lib/locale/lv.js +18 -0
- package/lib/locale/lv.js.map +1 -1
- package/lib/locale/nl.d.ts +18 -0
- package/lib/locale/nl.js +18 -0
- package/lib/locale/nl.js.map +1 -1
- package/lib/locale/no.d.ts +18 -0
- package/lib/locale/no.js +18 -0
- package/lib/locale/no.js.map +1 -1
- package/lib/locale/pl.d.ts +18 -0
- package/lib/locale/pl.js +18 -0
- package/lib/locale/pl.js.map +1 -1
- package/lib/locale/pt.d.ts +18 -0
- package/lib/locale/pt.js +18 -0
- package/lib/locale/pt.js.map +1 -1
- package/lib/locale/ro.d.ts +18 -0
- package/lib/locale/ro.js +18 -0
- package/lib/locale/ro.js.map +1 -1
- package/lib/locale/ru.d.ts +18 -0
- package/lib/locale/ru.js +18 -0
- package/lib/locale/ru.js.map +1 -1
- package/lib/locale/sk.d.ts +18 -0
- package/lib/locale/sk.js +18 -0
- package/lib/locale/sk.js.map +1 -1
- package/lib/locale/sl.d.ts +18 -0
- package/lib/locale/sl.js +18 -0
- package/lib/locale/sl.js.map +1 -1
- package/lib/locale/sr-Cyrl.d.ts +18 -0
- package/lib/locale/sr-Cyrl.js +18 -0
- package/lib/locale/sr-Cyrl.js.map +1 -1
- package/lib/locale/sr-Latn.d.ts +18 -0
- package/lib/locale/sr-Latn.js +18 -0
- package/lib/locale/sr-Latn.js.map +1 -1
- package/lib/locale/sv.d.ts +18 -0
- package/lib/locale/sv.js +18 -0
- package/lib/locale/sv.js.map +1 -1
- package/lib/locale/th.d.ts +18 -0
- package/lib/locale/th.js +18 -0
- package/lib/locale/th.js.map +1 -1
- package/lib/locale/tr.d.ts +18 -0
- package/lib/locale/tr.js +18 -0
- package/lib/locale/tr.js.map +1 -1
- package/lib/locale/uk.d.ts +18 -0
- package/lib/locale/uk.js +18 -0
- package/lib/locale/uk.js.map +1 -1
- package/lib/locale/vi.d.ts +18 -0
- package/lib/locale/vi.js +18 -0
- package/lib/locale/vi.js.map +1 -1
- package/lib/locale/zh-Hans.d.ts +18 -0
- package/lib/locale/zh-Hans.js +18 -0
- package/lib/locale/zh-Hans.js.map +1 -1
- package/lib/locale/zh-Hant.d.ts +18 -0
- package/lib/locale/zh-Hant.js +18 -0
- package/lib/locale/zh-Hant.js.map +1 -1
- package/lib/util/helpers.d.ts +3 -0
- package/lib/util/helpers.js +4 -0
- package/lib/util/helpers.js.map +1 -1
- package/lib/util/indentLines.d.ts +17 -0
- package/lib/util/indentLines.js +34 -0
- package/lib/util/indentLines.js.map +1 -0
- package/lib/util/index.d.ts +1 -0
- package/lib/util/index.js +1 -0
- package/lib/util/index.js.map +1 -1
- package/package.json +2 -2
- package/lib/components/VKbd/VKbd.sass +0 -15
- package/lib/composables/hotkey.d.ts +0 -9
- package/lib/composables/hotkey.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDatePicker.js","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useRtl","useProxiedModel","computed","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","headerColor","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","rtlClasses","model","undefined","v","map","i","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","color","_month","month","get","Number","getMonth","startOfMonth","set","_year","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","disabled","targets","push","_date","addDays","endOfMonth","isAllowedInRange","start","end","allowedDates","days","getDiff","allowedYears","parseISO","endOfYear","Array","isArray","allowedMonths","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","pickerProps","filterProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","headerProps","transition","_createVNode","_mergeProps","showWeek","class","style","_createElementVNode","prepend","append","_Fragment","$event","day","actions"],"sources":["../../../src/components/VDatePicker/VDatePicker.tsx"],"sourcesContent":["// Styles\nimport './VDatePicker.sass'\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from './VDatePickerControls'\nimport { VDatePickerHeader } from './VDatePickerHeader'\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from './VDatePickerMonth'\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from './VDatePickerMonths'\nimport { makeVDatePickerYearsProps, VDatePickerYears } from './VDatePickerYears'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VDatePickerHeaderSlots } from './VDatePickerHeader'\nimport type { VDatePickerMonthSlots } from './VDatePickerMonth'\nimport type { VDatePickerMonthsSlots } from './VDatePickerMonths'\nimport type { VDatePickerYearsSlots } from './VDatePickerYears'\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDatePickerSlots =\n & Omit<VPickerSlots, 'header' | 'default'>\n & Omit<VDatePickerHeaderSlots, 'default'>\n & VDatePickerYearsSlots\n & VDatePickerMonthsSlots\n & VDatePickerMonthSlots\n & {\n header: {\n header: string\n transition: string\n }\n }\n\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header',\n },\n headerColor: String,\n\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static' as const,\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({ title: '$vuetify.datePicker.title' }),\n\n modelValue: null,\n}, 'VDatePicker')\n\nexport const VDatePicker = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDatePickerSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDatePicker',\n\n props: makeVDatePickerProps(),\n\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:month': (date: any) => true,\n 'update:year': (date: any) => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { t } = useLocale()\n const { rtlClasses } = useRtl()\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => wrapInArray(v).map(i => adapter.date(i)),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n\n const minDate = computed(() => {\n const date = adapter.date(props.min)\n\n return props.min && adapter.isValid(date) ? date : null\n })\n const maxDate = computed(() => {\n const date = adapter.date(props.max)\n\n return props.max && adapter.isValid(date) ? date : null\n })\n\n const internal = computed(() => {\n const today = adapter.date()\n let value = today\n if (model.value?.[0]) {\n value = adapter.date(model.value[0])\n } else if (minDate.value && adapter.isBefore(today, minDate.value)) {\n value = minDate.value\n } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {\n value = maxDate.value\n }\n\n return value && adapter.isValid(value) ? value : today\n })\n const headerColor = toRef(() => props.headerColor ?? props.color)\n\n const _month = useProxiedModel(props, 'month')\n const month = computed({\n get: () => Number(_month.value ?? adapter.getMonth(adapter.startOfMonth(internal.value))),\n set: v => _month.value = v,\n })\n\n const _year = useProxiedModel(props, 'year')\n const year = computed({\n get: () => Number(_year.value ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))),\n set: v => _year.value = v,\n })\n\n const isReversing = shallowRef(false)\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length)\n }\n\n return (model.value[0] && adapter.isValid(model.value[0]))\n ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday')\n : t(props.header)\n })\n const text = computed(() => {\n let date = adapter.date()\n\n date = adapter.setDate(date, 1)\n date = adapter.setMonth(date, month.value)\n date = adapter.setYear(date, year.value)\n\n return adapter.format(date, 'monthAndYear')\n })\n // const headerIcon = toRef(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = toRef(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`)\n\n const disabled = computed(() => {\n if (props.disabled) return true\n\n const targets = []\n\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next'])\n } else {\n let _date = adapter.date()\n\n _date = adapter.startOfMonth(_date)\n _date = adapter.setMonth(_date, month.value)\n _date = adapter.setYear(_date, year.value)\n\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1)\n\n adapter.isAfter(minDate.value, date) && targets.push('prev')\n }\n\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1)\n\n adapter.isAfter(date, maxDate.value) && targets.push('next')\n }\n }\n\n return targets\n })\n\n function isAllowedInRange (start: unknown, end: unknown) {\n const allowedDates = props.allowedDates\n if (typeof allowedDates !== 'function') return true\n const days = adapter.getDiff(end, start, 'days')\n for (let i = 0; i < days; i++) {\n if (allowedDates(adapter.addDays(start, i))) return true\n }\n return false\n }\n\n function allowedYears (year: number) {\n if (typeof props.allowedDates === 'function') {\n const startOfYear = adapter.parseISO(`${year}-01-01`)\n return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear))\n }\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length) {\n for (const date of props.allowedDates) {\n if (adapter.getYear(adapter.date(date)) === year) return true\n }\n return false\n }\n\n return true\n }\n\n function allowedMonths (month: number) {\n if (typeof props.allowedDates === 'function') {\n const startOfMonth = adapter.parseISO(`${year.value}-${month + 1}-01`)\n return isAllowedInRange(startOfMonth, adapter.endOfMonth(startOfMonth))\n }\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length) {\n for (const date of props.allowedDates) {\n if (\n adapter.getYear(adapter.date(date)) === year.value &&\n adapter.getMonth(adapter.date(date)) === month\n ) return true\n }\n return false\n }\n\n return true\n }\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext () {\n if (month.value < 11) {\n month.value++\n } else {\n year.value++\n month.value = 0\n onUpdateYear()\n }\n onUpdateMonth()\n }\n\n function onClickPrev () {\n if (month.value > 0) {\n month.value--\n } else {\n year.value--\n month.value = 11\n onUpdateYear()\n }\n onUpdateMonth()\n }\n\n function onClickDate () {\n viewMode.value = 'month'\n }\n\n function onClickMonth () {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months'\n }\n\n function onClickYear () {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year'\n }\n\n function onUpdateMonth () {\n if (viewMode.value === 'months') onClickMonth()\n }\n\n function onUpdateYear () {\n if (viewMode.value === 'year') onClickYear()\n }\n\n watch(model, (val, oldVal) => {\n const arrBefore = wrapInArray(oldVal)\n const arrAfter = wrapInArray(val)\n\n if (!arrAfter.length) return\n\n const before = adapter.date(arrBefore[arrBefore.length - 1])\n const after = adapter.date(arrAfter[arrAfter.length - 1])\n const newMonth = adapter.getMonth(after)\n const newYear = adapter.getYear(after)\n\n if (newMonth !== month.value) {\n month.value = newMonth\n onUpdateMonth()\n }\n\n if (newYear !== year.value) {\n year.value = newYear\n onUpdateYear()\n }\n\n isReversing.value = adapter.isBefore(before, after)\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const datePickerControlsProps = VDatePickerControls.filterProps(props)\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props)\n const datePickerMonthProps = VDatePickerMonth.filterProps(props)\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue'])\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue'])\n\n const headerProps = {\n color: headerColor.value,\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n color={ headerColor.value }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-date-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => slots.header ? (\n <VDefaultsProvider\n defaults={{\n VDatePickerHeader: { ...headerProps },\n }}\n >\n { slots.header?.(headerProps) }\n </VDefaultsProvider>\n ) : (\n <VDatePickerHeader\n key=\"header\"\n { ...datePickerHeaderProps }\n { ...headerProps }\n onClick={ viewMode.value !== 'month' ? onClickDate : undefined }\n v-slots={{\n prepend: slots.prepend,\n append: slots.append,\n }}\n />\n ),\n default: () => (\n <>\n <VDatePickerControls\n { ...datePickerControlsProps }\n disabled={ disabled.value }\n text={ text.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:month={ onClickMonth }\n onClick:year={ onClickYear }\n />\n\n <VFadeTransition hideOnLeave>\n { viewMode.value === 'months' ? (\n <VDatePickerMonths\n key=\"date-picker-months\"\n { ...datePickerMonthsProps }\n v-model={ month.value }\n min={ minDate.value }\n max={ maxDate.value }\n year={ year.value }\n allowedMonths={ allowedMonths }\n onUpdate:modelValue={ onUpdateMonth }\n >\n {{ month: slots.month }}\n </VDatePickerMonths>\n ) : viewMode.value === 'year' ? (\n <VDatePickerYears\n key=\"date-picker-years\"\n { ...datePickerYearsProps }\n v-model={ year.value }\n min={ minDate.value }\n max={ maxDate.value }\n allowedYears={ allowedYears }\n onUpdate:modelValue={ onUpdateYear }\n >\n {{ year: slots.year }}\n </VDatePickerYears>\n ) : (\n <VDatePickerMonth\n key=\"date-picker-month\"\n { ...datePickerMonthProps }\n v-model={ model.value }\n v-model:month={ month.value }\n v-model:year={ year.value }\n onUpdate:month={ onUpdateMonth }\n onUpdate:year={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n >\n {{ day: slots.day }}\n </VDatePickerMonth>\n )}\n </VFadeTransition>\n </>\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePicker = InstanceType<typeof VDatePicker>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VDatePicker.js","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useRtl","useProxiedModel","computed","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","headerColor","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","rtlClasses","model","undefined","v","map","i","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","color","_month","month","get","Number","getMonth","startOfMonth","set","_year","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","disabled","targets","push","_date","addDays","endOfMonth","isAllowedInRange","start","end","allowedDates","days","getDiff","allowedYears","parseISO","endOfYear","Array","isArray","allowedMonths","monthTwoDigits","padStart","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","pickerProps","filterProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","headerProps","transition","_createVNode","_mergeProps","showWeek","class","style","_createElementVNode","prepend","append","_Fragment","$event","day","actions"],"sources":["../../../src/components/VDatePicker/VDatePicker.tsx"],"sourcesContent":["// Styles\nimport './VDatePicker.sass'\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from './VDatePickerControls'\nimport { VDatePickerHeader } from './VDatePickerHeader'\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from './VDatePickerMonth'\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from './VDatePickerMonths'\nimport { makeVDatePickerYearsProps, VDatePickerYears } from './VDatePickerYears'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useLocale, useRtl } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VDatePickerHeaderSlots } from './VDatePickerHeader'\nimport type { VDatePickerMonthSlots } from './VDatePickerMonth'\nimport type { VDatePickerMonthsSlots } from './VDatePickerMonths'\nimport type { VDatePickerYearsSlots } from './VDatePickerYears'\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDatePickerSlots =\n & Omit<VPickerSlots, 'header' | 'default'>\n & Omit<VDatePickerHeaderSlots, 'default'>\n & VDatePickerYearsSlots\n & VDatePickerMonthsSlots\n & VDatePickerMonthSlots\n & {\n header: {\n header: string\n transition: string\n }\n }\n\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header',\n },\n headerColor: String,\n\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static' as const,\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({ title: '$vuetify.datePicker.title' }),\n\n modelValue: null,\n}, 'VDatePicker')\n\nexport const VDatePicker = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDatePickerSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDatePicker',\n\n props: makeVDatePickerProps(),\n\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:month': (date: any) => true,\n 'update:year': (date: any) => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { t } = useLocale()\n const { rtlClasses } = useRtl()\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => wrapInArray(v).map(i => adapter.date(i)),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n\n const minDate = computed(() => {\n const date = adapter.date(props.min)\n\n return props.min && adapter.isValid(date) ? date : null\n })\n const maxDate = computed(() => {\n const date = adapter.date(props.max)\n\n return props.max && adapter.isValid(date) ? date : null\n })\n\n const internal = computed(() => {\n const today = adapter.date()\n let value = today\n if (model.value?.[0]) {\n value = adapter.date(model.value[0])\n } else if (minDate.value && adapter.isBefore(today, minDate.value)) {\n value = minDate.value\n } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {\n value = maxDate.value\n }\n\n return value && adapter.isValid(value) ? value : today\n })\n const headerColor = toRef(() => props.headerColor ?? props.color)\n\n const _month = useProxiedModel(props, 'month')\n const month = computed({\n get: () => Number(_month.value ?? adapter.getMonth(adapter.startOfMonth(internal.value))),\n set: v => _month.value = v,\n })\n\n const _year = useProxiedModel(props, 'year')\n const year = computed({\n get: () => Number(_year.value ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))),\n set: v => _year.value = v,\n })\n\n const isReversing = shallowRef(false)\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length)\n }\n\n return (model.value[0] && adapter.isValid(model.value[0]))\n ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday')\n : t(props.header)\n })\n const text = computed(() => {\n let date = adapter.date()\n\n date = adapter.setDate(date, 1)\n date = adapter.setMonth(date, month.value)\n date = adapter.setYear(date, year.value)\n\n return adapter.format(date, 'monthAndYear')\n })\n // const headerIcon = toRef(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = toRef(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`)\n\n const disabled = computed(() => {\n if (props.disabled) return true\n\n const targets = []\n\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next'])\n } else {\n let _date = adapter.date()\n\n _date = adapter.startOfMonth(_date)\n _date = adapter.setMonth(_date, month.value)\n _date = adapter.setYear(_date, year.value)\n\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1)\n\n adapter.isAfter(minDate.value, date) && targets.push('prev')\n }\n\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1)\n\n adapter.isAfter(date, maxDate.value) && targets.push('next')\n }\n }\n\n return targets\n })\n\n function isAllowedInRange (start: unknown, end: unknown) {\n const allowedDates = props.allowedDates\n if (typeof allowedDates !== 'function') return true\n const days = adapter.getDiff(end, start, 'days')\n for (let i = 0; i < days; i++) {\n if (allowedDates(adapter.addDays(start, i))) return true\n }\n return false\n }\n\n function allowedYears (year: number) {\n if (typeof props.allowedDates === 'function') {\n const startOfYear = adapter.parseISO(`${year}-01-01`)\n return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear))\n }\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length) {\n for (const date of props.allowedDates) {\n if (adapter.getYear(adapter.date(date)) === year) return true\n }\n return false\n }\n\n return true\n }\n\n function allowedMonths (month: number) {\n if (typeof props.allowedDates === 'function') {\n const monthTwoDigits = String(month + 1).padStart(2, '0')\n const startOfMonth = adapter.parseISO(`${year.value}-${monthTwoDigits}-01`)\n return isAllowedInRange(startOfMonth, adapter.endOfMonth(startOfMonth))\n }\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length) {\n for (const date of props.allowedDates) {\n if (\n adapter.getYear(adapter.date(date)) === year.value &&\n adapter.getMonth(adapter.date(date)) === month\n ) return true\n }\n return false\n }\n\n return true\n }\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext () {\n if (month.value < 11) {\n month.value++\n } else {\n year.value++\n month.value = 0\n onUpdateYear()\n }\n onUpdateMonth()\n }\n\n function onClickPrev () {\n if (month.value > 0) {\n month.value--\n } else {\n year.value--\n month.value = 11\n onUpdateYear()\n }\n onUpdateMonth()\n }\n\n function onClickDate () {\n viewMode.value = 'month'\n }\n\n function onClickMonth () {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months'\n }\n\n function onClickYear () {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year'\n }\n\n function onUpdateMonth () {\n if (viewMode.value === 'months') onClickMonth()\n }\n\n function onUpdateYear () {\n if (viewMode.value === 'year') onClickYear()\n }\n\n watch(model, (val, oldVal) => {\n const arrBefore = wrapInArray(oldVal)\n const arrAfter = wrapInArray(val)\n\n if (!arrAfter.length) return\n\n const before = adapter.date(arrBefore[arrBefore.length - 1])\n const after = adapter.date(arrAfter[arrAfter.length - 1])\n const newMonth = adapter.getMonth(after)\n const newYear = adapter.getYear(after)\n\n if (newMonth !== month.value) {\n month.value = newMonth\n onUpdateMonth()\n }\n\n if (newYear !== year.value) {\n year.value = newYear\n onUpdateYear()\n }\n\n isReversing.value = adapter.isBefore(before, after)\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const datePickerControlsProps = VDatePickerControls.filterProps(props)\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props)\n const datePickerMonthProps = VDatePickerMonth.filterProps(props)\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue'])\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue'])\n\n const headerProps = {\n color: headerColor.value,\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n color={ headerColor.value }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n rtlClasses.value,\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-date-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => slots.header ? (\n <VDefaultsProvider\n defaults={{\n VDatePickerHeader: { ...headerProps },\n }}\n >\n { slots.header?.(headerProps) }\n </VDefaultsProvider>\n ) : (\n <VDatePickerHeader\n key=\"header\"\n { ...datePickerHeaderProps }\n { ...headerProps }\n onClick={ viewMode.value !== 'month' ? onClickDate : undefined }\n v-slots={{\n prepend: slots.prepend,\n append: slots.append,\n }}\n />\n ),\n default: () => (\n <>\n <VDatePickerControls\n { ...datePickerControlsProps }\n disabled={ disabled.value }\n text={ text.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:month={ onClickMonth }\n onClick:year={ onClickYear }\n />\n\n <VFadeTransition hideOnLeave>\n { viewMode.value === 'months' ? (\n <VDatePickerMonths\n key=\"date-picker-months\"\n { ...datePickerMonthsProps }\n v-model={ month.value }\n min={ minDate.value }\n max={ maxDate.value }\n year={ year.value }\n allowedMonths={ allowedMonths }\n onUpdate:modelValue={ onUpdateMonth }\n >\n {{ month: slots.month }}\n </VDatePickerMonths>\n ) : viewMode.value === 'year' ? (\n <VDatePickerYears\n key=\"date-picker-years\"\n { ...datePickerYearsProps }\n v-model={ year.value }\n min={ minDate.value }\n max={ maxDate.value }\n allowedYears={ allowedYears }\n onUpdate:modelValue={ onUpdateYear }\n >\n {{ year: slots.year }}\n </VDatePickerYears>\n ) : (\n <VDatePickerMonth\n key=\"date-picker-month\"\n { ...datePickerMonthProps }\n v-model={ model.value }\n v-model:month={ month.value }\n v-model:year={ year.value }\n onUpdate:month={ onUpdateMonth }\n onUpdate:year={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n >\n {{ day: slots.day }}\n </VDatePickerMonth>\n )}\n </VFadeTransition>\n </>\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePicker = InstanceType<typeof VDatePicker>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,14 +6,11 @@
|
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
.v-date-picker-month__weeks {
|
|
9
|
-
display:
|
|
10
|
-
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
11
|
column-gap: 4px;
|
|
12
12
|
font-size: 0.875rem;
|
|
13
13
|
}
|
|
14
|
-
.v-date-picker-month__weeks + .v-date-picker-month__days {
|
|
15
|
-
grid-row-gap: 0;
|
|
16
|
-
}
|
|
17
14
|
|
|
18
15
|
.v-date-picker-month__weekday {
|
|
19
16
|
font-size: 0.875rem;
|
|
@@ -21,10 +18,8 @@
|
|
|
21
18
|
|
|
22
19
|
.v-date-picker-month__days {
|
|
23
20
|
display: grid;
|
|
24
|
-
grid-template-columns:
|
|
21
|
+
grid-template-columns: repeat(var(--v-date-picker-days-in-week), min-content);
|
|
25
22
|
column-gap: 4px;
|
|
26
|
-
flex: 1 1;
|
|
27
|
-
justify-content: space-around;
|
|
28
23
|
}
|
|
29
24
|
|
|
30
25
|
.v-date-picker-month__day {
|
|
@@ -41,7 +41,8 @@ export const VDatePickerMonth = genericComponent()({
|
|
|
41
41
|
const {
|
|
42
42
|
daysInMonth,
|
|
43
43
|
model,
|
|
44
|
-
weekNumbers
|
|
44
|
+
weekNumbers,
|
|
45
|
+
weekdayLabels
|
|
45
46
|
} = useCalendar(props);
|
|
46
47
|
const adapter = useDate();
|
|
47
48
|
const rangeStart = shallowRef();
|
|
@@ -113,7 +114,10 @@ export const VDatePickerMonth = genericComponent()({
|
|
|
113
114
|
}
|
|
114
115
|
}
|
|
115
116
|
useRender(() => _createElementVNode("div", {
|
|
116
|
-
"class": "v-date-picker-month"
|
|
117
|
+
"class": "v-date-picker-month",
|
|
118
|
+
"style": {
|
|
119
|
+
'--v-date-picker-days-in-week': props.weekdays.length
|
|
120
|
+
}
|
|
117
121
|
}, [props.showWeek && _createElementVNode("div", {
|
|
118
122
|
"key": "weeks",
|
|
119
123
|
"class": "v-date-picker-month__weeks"
|
|
@@ -129,7 +133,7 @@ export const VDatePickerMonth = genericComponent()({
|
|
|
129
133
|
"ref": daysRef,
|
|
130
134
|
"key": daysInMonth.value[0].date?.toString(),
|
|
131
135
|
"class": "v-date-picker-month__days"
|
|
132
|
-
}, [!props.hideWeekdays &&
|
|
136
|
+
}, [!props.hideWeekdays && weekdayLabels.value.map(weekDay => _createElementVNode("div", {
|
|
133
137
|
"class": _normalizeClass(['v-date-picker-month__day', 'v-date-picker-month__weekday'])
|
|
134
138
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
|
135
139
|
const slotProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VDatePickerMonth.js","names":["VBtn","makeCalendarProps","useCalendar","createDateRange","useDate","MaybeTransition","computed","ref","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","onMultipleClick","index","findIndex","selection","splice","onClick","_createElementVNode","_createTextVNode","map","week","_normalizeClass","_createVNode","toString","getWeekdays","firstDayOfWeek","weekdayFormat","weekDay","item","i","slotProps","class","isSelected","isToday","disabled","isDisabled","icon","ripple","text","localized","variant","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { createDateRange, useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...omit(makeCalendarProps(), ['displayValue']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = toRef(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0]\n rangeStop.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n model.value = createDateRange(adapter, rangeStart.value, rangeStop.value)\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n useRender(() => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek, props.weekdayFormat).map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n class: 'v-date-picker-month__day-btn',\n color: item.isSelected || item.isToday ? props.color : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isSelected ? 'flat' : item.isToday ? 'outlined' : 'text',\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n slots.day?.(slotProps) ?? (<VBtn { ...slotProps.props } />)\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n ))\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VDatePickerMonth.js","names":["VBtn","makeCalendarProps","useCalendar","createDateRange","useDate","MaybeTransition","computed","ref","shallowRef","toRef","watch","genericComponent","omit","propsFactory","useRender","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","weekdayLabels","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","onMultipleClick","index","findIndex","selection","splice","onClick","_createElementVNode","weekdays","_createTextVNode","map","week","_normalizeClass","_createVNode","toString","weekDay","item","i","slotProps","class","isSelected","isToday","disabled","isDisabled","icon","ripple","text","localized","variant","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { createDateRange, useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...omit(makeCalendarProps(), ['displayValue']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers, weekdayLabels } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = toRef(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0]\n rangeStop.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n model.value = createDateRange(adapter, rangeStart.value, rangeStop.value)\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n useRender(() => (\n <div\n class=\"v-date-picker-month\"\n style={{ '--v-date-picker-days-in-week': props.weekdays.length }}\n >\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && weekdayLabels.value.map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n class: 'v-date-picker-month__day-btn',\n color: item.isSelected || item.isToday ? props.color : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isSelected ? 'flat' : item.isToday ? 'outlined' : 'text',\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n slots.day?.(slotProps) ?? (<VBtn { ...slotProps.props } />)\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n ))\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,23 +10,18 @@
|
|
|
10
10
|
--v-date-picker-month-day-diff: 4px
|
|
11
11
|
|
|
12
12
|
.v-date-picker-month__weeks
|
|
13
|
-
display:
|
|
14
|
-
|
|
13
|
+
display: flex
|
|
14
|
+
flex-direction: column
|
|
15
15
|
column-gap: $date-picker-month-column-gap
|
|
16
16
|
font-size: $date-picker-month-font-size
|
|
17
17
|
|
|
18
|
-
+ .v-date-picker-month__days
|
|
19
|
-
grid-row-gap: 0
|
|
20
|
-
|
|
21
18
|
.v-date-picker-month__weekday
|
|
22
19
|
font-size: $date-picker-month-font-size
|
|
23
20
|
|
|
24
21
|
.v-date-picker-month__days
|
|
25
22
|
display: grid
|
|
26
|
-
grid-template-columns:
|
|
23
|
+
grid-template-columns: repeat(var(--v-date-picker-days-in-week), min-content)
|
|
27
24
|
column-gap: $date-picker-month-column-gap
|
|
28
|
-
flex: 1 1
|
|
29
|
-
justify-content: space-around
|
|
30
25
|
|
|
31
26
|
.v-date-picker-month__day
|
|
32
27
|
align-items: center
|
|
@@ -215,11 +215,7 @@ export const VField = genericComponent()({
|
|
|
215
215
|
default: slots.loader
|
|
216
216
|
}), hasPrepend && _createElementVNode("div", {
|
|
217
217
|
"key": "prepend",
|
|
218
|
-
"class": "v-field__prepend-inner"
|
|
219
|
-
"onMousedown": e => {
|
|
220
|
-
e.preventDefault();
|
|
221
|
-
e.stopPropagation();
|
|
222
|
-
}
|
|
218
|
+
"class": "v-field__prepend-inner"
|
|
223
219
|
}, [props.prependInnerIcon && _createVNode(InputIcon, {
|
|
224
220
|
"key": "prepend-icon",
|
|
225
221
|
"name": "prependInner",
|
|
@@ -288,11 +284,7 @@ export const VField = genericComponent()({
|
|
|
288
284
|
})]), [[_vShow, props.dirty]])]
|
|
289
285
|
}), hasAppend && _createElementVNode("div", {
|
|
290
286
|
"key": "append",
|
|
291
|
-
"class": "v-field__append-inner"
|
|
292
|
-
"onMousedown": e => {
|
|
293
|
-
e.preventDefault();
|
|
294
|
-
e.stopPropagation();
|
|
295
|
-
}
|
|
287
|
+
"class": "v-field__append-inner"
|
|
296
288
|
}, [slots['append-inner']?.(slotProps.value), props.appendInnerIcon && _createVNode(InputIcon, {
|
|
297
289
|
"key": "append-icon",
|
|
298
290
|
"name": "appendInner",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VField.js","names":["VFieldLabel","VExpandXTransition","VDefaultsProvider","useInputIcon","useBackgroundColor","useTextColor","makeComponentProps","makeFocusProps","useFocus","IconValue","LoaderSlot","makeLoaderProps","useLoader","useRtl","makeRoundedProps","useRounded","makeThemeProps","provideTheme","computed","ref","toRef","useId","watch","animate","convertToUnit","EventProp","genericComponent","nullifyTransforms","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","centerAffix","undefined","color","baseColor","dirty","disabled","glow","error","flat","iconColor","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","focused","value","setup","_ref","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","roundedClasses","rtlClasses","isActive","hasLabel","hasFloatingLabel","uid","messagesId","labelRef","floatingLabelRef","controlRef","isPlainOrUnderlined","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","val","el","$el","targetEl","requestAnimationFrame","rect","targetRect","getBoundingClientRect","x","y","height","targetWidth","width","Math","abs","maxWidth","style","getComputedStyle","targetStyle","duration","parseFloat","transitionDuration","scale","getPropertyValue","visibility","transform","easing","direction","finished","then","removeProperty","flush","slotProps","onClick","e","target","document","activeElement","preventDefault","isOutlined","hasPrepend","hasClear","clear","hasAppend","for","_createElementVNode","_mergeProps","class","_createVNode","loading","loader","stopPropagation","_normalizeClass","_normalizeStyle","_withDirectives","VIcon","icon","onFocus","onBlur","tabindex","_vShow","_Fragment","fieldIconColor"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VFieldLabel } from './VFieldLabel'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, toRef, useId, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n nullifyTransforms,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n centerAffix: {\n type: Boolean,\n default: undefined,\n },\n color: String,\n baseColor: String,\n dirty: Boolean,\n disabled: {\n type: Boolean,\n default: null,\n },\n glow: Boolean,\n error: Boolean,\n flat: Boolean,\n iconColor: [Boolean, String],\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n 'onClick:clear': EventProp<[MouseEvent]>(),\n 'onClick:appendInner': EventProp<[MouseEvent]>(),\n 'onClick:prependInner': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n}, 'VField')\n\nexport type VFieldSlots = {\n clear: DefaultInputSlot & { props: Record<string, any> }\n 'prepend-inner': DefaultInputSlot\n 'append-inner': DefaultInputSlot\n label: DefaultInputSlot & { label: string | undefined, props: Record<string, any> }\n loader: LoaderSlotProps\n default: VFieldSlot\n}\n\nexport const VField = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VFieldSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n const { roundedClasses } = useRounded(props)\n const { rtlClasses } = useRtl()\n\n const isActive = toRef(() => props.dirty || props.active)\n const hasLabel = toRef(() => !!(props.label || slots.label))\n const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value)\n\n const uid = useId()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = toRef(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n const color = computed(() => {\n return props.error || props.disabled ? undefined\n : isActive.value && isFocused.value ? props.color\n : props.baseColor\n })\n const iconColor = computed(() => {\n if (!props.iconColor || (props.glow && !isFocused.value)) return undefined\n\n return props.iconColor === true ? color.value : props.iconColor\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n watch(isActive, val => {\n if (hasFloatingLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width,\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = !!(slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear) && !props.disabled\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = () => (\n slots.label\n ? slots.label({\n ...slotProps.value,\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n )\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--glow': props.glow,\n 'v-field--flat': props.flat,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label(),\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n roundedClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ !!props.loading }\n color={ props.error ? 'error' : (typeof props.loading === 'string' ? props.loading : props.color) }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div\n key=\"prepend\"\n class=\"v-field__prepend-inner\"\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n { props.prependInnerIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prependInner\"\n color={ iconColor.value }\n />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n style={ textColorStyles.value }\n >\n { label() }\n </VFieldLabel>\n )}\n\n { hasLabel.value && (\n <VFieldLabel key=\"label\" ref={ labelRef } for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value,\n },\n focus,\n blur,\n } as VFieldSlot) ?? (\n <div\n id={ id.value }\n class=\"v-field__input\"\n aria-describedby={ messagesId.value }\n />\n )}\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: props.clearIcon,\n },\n }}\n >\n { slots.clear\n ? slots.clear({\n ...slotProps.value,\n props: {\n onFocus: focus,\n onBlur: blur,\n onClick: props['onClick:clear'],\n tabindex: -1,\n },\n })\n : (\n <InputIcon\n name=\"clear\"\n onFocus={ focus }\n onBlur={ blur }\n tabindex={ -1 }\n />\n )}\n </VDefaultsProvider>\n </div>\n </VExpandXTransition>\n )}\n\n { hasAppend && (\n <div\n key=\"append\"\n class=\"v-field__append-inner\"\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"appendInner\"\n color={ iconColor.value }\n />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasFloatingLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label() }\n </VFieldLabel>\n </div>\n )}\n\n <div class=\"v-field__outline__end\" />\n </>\n )}\n\n { isPlainOrUnderlined.value && hasFloatingLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n fieldIconColor: iconColor,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"VField.js","names":["VFieldLabel","VExpandXTransition","VDefaultsProvider","useInputIcon","useBackgroundColor","useTextColor","makeComponentProps","makeFocusProps","useFocus","IconValue","LoaderSlot","makeLoaderProps","useLoader","useRtl","makeRoundedProps","useRounded","makeThemeProps","provideTheme","computed","ref","toRef","useId","watch","animate","convertToUnit","EventProp","genericComponent","nullifyTransforms","propsFactory","standardEasing","useRender","allowedVariants","makeVFieldProps","appendInnerIcon","bgColor","String","clearable","Boolean","clearIcon","type","default","active","centerAffix","undefined","color","baseColor","dirty","disabled","glow","error","flat","iconColor","label","persistentClear","prependInnerIcon","reverse","singleLine","variant","validator","v","includes","VField","name","inheritAttrs","props","id","emits","focused","value","setup","_ref","attrs","emit","slots","themeClasses","loaderClasses","focusClasses","isFocused","focus","blur","InputIcon","roundedClasses","rtlClasses","isActive","hasLabel","hasFloatingLabel","uid","messagesId","labelRef","floatingLabelRef","controlRef","isPlainOrUnderlined","backgroundColorClasses","backgroundColorStyles","textColorClasses","textColorStyles","val","el","$el","targetEl","requestAnimationFrame","rect","targetRect","getBoundingClientRect","x","y","height","targetWidth","width","Math","abs","maxWidth","style","getComputedStyle","targetStyle","duration","parseFloat","transitionDuration","scale","getPropertyValue","visibility","transform","easing","direction","finished","then","removeProperty","flush","slotProps","onClick","e","target","document","activeElement","preventDefault","isOutlined","hasPrepend","hasClear","clear","hasAppend","for","_createElementVNode","_mergeProps","class","_createVNode","loading","loader","_normalizeClass","_normalizeStyle","_withDirectives","stopPropagation","VIcon","icon","onFocus","onBlur","tabindex","_vShow","_Fragment","fieldIconColor"],"sources":["../../../src/components/VField/VField.tsx"],"sourcesContent":["// Styles\nimport './VField.sass'\n\n// Components\nimport { VFieldLabel } from './VFieldLabel'\nimport { VExpandXTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { useInputIcon } from '@/components/VInput/InputIcon'\n\n// Composables\nimport { useBackgroundColor, useTextColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeFocusProps, useFocus } from '@/composables/focus'\nimport { IconValue } from '@/composables/icons'\nimport { LoaderSlot, makeLoaderProps, useLoader } from '@/composables/loader'\nimport { useRtl } from '@/composables/locale'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, ref, toRef, useId, watch } from 'vue'\nimport {\n animate,\n convertToUnit,\n EventProp,\n genericComponent,\n nullifyTransforms,\n propsFactory,\n standardEasing,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\nimport type { LoaderSlotProps } from '@/composables/loader'\nimport type { GenericProps } from '@/util'\n\nconst allowedVariants = ['underlined', 'outlined', 'filled', 'solo', 'solo-inverted', 'solo-filled', 'plain'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport interface DefaultInputSlot {\n isActive: Ref<boolean>\n isFocused: Ref<boolean>\n controlRef: Ref<HTMLElement | undefined>\n focus: () => void\n blur: () => void\n}\n\nexport interface VFieldSlot extends DefaultInputSlot {\n props: Record<string, unknown>\n}\n\nexport const makeVFieldProps = propsFactory({\n appendInnerIcon: IconValue,\n bgColor: String,\n clearable: Boolean,\n clearIcon: {\n type: IconValue,\n default: '$clear',\n },\n active: Boolean,\n centerAffix: {\n type: Boolean,\n default: undefined,\n },\n color: String,\n baseColor: String,\n dirty: Boolean,\n disabled: {\n type: Boolean,\n default: null,\n },\n glow: Boolean,\n error: Boolean,\n flat: Boolean,\n iconColor: [Boolean, String],\n label: String,\n persistentClear: Boolean,\n prependInnerIcon: IconValue,\n reverse: Boolean,\n singleLine: Boolean,\n variant: {\n type: String as PropType<Variant>,\n default: 'filled',\n validator: (v: any) => allowedVariants.includes(v),\n },\n\n 'onClick:clear': EventProp<[MouseEvent]>(),\n 'onClick:appendInner': EventProp<[MouseEvent]>(),\n 'onClick:prependInner': EventProp<[MouseEvent]>(),\n\n ...makeComponentProps(),\n ...makeLoaderProps(),\n ...makeRoundedProps(),\n ...makeThemeProps(),\n}, 'VField')\n\nexport type VFieldSlots = {\n clear: DefaultInputSlot & { props: Record<string, any> }\n 'prepend-inner': DefaultInputSlot\n 'append-inner': DefaultInputSlot\n label: DefaultInputSlot & { label: string | undefined, props: Record<string, any> }\n loader: LoaderSlotProps\n default: VFieldSlot\n}\n\nexport const VField = genericComponent<new <T>(\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n },\n slots: VFieldSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VField',\n\n inheritAttrs: false,\n\n props: {\n id: String,\n\n ...makeFocusProps(),\n ...makeVFieldProps(),\n },\n\n emits: {\n 'update:focused': (focused: boolean) => true,\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { loaderClasses } = useLoader(props)\n const { focusClasses, isFocused, focus, blur } = useFocus(props)\n const { InputIcon } = useInputIcon(props)\n const { roundedClasses } = useRounded(props)\n const { rtlClasses } = useRtl()\n\n const isActive = toRef(() => props.dirty || props.active)\n const hasLabel = toRef(() => !!(props.label || slots.label))\n const hasFloatingLabel = toRef(() => !props.singleLine && hasLabel.value)\n\n const uid = useId()\n const id = computed(() => props.id || `input-${uid}`)\n const messagesId = toRef(() => `${id.value}-messages`)\n\n const labelRef = ref<VFieldLabel>()\n const floatingLabelRef = ref<VFieldLabel>()\n const controlRef = ref<HTMLElement>()\n const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant))\n const color = computed(() => {\n return props.error || props.disabled ? undefined\n : isActive.value && isFocused.value ? props.color\n : props.baseColor\n })\n const iconColor = computed(() => {\n if (!props.iconColor || (props.glow && !isFocused.value)) return undefined\n\n return props.iconColor === true ? color.value : props.iconColor\n })\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.bgColor)\n const { textColorClasses, textColorStyles } = useTextColor(color)\n\n watch(isActive, val => {\n if (hasFloatingLabel.value) {\n const el: HTMLElement = labelRef.value!.$el\n const targetEl: HTMLElement = floatingLabelRef.value!.$el\n\n requestAnimationFrame(() => {\n const rect = nullifyTransforms(el)\n const targetRect = targetEl.getBoundingClientRect()\n\n const x = targetRect.x - rect.x\n const y = targetRect.y - rect.y - (rect.height / 2 - targetRect.height / 2)\n\n const targetWidth = targetRect.width / 0.75\n const width = Math.abs(targetWidth - rect.width) > 1\n ? { maxWidth: convertToUnit(targetWidth) }\n : undefined\n\n const style = getComputedStyle(el)\n const targetStyle = getComputedStyle(targetEl)\n const duration = parseFloat(style.transitionDuration) * 1000 || 150\n const scale = parseFloat(targetStyle.getPropertyValue('--v-field-label-scale'))\n const color = targetStyle.getPropertyValue('color')\n\n el.style.visibility = 'visible'\n targetEl.style.visibility = 'hidden'\n\n animate(el, {\n transform: `translate(${x}px, ${y}px) scale(${scale})`,\n color,\n ...width,\n }, {\n duration,\n easing: standardEasing,\n direction: val ? 'normal' : 'reverse',\n }).finished.then(() => {\n el.style.removeProperty('visibility')\n targetEl.style.removeProperty('visibility')\n })\n })\n }\n }, { flush: 'post' })\n\n const slotProps = computed<DefaultInputSlot>(() => ({\n isActive,\n isFocused,\n controlRef,\n blur,\n focus,\n }))\n\n function onClick (e: MouseEvent) {\n if (e.target !== document.activeElement) {\n e.preventDefault()\n }\n }\n\n useRender(() => {\n const isOutlined = props.variant === 'outlined'\n const hasPrepend = !!(slots['prepend-inner'] || props.prependInnerIcon)\n const hasClear = !!(props.clearable || slots.clear) && !props.disabled\n const hasAppend = !!(slots['append-inner'] || props.appendInnerIcon || hasClear)\n const label = () => (\n slots.label\n ? slots.label({\n ...slotProps.value,\n label: props.label,\n props: { for: id.value },\n })\n : props.label\n )\n\n return (\n <div\n class={[\n 'v-field',\n {\n 'v-field--active': isActive.value,\n 'v-field--appended': hasAppend,\n 'v-field--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,\n 'v-field--disabled': props.disabled,\n 'v-field--dirty': props.dirty,\n 'v-field--error': props.error,\n 'v-field--glow': props.glow,\n 'v-field--flat': props.flat,\n 'v-field--has-background': !!props.bgColor,\n 'v-field--persistent-clear': props.persistentClear,\n 'v-field--prepended': hasPrepend,\n 'v-field--reverse': props.reverse,\n 'v-field--single-line': props.singleLine,\n 'v-field--no-label': !label(),\n [`v-field--variant-${props.variant}`]: true,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n focusClasses.value,\n loaderClasses.value,\n roundedClasses.value,\n rtlClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n onClick={ onClick }\n { ...attrs }\n >\n <div class=\"v-field__overlay\" />\n\n <LoaderSlot\n name=\"v-field\"\n active={ !!props.loading }\n color={ props.error ? 'error' : (typeof props.loading === 'string' ? props.loading : props.color) }\n v-slots={{ default: slots.loader }}\n />\n\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-field__prepend-inner\">\n { props.prependInnerIcon && (\n <InputIcon\n key=\"prepend-icon\"\n name=\"prependInner\"\n color={ iconColor.value }\n />\n )}\n\n { slots['prepend-inner']?.(slotProps.value) }\n </div>\n )}\n\n <div class=\"v-field__field\" data-no-activator=\"\">\n {['filled', 'solo', 'solo-inverted', 'solo-filled'].includes(props.variant) && hasFloatingLabel.value && (\n <VFieldLabel\n key=\"floating-label\"\n ref={ floatingLabelRef }\n class={[textColorClasses.value]}\n floating\n for={ id.value }\n style={ textColorStyles.value }\n >\n { label() }\n </VFieldLabel>\n )}\n\n { hasLabel.value && (\n <VFieldLabel key=\"label\" ref={ labelRef } for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\n\n { slots.default?.({\n ...slotProps.value,\n props: {\n id: id.value,\n class: 'v-field__input',\n 'aria-describedby': messagesId.value,\n },\n focus,\n blur,\n } as VFieldSlot) ?? (\n <div\n id={ id.value }\n class=\"v-field__input\"\n aria-describedby={ messagesId.value }\n />\n )}\n </div>\n\n { hasClear && (\n <VExpandXTransition key=\"clear\">\n <div\n class=\"v-field__clearable\"\n v-show={ props.dirty }\n onMousedown={ (e: MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n }}\n >\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: props.clearIcon,\n },\n }}\n >\n { slots.clear\n ? slots.clear({\n ...slotProps.value,\n props: {\n onFocus: focus,\n onBlur: blur,\n onClick: props['onClick:clear'],\n tabindex: -1,\n },\n })\n : (\n <InputIcon\n name=\"clear\"\n onFocus={ focus }\n onBlur={ blur }\n tabindex={ -1 }\n />\n )}\n </VDefaultsProvider>\n </div>\n </VExpandXTransition>\n )}\n\n { hasAppend && (\n <div key=\"append\" class=\"v-field__append-inner\">\n { slots['append-inner']?.(slotProps.value) }\n\n { props.appendInnerIcon && (\n <InputIcon\n key=\"append-icon\"\n name=\"appendInner\"\n color={ iconColor.value }\n />\n )}\n </div>\n )}\n\n <div\n class={[\n 'v-field__outline',\n textColorClasses.value,\n ]}\n style={ textColorStyles.value }\n >\n { isOutlined && (\n <>\n <div class=\"v-field__outline__start\" />\n\n { hasFloatingLabel.value && (\n <div class=\"v-field__outline__notch\">\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label() }\n </VFieldLabel>\n </div>\n )}\n\n <div class=\"v-field__outline__end\" />\n </>\n )}\n\n { isPlainOrUnderlined.value && hasFloatingLabel.value && (\n <VFieldLabel ref={ floatingLabelRef } floating for={ id.value }>\n { label() }\n </VFieldLabel>\n )}\n </div>\n </div>\n )\n })\n\n return {\n controlRef,\n fieldIconColor: iconColor,\n }\n },\n})\n\nexport type VField = InstanceType<typeof VField>\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
.v-kbd {
|
|
2
|
+
font-family: "Roboto", sans-serif;
|
|
3
|
+
align-items: center;
|
|
4
|
+
align-self: stretch;
|
|
2
5
|
background: rgb(var(--v-theme-kbd));
|
|
3
6
|
color: rgb(var(--v-theme-on-kbd));
|
|
4
|
-
display: inline;
|
|
5
|
-
font-size:
|
|
7
|
+
display: inline-flex;
|
|
8
|
+
font-size: 0.875em;
|
|
6
9
|
font-weight: normal;
|
|
7
|
-
|
|
10
|
+
line-height: 1;
|
|
11
|
+
justify-content: center;
|
|
12
|
+
min-height: 1em;
|
|
13
|
+
min-width: 20px;
|
|
14
|
+
padding: 3px 6px;
|
|
15
|
+
vertical-align: baseline;
|
|
16
|
+
margin-inline: 1px;
|
|
8
17
|
}
|
|
9
18
|
.v-kbd {
|
|
10
19
|
border-color: rgba(var(--v-border-color), var(--v-border-opacity));
|
|
@@ -16,8 +25,8 @@
|
|
|
16
25
|
box-shadow: none;
|
|
17
26
|
}
|
|
18
27
|
.v-kbd {
|
|
19
|
-
box-shadow: 0px
|
|
28
|
+
box-shadow: 0px 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 1px 1px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 3px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
|
|
20
29
|
}
|
|
21
30
|
.v-kbd {
|
|
22
|
-
border-radius:
|
|
31
|
+
border-radius: 4px;
|
|
23
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VKbd.js","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genericComponent","propsFactory","useRender","makeVKbdProps","color","String","tag","VKbd","name","props","setup","_ref","slots","themeClasses","borderClasses","roundedClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","_createVNode","_normalizeClass","value","class","_normalizeStyle","style"],"sources":["../../../src/components/VKbd/VKbd.tsx"],"sourcesContent":["// Styles\nimport './VKbd.
|
|
1
|
+
{"version":3,"file":"VKbd.js","names":["makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","makeElevationProps","useElevation","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","genericComponent","propsFactory","useRender","makeVKbdProps","color","String","tag","VKbd","name","props","setup","_ref","slots","themeClasses","borderClasses","roundedClasses","backgroundColorClasses","backgroundColorStyles","elevationClasses","_createVNode","_normalizeClass","value","class","_normalizeStyle","style"],"sources":["../../../src/components/VKbd/VKbd.tsx"],"sourcesContent":["// Styles\nimport './VKbd.scss'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVKbdProps = propsFactory({\n color: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeRoundedProps(),\n ...makeTagProps({ tag: 'kbd' }),\n ...makeThemeProps(),\n ...makeElevationProps(),\n}, 'VKbd')\n\nexport const VKbd = genericComponent()({\n name: 'VKbd',\n\n props: makeVKbdProps(),\n\n setup (props, { slots }) {\n const { themeClasses } = provideTheme(props)\n const { borderClasses } = useBorder(props)\n const { roundedClasses } = useRounded(props)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => props.color)\n const { elevationClasses } = useElevation(props)\n\n useRender(() => (\n <props.tag\n class={[\n 'v-kbd',\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n elevationClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VKbd = InstanceType<typeof VKbd>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,eAAe,EAAEC,SAAS;AAAA,SAC1BC,kBAAkB;AAAA,SAClBC,kBAAkB;AAAA,SAClBC,kBAAkB,EAAEC,YAAY;AAAA,SAChCC,gBAAgB,EAAEC,UAAU;AAAA,SAC5BC,YAAY;AAAA,SACZC,cAAc,EAAEC,YAAY,sCAErC;AAAA,SACSC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,aAAa,GAAGF,YAAY,CAAC;EACxCG,KAAK,EAAEC,MAAM;EAEb,GAAGhB,eAAe,CAAC,CAAC;EACpB,GAAGG,kBAAkB,CAAC,CAAC;EACvB,GAAGG,gBAAgB,CAAC,CAAC;EACrB,GAAGE,YAAY,CAAC;IAAES,GAAG,EAAE;EAAM,CAAC,CAAC;EAC/B,GAAGR,cAAc,CAAC,CAAC;EACnB,GAAGL,kBAAkB,CAAC;AACxB,CAAC,EAAE,MAAM,CAAC;AAEV,OAAO,MAAMc,IAAI,GAAGP,gBAAgB,CAAC,CAAC,CAAC;EACrCQ,IAAI,EAAE,MAAM;EAEZC,KAAK,EAAEN,aAAa,CAAC,CAAC;EAEtBO,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE;IAAa,CAAC,GAAGd,YAAY,CAACU,KAAK,CAAC;IAC5C,MAAM;MAAEK;IAAc,CAAC,GAAGxB,SAAS,CAACmB,KAAK,CAAC;IAC1C,MAAM;MAAEM;IAAe,CAAC,GAAGnB,UAAU,CAACa,KAAK,CAAC;IAC5C,MAAM;MAAEO,sBAAsB;MAAEC;IAAsB,CAAC,GAAG1B,kBAAkB,CAAC,MAAMkB,KAAK,CAACL,KAAK,CAAC;IAC/F,MAAM;MAAEc;IAAiB,CAAC,GAAGxB,YAAY,CAACe,KAAK,CAAC;IAEhDP,SAAS,CAAC,MAAAiB,YAAA,CAAAV,KAAA,CAAAH,GAAA;MAAA,SAAAc,eAAA,CAEC,CACL,OAAO,EACPP,YAAY,CAACQ,KAAK,EAClBL,sBAAsB,CAACK,KAAK,EAC5BP,aAAa,CAACO,KAAK,EACnBH,gBAAgB,CAACG,KAAK,EACtBN,cAAc,CAACM,KAAK,EACpBZ,KAAK,CAACa,KAAK,CACZ;MAAA,SAAAC,eAAA,CACM,CACLN,qBAAqB,CAACI,KAAK,EAC3BZ,KAAK,CAACe,KAAK,CACZ;IAAA,GACSZ,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
@use '../../styles/tools';
|
|
2
|
+
@use './variables' as *;
|
|
3
|
+
|
|
4
|
+
@include tools.layer('components') {
|
|
5
|
+
.v-kbd {
|
|
6
|
+
font-family: $kbd-font-family;
|
|
7
|
+
align-items: center;
|
|
8
|
+
align-self: stretch;
|
|
9
|
+
background: rgb(var(--v-theme-kbd));
|
|
10
|
+
color: rgb(var(--v-theme-on-kbd));
|
|
11
|
+
display: $kbd-display;
|
|
12
|
+
font-size: $kbd-font-size;
|
|
13
|
+
font-weight: $kbd-font-weight;
|
|
14
|
+
line-height: $kbd-line-height;
|
|
15
|
+
justify-content: center;
|
|
16
|
+
min-height: $kbd-min-height;
|
|
17
|
+
min-width: $kbd-min-width;
|
|
18
|
+
padding: $kbd-padding;
|
|
19
|
+
vertical-align: baseline;
|
|
20
|
+
margin-inline: $kbd-margin-inline;
|
|
21
|
+
|
|
22
|
+
@include tools.border($kbd-border...);
|
|
23
|
+
@include tools.elevation($kbd-elevation);
|
|
24
|
+
@include tools.rounded($kbd-border-radius);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
// VKbd
|
|
2
|
-
|
|
3
|
-
$kbd-
|
|
4
|
-
$kbd-
|
|
5
|
-
$kbd-
|
|
2
|
+
// Kbd elements naturally use monospace fonts, if users want to change this, they can do so by setting the font-family on the v-kbd element.
|
|
3
|
+
$kbd-font-family: "Roboto", sans-serif !default;
|
|
4
|
+
$kbd-border-radius: 4px !default;
|
|
5
|
+
$kbd-display: inline-flex !default;
|
|
6
|
+
$kbd-elevation: 1 !default;
|
|
7
|
+
// Kbd elements are used inline with text, so we should use the same font size as the text it's with.
|
|
8
|
+
$kbd-font-size: 0.875em !default;
|
|
6
9
|
$kbd-font-weight: normal !default;
|
|
7
|
-
$kbd-
|
|
8
|
-
|
|
10
|
+
$kbd-line-height: 1 !default;
|
|
11
|
+
$kbd-padding: 3px 6px !default;;
|
|
12
|
+
$kbd-min-height: 1em !default;
|
|
13
|
+
$kbd-min-width: 20px !default;
|
|
14
|
+
$kbd-margin-inline: 1px !default;
|
|
9
15
|
$kbd-border-color: rgba(var(--v-border-color), var(--v-border-opacity)) !default;
|
|
10
16
|
$kbd-border-style: solid !default;
|
|
11
17
|
$kbd-border-width: thin !default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["VKbd"],"sources":["../../../src/components/VKbd/index.ts"],"sourcesContent":["// Styles\nimport './VKbd.
|
|
1
|
+
{"version":3,"file":"index.js","names":["VKbd"],"sources":["../../../src/components/VKbd/index.ts"],"sourcesContent":["// Styles\nimport './VKbd.scss'\n\nexport { VKbd } from './VKbd'\n"],"mappings":"AAAA;AACA;AAAoB,SAEXA,IAAI","ignoreList":[]}
|