@vuetify/nightly 3.6.6-master.2024-05-21 → 3.6.7-master.2024-05-23

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 (85) hide show
  1. package/CHANGELOG.md +3 -11
  2. package/dist/json/attributes.json +42 -2
  3. package/dist/json/importMap-labs.json +16 -16
  4. package/dist/json/importMap.json +134 -134
  5. package/dist/json/tags.json +11 -1
  6. package/dist/json/web-types.json +103 -6
  7. package/dist/vuetify-labs.css +2449 -2444
  8. package/dist/vuetify-labs.d.ts +93 -12
  9. package/dist/vuetify-labs.esm.js +109 -83
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +108 -82
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +2268 -2263
  14. package/dist/vuetify.d.ts +130 -49
  15. package/dist/vuetify.esm.js +107 -81
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +106 -80
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +365 -363
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -2
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  24. package/lib/components/VCombobox/VCombobox.mjs +4 -3
  25. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  26. package/lib/components/VDataTable/VDataTable.css +4 -0
  27. package/lib/components/VDataTable/VDataTable.mjs +2 -1
  28. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  29. package/lib/components/VDataTable/VDataTable.sass +4 -0
  30. package/lib/components/VDataTable/VDataTableHeaders.mjs +4 -3
  31. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  32. package/lib/components/VDataTable/VDataTableServer.mjs +1 -1
  33. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  34. package/lib/components/VDataTable/VDataTableVirtual.mjs +1 -1
  35. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  36. package/lib/components/VDataTable/composables/sort.mjs +1 -1
  37. package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
  38. package/lib/components/VDataTable/index.d.mts +63 -0
  39. package/lib/components/VDatePicker/VDatePicker.mjs +2 -1
  40. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  41. package/lib/components/VDatePicker/VDatePickerMonths.mjs +10 -1
  42. package/lib/components/VDatePicker/VDatePickerMonths.mjs.map +1 -1
  43. package/lib/components/VDatePicker/index.d.mts +24 -6
  44. package/lib/components/VDivider/VDivider.css +1 -1
  45. package/lib/components/VDivider/VDivider.sass +1 -1
  46. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +1 -1
  47. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  48. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs +1 -1
  49. package/lib/components/VExpansionPanel/VExpansionPanelText.mjs.map +1 -1
  50. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +1 -1
  51. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  52. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +1 -1
  53. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  54. package/lib/components/VExpansionPanel/index.d.mts +36 -36
  55. package/lib/components/VExpansionPanel/shared.mjs +4 -0
  56. package/lib/components/VExpansionPanel/shared.mjs.map +1 -0
  57. package/lib/components/VList/VListChildren.mjs +2 -1
  58. package/lib/components/VList/VListChildren.mjs.map +1 -1
  59. package/lib/components/VStepper/VStepper.mjs +1 -1
  60. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  61. package/lib/components/VStepper/VStepperItem.mjs +1 -1
  62. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  63. package/lib/components/VStepper/VStepperWindow.mjs +2 -2
  64. package/lib/components/VStepper/VStepperWindow.mjs.map +1 -1
  65. package/lib/components/VStepper/shared.mjs +4 -0
  66. package/lib/components/VStepper/shared.mjs.map +1 -0
  67. package/lib/components/index.d.mts +87 -6
  68. package/lib/composables/defaults.mjs +4 -2
  69. package/lib/composables/defaults.mjs.map +1 -1
  70. package/lib/composables/dimensions.mjs +16 -8
  71. package/lib/composables/dimensions.mjs.map +1 -1
  72. package/lib/entry-bundler.mjs +1 -1
  73. package/lib/framework.mjs +1 -1
  74. package/lib/index.d.mts +43 -43
  75. package/lib/labs/VCalendar/VCalendar.mjs +2 -2
  76. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
  77. package/lib/labs/VDateInput/index.d.mts +6 -6
  78. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs +1 -2
  79. package/lib/labs/VStepperVertical/VStepperVerticalItem.mjs.map +1 -1
  80. package/lib/labs/VTreeview/VTreeviewItem.mjs +2 -2
  81. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  82. package/lib/labs/components.d.mts +6 -6
  83. package/lib/locale/fa.mjs +10 -10
  84. package/lib/locale/fa.mjs.map +1 -1
  85. package/package.json +1 -1
@@ -79,7 +79,7 @@ declare const VDatePicker: {
79
79
  theme?: string | undefined;
80
80
  color?: string | undefined;
81
81
  month?: string | number | undefined;
82
- year?: string | number | undefined;
82
+ year?: number | undefined;
83
83
  border?: string | number | boolean | undefined;
84
84
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
85
85
  rounded?: string | number | boolean | undefined;
@@ -132,7 +132,7 @@ declare const VDatePicker: {
132
132
  theme?: string | undefined;
133
133
  color?: string | undefined;
134
134
  month?: string | number | undefined;
135
- year?: string | number | undefined;
135
+ year?: number | undefined;
136
136
  border?: string | number | boolean | undefined;
137
137
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
138
138
  rounded?: string | number | boolean | undefined;
@@ -225,7 +225,7 @@ declare const VDatePicker: {
225
225
  theme?: string | undefined;
226
226
  color?: string | undefined;
227
227
  month?: string | number | undefined;
228
- year?: string | number | undefined;
228
+ year?: number | undefined;
229
229
  border?: string | number | boolean | undefined;
230
230
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
231
231
  rounded?: string | number | boolean | undefined;
@@ -299,7 +299,7 @@ declare const VDatePicker: {
299
299
  theme?: string | undefined;
300
300
  color?: string | undefined;
301
301
  month?: string | number | undefined;
302
- year?: string | number | undefined;
302
+ year?: number | undefined;
303
303
  border?: string | number | boolean | undefined;
304
304
  position?: "fixed" | "absolute" | "relative" | "static" | "sticky" | undefined;
305
305
  rounded?: string | number | boolean | undefined;
@@ -412,12 +412,12 @@ declare const VDatePicker: {
412
412
  hideHeader: BooleanConstructor;
413
413
  max: vue.PropType<unknown>;
414
414
  min: vue.PropType<unknown>;
415
+ year: NumberConstructor;
415
416
  allowedDates: vue.PropType<unknown[] | ((date: unknown) => boolean)>;
416
417
  disabled: BooleanConstructor;
417
418
  displayValue: vue.PropType<unknown>;
418
419
  month: (StringConstructor | NumberConstructor)[];
419
420
  showAdjacentMonths: BooleanConstructor;
420
- year: (StringConstructor | NumberConstructor)[];
421
421
  weekdays: {
422
422
  type: {
423
423
  (arrayLength: number): number[];
@@ -521,12 +521,12 @@ declare const VDatePicker: {
521
521
  hideHeader: BooleanConstructor;
522
522
  max: vue.PropType<unknown>;
523
523
  min: vue.PropType<unknown>;
524
+ year: NumberConstructor;
524
525
  allowedDates: vue.PropType<unknown[] | ((date: unknown) => boolean)>;
525
526
  disabled: BooleanConstructor;
526
527
  displayValue: vue.PropType<unknown>;
527
528
  month: (StringConstructor | NumberConstructor)[];
528
529
  showAdjacentMonths: BooleanConstructor;
529
- year: (StringConstructor | NumberConstructor)[];
530
530
  weekdays: {
531
531
  type: {
532
532
  (arrayLength: number): number[];
@@ -1303,7 +1303,10 @@ declare const VDatePickerMonths: {
1303
1303
  new (...args: any[]): vue.CreateComponentPublicInstance<{} & {
1304
1304
  height?: string | number | undefined;
1305
1305
  color?: string | undefined;
1306
+ year?: number | undefined;
1306
1307
  modelValue?: number | undefined;
1308
+ max?: unknown;
1309
+ min?: unknown;
1307
1310
  } & {
1308
1311
  $children?: {} | vue.VNodeChild | {
1309
1312
  month?: ((arg: {
@@ -1347,7 +1350,10 @@ declare const VDatePickerMonths: {
1347
1350
  }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {} & {
1348
1351
  height?: string | number | undefined;
1349
1352
  color?: string | undefined;
1353
+ year?: number | undefined;
1350
1354
  modelValue?: number | undefined;
1355
+ max?: unknown;
1356
+ min?: unknown;
1351
1357
  } & {
1352
1358
  $children?: {} | vue.VNodeChild | {
1353
1359
  month?: ((arg: {
@@ -1409,7 +1415,10 @@ declare const VDatePickerMonths: {
1409
1415
  }, {} & {
1410
1416
  height?: string | number | undefined;
1411
1417
  color?: string | undefined;
1418
+ year?: number | undefined;
1412
1419
  modelValue?: number | undefined;
1420
+ max?: unknown;
1421
+ min?: unknown;
1413
1422
  } & {
1414
1423
  $children?: {} | vue.VNodeChild | {
1415
1424
  month?: ((arg: {
@@ -1455,7 +1464,10 @@ declare const VDatePickerMonths: {
1455
1464
  } & vue.ComponentOptionsBase<{} & {
1456
1465
  height?: string | number | undefined;
1457
1466
  color?: string | undefined;
1467
+ year?: number | undefined;
1458
1468
  modelValue?: number | undefined;
1469
+ max?: unknown;
1470
+ min?: unknown;
1459
1471
  } & {
1460
1472
  $children?: {} | vue.VNodeChild | {
1461
1473
  month?: ((arg: {
@@ -1512,11 +1524,17 @@ declare const VDatePickerMonths: {
1512
1524
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
1513
1525
  color: StringConstructor;
1514
1526
  height: (StringConstructor | NumberConstructor)[];
1527
+ min: PropType<unknown>;
1528
+ max: PropType<unknown>;
1515
1529
  modelValue: NumberConstructor;
1530
+ year: NumberConstructor;
1516
1531
  }, vue.ExtractPropTypes<{
1517
1532
  color: StringConstructor;
1518
1533
  height: (StringConstructor | NumberConstructor)[];
1534
+ min: PropType<unknown>;
1535
+ max: PropType<unknown>;
1519
1536
  modelValue: NumberConstructor;
1537
+ year: NumberConstructor;
1520
1538
  }>>;
1521
1539
  type VDatePickerMonths = InstanceType<typeof VDatePickerMonths>;
1522
1540
 
@@ -12,7 +12,7 @@
12
12
  align-self: stretch;
13
13
  border-width: 0 thin 0 0;
14
14
  display: inline-flex;
15
- height: 100%;
15
+ height: auto;
16
16
  margin-left: -1px;
17
17
  max-height: 100%;
18
18
  max-width: 0px;
@@ -16,7 +16,7 @@
16
16
  align-self: stretch
17
17
  border-width: $divider-vertical-border-width
18
18
  display: inline-flex
19
- height: 100%
19
+ height: auto
20
20
  margin-left: $divider-vertical-margin-left
21
21
  max-height: 100%
22
22
  max-width: 0px
@@ -1,6 +1,6 @@
1
1
  import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
2
2
  // Components
3
- import { VExpansionPanelSymbol } from "./VExpansionPanels.mjs";
3
+ import { VExpansionPanelSymbol } from "./shared.mjs";
4
4
  import { makeVExpansionPanelTextProps, VExpansionPanelText } from "./VExpansionPanelText.mjs";
5
5
  import { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from "./VExpansionPanelTitle.mjs"; // Composables
6
6
  import { useBackgroundColor } from "../../composables/color.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"VExpansionPanel.mjs","names":["VExpansionPanelSymbol","makeVExpansionPanelTextProps","VExpansionPanelText","makeVExpansionPanelTitleProps","VExpansionPanelTitle","useBackgroundColor","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeTagProps","computed","provide","genericComponent","propsFactory","useRender","makeVExpansionPanelProps","title","String","text","bgColor","VExpansionPanel","name","props","emits","val","setup","_ref","slots","groupItem","backgroundColorClasses","backgroundColorStyles","elevationClasses","roundedClasses","isDisabled","disabled","value","selectedIndices","group","items","reduce","arr","item","index","selected","includes","id","push","isBeforeSelected","findIndex","isSelected","some","selectedIndex","isAfterSelected","hasText","hasTitle","expansionPanelTitleProps","filterProps","expansionPanelTextProps","_createVNode","tag","class","style","default","_mergeProps"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanel.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { makeVExpansionPanelTextProps, VExpansionPanelText } from './VExpansionPanelText'\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelProps = propsFactory({\n title: String,\n text: String,\n bgColor: String,\n\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n ...makeVExpansionPanelTextProps(),\n}, 'VExpansionPanel')\n\nexport type VExpansionPanelSlots = {\n default: never\n title: never\n text: never\n}\n\nexport const VExpansionPanel = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanel',\n\n props: makeVExpansionPanelProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const isDisabled = computed(() => groupItem?.disabled.value || props.disabled)\n\n const selectedIndices = computed(() => groupItem.group.items.value.reduce<number[]>((arr, item, index) => {\n if (groupItem.group.selected.value.includes(item.id)) arr.push(index)\n return arr\n }, []))\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === -1)\n })\n\n provide(VExpansionPanelSymbol, groupItem)\n\n useRender(() => {\n const hasText = !!(slots.text || props.text)\n const hasTitle = !!(slots.title || props.title)\n\n const expansionPanelTitleProps = VExpansionPanelTitle.filterProps(props)\n const expansionPanelTextProps = VExpansionPanelText.filterProps(props)\n\n return (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': isDisabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n\n { hasTitle && (\n <VExpansionPanelTitle\n key=\"title\"\n { ...expansionPanelTitleProps }\n >\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n )}\n\n { hasText && (\n <VExpansionPanelText\n key=\"text\"\n { ...expansionPanelTextProps }\n >\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n )}\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {\n groupItem,\n }\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VExpansionPanel.mjs","names":["VExpansionPanelSymbol","makeVExpansionPanelTextProps","VExpansionPanelText","makeVExpansionPanelTitleProps","VExpansionPanelTitle","useBackgroundColor","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeTagProps","computed","provide","genericComponent","propsFactory","useRender","makeVExpansionPanelProps","title","String","text","bgColor","VExpansionPanel","name","props","emits","val","setup","_ref","slots","groupItem","backgroundColorClasses","backgroundColorStyles","elevationClasses","roundedClasses","isDisabled","disabled","value","selectedIndices","group","items","reduce","arr","item","index","selected","includes","id","push","isBeforeSelected","findIndex","isSelected","some","selectedIndex","isAfterSelected","hasText","hasTitle","expansionPanelTitleProps","filterProps","expansionPanelTextProps","_createVNode","tag","class","style","default","_mergeProps"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanel.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { makeVExpansionPanelTextProps, VExpansionPanelText } from './VExpansionPanelText'\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelProps = propsFactory({\n title: String,\n text: String,\n bgColor: String,\n\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n ...makeVExpansionPanelTextProps(),\n}, 'VExpansionPanel')\n\nexport type VExpansionPanelSlots = {\n default: never\n title: never\n text: never\n}\n\nexport const VExpansionPanel = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanel',\n\n props: makeVExpansionPanelProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const isDisabled = computed(() => groupItem?.disabled.value || props.disabled)\n\n const selectedIndices = computed(() => groupItem.group.items.value.reduce<number[]>((arr, item, index) => {\n if (groupItem.group.selected.value.includes(item.id)) arr.push(index)\n return arr\n }, []))\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === -1)\n })\n\n provide(VExpansionPanelSymbol, groupItem)\n\n useRender(() => {\n const hasText = !!(slots.text || props.text)\n const hasTitle = !!(slots.title || props.title)\n\n const expansionPanelTitleProps = VExpansionPanelTitle.filterProps(props)\n const expansionPanelTextProps = VExpansionPanelText.filterProps(props)\n\n return (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': isDisabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n\n { hasTitle && (\n <VExpansionPanelTitle\n key=\"title\"\n { ...expansionPanelTitleProps }\n >\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n )}\n\n { hasText && (\n <VExpansionPanelText\n key=\"text\"\n { ...expansionPanelTextProps }\n >\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n )}\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {\n groupItem,\n }\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { withDirectives as _withDirectives, vShow as _vShow, createVNode as _createVNode } from "vue";
2
2
  // Components
3
- import { VExpansionPanelSymbol } from "./VExpansionPanels.mjs";
3
+ import { VExpansionPanelSymbol } from "./shared.mjs";
4
4
  import { VExpandTransition } from "../transitions/index.mjs"; // Composables
5
5
  import { makeComponentProps } from "../../composables/component.mjs";
6
6
  import { makeLazyProps, useLazy } from "../../composables/lazy.mjs"; // Utilities
@@ -1 +1 @@
1
- {"version":3,"file":"VExpansionPanelText.mjs","names":["VExpansionPanelSymbol","VExpandTransition","makeComponentProps","makeLazyProps","useLazy","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTextProps","VExpansionPanelText","name","props","setup","_ref","slots","expansionPanel","Error","hasContent","onAfterLeave","isSelected","_createVNode","default","_withDirectives","class","style","value","_vShow"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelText.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\n\n// Utilities\nimport { inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelTextProps = propsFactory({\n ...makeComponentProps(),\n ...makeLazyProps(),\n}, 'VExpansionPanelText')\n\nexport const VExpansionPanelText = genericComponent()({\n name: 'VExpansionPanelText',\n\n props: makeVExpansionPanelTextProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel')\n\n const { hasContent, onAfterLeave } = useLazy(props, expansionPanel.isSelected)\n\n useRender(() => (\n <VExpandTransition onAfterLeave={ onAfterLeave }>\n <div\n class={[\n 'v-expansion-panel-text',\n props.class,\n ]}\n style={ props.style }\n v-show={ expansionPanel.isSelected.value }\n >\n { slots.default && hasContent.value && (\n <div class=\"v-expansion-panel-text__wrapper\">\n { slots.default?.() }\n </div>\n )}\n </div>\n </VExpandTransition>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelText = InstanceType<typeof VExpansionPanelText>\n"],"mappings":";AAAA;AAAA,SACSA,qBAAqB;AAAA,SACrBC,iBAAiB,oCAE1B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,aAAa,EAAEC,OAAO,sCAE/B;AACA,SAASC,MAAM,QAAQ,KAAK;AAAA,SACnBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,4BAA4B,GAAGF,YAAY,CAAC;EACvD,GAAGL,kBAAkB,CAAC,CAAC;EACvB,GAAGC,aAAa,CAAC;AACnB,CAAC,EAAE,qBAAqB,CAAC;AAEzB,OAAO,MAAMO,mBAAmB,GAAGJ,gBAAgB,CAAC,CAAC,CAAC;EACpDK,IAAI,EAAE,qBAAqB;EAE3BC,KAAK,EAAEH,4BAA4B,CAAC,CAAC;EAErCI,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,cAAc,GAAGX,MAAM,CAACL,qBAAqB,CAAC;IAEpD,IAAI,CAACgB,cAAc,EAAE,MAAM,IAAIC,KAAK,CAAC,8EAA8E,CAAC;IAEpH,MAAM;MAAEC,UAAU;MAAEC;IAAa,CAAC,GAAGf,OAAO,CAACQ,KAAK,EAAEI,cAAc,CAACI,UAAU,CAAC;IAE9EZ,SAAS,CAAC,MAAAa,YAAA,CAAApB,iBAAA;MAAA,gBAC0BkB;IAAY;MAAAG,OAAA,EAAAA,CAAA,MAAAC,eAAA,CAAAF,YAAA;QAAA,SAEnC,CACL,wBAAwB,EACxBT,KAAK,CAACY,KAAK,CACZ;QAAA,SACOZ,KAAK,CAACa;MAAK,IAGjBV,KAAK,CAACO,OAAO,IAAIJ,UAAU,CAACQ,KAAK,IAAAL,YAAA;QAAA;MAAA,IAE7BN,KAAK,CAACO,OAAO,GAAG,CAAC,EAEtB,MAAAK,MAAA,EANQX,cAAc,CAACI,UAAU,CAACM,KAAK;IAAA,EAS7C,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"VExpansionPanelText.mjs","names":["VExpansionPanelSymbol","VExpandTransition","makeComponentProps","makeLazyProps","useLazy","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTextProps","VExpansionPanelText","name","props","setup","_ref","slots","expansionPanel","Error","hasContent","onAfterLeave","isSelected","_createVNode","default","_withDirectives","class","style","value","_vShow"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelText.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { VExpandTransition } from '@/components/transitions'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeLazyProps, useLazy } from '@/composables/lazy'\n\n// Utilities\nimport { inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelTextProps = propsFactory({\n ...makeComponentProps(),\n ...makeLazyProps(),\n}, 'VExpansionPanelText')\n\nexport const VExpansionPanelText = genericComponent()({\n name: 'VExpansionPanelText',\n\n props: makeVExpansionPanelTextProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel')\n\n const { hasContent, onAfterLeave } = useLazy(props, expansionPanel.isSelected)\n\n useRender(() => (\n <VExpandTransition onAfterLeave={ onAfterLeave }>\n <div\n class={[\n 'v-expansion-panel-text',\n props.class,\n ]}\n style={ props.style }\n v-show={ expansionPanel.isSelected.value }\n >\n { slots.default && hasContent.value && (\n <div class=\"v-expansion-panel-text__wrapper\">\n { slots.default?.() }\n </div>\n )}\n </div>\n </VExpandTransition>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelText = InstanceType<typeof VExpansionPanelText>\n"],"mappings":";AAAA;AAAA,SACSA,qBAAqB;AAAA,SACrBC,iBAAiB,oCAE1B;AAAA,SACSC,kBAAkB;AAAA,SAClBC,aAAa,EAAEC,OAAO,sCAE/B;AACA,SAASC,MAAM,QAAQ,KAAK;AAAA,SACnBC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAElD,OAAO,MAAMC,4BAA4B,GAAGF,YAAY,CAAC;EACvD,GAAGL,kBAAkB,CAAC,CAAC;EACvB,GAAGC,aAAa,CAAC;AACnB,CAAC,EAAE,qBAAqB,CAAC;AAEzB,OAAO,MAAMO,mBAAmB,GAAGJ,gBAAgB,CAAC,CAAC,CAAC;EACpDK,IAAI,EAAE,qBAAqB;EAE3BC,KAAK,EAAEH,4BAA4B,CAAC,CAAC;EAErCI,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,cAAc,GAAGX,MAAM,CAACL,qBAAqB,CAAC;IAEpD,IAAI,CAACgB,cAAc,EAAE,MAAM,IAAIC,KAAK,CAAC,8EAA8E,CAAC;IAEpH,MAAM;MAAEC,UAAU;MAAEC;IAAa,CAAC,GAAGf,OAAO,CAACQ,KAAK,EAAEI,cAAc,CAACI,UAAU,CAAC;IAE9EZ,SAAS,CAAC,MAAAa,YAAA,CAAApB,iBAAA;MAAA,gBAC0BkB;IAAY;MAAAG,OAAA,EAAAA,CAAA,MAAAC,eAAA,CAAAF,YAAA;QAAA,SAEnC,CACL,wBAAwB,EACxBT,KAAK,CAACY,KAAK,CACZ;QAAA,SACOZ,KAAK,CAACa;MAAK,IAGjBV,KAAK,CAACO,OAAO,IAAIJ,UAAU,CAACQ,KAAK,IAAAL,YAAA;QAAA;MAAA,IAE7BN,KAAK,CAACO,OAAO,GAAG,CAAC,EAEtB,MAAAK,MAAA,EANQX,cAAc,CAACI,UAAU,CAACM,KAAK;IAAA,EAS7C,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
2
2
  // Components
3
- import { VExpansionPanelSymbol } from "./VExpansionPanels.mjs";
3
+ import { VExpansionPanelSymbol } from "./shared.mjs";
4
4
  import { VIcon } from "../VIcon/index.mjs"; // Composables
5
5
  import { useBackgroundColor } from "../../composables/color.mjs";
6
6
  import { makeComponentProps } from "../../composables/component.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VIcon","useBackgroundColor","makeComponentProps","IconValue","Ripple","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","focusable","static","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './VExpansionPanels'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: ExpansionPanelTitleSlot\n actions: ExpansionPanelTitleSlot\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n focusable: Boolean,\n static: Boolean,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n}, 'VExpansionPanelTitle')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n 'v-expansion-panel-title--focusable': props.focusable,\n 'v-expansion-panel-title--static': props.static,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <span class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </span>\n )}\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VIcon","useBackgroundColor","makeComponentProps","IconValue","Ripple","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","focusable","static","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: ExpansionPanelTitleSlot\n actions: ExpansionPanelTitleSlot\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n focusable: Boolean,\n static: Boolean,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n}, 'VExpansionPanelTitle')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n 'v-expansion-panel-title--focusable': props.focusable,\n 'v-expansion-panel-title--static': props.static,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <span class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </span>\n )}\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n"],"mappings":"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","ignoreList":[]}
@@ -3,13 +3,13 @@ import { createVNode as _createVNode } from "vue";
3
3
  import "./VExpansionPanel.css";
4
4
 
5
5
  // Components
6
+ import { VExpansionPanelSymbol } from "./shared.mjs";
6
7
  import { makeVExpansionPanelProps } from "./VExpansionPanel.mjs"; // Composables
7
8
  import { provideDefaults } from "../../composables/defaults.mjs";
8
9
  import { makeGroupProps, useGroup } from "../../composables/group.mjs";
9
10
  import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities
10
11
  import { computed, toRef } from 'vue';
11
12
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
12
- export const VExpansionPanelSymbol = Symbol.for('vuetify:v-expansion-panel');
13
13
  const allowedVariants = ['default', 'accordion', 'inset', 'popout'];
14
14
  export const makeVExpansionPanelsProps = propsFactory({
15
15
  flat: Boolean,
@@ -1 +1 @@
1
- {"version":3,"file":"VExpansionPanels.mjs","names":["makeVExpansionPanelProps","provideDefaults","makeGroupProps","useGroup","makeThemeProps","provideTheme","computed","toRef","genericComponent","propsFactory","useRender","VExpansionPanelSymbol","Symbol","for","allowedVariants","makeVExpansionPanelsProps","flat","Boolean","variant","type","String","default","validator","v","includes","VExpansionPanels","name","props","emits","val","setup","_ref","slots","next","prev","themeClasses","variantClass","VExpansionPanel","bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","static","_createVNode","tag","tile","value","class","style"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanels.tsx"],"sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { makeVExpansionPanelProps } from './VExpansionPanel'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VExpansionPanelSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-expansion-panel')\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\n\ntype Variant = typeof allowedVariants[number]\n\nexport type VExpansionPanelSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VExpansionPanelSlots = {\n default: VExpansionPanelSlot\n}\n\nexport const makeVExpansionPanelsProps = propsFactory({\n flat: Boolean,\n\n ...makeGroupProps(),\n ...makeVExpansionPanelProps(),\n ...makeThemeProps(),\n\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'VExpansionPanels')\n\nexport const VExpansionPanels = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanels',\n\n props: makeVExpansionPanelsProps(),\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { next, prev } = useGroup(props, VExpansionPanelSymbol)\n\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n provideDefaults({\n VExpansionPanel: {\n bgColor: toRef(props, 'bgColor'),\n collapseIcon: toRef(props, 'collapseIcon'),\n color: toRef(props, 'color'),\n eager: toRef(props, 'eager'),\n elevation: toRef(props, 'elevation'),\n expandIcon: toRef(props, 'expandIcon'),\n focusable: toRef(props, 'focusable'),\n hideActions: toRef(props, 'hideActions'),\n readonly: toRef(props, 'readonly'),\n ripple: toRef(props, 'ripple'),\n rounded: toRef(props, 'rounded'),\n static: toRef(props, 'static'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-expansion-panels',\n {\n 'v-expansion-panels--flat': props.flat,\n 'v-expansion-panels--tile': props.tile,\n },\n themeClasses.value,\n variantClass.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.({ prev, next }) }\n </props.tag>\n ))\n\n return {\n next,\n prev,\n }\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VExpansionPanels.mjs","names":["VExpansionPanelSymbol","makeVExpansionPanelProps","provideDefaults","makeGroupProps","useGroup","makeThemeProps","provideTheme","computed","toRef","genericComponent","propsFactory","useRender","allowedVariants","makeVExpansionPanelsProps","flat","Boolean","variant","type","String","default","validator","v","includes","VExpansionPanels","name","props","emits","val","setup","_ref","slots","next","prev","themeClasses","variantClass","VExpansionPanel","bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","static","_createVNode","tag","tile","value","class","style"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanels.tsx"],"sourcesContent":["// Styles\nimport './VExpansionPanel.sass'\n\n// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { makeVExpansionPanelProps } from './VExpansionPanel'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nconst allowedVariants = ['default', 'accordion', 'inset', 'popout'] as const\n\ntype Variant = typeof allowedVariants[number]\n\nexport type VExpansionPanelSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VExpansionPanelSlots = {\n default: VExpansionPanelSlot\n}\n\nexport const makeVExpansionPanelsProps = propsFactory({\n flat: Boolean,\n\n ...makeGroupProps(),\n ...makeVExpansionPanelProps(),\n ...makeThemeProps(),\n\n variant: {\n type: String as PropType<Variant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n}, 'VExpansionPanels')\n\nexport const VExpansionPanels = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanels',\n\n props: makeVExpansionPanelsProps(),\n\n emits: {\n 'update:modelValue': (val: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { next, prev } = useGroup(props, VExpansionPanelSymbol)\n\n const { themeClasses } = provideTheme(props)\n\n const variantClass = computed(() => props.variant && `v-expansion-panels--variant-${props.variant}`)\n\n provideDefaults({\n VExpansionPanel: {\n bgColor: toRef(props, 'bgColor'),\n collapseIcon: toRef(props, 'collapseIcon'),\n color: toRef(props, 'color'),\n eager: toRef(props, 'eager'),\n elevation: toRef(props, 'elevation'),\n expandIcon: toRef(props, 'expandIcon'),\n focusable: toRef(props, 'focusable'),\n hideActions: toRef(props, 'hideActions'),\n readonly: toRef(props, 'readonly'),\n ripple: toRef(props, 'ripple'),\n rounded: toRef(props, 'rounded'),\n static: toRef(props, 'static'),\n },\n })\n\n useRender(() => (\n <props.tag\n class={[\n 'v-expansion-panels',\n {\n 'v-expansion-panels--flat': props.flat,\n 'v-expansion-panels--tile': props.tile,\n },\n themeClasses.value,\n variantClass.value,\n props.class,\n ]}\n style={ props.style }\n >\n { slots.default?.({ prev, next }) }\n </props.tag>\n ))\n\n return {\n next,\n prev,\n }\n },\n})\n\nexport type VExpansionPanels = InstanceType<typeof VExpansionPanels>\n"],"mappings":"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","ignoreList":[]}
@@ -8,42 +8,6 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
8
8
  type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
9
9
  declare const IconValue: PropType<IconValue>;
10
10
 
11
- interface GroupItem {
12
- id: number;
13
- value: Ref<unknown>;
14
- disabled: Ref<boolean | undefined>;
15
- useIndexAsValue?: boolean;
16
- }
17
- interface GroupProvide {
18
- register: (item: GroupItem, cmp: ComponentInternalInstance) => void;
19
- unregister: (id: number) => void;
20
- select: (id: number, value: boolean) => void;
21
- selected: Ref<Readonly<number[]>>;
22
- isSelected: (id: number) => boolean;
23
- prev: () => void;
24
- next: () => void;
25
- selectedClass: Ref<string | undefined>;
26
- items: ComputedRef<{
27
- id: number;
28
- value: unknown;
29
- disabled: boolean | undefined;
30
- }[]>;
31
- disabled: Ref<boolean | undefined>;
32
- getItemIndex: (value: unknown) => number;
33
- }
34
- interface GroupItemProvide {
35
- id: number;
36
- isSelected: Ref<boolean>;
37
- isFirst: Ref<boolean>;
38
- isLast: Ref<boolean>;
39
- toggle: () => void;
40
- select: (value: boolean) => void;
41
- selectedClass: Ref<(string | undefined)[] | false>;
42
- value: Ref<unknown>;
43
- disabled: Ref<boolean | undefined>;
44
- group: GroupProvide;
45
- }
46
-
47
11
  type VExpansionPanelSlot = {
48
12
  prev: () => void;
49
13
  next: () => void;
@@ -434,6 +398,42 @@ declare const VExpansionPanels: {
434
398
  }>>;
435
399
  type VExpansionPanels = InstanceType<typeof VExpansionPanels>;
436
400
 
401
+ interface GroupItem {
402
+ id: number;
403
+ value: Ref<unknown>;
404
+ disabled: Ref<boolean | undefined>;
405
+ useIndexAsValue?: boolean;
406
+ }
407
+ interface GroupProvide {
408
+ register: (item: GroupItem, cmp: ComponentInternalInstance) => void;
409
+ unregister: (id: number) => void;
410
+ select: (id: number, value: boolean) => void;
411
+ selected: Ref<Readonly<number[]>>;
412
+ isSelected: (id: number) => boolean;
413
+ prev: () => void;
414
+ next: () => void;
415
+ selectedClass: Ref<string | undefined>;
416
+ items: ComputedRef<{
417
+ id: number;
418
+ value: unknown;
419
+ disabled: boolean | undefined;
420
+ }[]>;
421
+ disabled: Ref<boolean | undefined>;
422
+ getItemIndex: (value: unknown) => number;
423
+ }
424
+ interface GroupItemProvide {
425
+ id: number;
426
+ isSelected: Ref<boolean>;
427
+ isFirst: Ref<boolean>;
428
+ isLast: Ref<boolean>;
429
+ toggle: () => void;
430
+ select: (value: boolean) => void;
431
+ selectedClass: Ref<(string | undefined)[] | false>;
432
+ value: Ref<unknown>;
433
+ disabled: Ref<boolean | undefined>;
434
+ group: GroupProvide;
435
+ }
436
+
437
437
  declare const VExpansionPanel: {
438
438
  new (...args: any[]): vue.CreateComponentPublicInstance<{
439
439
  style: vue.StyleValue;
@@ -0,0 +1,4 @@
1
+ // Types
2
+
3
+ export const VExpansionPanelSymbol = Symbol.for('vuetify:v-expansion-panel');
4
+ //# sourceMappingURL=shared.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.mjs","names":["VExpansionPanelSymbol","Symbol","for"],"sources":["../../../src/components/VExpansionPanel/shared.ts"],"sourcesContent":["// Types\nimport type { InjectionKey } from 'vue'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VExpansionPanelSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-expansion-panel')\n"],"mappings":"AAAA;;AAIA,OAAO,MAAMA,qBAAqD,GAAGC,MAAM,CAACC,GAAG,CAAC,2BAA2B,CAAC","ignoreList":[]}
@@ -71,7 +71,8 @@ export const VListChildren = genericComponent()({
71
71
  }) : _createVNode(VListItem, listItemProps, slotsWithItem);
72
72
  },
73
73
  default: () => _createVNode(VListChildren, {
74
- "items": children
74
+ "items": children,
75
+ "returnObject": props.returnObject
75
76
  }, slots)
76
77
  }) : slots.item ? slots.item({
77
78
  props: itemProps
@@ -1 +1 @@
1
- {"version":3,"file":"VListChildren.mjs","names":["VListGroup","VListItem","VListSubheader","VDivider","createList","genericComponent","propsFactory","makeVListChildrenProps","items","Array","returnObject","Boolean","VListChildren","name","props","setup","_ref","slots","default","map","_ref2","children","itemProps","type","raw","item","divider","_createVNode","subheader","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","listGroupProps","filterProps","_mergeProps","value","activator","_ref3","activatorProps","listItemProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\nimport { VDivider } from '../VDivider'\n\n// Utilities\nimport { createList } from './list'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from './VList'\nimport type { VListItemSlots } from './VListItem'\nimport type { GenericProps } from '@/util'\n\nexport type VListChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & { item: T }\n} & {\n default: never\n item: { props: InternalListItem['props'] }\n divider: { props: InternalListItem['props'] }\n subheader: { props: InternalListItem['props'] }\n header: { props: InternalListItem['props'] }\n}\n\nexport const makeVListChildrenProps = propsFactory({\n items: Array as PropType<readonly InternalListItem[]>,\n returnObject: Boolean,\n}, 'VListChildren')\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n returnObject?: boolean\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VListChildren',\n\n props: makeVListChildrenProps(),\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, raw: item }) => {\n if (type === 'divider') {\n return slots.divider?.({ props: itemProps }) ?? (\n <VDivider { ...itemProps } />\n )\n }\n\n if (type === 'subheader') {\n return slots.subheader?.({ props: itemProps }) ?? (\n <VListSubheader { ...itemProps } />\n )\n }\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n const listGroupProps = VListGroup.filterProps(itemProps)\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n { ...listGroupProps }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: props.returnObject ? item : itemProps.value,\n }\n\n return slots.header\n ? slots.header({ props: listItemProps })\n : (\n <VListItem { ...listItemProps } v-slots={ slotsWithItem } />\n )\n },\n default: () => (\n <VListChildren items={ children } v-slots={ slots } />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item({ props: itemProps }) : (\n <VListItem\n { ...itemProps }\n value={ props.returnObject ? item : itemProps.value }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VListChildren.mjs","names":["VListGroup","VListItem","VListSubheader","VDivider","createList","genericComponent","propsFactory","makeVListChildrenProps","items","Array","returnObject","Boolean","VListChildren","name","props","setup","_ref","slots","default","map","_ref2","children","itemProps","type","raw","item","divider","_createVNode","subheader","slotsWithItem","subtitle","slotProps","undefined","prepend","append","title","listGroupProps","filterProps","_mergeProps","value","activator","_ref3","activatorProps","listItemProps","header"],"sources":["../../../src/components/VList/VListChildren.tsx"],"sourcesContent":["// Components\nimport { VListGroup } from './VListGroup'\nimport { VListItem } from './VListItem'\nimport { VListSubheader } from './VListSubheader'\nimport { VDivider } from '../VDivider'\n\n// Utilities\nimport { createList } from './list'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from './VList'\nimport type { VListItemSlots } from './VListItem'\nimport type { GenericProps } from '@/util'\n\nexport type VListChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & { item: T }\n} & {\n default: never\n item: { props: InternalListItem['props'] }\n divider: { props: InternalListItem['props'] }\n subheader: { props: InternalListItem['props'] }\n header: { props: InternalListItem['props'] }\n}\n\nexport const makeVListChildrenProps = propsFactory({\n items: Array as PropType<readonly InternalListItem[]>,\n returnObject: Boolean,\n}, 'VListChildren')\n\nexport const VListChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n returnObject?: boolean\n },\n slots: VListChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VListChildren',\n\n props: makeVListChildrenProps(),\n\n setup (props, { slots }) {\n createList()\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, type, raw: item }) => {\n if (type === 'divider') {\n return slots.divider?.({ props: itemProps }) ?? (\n <VDivider { ...itemProps } />\n )\n }\n\n if (type === 'subheader') {\n return slots.subheader?.({ props: itemProps }) ?? (\n <VListSubheader { ...itemProps } />\n )\n }\n\n const slotsWithItem = {\n subtitle: slots.subtitle ? (slotProps: any) => slots.subtitle?.({ ...slotProps, item }) : undefined,\n prepend: slots.prepend ? (slotProps: any) => slots.prepend?.({ ...slotProps, item }) : undefined,\n append: slots.append ? (slotProps: any) => slots.append?.({ ...slotProps, item }) : undefined,\n title: slots.title ? (slotProps: any) => slots.title?.({ ...slotProps, item }) : undefined,\n }\n\n const listGroupProps = VListGroup.filterProps(itemProps)\n\n return children ? (\n <VListGroup\n value={ itemProps?.value }\n { ...listGroupProps }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: props.returnObject ? item : itemProps.value,\n }\n\n return slots.header\n ? slots.header({ props: listItemProps })\n : (\n <VListItem { ...listItemProps } v-slots={ slotsWithItem } />\n )\n },\n default: () => (\n <VListChildren\n items={ children }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VListGroup>\n ) : (\n slots.item ? slots.item({ props: itemProps }) : (\n <VListItem\n { ...itemProps }\n value={ props.returnObject ? item : itemProps.value }\n v-slots={ slotsWithItem }\n />\n )\n )\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,7 @@ import { mergeProps as _mergeProps, resolveDirective as _resolveDirective, creat
3
3
  import "./VStepper.css";
4
4
 
5
5
  // Components
6
+ import { VStepperSymbol } from "./shared.mjs";
6
7
  import { makeVStepperActionsProps, VStepperActions } from "./VStepperActions.mjs";
7
8
  import { VStepperHeader } from "./VStepperHeader.mjs";
8
9
  import { VStepperItem } from "./VStepperItem.mjs";
@@ -14,7 +15,6 @@ import { provideDefaults } from "../../composables/defaults.mjs";
14
15
  import { makeGroupProps, useGroup } from "../../composables/group.mjs"; // Utilities
15
16
  import { computed, toRefs } from 'vue';
16
17
  import { genericComponent, getPropertyFromItem, only, propsFactory, useRender } from "../../util/index.mjs"; // Types
17
- export const VStepperSymbol = Symbol.for('vuetify:v-stepper');
18
18
  export const makeStepperProps = propsFactory({
19
19
  altLabels: Boolean,
20
20
  bgColor: String,
@@ -1 +1 @@
1
- {"version":3,"file":"VStepper.mjs","names":["makeVStepperActionsProps","VStepperActions","VStepperHeader","VStepperItem","VStepperWindow","VStepperWindowItem","VDivider","makeVSheetProps","VSheet","provideDefaults","makeGroupProps","useGroup","computed","toRefs","genericComponent","getPropertyFromItem","only","propsFactory","useRender","VStepperSymbol","Symbol","for","makeStepperProps","altLabels","Boolean","bgColor","String","editable","hideActions","items","type","Array","default","itemTitle","itemValue","mobile","nonLinear","flat","makeVStepperProps","mandatory","selectedClass","VStepper","name","props","emits","v","setup","_ref","slots","_items","next","prev","selected","color","prevText","nextText","map","item","index","title","value","raw","activeIndex","findIndex","includes","id","disabled","length","sheetProps","filterProps","hasHeader","header","hasWindow","hasActions","actions","_createVNode","_mergeProps","class","style","_ref2","_Fragment","icon","subtitle"],"sources":["../../../src/components/VStepper/VStepper.tsx"],"sourcesContent":["// Styles\nimport './VStepper.sass'\n\n// Components\nimport { makeVStepperActionsProps, VStepperActions } from './VStepperActions'\nimport { VStepperHeader } from './VStepperHeader'\nimport { VStepperItem } from './VStepperItem'\nimport { VStepperWindow } from './VStepperWindow'\nimport { VStepperWindowItem } from './VStepperWindowItem'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utilities\nimport { computed, toRefs } from 'vue'\nimport { genericComponent, getPropertyFromItem, only, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { InjectionKey, PropType } from 'vue'\nimport type { StepperItem, StepperItemSlot } from './VStepperItem'\nimport type { GroupItemProvide } from '@/composables/group'\n\nexport const VStepperSymbol: InjectionKey<GroupItemProvide> = Symbol.for('vuetify:v-stepper')\n\nexport type VStepperSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VStepperSlots = {\n actions: VStepperSlot\n default: VStepperSlot\n header: StepperItem\n 'header-item': StepperItemSlot\n icon: StepperItemSlot\n title: StepperItemSlot\n subtitle: StepperItemSlot\n item: StepperItem\n prev: never\n next: never\n} & {\n [key: `header-item.${string}`]: StepperItemSlot\n [key: `item.${string}`]: StepperItem\n}\n\nexport const makeStepperProps = propsFactory({\n altLabels: Boolean,\n bgColor: String,\n editable: Boolean,\n hideActions: Boolean,\n items: {\n type: Array as PropType<readonly StepperItem[]>,\n default: () => ([]),\n },\n itemTitle: {\n type: String,\n default: 'title',\n },\n itemValue: {\n type: String,\n default: 'value',\n },\n mobile: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n}, 'Stepper')\n\nexport const makeVStepperProps = propsFactory({\n ...makeStepperProps(),\n ...makeGroupProps({\n mandatory: 'force' as const,\n selectedClass: 'v-stepper-item--selected',\n }),\n ...makeVSheetProps(),\n ...only(makeVStepperActionsProps(), ['prevText', 'nextText']),\n}, 'VStepper')\n\nexport const VStepper = genericComponent<VStepperSlots>()({\n name: 'VStepper',\n\n props: makeVStepperProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { items: _items, next, prev, selected } = useGroup(props, VStepperSymbol)\n const { color, editable, prevText, nextText } = toRefs(props)\n\n const items = computed(() => props.items.map((item, index) => {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, index + 1)\n\n return {\n title,\n value,\n raw: item,\n }\n }))\n const activeIndex = computed(() => {\n return _items.value.findIndex(item => selected.value.includes(item.id))\n })\n const disabled = computed(() => {\n if (props.disabled) return props.disabled\n if (activeIndex.value === 0) return 'prev'\n if (activeIndex.value === _items.value.length - 1) return 'next'\n\n return false\n })\n\n provideDefaults({\n VStepperItem: {\n editable,\n prevText,\n nextText,\n },\n VStepperActions: {\n color,\n disabled,\n prevText,\n nextText,\n },\n })\n\n useRender(() => {\n const sheetProps = VSheet.filterProps(props)\n\n const hasHeader = !!(slots.header || props.items.length)\n const hasWindow = props.items.length > 0\n const hasActions = !props.hideActions && !!(hasWindow || slots.actions)\n\n return (\n <VSheet\n { ...sheetProps }\n color={ props.bgColor }\n class={[\n 'v-stepper',\n {\n 'v-stepper--alt-labels': props.altLabels,\n 'v-stepper--flat': props.flat,\n 'v-stepper--non-linear': props.nonLinear,\n 'v-stepper--mobile': props.mobile,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { hasHeader && (\n <VStepperHeader key=\"stepper-header\">\n { items.value.map(({ raw, ...item }, index) => (\n <>\n { !!index && (<VDivider />) }\n\n <VStepperItem\n { ...item }\n v-slots={{\n default: slots[`header-item.${item.value}`] ?? slots.header,\n icon: slots.icon,\n title: slots.title,\n subtitle: slots.subtitle,\n }}\n />\n </>\n ))}\n </VStepperHeader>\n )}\n\n { hasWindow && (\n <VStepperWindow key=\"stepper-window\">\n { items.value.map(item => (\n <VStepperWindowItem\n value={ item.value }\n v-slots={{\n default: () => slots[`item.${item.value}`]?.(item) ?? slots.item?.(item),\n }}\n />\n ))}\n </VStepperWindow>\n )}\n\n { slots.default?.({ prev, next }) }\n\n { hasActions && (\n slots.actions?.({ next, prev }) ?? (\n <VStepperActions\n key=\"stepper-actions\"\n onClick:prev={ prev }\n onClick:next={ next }\n v-slots={ slots }\n />\n )\n )}\n </VSheet>\n )\n })\n\n return {\n prev,\n next,\n }\n },\n})\n\nexport type VStepper = InstanceType<typeof VStepper>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VStepper.mjs","names":["VStepperSymbol","makeVStepperActionsProps","VStepperActions","VStepperHeader","VStepperItem","VStepperWindow","VStepperWindowItem","VDivider","makeVSheetProps","VSheet","provideDefaults","makeGroupProps","useGroup","computed","toRefs","genericComponent","getPropertyFromItem","only","propsFactory","useRender","makeStepperProps","altLabels","Boolean","bgColor","String","editable","hideActions","items","type","Array","default","itemTitle","itemValue","mobile","nonLinear","flat","makeVStepperProps","mandatory","selectedClass","VStepper","name","props","emits","v","setup","_ref","slots","_items","next","prev","selected","color","prevText","nextText","map","item","index","title","value","raw","activeIndex","findIndex","includes","id","disabled","length","sheetProps","filterProps","hasHeader","header","hasWindow","hasActions","actions","_createVNode","_mergeProps","class","style","_ref2","_Fragment","icon","subtitle"],"sources":["../../../src/components/VStepper/VStepper.tsx"],"sourcesContent":["// Styles\nimport './VStepper.sass'\n\n// Components\nimport { VStepperSymbol } from './shared'\nimport { makeVStepperActionsProps, VStepperActions } from './VStepperActions'\nimport { VStepperHeader } from './VStepperHeader'\nimport { VStepperItem } from './VStepperItem'\nimport { VStepperWindow } from './VStepperWindow'\nimport { VStepperWindowItem } from './VStepperWindowItem'\nimport { VDivider } from '@/components/VDivider'\nimport { makeVSheetProps, VSheet } from '@/components/VSheet/VSheet'\n\n// Composables\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeGroupProps, useGroup } from '@/composables/group'\n\n// Utilities\nimport { computed, toRefs } from 'vue'\nimport { genericComponent, getPropertyFromItem, only, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { StepperItem, StepperItemSlot } from './VStepperItem'\n\nexport type VStepperSlot = {\n prev: () => void\n next: () => void\n}\n\nexport type VStepperSlots = {\n actions: VStepperSlot\n default: VStepperSlot\n header: StepperItem\n 'header-item': StepperItemSlot\n icon: StepperItemSlot\n title: StepperItemSlot\n subtitle: StepperItemSlot\n item: StepperItem\n prev: never\n next: never\n} & {\n [key: `header-item.${string}`]: StepperItemSlot\n [key: `item.${string}`]: StepperItem\n}\n\nexport const makeStepperProps = propsFactory({\n altLabels: Boolean,\n bgColor: String,\n editable: Boolean,\n hideActions: Boolean,\n items: {\n type: Array as PropType<readonly StepperItem[]>,\n default: () => ([]),\n },\n itemTitle: {\n type: String,\n default: 'title',\n },\n itemValue: {\n type: String,\n default: 'value',\n },\n mobile: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n}, 'Stepper')\n\nexport const makeVStepperProps = propsFactory({\n ...makeStepperProps(),\n ...makeGroupProps({\n mandatory: 'force' as const,\n selectedClass: 'v-stepper-item--selected',\n }),\n ...makeVSheetProps(),\n ...only(makeVStepperActionsProps(), ['prevText', 'nextText']),\n}, 'VStepper')\n\nexport const VStepper = genericComponent<VStepperSlots>()({\n name: 'VStepper',\n\n props: makeVStepperProps(),\n\n emits: {\n 'update:modelValue': (v: unknown) => true,\n },\n\n setup (props, { slots }) {\n const { items: _items, next, prev, selected } = useGroup(props, VStepperSymbol)\n const { color, editable, prevText, nextText } = toRefs(props)\n\n const items = computed(() => props.items.map((item, index) => {\n const title = getPropertyFromItem(item, props.itemTitle, item)\n const value = getPropertyFromItem(item, props.itemValue, index + 1)\n\n return {\n title,\n value,\n raw: item,\n }\n }))\n const activeIndex = computed(() => {\n return _items.value.findIndex(item => selected.value.includes(item.id))\n })\n const disabled = computed(() => {\n if (props.disabled) return props.disabled\n if (activeIndex.value === 0) return 'prev'\n if (activeIndex.value === _items.value.length - 1) return 'next'\n\n return false\n })\n\n provideDefaults({\n VStepperItem: {\n editable,\n prevText,\n nextText,\n },\n VStepperActions: {\n color,\n disabled,\n prevText,\n nextText,\n },\n })\n\n useRender(() => {\n const sheetProps = VSheet.filterProps(props)\n\n const hasHeader = !!(slots.header || props.items.length)\n const hasWindow = props.items.length > 0\n const hasActions = !props.hideActions && !!(hasWindow || slots.actions)\n\n return (\n <VSheet\n { ...sheetProps }\n color={ props.bgColor }\n class={[\n 'v-stepper',\n {\n 'v-stepper--alt-labels': props.altLabels,\n 'v-stepper--flat': props.flat,\n 'v-stepper--non-linear': props.nonLinear,\n 'v-stepper--mobile': props.mobile,\n },\n props.class,\n ]}\n style={ props.style }\n >\n { hasHeader && (\n <VStepperHeader key=\"stepper-header\">\n { items.value.map(({ raw, ...item }, index) => (\n <>\n { !!index && (<VDivider />) }\n\n <VStepperItem\n { ...item }\n v-slots={{\n default: slots[`header-item.${item.value}`] ?? slots.header,\n icon: slots.icon,\n title: slots.title,\n subtitle: slots.subtitle,\n }}\n />\n </>\n ))}\n </VStepperHeader>\n )}\n\n { hasWindow && (\n <VStepperWindow key=\"stepper-window\">\n { items.value.map(item => (\n <VStepperWindowItem\n value={ item.value }\n v-slots={{\n default: () => slots[`item.${item.value}`]?.(item) ?? slots.item?.(item),\n }}\n />\n ))}\n </VStepperWindow>\n )}\n\n { slots.default?.({ prev, next }) }\n\n { hasActions && (\n slots.actions?.({ next, prev }) ?? (\n <VStepperActions\n key=\"stepper-actions\"\n onClick:prev={ prev }\n onClick:next={ next }\n v-slots={ slots }\n />\n )\n )}\n </VSheet>\n )\n })\n\n return {\n prev,\n next,\n }\n },\n})\n\nexport type VStepper = InstanceType<typeof VStepper>\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@ import { makeGroupItemProps, useGroupItem } from "../../composables/group.mjs";
9
9
  import { genOverlays } from "../../composables/variant.mjs"; // Directives
10
10
  import { Ripple } from "../../directives/ripple/index.mjs"; // Utilities
11
11
  import { computed } from 'vue';
12
- import { VStepperSymbol } from "./VStepper.mjs";
12
+ import { VStepperSymbol } from "./shared.mjs";
13
13
  import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
14
14
  export const makeStepperItemProps = propsFactory({
15
15
  color: String,