vuetify 2.6.16 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +33 -1
- package/dist/json/tags.json +8 -0
- package/dist/json/web-types.json +140 -21
- package/dist/vuetify.css +53 -10
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +685 -258
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VCalendar/mixins/calendar-base.js +1 -1
- package/es5/components/VCalendar/mixins/calendar-base.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +96 -61
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js +3 -1
- package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +3 -1
- package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/es5/components/VInput/VInput.js +12 -1
- package/es5/components/VInput/VInput.js.map +1 -1
- package/es5/components/VItemGroup/VItem.js +18 -2
- package/es5/components/VItemGroup/VItem.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +11 -3
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VPagination/VPagination.js +8 -2
- package/es5/components/VPagination/VPagination.js.map +1 -1
- package/es5/components/VRadioGroup/VRadio.js +14 -4
- package/es5/components/VRadioGroup/VRadio.js.map +1 -1
- package/es5/components/VSkeletonLoader/VSkeletonLoader.js +10 -5
- package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +5 -1
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VTabs/VTab.js +4 -0
- package/es5/components/VTabs/VTab.js.map +1 -1
- package/es5/components/VTimePicker/VTimePicker.js +17 -0
- package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/locale/af.js +7 -1
- package/es5/locale/af.js.map +1 -1
- package/es5/locale/ar.js +7 -1
- package/es5/locale/ar.js.map +1 -1
- package/es5/locale/az.js +7 -1
- package/es5/locale/az.js.map +1 -1
- package/es5/locale/bg.js +7 -1
- package/es5/locale/bg.js.map +1 -1
- package/es5/locale/ca.js +7 -1
- package/es5/locale/ca.js.map +1 -1
- package/es5/locale/ckb.js +7 -1
- package/es5/locale/ckb.js.map +1 -1
- package/es5/locale/cs.js +7 -1
- package/es5/locale/cs.js.map +1 -1
- package/es5/locale/da.js +7 -1
- package/es5/locale/da.js.map +1 -1
- package/es5/locale/de.js +7 -1
- package/es5/locale/de.js.map +1 -1
- package/es5/locale/el.js +7 -1
- package/es5/locale/el.js.map +1 -1
- package/es5/locale/en.js +7 -1
- package/es5/locale/en.js.map +1 -1
- package/es5/locale/es.js +7 -1
- package/es5/locale/es.js.map +1 -1
- package/es5/locale/et.js +7 -1
- package/es5/locale/et.js.map +1 -1
- package/es5/locale/fa.js +7 -1
- package/es5/locale/fa.js.map +1 -1
- package/es5/locale/fi.js +7 -1
- package/es5/locale/fi.js.map +1 -1
- package/es5/locale/fr.js +7 -1
- package/es5/locale/fr.js.map +1 -1
- package/es5/locale/he.js +7 -1
- package/es5/locale/he.js.map +1 -1
- package/es5/locale/hr.js +7 -1
- package/es5/locale/hr.js.map +1 -1
- package/es5/locale/hu.js +7 -1
- package/es5/locale/hu.js.map +1 -1
- package/es5/locale/id.js +7 -1
- package/es5/locale/id.js.map +1 -1
- package/es5/locale/it.js +7 -1
- package/es5/locale/it.js.map +1 -1
- package/es5/locale/ja.js +7 -1
- package/es5/locale/ja.js.map +1 -1
- package/es5/locale/ko.js +7 -1
- package/es5/locale/ko.js.map +1 -1
- package/es5/locale/lt.js +7 -1
- package/es5/locale/lt.js.map +1 -1
- package/es5/locale/lv.js +7 -1
- package/es5/locale/lv.js.map +1 -1
- package/es5/locale/nl.js +7 -1
- package/es5/locale/nl.js.map +1 -1
- package/es5/locale/no.js +7 -1
- package/es5/locale/no.js.map +1 -1
- package/es5/locale/pl.js +7 -1
- package/es5/locale/pl.js.map +1 -1
- package/es5/locale/pt.js +7 -1
- package/es5/locale/pt.js.map +1 -1
- package/es5/locale/ro.js +7 -1
- package/es5/locale/ro.js.map +1 -1
- package/es5/locale/ru.js +7 -1
- package/es5/locale/ru.js.map +1 -1
- package/es5/locale/sk.js +7 -1
- package/es5/locale/sk.js.map +1 -1
- package/es5/locale/sl.js +7 -1
- package/es5/locale/sl.js.map +1 -1
- package/es5/locale/sr-Cyrl.js +7 -1
- package/es5/locale/sr-Cyrl.js.map +1 -1
- package/es5/locale/sr-Latn.js +7 -1
- package/es5/locale/sr-Latn.js.map +1 -1
- package/es5/locale/sv.js +7 -1
- package/es5/locale/sv.js.map +1 -1
- package/es5/locale/th.js +7 -1
- package/es5/locale/th.js.map +1 -1
- package/es5/locale/tr.js +7 -1
- package/es5/locale/tr.js.map +1 -1
- package/es5/locale/uk.js +7 -1
- package/es5/locale/uk.js.map +1 -1
- package/es5/locale/vi.js +7 -1
- package/es5/locale/vi.js.map +1 -1
- package/es5/locale/zh-Hans.js +7 -1
- package/es5/locale/zh-Hans.js.map +1 -1
- package/es5/locale/zh-Hant.js +7 -1
- package/es5/locale/zh-Hant.js.map +1 -1
- package/es5/mixins/groupable/index.js +9 -1
- package/es5/mixins/groupable/index.js.map +1 -1
- package/es5/{components/VCalendar/mixins/mouse.js → mixins/mouse/index.js} +14 -6
- package/es5/mixins/mouse/index.js.map +1 -0
- package/es5/mixins/validatable/index.js +14 -4
- package/es5/mixins/validatable/index.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-base.js +1 -1
- package/lib/components/VCalendar/mixins/calendar-base.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +56 -24
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js +3 -1
- package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +3 -1
- package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
- package/lib/components/VInput/VInput.js +11 -1
- package/lib/components/VInput/VInput.js.map +1 -1
- package/lib/components/VItemGroup/VItem.js +14 -3
- package/lib/components/VItemGroup/VItem.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +7 -0
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VPagination/VPagination.js +8 -2
- package/lib/components/VPagination/VPagination.js.map +1 -1
- package/lib/components/VRadioGroup/VRadio.js +14 -4
- package/lib/components/VRadioGroup/VRadio.js.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js +10 -5
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +5 -1
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VTabs/VTab.js +4 -0
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.js +19 -0
- package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/locale/af.js +7 -1
- package/lib/locale/af.js.map +1 -1
- package/lib/locale/ar.js +7 -1
- package/lib/locale/ar.js.map +1 -1
- package/lib/locale/az.js +7 -1
- package/lib/locale/az.js.map +1 -1
- package/lib/locale/bg.js +7 -1
- package/lib/locale/bg.js.map +1 -1
- package/lib/locale/ca.js +7 -1
- package/lib/locale/ca.js.map +1 -1
- package/lib/locale/ckb.js +7 -1
- package/lib/locale/ckb.js.map +1 -1
- package/lib/locale/cs.js +7 -1
- package/lib/locale/cs.js.map +1 -1
- package/lib/locale/da.js +7 -1
- package/lib/locale/da.js.map +1 -1
- package/lib/locale/de.js +7 -1
- package/lib/locale/de.js.map +1 -1
- package/lib/locale/el.js +7 -1
- package/lib/locale/el.js.map +1 -1
- package/lib/locale/en.js +7 -1
- package/lib/locale/en.js.map +1 -1
- package/lib/locale/es.js +7 -1
- package/lib/locale/es.js.map +1 -1
- package/lib/locale/et.js +7 -1
- package/lib/locale/et.js.map +1 -1
- package/lib/locale/fa.js +7 -1
- package/lib/locale/fa.js.map +1 -1
- package/lib/locale/fi.js +7 -1
- package/lib/locale/fi.js.map +1 -1
- package/lib/locale/fr.js +7 -1
- package/lib/locale/fr.js.map +1 -1
- package/lib/locale/he.js +7 -1
- package/lib/locale/he.js.map +1 -1
- package/lib/locale/hr.js +7 -1
- package/lib/locale/hr.js.map +1 -1
- package/lib/locale/hu.js +7 -1
- package/lib/locale/hu.js.map +1 -1
- package/lib/locale/id.js +7 -1
- package/lib/locale/id.js.map +1 -1
- package/lib/locale/it.js +7 -1
- package/lib/locale/it.js.map +1 -1
- package/lib/locale/ja.js +7 -1
- package/lib/locale/ja.js.map +1 -1
- package/lib/locale/ko.js +7 -1
- package/lib/locale/ko.js.map +1 -1
- package/lib/locale/lt.js +7 -1
- package/lib/locale/lt.js.map +1 -1
- package/lib/locale/lv.js +7 -1
- package/lib/locale/lv.js.map +1 -1
- package/lib/locale/nl.js +7 -1
- package/lib/locale/nl.js.map +1 -1
- package/lib/locale/no.js +7 -1
- package/lib/locale/no.js.map +1 -1
- package/lib/locale/pl.js +7 -1
- package/lib/locale/pl.js.map +1 -1
- package/lib/locale/pt.js +7 -1
- package/lib/locale/pt.js.map +1 -1
- package/lib/locale/ro.js +7 -1
- package/lib/locale/ro.js.map +1 -1
- package/lib/locale/ru.js +7 -1
- package/lib/locale/ru.js.map +1 -1
- package/lib/locale/sk.js +7 -1
- package/lib/locale/sk.js.map +1 -1
- package/lib/locale/sl.js +7 -1
- package/lib/locale/sl.js.map +1 -1
- package/lib/locale/sr-Cyrl.js +7 -1
- package/lib/locale/sr-Cyrl.js.map +1 -1
- package/lib/locale/sr-Latn.js +7 -1
- package/lib/locale/sr-Latn.js.map +1 -1
- package/lib/locale/sv.js +7 -1
- package/lib/locale/sv.js.map +1 -1
- package/lib/locale/th.js +7 -1
- package/lib/locale/th.js.map +1 -1
- package/lib/locale/tr.js +7 -1
- package/lib/locale/tr.js.map +1 -1
- package/lib/locale/uk.js +7 -1
- package/lib/locale/uk.js.map +1 -1
- package/lib/locale/vi.js +7 -1
- package/lib/locale/vi.js.map +1 -1
- package/lib/locale/zh-Hans.js +7 -1
- package/lib/locale/zh-Hans.js.map +1 -1
- package/lib/locale/zh-Hant.js +7 -1
- package/lib/locale/zh-Hant.js.map +1 -1
- package/lib/mixins/groupable/index.js +9 -1
- package/lib/mixins/groupable/index.js.map +1 -1
- package/lib/{components/VCalendar/mixins/mouse.js → mixins/mouse/index.js} +12 -6
- package/lib/mixins/mouse/index.js.map +1 -0
- package/lib/mixins/validatable/index.js +14 -4
- package/lib/mixins/validatable/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/VCalendar/mixins/calendar-base.ts +1 -1
- package/src/components/VDataTable/VDataTable.ts +69 -21
- package/src/components/VDataTable/__tests__/VDataTable.spec.ts +28 -0
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +15 -15
- package/src/components/VExpansionPanel/VExpansionPanelContent.ts +1 -1
- package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
- package/src/components/VFileInput/__tests__/__snapshots__/VFileInput.spec.ts.snap +18 -18
- package/src/components/VForm/__tests__/VForm.spec.ts +22 -1
- package/src/components/VInput/VInput.ts +12 -1
- package/src/components/VInput/__tests__/VInput.spec.ts +7 -0
- package/src/components/VItemGroup/VItem.sass +4 -0
- package/src/components/VItemGroup/VItem.ts +12 -1
- package/src/components/VMenu/VMenu.ts +8 -1
- package/src/components/VMenu/__tests__/VMenu.spec.ts +130 -0
- package/src/components/VPagination/VPagination.ts +17 -12
- package/src/components/VRadioGroup/VRadio.ts +10 -4
- package/src/components/VSelect/__tests__/__snapshots__/VSelect2.spec.ts.snap +2 -2
- package/src/components/VSkeletonLoader/VSkeletonLoader.ts +10 -5
- package/src/components/VSkeletonLoader/__tests__/VSkeletonLoader.spec.ts +7 -0
- package/src/components/VSkeletonLoader/__tests__/__snapshots__/VSkeletonLoader.spec.ts.snap +31 -0
- package/src/components/VSlideGroup/VSlideGroup.ts +4 -0
- package/src/components/VTabs/VTab.ts +5 -0
- package/src/components/VTabs/VTabs.sass +1 -1
- package/src/components/VTabs/__tests__/VTabs.spec.ts +22 -0
- package/src/components/VTabs/_variables.scss +1 -0
- package/src/components/VTextField/__tests__/VTextField.spec.ts +15 -8
- package/src/components/VTimePicker/VTimePicker.ts +18 -0
- package/src/components/VTimePicker/__tests__/VTimePicker.spec.ts +65 -0
- package/src/locale/af.ts +6 -0
- package/src/locale/ar.ts +6 -0
- package/src/locale/az.ts +6 -0
- package/src/locale/bg.ts +6 -0
- package/src/locale/ca.ts +6 -0
- package/src/locale/ckb.ts +6 -0
- package/src/locale/cs.ts +6 -0
- package/src/locale/da.ts +6 -0
- package/src/locale/de.ts +6 -0
- package/src/locale/el.ts +6 -0
- package/src/locale/en.ts +6 -0
- package/src/locale/es.ts +6 -0
- package/src/locale/et.ts +6 -0
- package/src/locale/fa.ts +6 -0
- package/src/locale/fi.ts +6 -0
- package/src/locale/fr.ts +6 -0
- package/src/locale/he.ts +6 -0
- package/src/locale/hr.ts +6 -0
- package/src/locale/hu.ts +6 -0
- package/src/locale/id.ts +6 -0
- package/src/locale/it.ts +6 -0
- package/src/locale/ja.ts +6 -0
- package/src/locale/ko.ts +6 -0
- package/src/locale/lt.ts +6 -0
- package/src/locale/lv.ts +6 -0
- package/src/locale/nl.ts +6 -0
- package/src/locale/no.ts +6 -0
- package/src/locale/pl.ts +6 -0
- package/src/locale/pt.ts +6 -0
- package/src/locale/ro.ts +6 -0
- package/src/locale/ru.ts +6 -0
- package/src/locale/sk.ts +6 -0
- package/src/locale/sl.ts +6 -0
- package/src/locale/sr-Cyrl.ts +6 -0
- package/src/locale/sr-Latn.ts +6 -0
- package/src/locale/sv.ts +6 -0
- package/src/locale/th.ts +6 -0
- package/src/locale/tr.ts +6 -0
- package/src/locale/uk.ts +6 -0
- package/src/locale/vi.ts +6 -0
- package/src/locale/zh-Hans.ts +6 -0
- package/src/locale/zh-Hant.ts +6 -0
- package/src/mixins/groupable/index.ts +9 -2
- package/src/{components/VCalendar/mixins → mixins/mouse}/__tests__/mouse.spec.ts +2 -2
- package/src/{components/VCalendar/mixins/mouse.ts → mixins/mouse/index.ts} +10 -4
- package/src/mixins/validatable/index.ts +10 -4
- package/src/services/presets/__tests__/__snapshots__/presets.spec.ts.snap +2 -2
- package/src/styles/settings/_variables.scss +3 -2
- package/types/index.d.ts +6 -0
- package/es5/components/VCalendar/mixins/mouse.js.map +0 -1
- package/lib/components/VCalendar/mixins/mouse.js.map +0 -1
package/src/locale/lv.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: 'Vēl {0}',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} files',
|
|
49
54
|
counterSize: '{0} files ({1} in total)',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/nl.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: '{0} meer',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} bestanden',
|
|
49
54
|
counterSize: '{0} bestanden ({1} in totaal)',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/no.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: '{0} flere',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} filer',
|
|
49
54
|
counterSize: '{0} filer ({1} totalt)',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/pl.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: '{0} więcej',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: 'Liczba plików: {0}',
|
|
49
54
|
counterSize: 'Liczba plików: {0} (łącznie {1})',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/pt.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: 'Mais {0}',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} arquivo(s)',
|
|
49
54
|
counterSize: '{0} arquivo(s) ({1} no total)',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/ro.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: 'încă {0}',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} fișiere',
|
|
49
54
|
counterSize: '{0} fișiere ({1} în total)',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating de {0} din {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/ru.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: 'Еще {0}',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: 'Файлов: {0}',
|
|
49
54
|
counterSize: 'Файлов: {0} (всего {1})',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/sk.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: '{0} ďalších',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} súborov',
|
|
49
54
|
counterSize: '{0} súborov ({1} celkom)',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Hodnotenie {0} z {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/sl.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: 'Še {0}',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} datotek',
|
|
49
54
|
counterSize: '{0} datotek ({1} skupno)',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/sr-Cyrl.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: '{0} више',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} фајлова',
|
|
49
54
|
counterSize: '{0} фајлова ({1} укупно)',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Оцена {0} од {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/sr-Latn.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: '{0} više',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} fajlova',
|
|
49
54
|
counterSize: '{0} fajlova ({1} ukupno)',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Ocena {0} od {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/sv.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: '{0} fler',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} filer',
|
|
49
54
|
counterSize: '{0} filer (av {1} totalt)',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/th.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: 'มีอีก {0}',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} ไฟล์',
|
|
49
54
|
counterSize: '{0} ไฟล์ (รวม {1})',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/tr.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: '{0} tane daha',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} dosya',
|
|
49
54
|
counterSize: '{0} dosya (toplamda {1})',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/uk.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: 'Ще {0}',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} файлів',
|
|
49
54
|
counterSize: '{0} файлів ({1} загалом)',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/vi.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: '{0} nữa',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} tệp',
|
|
49
54
|
counterSize: '{0} tệp (tổng cộng {1})',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Đánh giá {0} trên {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/zh-Hans.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: '还有 {0} 项',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} 个文件',
|
|
49
54
|
counterSize: '{0} 个文件(共 {1})',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
package/src/locale/zh-Hant.ts
CHANGED
|
@@ -44,6 +44,11 @@ export default {
|
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: '還有其他 {0} 項',
|
|
46
46
|
},
|
|
47
|
+
input: {
|
|
48
|
+
clear: 'Clear {0}',
|
|
49
|
+
prependAction: '{0} prepended action',
|
|
50
|
+
appendAction: '{0} appended action',
|
|
51
|
+
},
|
|
47
52
|
fileInput: {
|
|
48
53
|
counter: '{0} 個檔案',
|
|
49
54
|
counterSize: '{0} 個檔案(共 {1})',
|
|
@@ -66,4 +71,5 @@ export default {
|
|
|
66
71
|
icon: 'Rating {0} of {1}',
|
|
67
72
|
},
|
|
68
73
|
},
|
|
74
|
+
loading: 'Loading...',
|
|
69
75
|
}
|
|
@@ -11,7 +11,7 @@ export type Groupable<T extends string, C extends VueConstructor | null = null>
|
|
|
11
11
|
isActive: boolean
|
|
12
12
|
disabled: boolean
|
|
13
13
|
groupClasses: object
|
|
14
|
-
toggle (): void
|
|
14
|
+
toggle (e?: Event): void
|
|
15
15
|
}>
|
|
16
16
|
|
|
17
17
|
export function factory<T extends string, C extends VueConstructor | null = null> (
|
|
@@ -59,7 +59,14 @@ export function factory<T extends string, C extends VueConstructor | null = null
|
|
|
59
59
|
},
|
|
60
60
|
|
|
61
61
|
methods: {
|
|
62
|
-
toggle () {
|
|
62
|
+
toggle (e?: Event) {
|
|
63
|
+
if (this.disabled && e) {
|
|
64
|
+
// Prevent keyboard actions
|
|
65
|
+
// from children elements
|
|
66
|
+
// within disabled tabs
|
|
67
|
+
e.preventDefault()
|
|
68
|
+
return
|
|
69
|
+
}
|
|
63
70
|
this.$emit('change')
|
|
64
71
|
},
|
|
65
72
|
},
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import Mouse from '../
|
|
1
|
+
import Mouse from '../index'
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
mount,
|
|
5
5
|
Wrapper,
|
|
6
6
|
MountOptions,
|
|
7
7
|
} from '@vue/test-utils'
|
|
8
|
-
import { ExtractVue } from '
|
|
8
|
+
import { ExtractVue } from '../../../util/mixins'
|
|
9
9
|
|
|
10
10
|
const Mock = Mouse.extend({
|
|
11
11
|
render: h => h('div'),
|
|
@@ -23,7 +23,7 @@ export default Vue.extend({
|
|
|
23
23
|
name: 'mouse',
|
|
24
24
|
|
|
25
25
|
methods: {
|
|
26
|
-
getDefaultMouseEventHandlers (suffix: string,
|
|
26
|
+
getDefaultMouseEventHandlers (suffix: string, getData: MouseHandler, eventFirst = false): MouseEventsMap {
|
|
27
27
|
const listeners = Object.keys(this.$listeners)
|
|
28
28
|
.filter(key => key.endsWith(suffix))
|
|
29
29
|
.reduce((acc, key) => {
|
|
@@ -34,9 +34,9 @@ export default Vue.extend({
|
|
|
34
34
|
return this.getMouseEventHandlers({
|
|
35
35
|
...listeners,
|
|
36
36
|
['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },
|
|
37
|
-
},
|
|
37
|
+
}, getData, eventFirst)
|
|
38
38
|
},
|
|
39
|
-
getMouseEventHandlers (events: MouseEvents,
|
|
39
|
+
getMouseEventHandlers (events: MouseEvents, getData: MouseHandler, eventFirst = false): MouseEventsMap {
|
|
40
40
|
const on: MouseEventsMap = {}
|
|
41
41
|
|
|
42
42
|
for (const event in events) {
|
|
@@ -85,7 +85,13 @@ export default Vue.extend({
|
|
|
85
85
|
}
|
|
86
86
|
}
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
// TODO: VCalendar emits the calendar event as the first argument,
|
|
89
|
+
// but it really should be the native event instead so modifiers can be used
|
|
90
|
+
if (eventFirst) {
|
|
91
|
+
this.$emit(event, e, getData(e))
|
|
92
|
+
} else {
|
|
93
|
+
this.$emit(event, getData(e), e)
|
|
94
|
+
}
|
|
89
95
|
}
|
|
90
96
|
|
|
91
97
|
return eventOptions.result
|
|
@@ -23,7 +23,10 @@ export default baseMixins.extend({
|
|
|
23
23
|
name: 'validatable',
|
|
24
24
|
|
|
25
25
|
props: {
|
|
26
|
-
disabled:
|
|
26
|
+
disabled: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: null,
|
|
29
|
+
},
|
|
27
30
|
error: Boolean,
|
|
28
31
|
errorCount: {
|
|
29
32
|
type: [Number, String],
|
|
@@ -37,7 +40,10 @@ export default baseMixins.extend({
|
|
|
37
40
|
type: [String, Array],
|
|
38
41
|
default: () => [],
|
|
39
42
|
} as PropValidator<InputMessage | null>,
|
|
40
|
-
readonly:
|
|
43
|
+
readonly: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: null,
|
|
46
|
+
},
|
|
41
47
|
rules: {
|
|
42
48
|
type: Array,
|
|
43
49
|
default: () => [],
|
|
@@ -125,7 +131,7 @@ export default baseMixins.extend({
|
|
|
125
131
|
},
|
|
126
132
|
},
|
|
127
133
|
isDisabled (): boolean {
|
|
128
|
-
return this.disabled
|
|
134
|
+
return this.disabled ?? (
|
|
129
135
|
!!this.form &&
|
|
130
136
|
this.form.disabled
|
|
131
137
|
)
|
|
@@ -134,7 +140,7 @@ export default baseMixins.extend({
|
|
|
134
140
|
return !this.isDisabled && !this.isReadonly
|
|
135
141
|
},
|
|
136
142
|
isReadonly (): boolean {
|
|
137
|
-
return this.readonly
|
|
143
|
+
return this.readonly ?? (
|
|
138
144
|
!!this.form &&
|
|
139
145
|
this.form.readonly
|
|
140
146
|
)
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
|
-
exports[`$vuetify.presets should merge user and default preset 1`] = `"{\\"breakpoint\\":{\\"mobileBreakpoint\\":1264,\\"scrollBarWidth\\":16,\\"thresholds\\":{\\"xs\\":200,\\"sm\\":960,\\"md\\":1280,\\"lg\\":1920}},\\"icons\\":{\\"iconfont\\":\\"md\\",\\"values\\":{\\"complete\\":\\"bar\\"}},\\"lang\\":{\\"current\\":\\"en\\",\\"locales\\":{\\"en\\":{\\"badge\\":\\"Foobar\\",\\"close\\":\\"Close\\",\\"dataIterator\\":{\\"noResultsText\\":\\"Fizzbuzz\\",\\"loadingText\\":\\"Loading items...\\"},\\"dataTable\\":{\\"itemsPerPageText\\":\\"Rows per page:\\",\\"ariaLabel\\":{\\"sortDescending\\":\\"Sorted descending.\\",\\"sortAscending\\":\\"Sorted ascending.\\",\\"sortNone\\":\\"Not sorted.\\",\\"activateNone\\":\\"Activate to remove sorting.\\",\\"activateDescending\\":\\"Activate to sort descending.\\",\\"activateAscending\\":\\"Activate to sort ascending.\\"},\\"sortBy\\":\\"Sort by\\"},\\"dataFooter\\":{\\"itemsPerPageText\\":\\"Items per page:\\",\\"itemsPerPageAll\\":\\"All\\",\\"nextPage\\":\\"Next page\\",\\"prevPage\\":\\"Previous page\\",\\"firstPage\\":\\"First page\\",\\"lastPage\\":\\"Last page\\",\\"pageText\\":\\"{0}-{1} of {2}\\"},\\"datePicker\\":{\\"itemsSelected\\":\\"{0} selected\\",\\"nextMonthAriaLabel\\":\\"Next month\\",\\"nextYearAriaLabel\\":\\"Next year\\",\\"prevMonthAriaLabel\\":\\"Previous month\\",\\"prevYearAriaLabel\\":\\"Previous year\\"},\\"noDataText\\":\\"No data available\\",\\"carousel\\":{\\"prev\\":\\"Previous visual\\",\\"next\\":\\"Next visual\\",\\"ariaLabel\\":{\\"delimiter\\":\\"Carousel slide {0} of {1}\\"}},\\"calendar\\":{\\"moreEvents\\":\\"{0} more\\"},\\"fileInput\\":{\\"counter\\":\\"{0} files\\",\\"counterSize\\":\\"{0} files ({1} in total)\\"},\\"timePicker\\":{\\"am\\":\\"AM\\",\\"pm\\":\\"PM\\"},\\"pagination\\":{\\"ariaLabel\\":{\\"wrapper\\":\\"Pagination Navigation\\",\\"next\\":\\"Next page\\",\\"previous\\":\\"Previous page\\",\\"page\\":\\"Goto Page {0}\\",\\"currentPage\\":\\"Current Page, Page {0}\\"}},\\"rating\\":{\\"ariaLabel\\":{\\"icon\\":\\"Rating {0} of {1}\\"}}}}},\\"rtl\\":true,\\"theme\\":{\\"dark\\":true,\\"default\\":\\"light\\",\\"disable\\":false,\\"options\\":{\\"variations\\":true},\\"themes\\":{\\"light\\":{\\"primary\\":\\"blue\\",\\"secondary\\":{\\"darken4\\":\\"red\\"},\\"accent\\":\\"#82B1FF\\",\\"error\\":\\"#FF5252\\",\\"info\\":\\"#2196F3\\",\\"success\\":\\"#4CAF50\\",\\"warning\\":\\"#FB8C00\\"},\\"dark\\":{\\"primary\\":\\"#2196F3\\",\\"secondary\\":\\"#424242\\",\\"accent\\":\\"#FF4081\\",\\"error\\":\\"#FF5252\\",\\"info\\":\\"#2196F3\\",\\"success\\":\\"#4CAF50\\",\\"warning\\":\\"#FB8C00\\"}}}}"`;
|
|
3
|
+
exports[`$vuetify.presets should merge user and default preset 1`] = `"{\\"breakpoint\\":{\\"mobileBreakpoint\\":1264,\\"scrollBarWidth\\":16,\\"thresholds\\":{\\"xs\\":200,\\"sm\\":960,\\"md\\":1280,\\"lg\\":1920}},\\"icons\\":{\\"iconfont\\":\\"md\\",\\"values\\":{\\"complete\\":\\"bar\\"}},\\"lang\\":{\\"current\\":\\"en\\",\\"locales\\":{\\"en\\":{\\"badge\\":\\"Foobar\\",\\"close\\":\\"Close\\",\\"dataIterator\\":{\\"noResultsText\\":\\"Fizzbuzz\\",\\"loadingText\\":\\"Loading items...\\"},\\"dataTable\\":{\\"itemsPerPageText\\":\\"Rows per page:\\",\\"ariaLabel\\":{\\"sortDescending\\":\\"Sorted descending.\\",\\"sortAscending\\":\\"Sorted ascending.\\",\\"sortNone\\":\\"Not sorted.\\",\\"activateNone\\":\\"Activate to remove sorting.\\",\\"activateDescending\\":\\"Activate to sort descending.\\",\\"activateAscending\\":\\"Activate to sort ascending.\\"},\\"sortBy\\":\\"Sort by\\"},\\"dataFooter\\":{\\"itemsPerPageText\\":\\"Items per page:\\",\\"itemsPerPageAll\\":\\"All\\",\\"nextPage\\":\\"Next page\\",\\"prevPage\\":\\"Previous page\\",\\"firstPage\\":\\"First page\\",\\"lastPage\\":\\"Last page\\",\\"pageText\\":\\"{0}-{1} of {2}\\"},\\"datePicker\\":{\\"itemsSelected\\":\\"{0} selected\\",\\"nextMonthAriaLabel\\":\\"Next month\\",\\"nextYearAriaLabel\\":\\"Next year\\",\\"prevMonthAriaLabel\\":\\"Previous month\\",\\"prevYearAriaLabel\\":\\"Previous year\\"},\\"noDataText\\":\\"No data available\\",\\"carousel\\":{\\"prev\\":\\"Previous visual\\",\\"next\\":\\"Next visual\\",\\"ariaLabel\\":{\\"delimiter\\":\\"Carousel slide {0} of {1}\\"}},\\"calendar\\":{\\"moreEvents\\":\\"{0} more\\"},\\"input\\":{\\"clear\\":\\"Clear {0}\\",\\"prependAction\\":\\"{0} prepended action\\",\\"appendAction\\":\\"{0} appended action\\"},\\"fileInput\\":{\\"counter\\":\\"{0} files\\",\\"counterSize\\":\\"{0} files ({1} in total)\\"},\\"timePicker\\":{\\"am\\":\\"AM\\",\\"pm\\":\\"PM\\"},\\"pagination\\":{\\"ariaLabel\\":{\\"wrapper\\":\\"Pagination Navigation\\",\\"next\\":\\"Next page\\",\\"previous\\":\\"Previous page\\",\\"page\\":\\"Goto Page {0}\\",\\"currentPage\\":\\"Current Page, Page {0}\\"}},\\"rating\\":{\\"ariaLabel\\":{\\"icon\\":\\"Rating {0} of {1}\\"}},\\"loading\\":\\"Loading...\\"}}},\\"rtl\\":true,\\"theme\\":{\\"dark\\":true,\\"default\\":\\"light\\",\\"disable\\":false,\\"options\\":{\\"variations\\":true},\\"themes\\":{\\"light\\":{\\"primary\\":\\"blue\\",\\"secondary\\":{\\"darken4\\":\\"red\\"},\\"accent\\":\\"#82B1FF\\",\\"error\\":\\"#FF5252\\",\\"info\\":\\"#2196F3\\",\\"success\\":\\"#4CAF50\\",\\"warning\\":\\"#FB8C00\\"},\\"dark\\":{\\"primary\\":\\"#2196F3\\",\\"secondary\\":\\"#424242\\",\\"accent\\":\\"#FF4081\\",\\"error\\":\\"#FF5252\\",\\"info\\":\\"#2196F3\\",\\"success\\":\\"#4CAF50\\",\\"warning\\":\\"#FB8C00\\"}}}}"`;
|
|
4
4
|
|
|
5
5
|
exports[`$vuetify.presets should merge user and default preset 2`] = `undefined`;
|
|
6
6
|
|
|
7
|
-
exports[`$vuetify.presets should merge user and default preset 3`] = `"{\\"en\\":{\\"badge\\":\\"Foobar\\",\\"close\\":\\"Close\\",\\"dataIterator\\":{\\"noResultsText\\":\\"Fizzbuzz\\",\\"loadingText\\":\\"Loading items...\\"},\\"dataTable\\":{\\"itemsPerPageText\\":\\"Rows per page:\\",\\"ariaLabel\\":{\\"sortDescending\\":\\"Sorted descending.\\",\\"sortAscending\\":\\"Sorted ascending.\\",\\"sortNone\\":\\"Not sorted.\\",\\"activateNone\\":\\"Activate to remove sorting.\\",\\"activateDescending\\":\\"Activate to sort descending.\\",\\"activateAscending\\":\\"Activate to sort ascending.\\"},\\"sortBy\\":\\"Sort by\\"},\\"dataFooter\\":{\\"itemsPerPageText\\":\\"Items per page:\\",\\"itemsPerPageAll\\":\\"All\\",\\"nextPage\\":\\"Next page\\",\\"prevPage\\":\\"Previous page\\",\\"firstPage\\":\\"First page\\",\\"lastPage\\":\\"Last page\\",\\"pageText\\":\\"{0}-{1} of {2}\\"},\\"datePicker\\":{\\"itemsSelected\\":\\"{0} selected\\",\\"nextMonthAriaLabel\\":\\"Next month\\",\\"nextYearAriaLabel\\":\\"Next year\\",\\"prevMonthAriaLabel\\":\\"Previous month\\",\\"prevYearAriaLabel\\":\\"Previous year\\"},\\"noDataText\\":\\"No data available\\",\\"carousel\\":{\\"prev\\":\\"Previous visual\\",\\"next\\":\\"Next visual\\",\\"ariaLabel\\":{\\"delimiter\\":\\"Carousel slide {0} of {1}\\"}},\\"calendar\\":{\\"moreEvents\\":\\"{0} more\\"},\\"fileInput\\":{\\"counter\\":\\"{0} files\\",\\"counterSize\\":\\"{0} files ({1} in total)\\"},\\"timePicker\\":{\\"am\\":\\"AM\\",\\"pm\\":\\"PM\\"},\\"pagination\\":{\\"ariaLabel\\":{\\"wrapper\\":\\"Pagination Navigation\\",\\"next\\":\\"Next page\\",\\"previous\\":\\"Previous page\\",\\"page\\":\\"Goto Page {0}\\",\\"currentPage\\":\\"Current Page, Page {0}\\"}},\\"rating\\":{\\"ariaLabel\\":{\\"icon\\":\\"Rating {0} of {1}\\"}}}}"`;
|
|
7
|
+
exports[`$vuetify.presets should merge user and default preset 3`] = `"{\\"en\\":{\\"badge\\":\\"Foobar\\",\\"close\\":\\"Close\\",\\"dataIterator\\":{\\"noResultsText\\":\\"Fizzbuzz\\",\\"loadingText\\":\\"Loading items...\\"},\\"dataTable\\":{\\"itemsPerPageText\\":\\"Rows per page:\\",\\"ariaLabel\\":{\\"sortDescending\\":\\"Sorted descending.\\",\\"sortAscending\\":\\"Sorted ascending.\\",\\"sortNone\\":\\"Not sorted.\\",\\"activateNone\\":\\"Activate to remove sorting.\\",\\"activateDescending\\":\\"Activate to sort descending.\\",\\"activateAscending\\":\\"Activate to sort ascending.\\"},\\"sortBy\\":\\"Sort by\\"},\\"dataFooter\\":{\\"itemsPerPageText\\":\\"Items per page:\\",\\"itemsPerPageAll\\":\\"All\\",\\"nextPage\\":\\"Next page\\",\\"prevPage\\":\\"Previous page\\",\\"firstPage\\":\\"First page\\",\\"lastPage\\":\\"Last page\\",\\"pageText\\":\\"{0}-{1} of {2}\\"},\\"datePicker\\":{\\"itemsSelected\\":\\"{0} selected\\",\\"nextMonthAriaLabel\\":\\"Next month\\",\\"nextYearAriaLabel\\":\\"Next year\\",\\"prevMonthAriaLabel\\":\\"Previous month\\",\\"prevYearAriaLabel\\":\\"Previous year\\"},\\"noDataText\\":\\"No data available\\",\\"carousel\\":{\\"prev\\":\\"Previous visual\\",\\"next\\":\\"Next visual\\",\\"ariaLabel\\":{\\"delimiter\\":\\"Carousel slide {0} of {1}\\"}},\\"calendar\\":{\\"moreEvents\\":\\"{0} more\\"},\\"input\\":{\\"clear\\":\\"Clear {0}\\",\\"prependAction\\":\\"{0} prepended action\\",\\"appendAction\\":\\"{0} appended action\\"},\\"fileInput\\":{\\"counter\\":\\"{0} files\\",\\"counterSize\\":\\"{0} files ({1} in total)\\"},\\"timePicker\\":{\\"am\\":\\"AM\\",\\"pm\\":\\"PM\\"},\\"pagination\\":{\\"ariaLabel\\":{\\"wrapper\\":\\"Pagination Navigation\\",\\"next\\":\\"Next page\\",\\"previous\\":\\"Previous page\\",\\"page\\":\\"Goto Page {0}\\",\\"currentPage\\":\\"Current Page, Page {0}\\"}},\\"rating\\":{\\"ariaLabel\\":{\\"icon\\":\\"Rating {0} of {1}\\"}},\\"loading\\":\\"Loading...\\"}}"`;
|
|
8
8
|
|
|
9
9
|
exports[`$vuetify.presets should merge user and default preset 4`] = `"{\\"dark\\":{\\"primary\\":\\"#2196F3\\",\\"secondary\\":\\"#424242\\",\\"accent\\":\\"#FF4081\\",\\"error\\":\\"#FF5252\\",\\"info\\":\\"#2196F3\\",\\"success\\":\\"#4CAF50\\",\\"warning\\":\\"#FB8C00\\"},\\"light\\":{\\"primary\\":\\"blue\\",\\"secondary\\":{\\"darken4\\":\\"red\\"},\\"accent\\":\\"#82B1FF\\",\\"error\\":\\"#FF5252\\",\\"info\\":\\"#2196F3\\",\\"success\\":\\"#4CAF50\\",\\"warning\\":\\"#FB8C00\\"}}"`;
|
|
10
10
|
|
|
@@ -14,7 +14,8 @@ $rounded: map-deep-merge(
|
|
|
14
14
|
'sm': $border-radius-root / 2,
|
|
15
15
|
null: $border-radius-root,
|
|
16
16
|
'lg': $border-radius-root * 2,
|
|
17
|
-
'xl': $border-radius-root *
|
|
17
|
+
'xl': $border-radius-root * 4,
|
|
18
|
+
'xxl': $border-radius-root * 6,
|
|
18
19
|
'pill': 9999px,
|
|
19
20
|
'circle': 50%
|
|
20
21
|
),
|
|
@@ -22,7 +23,7 @@ $rounded: map-deep-merge(
|
|
|
22
23
|
);
|
|
23
24
|
|
|
24
25
|
$spacer: 4px !default;
|
|
25
|
-
$spacers-steps: 16 !default;
|
|
26
|
+
$spacers-steps: 16 !default;
|
|
26
27
|
|
|
27
28
|
$spacers: () !default;
|
|
28
29
|
@if (type-of($spacers) == list) {
|
package/types/index.d.ts
CHANGED
|
@@ -117,6 +117,8 @@ export interface DataItemProps {
|
|
|
117
117
|
|
|
118
118
|
export interface DataTableItemProps extends DataItemProps {
|
|
119
119
|
headers: DataTableHeader[]
|
|
120
|
+
on: { [key: string]: Function | Function[] }
|
|
121
|
+
attrs: object;
|
|
120
122
|
}
|
|
121
123
|
|
|
122
124
|
export interface DataScopeProps {
|
|
@@ -294,9 +296,13 @@ export interface DataTableHeader<T extends any = any> {
|
|
|
294
296
|
sort?: DataTableCompareFunction<T>
|
|
295
297
|
}
|
|
296
298
|
|
|
299
|
+
export type DataTableFilterMode = 'union' | 'intersection'
|
|
300
|
+
|
|
297
301
|
export type DataItemsPerPageOption = (number | {
|
|
298
302
|
text: string
|
|
299
303
|
value: number
|
|
300
304
|
});
|
|
301
305
|
|
|
302
306
|
export type RowClassFunction = (item: any) => null | undefined | string | string[] | Record<string, boolean>
|
|
307
|
+
|
|
308
|
+
export type RowStyleFunction = (item: any) => null | undefined | string | string[] | Record<string, boolean>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n const listeners = Object.keys(this.$listeners)\n .filter(key => key.endsWith(suffix))\n .reduce((acc, key) => {\n acc[key] = { event: key.slice(0, -suffix.length) }\n return acc\n }, {} as MouseEvents)\n\n return this.getMouseEventHandlers({\n ...listeners,\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const classSeparator = ' '\n\n const eventTargetClasses = (e.currentTarget as HTMLElement)?.className.split(classSeparator)\n const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n // Get \"the same kind\" current hovering target by checking\n // If element has the same class of initial touch start element (which has touch event listener registered)\n const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)))\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget)\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n this.$emit(event, getEvent(e), e)\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n"],"sourceRoot":"","file":"mouse.js"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VCalendar/mixins/mouse.ts"],"names":[],"mappings":"AAAA,OAAO,GAAP,MAAgB,KAAhB;AAqBA,eAAe,GAAG,CAAC,MAAJ,CAAW;AACxB,EAAA,IAAI,EAAE,OADkB;AAGxB,EAAA,OAAO,EAAE;AACP,IAAA,4BAA4B,CAAE,MAAF,EAAkB,QAAlB,EAAwC;AAClE,YAAM,SAAS,GAAG,MAAM,CAAC,IAAP,CAAY,KAAK,UAAjB,EACf,MADe,CACR,GAAG,IAAI,GAAG,CAAC,QAAJ,CAAa,MAAb,CADC,EAEf,MAFe,CAER,CAAC,GAAD,EAAM,GAAN,KAAa;AACnB,QAAA,GAAG,CAAC,GAAD,CAAH,GAAW;AAAE,UAAA,KAAK,EAAE,GAAG,CAAC,KAAJ,CAAU,CAAV,EAAa,CAAC,MAAM,CAAC,MAArB;AAAT,SAAX;AACA,eAAO,GAAP;AACD,OALe,EAKb,EALa,CAAlB;AAOA,aAAO,KAAK,qBAAL,CAA2B,EAChC,GAAG,SAD6B;AAEhC,SAAC,gBAAgB,MAAjB,GAA0B;AAAE,UAAA,KAAK,EAAE,aAAT;AAAwB,UAAA,OAAO,EAAE,IAAjC;AAAuC,UAAA,MAAM,EAAE;AAA/C;AAFM,OAA3B,EAGJ,QAHI,CAAP;AAID,KAbM;;AAcP,IAAA,qBAAqB,CAAE,MAAF,EAAuB,QAAvB,EAA6C;AAChE,YAAM,EAAE,GAAmB,EAA3B;;AAEA,WAAK,MAAM,KAAX,IAAoB,MAApB,EAA4B;AAC1B,cAAM,YAAY,GAAG,MAAM,CAAC,KAAD,CAA3B;AAEA,YAAI,CAAC,KAAK,UAAL,CAAgB,KAAhB,CAAL,EAA6B,SAHH,CAK1B;;AAEA,cAAM,MAAM,GAAG,YAAY,CAAC,OAAb,GAAuB,GAAvB,GAA8B,CAAC,YAAY,CAAC,IAAb,GAAoB,GAApB,GAA0B,EAA3B,KAAkC,YAAY,CAAC,OAAb,GAAuB,GAAvB,GAA6B,EAA/D,CAA7C;AACA,cAAM,GAAG,GAAG,MAAM,GAAG,YAAY,CAAC,KAAlC;;AAEA,cAAM,OAAO,GAAiB,CAAC,IAAG;;;AAChC,gBAAM,UAAU,GAAe,CAA/B;;AACA,cAAI,YAAY,CAAC,MAAb,KAAwB,SAAxB,IAAsC,UAAU,CAAC,OAAX,GAAqB,CAArB,IAA0B,UAAU,CAAC,MAAX,KAAsB,YAAY,CAAC,MAAvG,EAAgH;AAC9G,gBAAI,YAAY,CAAC,OAAjB,EAA0B;AACxB,cAAA,CAAC,CAAC,cAAF;AACD;;AACD,gBAAI,YAAY,CAAC,IAAjB,EAAuB;AACrB,cAAA,CAAC,CAAC,eAAF;AACD,aAN6G,CAQ9G;AACA;AACA;AACA;;;AACA,gBAAI,CAAC,IAAI,aAAa,CAAtB,EAAyB;AACvB,oBAAM,cAAc,GAAG,GAAvB;AAEA,oBAAM,kBAAkB,GAAG,CAAA,EAAA,GAAC,CAAC,CAAC,aAAH,MAAgC,IAAhC,IAAgC,EAAA,KAAA,KAAA,CAAhC,GAAgC,KAAA,CAAhC,GAAgC,EAAA,CAAE,SAAF,CAAY,KAAZ,CAAkB,cAAlB,CAA3D;AACA,oBAAM,cAAc,GAAG,QAAQ,CAAC,iBAAT,CAA2B,CAAC,CAAC,cAAF,CAAiB,CAAjB,EAAoB,OAA/C,EAAwD,CAAC,CAAC,cAAF,CAAiB,CAAjB,EAAoB,OAA5E,CAAvB,CAJuB,CAMvB;AACA;;AACA,oBAAM,aAAa,GAAG,cAAc,CAAC,IAAf,CAAoB,CAAC,IAAI,CAAC,CAAC,SAAF,CAAY,KAAZ,CAAkB,cAAlB,EAAkC,IAAlC,CAAuC,CAAC,IAAI,kBAAkB,CAAC,QAAnB,CAA4B,CAA5B,CAA5C,CAAzB,CAAtB;;AAEA,kBAAI,aAAa,IACf,EAAC,CAAA,EAAA,GAAC,CAAC,CAAC,MAAH,MAAyB,IAAzB,IAAyB,EAAA,KAAA,KAAA,CAAzB,GAAyB,KAAA,CAAzB,GAAyB,EAAA,CAAE,UAAF,CAAa,aAAb,CAA1B,CADF,EAEE;AACA,gBAAA,aAAa,CAAC,aAAd,CAA4B,IAAI,UAAJ,CAAe,CAAC,CAAC,IAAjB,EAAuB;AACjD,kBAAA,cAAc,EAAE,CAAC,CAAC,cAD+B;AAEjD,kBAAA,aAAa,EAAE,CAAC,CAAC,aAFgC;AAGjD,kBAAA,OAAO,EAAE,CAAC,CAAC;AAHsC,iBAAvB,CAA5B;AAKA;AACD;AACF;;AAED,iBAAK,KAAL,CAAW,KAAX,EAAkB,QAAQ,CAAC,CAAD,CAA1B,EAA+B,CAA/B;AACD;;AAED,iBAAO,YAAY,CAAC,MAApB;AACD,SAxCD;;AA0CA,YAAI,GAAG,IAAI,EAAX,EAAe;AACb;AACA,cAAI,KAAK,CAAC,OAAN,CAAc,EAAE,CAAC,GAAD,CAAhB,CAAJ,EAA4B;AACzB,YAAA,EAAE,CAAC,GAAD,CAAF,CAA2B,IAA3B,CAAgC,OAAhC;AACF,WAFD,MAEO;AACL,YAAA,EAAE,CAAC,GAAD,CAAF,GAAU,CAAC,EAAE,CAAC,GAAD,CAAH,EAAU,OAAV,CAAV;AACD;AACF,SAPD,MAOO;AACL,UAAA,EAAE,CAAC,GAAD,CAAF,GAAU,OAAV;AACD;AACF;;AAED,aAAO,EAAP;AACD;;AAlFM;AAHe,CAAX,CAAf","sourcesContent":["import Vue from 'vue'\n\nexport type MouseHandler = (e: MouseEvent | TouchEvent) => any\n\nexport type MouseEvents = {\n [event: string]: {\n event: string\n passive?: boolean\n capture?: boolean\n once?: boolean\n stop?: boolean\n prevent?: boolean\n button?: number\n result?: any\n }\n}\n\nexport type MouseEventsMap = {\n [event: string]: MouseHandler | MouseHandler[]\n}\n\nexport default Vue.extend({\n name: 'mouse',\n\n methods: {\n getDefaultMouseEventHandlers (suffix: string, getEvent: MouseHandler): MouseEventsMap {\n const listeners = Object.keys(this.$listeners)\n .filter(key => key.endsWith(suffix))\n .reduce((acc, key) => {\n acc[key] = { event: key.slice(0, -suffix.length) }\n return acc\n }, {} as MouseEvents)\n\n return this.getMouseEventHandlers({\n ...listeners,\n ['contextmenu' + suffix]: { event: 'contextmenu', prevent: true, result: false },\n }, getEvent)\n },\n getMouseEventHandlers (events: MouseEvents, getEvent: MouseHandler): MouseEventsMap {\n const on: MouseEventsMap = {}\n\n for (const event in events) {\n const eventOptions = events[event]\n\n if (!this.$listeners[event]) continue\n\n // TODO somehow pull in modifiers\n\n const prefix = eventOptions.passive ? '&' : ((eventOptions.once ? '~' : '') + (eventOptions.capture ? '!' : ''))\n const key = prefix + eventOptions.event\n\n const handler: MouseHandler = e => {\n const mouseEvent: MouseEvent = e as MouseEvent\n if (eventOptions.button === undefined || (mouseEvent.buttons > 0 && mouseEvent.button === eventOptions.button)) {\n if (eventOptions.prevent) {\n e.preventDefault()\n }\n if (eventOptions.stop) {\n e.stopPropagation()\n }\n\n // Due to TouchEvent target always returns the element that is first placed\n // Even if touch point has since moved outside the interactive area of that element\n // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Touch/target\n // This block of code aims to make sure touchEvent is always dispatched from the element that is being pointed at\n if (e && 'touches' in e) {\n const classSeparator = ' '\n\n const eventTargetClasses = (e.currentTarget as HTMLElement)?.className.split(classSeparator)\n const currentTargets = document.elementsFromPoint(e.changedTouches[0].clientX, e.changedTouches[0].clientY)\n\n // Get \"the same kind\" current hovering target by checking\n // If element has the same class of initial touch start element (which has touch event listener registered)\n const currentTarget = currentTargets.find(t => t.className.split(classSeparator).some(c => eventTargetClasses.includes(c)))\n\n if (currentTarget &&\n !(e.target as HTMLElement)?.isSameNode(currentTarget)\n ) {\n currentTarget.dispatchEvent(new TouchEvent(e.type, {\n changedTouches: e.changedTouches as unknown as Touch[],\n targetTouches: e.targetTouches as unknown as Touch[],\n touches: e.touches as unknown as Touch[],\n }))\n return\n }\n }\n\n this.$emit(event, getEvent(e), e)\n }\n\n return eventOptions.result\n }\n\n if (key in on) {\n /* istanbul ignore next */\n if (Array.isArray(on[key])) {\n (on[key] as MouseHandler[]).push(handler)\n } else {\n on[key] = [on[key], handler] as MouseHandler[]\n }\n } else {\n on[key] = handler\n }\n }\n\n return on\n },\n },\n})\n"],"sourceRoot":"","file":"mouse.js"}
|