vuetify 3.7.3 → 3.7.5

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 (95) hide show
  1. package/dist/json/attributes.json +5352 -5304
  2. package/dist/json/importMap-labs.json +22 -22
  3. package/dist/json/importMap.json +158 -158
  4. package/dist/json/tags.json +14 -1
  5. package/dist/json/web-types.json +10068 -9980
  6. package/dist/vuetify-labs.css +4693 -4689
  7. package/dist/vuetify-labs.d.ts +204 -207
  8. package/dist/vuetify-labs.esm.js +91 -66
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +91 -66
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +2681 -2677
  13. package/dist/vuetify.d.ts +187 -190
  14. package/dist/vuetify.esm.js +80 -56
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +80 -56
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +50 -50
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -4
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  23. package/lib/components/VAutocomplete/index.d.mts +28 -28
  24. package/lib/components/VBadge/VBadge.css +4 -0
  25. package/lib/components/VBadge/VBadge.sass +4 -0
  26. package/lib/components/VBtn/VBtn.css +2 -2
  27. package/lib/components/VBtn/VBtn.sass +7 -8
  28. package/lib/components/VBtnToggle/VBtnToggle.css +3 -0
  29. package/lib/components/VBtnToggle/VBtnToggle.sass +3 -0
  30. package/lib/components/VChip/VChip.mjs +3 -2
  31. package/lib/components/VChip/VChip.mjs.map +1 -1
  32. package/lib/components/VChip/index.d.mts +9 -9
  33. package/lib/components/VCode/index.mjs +1 -1
  34. package/lib/components/VCode/index.mjs.map +1 -1
  35. package/lib/components/VCombobox/VCombobox.mjs +4 -4
  36. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  37. package/lib/components/VCombobox/index.d.mts +28 -28
  38. package/lib/components/VConfirmEdit/VConfirmEdit.mjs +9 -7
  39. package/lib/components/VConfirmEdit/VConfirmEdit.mjs.map +1 -1
  40. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +1 -1
  41. package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs.map +1 -1
  42. package/lib/components/VConfirmEdit/index.d.mts +3 -7
  43. package/lib/components/VDataTable/VDataTableFooter.mjs.map +1 -1
  44. package/lib/components/VDataTable/index.d.mts +1 -0
  45. package/lib/components/VDatePicker/VDatePickerHeader.mjs +2 -1
  46. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  47. package/lib/components/VDatePicker/index.d.mts +6 -6
  48. package/lib/components/VDialog/VDialog.css +3 -7
  49. package/lib/components/VDialog/VDialog.mjs +8 -1
  50. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  51. package/lib/components/VDialog/VDialog.sass +6 -7
  52. package/lib/components/VField/VField.mjs +2 -1
  53. package/lib/components/VField/VField.mjs.map +1 -1
  54. package/lib/components/VKbd/index.mjs +1 -1
  55. package/lib/components/VKbd/index.mjs.map +1 -1
  56. package/lib/components/VList/VList.mjs +3 -2
  57. package/lib/components/VList/VList.mjs.map +1 -1
  58. package/lib/components/VList/VListItem.css +8 -7
  59. package/lib/components/VList/VListItem.mjs +3 -2
  60. package/lib/components/VList/VListItem.mjs.map +1 -1
  61. package/lib/components/VList/VListItem.sass +16 -10
  62. package/lib/components/VList/_variables.scss +0 -11
  63. package/lib/components/VList/index.d.mts +12 -12
  64. package/lib/components/VMenu/VMenu.mjs +15 -6
  65. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  66. package/lib/components/VSelect/VSelect.mjs +3 -3
  67. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  68. package/lib/components/VSelect/index.d.mts +28 -28
  69. package/lib/components/VStepper/VStepper.mjs +5 -4
  70. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  71. package/lib/components/VStepper/VStepperItem.mjs +5 -4
  72. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  73. package/lib/components/VStepper/index.d.mts +58 -52
  74. package/lib/components/index.d.mts +130 -133
  75. package/lib/composables/form.mjs +7 -2
  76. package/lib/composables/form.mjs.map +1 -1
  77. package/lib/composables/validation.mjs +10 -12
  78. package/lib/composables/validation.mjs.map +1 -1
  79. package/lib/entry-bundler.mjs +1 -1
  80. package/lib/framework.mjs +1 -1
  81. package/lib/index.d.mts +56 -56
  82. package/lib/labs/VDateInput/VDateInput.mjs +1 -1
  83. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  84. package/lib/labs/VNumberInput/VNumberInput.mjs +7 -5
  85. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  86. package/lib/labs/VStepperVertical/index.d.mts +51 -51
  87. package/lib/labs/VTreeview/VTreeviewItem.mjs +3 -4
  88. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  89. package/lib/labs/VTreeview/index.d.mts +22 -22
  90. package/lib/labs/components.d.mts +73 -73
  91. package/lib/locale/el.mjs +0 -0
  92. package/lib/locale/fr.mjs +1 -1
  93. package/lib/locale/fr.mjs.map +1 -1
  94. package/lib/locale/index.mjs +0 -0
  95. package/package.json +2 -2
@@ -382,8 +382,8 @@ declare const VList: {
382
382
  activeColor?: string | undefined;
383
383
  activeClass?: string | undefined;
384
384
  activeStrategy?: ActiveStrategyProp | undefined;
385
- collapseIcon?: string | undefined;
386
- expandIcon?: string | undefined;
385
+ collapseIcon?: IconValue | undefined;
386
+ expandIcon?: IconValue | undefined;
387
387
  } & {
388
388
  "onUpdate:activated"?: ((value: unknown) => any) | undefined;
389
389
  "onClick:activate"?: ((value: {
@@ -454,8 +454,8 @@ declare const VList: {
454
454
  activeColor?: string | undefined;
455
455
  activeClass?: string | undefined;
456
456
  activeStrategy?: ActiveStrategyProp | undefined;
457
- collapseIcon?: string | undefined;
458
- expandIcon?: string | undefined;
457
+ collapseIcon?: IconValue | undefined;
458
+ expandIcon?: IconValue | undefined;
459
459
  } & {
460
460
  "onUpdate:activated"?: ((value: unknown) => any) | undefined;
461
461
  "onClick:activate"?: ((value: {
@@ -552,8 +552,8 @@ declare const VList: {
552
552
  activeColor?: string | undefined;
553
553
  activeClass?: string | undefined;
554
554
  activeStrategy?: ActiveStrategyProp | undefined;
555
- collapseIcon?: string | undefined;
556
- expandIcon?: string | undefined;
555
+ collapseIcon?: IconValue | undefined;
556
+ expandIcon?: IconValue | undefined;
557
557
  } & {
558
558
  "onUpdate:activated"?: ((value: unknown) => any) | undefined;
559
559
  "onClick:activate"?: ((value: {
@@ -628,8 +628,8 @@ declare const VList: {
628
628
  activeColor?: string | undefined;
629
629
  activeClass?: string | undefined;
630
630
  activeStrategy?: ActiveStrategyProp | undefined;
631
- collapseIcon?: string | undefined;
632
- expandIcon?: string | undefined;
631
+ collapseIcon?: IconValue | undefined;
632
+ expandIcon?: IconValue | undefined;
633
633
  } & {
634
634
  "onUpdate:activated"?: ((value: unknown) => any) | undefined;
635
635
  "onClick:activate"?: ((value: {
@@ -818,8 +818,8 @@ declare const VList: {
818
818
  activeClass: StringConstructor;
819
819
  bgColor: StringConstructor;
820
820
  disabled: BooleanConstructor;
821
- expandIcon: StringConstructor;
822
- collapseIcon: StringConstructor;
821
+ expandIcon: PropType<IconValue>;
822
+ collapseIcon: PropType<IconValue>;
823
823
  lines: {
824
824
  type: PropType<"one" | "two" | "three" | false>;
825
825
  default: string;
@@ -927,8 +927,8 @@ declare const VList: {
927
927
  activeClass: StringConstructor;
928
928
  bgColor: StringConstructor;
929
929
  disabled: BooleanConstructor;
930
- expandIcon: StringConstructor;
931
- collapseIcon: StringConstructor;
930
+ expandIcon: PropType<IconValue>;
931
+ collapseIcon: PropType<IconValue>;
932
932
  lines: {
933
933
  type: PropType<"one" | "two" | "three" | false>;
934
934
  default: string;
@@ -3191,8 +3191,8 @@ declare const VCombobox: {
3191
3191
  activeColor?: string | undefined;
3192
3192
  activeClass?: string | undefined;
3193
3193
  activeStrategy?: ActiveStrategyProp | undefined;
3194
- collapseIcon?: string | undefined;
3195
- expandIcon?: string | undefined;
3194
+ collapseIcon?: IconValue | undefined;
3195
+ expandIcon?: IconValue | undefined;
3196
3196
  "onUpdate:activated"?: ((value: unknown) => any) | undefined;
3197
3197
  "onClick:activate"?: ((value: {
3198
3198
  id: unknown;
@@ -3236,8 +3236,8 @@ declare const VCombobox: {
3236
3236
  activeColor?: string | undefined;
3237
3237
  activeClass?: string | undefined;
3238
3238
  activeStrategy?: ActiveStrategyProp | undefined;
3239
- collapseIcon?: string | undefined;
3240
- expandIcon?: string | undefined;
3239
+ collapseIcon?: IconValue | undefined;
3240
+ expandIcon?: IconValue | undefined;
3241
3241
  } & {
3242
3242
  "onUpdate:activated"?: ((value: unknown) => any) | undefined;
3243
3243
  "onClick:activate"?: ((value: {
@@ -3686,8 +3686,8 @@ declare const VCombobox: {
3686
3686
  activeColor?: string | undefined;
3687
3687
  activeClass?: string | undefined;
3688
3688
  activeStrategy?: ActiveStrategyProp | undefined;
3689
- collapseIcon?: string | undefined;
3690
- expandIcon?: string | undefined;
3689
+ collapseIcon?: IconValue | undefined;
3690
+ expandIcon?: IconValue | undefined;
3691
3691
  "onUpdate:activated"?: ((value: unknown) => any) | undefined;
3692
3692
  "onClick:activate"?: ((value: {
3693
3693
  id: unknown;
@@ -3731,8 +3731,8 @@ declare const VCombobox: {
3731
3731
  activeColor?: string | undefined;
3732
3732
  activeClass?: string | undefined;
3733
3733
  activeStrategy?: ActiveStrategyProp | undefined;
3734
- collapseIcon?: string | undefined;
3735
- expandIcon?: string | undefined;
3734
+ collapseIcon?: IconValue | undefined;
3735
+ expandIcon?: IconValue | undefined;
3736
3736
  } & {
3737
3737
  "onUpdate:activated"?: ((value: unknown) => any) | undefined;
3738
3738
  "onClick:activate"?: ((value: {
@@ -4265,8 +4265,8 @@ declare const VCombobox: {
4265
4265
  activeColor?: string | undefined;
4266
4266
  activeClass?: string | undefined;
4267
4267
  activeStrategy?: ActiveStrategyProp | undefined;
4268
- collapseIcon?: string | undefined;
4269
- expandIcon?: string | undefined;
4268
+ collapseIcon?: IconValue | undefined;
4269
+ expandIcon?: IconValue | undefined;
4270
4270
  "onUpdate:activated"?: ((value: unknown) => any) | undefined;
4271
4271
  "onClick:activate"?: ((value: {
4272
4272
  id: unknown;
@@ -4310,8 +4310,8 @@ declare const VCombobox: {
4310
4310
  activeColor?: string | undefined;
4311
4311
  activeClass?: string | undefined;
4312
4312
  activeStrategy?: ActiveStrategyProp | undefined;
4313
- collapseIcon?: string | undefined;
4314
- expandIcon?: string | undefined;
4313
+ collapseIcon?: IconValue | undefined;
4314
+ expandIcon?: IconValue | undefined;
4315
4315
  } & {
4316
4316
  "onUpdate:activated"?: ((value: unknown) => any) | undefined;
4317
4317
  "onClick:activate"?: ((value: {
@@ -4809,8 +4809,8 @@ declare const VCombobox: {
4809
4809
  activeColor?: string | undefined;
4810
4810
  activeClass?: string | undefined;
4811
4811
  activeStrategy?: ActiveStrategyProp | undefined;
4812
- collapseIcon?: string | undefined;
4813
- expandIcon?: string | undefined;
4812
+ collapseIcon?: IconValue | undefined;
4813
+ expandIcon?: IconValue | undefined;
4814
4814
  "onUpdate:activated"?: ((value: unknown) => any) | undefined;
4815
4815
  "onClick:activate"?: ((value: {
4816
4816
  id: unknown;
@@ -4854,8 +4854,8 @@ declare const VCombobox: {
4854
4854
  activeColor?: string | undefined;
4855
4855
  activeClass?: string | undefined;
4856
4856
  activeStrategy?: ActiveStrategyProp | undefined;
4857
- collapseIcon?: string | undefined;
4858
- expandIcon?: string | undefined;
4857
+ collapseIcon?: IconValue | undefined;
4858
+ expandIcon?: IconValue | undefined;
4859
4859
  } & {
4860
4860
  "onUpdate:activated"?: ((value: unknown) => any) | undefined;
4861
4861
  "onClick:activate"?: ((value: {
@@ -1,4 +1,4 @@
1
- import { createVNode as _createVNode, Fragment as _Fragment } from "vue";
1
+ import { createVNode as _createVNode, mergeProps as _mergeProps, Fragment as _Fragment } from "vue";
2
2
  // Components
3
3
  import { VBtn } from "../VBtn/index.mjs"; // Composables
4
4
  import { useLocale } from "../../composables/index.mjs";
@@ -49,21 +49,23 @@ export const VConfirmEdit = genericComponent()({
49
49
  internalModel.value = structuredClone(toRaw(model.value));
50
50
  emit('cancel');
51
51
  }
52
- let actionsUsed = false;
53
- useRender(() => {
54
- const actions = _createVNode(_Fragment, null, [_createVNode(VBtn, {
52
+ function actions(actionsProps) {
53
+ return _createVNode(_Fragment, null, [_createVNode(VBtn, _mergeProps({
55
54
  "disabled": isPristine.value,
56
55
  "variant": "text",
57
56
  "color": props.color,
58
57
  "onClick": cancel,
59
58
  "text": t(props.cancelText)
60
- }, null), _createVNode(VBtn, {
59
+ }, actionsProps), null), _createVNode(VBtn, _mergeProps({
61
60
  "disabled": isPristine.value,
62
61
  "variant": "text",
63
62
  "color": props.color,
64
63
  "onClick": save,
65
64
  "text": t(props.okText)
66
- }, null)]);
65
+ }, actionsProps), null)]);
66
+ }
67
+ let actionsUsed = false;
68
+ useRender(() => {
67
69
  return _createVNode(_Fragment, null, [slots.default?.({
68
70
  model: internalModel,
69
71
  save,
@@ -73,7 +75,7 @@ export const VConfirmEdit = genericComponent()({
73
75
  actionsUsed = true;
74
76
  return actions;
75
77
  }
76
- }), !actionsUsed && actions]);
78
+ }), !actionsUsed && actions()]);
77
79
  });
78
80
  return {
79
81
  save,
@@ -1 +1 @@
1
- {"version":3,"file":"VConfirmEdit.mjs","names":["VBtn","useLocale","useProxiedModel","computed","ref","toRaw","watchEffect","deepEqual","genericComponent","propsFactory","useRender","makeVConfirmEditProps","modelValue","color","String","cancelText","type","default","okText","VConfirmEdit","name","props","emits","cancel","save","value","setup","_ref","emit","slots","model","internalModel","structuredClone","t","isPristine","actionsUsed","actions","_createVNode","_Fragment"],"sources":["../../../src/components/VConfirmEdit/VConfirmEdit.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useLocale } from '@/composables'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, toRaw, watchEffect } from 'vue'\nimport { deepEqual, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Ref, VNode } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport type VConfirmEditSlots<T> = {\n default: {\n model: Ref<T>\n save: () => void\n cancel: () => void\n isPristine: boolean\n get actions (): VNode\n }\n}\n\nexport const makeVConfirmEditProps = propsFactory({\n modelValue: null,\n color: String,\n cancelText: {\n type: String,\n default: '$vuetify.confirmEdit.cancel',\n },\n okText: {\n type: String,\n default: '$vuetify.confirmEdit.ok',\n },\n}, 'VConfirmEdit')\n\nexport const VConfirmEdit = genericComponent<new <T> (\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n 'onSave'?: (value: T) => void\n },\n slots: VConfirmEditSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VConfirmEdit',\n\n props: makeVConfirmEditProps(),\n\n emits: {\n cancel: () => true,\n save: (value: any) => true,\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const internalModel = ref()\n watchEffect(() => {\n internalModel.value = structuredClone(toRaw(model.value))\n })\n\n const { t } = useLocale()\n\n const isPristine = computed(() => {\n return deepEqual(model.value, internalModel.value)\n })\n\n function save () {\n model.value = internalModel.value\n emit('save', internalModel.value)\n }\n\n function cancel () {\n internalModel.value = structuredClone(toRaw(model.value))\n emit('cancel')\n }\n\n let actionsUsed = false\n useRender(() => {\n const actions = (\n <>\n <VBtn\n disabled={ isPristine.value }\n variant=\"text\"\n color={ props.color }\n onClick={ cancel }\n text={ t(props.cancelText) }\n />\n\n <VBtn\n disabled={ isPristine.value }\n variant=\"text\"\n color={ props.color }\n onClick={ save }\n text={ t(props.okText) }\n />\n </>\n )\n return (\n <>\n {\n slots.default?.({\n model: internalModel,\n save,\n cancel,\n isPristine: isPristine.value,\n get actions () {\n actionsUsed = true\n return actions\n },\n })\n }\n\n { !actionsUsed && actions }\n </>\n )\n })\n\n return {\n save,\n cancel,\n isPristine,\n }\n },\n})\n\nexport type VConfirmEdit = InstanceType<typeof VConfirmEdit>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VConfirmEdit.mjs","names":["VBtn","useLocale","useProxiedModel","computed","ref","toRaw","watchEffect","deepEqual","genericComponent","propsFactory","useRender","makeVConfirmEditProps","modelValue","color","String","cancelText","type","default","okText","VConfirmEdit","name","props","emits","cancel","save","value","setup","_ref","emit","slots","model","internalModel","structuredClone","t","isPristine","actions","actionsProps","_createVNode","_Fragment","_mergeProps","actionsUsed"],"sources":["../../../src/components/VConfirmEdit/VConfirmEdit.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { useLocale } from '@/composables'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, toRaw, watchEffect } from 'vue'\nimport { deepEqual, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Ref, VNode } from 'vue'\nimport type { GenericProps } from '@/util'\n\nexport type VConfirmEditSlots<T> = {\n default: {\n model: Ref<T>\n save: () => void\n cancel: () => void\n isPristine: boolean\n get actions (): (props?: {}) => VNode\n }\n}\n\nexport const makeVConfirmEditProps = propsFactory({\n modelValue: null,\n color: String,\n cancelText: {\n type: String,\n default: '$vuetify.confirmEdit.cancel',\n },\n okText: {\n type: String,\n default: '$vuetify.confirmEdit.ok',\n },\n}, 'VConfirmEdit')\n\nexport const VConfirmEdit = genericComponent<new <T> (\n props: {\n modelValue?: T\n 'onUpdate:modelValue'?: (value: T) => void\n 'onSave'?: (value: T) => void\n },\n slots: VConfirmEditSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VConfirmEdit',\n\n props: makeVConfirmEditProps(),\n\n emits: {\n cancel: () => true,\n save: (value: any) => true,\n 'update:modelValue': (value: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n const internalModel = ref()\n watchEffect(() => {\n internalModel.value = structuredClone(toRaw(model.value))\n })\n\n const { t } = useLocale()\n\n const isPristine = computed(() => {\n return deepEqual(model.value, internalModel.value)\n })\n\n function save () {\n model.value = internalModel.value\n emit('save', internalModel.value)\n }\n\n function cancel () {\n internalModel.value = structuredClone(toRaw(model.value))\n emit('cancel')\n }\n\n function actions (actionsProps?: {}) {\n return (\n <>\n <VBtn\n disabled={ isPristine.value }\n variant=\"text\"\n color={ props.color }\n onClick={ cancel }\n text={ t(props.cancelText) }\n { ...actionsProps }\n />\n\n <VBtn\n disabled={ isPristine.value }\n variant=\"text\"\n color={ props.color }\n onClick={ save }\n text={ t(props.okText) }\n { ...actionsProps }\n />\n </>\n )\n }\n\n let actionsUsed = false\n useRender(() => {\n return (\n <>\n {\n slots.default?.({\n model: internalModel,\n save,\n cancel,\n isPristine: isPristine.value,\n get actions () {\n actionsUsed = true\n return actions\n },\n })\n }\n\n { !actionsUsed && actions() }\n </>\n )\n })\n\n return {\n save,\n cancel,\n isPristine,\n }\n },\n})\n\nexport type VConfirmEdit = InstanceType<typeof VConfirmEdit>\n"],"mappings":"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","ignoreList":[]}
@@ -77,7 +77,7 @@ describe('VConfirmEdit', () => {
77
77
  let {
78
78
  actions
79
79
  } = _ref5;
80
- return actions;
80
+ return actions();
81
81
  }
82
82
  }));
83
83
  expect(screen.getAllByCSS('button')).toHaveLength(2);
@@ -1 +1 @@
1
- {"version":3,"file":"VConfirmEdit.spec.browser.mjs","names":["VConfirmEdit","render","screen","userEvent","nextTick","shallowRef","describe","it","externalModel","_createVNode","value","default","_ref","model","expect","getByText","toBeInTheDocument","$event","_ref2","_Fragment","join","onClick","push","_createTextVNode","click","getByTestId","toEqual","getAllByCSS","toHaveLength","_ref3","_ref4","actions","queryAllByCSS","_ref5"],"sources":["../../../../src/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.tsx"],"sourcesContent":["// Components\nimport { VConfirmEdit } from '../'\n\n// Utilities\nimport { render, screen, userEvent } from '@test'\nimport { nextTick, shallowRef } from 'vue'\n\ndescribe('VConfirmEdit', () => {\n it('mirrors external updates', async () => {\n const externalModel = shallowRef('foo')\n\n render(() => (\n <VConfirmEdit modelValue={ externalModel.value }>\n { ({ model }) => (\n <p>{ model.value }</p>\n )}\n </VConfirmEdit>\n ))\n\n expect(screen.getByText('foo')).toBeInTheDocument()\n\n externalModel.value = 'bar'\n await nextTick()\n expect(screen.getByText('bar')).toBeInTheDocument()\n })\n\n it(\"doesn't mutate the original value\", async () => {\n const externalModel = shallowRef(['foo'])\n\n render(() => (\n <VConfirmEdit v-model={ externalModel.value } modelValue={ externalModel.value }>\n { ({ model }) => (\n <>\n <p>{ model.value.join(',') }</p>\n <button data-testid=\"push\" onClick={ () => model.value.push('bar') }>Push</button>\n </>\n )}\n </VConfirmEdit>\n ))\n\n expect(screen.getByText('foo')).toBeInTheDocument()\n\n await userEvent.click(screen.getByTestId('push'))\n expect(screen.getByText('foo,bar')).toBeInTheDocument()\n expect(externalModel.value).toEqual(['foo'])\n\n await userEvent.click(screen.getByText('OK'))\n expect(externalModel.value).toEqual(['foo', 'bar'])\n })\n\n describe('hides actions if used from the slot', () => {\n it('nothing', () => {\n render(() => <VConfirmEdit />)\n expect(screen.getAllByCSS('button')).toHaveLength(2)\n })\n\n it('consume model', () => {\n render(() => (\n <VConfirmEdit>\n { ({ model }) => {\n void model\n }}\n </VConfirmEdit>\n ))\n expect(screen.getAllByCSS('button')).toHaveLength(2)\n })\n\n it('consume actions', () => {\n render(() => (\n <VConfirmEdit>\n { ({ actions }) => {\n void actions\n }}\n </VConfirmEdit>\n ))\n expect(screen.queryAllByCSS('button')).toHaveLength(0)\n })\n\n it('render actions', () => {\n render(() => (\n <VConfirmEdit>\n { ({ actions }) => actions }\n </VConfirmEdit>\n ))\n expect(screen.getAllByCSS('button')).toHaveLength(2)\n })\n })\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VConfirmEdit.spec.browser.mjs","names":["VConfirmEdit","render","screen","userEvent","nextTick","shallowRef","describe","it","externalModel","_createVNode","value","default","_ref","model","expect","getByText","toBeInTheDocument","$event","_ref2","_Fragment","join","onClick","push","_createTextVNode","click","getByTestId","toEqual","getAllByCSS","toHaveLength","_ref3","_ref4","actions","queryAllByCSS","_ref5"],"sources":["../../../../src/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.tsx"],"sourcesContent":["// Components\nimport { VConfirmEdit } from '../'\n\n// Utilities\nimport { render, screen, userEvent } from '@test'\nimport { nextTick, shallowRef } from 'vue'\n\ndescribe('VConfirmEdit', () => {\n it('mirrors external updates', async () => {\n const externalModel = shallowRef('foo')\n\n render(() => (\n <VConfirmEdit modelValue={ externalModel.value }>\n { ({ model }) => (\n <p>{ model.value }</p>\n )}\n </VConfirmEdit>\n ))\n\n expect(screen.getByText('foo')).toBeInTheDocument()\n\n externalModel.value = 'bar'\n await nextTick()\n expect(screen.getByText('bar')).toBeInTheDocument()\n })\n\n it(\"doesn't mutate the original value\", async () => {\n const externalModel = shallowRef(['foo'])\n\n render(() => (\n <VConfirmEdit v-model={ externalModel.value } modelValue={ externalModel.value }>\n { ({ model }) => (\n <>\n <p>{ model.value.join(',') }</p>\n <button data-testid=\"push\" onClick={ () => model.value.push('bar') }>Push</button>\n </>\n )}\n </VConfirmEdit>\n ))\n\n expect(screen.getByText('foo')).toBeInTheDocument()\n\n await userEvent.click(screen.getByTestId('push'))\n expect(screen.getByText('foo,bar')).toBeInTheDocument()\n expect(externalModel.value).toEqual(['foo'])\n\n await userEvent.click(screen.getByText('OK'))\n expect(externalModel.value).toEqual(['foo', 'bar'])\n })\n\n describe('hides actions if used from the slot', () => {\n it('nothing', () => {\n render(() => <VConfirmEdit />)\n expect(screen.getAllByCSS('button')).toHaveLength(2)\n })\n\n it('consume model', () => {\n render(() => (\n <VConfirmEdit>\n { ({ model }) => {\n void model\n }}\n </VConfirmEdit>\n ))\n expect(screen.getAllByCSS('button')).toHaveLength(2)\n })\n\n it('consume actions', () => {\n render(() => (\n <VConfirmEdit>\n { ({ actions }) => {\n void actions\n }}\n </VConfirmEdit>\n ))\n expect(screen.queryAllByCSS('button')).toHaveLength(0)\n })\n\n it('render actions', () => {\n render(() => (\n <VConfirmEdit>\n { ({ actions }) => actions() }\n </VConfirmEdit>\n ))\n expect(screen.getAllByCSS('button')).toHaveLength(2)\n })\n })\n})\n"],"mappings":"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","ignoreList":[]}
@@ -36,7 +36,7 @@ type VConfirmEditSlots<T> = {
36
36
  save: () => void;
37
37
  cancel: () => void;
38
38
  isPristine: boolean;
39
- get actions(): VNode;
39
+ get actions(): (props?: {}) => VNode;
40
40
  };
41
41
  };
42
42
  declare const VConfirmEdit: {
@@ -71,9 +71,7 @@ declare const VConfirmEdit: {
71
71
  save: () => void;
72
72
  cancel: () => void;
73
73
  isPristine: boolean;
74
- readonly actions: VNode<vue.RendererNode, vue.RendererElement, {
75
- [key: string]: any;
76
- }>;
74
+ readonly actions: (props?: {}) => VNode;
77
75
  }) => VNode[];
78
76
  }>>, {
79
77
  P: {};
@@ -124,9 +122,7 @@ declare const VConfirmEdit: {
124
122
  save: () => void;
125
123
  cancel: () => void;
126
124
  isPristine: boolean;
127
- readonly actions: VNode<vue.RendererNode, vue.RendererElement, {
128
- [key: string]: any;
129
- }>;
125
+ readonly actions: (props?: {}) => VNode;
130
126
  }) => VNode[];
131
127
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new <T>(props: {
132
128
  modelValue?: T;
@@ -1 +1 @@
1
- {"version":3,"file":"VDataTableFooter.mjs","names":["VPagination","VSelect","usePagination","IconValue","useLocale","computed","genericComponent","propsFactory","useRender","makeVDataTableFooterProps","prevIcon","type","default","nextIcon","firstIcon","lastIcon","itemsPerPageText","String","pageText","firstPageLabel","prevPageLabel","nextPageLabel","lastPageLabel","itemsPerPageOptions","Array","value","title","showCurrentPage","Boolean","VDataTableFooter","name","props","setup","_ref","slots","t","page","pageCount","startIndex","stopIndex","itemsLength","itemsPerPage","setItemsPerPage","map","option","isNaN","Number","paginationProps","filterProps","_createVNode","prepend","v","_mergeProps","$event"],"sources":["../../../src/components/VDataTable/VDataTableFooter.tsx"],"sourcesContent":["// Styles\nimport './VDataTableFooter.sass'\n\n// Components\nimport { VPagination } from '@/components/VPagination'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { usePagination } from './composables/paginate'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDataTableFooterProps = propsFactory({\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n firstIcon: {\n type: IconValue,\n default: '$first',\n },\n lastIcon: {\n type: IconValue,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n firstPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.firstPage',\n },\n prevPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.prevPage',\n },\n nextPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.nextPage',\n },\n lastPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.lastPage',\n },\n itemsPerPageOptions: {\n type: Array as PropType<readonly (number | { title: string, value: number })[]>,\n default: () => ([\n { value: 10, title: '10' },\n { value: 25, title: '25' },\n { value: 50, title: '50' },\n { value: 100, title: '100' },\n { value: -1, title: '$vuetify.dataFooter.itemsPerPageAll' },\n ]),\n },\n showCurrentPage: Boolean,\n}, 'VDataTableFooter')\n\nexport const VDataTableFooter = genericComponent<{ prepend: never }>()({\n name: 'VDataTableFooter',\n\n props: makeVDataTableFooterProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { page, pageCount, startIndex, stopIndex, itemsLength, itemsPerPage, setItemsPerPage } = usePagination()\n\n const itemsPerPageOptions = computed(() => (\n props.itemsPerPageOptions.map(option => {\n if (typeof option === 'number') {\n return {\n value: option,\n title: option === -1\n ? t('$vuetify.dataFooter.itemsPerPageAll')\n : String(option),\n }\n }\n\n return {\n ...option,\n title: !isNaN(Number(option.title)) ? option.title : t(option.title),\n }\n })\n ))\n\n useRender(() => {\n const paginationProps = VPagination.filterProps(props)\n\n return (\n <div class=\"v-data-table-footer\">\n { slots.prepend?.() }\n\n <div class=\"v-data-table-footer__items-per-page\">\n <span>{ t(props.itemsPerPageText) }</span>\n\n <VSelect\n items={ itemsPerPageOptions.value }\n modelValue={ itemsPerPage.value }\n onUpdate:modelValue={ v => setItemsPerPage(Number(v)) }\n density=\"compact\"\n variant=\"outlined\"\n hide-details\n />\n </div>\n\n <div class=\"v-data-table-footer__info\">\n <div>\n { t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value) }\n </div>\n </div>\n\n <div class=\"v-data-table-footer__pagination\">\n <VPagination\n v-model={ page.value }\n density=\"comfortable\"\n first-aria-label={ props.firstPageLabel }\n last-aria-label={ props.lastPageLabel }\n length={ pageCount.value }\n next-aria-label={ props.nextPageLabel }\n previous-aria-label={ props.prevPageLabel }\n rounded\n show-first-last-page\n total-visible={ props.showCurrentPage ? 1 : 0 }\n variant=\"plain\"\n { ...paginationProps }\n ></VPagination>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDataTableFooter.mjs","names":["VPagination","VSelect","usePagination","IconValue","useLocale","computed","genericComponent","propsFactory","useRender","makeVDataTableFooterProps","prevIcon","type","default","nextIcon","firstIcon","lastIcon","itemsPerPageText","String","pageText","firstPageLabel","prevPageLabel","nextPageLabel","lastPageLabel","itemsPerPageOptions","Array","value","title","showCurrentPage","Boolean","VDataTableFooter","name","props","setup","_ref","slots","t","page","pageCount","startIndex","stopIndex","itemsLength","itemsPerPage","setItemsPerPage","map","option","isNaN","Number","paginationProps","filterProps","_createVNode","prepend","v","_mergeProps","$event"],"sources":["../../../src/components/VDataTable/VDataTableFooter.tsx"],"sourcesContent":["// Styles\nimport './VDataTableFooter.sass'\n\n// Components\nimport { VPagination } from '@/components/VPagination'\nimport { VSelect } from '@/components/VSelect'\n\n// Composables\nimport { usePagination } from './composables/paginate'\nimport { IconValue } from '@/composables/icons'\nimport { useLocale } from '@/composables/locale'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDataTableFooterProps = propsFactory({\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n firstIcon: {\n type: IconValue,\n default: '$first',\n },\n lastIcon: {\n type: IconValue,\n default: '$last',\n },\n itemsPerPageText: {\n type: String,\n default: '$vuetify.dataFooter.itemsPerPageText',\n },\n pageText: {\n type: String,\n default: '$vuetify.dataFooter.pageText',\n },\n firstPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.firstPage',\n },\n prevPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.prevPage',\n },\n nextPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.nextPage',\n },\n lastPageLabel: {\n type: String,\n default: '$vuetify.dataFooter.lastPage',\n },\n itemsPerPageOptions: {\n type: Array as PropType<readonly (number | { title: string, value: number })[]>,\n default: () => ([\n { value: 10, title: '10' },\n { value: 25, title: '25' },\n { value: 50, title: '50' },\n { value: 100, title: '100' },\n { value: -1, title: '$vuetify.dataFooter.itemsPerPageAll' },\n ]),\n },\n showCurrentPage: Boolean,\n}, 'VDataTableFooter')\n\nexport const VDataTableFooter = genericComponent<{ prepend: never }>()({\n name: 'VDataTableFooter',\n\n props: makeVDataTableFooterProps(),\n\n setup (props, { slots }) {\n const { t } = useLocale()\n const { page, pageCount, startIndex, stopIndex, itemsLength, itemsPerPage, setItemsPerPage } = usePagination()\n\n const itemsPerPageOptions = computed(() => (\n props.itemsPerPageOptions.map(option => {\n if (typeof option === 'number') {\n return {\n value: option,\n title: option === -1\n ? t('$vuetify.dataFooter.itemsPerPageAll')\n : String(option),\n }\n }\n\n return {\n ...option,\n title: !isNaN(Number(option.title)) ? option.title : t(option.title),\n }\n })\n ))\n\n useRender(() => {\n const paginationProps = VPagination.filterProps(props)\n\n return (\n <div class=\"v-data-table-footer\">\n { slots.prepend?.() }\n\n <div class=\"v-data-table-footer__items-per-page\">\n <span>{ t(props.itemsPerPageText) }</span>\n\n <VSelect\n items={ itemsPerPageOptions.value }\n modelValue={ itemsPerPage.value }\n onUpdate:modelValue={ v => setItemsPerPage(Number(v)) }\n density=\"compact\"\n variant=\"outlined\"\n hide-details\n />\n </div>\n\n <div class=\"v-data-table-footer__info\">\n <div>\n { t(props.pageText, !itemsLength.value ? 0 : startIndex.value + 1, stopIndex.value, itemsLength.value) }\n </div>\n </div>\n\n <div class=\"v-data-table-footer__pagination\">\n <VPagination\n v-model={ page.value }\n density=\"comfortable\"\n first-aria-label={ props.firstPageLabel }\n last-aria-label={ props.lastPageLabel }\n length={ pageCount.value }\n next-aria-label={ props.nextPageLabel }\n previous-aria-label={ props.prevPageLabel }\n rounded\n show-first-last-page\n total-visible={ props.showCurrentPage ? 1 : 0 }\n variant=\"plain\"\n { ...paginationProps }\n ></VPagination>\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDataTableFooter = InstanceType<typeof VDataTableFooter>\n"],"mappings":"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","ignoreList":[]}
@@ -1999,6 +1999,7 @@ declare const VDataTableFooter: {
1999
1999
  };
2000
2000
  showCurrentPage: BooleanConstructor;
2001
2001
  }>>;
2002
+ type VDataTableFooter = InstanceType<typeof VDataTableFooter>;
2002
2003
 
2003
2004
  type VDataTableVirtualSlotProps<T> = Omit<VDataTableSlotProps<T>, 'setItemsPerPage' | 'page' | 'pageCount' | 'itemsPerPage'>;
2004
2005
  type VDataTableVirtualSlots<T> = VDataTableRowsSlots<T> & VDataTableHeadersSlots & {
@@ -6,10 +6,11 @@ import "./VDatePickerHeader.css";
6
6
  import { VBtn } from "../VBtn/index.mjs";
7
7
  import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs"; // Composables
8
8
  import { useBackgroundColor } from "../../composables/color.mjs";
9
+ import { IconValue } from "../../composables/icons.mjs";
9
10
  import { MaybeTransition } from "../../composables/transition.mjs"; // Utilities
10
11
  import { EventProp, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
11
12
  export const makeVDatePickerHeaderProps = propsFactory({
12
- appendIcon: String,
13
+ appendIcon: IconValue,
13
14
  color: String,
14
15
  header: String,
15
16
  transition: String,
@@ -1 +1 @@
1
- {"version":3,"file":"VDatePickerHeader.mjs","names":["VBtn","VDefaultsProvider","useBackgroundColor","MaybeTransition","EventProp","genericComponent","propsFactory","useRender","makeVDatePickerHeaderProps","appendIcon","String","color","header","transition","onClick","VDatePickerHeader","name","props","emits","click","click:append","setup","_ref","emit","slots","backgroundColorClasses","backgroundColorStyles","onClickAppend","hasContent","default","hasAppend","append","_createVNode","value","prepend","icon","variant"],"sources":["../../../src/components/VDatePicker/VDatePickerHeader.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerHeader.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VDatePickerHeaderSlots = {\n prepend: never\n default: never\n append: never\n}\n\nexport const makeVDatePickerHeaderProps = propsFactory({\n appendIcon: String,\n color: String,\n header: String,\n transition: String,\n onClick: EventProp<[MouseEvent]>(),\n}, 'VDatePickerHeader')\n\nexport const VDatePickerHeader = genericComponent<VDatePickerHeaderSlots>()({\n name: 'VDatePickerHeader',\n\n props: makeVDatePickerHeaderProps(),\n\n emits: {\n click: () => true,\n 'click:append': () => true,\n },\n\n setup (props, { emit, slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n function onClick () {\n emit('click')\n }\n\n function onClickAppend () {\n emit('click:append')\n }\n\n useRender(() => {\n const hasContent = !!(slots.default || props.header)\n const hasAppend = !!(slots.append || props.appendIcon)\n\n return (\n <div\n class={[\n 'v-date-picker-header',\n {\n 'v-date-picker-header--clickable': !!props.onClick,\n },\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n onClick={ onClick }\n >\n { slots.prepend && (\n <div key=\"prepend\" class=\"v-date-picker-header__prepend\">\n { slots.prepend() }\n </div>\n )}\n\n { hasContent && (\n <MaybeTransition key=\"content\" name={ props.transition }>\n <div key={ props.header } class=\"v-date-picker-header__content\">\n { slots.default?.() ?? props.header }\n </div>\n </MaybeTransition>\n )}\n\n { hasAppend && (\n <div class=\"v-date-picker-header__append\">\n { !slots.append ? (\n <VBtn\n key=\"append-btn\"\n icon={ props.appendIcon }\n variant=\"text\"\n onClick={ onClickAppend }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VBtn: {\n icon: props.appendIcon,\n variant: 'text',\n },\n }}\n >\n { slots.append?.() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePickerHeader = InstanceType<typeof VDatePickerHeader>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB,0CAE1B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,eAAe,4CAExB;AAAA,SACSC,SAAS,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAE7D;AAOA,OAAO,MAAMC,0BAA0B,GAAGF,YAAY,CAAC;EACrDG,UAAU,EAAEC,MAAM;EAClBC,KAAK,EAAED,MAAM;EACbE,MAAM,EAAEF,MAAM;EACdG,UAAU,EAAEH,MAAM;EAClBI,OAAO,EAAEV,SAAS,CAAe;AACnC,CAAC,EAAE,mBAAmB,CAAC;AAEvB,OAAO,MAAMW,iBAAiB,GAAGV,gBAAgB,CAAyB,CAAC,CAAC;EAC1EW,IAAI,EAAE,mBAAmB;EAEzBC,KAAK,EAAET,0BAA0B,CAAC,CAAC;EAEnCU,KAAK,EAAE;IACLC,KAAK,EAAEA,CAAA,KAAM,IAAI;IACjB,cAAc,EAAEC,CAAA,KAAM;EACxB,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG,sBAAsB;MAAEC;IAAsB,CAAC,GAAGxB,kBAAkB,CAACe,KAAK,EAAE,OAAO,CAAC;IAE5F,SAASH,OAAOA,CAAA,EAAI;MAClBS,IAAI,CAAC,OAAO,CAAC;IACf;IAEA,SAASI,aAAaA,CAAA,EAAI;MACxBJ,IAAI,CAAC,cAAc,CAAC;IACtB;IAEAhB,SAAS,CAAC,MAAM;MACd,MAAMqB,UAAU,GAAG,CAAC,EAAEJ,KAAK,CAACK,OAAO,IAAIZ,KAAK,CAACL,MAAM,CAAC;MACpD,MAAMkB,SAAS,GAAG,CAAC,EAAEN,KAAK,CAACO,MAAM,IAAId,KAAK,CAACR,UAAU,CAAC;MAEtD,OAAAuB,YAAA;QAAA,SAEW,CACL,sBAAsB,EACtB;UACE,iCAAiC,EAAE,CAAC,CAACf,KAAK,CAACH;QAC7C,CAAC,EACDW,sBAAsB,CAACQ,KAAK,CAC7B;QAAA,SACOP,qBAAqB,CAACO,KAAK;QAAA,WACzBnB;MAAO,IAEfU,KAAK,CAACU,OAAO,IAAAF,YAAA;QAAA;QAAA;MAAA,IAETR,KAAK,CAACU,OAAO,CAAC,CAAC,EAEpB,EAECN,UAAU,IAAAI,YAAA,CAAA7B,eAAA;QAAA;QAAA,QAC4Bc,KAAK,CAACJ;MAAU;QAAAgB,OAAA,EAAAA,CAAA,MAAAG,YAAA;UAAA,OACzCf,KAAK,CAACL,MAAM;UAAA;QAAA,IACnBY,KAAK,CAACK,OAAO,GAAG,CAAC,IAAIZ,KAAK,CAACL,MAAM;MAAA,EAGxC,EAECkB,SAAS,IAAAE,YAAA;QAAA;MAAA,IAEL,CAACR,KAAK,CAACO,MAAM,GAAAC,YAAA,CAAAhC,IAAA;QAAA;QAAA,QAGJiB,KAAK,CAACR,UAAU;QAAA;QAAA,WAEbkB;MAAa,WAAAK,YAAA,CAAA/B,iBAAA;QAAA;QAAA,YAKZ,CAACgB,KAAK,CAACR,UAAU;QAAA,YAClB;UACRT,IAAI,EAAE;YACJmC,IAAI,EAAElB,KAAK,CAACR,UAAU;YACtB2B,OAAO,EAAE;UACX;QACF;MAAC;QAAAP,OAAA,EAAAA,CAAA,MAECL,KAAK,CAACO,MAAM,GAAG,CAAC;MAAA,EAErB,EAEJ;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VDatePickerHeader.mjs","names":["VBtn","VDefaultsProvider","useBackgroundColor","IconValue","MaybeTransition","EventProp","genericComponent","propsFactory","useRender","makeVDatePickerHeaderProps","appendIcon","color","String","header","transition","onClick","VDatePickerHeader","name","props","emits","click","click:append","setup","_ref","emit","slots","backgroundColorClasses","backgroundColorStyles","onClickAppend","hasContent","default","hasAppend","append","_createVNode","value","prepend","icon","variant"],"sources":["../../../src/components/VDatePicker/VDatePickerHeader.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerHeader.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { IconValue } from '@/composables/icons'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { EventProp, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VDatePickerHeaderSlots = {\n prepend: never\n default: never\n append: never\n}\n\nexport const makeVDatePickerHeaderProps = propsFactory({\n appendIcon: IconValue,\n color: String,\n header: String,\n transition: String,\n onClick: EventProp<[MouseEvent]>(),\n}, 'VDatePickerHeader')\n\nexport const VDatePickerHeader = genericComponent<VDatePickerHeaderSlots>()({\n name: 'VDatePickerHeader',\n\n props: makeVDatePickerHeaderProps(),\n\n emits: {\n click: () => true,\n 'click:append': () => true,\n },\n\n setup (props, { emit, slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n function onClick () {\n emit('click')\n }\n\n function onClickAppend () {\n emit('click:append')\n }\n\n useRender(() => {\n const hasContent = !!(slots.default || props.header)\n const hasAppend = !!(slots.append || props.appendIcon)\n\n return (\n <div\n class={[\n 'v-date-picker-header',\n {\n 'v-date-picker-header--clickable': !!props.onClick,\n },\n backgroundColorClasses.value,\n ]}\n style={ backgroundColorStyles.value }\n onClick={ onClick }\n >\n { slots.prepend && (\n <div key=\"prepend\" class=\"v-date-picker-header__prepend\">\n { slots.prepend() }\n </div>\n )}\n\n { hasContent && (\n <MaybeTransition key=\"content\" name={ props.transition }>\n <div key={ props.header } class=\"v-date-picker-header__content\">\n { slots.default?.() ?? props.header }\n </div>\n </MaybeTransition>\n )}\n\n { hasAppend && (\n <div class=\"v-date-picker-header__append\">\n { !slots.append ? (\n <VBtn\n key=\"append-btn\"\n icon={ props.appendIcon }\n variant=\"text\"\n onClick={ onClickAppend }\n />\n ) : (\n <VDefaultsProvider\n key=\"append-defaults\"\n disabled={ !props.appendIcon }\n defaults={{\n VBtn: {\n icon: props.appendIcon,\n variant: 'text',\n },\n }}\n >\n { slots.append?.() }\n </VDefaultsProvider>\n )}\n </div>\n )}\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePickerHeader = InstanceType<typeof VDatePickerHeader>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,IAAI;AAAA,SACJC,iBAAiB,0CAE1B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,SAAS;AAAA,SACTC,eAAe,4CAExB;AAAA,SACSC,SAAS,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAE7D;AAOA,OAAO,MAAMC,0BAA0B,GAAGF,YAAY,CAAC;EACrDG,UAAU,EAAEP,SAAS;EACrBQ,KAAK,EAAEC,MAAM;EACbC,MAAM,EAAED,MAAM;EACdE,UAAU,EAAEF,MAAM;EAClBG,OAAO,EAAEV,SAAS,CAAe;AACnC,CAAC,EAAE,mBAAmB,CAAC;AAEvB,OAAO,MAAMW,iBAAiB,GAAGV,gBAAgB,CAAyB,CAAC,CAAC;EAC1EW,IAAI,EAAE,mBAAmB;EAEzBC,KAAK,EAAET,0BAA0B,CAAC,CAAC;EAEnCU,KAAK,EAAE;IACLC,KAAK,EAAEA,CAAA,KAAM,IAAI;IACjB,cAAc,EAAEC,CAAA,KAAM;EACxB,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAM;MAAEG,sBAAsB;MAAEC;IAAsB,CAAC,GAAGzB,kBAAkB,CAACgB,KAAK,EAAE,OAAO,CAAC;IAE5F,SAASH,OAAOA,CAAA,EAAI;MAClBS,IAAI,CAAC,OAAO,CAAC;IACf;IAEA,SAASI,aAAaA,CAAA,EAAI;MACxBJ,IAAI,CAAC,cAAc,CAAC;IACtB;IAEAhB,SAAS,CAAC,MAAM;MACd,MAAMqB,UAAU,GAAG,CAAC,EAAEJ,KAAK,CAACK,OAAO,IAAIZ,KAAK,CAACL,MAAM,CAAC;MACpD,MAAMkB,SAAS,GAAG,CAAC,EAAEN,KAAK,CAACO,MAAM,IAAId,KAAK,CAACR,UAAU,CAAC;MAEtD,OAAAuB,YAAA;QAAA,SAEW,CACL,sBAAsB,EACtB;UACE,iCAAiC,EAAE,CAAC,CAACf,KAAK,CAACH;QAC7C,CAAC,EACDW,sBAAsB,CAACQ,KAAK,CAC7B;QAAA,SACOP,qBAAqB,CAACO,KAAK;QAAA,WACzBnB;MAAO,IAEfU,KAAK,CAACU,OAAO,IAAAF,YAAA;QAAA;QAAA;MAAA,IAETR,KAAK,CAACU,OAAO,CAAC,CAAC,EAEpB,EAECN,UAAU,IAAAI,YAAA,CAAA7B,eAAA;QAAA;QAAA,QAC4Bc,KAAK,CAACJ;MAAU;QAAAgB,OAAA,EAAAA,CAAA,MAAAG,YAAA;UAAA,OACzCf,KAAK,CAACL,MAAM;UAAA;QAAA,IACnBY,KAAK,CAACK,OAAO,GAAG,CAAC,IAAIZ,KAAK,CAACL,MAAM;MAAA,EAGxC,EAECkB,SAAS,IAAAE,YAAA;QAAA;MAAA,IAEL,CAACR,KAAK,CAACO,MAAM,GAAAC,YAAA,CAAAjC,IAAA;QAAA;QAAA,QAGJkB,KAAK,CAACR,UAAU;QAAA;QAAA,WAEbkB;MAAa,WAAAK,YAAA,CAAAhC,iBAAA;QAAA;QAAA,YAKZ,CAACiB,KAAK,CAACR,UAAU;QAAA,YAClB;UACRV,IAAI,EAAE;YACJoC,IAAI,EAAElB,KAAK,CAACR,UAAU;YACtB2B,OAAO,EAAE;UACX;QACF;MAAC;QAAAP,OAAA,EAAAA,CAAA,MAECL,KAAK,CAACO,MAAM,GAAG,CAAC;MAAA,EAErB,EAEJ;IAGP,CAAC,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -794,7 +794,7 @@ declare const VDatePickerHeader: {
794
794
  transition?: string | undefined;
795
795
  header?: string | undefined;
796
796
  onClick?: ((args_0: MouseEvent) => void) | undefined;
797
- appendIcon?: string | undefined;
797
+ appendIcon?: IconValue | undefined;
798
798
  } & {
799
799
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
800
800
  prepend?: (() => vue.VNodeChild) | undefined;
@@ -821,7 +821,7 @@ declare const VDatePickerHeader: {
821
821
  transition?: string | undefined;
822
822
  header?: string | undefined;
823
823
  onClick?: ((args_0: MouseEvent) => void) | undefined;
824
- appendIcon?: string | undefined;
824
+ appendIcon?: IconValue | undefined;
825
825
  } & {
826
826
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
827
827
  prepend?: (() => vue.VNodeChild) | undefined;
@@ -856,7 +856,7 @@ declare const VDatePickerHeader: {
856
856
  transition?: string | undefined;
857
857
  header?: string | undefined;
858
858
  onClick?: ((args_0: MouseEvent) => void) | undefined;
859
- appendIcon?: string | undefined;
859
+ appendIcon?: IconValue | undefined;
860
860
  } & {
861
861
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
862
862
  prepend?: (() => vue.VNodeChild) | undefined;
@@ -884,7 +884,7 @@ declare const VDatePickerHeader: {
884
884
  transition?: string | undefined;
885
885
  header?: string | undefined;
886
886
  onClick?: ((args_0: MouseEvent) => void) | undefined;
887
- appendIcon?: string | undefined;
887
+ appendIcon?: IconValue | undefined;
888
888
  } & {
889
889
  $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
890
890
  prepend?: (() => vue.VNodeChild) | undefined;
@@ -911,13 +911,13 @@ declare const VDatePickerHeader: {
911
911
  default: () => vue.VNode[];
912
912
  append: () => vue.VNode[];
913
913
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
914
- appendIcon: StringConstructor;
914
+ appendIcon: vue.PropType<IconValue>;
915
915
  color: StringConstructor;
916
916
  header: StringConstructor;
917
917
  transition: StringConstructor;
918
918
  onClick: vue.PropType<(args_0: MouseEvent) => void>;
919
919
  }, vue.ExtractPropTypes<{
920
- appendIcon: StringConstructor;
920
+ appendIcon: vue.PropType<IconValue>;
921
921
  color: StringConstructor;
922
922
  header: StringConstructor;
923
923
  transition: StringConstructor;
@@ -22,6 +22,7 @@
22
22
  --v-scrollbar-offset: 0px;
23
23
  border-radius: 4px;
24
24
  overflow-y: auto;
25
+ flex: 1 1 100%;
25
26
  }
26
27
  .v-dialog > .v-overlay__content > .v-card,
27
28
  .v-dialog > .v-overlay__content > .v-sheet,
@@ -62,16 +63,13 @@
62
63
  margin: 0;
63
64
  padding: 0;
64
65
  width: 100%;
66
+ height: 100%;
65
67
  max-width: 100%;
66
68
  max-height: 100%;
67
69
  overflow-y: auto;
68
70
  top: 0;
69
71
  left: 0;
70
72
  }
71
- .v-dialog--fullscreen > .v-overlay__content,
72
- .v-dialog--fullscreen > .v-overlay__content > form {
73
- height: 100%;
74
- }
75
73
  .v-dialog--fullscreen > .v-overlay__content > .v-card,
76
74
  .v-dialog--fullscreen > .v-overlay__content > .v-sheet,
77
75
  .v-dialog--fullscreen > .v-overlay__content > form > .v-card,
@@ -82,10 +80,8 @@
82
80
  }
83
81
 
84
82
  .v-dialog--scrollable > .v-overlay__content,
85
- .v-dialog--scrollable > .v-overlay__content > form {
86
- display: flex;
87
- }
88
83
  .v-dialog--scrollable > .v-overlay__content > .v-card,
84
+ .v-dialog--scrollable > .v-overlay__content > form,
89
85
  .v-dialog--scrollable > .v-overlay__content > form > .v-card {
90
86
  display: flex;
91
87
  flex: 1 1 100%;
@@ -10,7 +10,7 @@ import { makeVOverlayProps } from "../VOverlay/VOverlay.mjs"; // Composables
10
10
  import { forwardRefs } from "../../composables/forwardRefs.mjs";
11
11
  import { useProxiedModel } from "../../composables/proxiedModel.mjs";
12
12
  import { useScopeId } from "../../composables/scopeId.mjs"; // Utilities
13
- import { mergeProps, nextTick, ref, watch } from 'vue';
13
+ import { mergeProps, nextTick, onBeforeUnmount, ref, watch } from 'vue';
14
14
  import { focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from "../../util/index.mjs"; // Types
15
15
  export const makeVDialogProps = propsFactory({
16
16
  fullscreen: Boolean,
@@ -67,6 +67,9 @@ export const VDialog = genericComponent()({
67
67
  }
68
68
  }
69
69
  }
70
+ onBeforeUnmount(() => {
71
+ document.removeEventListener('focusin', onFocusin);
72
+ });
70
73
  if (IN_BROWSER) {
71
74
  watch(() => isActive.value && props.retainFocus, val => {
72
75
  val ? document.addEventListener('focusin', onFocusin) : document.removeEventListener('focusin', onFocusin);
@@ -114,6 +117,10 @@ export const VDialog = genericComponent()({
114
117
  "aria-modal": "true",
115
118
  "activatorProps": activatorProps,
116
119
  "contentProps": contentProps,
120
+ "height": !props.fullscreen ? props.height : undefined,
121
+ "width": !props.fullscreen ? props.width : undefined,
122
+ "maxHeight": !props.fullscreen ? props.maxHeight : undefined,
123
+ "maxWidth": !props.fullscreen ? props.maxWidth : undefined,
117
124
  "role": "dialog",
118
125
  "onAfterEnter": onAfterEnter,
119
126
  "onAfterLeave": onAfterLeave
@@ -1 +1 @@
1
- {"version":3,"file":"VDialog.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","mergeProps","nextTick","ref","watch","focusableChildren","genericComponent","IN_BROWSER","propsFactory","useRender","makeVDialogProps","fullscreen","Boolean","retainFocus","type","default","scrollable","origin","scrollStrategy","transition","component","zIndex","VDialog","name","props","emits","value","afterEnter","afterLeave","setup","_ref","emit","slots","isActive","scopeId","overlay","onFocusin","e","before","relatedTarget","after","target","contentEl","globalTop","document","includes","contains","focusable","length","firstElement","lastElement","focus","val","addEventListener","removeEventListener","immediate","onAfterEnter","activeElement","preventScroll","onAfterLeave","activatorEl","overlayProps","filterProps","activatorProps","contentProps","tabindex","_createVNode","_mergeProps","class","style","$event","activator","_len","arguments","args","Array","_key"],"sources":["../../../src/components/VDialog/VDialog.tsx"],"sourcesContent":["// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { mergeProps, nextTick, ref, watch } from 'vue'\nimport { focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVDialogProps = propsFactory({\n fullscreen: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n\n ...makeVOverlayProps({\n origin: 'center center' as const,\n scrollStrategy: 'block' as const,\n transition: { component: VDialogTransition as Component },\n zIndex: 2400,\n }),\n}, 'VDialog')\n\nexport const VDialog = genericComponent<OverlaySlots>()({\n name: 'VDialog',\n\n props: makeVDialogProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n afterEnter: () => true,\n afterLeave: () => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const overlay = ref<VOverlay>()\n function onFocusin (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n if (\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost dialog\n overlay.value?.globalTop &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n\n if (!focusable.length) return\n\n const firstElement = focusable[0]\n const lastElement = focusable[focusable.length - 1]\n\n if (before === firstElement) {\n lastElement.focus()\n } else {\n firstElement.focus()\n }\n }\n }\n\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val\n ? document.addEventListener('focusin', onFocusin)\n : document.removeEventListener('focusin', onFocusin)\n }, { immediate: true })\n }\n\n function onAfterEnter () {\n emit('afterEnter')\n if (overlay.value?.contentEl && !overlay.value.contentEl.contains(document.activeElement)) {\n overlay.value.contentEl.focus({ preventScroll: true })\n }\n }\n\n function onAfterLeave () {\n emit('afterLeave')\n }\n\n watch(isActive, async val => {\n if (!val) {\n await nextTick()\n overlay.value!.activatorEl?.focus({ preventScroll: true })\n }\n })\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n const activatorProps = mergeProps({\n 'aria-haspopup': 'dialog',\n }, props.activatorProps)\n const contentProps = mergeProps({\n tabindex: -1,\n }, props.contentProps)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-dialog',\n {\n 'v-dialog--fullscreen': props.fullscreen,\n 'v-dialog--scrollable': props.scrollable,\n },\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n aria-modal=\"true\"\n activatorProps={ activatorProps }\n contentProps={ contentProps }\n role=\"dialog\"\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VDialog\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({}, overlay)\n },\n})\n\nexport type VDialog = InstanceType<typeof VDialog>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDialog.mjs","names":["VDialogTransition","VDefaultsProvider","VOverlay","makeVOverlayProps","forwardRefs","useProxiedModel","useScopeId","mergeProps","nextTick","onBeforeUnmount","ref","watch","focusableChildren","genericComponent","IN_BROWSER","propsFactory","useRender","makeVDialogProps","fullscreen","Boolean","retainFocus","type","default","scrollable","origin","scrollStrategy","transition","component","zIndex","VDialog","name","props","emits","value","afterEnter","afterLeave","setup","_ref","emit","slots","isActive","scopeId","overlay","onFocusin","e","before","relatedTarget","after","target","contentEl","globalTop","document","includes","contains","focusable","length","firstElement","lastElement","focus","removeEventListener","val","addEventListener","immediate","onAfterEnter","activeElement","preventScroll","onAfterLeave","activatorEl","overlayProps","filterProps","activatorProps","contentProps","tabindex","_createVNode","_mergeProps","class","style","$event","height","undefined","width","maxHeight","maxWidth","activator","_len","arguments","args","Array","_key"],"sources":["../../../src/components/VDialog/VDialog.tsx"],"sourcesContent":["// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VDialogTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VOverlay } from '@/components/VOverlay'\nimport { makeVOverlayProps } from '@/components/VOverlay/VOverlay'\n\n// Composables\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useScopeId } from '@/composables/scopeId'\n\n// Utilities\nimport { mergeProps, nextTick, onBeforeUnmount, ref, watch } from 'vue'\nimport { focusableChildren, genericComponent, IN_BROWSER, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component } from 'vue'\nimport type { OverlaySlots } from '@/components/VOverlay/VOverlay'\n\nexport const makeVDialogProps = propsFactory({\n fullscreen: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n\n ...makeVOverlayProps({\n origin: 'center center' as const,\n scrollStrategy: 'block' as const,\n transition: { component: VDialogTransition as Component },\n zIndex: 2400,\n }),\n}, 'VDialog')\n\nexport const VDialog = genericComponent<OverlaySlots>()({\n name: 'VDialog',\n\n props: makeVDialogProps(),\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n afterEnter: () => true,\n afterLeave: () => true,\n },\n\n setup (props, { emit, slots }) {\n const isActive = useProxiedModel(props, 'modelValue')\n const { scopeId } = useScopeId()\n\n const overlay = ref<VOverlay>()\n function onFocusin (e: FocusEvent) {\n const before = e.relatedTarget as HTMLElement | null\n const after = e.target as HTMLElement | null\n\n if (\n before !== after &&\n overlay.value?.contentEl &&\n // We're the topmost dialog\n overlay.value?.globalTop &&\n // It isn't the document or the dialog body\n ![document, overlay.value.contentEl].includes(after!) &&\n // It isn't inside the dialog body\n !overlay.value.contentEl.contains(after)\n ) {\n const focusable = focusableChildren(overlay.value.contentEl)\n\n if (!focusable.length) return\n\n const firstElement = focusable[0]\n const lastElement = focusable[focusable.length - 1]\n\n if (before === firstElement) {\n lastElement.focus()\n } else {\n firstElement.focus()\n }\n }\n }\n\n onBeforeUnmount(() => {\n document.removeEventListener('focusin', onFocusin)\n })\n\n if (IN_BROWSER) {\n watch(() => isActive.value && props.retainFocus, val => {\n val\n ? document.addEventListener('focusin', onFocusin)\n : document.removeEventListener('focusin', onFocusin)\n }, { immediate: true })\n }\n\n function onAfterEnter () {\n emit('afterEnter')\n if (overlay.value?.contentEl && !overlay.value.contentEl.contains(document.activeElement)) {\n overlay.value.contentEl.focus({ preventScroll: true })\n }\n }\n\n function onAfterLeave () {\n emit('afterLeave')\n }\n\n watch(isActive, async val => {\n if (!val) {\n await nextTick()\n overlay.value!.activatorEl?.focus({ preventScroll: true })\n }\n })\n\n useRender(() => {\n const overlayProps = VOverlay.filterProps(props)\n const activatorProps = mergeProps({\n 'aria-haspopup': 'dialog',\n }, props.activatorProps)\n const contentProps = mergeProps({\n tabindex: -1,\n }, props.contentProps)\n\n return (\n <VOverlay\n ref={ overlay }\n class={[\n 'v-dialog',\n {\n 'v-dialog--fullscreen': props.fullscreen,\n 'v-dialog--scrollable': props.scrollable,\n },\n props.class,\n ]}\n style={ props.style }\n { ...overlayProps }\n v-model={ isActive.value }\n aria-modal=\"true\"\n activatorProps={ activatorProps }\n contentProps={ contentProps }\n height={ !props.fullscreen ? props.height : undefined }\n width={ !props.fullscreen ? props.width : undefined }\n maxHeight={ !props.fullscreen ? props.maxHeight : undefined }\n maxWidth={ !props.fullscreen ? props.maxWidth : undefined }\n role=\"dialog\"\n onAfterEnter={ onAfterEnter }\n onAfterLeave={ onAfterLeave }\n { ...scopeId }\n >\n {{\n activator: slots.activator,\n default: (...args) => (\n <VDefaultsProvider root=\"VDialog\">\n { slots.default?.(...args) }\n </VDefaultsProvider>\n ),\n }}\n </VOverlay>\n )\n })\n\n return forwardRefs({}, overlay)\n },\n})\n\nexport type VDialog = InstanceType<typeof VDialog>\n"],"mappings":"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","ignoreList":[]}
@@ -24,6 +24,7 @@
24
24
  --v-scrollbar-offset: 0px
25
25
  border-radius: $dialog-border-radius
26
26
  overflow-y: auto
27
+ flex: 1 1 100%
27
28
 
28
29
  @include tools.elevation($dialog-elevation)
29
30
 
@@ -54,6 +55,7 @@
54
55
  margin: 0
55
56
  padding: 0
56
57
  width: 100%
58
+ height: 100%
57
59
  max-width: 100%
58
60
  max-height: 100%
59
61
  overflow-y: auto
@@ -62,8 +64,6 @@
62
64
 
63
65
  &,
64
66
  > form
65
- height: 100%
66
-
67
67
  > .v-card,
68
68
  > .v-sheet
69
69
  min-height: 100%
@@ -73,8 +73,7 @@
73
73
  .v-dialog--scrollable > .v-overlay__content
74
74
  &,
75
75
  > form
76
- display: flex
77
-
76
+ &,
78
77
  > .v-card
79
78
  display: flex
80
79
  flex: 1 1 100%
@@ -82,6 +81,6 @@
82
81
  max-height: 100%
83
82
  max-width: 100%
84
83
 
85
- > .v-card-text
86
- backface-visibility: hidden
87
- overflow-y: auto
84
+ > .v-card > .v-card-text
85
+ backface-visibility: hidden
86
+ overflow-y: auto