vuetify 3.7.1 → 3.7.3

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 (163) hide show
  1. package/dist/json/attributes.json +4 -4
  2. package/dist/json/importMap-labs.json +20 -20
  3. package/dist/json/importMap.json +168 -168
  4. package/dist/json/web-types.json +5 -5
  5. package/dist/vuetify-labs.css +3464 -3461
  6. package/dist/vuetify-labs.d.ts +953 -896
  7. package/dist/vuetify-labs.esm.js +123 -132
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +123 -132
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +3083 -3080
  12. package/dist/vuetify.d.ts +859 -802
  13. package/dist/vuetify.esm.js +72 -48
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +72 -48
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +289 -289
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAlert/index.d.mts +10 -10
  21. package/lib/components/VAppBar/index.d.mts +18 -18
  22. package/lib/components/VAutocomplete/index.d.mts +93 -90
  23. package/lib/components/VAvatar/index.d.mts +4 -4
  24. package/lib/components/VBadge/index.d.mts +4 -4
  25. package/lib/components/VBanner/index.d.mts +14 -14
  26. package/lib/components/VBottomNavigation/index.d.mts +4 -4
  27. package/lib/components/VBottomSheet/VBottomSheet.sass +2 -1
  28. package/lib/components/VBottomSheet/index.d.mts +7 -7
  29. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +3 -5
  30. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  31. package/lib/components/VBreadcrumbs/index.d.mts +4 -4
  32. package/lib/components/VBtn/VBtn.mjs +3 -4
  33. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  34. package/lib/components/VBtn/index.d.mts +14 -14
  35. package/lib/components/VBtnGroup/index.d.mts +4 -4
  36. package/lib/components/VBtnToggle/index.d.mts +4 -4
  37. package/lib/components/VCard/VCard.mjs +3 -4
  38. package/lib/components/VCard/VCard.mjs.map +1 -1
  39. package/lib/components/VCard/index.d.mts +14 -14
  40. package/lib/components/VCarousel/index.d.mts +11 -11
  41. package/lib/components/VCheckbox/index.d.mts +2 -2
  42. package/lib/components/VChip/VChip.mjs +4 -4
  43. package/lib/components/VChip/VChip.mjs.map +1 -1
  44. package/lib/components/VChip/index.d.mts +8 -8
  45. package/lib/components/VChipGroup/index.d.mts +4 -4
  46. package/lib/components/VColorPicker/VColorPicker.mjs +2 -2
  47. package/lib/components/VColorPicker/VColorPicker.mjs.map +1 -1
  48. package/lib/components/VColorPicker/index.d.mts +22 -22
  49. package/lib/components/VCombobox/index.d.mts +93 -90
  50. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +87 -0
  51. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs.map +1 -0
  52. package/lib/components/VDataTable/composables/paginate.mjs +4 -2
  53. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  54. package/lib/components/VDataTable/index.d.mts +10 -10
  55. package/lib/components/VDatePicker/index.d.mts +10 -10
  56. package/lib/components/VDialog/VDialog.css +4 -1
  57. package/lib/components/VDialog/VDialog.mjs +1 -2
  58. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  59. package/lib/components/VDialog/VDialog.sass +2 -1
  60. package/lib/components/VDialog/index.d.mts +31 -31
  61. package/lib/components/VEmptyState/index.d.mts +8 -8
  62. package/lib/components/VExpansionPanel/index.d.mts +4 -4
  63. package/lib/components/VFab/index.d.mts +18 -18
  64. package/lib/components/VField/_variables.scss +2 -1
  65. package/lib/components/VFileInput/__tests__/text.txt +1 -0
  66. package/lib/components/VFileInput/index.d.mts +3 -3
  67. package/lib/components/VFooter/index.d.mts +4 -4
  68. package/lib/components/VIcon/index.d.mts +4 -4
  69. package/lib/components/VItemGroup/index.d.mts +4 -4
  70. package/lib/components/VLabel/index.d.mts +4 -4
  71. package/lib/components/VList/VList.mjs +4 -2
  72. package/lib/components/VList/VList.mjs.map +1 -1
  73. package/lib/components/VList/VListItem.mjs +9 -6
  74. package/lib/components/VList/VListItem.mjs.map +1 -1
  75. package/lib/components/VList/index.d.mts +80 -23
  76. package/lib/components/VMenu/index.d.mts +33 -33
  77. package/lib/components/VNavigationDrawer/index.d.mts +11 -11
  78. package/lib/components/VOtpInput/index.d.mts +4 -4
  79. package/lib/components/VOverflowBtn/VOverflowBtn.sass +6 -5
  80. package/lib/components/VOverlay/index.d.mts +7 -7
  81. package/lib/components/VPagination/index.d.mts +4 -4
  82. package/lib/components/VProgressCircular/index.d.mts +4 -4
  83. package/lib/components/VProgressLinear/_variables.scss +2 -1
  84. package/lib/components/VRangeSlider/index.d.mts +8 -8
  85. package/lib/components/VSelect/index.d.mts +93 -90
  86. package/lib/components/VSheet/index.d.mts +10 -10
  87. package/lib/components/VSkeletonLoader/index.d.mts +4 -4
  88. package/lib/components/VSlider/index.d.mts +8 -8
  89. package/lib/components/VSnackbar/index.d.mts +34 -34
  90. package/lib/components/VSpeedDial/index.d.mts +9 -9
  91. package/lib/components/VStepper/index.d.mts +12 -12
  92. package/lib/components/VSystemBar/index.d.mts +4 -4
  93. package/lib/components/VTable/_mixins.scss +2 -2
  94. package/lib/components/VTabs/VTabs.sass +1 -1
  95. package/lib/components/VTabs/index.d.mts +53 -53
  96. package/lib/components/VTextField/index.d.mts +10 -10
  97. package/lib/components/VTextarea/index.d.mts +7 -7
  98. package/lib/components/VTimeline/index.d.mts +4 -4
  99. package/lib/components/VToolbar/index.d.mts +4 -4
  100. package/lib/components/VTooltip/index.d.mts +24 -24
  101. package/lib/components/VWindow/index.d.mts +4 -4
  102. package/lib/components/index.d.mts +801 -744
  103. package/lib/composables/directiveComponent.mjs +5 -4
  104. package/lib/composables/directiveComponent.mjs.map +1 -1
  105. package/lib/composables/nested/nested.mjs +18 -6
  106. package/lib/composables/nested/nested.mjs.map +1 -1
  107. package/lib/composables/nested/openStrategies.mjs +2 -4
  108. package/lib/composables/nested/openStrategies.mjs.map +1 -1
  109. package/lib/composables/router.mjs +19 -9
  110. package/lib/composables/router.mjs.map +1 -1
  111. package/lib/directives/ripple/index.mjs.map +1 -1
  112. package/lib/directives/tooltip/index.mjs +1 -1
  113. package/lib/directives/tooltip/index.mjs.map +1 -1
  114. package/lib/entry-bundler.mjs +1 -1
  115. package/lib/framework.mjs +1 -1
  116. package/lib/index.d.mts +58 -58
  117. package/lib/labs/VDateInput/index.d.mts +12 -12
  118. package/lib/labs/VNumberInput/index.d.mts +58 -58
  119. package/lib/labs/VPicker/index.d.mts +10 -10
  120. package/lib/labs/VSnackbarQueue/index.d.mts +46 -46
  121. package/lib/labs/VStepperVertical/index.d.mts +6 -6
  122. package/lib/labs/VTimePicker/VTimePicker.mjs +1 -1
  123. package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
  124. package/lib/labs/VTimePicker/VTimePickerControls.mjs +2 -2
  125. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  126. package/lib/labs/VTimePicker/index.d.mts +26 -26
  127. package/lib/labs/VTimePicker/util.mjs +5 -0
  128. package/lib/labs/VTimePicker/util.mjs.map +1 -0
  129. package/lib/labs/VTreeview/VTreeview.mjs +5 -13
  130. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  131. package/lib/labs/VTreeview/VTreeviewChildren.mjs +30 -29
  132. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  133. package/lib/labs/VTreeview/VTreeviewItem.mjs +9 -20
  134. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  135. package/lib/labs/VTreeview/index.d.mts +33 -33
  136. package/lib/labs/components.d.mts +191 -191
  137. package/lib/styles/settings/_colors.scss +257 -256
  138. package/lib/styles/utilities/_display.sass +2 -1
  139. package/lib/styles/utilities/_elevation.scss +2 -1
  140. package/lib/styles/utilities/_screenreaders.sass +2 -1
  141. package/package.json +26 -21
  142. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs +0 -74
  143. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.cy.mjs.map +0 -1
  144. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs +0 -21
  145. package/lib/components/VDatePicker/util/createNativeLocaleFormatter.mjs.map +0 -1
  146. package/lib/components/VDatePicker/util/eventHelpers.mjs +0 -22
  147. package/lib/components/VDatePicker/util/eventHelpers.mjs.map +0 -1
  148. package/lib/components/VDatePicker/util/index.mjs +0 -9
  149. package/lib/components/VDatePicker/util/index.mjs.map +0 -1
  150. package/lib/components/VDatePicker/util/isDateAllowed.mjs +0 -7
  151. package/lib/components/VDatePicker/util/isDateAllowed.mjs.map +0 -1
  152. package/lib/components/VDatePicker/util/monthChange.mjs +0 -18
  153. package/lib/components/VDatePicker/util/monthChange.mjs.map +0 -1
  154. package/lib/components/VDatePicker/util/pad.mjs +0 -21
  155. package/lib/components/VDatePicker/util/pad.mjs.map +0 -1
  156. package/lib/components/VDatePicker/util/sanitizeDateString.mjs +0 -12
  157. package/lib/components/VDatePicker/util/sanitizeDateString.mjs.map +0 -1
  158. package/lib/services/goto/easing-patterns.mjs +0 -27
  159. package/lib/services/goto/easing-patterns.mjs.map +0 -1
  160. package/lib/services/goto/index.mjs +0 -73
  161. package/lib/services/goto/index.mjs.map +0 -1
  162. package/lib/services/goto/util.mjs +0 -39
  163. package/lib/services/goto/util.mjs.map +0 -1
@@ -1,7 +1,8 @@
1
+ @use 'sass:list'
1
2
  @use '../settings'
2
3
  @use '../tools'
3
4
 
4
- @if (settings.$utilities != false and length(settings.$utilities) > 0)
5
+ @if (settings.$utilities != false and list.length(settings.$utilities) > 0)
5
6
  @include tools.layer('utilities')
6
7
  @each $size, $media_query in settings.$display-breakpoints
7
8
  .hidden
@@ -1,7 +1,8 @@
1
+ @use 'sass:list';
1
2
  @use '../tools';
2
3
  @use '../settings';
3
4
 
4
- @if (settings.$utilities != false and length(settings.$utilities) > 0) {
5
+ @if (settings.$utilities != false and list.length(settings.$utilities) > 0) {
5
6
  @include tools.layer('utilities') {
6
7
  $z: 24;
7
8
  @while $z >= 0 {
@@ -1,8 +1,9 @@
1
1
  // Source: https://github.com/twbs/bootstrap/blob/master/scss/mixins/_screen-reader.scss
2
+ @use 'sass:list'
2
3
  @use '../settings'
3
4
  @use '../tools'
4
5
 
5
- @if (settings.$utilities != false and length(settings.$utilities) > 0)
6
+ @if (settings.$utilities != false and list.length(settings.$utilities) > 0)
6
7
  @include tools.layer('utilities')
7
8
  .d-sr-only,
8
9
  .d-sr-only-focusable:not(:focus)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vuetify",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.7.1",
4
+ "version": "3.7.3",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -108,15 +108,15 @@
108
108
  "build:lib": "NODE_ENV=lib babel src --out-dir lib --source-maps --extensions \".ts\",\".tsx\",\".snap\" --copy-files --no-copy-ignored --out-file-extension .mjs",
109
109
  "build:types": "rimraf types-temp && tsc --pretty --emitDeclarationOnly -p tsconfig.dist.json && rollup --config build/rollup.types.config.mjs && rimraf types-temp",
110
110
  "tsc": "tsc",
111
- "debug:test": "NODE_ENV=test node --inspect --inspect-brk ../../node_modules/jest/bin/jest.js --no-cache -i --verbose",
112
- "test": "node build/run-tests.js",
113
- "test:unix": "NODE_ENV=test jest",
114
- "test:win32": "NODE_ENV=test jest -i",
111
+ "test": "vitest",
112
+ "test:unit": "vitest --project unit",
113
+ "test:browser": "vitest --project browser",
114
+ "test:open": "TEST_BAIL=1 vitest --project browser -w",
115
115
  "test:coverage": "pnpm run test --coverage",
116
+ "test:percy": "percy exec -- vitest --project browser",
117
+ "test:all": "concurrently -gr 'vitest --project unit' 'vitest --project browser --shard=1/5' 'vitest --project browser --shard=2/5' 'vitest --project browser --shard=3/5' 'vitest --project browser --shard=4/5' 'vitest --project browser --shard=5/5'",
116
118
  "lint": "concurrently -n \"tsc,eslint\" --kill-others-on-fail \"tsc -p tsconfig.checks.json --noEmit --pretty\" \"eslint src -f codeframe --max-warnings 0\"",
117
- "lint:fix": "concurrently -n \"tsc,eslint\" \"tsc -p tsconfig.checks.json --noEmit --pretty\" \"eslint --fix src\"",
118
- "cy:open": "cypress open --component -b electron",
119
- "cy:run": "percy exec -- cypress run --component"
119
+ "lint:fix": "concurrently -n \"tsc,eslint\" \"tsc -p tsconfig.checks.json --noEmit --pretty\" \"eslint --fix src\""
120
120
  },
121
121
  "devDependencies": {
122
122
  "@date-io/core": "3.0.0",
@@ -126,18 +126,22 @@
126
126
  "@fortawesome/fontawesome-svg-core": "^6.5.2",
127
127
  "@fortawesome/free-solid-svg-icons": "^6.5.2",
128
128
  "@fortawesome/vue-fontawesome": "^3.0.6",
129
- "@jest/globals": "^28.1.3",
130
- "@percy/cli": "^1.28.2",
131
- "@percy/cypress": "^3.1.2",
129
+ "@percy/cli": "^1.29.3",
130
+ "@percy/sdk-utils": "^1.29.3",
132
131
  "@rollup/plugin-alias": "^5.1.0",
133
132
  "@rollup/plugin-babel": "^6.0.4",
134
133
  "@rollup/plugin-node-resolve": "^15.2.3",
135
134
  "@rollup/plugin-typescript": "^11.1.6",
136
- "@types/jest": "^28.1.8",
137
- "@types/node": "^20.12.7",
135
+ "@testing-library/dom": "npm:@vuetify/testing-library-dom@1.0.2",
136
+ "@testing-library/user-event": "^14.5.2",
137
+ "@testing-library/vue": "^8.1.0",
138
+ "@types/node": "^22.5.4",
138
139
  "@types/resize-observer-browser": "^0.1.11",
139
140
  "@vitejs/plugin-vue": "^5.0.4",
140
141
  "@vitejs/plugin-vue-jsx": "^3.1.0",
142
+ "@vitest/browser": "^2.1.1",
143
+ "@vitest/coverage-v8": "^2.1.1",
144
+ "@vitest/ui": "^2.1.1",
141
145
  "@vue/babel-plugin-jsx": "^1.2.2",
142
146
  "@vue/shared": "^3.4.27",
143
147
  "@vue/test-utils": "2.4.6",
@@ -151,31 +155,32 @@
151
155
  "cssnano": "^6.1.2",
152
156
  "csstype": "^3.1.3",
153
157
  "cy-mobile-commands": "^0.3.0",
154
- "cypress": "^13.7.2",
155
- "cypress-file-upload": "^5.0.8",
156
- "cypress-real-events": "^1.12.0",
157
158
  "date-fns": "^3.6.0",
158
159
  "dotenv": "^16.4.5",
159
- "eslint-plugin-cypress": "^2.15.1",
160
160
  "eslint-plugin-jest": "^28.7.0",
161
+ "eslint-plugin-vitest": "0.4.1",
161
162
  "expect": "^28.1.3",
162
163
  "fast-glob": "^3.3.2",
163
164
  "identity-obj-proxy": "^3.0.0",
164
- "jest-canvas-mock": "^2.5.2",
165
+ "jsdom": "^25.0.0",
165
166
  "micromatch": "^4.0.5",
166
167
  "postcss": "^8.4.38",
168
+ "roboto-fontface": "^0.10.0",
167
169
  "rollup": "^3.20.7",
168
170
  "rollup-plugin-dts": "^6.1.0",
169
171
  "rollup-plugin-sass": "^1.12.21",
170
172
  "rollup-plugin-sourcemaps": "^0.6.3",
171
173
  "rollup-plugin-terser": "^7.0.2",
172
174
  "timezone-mock": "^1.3.6",
175
+ "unplugin-auto-import": "0.17.5",
173
176
  "unplugin-vue-components": "^0.27.4",
174
177
  "upath": "^2.0.1",
175
- "vite": "^5.4.0",
178
+ "vite": "^5.4.3",
176
179
  "vite-ssr": "^0.17.1",
180
+ "vitest": "^2.1.1",
177
181
  "vue-i18n": "^9.7.1",
178
- "vue-router": "^4.3.0"
182
+ "vue-router": "^4.3.0",
183
+ "webdriverio": "^8.40.5"
179
184
  },
180
185
  "peerDependencies": {
181
186
  "typescript": ">=4.7",
@@ -202,5 +207,5 @@
202
207
  "attributes": "dist/json/attributes.json"
203
208
  },
204
209
  "web-types": "dist/json/web-types.json",
205
- "gitHead": "dbc812c5813a955c63a1e83f9734801703266c53"
210
+ "gitHead": "e3b9895b12b669bee7d39f9de8653222231f5330"
206
211
  }
@@ -1,74 +0,0 @@
1
- import { createTextVNode as _createTextVNode, Fragment as _Fragment, createVNode as _createVNode } from "vue";
2
- /// <reference types="../../../../types/cypress" />
3
- import { VConfirmEdit } from "../index.mjs"; // Utilities
4
- import { ref } from 'vue';
5
-
6
- // Tests
7
- describe('VConfirmEdit', () => {
8
- it('mirrors external updates', () => {
9
- const externalModel = ref('foo');
10
- cy.mount(() => _createVNode(VConfirmEdit, {
11
- "modelValue": externalModel.value
12
- }, {
13
- default: _ref => {
14
- let {
15
- model
16
- } = _ref;
17
- return _createVNode("p", null, [model.value]);
18
- }
19
- })).get('p').should('have.text', 'foo').then(() => {
20
- externalModel.value = 'bar';
21
- }).get('p').should('have.text', 'bar');
22
- });
23
- it(`doesn't mutate the original value`, () => {
24
- const externalModel = ref(['foo']);
25
- cy.mount(_createVNode(VConfirmEdit, {
26
- "modelValue": externalModel.value,
27
- "onUpdate:modelValue": $event => externalModel.value = $event
28
- }, {
29
- default: _ref2 => {
30
- let {
31
- model
32
- } = _ref2;
33
- return _createVNode(_Fragment, null, [_createVNode("p", null, [model.value.join(',')]), _createVNode("button", {
34
- "data-test": "push",
35
- "onClick": () => model.value.push('bar')
36
- }, [_createTextVNode("Push")])]);
37
- }
38
- })).get('p').should('have.text', 'foo').get('[data-test="push"]').click().get('p').should('have.text', 'foo,bar').then(() => {
39
- expect(externalModel.value).to.deep.equal(['foo']);
40
- });
41
- cy.contains('.v-btn', 'OK').click();
42
- cy.get('p').should('have.text', 'foo,bar').then(() => {
43
- expect(externalModel.value).to.deep.equal(['foo', 'bar']);
44
- });
45
- });
46
- it('hides actions if used from the slot', () => {
47
- cy.mount(_createVNode(VConfirmEdit, null, null)).get('.v-btn').should('have.length', 2);
48
- cy.mount(_createVNode(VConfirmEdit, null, {
49
- default: _ref3 => {
50
- let {
51
- model
52
- } = _ref3;
53
- void model;
54
- }
55
- })).get('.v-btn').should('have.length', 2);
56
- cy.mount(_createVNode(VConfirmEdit, null, {
57
- default: _ref4 => {
58
- let {
59
- actions
60
- } = _ref4;
61
- void actions;
62
- }
63
- })).get('.v-btn').should('have.length', 0);
64
- cy.mount(_createVNode(VConfirmEdit, null, {
65
- default: _ref5 => {
66
- let {
67
- actions
68
- } = _ref5;
69
- return actions;
70
- }
71
- })).get('.v-btn').should('have.length', 2);
72
- });
73
- });
74
- //# sourceMappingURL=VConfirmEdit.spec.cy.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VConfirmEdit.spec.cy.mjs","names":["VConfirmEdit","ref","describe","it","externalModel","cy","mount","_createVNode","value","default","_ref","model","get","should","then","$event","_ref2","_Fragment","join","onClick","push","_createTextVNode","click","expect","to","deep","equal","contains","_ref3","_ref4","actions","_ref5"],"sources":["../../../../src/components/VConfirmEdit/__test__/VConfirmEdit.spec.cy.tsx"],"sourcesContent":["/// <reference types=\"../../../../types/cypress\" />\n\nimport { VConfirmEdit } from '..'\n\n// Utilities\nimport { ref } from 'vue'\n\n// Tests\ndescribe('VConfirmEdit', () => {\n it('mirrors external updates', () => {\n const externalModel = ref('foo')\n\n cy.mount(() => (\n <VConfirmEdit modelValue={ externalModel.value }>\n { ({ model }) => (\n <p>{ model.value }</p>\n )}\n </VConfirmEdit>\n )).get('p')\n .should('have.text', 'foo')\n .then(() => {\n externalModel.value = 'bar'\n })\n .get('p')\n .should('have.text', 'bar')\n })\n\n it(`doesn't mutate the original value`, () => {\n const externalModel = ref(['foo'])\n\n cy.mount(\n <VConfirmEdit v-model={ externalModel.value } modelValue={ externalModel.value }>\n { ({ model }) => (\n <>\n <p>{ model.value.join(',') }</p>\n <button data-test=\"push\" onClick={ () => model.value.push('bar') }>Push</button>\n </>\n )}\n </VConfirmEdit>\n ).get('p')\n .should('have.text', 'foo')\n .get('[data-test=\"push\"]').click()\n .get('p')\n .should('have.text', 'foo,bar')\n .then(() => {\n expect(externalModel.value).to.deep.equal(['foo'])\n })\n cy.contains('.v-btn', 'OK').click()\n cy.get('p')\n .should('have.text', 'foo,bar')\n .then(() => {\n expect(externalModel.value).to.deep.equal(['foo', 'bar'])\n })\n })\n\n it('hides actions if used from the slot', () => {\n cy.mount(\n <VConfirmEdit></VConfirmEdit>\n ).get('.v-btn').should('have.length', 2)\n\n cy.mount(\n <VConfirmEdit>\n { ({ model }) => {\n void model\n }}\n </VConfirmEdit>\n ).get('.v-btn').should('have.length', 2)\n\n cy.mount(\n <VConfirmEdit>\n { ({ actions }) => {\n void actions\n }}\n </VConfirmEdit>\n ).get('.v-btn').should('have.length', 0)\n\n cy.mount(\n <VConfirmEdit>\n { ({ actions }) => actions }\n </VConfirmEdit>\n ).get('.v-btn').should('have.length', 2)\n })\n})\n"],"mappings":"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","ignoreList":[]}
@@ -1,21 +0,0 @@
1
- // @ts-nocheck
2
- /* eslint-disable */
3
- import pad from "./pad.mjs";
4
- function createNativeLocaleFormatter(locale, options) {
5
- let substrOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {
6
- start: 0,
7
- length: 0
8
- };
9
- const makeIsoString = dateString => {
10
- const [year, month, date] = dateString.trim().split(' ')[0].split('-');
11
- return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-');
12
- };
13
- try {
14
- const intlFormatter = new Intl.DateTimeFormat(locale || undefined, options);
15
- return dateString => intlFormatter.format(new Date(`${makeIsoString(dateString)}T00:00:00+00:00`));
16
- } catch (e) {
17
- return substrOptions.start || substrOptions.length ? dateString => makeIsoString(dateString).substr(substrOptions.start || 0, substrOptions.length) : undefined;
18
- }
19
- }
20
- export default createNativeLocaleFormatter;
21
- //# sourceMappingURL=createNativeLocaleFormatter.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createNativeLocaleFormatter.mjs","names":["pad","createNativeLocaleFormatter","locale","options","substrOptions","arguments","length","undefined","start","makeIsoString","dateString","year","month","date","trim","split","join","intlFormatter","Intl","DateTimeFormat","format","Date","e","substr"],"sources":["../../../../src/components/VDatePicker/util/createNativeLocaleFormatter.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport pad from './pad'\nimport { DatePickerFormatter } from 'vuetify/types'\n\ninterface SubstrOptions {\n start?: number\n length: number\n}\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions\n): DatePickerFormatter | undefined\n\nfunction createNativeLocaleFormatter (\n local: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions\n): DatePickerFormatter\n\nfunction createNativeLocaleFormatter (\n locale: string | undefined,\n options: Intl.DateTimeFormatOptions,\n substrOptions: SubstrOptions = { start: 0, length: 0 }\n): DatePickerFormatter | undefined {\n const makeIsoString = (dateString: string) => {\n const [year, month, date] = dateString.trim().split(' ')[0].split('-')\n return [pad(year, 4), pad(month || 1), pad(date || 1)].join('-')\n }\n\n try {\n const intlFormatter = new Intl.DateTimeFormat(locale || undefined, options)\n return (dateString: string) => intlFormatter.format(new Date(`${makeIsoString(dateString)}T00:00:00+00:00`))\n } catch (e) {\n return (substrOptions.start || substrOptions.length)\n ? (dateString: string) => makeIsoString(dateString).substr(substrOptions.start || 0, substrOptions.length)\n : undefined\n }\n}\n\nexport default createNativeLocaleFormatter\n"],"mappings":"AAAA;AACA;AAAA,OAEOA,GAAG;AAmBV,SAASC,2BAA2BA,CAClCC,MAA0B,EAC1BC,OAAmC,EAEF;EAAA,IADjCC,aAA4B,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG;IAAEG,KAAK,EAAE,CAAC;IAAEF,MAAM,EAAE;EAAE,CAAC;EAEtD,MAAMG,aAAa,GAAIC,UAAkB,IAAK;IAC5C,MAAM,CAACC,IAAI,EAAEC,KAAK,EAAEC,IAAI,CAAC,GAAGH,UAAU,CAACI,IAAI,CAAC,CAAC,CAACC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAACA,KAAK,CAAC,GAAG,CAAC;IACtE,OAAO,CAACf,GAAG,CAACW,IAAI,EAAE,CAAC,CAAC,EAAEX,GAAG,CAACY,KAAK,IAAI,CAAC,CAAC,EAAEZ,GAAG,CAACa,IAAI,IAAI,CAAC,CAAC,CAAC,CAACG,IAAI,CAAC,GAAG,CAAC;EAClE,CAAC;EAED,IAAI;IACF,MAAMC,aAAa,GAAG,IAAIC,IAAI,CAACC,cAAc,CAACjB,MAAM,IAAIK,SAAS,EAAEJ,OAAO,CAAC;IAC3E,OAAQO,UAAkB,IAAKO,aAAa,CAACG,MAAM,CAAC,IAAIC,IAAI,CAAC,GAAGZ,aAAa,CAACC,UAAU,CAAC,iBAAiB,CAAC,CAAC;EAC9G,CAAC,CAAC,OAAOY,CAAC,EAAE;IACV,OAAQlB,aAAa,CAACI,KAAK,IAAIJ,aAAa,CAACE,MAAM,GAC9CI,UAAkB,IAAKD,aAAa,CAACC,UAAU,CAAC,CAACa,MAAM,CAACnB,aAAa,CAACI,KAAK,IAAI,CAAC,EAAEJ,aAAa,CAACE,MAAM,CAAC,GACxGC,SAAS;EACf;AACF;AAEA,eAAeN,2BAA2B","ignoreList":[]}
@@ -1,22 +0,0 @@
1
- // @ts-nocheck
2
- /* eslint-disable */
3
-
4
- // import Vue from 'vue'
5
-
6
- export function createItemTypeNativeListeners(instance, itemTypeSuffix, value) {
7
- return Object.keys(instance.$listeners).reduce((on, eventName) => {
8
- if (eventName.endsWith(itemTypeSuffix)) {
9
- on[eventName.slice(0, -itemTypeSuffix.length)] = event => instance.$emit(eventName, value, event);
10
- }
11
- return on;
12
- }, {});
13
- }
14
- export function createItemTypeListeners(instance, itemTypeSuffix) {
15
- return Object.keys(instance.$listeners).reduce((on, eventName) => {
16
- if (eventName.endsWith(itemTypeSuffix)) {
17
- on[eventName] = instance.$listeners[eventName];
18
- }
19
- return on;
20
- }, {});
21
- }
22
- //# sourceMappingURL=eventHelpers.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"eventHelpers.mjs","names":["createItemTypeNativeListeners","instance","itemTypeSuffix","value","Object","keys","$listeners","reduce","on","eventName","endsWith","slice","length","event","$emit","createItemTypeListeners"],"sources":["../../../../src/components/VDatePicker/util/eventHelpers.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// import Vue from 'vue'\n\nexport function createItemTypeNativeListeners (instance: /*Vue*/any, itemTypeSuffix: string, value: any) {\n return Object.keys(instance.$listeners).reduce((on, eventName) => {\n if (eventName.endsWith(itemTypeSuffix)) {\n on[eventName.slice(0, -itemTypeSuffix.length)] = (event: Event) => instance.$emit(eventName, value, event)\n }\n\n return on\n }, {} as typeof instance.$listeners)\n}\n\nexport function createItemTypeListeners (instance: /*Vue*/any, itemTypeSuffix: string) {\n return Object.keys(instance.$listeners).reduce((on, eventName) => {\n if (eventName.endsWith(itemTypeSuffix)) {\n on[eventName] = instance.$listeners[eventName]\n }\n\n return on\n }, {} as typeof instance.$listeners)\n}\n"],"mappings":"AAAA;AACA;;AAEA;;AAEA,OAAO,SAASA,6BAA6BA,CAAEC,QAAoB,EAAEC,cAAsB,EAAEC,KAAU,EAAE;EACvG,OAAOC,MAAM,CAACC,IAAI,CAACJ,QAAQ,CAACK,UAAU,CAAC,CAACC,MAAM,CAAC,CAACC,EAAE,EAAEC,SAAS,KAAK;IAChE,IAAIA,SAAS,CAACC,QAAQ,CAACR,cAAc,CAAC,EAAE;MACtCM,EAAE,CAACC,SAAS,CAACE,KAAK,CAAC,CAAC,EAAE,CAACT,cAAc,CAACU,MAAM,CAAC,CAAC,GAAIC,KAAY,IAAKZ,QAAQ,CAACa,KAAK,CAACL,SAAS,EAAEN,KAAK,EAAEU,KAAK,CAAC;IAC5G;IAEA,OAAOL,EAAE;EACX,CAAC,EAAE,CAAC,CAA+B,CAAC;AACtC;AAEA,OAAO,SAASO,uBAAuBA,CAAEd,QAAoB,EAAEC,cAAsB,EAAE;EACrF,OAAOE,MAAM,CAACC,IAAI,CAACJ,QAAQ,CAACK,UAAU,CAAC,CAACC,MAAM,CAAC,CAACC,EAAE,EAAEC,SAAS,KAAK;IAChE,IAAIA,SAAS,CAACC,QAAQ,CAACR,cAAc,CAAC,EAAE;MACtCM,EAAE,CAACC,SAAS,CAAC,GAAGR,QAAQ,CAACK,UAAU,CAACG,SAAS,CAAC;IAChD;IAEA,OAAOD,EAAE;EACX,CAAC,EAAE,CAAC,CAA+B,CAAC;AACtC","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- // @ts-nocheck
2
- /* eslint-disable */
3
- import { createItemTypeListeners, createItemTypeNativeListeners } from "./eventHelpers.mjs";
4
- import createNativeLocaleFormatter from "./createNativeLocaleFormatter.mjs";
5
- import monthChange from "./monthChange.mjs";
6
- import sanitizeDateString from "./sanitizeDateString.mjs";
7
- import pad from "./pad.mjs";
8
- export { createItemTypeListeners, createItemTypeNativeListeners, createNativeLocaleFormatter, monthChange, sanitizeDateString, pad };
9
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":["createItemTypeListeners","createItemTypeNativeListeners","createNativeLocaleFormatter","monthChange","sanitizeDateString","pad"],"sources":["../../../../src/components/VDatePicker/util/index.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport {\n createItemTypeListeners,\n createItemTypeNativeListeners,\n} from './eventHelpers'\nimport createNativeLocaleFormatter from './createNativeLocaleFormatter'\nimport monthChange from './monthChange'\nimport sanitizeDateString from './sanitizeDateString'\nimport pad from './pad'\n\nexport {\n createItemTypeListeners,\n createItemTypeNativeListeners,\n createNativeLocaleFormatter,\n monthChange,\n sanitizeDateString,\n pad,\n}\n"],"mappings":"AAAA;AACA;AAAA,SAGEA,uBAAuB,EACvBC,6BAA6B;AAAA,OAExBC,2BAA2B;AAAA,OAC3BC,WAAW;AAAA,OACXC,kBAAkB;AAAA,OAClBC,GAAG;AAEV,SACEL,uBAAuB,EACvBC,6BAA6B,EAC7BC,2BAA2B,EAC3BC,WAAW,EACXC,kBAAkB,EAClBC,GAAG","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- // @ts-nocheck
2
- /* eslint-disable */
3
-
4
- export default function isDateAllowed(date, min, max, allowedFn) {
5
- return (!allowedFn || allowedFn(date)) && (!min || date >= min.substr(0, 10)) && (!max || date <= max);
6
- }
7
- //# sourceMappingURL=isDateAllowed.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isDateAllowed.mjs","names":["isDateAllowed","date","min","max","allowedFn","substr"],"sources":["../../../../src/components/VDatePicker/util/isDateAllowed.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport { DatePickerAllowedDatesFunction } from 'vuetify/types'\n\nexport default function isDateAllowed (date: string, min: string, max: string, allowedFn: DatePickerAllowedDatesFunction | undefined) {\n return (!allowedFn || allowedFn(date)) &&\n (!min || date >= min.substr(0, 10)) &&\n (!max || date <= max)\n}\n"],"mappings":"AAAA;AACA;;AAIA,eAAe,SAASA,aAAaA,CAAEC,IAAY,EAAEC,GAAW,EAAEC,GAAW,EAAEC,SAAqD,EAAE;EACpI,OAAO,CAAC,CAACA,SAAS,IAAIA,SAAS,CAACH,IAAI,CAAC,MAClC,CAACC,GAAG,IAAID,IAAI,IAAIC,GAAG,CAACG,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAClC,CAACF,GAAG,IAAIF,IAAI,IAAIE,GAAG,CAAC;AACzB","ignoreList":[]}
@@ -1,18 +0,0 @@
1
- // @ts-nocheck
2
- /* eslint-disable */
3
- import pad from "./pad.mjs";
4
- /**
5
- * @param {String} value YYYY-MM format
6
- * @param {Number} sign -1 or +1
7
- */
8
- export default ((value, sign) => {
9
- const [year, month] = value.split('-').map(Number);
10
- if (month + sign === 0) {
11
- return `${year - 1}-12`;
12
- } else if (month + sign === 13) {
13
- return `${year + 1}-01`;
14
- } else {
15
- return `${year}-${pad(month + sign)}`;
16
- }
17
- });
18
- //# sourceMappingURL=monthChange.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"monthChange.mjs","names":["pad","value","sign","year","month","split","map","Number"],"sources":["../../../../src/components/VDatePicker/util/monthChange.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport pad from './pad'\n\n/**\n * @param {String} value YYYY-MM format\n * @param {Number} sign -1 or +1\n */\nexport default (value: string, sign: number) => {\n const [year, month] = value.split('-').map(Number)\n\n if (month + sign === 0) {\n return `${year - 1}-12`\n } else if (month + sign === 13) {\n return `${year + 1}-01`\n } else {\n return `${year}-${pad(month + sign)}`\n }\n}\n"],"mappings":"AAAA;AACA;AAAA,OAEOA,GAAG;AAEV;AACA;AACA;AACA;AACA,gBAAe,CAACC,KAAa,EAAEC,IAAY,KAAK;EAC9C,MAAM,CAACC,IAAI,EAAEC,KAAK,CAAC,GAAGH,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACC,MAAM,CAAC;EAElD,IAAIH,KAAK,GAAGF,IAAI,KAAK,CAAC,EAAE;IACtB,OAAO,GAAGC,IAAI,GAAG,CAAC,KAAK;EACzB,CAAC,MAAM,IAAIC,KAAK,GAAGF,IAAI,KAAK,EAAE,EAAE;IAC9B,OAAO,GAAGC,IAAI,GAAG,CAAC,KAAK;EACzB,CAAC,MAAM;IACL,OAAO,GAAGA,IAAI,IAAIH,GAAG,CAACI,KAAK,GAAGF,IAAI,CAAC,EAAE;EACvC;AACF,CAAC","ignoreList":[]}
@@ -1,21 +0,0 @@
1
- // @ts-nocheck
2
- /* eslint-disable */
3
-
4
- const padStart = (string, targetLength, padString) => {
5
- targetLength = targetLength >> 0;
6
- string = String(string);
7
- padString = String(padString);
8
- if (string.length > targetLength) {
9
- return String(string);
10
- }
11
- targetLength = targetLength - string.length;
12
- if (targetLength > padString.length) {
13
- padString += padString.repeat(targetLength / padString.length);
14
- }
15
- return padString.slice(0, targetLength) + String(string);
16
- };
17
- export default (function (n) {
18
- let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;
19
- return padStart(n, length, '0');
20
- });
21
- //# sourceMappingURL=pad.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pad.mjs","names":["padStart","string","targetLength","padString","String","length","repeat","slice","n","arguments","undefined"],"sources":["../../../../src/components/VDatePicker/util/pad.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nconst padStart = (string: number | string, targetLength: number, padString: string) => {\n targetLength = targetLength >> 0\n string = String(string)\n padString = String(padString)\n if (string.length > targetLength) {\n return String(string)\n }\n\n targetLength = targetLength - string.length\n if (targetLength > padString.length) {\n padString += padString.repeat(targetLength / padString.length)\n }\n return padString.slice(0, targetLength) + String(string)\n}\n\nexport default (n: string | number, length = 2) => padStart(n, length, '0')\n"],"mappings":"AAAA;AACA;;AAEA,MAAMA,QAAQ,GAAGA,CAACC,MAAuB,EAAEC,YAAoB,EAAEC,SAAiB,KAAK;EACrFD,YAAY,GAAGA,YAAY,IAAI,CAAC;EAChCD,MAAM,GAAGG,MAAM,CAACH,MAAM,CAAC;EACvBE,SAAS,GAAGC,MAAM,CAACD,SAAS,CAAC;EAC7B,IAAIF,MAAM,CAACI,MAAM,GAAGH,YAAY,EAAE;IAChC,OAAOE,MAAM,CAACH,MAAM,CAAC;EACvB;EAEAC,YAAY,GAAGA,YAAY,GAAGD,MAAM,CAACI,MAAM;EAC3C,IAAIH,YAAY,GAAGC,SAAS,CAACE,MAAM,EAAE;IACnCF,SAAS,IAAIA,SAAS,CAACG,MAAM,CAACJ,YAAY,GAAGC,SAAS,CAACE,MAAM,CAAC;EAChE;EACA,OAAOF,SAAS,CAACI,KAAK,CAAC,CAAC,EAAEL,YAAY,CAAC,GAAGE,MAAM,CAACH,MAAM,CAAC;AAC1D,CAAC;AAED,gBAAe,UAACO,CAAkB;EAAA,IAAEH,MAAM,GAAAI,SAAA,CAAAJ,MAAA,QAAAI,SAAA,QAAAC,SAAA,GAAAD,SAAA,MAAG,CAAC;EAAA,OAAKT,QAAQ,CAACQ,CAAC,EAAEH,MAAM,EAAE,GAAG,CAAC;AAAA","ignoreList":[]}
@@ -1,12 +0,0 @@
1
- // Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',
2
- // 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'
3
- import pad from "./pad.mjs";
4
- export default ((dateString, type) => {
5
- const [year, month = 1, date = 1] = dateString.split('-');
6
- return `${year}-${pad(month)}-${pad(date)}`.substr(0, {
7
- date: 10,
8
- month: 7,
9
- year: 4
10
- }[type]);
11
- });
12
- //# sourceMappingURL=sanitizeDateString.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sanitizeDateString.mjs","names":["pad","dateString","type","year","month","date","split","substr"],"sources":["../../../../src/components/VDatePicker/util/sanitizeDateString.ts"],"sourcesContent":["// Adds leading zero to month/day if necessary, returns 'YYYY' if type = 'year',\n// 'YYYY-MM' if 'month' and 'YYYY-MM-DD' if 'date'\nimport pad from './pad'\n\nexport default (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"],"mappings":"AAAA;AACA;AAAA,OACOA,GAAG;AAEV,gBAAe,CAACC,UAAkB,EAAEC,IAA+B,KAAa;EAC9E,MAAM,CAACC,IAAI,EAAEC,KAAK,GAAG,CAAC,EAAEC,IAAI,GAAG,CAAC,CAAC,GAAGJ,UAAU,CAACK,KAAK,CAAC,GAAG,CAAC;EACzD,OAAO,GAAGH,IAAI,IAAIH,GAAG,CAACI,KAAK,CAAC,IAAIJ,GAAG,CAACK,IAAI,CAAC,EAAE,CAACE,MAAM,CAAC,CAAC,EAAE;IAAEF,IAAI,EAAE,EAAE;IAAED,KAAK,EAAE,CAAC;IAAED,IAAI,EAAE;EAAE,CAAC,CAACD,IAAI,CAAC,CAAC;AAC9F,CAAC","ignoreList":[]}
@@ -1,27 +0,0 @@
1
- // linear
2
- export const linear = t => t;
3
- // accelerating from zero velocity
4
- export const easeInQuad = t => t ** 2;
5
- // decelerating to zero velocity
6
- export const easeOutQuad = t => t * (2 - t);
7
- // acceleration until halfway, then deceleration
8
- export const easeInOutQuad = t => t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t;
9
- // accelerating from zero velocity
10
- export const easeInCubic = t => t ** 3;
11
- // decelerating to zero velocity
12
- export const easeOutCubic = t => --t ** 3 + 1;
13
- // acceleration until halfway, then deceleration
14
- export const easeInOutCubic = t => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1;
15
- // accelerating from zero velocity
16
- export const easeInQuart = t => t ** 4;
17
- // decelerating to zero velocity
18
- export const easeOutQuart = t => 1 - --t ** 4;
19
- // acceleration until halfway, then deceleration
20
- export const easeInOutQuart = t => t < 0.5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t;
21
- // accelerating from zero velocity
22
- export const easeInQuint = t => t ** 5;
23
- // decelerating to zero velocity
24
- export const easeOutQuint = t => 1 + --t ** 5;
25
- // acceleration until halfway, then deceleration
26
- export const easeInOutQuint = t => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5;
27
- //# sourceMappingURL=easing-patterns.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"easing-patterns.mjs","names":["linear","t","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint"],"sources":["../../../src/services/goto/easing-patterns.ts"],"sourcesContent":["export type EasingFunction = (t: number) => number\n\n// linear\nexport const linear = (t: number) => t\n// accelerating from zero velocity\nexport const easeInQuad = (t: number) => t ** 2\n// decelerating to zero velocity\nexport const easeOutQuad = (t: number) => t * (2 - t)\n// acceleration until halfway, then deceleration\nexport const easeInOutQuad = (t: number) => (t < 0.5 ? 2 * t ** 2 : -1 + (4 - 2 * t) * t)\n// accelerating from zero velocity\nexport const easeInCubic = (t: number) => t ** 3\n// decelerating to zero velocity\nexport const easeOutCubic = (t: number) => --t ** 3 + 1\n// acceleration until halfway, then deceleration\nexport const easeInOutCubic = (t: number) => t < 0.5 ? 4 * t ** 3 : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1\n// accelerating from zero velocity\nexport const easeInQuart = (t: number) => t ** 4\n// decelerating to zero velocity\nexport const easeOutQuart = (t: number) => 1 - --t ** 4\n// acceleration until halfway, then deceleration\nexport const easeInOutQuart = (t: number) => (t < 0.5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t)\n// accelerating from zero velocity\nexport const easeInQuint = (t: number) => t ** 5\n// decelerating to zero velocity\nexport const easeOutQuint = (t: number) => 1 + --t ** 5\n// acceleration until halfway, then deceleration\nexport const easeInOutQuint = (t: number) => t < 0.5 ? 16 * t ** 5 : 1 + 16 * --t ** 5\n"],"mappings":"AAEA;AACA,OAAO,MAAMA,MAAM,GAAIC,CAAS,IAAKA,CAAC;AACtC;AACA,OAAO,MAAMC,UAAU,GAAID,CAAS,IAAKA,CAAC,IAAI,CAAC;AAC/C;AACA,OAAO,MAAME,WAAW,GAAIF,CAAS,IAAKA,CAAC,IAAI,CAAC,GAAGA,CAAC,CAAC;AACrD;AACA,OAAO,MAAMG,aAAa,GAAIH,CAAS,IAAMA,CAAC,GAAG,GAAG,GAAG,CAAC,GAAGA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAGA,CAAC,IAAIA,CAAE;AACzF;AACA,OAAO,MAAMI,WAAW,GAAIJ,CAAS,IAAKA,CAAC,IAAI,CAAC;AAChD;AACA,OAAO,MAAMK,YAAY,GAAIL,CAAS,IAAK,EAAEA,CAAC,IAAI,CAAC,GAAG,CAAC;AACvD;AACA,OAAO,MAAMM,cAAc,GAAIN,CAAS,IAAKA,CAAC,GAAG,GAAG,GAAG,CAAC,GAAGA,CAAC,IAAI,CAAC,GAAG,CAACA,CAAC,GAAG,CAAC,KAAK,CAAC,GAAGA,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAGA,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AAC3G;AACA,OAAO,MAAMO,WAAW,GAAIP,CAAS,IAAKA,CAAC,IAAI,CAAC;AAChD;AACA,OAAO,MAAMQ,YAAY,GAAIR,CAAS,IAAK,CAAC,GAAG,EAAEA,CAAC,IAAI,CAAC;AACvD;AACA,OAAO,MAAMS,cAAc,GAAIT,CAAS,IAAMA,CAAC,GAAG,GAAG,GAAG,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAEA,CAAC,GAAGA,CAAC,GAAGA,CAAC,GAAGA,CAAE;AACpG;AACA,OAAO,MAAMU,WAAW,GAAIV,CAAS,IAAKA,CAAC,IAAI,CAAC;AAChD;AACA,OAAO,MAAMW,YAAY,GAAIX,CAAS,IAAK,CAAC,GAAG,EAAEA,CAAC,IAAI,CAAC;AACvD;AACA,OAAO,MAAMY,cAAc,GAAIZ,CAAS,IAAKA,CAAC,GAAG,GAAG,GAAG,EAAE,GAAGA,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAEA,CAAC,IAAI,CAAC","ignoreList":[]}
@@ -1,73 +0,0 @@
1
- // @ts-nocheck
2
- /* eslint-disable */
3
- // Extensions
4
- // import { Service } from '../service'
5
- // Utilities
6
- import * as easingPatterns from "./easing-patterns.mjs";
7
- import { getContainer, getOffset } from "./util.mjs"; // Types
8
- function goTo(_target) {
9
- let _settings = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
10
- const settings = {
11
- container: document.scrollingElement || document.body || document.documentElement,
12
- duration: 500,
13
- offset: 0,
14
- easing: 'easeInOutCubic',
15
- appOffset: true,
16
- ..._settings
17
- };
18
- const container = getContainer(settings.container);
19
-
20
- /* istanbul ignore else */
21
- if (settings.appOffset && goTo.framework.application) {
22
- const isDrawer = container.classList.contains('v-navigation-drawer');
23
- const isClipped = container.classList.contains('v-navigation-drawer--clipped');
24
- const {
25
- bar,
26
- top
27
- } = goTo.framework.application;
28
- settings.offset += bar;
29
- /* istanbul ignore else */
30
- if (!isDrawer || isClipped) settings.offset += top;
31
- }
32
- const startTime = performance.now();
33
- let targetLocation;
34
- if (typeof _target === 'number') {
35
- targetLocation = getOffset(_target) - settings.offset;
36
- } else {
37
- targetLocation = getOffset(_target) - getOffset(container) - settings.offset;
38
- }
39
- const startLocation = container.scrollTop;
40
- if (targetLocation === startLocation) return Promise.resolve(targetLocation);
41
- const ease = typeof settings.easing === 'function' ? settings.easing : easingPatterns[settings.easing];
42
- /* istanbul ignore else */
43
- if (!ease) throw new TypeError(`Easing function "${settings.easing}" not found.`);
44
-
45
- // Cannot be tested properly in jsdom
46
- /* istanbul ignore next */
47
- return new Promise(resolve => requestAnimationFrame(function step(currentTime) {
48
- const timeElapsed = currentTime - startTime;
49
- const progress = Math.abs(settings.duration ? Math.min(timeElapsed / settings.duration, 1) : 1);
50
- container.scrollTop = Math.floor(startLocation + (targetLocation - startLocation) * ease(progress));
51
- const clientHeight = container === document.body ? document.documentElement.clientHeight : container.clientHeight;
52
- const reachBottom = clientHeight + container.scrollTop >= container.scrollHeight;
53
- if (progress === 1 ||
54
- // Need to go lower but reach bottom
55
- targetLocation > container.scrollTop && reachBottom) {
56
- return resolve(targetLocation);
57
- }
58
- requestAnimationFrame(step);
59
- }));
60
- }
61
-
62
- // goTo.framework = {} as Record<string, VuetifyServiceContract>
63
-
64
- // export class Goto extends Service {
65
- // public static property: 'goTo' = 'goTo'
66
-
67
- // constructor () {
68
- // super()
69
-
70
- // return goTo
71
- // }
72
- // }
73
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.mjs","names":["easingPatterns","getContainer","getOffset","goTo","_target","_settings","arguments","length","undefined","settings","container","document","scrollingElement","body","documentElement","duration","offset","easing","appOffset","framework","application","isDrawer","classList","contains","isClipped","bar","top","startTime","performance","now","targetLocation","startLocation","scrollTop","Promise","resolve","ease","TypeError","requestAnimationFrame","step","currentTime","timeElapsed","progress","Math","abs","min","floor","clientHeight","reachBottom","scrollHeight"],"sources":["../../../src/services/goto/index.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\n// Extensions\n// import { Service } from '../service'\n\n// Utilities\nimport * as easingPatterns from './easing-patterns'\nimport {\n getContainer,\n getOffset,\n} from './util'\n\n// Types\nimport { GoToOptions, VuetifyGoToTarget } from 'vuetify/types/services/goto'\n\nimport { VuetifyServiceContract } from 'vuetify/types/services'\n\nfunction goTo (\n _target: VuetifyGoToTarget,\n _settings: GoToOptions = {}\n): Promise<number> {\n const settings: GoToOptions = {\n container: (document.scrollingElement as HTMLElement | null) || document.body || document.documentElement,\n duration: 500,\n offset: 0,\n easing: 'easeInOutCubic',\n appOffset: true,\n ..._settings,\n }\n const container = getContainer(settings.container)\n\n /* istanbul ignore else */\n if (settings.appOffset && goTo.framework.application) {\n const isDrawer = container.classList.contains('v-navigation-drawer')\n const isClipped = container.classList.contains('v-navigation-drawer--clipped')\n const { bar, top } = goTo.framework.application as any\n\n settings.offset += bar\n /* istanbul ignore else */\n if (!isDrawer || isClipped) settings.offset += top\n }\n\n const startTime = performance.now()\n\n let targetLocation: number\n if (typeof _target === 'number') {\n targetLocation = getOffset(_target) - settings.offset!\n } else {\n targetLocation = getOffset(_target) - getOffset(container) - settings.offset!\n }\n\n const startLocation = container.scrollTop\n if (targetLocation === startLocation) return Promise.resolve(targetLocation)\n\n const ease = typeof settings.easing === 'function'\n ? settings.easing\n : easingPatterns[settings.easing!]\n /* istanbul ignore else */\n if (!ease) throw new TypeError(`Easing function \"${settings.easing}\" not found.`)\n\n // Cannot be tested properly in jsdom\n /* istanbul ignore next */\n return new Promise(resolve => requestAnimationFrame(function step (currentTime: number) {\n const timeElapsed = currentTime - startTime\n const progress = Math.abs(settings.duration ? Math.min(timeElapsed / settings.duration, 1) : 1)\n\n container.scrollTop = Math.floor(startLocation + (targetLocation - startLocation) * ease(progress))\n\n const clientHeight = container === document.body ? document.documentElement.clientHeight : container.clientHeight\n const reachBottom = clientHeight + container.scrollTop >= container.scrollHeight\n if (\n progress === 1 ||\n // Need to go lower but reach bottom\n (targetLocation > container.scrollTop && reachBottom)\n ) {\n return resolve(targetLocation)\n }\n\n requestAnimationFrame(step)\n }))\n}\n\n// goTo.framework = {} as Record<string, VuetifyServiceContract>\n\n// export class Goto extends Service {\n// public static property: 'goTo' = 'goTo'\n\n// constructor () {\n// super()\n\n// return goTo\n// }\n// }\n"],"mappings":"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","ignoreList":[]}
@@ -1,39 +0,0 @@
1
- // @ts-nocheck
2
- /* eslint-disable */
3
-
4
- // Return target's cumulative offset from the top
5
- export function getOffset(target) {
6
- if (typeof target === 'number') {
7
- return target;
8
- }
9
- let el = $(target);
10
- if (!el) {
11
- throw typeof target === 'string' ? new Error(`Target element "${target}" not found.`) : new TypeError(`Target must be a Number/Selector/HTMLElement/VueComponent, received ${type(target)} instead.`);
12
- }
13
- let totalOffset = 0;
14
- while (el) {
15
- totalOffset += el.offsetTop;
16
- el = el.offsetParent;
17
- }
18
- return totalOffset;
19
- }
20
- export function getContainer(container) {
21
- const el = $(container);
22
- if (el) return el;
23
- throw typeof container === 'string' ? new Error(`Container element "${container}" not found.`) : new TypeError(`Container must be a Selector/HTMLElement/VueComponent, received ${type(container)} instead.`);
24
- }
25
- function type(el) {
26
- return el == null ? el : el.constructor.name;
27
- }
28
- function $(el) {
29
- if (typeof el === 'string') {
30
- return document.querySelector(el);
31
- } else if (el && el.__isVue) {
32
- return el.$el;
33
- } else if (el instanceof HTMLElement) {
34
- return el;
35
- } else {
36
- return null;
37
- }
38
- }
39
- //# sourceMappingURL=util.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.mjs","names":["getOffset","target","el","$","Error","TypeError","type","totalOffset","offsetTop","offsetParent","getContainer","container","constructor","name","document","querySelector","__isVue","$el","HTMLElement"],"sources":["../../../src/services/goto/util.ts"],"sourcesContent":["// @ts-nocheck\n/* eslint-disable */\n\nimport Vue from 'vue'\n\n// Return target's cumulative offset from the top\nexport function getOffset (target: any): number {\n if (typeof target === 'number') {\n return target\n }\n\n let el = $(target)\n if (!el) {\n throw typeof target === 'string'\n ? new Error(`Target element \"${target}\" not found.`)\n : new TypeError(`Target must be a Number/Selector/HTMLElement/VueComponent, received ${type(target)} instead.`)\n }\n\n let totalOffset = 0\n while (el) {\n totalOffset += el.offsetTop\n el = el.offsetParent as HTMLElement\n }\n\n return totalOffset\n}\n\nexport function getContainer (container: any): HTMLElement {\n const el = $(container)\n\n if (el) return el\n\n throw typeof container === 'string'\n ? new Error(`Container element \"${container}\" not found.`)\n : new TypeError(`Container must be a Selector/HTMLElement/VueComponent, received ${type(container)} instead.`)\n}\n\nfunction type (el: any) {\n return el == null ? el : el.constructor.name\n}\n\nfunction $ (el: any): HTMLElement | null {\n if (typeof el === 'string') {\n return document.querySelector<HTMLElement>(el)\n } else if (el && el.__isVue) {\n return (el as Vue).$el as HTMLElement\n } else if (el instanceof HTMLElement) {\n return el\n } else {\n return null\n }\n}\n"],"mappings":"AAAA;AACA;;AAIA;AACA,OAAO,SAASA,SAASA,CAAEC,MAAW,EAAU;EAC9C,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC9B,OAAOA,MAAM;EACf;EAEA,IAAIC,EAAE,GAAGC,CAAC,CAACF,MAAM,CAAC;EAClB,IAAI,CAACC,EAAE,EAAE;IACP,MAAM,OAAOD,MAAM,KAAK,QAAQ,GAC5B,IAAIG,KAAK,CAAC,mBAAmBH,MAAM,cAAc,CAAC,GAClD,IAAII,SAAS,CAAC,uEAAuEC,IAAI,CAACL,MAAM,CAAC,WAAW,CAAC;EACnH;EAEA,IAAIM,WAAW,GAAG,CAAC;EACnB,OAAOL,EAAE,EAAE;IACTK,WAAW,IAAIL,EAAE,CAACM,SAAS;IAC3BN,EAAE,GAAGA,EAAE,CAACO,YAA2B;EACrC;EAEA,OAAOF,WAAW;AACpB;AAEA,OAAO,SAASG,YAAYA,CAAEC,SAAc,EAAe;EACzD,MAAMT,EAAE,GAAGC,CAAC,CAACQ,SAAS,CAAC;EAEvB,IAAIT,EAAE,EAAE,OAAOA,EAAE;EAEjB,MAAM,OAAOS,SAAS,KAAK,QAAQ,GAC/B,IAAIP,KAAK,CAAC,sBAAsBO,SAAS,cAAc,CAAC,GACxD,IAAIN,SAAS,CAAC,mEAAmEC,IAAI,CAACK,SAAS,CAAC,WAAW,CAAC;AAClH;AAEA,SAASL,IAAIA,CAAEJ,EAAO,EAAE;EACtB,OAAOA,EAAE,IAAI,IAAI,GAAGA,EAAE,GAAGA,EAAE,CAACU,WAAW,CAACC,IAAI;AAC9C;AAEA,SAASV,CAACA,CAAED,EAAO,EAAsB;EACvC,IAAI,OAAOA,EAAE,KAAK,QAAQ,EAAE;IAC1B,OAAOY,QAAQ,CAACC,aAAa,CAAcb,EAAE,CAAC;EAChD,CAAC,MAAM,IAAIA,EAAE,IAAIA,EAAE,CAACc,OAAO,EAAE;IAC3B,OAAQd,EAAE,CAASe,GAAG;EACxB,CAAC,MAAM,IAAIf,EAAE,YAAYgB,WAAW,EAAE;IACpC,OAAOhB,EAAE;EACX,CAAC,MAAM;IACL,OAAO,IAAI;EACb;AACF","ignoreList":[]}