@vuetify/nightly 3.3.11-dev.2023-08-07 → 3.3.11-dev.2023-08-09

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 (46) hide show
  1. package/CHANGELOG.md +4 -2
  2. package/dist/json/attributes.json +8 -0
  3. package/dist/json/importMap.json +4 -4
  4. package/dist/json/tags.json +2 -0
  5. package/dist/json/web-types.json +21 -1
  6. package/dist/vuetify-labs.css +215 -210
  7. package/dist/vuetify-labs.d.ts +28 -0
  8. package/dist/vuetify-labs.esm.js +39 -7
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +38 -6
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +35 -30
  13. package/dist/vuetify.d.ts +29 -1
  14. package/dist/vuetify.esm.js +39 -7
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +38 -6
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +836 -832
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VCarousel/index.d.mts +14 -0
  22. package/lib/components/VColorPicker/VColorPickerPreview.css +5 -0
  23. package/lib/components/VColorPicker/VColorPickerPreview.mjs +28 -2
  24. package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
  25. package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -0
  26. package/lib/components/VColorPicker/_variables.scss +1 -0
  27. package/lib/components/VImg/VImg.mjs +7 -1
  28. package/lib/components/VImg/VImg.mjs.map +1 -1
  29. package/lib/components/VImg/index.d.mts +14 -0
  30. package/lib/components/index.d.mts +28 -0
  31. package/lib/entry-bundler.mjs +1 -1
  32. package/lib/framework.mjs +1 -1
  33. package/lib/iconsets/fa.mjs +2 -1
  34. package/lib/iconsets/fa.mjs.map +1 -1
  35. package/lib/iconsets/fa4.mjs +2 -1
  36. package/lib/iconsets/fa4.mjs.map +1 -1
  37. package/lib/iconsets/md.mjs +2 -1
  38. package/lib/iconsets/md.mjs.map +1 -1
  39. package/lib/iconsets/mdi-svg.mjs +2 -1
  40. package/lib/iconsets/mdi-svg.mjs.map +1 -1
  41. package/lib/iconsets/mdi.mjs +2 -1
  42. package/lib/iconsets/mdi.mjs.map +1 -1
  43. package/lib/index.d.mts +1 -1
  44. package/lib/util/globals.mjs +1 -0
  45. package/lib/util/globals.mjs.map +1 -1
  46. package/package.json +1 -1
@@ -964,6 +964,7 @@ declare const VCarouselItem: {
964
964
  inline?: boolean | undefined;
965
965
  transition?: string | boolean | undefined;
966
966
  style?: vue.StyleValue | undefined;
967
+ draggable?: boolean | "false" | "true" | undefined;
967
968
  eager?: boolean | undefined;
968
969
  disabled?: boolean | undefined;
969
970
  options?: IntersectionObserverInit | undefined;
@@ -1089,6 +1090,7 @@ declare const VCarouselItem: {
1089
1090
  minWidth?: string | number | undefined;
1090
1091
  transition?: string | boolean | undefined;
1091
1092
  value?: any;
1093
+ draggable?: boolean | "false" | "true" | undefined;
1092
1094
  class?: any;
1093
1095
  referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
1094
1096
  alt?: string | undefined;
@@ -1122,6 +1124,7 @@ declare const VCarouselItem: {
1122
1124
  inline: boolean;
1123
1125
  transition: string | boolean;
1124
1126
  style: vue.StyleValue;
1127
+ draggable: boolean | "false" | "true";
1125
1128
  eager: boolean;
1126
1129
  disabled: boolean;
1127
1130
  options: IntersectionObserverInit;
@@ -1179,6 +1182,7 @@ declare const VCarouselItem: {
1179
1182
  minWidth?: string | number | undefined;
1180
1183
  transition?: string | boolean | undefined;
1181
1184
  value?: any;
1185
+ draggable?: boolean | "false" | "true" | undefined;
1182
1186
  class?: any;
1183
1187
  referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
1184
1188
  alt?: string | undefined;
@@ -1230,6 +1234,7 @@ declare const VCarouselItem: {
1230
1234
  minWidth?: string | number | undefined;
1231
1235
  transition?: string | boolean | undefined;
1232
1236
  value?: any;
1237
+ draggable?: boolean | "false" | "true" | undefined;
1233
1238
  class?: any;
1234
1239
  referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
1235
1240
  alt?: string | undefined;
@@ -1263,6 +1268,7 @@ declare const VCarouselItem: {
1263
1268
  inline: boolean;
1264
1269
  transition: string | boolean;
1265
1270
  style: vue.StyleValue;
1271
+ draggable: boolean | "false" | "true";
1266
1272
  eager: boolean;
1267
1273
  disabled: boolean;
1268
1274
  options: IntersectionObserverInit;
@@ -1311,6 +1317,10 @@ declare const VCarouselItem: {
1311
1317
  inline: BooleanConstructor;
1312
1318
  alt: StringConstructor;
1313
1319
  cover: BooleanConstructor;
1320
+ draggable: {
1321
+ type: vue.PropType<boolean | "false" | "true">;
1322
+ default: undefined;
1323
+ };
1314
1324
  gradient: StringConstructor;
1315
1325
  lazySrc: StringConstructor;
1316
1326
  options: {
@@ -1358,6 +1368,10 @@ declare const VCarouselItem: {
1358
1368
  inline: BooleanConstructor;
1359
1369
  alt: StringConstructor;
1360
1370
  cover: BooleanConstructor;
1371
+ draggable: {
1372
+ type: vue.PropType<boolean | "false" | "true">;
1373
+ default: undefined;
1374
+ };
1361
1375
  gradient: StringConstructor;
1362
1376
  lazySrc: StringConstructor;
1363
1377
  options: {
@@ -64,4 +64,9 @@
64
64
  align-items: center;
65
65
  display: flex;
66
66
  margin-bottom: 0;
67
+ }
68
+
69
+ .v-color-picker-preview__eye-dropper {
70
+ position: relative;
71
+ margin-right: 12px;
67
72
  }
@@ -3,10 +3,12 @@ import { createVNode as _createVNode } from "vue";
3
3
  import "./VColorPickerPreview.css";
4
4
 
5
5
  // Components
6
+ import { VBtn } from "../VBtn/index.mjs";
6
7
  import { VSlider } from "../VSlider/index.mjs"; // Composables
7
8
  import { makeComponentProps } from "../../composables/component.mjs"; // Utilities
9
+ import { onUnmounted } from 'vue';
8
10
  import { nullColor } from "./util/index.mjs";
9
- import { defineComponent, HSVtoCSS, propsFactory, useRender } from "../../util/index.mjs"; // Types
11
+ import { defineComponent, HexToHSV, HSVtoCSS, propsFactory, SUPPORTS_EYE_DROPPER, useRender } from "../../util/index.mjs"; // Types
10
12
  export const makeVColorPickerPreviewProps = propsFactory({
11
13
  color: {
12
14
  type: Object
@@ -25,12 +27,36 @@ export const VColorPickerPreview = defineComponent({
25
27
  let {
26
28
  emit
27
29
  } = _ref;
30
+ const abortController = new AbortController();
31
+ onUnmounted(() => abortController.abort());
32
+ async function openEyeDropper() {
33
+ if (!SUPPORTS_EYE_DROPPER) return;
34
+ const eyeDropper = new window.EyeDropper();
35
+ try {
36
+ const result = await eyeDropper.open({
37
+ signal: abortController.signal
38
+ });
39
+ const colorHexValue = HexToHSV(result.sRGBHex);
40
+ emit('update:color', {
41
+ ...(props.color ?? nullColor),
42
+ ...colorHexValue
43
+ });
44
+ } catch (e) {}
45
+ }
28
46
  useRender(() => _createVNode("div", {
29
47
  "class": ['v-color-picker-preview', {
30
48
  'v-color-picker-preview--hide-alpha': props.hideAlpha
31
49
  }, props.class],
32
50
  "style": props.style
33
- }, [_createVNode("div", {
51
+ }, [SUPPORTS_EYE_DROPPER && _createVNode("div", {
52
+ "class": "v-color-picker-preview__eye-dropper",
53
+ "key": "eyeDropper"
54
+ }, [_createVNode(VBtn, {
55
+ "onClick": openEyeDropper,
56
+ "icon": "$eyeDropper",
57
+ "variant": "plain",
58
+ "density": "comfortable"
59
+ }, null)]), _createVNode("div", {
34
60
  "class": "v-color-picker-preview__dot"
35
61
  }, [_createVNode("div", {
36
62
  "style": {
@@ -1 +1 @@
1
- {"version":3,"file":"VColorPickerPreview.mjs","names":["VSlider","makeComponentProps","nullColor","defineComponent","HSVtoCSS","propsFactory","useRender","makeVColorPickerPreviewProps","color","type","Object","disabled","Boolean","hideAlpha","VColorPickerPreview","name","props","emits","setup","_ref","emit","_createVNode","class","style","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VSlider } from '@/components/VSlider'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { nullColor } from './util'\nimport { defineComponent, HSVtoCSS, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { HSV } from '@/util'\n\nexport const makeVColorPickerPreviewProps = propsFactory({\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n\n ...makeComponentProps(),\n}, 'VColorPickerPreview')\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: makeVColorPickerPreviewProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n useRender(() => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n props.class,\n ]}\n style={ props.style }\n >\n <div class=\"v-color-picker-preview__dot\">\n <div style={{ background: HSVtoCSS(props.color ?? nullColor) }} />\n </div>\n\n <div class=\"v-color-picker-preview__sliders\">\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__hue\"\n modelValue={ props.color?.h }\n onUpdate:modelValue={ h => emit('update:color', { ...(props.color ?? nullColor), h }) }\n step={ 0 }\n min={ 0 }\n max={ 360 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n\n { !props.hideAlpha && (\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__alpha\"\n modelValue={ props.color?.a ?? 1 }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 1 / 256 }\n min={ 0 }\n max={ 1 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n )}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerPreview = InstanceType<typeof VColorPickerPreview>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,OAAO,gCAEhB;AAAA,SACSC,kBAAkB,2CAE3B;AAAA,SACSC,SAAS;AAAA,SACTC,eAAe,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,SAAS,gCAE3D;AAIA,OAAO,MAAMC,4BAA4B,GAAGF,YAAY,CAAC;EACvDG,KAAK,EAAE;IACLC,IAAI,EAAEC;EACR,CAAC;EACDC,QAAQ,EAAEC,OAAO;EACjBC,SAAS,EAAED,OAAO;EAElB,GAAGX,kBAAkB;AACvB,CAAC,EAAE,qBAAqB,CAAC;AAEzB,OAAO,MAAMa,mBAAmB,GAAGX,eAAe,CAAC;EACjDY,IAAI,EAAE,qBAAqB;EAE3BC,KAAK,EAAET,4BAA4B,EAAE;EAErCU,KAAK,EAAE;IACL,cAAc,EAAGT,KAAU,IAAK;EAClC,CAAC;EAEDU,KAAKA,CAAEF,KAAK,EAAAG,IAAA,EAAY;IAAA,IAAV;MAAEC;IAAK,CAAC,GAAAD,IAAA;IACpBb,SAAS,CAAC,MAAAe,YAAA;MAAA,SAEC,CACL,wBAAwB,EACxB;QACE,oCAAoC,EAAEL,KAAK,CAACH;MAC9C,CAAC,EACDG,KAAK,CAACM,KAAK,CACZ;MAAA,SACON,KAAK,CAACO;IAAK,IAAAF,YAAA;MAAA,SAER;IAA6B,IAAAA,YAAA;MAAA,SAC1B;QAAEG,UAAU,EAAEpB,QAAQ,CAACY,KAAK,CAACR,KAAK,IAAIN,SAAS;MAAE;IAAC,YAAAmB,YAAA;MAAA,SAGrD;IAAiC,IAAAA,YAAA,CAAArB,OAAA;MAAA,SAElC,2DAA2D;MAAA,cACpDgB,KAAK,CAACR,KAAK,EAAEiB,CAAC;MAAA,uBACLA,CAAC,IAAIL,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIJ,KAAK,CAACR,KAAK,IAAIN,SAAS,CAAC;QAAEuB;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC;MAAA,OACF,CAAC;MAAA,OACD,GAAG;MAAA,YACET,KAAK,CAACL,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA,kBACE,OAAO;MAAA;IAAA,UAItB,CAACK,KAAK,CAACH,SAAS,IAAAQ,YAAA,CAAArB,OAAA;MAAA,SAER,6DAA6D;MAAA,cACtDgB,KAAK,CAACR,KAAK,EAAEkB,CAAC,IAAI,CAAC;MAAA,uBACVA,CAAC,IAAIN,IAAI,CAAC,cAAc,EAAE;QAAE,IAAIJ,KAAK,CAACR,KAAK,IAAIN,SAAS,CAAC;QAAEwB;MAAE,CAAC,CAAC;MAAA,QAC9E,CAAC,GAAG,GAAG;MAAA,OACR,CAAC;MAAA,OACD,CAAC;MAAA,YACIV,KAAK,CAACL,QAAQ;MAAA,aACb,EAAE;MAAA,aACF,CAAC;MAAA,kBACE,OAAO;MAAA;IAAA,QAGzB,IAGN,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VColorPickerPreview.mjs","names":["VBtn","VSlider","makeComponentProps","onUnmounted","nullColor","defineComponent","HexToHSV","HSVtoCSS","propsFactory","SUPPORTS_EYE_DROPPER","useRender","makeVColorPickerPreviewProps","color","type","Object","disabled","Boolean","hideAlpha","VColorPickerPreview","name","props","emits","setup","_ref","emit","abortController","AbortController","abort","openEyeDropper","eyeDropper","window","EyeDropper","result","open","signal","colorHexValue","sRGBHex","e","_createVNode","class","style","background","h","a"],"sources":["../../../src/components/VColorPicker/VColorPickerPreview.tsx"],"sourcesContent":["// Styles\nimport './VColorPickerPreview.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSlider } from '@/components/VSlider'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { onUnmounted } from 'vue'\nimport { nullColor } from './util'\nimport {\n defineComponent,\n HexToHSV,\n HSVtoCSS,\n propsFactory,\n SUPPORTS_EYE_DROPPER,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { Hex, HSV } from '@/util'\n\nexport const makeVColorPickerPreviewProps = propsFactory({\n color: {\n type: Object as PropType<HSV | null>,\n },\n disabled: Boolean,\n hideAlpha: Boolean,\n\n ...makeComponentProps(),\n}, 'VColorPickerPreview')\n\nexport const VColorPickerPreview = defineComponent({\n name: 'VColorPickerPreview',\n\n props: makeVColorPickerPreviewProps(),\n\n emits: {\n 'update:color': (color: HSV) => true,\n },\n\n setup (props, { emit }) {\n const abortController = new AbortController()\n\n onUnmounted(() => abortController.abort())\n\n async function openEyeDropper () {\n if (!SUPPORTS_EYE_DROPPER) return\n\n const eyeDropper = new window.EyeDropper()\n try {\n const result = await eyeDropper.open({ signal: abortController.signal })\n const colorHexValue = HexToHSV(result.sRGBHex as Hex)\n emit('update:color', { ...(props.color ?? nullColor), ...colorHexValue })\n } catch (e) {}\n }\n\n useRender(() => (\n <div\n class={[\n 'v-color-picker-preview',\n {\n 'v-color-picker-preview--hide-alpha': props.hideAlpha,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { SUPPORTS_EYE_DROPPER && (\n <div class=\"v-color-picker-preview__eye-dropper\" key=\"eyeDropper\">\n <VBtn onClick={ openEyeDropper } icon=\"$eyeDropper\" variant=\"plain\" density=\"comfortable\" />\n </div>\n )}\n\n <div class=\"v-color-picker-preview__dot\">\n <div style={{ background: HSVtoCSS(props.color ?? nullColor) }} />\n </div>\n\n <div class=\"v-color-picker-preview__sliders\">\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__hue\"\n modelValue={ props.color?.h }\n onUpdate:modelValue={ h => emit('update:color', { ...(props.color ?? nullColor), h }) }\n step={ 0 }\n min={ 0 }\n max={ 360 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n\n { !props.hideAlpha && (\n <VSlider\n class=\"v-color-picker-preview__track v-color-picker-preview__alpha\"\n modelValue={ props.color?.a ?? 1 }\n onUpdate:modelValue={ a => emit('update:color', { ...(props.color ?? nullColor), a }) }\n step={ 1 / 256 }\n min={ 0 }\n max={ 1 }\n disabled={ props.disabled }\n thumbSize={ 14 }\n trackSize={ 8 }\n trackFillColor=\"white\"\n hideDetails\n />\n )}\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VColorPickerPreview = InstanceType<typeof VColorPickerPreview>\n"],"mappings":"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"}
@@ -66,3 +66,7 @@
66
66
  align-items: center
67
67
  display: flex
68
68
  margin-bottom: $color-picker-preview-margin-bottom
69
+
70
+ .v-color-picker-preview__eye-dropper
71
+ position: relative
72
+ margin-right: $color-picker-preview-dropper-margin
@@ -26,3 +26,4 @@ $color-picker-canvas-dot-size: 15px !default;
26
26
  // VColorPickerPreview
27
27
  $color-picker-preview-dot-size: 30px !default;
28
28
  $color-picker-preview-dot-margin: 24px !default;
29
+ $color-picker-preview-dropper-margin: 12px !default;
@@ -12,6 +12,10 @@ import { convertToUnit, genericComponent, propsFactory, SUPPORTS_INTERSECTION, u
12
12
  export const makeVImgProps = propsFactory({
13
13
  alt: String,
14
14
  cover: Boolean,
15
+ draggable: {
16
+ type: [Boolean, String],
17
+ default: undefined
18
+ },
15
19
  eager: Boolean,
16
20
  gradient: String,
17
21
  lazySrc: String,
@@ -158,6 +162,7 @@ export const VImg = genericComponent()({
158
162
  "alt": props.alt,
159
163
  "crossorigin": props.crossorigin,
160
164
  "referrerpolicy": props.referrerpolicy,
165
+ "draggable": props.draggable,
161
166
  "sizes": props.sizes,
162
167
  "ref": image,
163
168
  "onLoad": onLoad,
@@ -181,7 +186,8 @@ export const VImg = genericComponent()({
181
186
  "src": normalisedSrc.value.lazySrc,
182
187
  "alt": props.alt,
183
188
  "crossorigin": props.crossorigin,
184
- "referrerpolicy": props.referrerpolicy
189
+ "referrerpolicy": props.referrerpolicy,
190
+ "draggable": props.draggable
185
191
  }, null)]
186
192
  });
187
193
  const __placeholder = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"VImg.mjs","names":["makeVResponsiveProps","VResponsive","makeComponentProps","makeTransitionProps","MaybeTransition","intersect","computed","nextTick","onBeforeMount","ref","shallowRef","vShow","watch","withDirectives","convertToUnit","genericComponent","propsFactory","SUPPORTS_INTERSECTION","useRender","makeVImgProps","alt","String","cover","Boolean","eager","gradient","lazySrc","options","type","Object","default","root","undefined","rootMargin","threshold","sizes","src","crossorigin","referrerpolicy","srcset","VImg","name","directives","props","emits","loadstart","value","load","error","setup","_ref","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","Number","aspectRatio","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","setTimeout","endsWith","startsWith","containClasses","__image","_createVNode","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","responsiveProps","filterProps","_withDirectives","_mergeProps","class","width","style","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["// Styles\nimport './VImg.sass'\n\n// Components\nimport { makeVResponsiveProps, VResponsive } from '@/components/VResponsive/VResponsive'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n shallowRef,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n propsFactory,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: never\n placeholder: never\n error: never\n sources: never\n}\n\nexport const makeVImgProps = propsFactory({\n alt: String,\n cover: Boolean,\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n crossorigin: String as PropType<'' | 'anonymous' | 'use-credentials'>,\n referrerpolicy: String as PropType<\n | 'no-referrer'\n | 'no-referrer-when-downgrade'\n | 'origin'\n | 'origin-when-cross-origin'\n | 'same-origin'\n | 'strict-origin'\n | 'strict-origin-when-cross-origin'\n | 'unsafe-url'\n >,\n srcset: String,\n\n ...makeVResponsiveProps(),\n ...makeComponentProps(),\n ...makeTransitionProps(),\n}, 'VImg')\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: makeVImgProps(),\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = shallowRef('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = shallowRef<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = shallowRef<number>()\n const naturalHeight = shallowRef<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n crossorigin={ props.crossorigin }\n referrerpolicy={ props.referrerpolicy }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n crossorigin={ props.crossorigin }\n referrerpolicy={ props.referrerpolicy }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = shallowRef(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => {\n const [responsiveProps] = VResponsive.filterProps(props)\n return (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n props.class,\n ]}\n style={[\n { width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) },\n props.style,\n ]}\n { ...responsiveProps }\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n )\n })\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VImg.mjs","names":["makeVResponsiveProps","VResponsive","makeComponentProps","makeTransitionProps","MaybeTransition","intersect","computed","nextTick","onBeforeMount","ref","shallowRef","vShow","watch","withDirectives","convertToUnit","genericComponent","propsFactory","SUPPORTS_INTERSECTION","useRender","makeVImgProps","alt","String","cover","Boolean","draggable","type","default","undefined","eager","gradient","lazySrc","options","Object","root","rootMargin","threshold","sizes","src","crossorigin","referrerpolicy","srcset","VImg","name","directives","props","emits","loadstart","value","load","error","setup","_ref","emit","slots","currentSrc","image","state","naturalWidth","naturalHeight","normalisedSrc","aspect","Number","aspectRatio","init","val","oldVal","pollForSize","isIntersecting","lazyImg","Image","complete","onError","onLoad","getSrc","img","timer","timeout","arguments","length","poll","clearTimeout","imgHeight","imgWidth","window","setTimeout","endsWith","startsWith","containClasses","__image","_createVNode","sources","transition","__preloadImage","__placeholder","placeholder","__error","__gradient","backgroundImage","isBooted","stop","requestAnimationFrame","responsiveProps","filterProps","_withDirectives","_mergeProps","class","width","style","additional","_Fragment","_resolveDirective","handler","once"],"sources":["../../../src/components/VImg/VImg.tsx"],"sourcesContent":["// Styles\nimport './VImg.sass'\n\n// Components\nimport { makeVResponsiveProps, VResponsive } from '@/components/VResponsive/VResponsive'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Directives\nimport intersect from '@/directives/intersect'\n\n// Utilities\nimport {\n computed,\n nextTick,\n onBeforeMount,\n ref,\n shallowRef,\n vShow,\n watch,\n withDirectives,\n} from 'vue'\nimport {\n convertToUnit,\n genericComponent,\n propsFactory,\n SUPPORTS_INTERSECTION,\n useRender,\n} from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// not intended for public use, this is passed in by vuetify-loader\nexport interface srcObject {\n src?: string\n srcset?: string\n lazySrc?: string\n aspect: number\n}\n\nexport type VImgSlots = {\n default: never\n placeholder: never\n error: never\n sources: never\n}\n\nexport const makeVImgProps = propsFactory({\n alt: String,\n cover: Boolean,\n draggable: {\n type: [Boolean, String] as PropType<boolean | 'true' | 'false'>,\n default: undefined,\n },\n eager: Boolean,\n gradient: String,\n lazySrc: String,\n options: {\n type: Object as PropType<IntersectionObserverInit>,\n // For more information on types, navigate to:\n // https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API\n default: () => ({\n root: undefined,\n rootMargin: undefined,\n threshold: undefined,\n }),\n },\n sizes: String,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n crossorigin: String as PropType<'' | 'anonymous' | 'use-credentials'>,\n referrerpolicy: String as PropType<\n | 'no-referrer'\n | 'no-referrer-when-downgrade'\n | 'origin'\n | 'origin-when-cross-origin'\n | 'same-origin'\n | 'strict-origin'\n | 'strict-origin-when-cross-origin'\n | 'unsafe-url'\n >,\n srcset: String,\n\n ...makeVResponsiveProps(),\n ...makeComponentProps(),\n ...makeTransitionProps(),\n}, 'VImg')\n\nexport const VImg = genericComponent<VImgSlots>()({\n name: 'VImg',\n\n directives: { intersect },\n\n props: makeVImgProps(),\n\n emits: {\n loadstart: (value: string | undefined) => true,\n load: (value: string | undefined) => true,\n error: (value: string | undefined) => true,\n },\n\n setup (props, { emit, slots }) {\n const currentSrc = shallowRef('') // Set from srcset\n const image = ref<HTMLImageElement>()\n const state = shallowRef<'idle' | 'loading' | 'loaded' | 'error'>(props.eager ? 'loading' : 'idle')\n const naturalWidth = shallowRef<number>()\n const naturalHeight = shallowRef<number>()\n\n const normalisedSrc = computed<srcObject>(() => {\n return props.src && typeof props.src === 'object'\n ? {\n src: props.src.src,\n srcset: props.srcset || props.src.srcset,\n lazySrc: props.lazySrc || props.src.lazySrc,\n aspect: Number(props.aspectRatio || props.src.aspect || 0),\n } : {\n src: props.src,\n srcset: props.srcset,\n lazySrc: props.lazySrc,\n aspect: Number(props.aspectRatio || 0),\n }\n })\n const aspectRatio = computed(() => {\n return normalisedSrc.value.aspect || naturalWidth.value! / naturalHeight.value! || 0\n })\n\n watch(() => props.src, () => {\n init(state.value !== 'idle')\n })\n watch(aspectRatio, (val, oldVal) => {\n if (!val && oldVal && image.value) {\n pollForSize(image.value)\n }\n })\n\n // TODO: getSrc when window width changes\n\n onBeforeMount(() => init())\n\n function init (isIntersecting?: boolean) {\n if (props.eager && isIntersecting) return\n if (\n SUPPORTS_INTERSECTION &&\n !isIntersecting &&\n !props.eager\n ) return\n\n state.value = 'loading'\n\n if (normalisedSrc.value.lazySrc) {\n const lazyImg = new Image()\n lazyImg.src = normalisedSrc.value.lazySrc\n pollForSize(lazyImg, null)\n }\n\n if (!normalisedSrc.value.src) return\n\n nextTick(() => {\n emit('loadstart', image.value?.currentSrc || normalisedSrc.value.src)\n\n if (image.value?.complete) {\n if (!image.value.naturalWidth) {\n onError()\n }\n\n if (state.value === 'error') return\n\n if (!aspectRatio.value) pollForSize(image.value, null)\n onLoad()\n } else {\n if (!aspectRatio.value) pollForSize(image.value!)\n getSrc()\n }\n })\n }\n\n function onLoad () {\n getSrc()\n state.value = 'loaded'\n emit('load', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function onError () {\n state.value = 'error'\n emit('error', image.value?.currentSrc || normalisedSrc.value.src)\n }\n\n function getSrc () {\n const img = image.value\n if (img) currentSrc.value = img.currentSrc || img.src\n }\n\n let timer = -1\n function pollForSize (img: HTMLImageElement, timeout: number | null = 100) {\n const poll = () => {\n clearTimeout(timer)\n const { naturalHeight: imgHeight, naturalWidth: imgWidth } = img\n\n if (imgHeight || imgWidth) {\n naturalWidth.value = imgWidth\n naturalHeight.value = imgHeight\n } else if (!img.complete && state.value === 'loading' && timeout != null) {\n timer = window.setTimeout(poll, timeout)\n } else if (img.currentSrc.endsWith('.svg') || img.currentSrc.startsWith('data:image/svg+xml')) {\n naturalWidth.value = 1\n naturalHeight.value = 1\n }\n }\n\n poll()\n }\n\n const containClasses = computed(() => ({\n 'v-img__img--cover': props.cover,\n 'v-img__img--contain': !props.cover,\n }))\n\n const __image = () => {\n if (!normalisedSrc.value.src || state.value === 'idle') return null\n\n const img = (\n <img\n class={['v-img__img', containClasses.value]}\n src={ normalisedSrc.value.src }\n srcset={ normalisedSrc.value.srcset }\n alt={ props.alt }\n crossorigin={ props.crossorigin }\n referrerpolicy={ props.referrerpolicy }\n draggable={ props.draggable }\n sizes={ props.sizes }\n ref={ image }\n onLoad={ onLoad }\n onError={ onError }\n />\n )\n\n const sources = slots.sources?.()\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n {\n withDirectives(\n sources\n ? <picture class=\"v-img__picture\">{ sources }{ img }</picture>\n : img,\n [[vShow, state.value === 'loaded']]\n )\n }\n </MaybeTransition>\n )\n }\n\n const __preloadImage = () => (\n <MaybeTransition transition={ props.transition }>\n { normalisedSrc.value.lazySrc && state.value !== 'loaded' && (\n <img\n class={['v-img__img', 'v-img__img--preload', containClasses.value]}\n src={ normalisedSrc.value.lazySrc }\n alt={ props.alt }\n crossorigin={ props.crossorigin }\n referrerpolicy={ props.referrerpolicy }\n draggable={ props.draggable }\n />\n )}\n </MaybeTransition>\n )\n\n const __placeholder = () => {\n if (!slots.placeholder) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { (state.value === 'loading' || (state.value === 'error' && !slots.error)) &&\n <div class=\"v-img__placeholder\">{ slots.placeholder() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __error = () => {\n if (!slots.error) return null\n\n return (\n <MaybeTransition transition={ props.transition } appear>\n { state.value === 'error' &&\n <div class=\"v-img__error\">{ slots.error() }</div>\n }\n </MaybeTransition>\n )\n }\n\n const __gradient = () => {\n if (!props.gradient) return null\n\n return <div class=\"v-img__gradient\" style={{ backgroundImage: `linear-gradient(${props.gradient})` }} />\n }\n\n const isBooted = shallowRef(false)\n {\n const stop = watch(aspectRatio, val => {\n if (val) {\n // Doesn't work with nextTick, idk why\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n isBooted.value = true\n })\n })\n stop()\n }\n })\n }\n\n useRender(() => {\n const [responsiveProps] = VResponsive.filterProps(props)\n return (\n <VResponsive\n class={[\n 'v-img',\n { 'v-img--booting': !isBooted.value },\n props.class,\n ]}\n style={[\n { width: convertToUnit(props.width === 'auto' ? naturalWidth.value : props.width) },\n props.style,\n ]}\n { ...responsiveProps }\n aspectRatio={ aspectRatio.value }\n aria-label={ props.alt }\n role={ props.alt ? 'img' : undefined }\n v-intersect={[{\n handler: init,\n options: props.options,\n }, null, ['once']]}\n >{{\n additional: () => (\n <>\n <__image />\n <__preloadImage />\n <__gradient />\n <__placeholder />\n <__error />\n </>\n ),\n default: slots.default,\n }}</VResponsive>\n )\n })\n\n return {\n currentSrc,\n image,\n state,\n naturalWidth,\n naturalHeight,\n }\n },\n})\n\nexport type VImg = InstanceType<typeof VImg>\n"],"mappings":"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"}
@@ -21,6 +21,7 @@ declare const VImg: {
21
21
  component?: vue.Component | undefined;
22
22
  }) | undefined;
23
23
  style?: vue.StyleValue | undefined;
24
+ draggable?: boolean | "false" | "true" | undefined;
24
25
  eager?: boolean | undefined;
25
26
  options?: IntersectionObserverInit | undefined;
26
27
  cover?: boolean | undefined;
@@ -145,6 +146,7 @@ declare const VImg: {
145
146
  maxWidth?: string | number | undefined;
146
147
  minHeight?: string | number | undefined;
147
148
  minWidth?: string | number | undefined;
149
+ draggable?: boolean | "false" | "true" | undefined;
148
150
  class?: any;
149
151
  referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
150
152
  alt?: string | undefined;
@@ -192,6 +194,7 @@ declare const VImg: {
192
194
  component?: vue.Component | undefined;
193
195
  });
194
196
  style: vue.StyleValue;
197
+ draggable: boolean | "false" | "true";
195
198
  eager: boolean;
196
199
  options: IntersectionObserverInit;
197
200
  cover: boolean;
@@ -247,6 +250,7 @@ declare const VImg: {
247
250
  maxWidth?: string | number | undefined;
248
251
  minHeight?: string | number | undefined;
249
252
  minWidth?: string | number | undefined;
253
+ draggable?: boolean | "false" | "true" | undefined;
250
254
  class?: any;
251
255
  referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
252
256
  alt?: string | undefined;
@@ -306,6 +310,7 @@ declare const VImg: {
306
310
  maxWidth?: string | number | undefined;
307
311
  minHeight?: string | number | undefined;
308
312
  minWidth?: string | number | undefined;
313
+ draggable?: boolean | "false" | "true" | undefined;
309
314
  class?: any;
310
315
  referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
311
316
  alt?: string | undefined;
@@ -353,6 +358,7 @@ declare const VImg: {
353
358
  component?: vue.Component | undefined;
354
359
  });
355
360
  style: vue.StyleValue;
361
+ draggable: boolean | "false" | "true";
356
362
  eager: boolean;
357
363
  options: IntersectionObserverInit;
358
364
  cover: boolean;
@@ -394,6 +400,10 @@ declare const VImg: {
394
400
  inline: BooleanConstructor;
395
401
  alt: StringConstructor;
396
402
  cover: BooleanConstructor;
403
+ draggable: {
404
+ type: PropType<boolean | "false" | "true">;
405
+ default: undefined;
406
+ };
397
407
  eager: BooleanConstructor;
398
408
  gradient: StringConstructor;
399
409
  lazySrc: StringConstructor;
@@ -437,6 +447,10 @@ declare const VImg: {
437
447
  inline: BooleanConstructor;
438
448
  alt: StringConstructor;
439
449
  cover: BooleanConstructor;
450
+ draggable: {
451
+ type: PropType<boolean | "false" | "true">;
452
+ default: undefined;
453
+ };
440
454
  eager: BooleanConstructor;
441
455
  gradient: StringConstructor;
442
456
  lazySrc: StringConstructor;
@@ -12934,6 +12934,7 @@ declare const VImg: {
12934
12934
  component?: vue.Component | undefined;
12935
12935
  }) | undefined;
12936
12936
  style?: vue.StyleValue | undefined;
12937
+ draggable?: boolean | "false" | "true" | undefined;
12937
12938
  eager?: boolean | undefined;
12938
12939
  options?: IntersectionObserverInit | undefined;
12939
12940
  cover?: boolean | undefined;
@@ -13058,6 +13059,7 @@ declare const VImg: {
13058
13059
  maxWidth?: string | number | undefined;
13059
13060
  minHeight?: string | number | undefined;
13060
13061
  minWidth?: string | number | undefined;
13062
+ draggable?: boolean | "false" | "true" | undefined;
13061
13063
  class?: any;
13062
13064
  referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
13063
13065
  alt?: string | undefined;
@@ -13105,6 +13107,7 @@ declare const VImg: {
13105
13107
  component?: vue.Component | undefined;
13106
13108
  });
13107
13109
  style: vue.StyleValue;
13110
+ draggable: boolean | "false" | "true";
13108
13111
  eager: boolean;
13109
13112
  options: IntersectionObserverInit;
13110
13113
  cover: boolean;
@@ -13160,6 +13163,7 @@ declare const VImg: {
13160
13163
  maxWidth?: string | number | undefined;
13161
13164
  minHeight?: string | number | undefined;
13162
13165
  minWidth?: string | number | undefined;
13166
+ draggable?: boolean | "false" | "true" | undefined;
13163
13167
  class?: any;
13164
13168
  referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
13165
13169
  alt?: string | undefined;
@@ -13219,6 +13223,7 @@ declare const VImg: {
13219
13223
  maxWidth?: string | number | undefined;
13220
13224
  minHeight?: string | number | undefined;
13221
13225
  minWidth?: string | number | undefined;
13226
+ draggable?: boolean | "false" | "true" | undefined;
13222
13227
  class?: any;
13223
13228
  referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
13224
13229
  alt?: string | undefined;
@@ -13266,6 +13271,7 @@ declare const VImg: {
13266
13271
  component?: vue.Component | undefined;
13267
13272
  });
13268
13273
  style: vue.StyleValue;
13274
+ draggable: boolean | "false" | "true";
13269
13275
  eager: boolean;
13270
13276
  options: IntersectionObserverInit;
13271
13277
  cover: boolean;
@@ -13307,6 +13313,10 @@ declare const VImg: {
13307
13313
  inline: BooleanConstructor;
13308
13314
  alt: StringConstructor;
13309
13315
  cover: BooleanConstructor;
13316
+ draggable: {
13317
+ type: PropType<boolean | "false" | "true">;
13318
+ default: undefined;
13319
+ };
13310
13320
  eager: BooleanConstructor;
13311
13321
  gradient: StringConstructor;
13312
13322
  lazySrc: StringConstructor;
@@ -13350,6 +13360,10 @@ declare const VImg: {
13350
13360
  inline: BooleanConstructor;
13351
13361
  alt: StringConstructor;
13352
13362
  cover: BooleanConstructor;
13363
+ draggable: {
13364
+ type: PropType<boolean | "false" | "true">;
13365
+ default: undefined;
13366
+ };
13353
13367
  eager: BooleanConstructor;
13354
13368
  gradient: StringConstructor;
13355
13369
  lazySrc: StringConstructor;
@@ -13380,6 +13394,7 @@ declare const VCarouselItem: {
13380
13394
  inline?: boolean | undefined;
13381
13395
  transition?: string | boolean | undefined;
13382
13396
  style?: vue.StyleValue | undefined;
13397
+ draggable?: boolean | "false" | "true" | undefined;
13383
13398
  eager?: boolean | undefined;
13384
13399
  disabled?: boolean | undefined;
13385
13400
  options?: IntersectionObserverInit | undefined;
@@ -13505,6 +13520,7 @@ declare const VCarouselItem: {
13505
13520
  minWidth?: string | number | undefined;
13506
13521
  transition?: string | boolean | undefined;
13507
13522
  value?: any;
13523
+ draggable?: boolean | "false" | "true" | undefined;
13508
13524
  class?: any;
13509
13525
  referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
13510
13526
  alt?: string | undefined;
@@ -13538,6 +13554,7 @@ declare const VCarouselItem: {
13538
13554
  inline: boolean;
13539
13555
  transition: string | boolean;
13540
13556
  style: vue.StyleValue;
13557
+ draggable: boolean | "false" | "true";
13541
13558
  eager: boolean;
13542
13559
  disabled: boolean;
13543
13560
  options: IntersectionObserverInit;
@@ -13595,6 +13612,7 @@ declare const VCarouselItem: {
13595
13612
  minWidth?: string | number | undefined;
13596
13613
  transition?: string | boolean | undefined;
13597
13614
  value?: any;
13615
+ draggable?: boolean | "false" | "true" | undefined;
13598
13616
  class?: any;
13599
13617
  referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
13600
13618
  alt?: string | undefined;
@@ -13646,6 +13664,7 @@ declare const VCarouselItem: {
13646
13664
  minWidth?: string | number | undefined;
13647
13665
  transition?: string | boolean | undefined;
13648
13666
  value?: any;
13667
+ draggable?: boolean | "false" | "true" | undefined;
13649
13668
  class?: any;
13650
13669
  referrerpolicy?: "origin" | "same-origin" | "no-referrer" | "no-referrer-when-downgrade" | "origin-when-cross-origin" | "strict-origin" | "strict-origin-when-cross-origin" | "unsafe-url" | undefined;
13651
13670
  alt?: string | undefined;
@@ -13679,6 +13698,7 @@ declare const VCarouselItem: {
13679
13698
  inline: boolean;
13680
13699
  transition: string | boolean;
13681
13700
  style: vue.StyleValue;
13701
+ draggable: boolean | "false" | "true";
13682
13702
  eager: boolean;
13683
13703
  disabled: boolean;
13684
13704
  options: IntersectionObserverInit;
@@ -13727,6 +13747,10 @@ declare const VCarouselItem: {
13727
13747
  inline: BooleanConstructor;
13728
13748
  alt: StringConstructor;
13729
13749
  cover: BooleanConstructor;
13750
+ draggable: {
13751
+ type: vue.PropType<boolean | "false" | "true">;
13752
+ default: undefined;
13753
+ };
13730
13754
  gradient: StringConstructor;
13731
13755
  lazySrc: StringConstructor;
13732
13756
  options: {
@@ -13774,6 +13798,10 @@ declare const VCarouselItem: {
13774
13798
  inline: BooleanConstructor;
13775
13799
  alt: StringConstructor;
13776
13800
  cover: BooleanConstructor;
13801
+ draggable: {
13802
+ type: vue.PropType<boolean | "false" | "true">;
13803
+ default: undefined;
13804
+ };
13777
13805
  gradient: StringConstructor;
13778
13806
  lazySrc: StringConstructor;
13779
13807
  options: {
@@ -15,7 +15,7 @@ export const createVuetify = function () {
15
15
  ...options
16
16
  });
17
17
  };
18
- export const version = "3.3.11-dev.2023-08-07";
18
+ export const version = "3.3.11-dev.2023-08-09";
19
19
  createVuetify.version = version;
20
20
  export { components, directives };
21
21
  export * from "./composables/index.mjs";
package/lib/framework.mjs CHANGED
@@ -92,7 +92,7 @@ export function createVuetify() {
92
92
  date
93
93
  };
94
94
  }
95
- export const version = "3.3.11-dev.2023-08-07";
95
+ export const version = "3.3.11-dev.2023-08-09";
96
96
  createVuetify.version = version;
97
97
 
98
98
  // Vue's inject() can only be used in setup
@@ -40,7 +40,8 @@ const aliases = {
40
40
  file: 'fas fa-paperclip',
41
41
  plus: 'fas fa-plus',
42
42
  minus: 'fas fa-minus',
43
- calendar: 'fas fa-calendar'
43
+ calendar: 'fas fa-calendar',
44
+ eyeDropper: 'fas fa-eye-dropper'
44
45
  };
45
46
  const fa = {
46
47
  component: VClassIcon
@@ -1 +1 @@
1
- {"version":3,"file":"fa.mjs","names":["VClassIcon","aliases","collapse","complete","cancel","close","delete","clear","success","info","warning","error","prev","next","checkboxOn","checkboxOff","checkboxIndeterminate","delimiter","sortAsc","sortDesc","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","loading","first","last","unfold","file","plus","minus","calendar","fa","component"],"sources":["../../src/iconsets/fa.ts"],"sourcesContent":["// Composables\nimport { VClassIcon } from '@/composables/icons'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'fas fa-chevron-up',\n complete: 'fas fa-check',\n cancel: 'fas fa-times-circle',\n close: 'fas fa-times',\n delete: 'fas fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fas fa-times-circle', // delete (e.g. v-chip close)\n success: 'fas fa-check-circle',\n info: 'fas fa-info-circle',\n warning: 'fas fa-exclamation',\n error: 'fas fa-exclamation-triangle',\n prev: 'fas fa-chevron-left',\n next: 'fas fa-chevron-right',\n checkboxOn: 'fas fa-check-square',\n checkboxOff: 'far fa-square', // note 'far'\n checkboxIndeterminate: 'fas fa-minus-square',\n delimiter: 'fas fa-circle', // for carousel\n sortAsc: 'fas fa-arrow-up',\n sortDesc: 'fas fa-arrow-down',\n expand: 'fas fa-chevron-down',\n menu: 'fas fa-bars',\n subgroup: 'fas fa-caret-down',\n dropdown: 'fas fa-caret-down',\n radioOn: 'far fa-dot-circle',\n radioOff: 'far fa-circle',\n edit: 'fas fa-edit',\n ratingEmpty: 'far fa-star',\n ratingFull: 'fas fa-star',\n ratingHalf: 'fas fa-star-half',\n loading: 'fas fa-sync',\n first: 'fas fa-step-backward',\n last: 'fas fa-step-forward',\n unfold: 'fas fa-arrows-alt-v',\n file: 'fas fa-paperclip',\n plus: 'fas fa-plus',\n minus: 'fas fa-minus',\n calendar: 'fas fa-calendar',\n}\n\nconst fa: IconSet = {\n component: VClassIcon,\n}\n\nexport { aliases, fa }\n"],"mappings":"AAAA;AAAA,SACSA,UAAU,oCAEnB;AAGA,MAAMC,OAAoB,GAAG;EAC3BC,QAAQ,EAAE,mBAAmB;EAC7BC,QAAQ,EAAE,cAAc;EACxBC,MAAM,EAAE,qBAAqB;EAC7BC,KAAK,EAAE,cAAc;EACrBC,MAAM,EAAE,qBAAqB;EAAE;EAC/BC,KAAK,EAAE,qBAAqB;EAAE;EAC9BC,OAAO,EAAE,qBAAqB;EAC9BC,IAAI,EAAE,oBAAoB;EAC1BC,OAAO,EAAE,oBAAoB;EAC7BC,KAAK,EAAE,6BAA6B;EACpCC,IAAI,EAAE,qBAAqB;EAC3BC,IAAI,EAAE,sBAAsB;EAC5BC,UAAU,EAAE,qBAAqB;EACjCC,WAAW,EAAE,eAAe;EAAE;EAC9BC,qBAAqB,EAAE,qBAAqB;EAC5CC,SAAS,EAAE,eAAe;EAAE;EAC5BC,OAAO,EAAE,iBAAiB;EAC1BC,QAAQ,EAAE,mBAAmB;EAC7BC,MAAM,EAAE,qBAAqB;EAC7BC,IAAI,EAAE,aAAa;EACnBC,QAAQ,EAAE,mBAAmB;EAC7BC,QAAQ,EAAE,mBAAmB;EAC7BC,OAAO,EAAE,mBAAmB;EAC5BC,QAAQ,EAAE,eAAe;EACzBC,IAAI,EAAE,aAAa;EACnBC,WAAW,EAAE,aAAa;EAC1BC,UAAU,EAAE,aAAa;EACzBC,UAAU,EAAE,kBAAkB;EAC9BC,OAAO,EAAE,aAAa;EACtBC,KAAK,EAAE,sBAAsB;EAC7BC,IAAI,EAAE,qBAAqB;EAC3BC,MAAM,EAAE,qBAAqB;EAC7BC,IAAI,EAAE,kBAAkB;EACxBC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE,cAAc;EACrBC,QAAQ,EAAE;AACZ,CAAC;AAED,MAAMC,EAAW,GAAG;EAClBC,SAAS,EAAEvC;AACb,CAAC;AAED,SAASC,OAAO,EAAEqC,EAAE"}
1
+ {"version":3,"file":"fa.mjs","names":["VClassIcon","aliases","collapse","complete","cancel","close","delete","clear","success","info","warning","error","prev","next","checkboxOn","checkboxOff","checkboxIndeterminate","delimiter","sortAsc","sortDesc","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","loading","first","last","unfold","file","plus","minus","calendar","eyeDropper","fa","component"],"sources":["../../src/iconsets/fa.ts"],"sourcesContent":["// Composables\nimport { VClassIcon } from '@/composables/icons'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'fas fa-chevron-up',\n complete: 'fas fa-check',\n cancel: 'fas fa-times-circle',\n close: 'fas fa-times',\n delete: 'fas fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fas fa-times-circle', // delete (e.g. v-chip close)\n success: 'fas fa-check-circle',\n info: 'fas fa-info-circle',\n warning: 'fas fa-exclamation',\n error: 'fas fa-exclamation-triangle',\n prev: 'fas fa-chevron-left',\n next: 'fas fa-chevron-right',\n checkboxOn: 'fas fa-check-square',\n checkboxOff: 'far fa-square', // note 'far'\n checkboxIndeterminate: 'fas fa-minus-square',\n delimiter: 'fas fa-circle', // for carousel\n sortAsc: 'fas fa-arrow-up',\n sortDesc: 'fas fa-arrow-down',\n expand: 'fas fa-chevron-down',\n menu: 'fas fa-bars',\n subgroup: 'fas fa-caret-down',\n dropdown: 'fas fa-caret-down',\n radioOn: 'far fa-dot-circle',\n radioOff: 'far fa-circle',\n edit: 'fas fa-edit',\n ratingEmpty: 'far fa-star',\n ratingFull: 'fas fa-star',\n ratingHalf: 'fas fa-star-half',\n loading: 'fas fa-sync',\n first: 'fas fa-step-backward',\n last: 'fas fa-step-forward',\n unfold: 'fas fa-arrows-alt-v',\n file: 'fas fa-paperclip',\n plus: 'fas fa-plus',\n minus: 'fas fa-minus',\n calendar: 'fas fa-calendar',\n eyeDropper: 'fas fa-eye-dropper',\n}\n\nconst fa: IconSet = {\n component: VClassIcon,\n}\n\nexport { aliases, fa }\n"],"mappings":"AAAA;AAAA,SACSA,UAAU,oCAEnB;AAGA,MAAMC,OAAoB,GAAG;EAC3BC,QAAQ,EAAE,mBAAmB;EAC7BC,QAAQ,EAAE,cAAc;EACxBC,MAAM,EAAE,qBAAqB;EAC7BC,KAAK,EAAE,cAAc;EACrBC,MAAM,EAAE,qBAAqB;EAAE;EAC/BC,KAAK,EAAE,qBAAqB;EAAE;EAC9BC,OAAO,EAAE,qBAAqB;EAC9BC,IAAI,EAAE,oBAAoB;EAC1BC,OAAO,EAAE,oBAAoB;EAC7BC,KAAK,EAAE,6BAA6B;EACpCC,IAAI,EAAE,qBAAqB;EAC3BC,IAAI,EAAE,sBAAsB;EAC5BC,UAAU,EAAE,qBAAqB;EACjCC,WAAW,EAAE,eAAe;EAAE;EAC9BC,qBAAqB,EAAE,qBAAqB;EAC5CC,SAAS,EAAE,eAAe;EAAE;EAC5BC,OAAO,EAAE,iBAAiB;EAC1BC,QAAQ,EAAE,mBAAmB;EAC7BC,MAAM,EAAE,qBAAqB;EAC7BC,IAAI,EAAE,aAAa;EACnBC,QAAQ,EAAE,mBAAmB;EAC7BC,QAAQ,EAAE,mBAAmB;EAC7BC,OAAO,EAAE,mBAAmB;EAC5BC,QAAQ,EAAE,eAAe;EACzBC,IAAI,EAAE,aAAa;EACnBC,WAAW,EAAE,aAAa;EAC1BC,UAAU,EAAE,aAAa;EACzBC,UAAU,EAAE,kBAAkB;EAC9BC,OAAO,EAAE,aAAa;EACtBC,KAAK,EAAE,sBAAsB;EAC7BC,IAAI,EAAE,qBAAqB;EAC3BC,MAAM,EAAE,qBAAqB;EAC7BC,IAAI,EAAE,kBAAkB;EACxBC,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAE,cAAc;EACrBC,QAAQ,EAAE,iBAAiB;EAC3BC,UAAU,EAAE;AACd,CAAC;AAED,MAAMC,EAAW,GAAG;EAClBC,SAAS,EAAExC;AACb,CAAC;AAED,SAASC,OAAO,EAAEsC,EAAE"}
@@ -43,7 +43,8 @@ const aliases = {
43
43
  file: 'fa-paperclip',
44
44
  plus: 'fa-plus',
45
45
  minus: 'fa-minus',
46
- calendar: 'fa-calendar'
46
+ calendar: 'fa-calendar',
47
+ eyeDropper: 'fa-eye-dropper'
47
48
  };
48
49
  const fa = {
49
50
  // Not using mergeProps here, functional components merge props by default (?)
@@ -1 +1 @@
1
- {"version":3,"file":"fa4.mjs","names":["VClassIcon","h","aliases","collapse","complete","cancel","close","delete","clear","success","info","warning","error","prev","next","checkboxOn","checkboxOff","checkboxIndeterminate","delimiter","sortAsc","sortDesc","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","loading","first","last","unfold","file","plus","minus","calendar","fa","component","props","class"],"sources":["../../src/iconsets/fa4.ts"],"sourcesContent":["// Composables\nimport { VClassIcon } from '@/composables/icons'\n\n// Utilities\nimport { h } from 'vue'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'fa-chevron-up',\n complete: 'fa-check',\n cancel: 'fa-times-circle',\n close: 'fa-times',\n delete: 'fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fa-check-circle', // delete (e.g. v-chip close)\n success: 'fa-check-circle',\n info: 'fa-info-circle',\n warning: 'fa-exclamation',\n error: 'fa-exclamation-triangle',\n prev: 'fa-chevron-left',\n next: 'fa-chevron-right',\n checkboxOn: 'fa-check-square',\n checkboxOff: 'fa-square-o',\n checkboxIndeterminate: 'fa-minus-square',\n delimiter: 'fa-circle', // for carousel\n sortAsc: 'fa-arrow-up',\n sortDesc: 'fa-arrow-down',\n expand: 'fa-chevron-down',\n menu: 'fa-bars',\n subgroup: 'fa-caret-down',\n dropdown: 'fa-caret-down',\n radioOn: 'fa-dot-circle-o',\n radioOff: 'fa-circle-o',\n edit: 'fa-pencil',\n ratingEmpty: 'fa-star-o',\n ratingFull: 'fa-star',\n ratingHalf: 'fa-star-half-o',\n loading: 'fa-refresh',\n first: 'fa-step-backward',\n last: 'fa-step-forward',\n unfold: 'fa-angle-double-down',\n file: 'fa-paperclip',\n plus: 'fa-plus',\n minus: 'fa-minus',\n calendar: 'fa-calendar',\n}\n\nconst fa: IconSet = {\n // Not using mergeProps here, functional components merge props by default (?)\n component: props => h(VClassIcon, { ...props, class: 'fa' }),\n}\n\nexport { aliases, fa }\n"],"mappings":"AAAA;AAAA,SACSA,UAAU,oCAEnB;AACA,SAASC,CAAC,QAAQ,KAAK;;AAEvB;;AAGA,MAAMC,OAAoB,GAAG;EAC3BC,QAAQ,EAAE,eAAe;EACzBC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,iBAAiB;EACzBC,KAAK,EAAE,UAAU;EACjBC,MAAM,EAAE,iBAAiB;EAAE;EAC3BC,KAAK,EAAE,iBAAiB;EAAE;EAC1BC,OAAO,EAAE,iBAAiB;EAC1BC,IAAI,EAAE,gBAAgB;EACtBC,OAAO,EAAE,gBAAgB;EACzBC,KAAK,EAAE,yBAAyB;EAChCC,IAAI,EAAE,iBAAiB;EACvBC,IAAI,EAAE,kBAAkB;EACxBC,UAAU,EAAE,iBAAiB;EAC7BC,WAAW,EAAE,aAAa;EAC1BC,qBAAqB,EAAE,iBAAiB;EACxCC,SAAS,EAAE,WAAW;EAAE;EACxBC,OAAO,EAAE,aAAa;EACtBC,QAAQ,EAAE,eAAe;EACzBC,MAAM,EAAE,iBAAiB;EACzBC,IAAI,EAAE,SAAS;EACfC,QAAQ,EAAE,eAAe;EACzBC,QAAQ,EAAE,eAAe;EACzBC,OAAO,EAAE,iBAAiB;EAC1BC,QAAQ,EAAE,aAAa;EACvBC,IAAI,EAAE,WAAW;EACjBC,WAAW,EAAE,WAAW;EACxBC,UAAU,EAAE,SAAS;EACrBC,UAAU,EAAE,gBAAgB;EAC5BC,OAAO,EAAE,YAAY;EACrBC,KAAK,EAAE,kBAAkB;EACzBC,IAAI,EAAE,iBAAiB;EACvBC,MAAM,EAAE,sBAAsB;EAC9BC,IAAI,EAAE,cAAc;EACpBC,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE,UAAU;EACjBC,QAAQ,EAAE;AACZ,CAAC;AAED,MAAMC,EAAW,GAAG;EAClB;EACAC,SAAS,EAAEC,KAAK,IAAIxC,CAAC,CAACD,UAAU,EAAE;IAAE,GAAGyC,KAAK;IAAEC,KAAK,EAAE;EAAK,CAAC;AAC7D,CAAC;AAED,SAASxC,OAAO,EAAEqC,EAAE"}
1
+ {"version":3,"file":"fa4.mjs","names":["VClassIcon","h","aliases","collapse","complete","cancel","close","delete","clear","success","info","warning","error","prev","next","checkboxOn","checkboxOff","checkboxIndeterminate","delimiter","sortAsc","sortDesc","expand","menu","subgroup","dropdown","radioOn","radioOff","edit","ratingEmpty","ratingFull","ratingHalf","loading","first","last","unfold","file","plus","minus","calendar","eyeDropper","fa","component","props","class"],"sources":["../../src/iconsets/fa4.ts"],"sourcesContent":["// Composables\nimport { VClassIcon } from '@/composables/icons'\n\n// Utilities\nimport { h } from 'vue'\n\n// Types\nimport type { IconAliases, IconSet } from '@/composables/icons'\n\nconst aliases: IconAliases = {\n collapse: 'fa-chevron-up',\n complete: 'fa-check',\n cancel: 'fa-times-circle',\n close: 'fa-times',\n delete: 'fa-times-circle', // delete (e.g. v-chip close)\n clear: 'fa-check-circle', // delete (e.g. v-chip close)\n success: 'fa-check-circle',\n info: 'fa-info-circle',\n warning: 'fa-exclamation',\n error: 'fa-exclamation-triangle',\n prev: 'fa-chevron-left',\n next: 'fa-chevron-right',\n checkboxOn: 'fa-check-square',\n checkboxOff: 'fa-square-o',\n checkboxIndeterminate: 'fa-minus-square',\n delimiter: 'fa-circle', // for carousel\n sortAsc: 'fa-arrow-up',\n sortDesc: 'fa-arrow-down',\n expand: 'fa-chevron-down',\n menu: 'fa-bars',\n subgroup: 'fa-caret-down',\n dropdown: 'fa-caret-down',\n radioOn: 'fa-dot-circle-o',\n radioOff: 'fa-circle-o',\n edit: 'fa-pencil',\n ratingEmpty: 'fa-star-o',\n ratingFull: 'fa-star',\n ratingHalf: 'fa-star-half-o',\n loading: 'fa-refresh',\n first: 'fa-step-backward',\n last: 'fa-step-forward',\n unfold: 'fa-angle-double-down',\n file: 'fa-paperclip',\n plus: 'fa-plus',\n minus: 'fa-minus',\n calendar: 'fa-calendar',\n eyeDropper: 'fa-eye-dropper',\n}\n\nconst fa: IconSet = {\n // Not using mergeProps here, functional components merge props by default (?)\n component: props => h(VClassIcon, { ...props, class: 'fa' }),\n}\n\nexport { aliases, fa }\n"],"mappings":"AAAA;AAAA,SACSA,UAAU,oCAEnB;AACA,SAASC,CAAC,QAAQ,KAAK;;AAEvB;;AAGA,MAAMC,OAAoB,GAAG;EAC3BC,QAAQ,EAAE,eAAe;EACzBC,QAAQ,EAAE,UAAU;EACpBC,MAAM,EAAE,iBAAiB;EACzBC,KAAK,EAAE,UAAU;EACjBC,MAAM,EAAE,iBAAiB;EAAE;EAC3BC,KAAK,EAAE,iBAAiB;EAAE;EAC1BC,OAAO,EAAE,iBAAiB;EAC1BC,IAAI,EAAE,gBAAgB;EACtBC,OAAO,EAAE,gBAAgB;EACzBC,KAAK,EAAE,yBAAyB;EAChCC,IAAI,EAAE,iBAAiB;EACvBC,IAAI,EAAE,kBAAkB;EACxBC,UAAU,EAAE,iBAAiB;EAC7BC,WAAW,EAAE,aAAa;EAC1BC,qBAAqB,EAAE,iBAAiB;EACxCC,SAAS,EAAE,WAAW;EAAE;EACxBC,OAAO,EAAE,aAAa;EACtBC,QAAQ,EAAE,eAAe;EACzBC,MAAM,EAAE,iBAAiB;EACzBC,IAAI,EAAE,SAAS;EACfC,QAAQ,EAAE,eAAe;EACzBC,QAAQ,EAAE,eAAe;EACzBC,OAAO,EAAE,iBAAiB;EAC1BC,QAAQ,EAAE,aAAa;EACvBC,IAAI,EAAE,WAAW;EACjBC,WAAW,EAAE,WAAW;EACxBC,UAAU,EAAE,SAAS;EACrBC,UAAU,EAAE,gBAAgB;EAC5BC,OAAO,EAAE,YAAY;EACrBC,KAAK,EAAE,kBAAkB;EACzBC,IAAI,EAAE,iBAAiB;EACvBC,MAAM,EAAE,sBAAsB;EAC9BC,IAAI,EAAE,cAAc;EACpBC,IAAI,EAAE,SAAS;EACfC,KAAK,EAAE,UAAU;EACjBC,QAAQ,EAAE,aAAa;EACvBC,UAAU,EAAE;AACd,CAAC;AAED,MAAMC,EAAW,GAAG;EAClB;EACAC,SAAS,EAAEC,KAAK,IAAIzC,CAAC,CAACD,UAAU,EAAE;IAAE,GAAG0C,KAAK;IAAEC,KAAK,EAAE;EAAK,CAAC;AAC7D,CAAC;AAED,SAASzC,OAAO,EAAEsC,EAAE"}
@@ -42,7 +42,8 @@ const aliases = {
42
42
  file: 'attach_file',
43
43
  plus: 'add',
44
44
  minus: 'remove',
45
- calendar: 'event'
45
+ calendar: 'event',
46
+ eyeDropper: 'colorize'
46
47
  };
47
48
  const md = {
48
49
  // Not using mergeProps here, functional components merge props by default (?)