vuetify 2.1.0-beta.1 → 2.1.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.
Files changed (230) hide show
  1. package/dist/vuetify.css +50 -28
  2. package/dist/vuetify.css.map +1 -1
  3. package/dist/vuetify.js +177 -93
  4. package/dist/vuetify.js.map +1 -1
  5. package/dist/vuetify.min.css +2 -2
  6. package/dist/vuetify.min.js +3 -3
  7. package/es5/components/VAlert/VAlert.js +3 -18
  8. package/es5/components/VAlert/VAlert.js.map +1 -1
  9. package/es5/components/VAppBar/VAppBarNavIcon.js +1 -1
  10. package/es5/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  11. package/es5/components/VCarousel/VCarousel.js +1 -1
  12. package/es5/components/VCarousel/VCarousel.js.map +1 -1
  13. package/es5/components/VCheckbox/VCheckbox.js +3 -3
  14. package/es5/components/VCheckbox/VCheckbox.js.map +1 -1
  15. package/es5/components/VCheckbox/VSimpleCheckbox.js +3 -3
  16. package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  17. package/es5/components/VChip/VChip.js +2 -2
  18. package/es5/components/VChip/VChip.js.map +1 -1
  19. package/es5/components/VColorPicker/VColorPickerEdit.js +1 -1
  20. package/es5/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  21. package/es5/components/VColorPicker/VColorPickerSwatches.js +1 -1
  22. package/es5/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  23. package/es5/components/VDataIterator/VDataFooter.js +4 -4
  24. package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
  25. package/es5/components/VDataTable/VDataTable.js +3 -3
  26. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  27. package/es5/components/VDataTable/mixins/header.js +1 -1
  28. package/es5/components/VDataTable/mixins/header.js.map +1 -1
  29. package/es5/components/VDatePicker/VDatePicker.js +2 -2
  30. package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
  31. package/es5/components/VDatePicker/VDatePickerHeader.js +2 -2
  32. package/es5/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  33. package/es5/components/VDialog/VDialog.js +3 -0
  34. package/es5/components/VDialog/VDialog.js.map +1 -1
  35. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
  36. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  37. package/es5/components/VFileInput/VFileInput.js +1 -1
  38. package/es5/components/VFileInput/VFileInput.js.map +1 -1
  39. package/es5/components/VInput/VInput.js +3 -0
  40. package/es5/components/VInput/VInput.js.map +1 -1
  41. package/es5/components/VLazy/VLazy.js +4 -2
  42. package/es5/components/VLazy/VLazy.js.map +1 -1
  43. package/es5/components/VList/VListGroup.js +2 -2
  44. package/es5/components/VList/VListGroup.js.map +1 -1
  45. package/es5/components/VMenu/VMenu.js +3 -0
  46. package/es5/components/VMenu/VMenu.js.map +1 -1
  47. package/es5/components/VPagination/VPagination.js +2 -2
  48. package/es5/components/VPagination/VPagination.js.map +1 -1
  49. package/es5/components/VRadioGroup/VRadio.js +2 -2
  50. package/es5/components/VRadioGroup/VRadio.js.map +1 -1
  51. package/es5/components/VRating/VRating.js +3 -3
  52. package/es5/components/VRating/VRating.js.map +1 -1
  53. package/es5/components/VSelect/VSelect.js +1 -1
  54. package/es5/components/VSelect/VSelect.js.map +1 -1
  55. package/es5/components/VSlideGroup/VSlideGroup.js +2 -2
  56. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  57. package/es5/components/VStepper/VStepperStep.js +3 -3
  58. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  59. package/es5/components/VTabs/VTabs.js +2 -2
  60. package/es5/components/VTabs/VTabs.js.map +1 -1
  61. package/es5/components/VTextField/VTextField.js +2 -2
  62. package/es5/components/VTextField/VTextField.js.map +1 -1
  63. package/es5/components/VTooltip/VTooltip.js +2 -1
  64. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  65. package/es5/components/VTreeview/VTreeviewNode.js +5 -5
  66. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  67. package/es5/components/VWindow/VWindow.js +2 -2
  68. package/es5/components/VWindow/VWindow.js.map +1 -1
  69. package/es5/directives/index.js +8 -0
  70. package/es5/directives/index.js.map +1 -1
  71. package/es5/directives/intersect/index.js +7 -6
  72. package/es5/directives/intersect/index.js.map +1 -1
  73. package/es5/directives/mutate/index.js +71 -0
  74. package/es5/directives/mutate/index.js.map +1 -0
  75. package/es5/framework.js +1 -1
  76. package/es5/locale/et.js +8 -8
  77. package/es5/locale/et.js.map +1 -1
  78. package/es5/locale/hr.js +15 -15
  79. package/es5/locale/hr.js.map +1 -1
  80. package/es5/locale/sl.js +8 -8
  81. package/es5/locale/sl.js.map +1 -1
  82. package/es5/util/helpers.js +5 -5
  83. package/es5/util/helpers.js.map +1 -1
  84. package/lib/components/VAlert/VAlert.js +3 -18
  85. package/lib/components/VAlert/VAlert.js.map +1 -1
  86. package/lib/components/VAppBar/VAppBarNavIcon.js +1 -1
  87. package/lib/components/VAppBar/VAppBarNavIcon.js.map +1 -1
  88. package/lib/components/VCarousel/VCarousel.js +1 -1
  89. package/lib/components/VCarousel/VCarousel.js.map +1 -1
  90. package/lib/components/VCheckbox/VCheckbox.js +3 -3
  91. package/lib/components/VCheckbox/VCheckbox.js.map +1 -1
  92. package/lib/components/VCheckbox/VSimpleCheckbox.js +3 -3
  93. package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
  94. package/lib/components/VChip/VChip.js +2 -2
  95. package/lib/components/VChip/VChip.js.map +1 -1
  96. package/lib/components/VColorPicker/VColorPickerEdit.js +1 -1
  97. package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
  98. package/lib/components/VColorPicker/VColorPickerSwatches.js +1 -1
  99. package/lib/components/VColorPicker/VColorPickerSwatches.js.map +1 -1
  100. package/lib/components/VDataIterator/VDataFooter.js +4 -4
  101. package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
  102. package/lib/components/VDataTable/VDataTable.js +3 -3
  103. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  104. package/lib/components/VDataTable/mixins/header.js +1 -1
  105. package/lib/components/VDataTable/mixins/header.js.map +1 -1
  106. package/lib/components/VDatePicker/VDatePicker.js +2 -2
  107. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  108. package/lib/components/VDatePicker/VDatePickerHeader.js +2 -2
  109. package/lib/components/VDatePicker/VDatePickerHeader.js.map +1 -1
  110. package/lib/components/VDialog/VDialog.js +3 -0
  111. package/lib/components/VDialog/VDialog.js.map +1 -1
  112. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
  113. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  114. package/lib/components/VFileInput/VFileInput.js +1 -1
  115. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  116. package/lib/components/VInput/VInput.js +3 -0
  117. package/lib/components/VInput/VInput.js.map +1 -1
  118. package/lib/components/VLazy/VLazy.js +4 -2
  119. package/lib/components/VLazy/VLazy.js.map +1 -1
  120. package/lib/components/VList/VListGroup.js +2 -2
  121. package/lib/components/VList/VListGroup.js.map +1 -1
  122. package/lib/components/VMenu/VMenu.js +3 -0
  123. package/lib/components/VMenu/VMenu.js.map +1 -1
  124. package/lib/components/VPagination/VPagination.js +2 -2
  125. package/lib/components/VPagination/VPagination.js.map +1 -1
  126. package/lib/components/VRadioGroup/VRadio.js +2 -2
  127. package/lib/components/VRadioGroup/VRadio.js.map +1 -1
  128. package/lib/components/VRating/VRating.js +3 -3
  129. package/lib/components/VRating/VRating.js.map +1 -1
  130. package/lib/components/VSelect/VSelect.js +1 -1
  131. package/lib/components/VSelect/VSelect.js.map +1 -1
  132. package/lib/components/VSlideGroup/VSlideGroup.js +2 -2
  133. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  134. package/lib/components/VStepper/VStepperStep.js +3 -3
  135. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  136. package/lib/components/VTabs/VTabs.js +2 -2
  137. package/lib/components/VTabs/VTabs.js.map +1 -1
  138. package/lib/components/VTextField/VTextField.js +2 -2
  139. package/lib/components/VTextField/VTextField.js.map +1 -1
  140. package/lib/components/VTooltip/VTooltip.js +2 -1
  141. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  142. package/lib/components/VTreeview/VTreeviewNode.js +5 -5
  143. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  144. package/lib/components/VWindow/VWindow.js +2 -2
  145. package/lib/components/VWindow/VWindow.js.map +1 -1
  146. package/lib/directives/index.js +1 -0
  147. package/lib/directives/index.js.map +1 -1
  148. package/lib/directives/intersect/index.js +5 -6
  149. package/lib/directives/intersect/index.js.map +1 -1
  150. package/lib/directives/mutate/index.js +56 -0
  151. package/lib/directives/mutate/index.js.map +1 -0
  152. package/lib/framework.js +1 -1
  153. package/lib/locale/et.js +8 -8
  154. package/lib/locale/et.js.map +1 -1
  155. package/lib/locale/hr.js +15 -15
  156. package/lib/locale/hr.js.map +1 -1
  157. package/lib/locale/sl.js +8 -8
  158. package/lib/locale/sl.js.map +1 -1
  159. package/lib/util/helpers.js +3 -4
  160. package/lib/util/helpers.js.map +1 -1
  161. package/package.json +2 -2
  162. package/src/components/VAlert/VAlert.ts +3 -8
  163. package/src/components/VAlert/__tests__/__snapshots__/VAlert.spec.ts.snap +2 -2
  164. package/src/components/VAppBar/VAppBarNavIcon.ts +1 -1
  165. package/src/components/VAppBar/__tests__/__snapshots__/VAppBarNavIcon.spec.ts.snap +1 -1
  166. package/src/components/VCalendar/VCalendarWeekly.sass +3 -0
  167. package/src/components/VCarousel/VCarousel.ts +1 -1
  168. package/src/components/VCheckbox/VCheckbox.ts +3 -3
  169. package/src/components/VCheckbox/VSimpleCheckbox.ts +3 -3
  170. package/src/components/VCheckbox/__tests__/__snapshots__/VCheckbox.spec.ts.snap +1 -1
  171. package/src/components/VChip/VChip.ts +2 -2
  172. package/src/components/VChip/__tests__/__snapshots__/VChip.spec.ts.snap +1 -1
  173. package/src/components/VColorPicker/VColorPickerEdit.ts +1 -1
  174. package/src/components/VColorPicker/VColorPickerSwatches.ts +1 -1
  175. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPicker.spec.ts.snap +5 -5
  176. package/src/components/VColorPicker/__tests__/__snapshots__/VColorPickerEdit.spec.ts.snap +5 -5
  177. package/src/components/VDataIterator/VDataFooter.ts +4 -4
  178. package/src/components/VDataTable/VDataTable.ts +3 -3
  179. package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +191 -191
  180. package/src/components/VDataTable/__tests__/__snapshots__/VDataTableHeader.spec.ts.snap +35 -35
  181. package/src/components/VDataTable/mixins/__tests__/__snapshots__/header.spec.ts.snap +3 -3
  182. package/src/components/VDataTable/mixins/header.ts +1 -1
  183. package/src/components/VDatePicker/VDatePicker.ts +2 -2
  184. package/src/components/VDatePicker/VDatePickerHeader.ts +2 -2
  185. package/src/components/VDialog/VDialog.sass +4 -7
  186. package/src/components/VDialog/VDialog.ts +6 -0
  187. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
  188. package/src/components/VExpansionPanel/__tests__/__snapshots__/VExpansionPanel.spec.ts.snap +1 -1
  189. package/src/components/VFileInput/VFileInput.ts +1 -1
  190. package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +16 -16
  191. package/src/components/VIcon/__tests__/VIcon.spec.ts +11 -11
  192. package/src/components/VInput/VInput.sass +3 -0
  193. package/src/components/VInput/VInput.ts +3 -0
  194. package/src/components/VInput/__tests__/__snapshots__/VInput.spec.ts.snap +3 -1
  195. package/src/components/VLazy/VLazy.ts +4 -2
  196. package/src/components/VList/VListGroup.ts +2 -2
  197. package/src/components/VList/__tests__/__snapshots__/VListGroup.spec.ts.snap +1 -1
  198. package/src/components/VMenu/VMenu.sass +3 -8
  199. package/src/components/VMenu/VMenu.ts +6 -0
  200. package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +2 -2
  201. package/src/components/VPagination/VPagination.ts +2 -2
  202. package/src/components/VRadioGroup/VRadio.ts +2 -2
  203. package/src/components/VRadioGroup/__tests__/__snapshots__/VRadio.spec.ts.snap +3 -3
  204. package/src/components/VRating/VRating.ts +3 -3
  205. package/src/components/VSelect/VSelect.ts +1 -1
  206. package/src/components/VSelect/__tests__/__snapshots__/VSelect.spec.ts.snap +7 -7
  207. package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +5 -5
  208. package/src/components/VSelect/__tests__/__snapshots__/VSelect3.spec.ts.snap +1 -1
  209. package/src/components/VSlideGroup/VSlideGroup.ts +2 -2
  210. package/src/components/VSlideGroup/__tests__/__snapshots__/VSlideGroup.spec.ts.snap +4 -4
  211. package/src/components/VStepper/VStepperStep.ts +3 -3
  212. package/src/components/VTabs/VTabs.ts +2 -2
  213. package/src/components/VTextField/VTextField.sass +35 -11
  214. package/src/components/VTextField/VTextField.ts +2 -2
  215. package/src/components/VTooltip/VTooltip.sass +5 -2
  216. package/src/components/VTooltip/VTooltip.ts +4 -0
  217. package/src/components/VTreeview/VTreeviewNode.ts +5 -5
  218. package/src/components/VTreeview/__tests__/VTreeviewNode.spec.ts +2 -2
  219. package/src/components/VTreeview/__tests__/__snapshots__/VTreeview.spec.ts.snap +1 -1
  220. package/src/components/VWindow/VWindow.ts +2 -2
  221. package/src/directives/index.ts +1 -0
  222. package/src/directives/intersect/index.ts +6 -5
  223. package/src/directives/mutate/__tests__/mutate.spec.ts +130 -0
  224. package/src/directives/mutate/index.ts +63 -0
  225. package/src/globals.d.ts +3 -0
  226. package/src/locale/et.ts +8 -8
  227. package/src/locale/hr.ts +15 -15
  228. package/src/locale/sl.ts +8 -8
  229. package/src/styles/settings/_variables.scss +3 -3
  230. package/src/util/helpers.ts +3 -5
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDatePicker/VDatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport { pad, createNativeLocaleFormatter } from './util'\nimport isDateAllowed, { AllowedDateFunction } from './util/isDateAllowed'\nimport { consoleWarn } from '../../util/console'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\nimport { VNode } from 'vue'\n\nexport type DateEventColorValue = string | string[]\nexport type DateEvents = string[] | ((date: string) => boolean | DateEventColorValue) | Record<string, DateEventColorValue>\nexport type DateEventColors = DateEventColorValue | Record<string, DateEventColorValue> | ((date: string) => DateEventColorValue)\ntype DatePickerValue = string | string[] | undefined\ntype DatePickerType = 'date' | 'month'\ntype DatePickerMultipleFormatter = (date: string[]) => string\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\n// Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',\n// 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'\nfunction sanitizeDateString (dateString: string, type: 'date' | 'month' | 'year'): string {\n const [year, month = 1, date = 1] = dateString.split('-')\n return `${year}-${pad(month)}-${pad(date)}`.substr(0, { date: 10, month: 7, year: 4 }[type])\n}\n\nexport default mixins(\n Localable,\n Picker\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n allowedDates: Function as PropValidator<AllowedDateFunction | undefined>,\n // Function formatting the day in date picker table\n dayFormat: Function as PropValidator<AllowedDateFunction | undefined>,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as any as PropValidator<DateEvents>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as any as PropValidator<DateEventColors>,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$vuetify.icons.next',\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$vuetify.icons.prev',\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true,\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected',\n },\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropValidator<DatePickerFormatter | DatePickerMultipleFormatter | undefined>,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type), // TODO: year\n } as any as PropValidator<DatePickerType>,\n value: [Array, String] as PropValidator<DatePickerValue>,\n weekdayFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n yearIcon: String,\n },\n\n data () {\n const now = new Date()\n return {\n activePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const date = (this.multiple || this.range ? (this.value as string[])[(this.value as string[]).length - 1] : this.value) ||\n `${now.getFullYear()}-${now.getMonth() + 1}`\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })(),\n }\n },\n\n computed: {\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? (this.value as string[])[(this.value as string[]).length - 1] : (this.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || !this.value.length || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return (this.value as string[]).map(val => val.substr(0, 7))\n } else {\n return (this.value as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter),\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },\n }\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type],\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',<br>')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n },\n },\n\n watch: {\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (!this.isMultiple && this.value && !this.pickerDate) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n } else if (this.isMultiple && (this.value as string[]).length && !(oldValue as string[]).length && !this.pickerDate) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.activePicker = type.toUpperCase()\n\n if (this.value && this.value.length) {\n const output = (this.isMultiple ? (this.value as string[]) : [this.value as string])\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\n if (this.range && this.value) {\n this.value.length === 2\n ? this.$emit('input', [newInput])\n : this.$emit('input', [...this.value, newInput])\n return\n }\n\n const output = this.multiple\n ? (\n (this.value as string[]).indexOf(newInput) === -1\n ? (this.value as string[]).concat([newInput])\n : (this.value as string[]).filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string) {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.activePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n },\n monthClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.activePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n this.inputDay = parseInt(value.split('-')[2], 10)\n this.emitInput(this.inputDate)\n },\n genPickerTitle () {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.value) : '',\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.activePicker === 'YEAR',\n year: this.formatters.year(this.value ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n value: this.isMultiple ? (this.value as string[])[0] : this.value,\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.activePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader () {\n return this.$createElement(VDatePickerHeader, {\n props: {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.activePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.activePicker === 'DATE' ? this.maxMonth : this.maxYear,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n value: this.activePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.activePicker = (this.activePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable () {\n let proxyValue = this.value\n\n if (this.range && this.value && this.value.length === 2) {\n proxyValue = []\n const [rangeFrom, rangeTo] = [this.value[0], this.value[1]].map(x => new Date(`${x}T00:00:00+00:00`)).sort((a, b) => a > b ? 1 : -1)\n const diffDays = Math.ceil((rangeTo.getTime() - rangeFrom.getTime()) / (1000 * 60 * 60 * 24))\n for (let i = 0; i <= diffDays; i++) {\n const current = new Date(+rangeFrom + i * 864e5)\n proxyValue.push(current.toISOString().substring(0, 10))\n }\n }\n\n return this.$createElement(VDatePickerDateTable, {\n props: {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n min: this.min,\n max: this.max,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n value: proxyValue,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n 'click:date': (value: string) => this.$emit('click:date', value),\n 'dblclick:date': (value: string) => this.$emit('dblclick:date', value),\n },\n })\n },\n genMonthTable () {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n 'click:month': (value: string) => this.$emit('click:month', value),\n 'dblclick:month': (value: string) => this.$emit('dblclick:month', value),\n },\n })\n },\n genYears () {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n },\n })\n },\n genPickerBody () {\n const children = this.activePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.activePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('div', {\n key: this.activePicker,\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n },\n})\n"],"sourceRoot":"","file":"VDatePicker.js"}
1
+ {"version":3,"sources":["../../../src/components/VDatePicker/VDatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport { pad, createNativeLocaleFormatter } from './util'\nimport isDateAllowed, { AllowedDateFunction } from './util/isDateAllowed'\nimport { consoleWarn } from '../../util/console'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\nimport { VNode } from 'vue'\n\nexport type DateEventColorValue = string | string[]\nexport type DateEvents = string[] | ((date: string) => boolean | DateEventColorValue) | Record<string, DateEventColorValue>\nexport type DateEventColors = DateEventColorValue | Record<string, DateEventColorValue> | ((date: string) => DateEventColorValue)\ntype DatePickerValue = string | string[] | undefined\ntype DatePickerType = 'date' | 'month'\ntype DatePickerMultipleFormatter = (date: string[]) => string\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\n// Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',\n// 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'\nfunction sanitizeDateString (dateString: string, type: 'date' | 'month' | 'year'): string {\n const [year, month = 1, date = 1] = dateString.split('-')\n return `${year}-${pad(month)}-${pad(date)}`.substr(0, { date: 10, month: 7, year: 4 }[type])\n}\n\nexport default mixins(\n Localable,\n Picker\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n allowedDates: Function as PropValidator<AllowedDateFunction | undefined>,\n // Function formatting the day in date picker table\n dayFormat: Function as PropValidator<AllowedDateFunction | undefined>,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as any as PropValidator<DateEvents>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as any as PropValidator<DateEventColors>,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true,\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected',\n },\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropValidator<DatePickerFormatter | DatePickerMultipleFormatter | undefined>,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type), // TODO: year\n } as any as PropValidator<DatePickerType>,\n value: [Array, String] as PropValidator<DatePickerValue>,\n weekdayFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropValidator<DatePickerFormatter | undefined>,\n yearIcon: String,\n },\n\n data () {\n const now = new Date()\n return {\n activePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const date = (this.multiple || this.range ? (this.value as string[])[(this.value as string[]).length - 1] : this.value) ||\n `${now.getFullYear()}-${now.getMonth() + 1}`\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })(),\n }\n },\n\n computed: {\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? (this.value as string[])[(this.value as string[]).length - 1] : (this.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || !this.value.length || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return (this.value as string[]).map(val => val.substr(0, 7))\n } else {\n return (this.value as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter),\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },\n }\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type],\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',<br>')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n },\n },\n\n watch: {\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (!this.isMultiple && this.value && !this.pickerDate) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n } else if (this.isMultiple && (this.value as string[]).length && !(oldValue as string[]).length && !this.pickerDate) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.activePicker = type.toUpperCase()\n\n if (this.value && this.value.length) {\n const output = (this.isMultiple ? (this.value as string[]) : [this.value as string])\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\n if (this.range && this.value) {\n this.value.length === 2\n ? this.$emit('input', [newInput])\n : this.$emit('input', [...this.value, newInput])\n return\n }\n\n const output = this.multiple\n ? (\n (this.value as string[]).indexOf(newInput) === -1\n ? (this.value as string[]).concat([newInput])\n : (this.value as string[]).filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string) {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.activePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n },\n monthClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.activePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n this.inputDay = parseInt(value.split('-')[2], 10)\n this.emitInput(this.inputDate)\n },\n genPickerTitle () {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.value) : '',\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.activePicker === 'YEAR',\n year: this.formatters.year(this.value ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n value: this.isMultiple ? (this.value as string[])[0] : this.value,\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.activePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader () {\n return this.$createElement(VDatePickerHeader, {\n props: {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.activePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.activePicker === 'DATE' ? this.maxMonth : this.maxYear,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n value: this.activePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.activePicker = (this.activePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable () {\n let proxyValue = this.value\n\n if (this.range && this.value && this.value.length === 2) {\n proxyValue = []\n const [rangeFrom, rangeTo] = [this.value[0], this.value[1]].map(x => new Date(`${x}T00:00:00+00:00`)).sort((a, b) => a > b ? 1 : -1)\n const diffDays = Math.ceil((rangeTo.getTime() - rangeFrom.getTime()) / (1000 * 60 * 60 * 24))\n for (let i = 0; i <= diffDays; i++) {\n const current = new Date(+rangeFrom + i * 864e5)\n proxyValue.push(current.toISOString().substring(0, 10))\n }\n }\n\n return this.$createElement(VDatePickerDateTable, {\n props: {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n min: this.min,\n max: this.max,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n value: proxyValue,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n 'click:date': (value: string) => this.$emit('click:date', value),\n 'dblclick:date': (value: string) => this.$emit('dblclick:date', value),\n },\n })\n },\n genMonthTable () {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n 'click:month': (value: string) => this.$emit('click:month', value),\n 'dblclick:month': (value: string) => this.$emit('dblclick:month', value),\n },\n })\n },\n genYears () {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n },\n })\n },\n genPickerBody () {\n const children = this.activePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.activePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('div', {\n key: this.activePicker,\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n },\n})\n"],"sourceRoot":"","file":"VDatePicker.js"}
@@ -20,11 +20,11 @@ export default mixins(Colorable, Localable, Themeable
20
20
  max: String,
21
21
  nextIcon: {
22
22
  type: String,
23
- default: '$vuetify.icons.next'
23
+ default: '$next'
24
24
  },
25
25
  prevIcon: {
26
26
  type: String,
27
- default: '$vuetify.icons.prev'
27
+ default: '$prev'
28
28
  },
29
29
  readonly: Boolean,
30
30
  value: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDatePicker/VDatePickerHeader.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDatePickerHeader.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { createNativeLocaleFormatter, monthChange } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\nimport { PropValidator } from 'vue/types/options'\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-header',\n\n props: {\n disabled: Boolean,\n format: Function as PropValidator<DatePickerFormatter | undefined>,\n min: String,\n max: String,\n nextIcon: {\n type: String,\n default: '$vuetify.icons.next',\n },\n prevIcon: {\n type: String,\n default: '$vuetify.icons.prev',\n },\n readonly: Boolean,\n value: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n isReversing: false,\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n if (this.format) {\n return this.format\n } else if (String(this.value).split('-')[1]) {\n return createNativeLocaleFormatter(this.currentLocale, { month: 'long', year: 'numeric', timeZone: 'UTC' }, { length: 7 })\n } else {\n return createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n }\n },\n },\n\n watch: {\n value (newVal, oldVal) {\n this.isReversing = newVal < oldVal\n },\n },\n\n methods: {\n genBtn (change: number) {\n const disabled = this.disabled ||\n (change < 0 && this.min && this.calculateChange(change) < this.min) ||\n (change > 0 && this.max && this.calculateChange(change) > this.max)\n\n return this.$createElement(VBtn, {\n props: {\n dark: this.dark,\n disabled,\n icon: true,\n light: this.light,\n },\n nativeOn: {\n click: (e: Event) => {\n e.stopPropagation()\n this.$emit('input', this.calculateChange(change))\n },\n },\n }, [\n this.$createElement(VIcon, ((change < 0) === !this.$vuetify.rtl) ? this.prevIcon : this.nextIcon),\n ])\n },\n calculateChange (sign: number) {\n const [year, month] = String(this.value).split('-').map(Number)\n\n if (month == null) {\n return `${year + sign}`\n } else {\n return monthChange(String(this.value), sign)\n }\n },\n genHeader () {\n const color = !this.disabled && (this.color || 'accent')\n const header = this.$createElement('div', this.setTextColor(color, {\n key: String(this.value),\n }), [this.$createElement('button', {\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('toggle'),\n },\n }, [this.$slots.default || this.formatter(String(this.value))])])\n\n const transition = this.$createElement('transition', {\n props: {\n name: (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition',\n },\n }, [header])\n\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header__value',\n class: {\n 'v-date-picker-header__value--disabled': this.disabled,\n },\n }, [transition])\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header',\n class: {\n 'v-date-picker-header--disabled': this.disabled,\n ...this.themeClasses,\n },\n }, [\n this.genBtn(-1),\n this.genHeader(),\n this.genBtn(+1),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDatePickerHeader.js"}
1
+ {"version":3,"sources":["../../../src/components/VDatePicker/VDatePickerHeader.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDatePickerHeader.sass'\n\n// Components\nimport VBtn from '../VBtn'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Localable from '../../mixins/localable'\nimport Themeable from '../../mixins/themeable'\n\n// Utils\nimport { createNativeLocaleFormatter, monthChange } from './util'\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { DatePickerFormatter } from './util/createNativeLocaleFormatter'\nimport { PropValidator } from 'vue/types/options'\n\nexport default mixins(\n Colorable,\n Localable,\n Themeable\n/* @vue/component */\n).extend({\n name: 'v-date-picker-header',\n\n props: {\n disabled: Boolean,\n format: Function as PropValidator<DatePickerFormatter | undefined>,\n min: String,\n max: String,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n readonly: Boolean,\n value: {\n type: [Number, String],\n required: true,\n },\n },\n\n data () {\n return {\n isReversing: false,\n }\n },\n\n computed: {\n formatter (): DatePickerFormatter {\n if (this.format) {\n return this.format\n } else if (String(this.value).split('-')[1]) {\n return createNativeLocaleFormatter(this.currentLocale, { month: 'long', year: 'numeric', timeZone: 'UTC' }, { length: 7 })\n } else {\n return createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 })\n }\n },\n },\n\n watch: {\n value (newVal, oldVal) {\n this.isReversing = newVal < oldVal\n },\n },\n\n methods: {\n genBtn (change: number) {\n const disabled = this.disabled ||\n (change < 0 && this.min && this.calculateChange(change) < this.min) ||\n (change > 0 && this.max && this.calculateChange(change) > this.max)\n\n return this.$createElement(VBtn, {\n props: {\n dark: this.dark,\n disabled,\n icon: true,\n light: this.light,\n },\n nativeOn: {\n click: (e: Event) => {\n e.stopPropagation()\n this.$emit('input', this.calculateChange(change))\n },\n },\n }, [\n this.$createElement(VIcon, ((change < 0) === !this.$vuetify.rtl) ? this.prevIcon : this.nextIcon),\n ])\n },\n calculateChange (sign: number) {\n const [year, month] = String(this.value).split('-').map(Number)\n\n if (month == null) {\n return `${year + sign}`\n } else {\n return monthChange(String(this.value), sign)\n }\n },\n genHeader () {\n const color = !this.disabled && (this.color || 'accent')\n const header = this.$createElement('div', this.setTextColor(color, {\n key: String(this.value),\n }), [this.$createElement('button', {\n attrs: {\n type: 'button',\n },\n on: {\n click: () => this.$emit('toggle'),\n },\n }, [this.$slots.default || this.formatter(String(this.value))])])\n\n const transition = this.$createElement('transition', {\n props: {\n name: (this.isReversing === !this.$vuetify.rtl) ? 'tab-reverse-transition' : 'tab-transition',\n },\n }, [header])\n\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header__value',\n class: {\n 'v-date-picker-header__value--disabled': this.disabled,\n },\n }, [transition])\n },\n },\n\n render (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-date-picker-header',\n class: {\n 'v-date-picker-header--disabled': this.disabled,\n ...this.themeClasses,\n },\n }, [\n this.genBtn(-1),\n this.genHeader(),\n this.genBtn(+1),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDatePickerHeader.js"}
@@ -287,6 +287,9 @@ export default baseMixins.extend({
287
287
  }, [dialog])]));
288
288
  return h('div', {
289
289
  staticClass: 'v-dialog__container',
290
+ class: {
291
+ 'v-dialog__container--attached': this.attach === '' || this.attach === true || this.attach === 'attach'
292
+ },
290
293
  attrs: {
291
294
  role: 'dialog'
292
295
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDialog.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport ThemeProvider from '../../util/ThemeProvider'\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Activatable,\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'none',\n },\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: {\n type: [String, Number],\n default: 'auto',\n },\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n isActive: !!this.value,\n stackMinZIndex: 200,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // If the dialog content contains\n // the click event, or if the\n // dialog is not active, or if the overlay\n // is the same element as the target\n if (this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) return false\n\n // If we made it here, the click is outside\n // and is active. If persistent, and the\n // click is on the overlay, animate\n this.$emit('click:outside')\n\n if (this.persistent && this.overlay) {\n if (\n !this.noClickAnimation &&\n (\n this.overlay.$el === target ||\n this.overlay.$el.contains(target)\n )\n ) this.animateClick()\n\n return false\n }\n\n // close dialog if !persistent, clicked outside and we're the topmost dialog.\n // Since this should only be called in a capture event (bottom up), we shouldn't need to stop propagation\n return this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n this.$nextTick(() => {\n this.$refs.content.focus()\n this.bind()\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n onFocusin (e: Event) {\n if (\n !e ||\n e.target === document.activeElement ||\n !this.retainFocus\n ) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.content.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n focusable.length && (focusable[0] as HTMLElement).focus()\n }\n },\n },\n\n render (h): VNode {\n const children = []\n const data = {\n class: this.classes,\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n on: {\n click: (e: Event) => { e.stopPropagation() },\n },\n style: {},\n }\n\n if (!this.fullscreen) {\n data.style = {\n maxWidth: this.maxWidth === 'none' ? undefined : convertToUnit(this.maxWidth),\n width: this.width === 'auto' ? undefined : convertToUnit(this.width),\n }\n }\n\n children.push(this.genActivator())\n\n let dialog = h('div', data, this.showLazyContent(this.getContentSlot()))\n if (this.transition) {\n dialog = h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n },\n }, [dialog])\n }\n\n children.push(h('div', {\n class: this.contentClasses,\n attrs: {\n role: 'document',\n tabindex: this.isActive ? 0 : undefined,\n ...this.getScopeIdAttrs(),\n },\n on: {\n keydown: this.onKeydown,\n },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [\n this.$createElement(ThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [dialog]),\n ]))\n\n return h('div', {\n staticClass: 'v-dialog__container',\n attrs: { role: 'dialog' },\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
1
+ {"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDialog.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport { convertToUnit, keyCodes } from '../../util/helpers'\nimport ThemeProvider from '../../util/ThemeProvider'\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n Activatable,\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Toggleable\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n directives: {\n ClickOutside,\n },\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: {\n type: [String, Number],\n default: 'none',\n },\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: {\n type: [String, Number],\n default: 'auto',\n },\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n isActive: !!this.value,\n stackMinZIndex: 200,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$scopedSlots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // If the dialog content contains\n // the click event, or if the\n // dialog is not active, or if the overlay\n // is the same element as the target\n if (this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) return false\n\n // If we made it here, the click is outside\n // and is active. If persistent, and the\n // click is on the overlay, animate\n this.$emit('click:outside')\n\n if (this.persistent && this.overlay) {\n if (\n !this.noClickAnimation &&\n (\n this.overlay.$el === target ||\n this.overlay.$el.contains(target)\n )\n ) this.animateClick()\n\n return false\n }\n\n // close dialog if !persistent, clicked outside and we're the topmost dialog.\n // Since this should only be called in a capture event (bottom up), we shouldn't need to stop propagation\n return this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.options.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n this.$nextTick(() => {\n this.$refs.content.focus()\n this.bind()\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n onFocusin (e: Event) {\n if (\n !e ||\n e.target === document.activeElement ||\n !this.retainFocus\n ) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n // It isn't the document or the dialog body\n ![document, this.$refs.content].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.content.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.content.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n focusable.length && (focusable[0] as HTMLElement).focus()\n }\n },\n },\n\n render (h): VNode {\n const children = []\n const data = {\n class: this.classes,\n ref: 'dialog',\n directives: [\n {\n name: 'click-outside',\n value: () => { this.isActive = false },\n args: {\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n },\n },\n { name: 'show', value: this.isActive },\n ],\n on: {\n click: (e: Event) => { e.stopPropagation() },\n },\n style: {},\n }\n\n if (!this.fullscreen) {\n data.style = {\n maxWidth: this.maxWidth === 'none' ? undefined : convertToUnit(this.maxWidth),\n width: this.width === 'auto' ? undefined : convertToUnit(this.width),\n }\n }\n\n children.push(this.genActivator())\n\n let dialog = h('div', data, this.showLazyContent(this.getContentSlot()))\n if (this.transition) {\n dialog = h('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n },\n }, [dialog])\n }\n\n children.push(h('div', {\n class: this.contentClasses,\n attrs: {\n role: 'document',\n tabindex: this.isActive ? 0 : undefined,\n ...this.getScopeIdAttrs(),\n },\n on: {\n keydown: this.onKeydown,\n },\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [\n this.$createElement(ThemeProvider, {\n props: {\n root: true,\n light: this.light,\n dark: this.dark,\n },\n }, [dialog]),\n ]))\n\n return h('div', {\n staticClass: 'v-dialog__container',\n class: {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n },\n attrs: { role: 'dialog' },\n }, children)\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
@@ -18,7 +18,7 @@ export default baseMixins.extend().extend({
18
18
  disableIconRotate: Boolean,
19
19
  expandIcon: {
20
20
  type: String,
21
- default: '$vuetify.icons.expand'
21
+ default: '$expand'
22
22
  },
23
23
  hideActions: Boolean,
24
24
  ripple: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$vuetify.icons.expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions') ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }, [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VExpansionPanelHeader.js"}
1
+ {"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\nexport default baseMixins.extend<options>().extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions') ||\n [this.$createElement(VIcon, this.expandIcon)]\n\n return this.$createElement(VFadeTransition, [\n this.$createElement('div', {\n staticClass: 'v-expansion-panel-header__icon',\n class: {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n },\n directives: [{\n name: 'show',\n value: !this.isDisabled,\n }],\n }, icon),\n ])\n },\n },\n\n render (h): VNode {\n return h('button', {\n staticClass: 'v-expansion-panel-header',\n class: this.classes,\n attrs: {\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n },\n directives: [{\n name: 'ripple',\n value: this.ripple,\n }],\n on: {\n ...this.$listeners,\n click: this.onClick,\n mousedown: () => (this.hasMousedown = true),\n mouseup: () => (this.hasMousedown = false),\n },\n }, [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VExpansionPanelHeader.js"}
@@ -30,7 +30,7 @@ export default VTextField.extend({
30
30
  placeholder: String,
31
31
  prependIcon: {
32
32
  type: String,
33
- default: '$vuetify.icons.file'
33
+ default: '$file'
34
34
  },
35
35
  readonly: {
36
36
  type: Boolean,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VFileInput/VFileInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\nexport default VTextField.extend({\n name: 'v-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$vuetify.icons.file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator<boolean | 1000 | 1024>,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: () => [],\n validator: val => {\n return typeof val === 'object' || Array.isArray(val)\n },\n } as PropValidator<File | File[]>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n counterValue (): string {\n const fileCount = (this.isMultiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((size: number, file: File) => size + file.size, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n isMultiple (): boolean {\n return this.$attrs.hasOwnProperty('multiple')\n },\n text (): string[] {\n if (!this.isDirty) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const name = this.truncateText(file.name)\n\n return !this.showSize ? name : `${name} (${humanReadableFileSize(file.size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on <v-file-input>', this)\n },\n immediate: true,\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.isMultiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(VChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // do to the input event not firing\n // https://github.com/vuetifyjs/vuetify/issues/7941\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.counterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-file-input__text',\n class: {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n on: {\n click: () => this.$refs.input.click(),\n },\n }, children)\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.isMultiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n"],"sourceRoot":"","file":"VFileInput.js"}
1
+ {"version":3,"sources":["../../../src/components/VFileInput/VFileInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\nexport default VTextField.extend({\n name: 'v-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator<boolean | 1000 | 1024>,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: () => [],\n validator: val => {\n return typeof val === 'object' || Array.isArray(val)\n },\n } as PropValidator<File | File[]>,\n },\n\n computed: {\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n counterValue (): string {\n const fileCount = (this.isMultiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((size: number, file: File) => size + file.size, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return Array.isArray(this.internalValue)\n ? this.internalValue\n : wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n isMultiple (): boolean {\n return this.$attrs.hasOwnProperty('multiple')\n },\n text (): string[] {\n if (!this.isDirty) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const name = this.truncateText(file.name)\n\n return !this.showSize ? name : `${name} (${humanReadableFileSize(file.size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on <v-file-input>', this)\n },\n immediate: true,\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.isMultiple ? [] : null\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(VChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // do to the input event not firing\n // https://github.com/vuetifyjs/vuetify/issues/7941\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.counterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-file-input__text',\n class: {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n on: {\n click: () => this.$refs.input.click(),\n },\n }, children)\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.isMultiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n"],"sourceRoot":"","file":"VFileInput.js"}
@@ -194,6 +194,9 @@ export default baseMixins.extend().extend({
194
194
  dark: this.dark,
195
195
  light: this.light,
196
196
  value: this.hasMessages || this.hasHint ? messages : []
197
+ },
198
+ attrs: {
199
+ role: this.hasMessages ? 'alert' : null
197
200
  }
198
201
  });
199
202
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n kebabCase,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null as any as PropType<any>,\n },\n\n data () {\n return {\n lazyValue: this.value,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': this.hideDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.disabled,\n 'v-input--is-focused': this.isFocused,\n 'v-input--is-loading': this.loading !== false && this.loading !== undefined,\n 'v-input--is-readonly': this.readonly,\n 'v-input--dense': this.dense,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this._uid}`\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isDisabled (): boolean {\n return this.disabled || this.readonly\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n this.$slots.default,\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n\n const data: VNodeData = {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.disabled,\n light: this.light,\n },\n on: !(this.listeners$[eventName] || cb)\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n },\n }\n\n return this.$createElement('div', {\n staticClass: `v-input__icon v-input__icon--${kebabCase(type)}`,\n key: type + icon,\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n },\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n },\n }, this.$slots.label || this.label)\n },\n genMessages () {\n if (this.hideDetails) return null\n\n const messages = this.hasHint\n ? [this.hint]\n : this.validations\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: (this.hasMessages || this.hasHint) ? messages : [],\n },\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), this.genContent())\n },\n})\n"],"sourceRoot":"","file":"VInput.js"}
1
+ {"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n kebabCase,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData, PropType } from 'vue'\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend<options>().extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n value: null as any as PropType<any>,\n },\n\n data () {\n return {\n lazyValue: this.value,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': this.hideDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.disabled,\n 'v-input--is-focused': this.isFocused,\n 'v-input--is-loading': this.loading !== false && this.loading !== undefined,\n 'v-input--is-readonly': this.readonly,\n 'v-input--dense': this.dense,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this._uid}`\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isDisabled (): boolean {\n return this.disabled || this.readonly\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = (this.$options.model && this.$options.model.event) || 'input'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return this.$createElement('div', {\n staticClass: 'v-input__control',\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n this.$slots.default,\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n\n const data: VNodeData = {\n props: {\n color: this.validationState,\n dark: this.dark,\n disabled: this.disabled,\n light: this.light,\n },\n on: !(this.listeners$[eventName] || cb)\n ? undefined\n : {\n click: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n mouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n },\n }\n\n return this.$createElement('div', {\n staticClass: `v-input__icon v-input__icon--${kebabCase(type)}`,\n key: type + icon,\n }, [\n this.$createElement(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return this.$createElement('div', this.setBackgroundColor(this.backgroundColor, {\n staticClass: 'v-input__slot',\n style: { height: convertToUnit(this.height) },\n on: {\n click: this.onClick,\n mousedown: this.onMouseDown,\n mouseup: this.onMouseUp,\n },\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n props: {\n color: this.validationState,\n dark: this.dark,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n },\n }, this.$slots.label || this.label)\n },\n genMessages () {\n if (this.hideDetails) return null\n\n const messages = this.hasHint\n ? [this.hint]\n : this.validations\n\n return this.$createElement(VMessages, {\n props: {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: (this.hasMessages || this.hasHint) ? messages : [],\n },\n attrs: {\n role: this.hasMessages ? 'alert' : null,\n },\n })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n return this.$createElement('div', {\n staticClass: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.validationState, {\n staticClass: 'v-input',\n class: this.classes,\n }), this.genContent())\n },\n})\n"],"sourceRoot":"","file":"VInput.js"}
@@ -62,8 +62,10 @@ export default mixins(Toggleable).extend({
62
62
  attrs: this.$attrs,
63
63
  directives: [{
64
64
  name: 'intersect',
65
- options: this.options,
66
- value: this.onObserve
65
+ value: {
66
+ handler: this.onObserve,
67
+ options: this.options
68
+ }
67
69
  }],
68
70
  on: this.$listeners,
69
71
  style: this.styles
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VLazy/VLazy.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,OAAO,SAAP,MAAsB,4BAAtB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,aAAT,EAAwB,OAAxB,QAAuC,oBAAvC;AAKA,eAAe,MAAM,CAAC,UAAD,CAAN,CAAmB,MAAnB,CAA0B;AACvC,EAAA,IAAI,EAAE,OADiC;AAGvC,EAAA,UAAU,EAAE;AAAE,IAAA;AAAF,GAH2B;AAKvC,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE,CAAC,MAAD,EAAS,MAAT,CADN;AAEL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP;AACA;AACA,MAAA,OAAO,EAAE,OAAO;AACd,QAAA,IAAI,EAAE,SADQ;AAEd,QAAA,UAAU,EAAE,SAFE;AAGd,QAAA,SAAS,EAAE;AAHG,OAAP;AAJF,KAFJ;AAYL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC;AAZP,GALgC;AAuBvC,EAAA,QAAQ,EAAE;AACR,IAAA,MAAM,GAAA;AACJ,aAAO;AACL,QAAA,SAAS,EAAE,QAAQ,CAAC,KAAK,SAAN,CAAR,GAA2B,aAAa,CAAC,KAAK,SAAN,CAAxC,GAA2D,KAAK;AADtE,OAAP;AAGD;;AALO,GAvB6B;AA+BvC,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,UAAI,CAAC,KAAK,QAAV,EAAoB,OAAO,SAAP;AAEpB,YAAM,IAAI,GAAG,OAAO,CAAC,IAAD,CAApB;AAEA;;AACA,UAAI,CAAC,KAAK,UAAV,EAAsB,OAAO,IAAP;AAEtB,aAAO,KAAK,cAAL,CAAoB,YAApB,EAAkC;AACvC,QAAA,KAAK,EAAE;AAAE,UAAA,IAAI,EAAE,KAAK;AAAb;AADgC,OAAlC,EAEJ,IAFI,CAAP;AAGD,KAZM;;AAaP,IAAA,SAAS,CAAE,OAAF,EAAsC;AAC7C,UAAI,KAAK,QAAT,EAAmB;AAEnB,WAAK,QAAL,GAAgB,OAAO,CAAC,OAAO,CAAC,IAAR,CAAa,KAAK,IAAI,KAAK,CAAC,cAA5B,CAAD,CAAvB;AACD;;AAjBM,GA/B8B;;AAmDvC,EAAA,MAAM,CAAE,CAAF,EAAG;AACP,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE,WADC;AAEd,MAAA,KAAK,EAAE,KAAK,MAFE;AAGd,MAAA,UAAU,EAAE,CAAC;AACX,QAAA,IAAI,EAAE,WADK;AAEX,QAAA,OAAO,EAAE,KAAK,OAFH;AAGX,QAAA,KAAK,EAAE,KAAK;AAHD,OAAD,CAHE;AAQd,MAAA,EAAE,EAAE,KAAK,UARK;AASd,MAAA,KAAK,EAAE,KAAK;AATE,KAAR,EAUL,CAAC,KAAK,UAAL,EAAD,CAVK,CAAR;AAWD;;AA/DsC,CAA1B,CAAf","sourcesContent":["// Mixins\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(Toggleable).extend({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n minHeight: [Number, String],\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n transition: {\n type: String,\n default: 'fade-transition',\n },\n },\n\n computed: {\n styles (): object {\n return {\n minHeight: parseInt(this.minHeight) ? convertToUnit(this.minHeight) : this.minHeight,\n }\n },\n },\n\n methods: {\n genContent () {\n if (!this.isActive) return undefined\n\n const slot = getSlot(this)\n\n /* istanbul ignore if */\n if (!this.transition) return slot\n\n return this.$createElement('transition', {\n props: { name: this.transition },\n }, slot)\n },\n onObserve (entries: IntersectionObserverEntry[]) {\n if (this.isActive) return\n\n this.isActive = Boolean(entries.find(entry => entry.isIntersecting))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-observe',\n attrs: this.$attrs,\n directives: [{\n name: 'intersect',\n options: this.options,\n value: this.onObserve,\n }] as any,\n on: this.$listeners,\n style: this.styles,\n }, [this.genContent()])\n },\n})\n"],"sourceRoot":"","file":"VLazy.js"}
1
+ {"version":3,"sources":["../../../src/components/VLazy/VLazy.ts"],"names":[],"mappings":"AAAA;AACA,OAAO,UAAP,MAAuB,yBAAvB,C,CAEA;;AACA,OAAO,SAAP,MAAsB,4BAAtB,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,aAAT,EAAwB,OAAxB,QAAuC,oBAAvC;AAKA,eAAe,MAAM,CAAC,UAAD,CAAN,CAAmB,MAAnB,CAA0B;AACvC,EAAA,IAAI,EAAE,OADiC;AAGvC,EAAA,UAAU,EAAE;AAAE,IAAA;AAAF,GAH2B;AAKvC,EAAA,KAAK,EAAE;AACL,IAAA,SAAS,EAAE,CAAC,MAAD,EAAS,MAAT,CADN;AAEL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP;AACA;AACA,MAAA,OAAO,EAAE,OAAO;AACd,QAAA,IAAI,EAAE,SADQ;AAEd,QAAA,UAAU,EAAE,SAFE;AAGd,QAAA,SAAS,EAAE;AAHG,OAAP;AAJF,KAFJ;AAYL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC;AAZP,GALgC;AAuBvC,EAAA,QAAQ,EAAE;AACR,IAAA,MAAM,GAAA;AACJ,aAAO;AACL,QAAA,SAAS,EAAE,QAAQ,CAAC,KAAK,SAAN,CAAR,GAA2B,aAAa,CAAC,KAAK,SAAN,CAAxC,GAA2D,KAAK;AADtE,OAAP;AAGD;;AALO,GAvB6B;AA+BvC,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,UAAI,CAAC,KAAK,QAAV,EAAoB,OAAO,SAAP;AAEpB,YAAM,IAAI,GAAG,OAAO,CAAC,IAAD,CAApB;AAEA;;AACA,UAAI,CAAC,KAAK,UAAV,EAAsB,OAAO,IAAP;AAEtB,aAAO,KAAK,cAAL,CAAoB,YAApB,EAAkC;AACvC,QAAA,KAAK,EAAE;AAAE,UAAA,IAAI,EAAE,KAAK;AAAb;AADgC,OAAlC,EAEJ,IAFI,CAAP;AAGD,KAZM;;AAaP,IAAA,SAAS,CAAE,OAAF,EAAsC;AAC7C,UAAI,KAAK,QAAT,EAAmB;AAEnB,WAAK,QAAL,GAAgB,OAAO,CAAC,OAAO,CAAC,IAAR,CAAa,KAAK,IAAI,KAAK,CAAC,cAA5B,CAAD,CAAvB;AACD;;AAjBM,GA/B8B;;AAmDvC,EAAA,MAAM,CAAE,CAAF,EAAG;AACP,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE,WADC;AAEd,MAAA,KAAK,EAAE,KAAK,MAFE;AAGd,MAAA,UAAU,EAAE,CAAC;AACX,QAAA,IAAI,EAAE,WADK;AAEX,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK,SADT;AAEL,UAAA,OAAO,EAAE,KAAK;AAFT;AAFI,OAAD,CAHE;AAUd,MAAA,EAAE,EAAE,KAAK,UAVK;AAWd,MAAA,KAAK,EAAE,KAAK;AAXE,KAAR,EAYL,CAAC,KAAK,UAAL,EAAD,CAZK,CAAR;AAaD;;AAjEsC,CAA1B,CAAf","sourcesContent":["// Mixins\nimport Toggleable from '../../mixins/toggleable'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(Toggleable).extend({\n name: 'VLazy',\n\n directives: { intersect },\n\n props: {\n minHeight: [Number, String],\n options: {\n type: Object,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n transition: {\n type: String,\n default: 'fade-transition',\n },\n },\n\n computed: {\n styles (): object {\n return {\n minHeight: parseInt(this.minHeight) ? convertToUnit(this.minHeight) : this.minHeight,\n }\n },\n },\n\n methods: {\n genContent () {\n if (!this.isActive) return undefined\n\n const slot = getSlot(this)\n\n /* istanbul ignore if */\n if (!this.transition) return slot\n\n return this.$createElement('transition', {\n props: { name: this.transition },\n }, slot)\n },\n onObserve (entries: IntersectionObserverEntry[]) {\n if (this.isActive) return\n\n this.isActive = Boolean(entries.find(entry => entry.isIntersecting))\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-observe',\n attrs: this.$attrs,\n directives: [{\n name: 'intersect',\n value: {\n handler: this.onObserve,\n options: this.options,\n },\n }] as any,\n on: this.$listeners,\n style: this.styles,\n }, [this.genContent()])\n },\n})\n"],"sourceRoot":"","file":"VLazy.js"}
@@ -29,7 +29,7 @@ export default baseMixins.extend().extend({
29
29
  },
30
30
  appendIcon: {
31
31
  type: String,
32
- default: '$vuetify.icons.expand'
32
+ default: '$expand'
33
33
  },
34
34
  color: {
35
35
  type: String,
@@ -133,7 +133,7 @@ export default baseMixins.extend().extend({
133
133
  },
134
134
 
135
135
  genPrependIcon() {
136
- const icon = this.prependIcon ? this.prependIcon : this.subGroup ? '$vuetify.icons.subgroup' : false;
136
+ const icon = this.prependIcon ? this.prependIcon : this.subGroup ? '$subgroup' : false;
137
137
  if (!icon && !this.$slots.prependIcon) return null;
138
138
  return this.$createElement(VListItemIcon, {
139
139
  staticClass: 'v-list-group__header__prepend-icon'