@vuetify/nightly 3.6.7-master.2024-05-27 → 3.6.7-master.2024-05-29

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 (39) hide show
  1. package/CHANGELOG.md +8 -2
  2. package/dist/json/attributes.json +39 -7
  3. package/dist/json/importMap-labs.json +12 -12
  4. package/dist/json/importMap.json +146 -146
  5. package/dist/json/tags.json +8 -0
  6. package/dist/json/web-types.json +84 -12
  7. package/dist/vuetify-labs.css +2617 -2614
  8. package/dist/vuetify-labs.d.ts +78 -18
  9. package/dist/vuetify-labs.esm.js +27 -8
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +27 -8
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +723 -720
  14. package/dist/vuetify.d.ts +85 -55
  15. package/dist/vuetify.esm.js +21 -8
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +21 -8
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +9 -9
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VDivider/VDivider.mjs +1 -1
  23. package/lib/components/VDivider/VDivider.mjs.map +1 -1
  24. package/lib/components/VSnackbar/VSnackbar.css +1 -1
  25. package/lib/components/VSnackbar/VSnackbar.sass +1 -1
  26. package/lib/components/VStepper/VStepper.mjs +18 -4
  27. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  28. package/lib/components/VStepper/VStepperItem.css +3 -0
  29. package/lib/components/VStepper/VStepperItem.sass +3 -0
  30. package/lib/components/VStepper/index.d.mts +43 -9
  31. package/lib/components/index.d.mts +39 -9
  32. package/lib/entry-bundler.mjs +1 -1
  33. package/lib/framework.mjs +1 -1
  34. package/lib/index.d.mts +46 -46
  35. package/lib/labs/VNumberInput/VNumberInput.mjs +7 -0
  36. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  37. package/lib/labs/VStepperVertical/index.d.mts +43 -9
  38. package/lib/labs/components.d.mts +3752 -3718
  39. package/package.json +1 -1
package/lib/index.d.mts CHANGED
@@ -493,48 +493,39 @@ declare module '@vue/runtime-core' {
493
493
  }
494
494
 
495
495
  export interface GlobalComponents {
496
- VApp: typeof import('vuetify/components')['VApp']
497
- VAlert: typeof import('vuetify/components')['VAlert']
498
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
499
496
  VAppBar: typeof import('vuetify/components')['VAppBar']
500
497
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
501
498
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
499
+ VAlert: typeof import('vuetify/components')['VAlert']
500
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
501
+ VAvatar: typeof import('vuetify/components')['VAvatar']
502
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
502
503
  VBanner: typeof import('vuetify/components')['VBanner']
503
504
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
504
505
  VBannerText: typeof import('vuetify/components')['VBannerText']
505
- VAvatar: typeof import('vuetify/components')['VAvatar']
506
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
507
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
508
506
  VBadge: typeof import('vuetify/components')['VBadge']
509
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
510
507
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
511
508
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
512
509
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
510
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
511
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
512
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
513
513
  VBtn: typeof import('vuetify/components')['VBtn']
514
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
514
515
  VCard: typeof import('vuetify/components')['VCard']
515
516
  VCardActions: typeof import('vuetify/components')['VCardActions']
516
517
  VCardItem: typeof import('vuetify/components')['VCardItem']
517
518
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
518
519
  VCardText: typeof import('vuetify/components')['VCardText']
519
520
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
520
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
521
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
522
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
523
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
524
521
  VCarousel: typeof import('vuetify/components')['VCarousel']
525
522
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
526
523
  VChip: typeof import('vuetify/components')['VChip']
527
524
  VCode: typeof import('vuetify/components')['VCode']
528
- VCombobox: typeof import('vuetify/components')['VCombobox']
529
525
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
530
- VDatePicker: typeof import('vuetify/components')['VDatePicker']
531
- VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
532
- VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
533
- VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
534
- VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
535
- VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
526
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
527
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
536
528
  VCounter: typeof import('vuetify/components')['VCounter']
537
- VDialog: typeof import('vuetify/components')['VDialog']
538
529
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
539
530
  VDataTable: typeof import('vuetify/components')['VDataTable']
540
531
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
@@ -543,29 +534,33 @@ declare module '@vue/runtime-core' {
543
534
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
544
535
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
545
536
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
537
+ VDatePicker: typeof import('vuetify/components')['VDatePicker']
538
+ VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
539
+ VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
540
+ VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
541
+ VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
542
+ VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
546
543
  VDivider: typeof import('vuetify/components')['VDivider']
544
+ VCombobox: typeof import('vuetify/components')['VCombobox']
545
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
546
+ VDialog: typeof import('vuetify/components')['VDialog']
547
+ VFileInput: typeof import('vuetify/components')['VFileInput']
547
548
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
548
549
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
549
550
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
550
551
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
551
552
  VField: typeof import('vuetify/components')['VField']
552
553
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
553
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
554
- VFileInput: typeof import('vuetify/components')['VFileInput']
555
- VFab: typeof import('vuetify/components')['VFab']
556
554
  VFooter: typeof import('vuetify/components')['VFooter']
557
- VImg: typeof import('vuetify/components')['VImg']
558
- VInput: typeof import('vuetify/components')['VInput']
559
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
555
+ VFab: typeof import('vuetify/components')['VFab']
560
556
  VIcon: typeof import('vuetify/components')['VIcon']
561
557
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
562
558
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
563
559
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
564
560
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
565
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
566
- VItem: typeof import('vuetify/components')['VItem']
567
- VLabel: typeof import('vuetify/components')['VLabel']
568
- VKbd: typeof import('vuetify/components')['VKbd']
561
+ VInput: typeof import('vuetify/components')['VInput']
562
+ VImg: typeof import('vuetify/components')['VImg']
563
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
569
564
  VList: typeof import('vuetify/components')['VList']
570
565
  VListGroup: typeof import('vuetify/components')['VListGroup']
571
566
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -575,27 +570,32 @@ declare module '@vue/runtime-core' {
575
570
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
576
571
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
577
572
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
578
- VMenu: typeof import('vuetify/components')['VMenu']
579
- VMain: typeof import('vuetify/components')['VMain']
573
+ VLabel: typeof import('vuetify/components')['VLabel']
574
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
575
+ VItem: typeof import('vuetify/components')['VItem']
576
+ VKbd: typeof import('vuetify/components')['VKbd']
580
577
  VMessages: typeof import('vuetify/components')['VMessages']
581
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
578
+ VMain: typeof import('vuetify/components')['VMain']
579
+ VMenu: typeof import('vuetify/components')['VMenu']
582
580
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
583
581
  VPagination: typeof import('vuetify/components')['VPagination']
584
582
  VOverlay: typeof import('vuetify/components')['VOverlay']
583
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
585
584
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
586
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
587
585
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
586
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
588
587
  VRating: typeof import('vuetify/components')['VRating']
589
588
  VSelect: typeof import('vuetify/components')['VSelect']
590
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
591
589
  VSheet: typeof import('vuetify/components')['VSheet']
590
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
592
591
  VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
593
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
594
592
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
595
593
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
596
594
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
597
595
  VSlider: typeof import('vuetify/components')['VSlider']
596
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
598
597
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
598
+ VSwitch: typeof import('vuetify/components')['VSwitch']
599
599
  VTab: typeof import('vuetify/components')['VTab']
600
600
  VTabs: typeof import('vuetify/components')['VTabs']
601
601
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
@@ -606,18 +606,18 @@ declare module '@vue/runtime-core' {
606
606
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
607
607
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
608
608
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
609
- VTextarea: typeof import('vuetify/components')['VTextarea']
610
- VSwitch: typeof import('vuetify/components')['VSwitch']
611
- VTimeline: typeof import('vuetify/components')['VTimeline']
612
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
613
- VTextField: typeof import('vuetify/components')['VTextField']
614
- VTable: typeof import('vuetify/components')['VTable']
615
609
  VToolbar: typeof import('vuetify/components')['VToolbar']
616
610
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
617
611
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
612
+ VTable: typeof import('vuetify/components')['VTable']
613
+ VTextField: typeof import('vuetify/components')['VTextField']
614
+ VTimeline: typeof import('vuetify/components')['VTimeline']
615
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
616
+ VTextarea: typeof import('vuetify/components')['VTextarea']
618
617
  VTooltip: typeof import('vuetify/components')['VTooltip']
619
618
  VWindow: typeof import('vuetify/components')['VWindow']
620
619
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
620
+ VApp: typeof import('vuetify/components')['VApp']
621
621
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
622
622
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
623
623
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
@@ -627,17 +627,17 @@ declare module '@vue/runtime-core' {
627
627
  VSpacer: typeof import('vuetify/components')['VSpacer']
628
628
  VForm: typeof import('vuetify/components')['VForm']
629
629
  VHover: typeof import('vuetify/components')['VHover']
630
+ VLazy: typeof import('vuetify/components')['VLazy']
630
631
  VLayout: typeof import('vuetify/components')['VLayout']
631
632
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
632
- VLazy: typeof import('vuetify/components')['VLazy']
633
633
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
634
634
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
635
635
  VParallax: typeof import('vuetify/components')['VParallax']
636
636
  VRadio: typeof import('vuetify/components')['VRadio']
637
637
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
638
638
  VResponsive: typeof import('vuetify/components')['VResponsive']
639
- VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
640
639
  VSparkline: typeof import('vuetify/components')['VSparkline']
640
+ VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
641
641
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
642
642
  VValidation: typeof import('vuetify/components')['VValidation']
643
643
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
@@ -664,14 +664,14 @@ declare module '@vue/runtime-core' {
664
664
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
665
665
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
666
666
  VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
667
+ VTreeview: typeof import('vuetify/labs/components')['VTreeview']
668
+ VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
669
+ VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
667
670
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
668
671
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
669
672
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
670
673
  VPicker: typeof import('vuetify/labs/components')['VPicker']
671
674
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
672
- VTreeview: typeof import('vuetify/labs/components')['VTreeview']
673
- VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
674
- VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
675
675
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
676
676
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
677
677
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
@@ -7,6 +7,7 @@ import { VBtn } from "../../components/VBtn/index.mjs";
7
7
  import { VDefaultsProvider } from "../../components/VDefaultsProvider/index.mjs";
8
8
  import { VDivider } from "../../components/VDivider/index.mjs";
9
9
  import { makeVTextFieldProps, VTextField } from "../../components/VTextField/VTextField.mjs"; // Composables
10
+ import { useForm } from "../../composables/form.mjs";
10
11
  import { useProxiedModel } from "../../composables/proxiedModel.mjs"; // Utilities
11
12
  import { computed, watchEffect } from 'vue';
12
13
  import { clamp, genericComponent, getDecimals, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
@@ -49,15 +50,20 @@ export const VNumberInput = genericComponent()({
49
50
  const model = useProxiedModel(props, 'modelValue');
50
51
  const stepDecimals = computed(() => getDecimals(props.step));
51
52
  const modelDecimals = computed(() => model.value != null ? getDecimals(model.value) : 0);
53
+ const form = useForm();
54
+ const controlsDisabled = computed(() => props.disabled || props.readonly || form?.isReadonly.value);
52
55
  const canIncrease = computed(() => {
56
+ if (controlsDisabled.value) return false;
53
57
  if (model.value == null) return true;
54
58
  return model.value + props.step <= props.max;
55
59
  });
56
60
  const canDecrease = computed(() => {
61
+ if (controlsDisabled.value) return false;
57
62
  if (model.value == null) return true;
58
63
  return model.value - props.step >= props.min;
59
64
  });
60
65
  watchEffect(() => {
66
+ if (controlsDisabled.value) return;
61
67
  if (model.value != null && (model.value < props.min || model.value > props.max)) {
62
68
  model.value = clamp(model.value, props.min, props.max);
63
69
  }
@@ -73,6 +79,7 @@ export const VNumberInput = genericComponent()({
73
79
  }));
74
80
  function toggleUpDown() {
75
81
  let increment = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
82
+ if (controlsDisabled.value) return;
76
83
  if (model.value == null) {
77
84
  model.value = 0;
78
85
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"VNumberInput.mjs","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useProxiedModel","computed","watchEffect","clamp","genericComponent","getDecimals","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","min","Number","Infinity","max","step","VNumberInput","name","inheritAttrs","props","emits","val","setup","_ref","attrs","emit","slots","model","stepDecimals","modelDecimals","value","canIncrease","canDecrease","incrementSlotProps","click","onClickUp","decrementSlotProps","onClickDown","toggleUpDown","increment","arguments","length","undefined","decimals","Math","toFixed","e","stopPropagation","onKeydown","includes","key","ctrlKey","preventDefault","test","onModelUpdate","v","onControlMousedown","modelValue","_","textFieldProps","filterProps","controlNode","defaultHeight","_createVNode","decrement","disabled","flat","height","size","icon","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/labs/VNumberInput/VNumberInput.tsx"],"sourcesContent":["// Styles\nimport './VNumberInput.sass'\n\n// Components\nimport { VBtn } from '../../components/VBtn'\nimport { VDefaultsProvider } from '../../components/VDefaultsProvider'\nimport { VDivider } from '../../components/VDivider'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, watchEffect } from 'vue'\nimport { clamp, genericComponent, getDecimals, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\ntype ControlSlot = {\n click: (e: MouseEvent) => void\n}\n\ntype VNumberInputSlots = Omit<VTextFieldSlots, 'default'> & {\n increment: ControlSlot\n decrement: ControlSlot\n}\n\ntype ControlVariant = 'default' | 'stacked' | 'split'\n\nconst makeVNumberInputProps = propsFactory({\n controlVariant: {\n type: String as PropType<ControlVariant>,\n default: 'default',\n },\n inset: Boolean,\n hideInput: Boolean,\n min: {\n type: Number,\n default: -Infinity,\n },\n max: {\n type: Number,\n default: Infinity,\n },\n step: {\n type: Number,\n default: 1,\n },\n\n ...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n inheritAttrs: false,\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const stepDecimals = computed(() => getDecimals(props.step))\n const modelDecimals = computed(() => model.value != null ? getDecimals(model.value) : 0)\n\n const canIncrease = computed(() => {\n if (model.value == null) return true\n return model.value + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (model.value == null) return true\n return model.value - props.step >= props.min\n })\n\n watchEffect(() => {\n if (model.value != null && (model.value < props.min || model.value > props.max)) {\n model.value = clamp(model.value, props.min, props.max)\n }\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementSlotProps = computed(() => ({ click: onClickUp }))\n\n const decrementSlotProps = computed(() => ({ click: onClickDown }))\n\n function toggleUpDown (increment = true) {\n if (model.value == null) {\n model.value = 0\n return\n }\n\n const decimals = Math.max(modelDecimals.value, stepDecimals.value)\n if (increment) {\n if (canIncrease.value) model.value = +(((model.value + props.step).toFixed(decimals)))\n } else {\n if (canDecrease.value) model.value = +(((model.value - props.step).toFixed(decimals)))\n }\n }\n\n function onClickUp (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown()\n }\n\n function onClickDown (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown(false)\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown'].includes(e.key)) {\n e.preventDefault()\n toggleUpDown(false)\n return\n }\n if (['ArrowUp'].includes(e.key)) {\n e.preventDefault()\n toggleUpDown()\n return\n }\n\n // Only numbers, +, - & . are allowed\n if (!/^[0-9\\-+.]+$/.test(e.key)) {\n e.preventDefault()\n }\n }\n\n function onModelUpdate (v: string) {\n model.value = v ? +(v) : undefined\n }\n\n function onControlMousedown (e: MouseEvent) {\n e.stopPropagation()\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function controlNode () {\n const defaultHeight = controlVariant.value === 'stacked' ? 'auto' : '100%'\n return (\n <div class=\"v-number-input__control\">\n {\n !slots.decrement ? (\n <VBtn\n disabled={ !canDecrease.value }\n flat\n key=\"decrement-btn\"\n height={ defaultHeight }\n name=\"decrement-btn\"\n icon=\"$expand\"\n size=\"small\"\n tabindex=\"-1\"\n onClick={ onClickDown }\n onMousedown={ onControlMousedown }\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n flat: true,\n height: defaultHeight,\n size: 'small',\n icon: '$expand',\n },\n }}\n >\n { slots.decrement(decrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n {\n !slots.increment ? (\n <VBtn\n disabled={ !canIncrease.value }\n flat\n key=\"increment-btn\"\n height={ defaultHeight }\n name=\"increment-btn\"\n icon=\"$collapse\"\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n size=\"small\"\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: defaultHeight,\n size: 'small',\n icon: '$collapse',\n },\n }}\n >\n { slots.increment(incrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n </div>\n )\n }\n\n function dividerNode () {\n return !props.hideInput && !props.inset ? <VDivider vertical /> : undefined\n }\n\n const appendInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VDivider vertical />\n\n <VBtn\n flat\n height=\"100%\"\n icon=\"$plus\"\n tile\n tabindex=\"-1\"\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n />\n </div>\n ) : (!props.reverse\n ? <>{ dividerNode() }{ controlNode() }</>\n : undefined)\n\n const hasAppendInner = slots['append-inner'] || appendInnerControl\n\n const prependInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VBtn\n flat\n height=\"100%\"\n icon=\"$minus\"\n tile\n tabindex=\"-1\"\n onClick={ onClickDown }\n onMousedown={ onControlMousedown }\n />\n\n <VDivider vertical />\n </div>\n ) : (props.reverse\n ? <>{ controlNode() }{ dividerNode() }</>\n : undefined)\n\n const hasPrependInner = slots['prepend-inner'] || prependInnerControl\n\n return (\n <VTextField\n modelValue={ model.value }\n onUpdate:modelValue={ onModelUpdate }\n onKeydown={ onKeydown }\n class={[\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n props.class,\n ]}\n { ...textFieldProps }\n style={ props.style }\n inputmode=\"decimal\"\n >\n {{\n ...slots,\n 'append-inner': hasAppendInner ? (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { appendInnerControl }\n </>\n ) : undefined,\n 'prepend-inner': hasPrependInner ? (...args) => (\n <>\n { prependInnerControl }\n { slots['prepend-inner']?.(...args) }\n </>\n ) : undefined,\n }}\n </VTextField>\n )\n })\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VNumberInput.mjs","names":["VBtn","VDefaultsProvider","VDivider","makeVTextFieldProps","VTextField","useForm","useProxiedModel","computed","watchEffect","clamp","genericComponent","getDecimals","omit","propsFactory","useRender","makeVNumberInputProps","controlVariant","type","String","default","inset","Boolean","hideInput","min","Number","Infinity","max","step","VNumberInput","name","inheritAttrs","props","emits","val","setup","_ref","attrs","emit","slots","model","stepDecimals","modelDecimals","value","form","controlsDisabled","disabled","readonly","isReadonly","canIncrease","canDecrease","incrementSlotProps","click","onClickUp","decrementSlotProps","onClickDown","toggleUpDown","increment","arguments","length","undefined","decimals","Math","toFixed","e","stopPropagation","onKeydown","includes","key","ctrlKey","preventDefault","test","onModelUpdate","v","onControlMousedown","modelValue","_","textFieldProps","filterProps","controlNode","defaultHeight","_createVNode","decrement","flat","height","size","icon","dividerNode","appendInnerControl","reverse","_Fragment","hasAppendInner","prependInnerControl","hasPrependInner","_mergeProps","class","style","_len","args","Array","_key","_len2","_key2"],"sources":["../../../src/labs/VNumberInput/VNumberInput.tsx"],"sourcesContent":["// Styles\nimport './VNumberInput.sass'\n\n// Components\nimport { VBtn } from '../../components/VBtn'\nimport { VDefaultsProvider } from '../../components/VDefaultsProvider'\nimport { VDivider } from '../../components/VDivider'\nimport { makeVTextFieldProps, VTextField } from '@/components/VTextField/VTextField'\n\n// Composables\nimport { useForm } from '@/composables/form'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, watchEffect } from 'vue'\nimport { clamp, genericComponent, getDecimals, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VTextFieldSlots } from '@/components/VTextField/VTextField'\n\ntype ControlSlot = {\n click: (e: MouseEvent) => void\n}\n\ntype VNumberInputSlots = Omit<VTextFieldSlots, 'default'> & {\n increment: ControlSlot\n decrement: ControlSlot\n}\n\ntype ControlVariant = 'default' | 'stacked' | 'split'\n\nconst makeVNumberInputProps = propsFactory({\n controlVariant: {\n type: String as PropType<ControlVariant>,\n default: 'default',\n },\n inset: Boolean,\n hideInput: Boolean,\n min: {\n type: Number,\n default: -Infinity,\n },\n max: {\n type: Number,\n default: Infinity,\n },\n step: {\n type: Number,\n default: 1,\n },\n\n ...omit(makeVTextFieldProps(), ['appendInnerIcon', 'prependInnerIcon']),\n}, 'VNumberInput')\n\nexport const VNumberInput = genericComponent<VNumberInputSlots>()({\n name: 'VNumberInput',\n\n inheritAttrs: false,\n\n props: {\n ...makeVNumberInputProps(),\n },\n\n emits: {\n 'update:modelValue': (val: number) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const model = useProxiedModel(props, 'modelValue')\n\n const stepDecimals = computed(() => getDecimals(props.step))\n const modelDecimals = computed(() => model.value != null ? getDecimals(model.value) : 0)\n\n const form = useForm()\n const controlsDisabled = computed(() => (\n props.disabled || props.readonly || form?.isReadonly.value\n ))\n\n const canIncrease = computed(() => {\n if (controlsDisabled.value) return false\n if (model.value == null) return true\n return model.value + props.step <= props.max\n })\n const canDecrease = computed(() => {\n if (controlsDisabled.value) return false\n if (model.value == null) return true\n return model.value - props.step >= props.min\n })\n\n watchEffect(() => {\n if (controlsDisabled.value) return\n if (model.value != null && (model.value < props.min || model.value > props.max)) {\n model.value = clamp(model.value, props.min, props.max)\n }\n })\n\n const controlVariant = computed(() => {\n return props.hideInput ? 'stacked' : props.controlVariant\n })\n\n const incrementSlotProps = computed(() => ({ click: onClickUp }))\n\n const decrementSlotProps = computed(() => ({ click: onClickDown }))\n\n function toggleUpDown (increment = true) {\n if (controlsDisabled.value) return\n if (model.value == null) {\n model.value = 0\n return\n }\n\n const decimals = Math.max(modelDecimals.value, stepDecimals.value)\n if (increment) {\n if (canIncrease.value) model.value = +(((model.value + props.step).toFixed(decimals)))\n } else {\n if (canDecrease.value) model.value = +(((model.value - props.step).toFixed(decimals)))\n }\n }\n\n function onClickUp (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown()\n }\n\n function onClickDown (e: MouseEvent) {\n e.stopPropagation()\n toggleUpDown(false)\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (\n ['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Tab'].includes(e.key) ||\n e.ctrlKey\n ) return\n\n if (['ArrowDown'].includes(e.key)) {\n e.preventDefault()\n toggleUpDown(false)\n return\n }\n if (['ArrowUp'].includes(e.key)) {\n e.preventDefault()\n toggleUpDown()\n return\n }\n\n // Only numbers, +, - & . are allowed\n if (!/^[0-9\\-+.]+$/.test(e.key)) {\n e.preventDefault()\n }\n }\n\n function onModelUpdate (v: string) {\n model.value = v ? +(v) : undefined\n }\n\n function onControlMousedown (e: MouseEvent) {\n e.stopPropagation()\n }\n\n useRender(() => {\n const { modelValue: _, ...textFieldProps } = VTextField.filterProps(props)\n\n function controlNode () {\n const defaultHeight = controlVariant.value === 'stacked' ? 'auto' : '100%'\n return (\n <div class=\"v-number-input__control\">\n {\n !slots.decrement ? (\n <VBtn\n disabled={ !canDecrease.value }\n flat\n key=\"decrement-btn\"\n height={ defaultHeight }\n name=\"decrement-btn\"\n icon=\"$expand\"\n size=\"small\"\n tabindex=\"-1\"\n onClick={ onClickDown }\n onMousedown={ onControlMousedown }\n />\n ) : (\n <VDefaultsProvider\n key=\"decrement-defaults\"\n defaults={{\n VBtn: {\n disabled: !canDecrease.value,\n flat: true,\n height: defaultHeight,\n size: 'small',\n icon: '$expand',\n },\n }}\n >\n { slots.decrement(decrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n\n <VDivider\n vertical={ controlVariant.value !== 'stacked' }\n />\n\n {\n !slots.increment ? (\n <VBtn\n disabled={ !canIncrease.value }\n flat\n key=\"increment-btn\"\n height={ defaultHeight }\n name=\"increment-btn\"\n icon=\"$collapse\"\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n size=\"small\"\n tabindex=\"-1\"\n />\n ) : (\n <VDefaultsProvider\n key=\"increment-defaults\"\n defaults={{\n VBtn: {\n disabled: !canIncrease.value,\n flat: true,\n height: defaultHeight,\n size: 'small',\n icon: '$collapse',\n },\n }}\n >\n { slots.increment(incrementSlotProps.value) }\n </VDefaultsProvider>\n )\n }\n </div>\n )\n }\n\n function dividerNode () {\n return !props.hideInput && !props.inset ? <VDivider vertical /> : undefined\n }\n\n const appendInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VDivider vertical />\n\n <VBtn\n flat\n height=\"100%\"\n icon=\"$plus\"\n tile\n tabindex=\"-1\"\n onClick={ onClickUp }\n onMousedown={ onControlMousedown }\n />\n </div>\n ) : (!props.reverse\n ? <>{ dividerNode() }{ controlNode() }</>\n : undefined)\n\n const hasAppendInner = slots['append-inner'] || appendInnerControl\n\n const prependInnerControl =\n controlVariant.value === 'split'\n ? (\n <div class=\"v-number-input__control\">\n <VBtn\n flat\n height=\"100%\"\n icon=\"$minus\"\n tile\n tabindex=\"-1\"\n onClick={ onClickDown }\n onMousedown={ onControlMousedown }\n />\n\n <VDivider vertical />\n </div>\n ) : (props.reverse\n ? <>{ controlNode() }{ dividerNode() }</>\n : undefined)\n\n const hasPrependInner = slots['prepend-inner'] || prependInnerControl\n\n return (\n <VTextField\n modelValue={ model.value }\n onUpdate:modelValue={ onModelUpdate }\n onKeydown={ onKeydown }\n class={[\n 'v-number-input',\n {\n 'v-number-input--default': controlVariant.value === 'default',\n 'v-number-input--hide-input': props.hideInput,\n 'v-number-input--inset': props.inset,\n 'v-number-input--reverse': props.reverse,\n 'v-number-input--split': controlVariant.value === 'split',\n 'v-number-input--stacked': controlVariant.value === 'stacked',\n },\n props.class,\n ]}\n { ...textFieldProps }\n style={ props.style }\n inputmode=\"decimal\"\n >\n {{\n ...slots,\n 'append-inner': hasAppendInner ? (...args) => (\n <>\n { slots['append-inner']?.(...args) }\n { appendInnerControl }\n </>\n ) : undefined,\n 'prepend-inner': hasPrependInner ? (...args) => (\n <>\n { prependInnerControl }\n { slots['prepend-inner']?.(...args) }\n </>\n ) : undefined,\n }}\n </VTextField>\n )\n })\n },\n})\n\nexport type VNumberInput = InstanceType<typeof VNumberInput>\n"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,10 @@ interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions
5
5
  filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
6
6
  }
7
7
 
8
+ declare const breakpoints: readonly ["sm", "md", "lg", "xl", "xxl"];
9
+ type Breakpoint = typeof breakpoints[number];
10
+ type DisplayBreakpoint = 'xs' | Breakpoint;
11
+
8
12
  type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
9
13
  declare const IconValue: PropType<IconValue>;
10
14
 
@@ -30,7 +34,7 @@ declare const VStepperVertical: {
30
34
  style: vue.StyleValue;
31
35
  disabled: boolean;
32
36
  tag: string;
33
- mobile: boolean;
37
+ mobile: boolean | null;
34
38
  readonly: boolean;
35
39
  variant: NonNullable<"default" | "inset" | "accordion" | "popout">;
36
40
  items: readonly StepperItem[];
@@ -59,12 +63,16 @@ declare const VStepperVertical: {
59
63
  value?: any;
60
64
  theme?: string | undefined;
61
65
  color?: string | undefined;
66
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
62
67
  modelValue?: any;
63
68
  rounded?: string | number | boolean | undefined;
64
69
  elevation?: string | number | undefined;
65
70
  max?: number | undefined;
66
71
  selectedClass?: string | undefined;
67
72
  bgColor?: string | undefined;
73
+ completeIcon?: string | undefined;
74
+ editIcon?: string | undefined;
75
+ errorIcon?: string | undefined;
68
76
  } & {
69
77
  $children?: vue.VNodeChild | {
70
78
  [x: `header-item.${string}`]: ((arg: StepperItemSlot) => vue.VNodeChild) | undefined;
@@ -118,7 +126,7 @@ declare const VStepperVertical: {
118
126
  style: vue.StyleValue;
119
127
  disabled: boolean;
120
128
  tag: string;
121
- mobile: boolean;
129
+ mobile: boolean | null;
122
130
  readonly: boolean;
123
131
  variant: NonNullable<"default" | "inset" | "accordion" | "popout">;
124
132
  items: readonly StepperItem[];
@@ -147,12 +155,16 @@ declare const VStepperVertical: {
147
155
  value?: any;
148
156
  theme?: string | undefined;
149
157
  color?: string | undefined;
158
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
150
159
  modelValue?: any;
151
160
  rounded?: string | number | boolean | undefined;
152
161
  elevation?: string | number | undefined;
153
162
  max?: number | undefined;
154
163
  selectedClass?: string | undefined;
155
164
  bgColor?: string | undefined;
165
+ completeIcon?: string | undefined;
166
+ editIcon?: string | undefined;
167
+ errorIcon?: string | undefined;
156
168
  } & {
157
169
  $children?: vue.VNodeChild | {
158
170
  [x: `header-item.${string}`]: ((arg: StepperItemSlot) => vue.VNodeChild) | undefined;
@@ -204,7 +216,7 @@ declare const VStepperVertical: {
204
216
  style: vue.StyleValue;
205
217
  disabled: boolean;
206
218
  tag: string;
207
- mobile: boolean;
219
+ mobile: boolean | null;
208
220
  readonly: boolean;
209
221
  modelValue: any;
210
222
  rounded: string | number | boolean;
@@ -273,7 +285,7 @@ declare const VStepperVertical: {
273
285
  style: vue.StyleValue;
274
286
  disabled: boolean;
275
287
  tag: string;
276
- mobile: boolean;
288
+ mobile: boolean | null;
277
289
  readonly: boolean;
278
290
  variant: NonNullable<"default" | "inset" | "accordion" | "popout">;
279
291
  items: readonly StepperItem[];
@@ -302,12 +314,16 @@ declare const VStepperVertical: {
302
314
  value?: any;
303
315
  theme?: string | undefined;
304
316
  color?: string | undefined;
317
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
305
318
  modelValue?: any;
306
319
  rounded?: string | number | boolean | undefined;
307
320
  elevation?: string | number | undefined;
308
321
  max?: number | undefined;
309
322
  selectedClass?: string | undefined;
310
323
  bgColor?: string | undefined;
324
+ completeIcon?: string | undefined;
325
+ editIcon?: string | undefined;
326
+ errorIcon?: string | undefined;
311
327
  } & {
312
328
  $children?: vue.VNodeChild | {
313
329
  [x: `header-item.${string}`]: ((arg: StepperItemSlot) => vue.VNodeChild) | undefined;
@@ -359,7 +375,7 @@ declare const VStepperVertical: {
359
375
  style: vue.StyleValue;
360
376
  disabled: boolean;
361
377
  tag: string;
362
- mobile: boolean;
378
+ mobile: boolean | null;
363
379
  readonly: boolean;
364
380
  modelValue: any;
365
381
  rounded: string | number | boolean;
@@ -392,7 +408,7 @@ declare const VStepperVertical: {
392
408
  style: vue.StyleValue;
393
409
  disabled: boolean;
394
410
  tag: string;
395
- mobile: boolean;
411
+ mobile: boolean | null;
396
412
  readonly: boolean;
397
413
  variant: NonNullable<"default" | "inset" | "accordion" | "popout">;
398
414
  items: readonly StepperItem[];
@@ -421,12 +437,16 @@ declare const VStepperVertical: {
421
437
  value?: any;
422
438
  theme?: string | undefined;
423
439
  color?: string | undefined;
440
+ mobileBreakpoint?: number | DisplayBreakpoint | undefined;
424
441
  modelValue?: any;
425
442
  rounded?: string | number | boolean | undefined;
426
443
  elevation?: string | number | undefined;
427
444
  max?: number | undefined;
428
445
  selectedClass?: string | undefined;
429
446
  bgColor?: string | undefined;
447
+ completeIcon?: string | undefined;
448
+ editIcon?: string | undefined;
449
+ errorIcon?: string | undefined;
430
450
  } & {
431
451
  $children?: vue.VNodeChild | {
432
452
  [x: `header-item.${string}`]: ((arg: StepperItemSlot) => vue.VNodeChild) | undefined;
@@ -480,7 +500,7 @@ declare const VStepperVertical: {
480
500
  style: vue.StyleValue;
481
501
  disabled: boolean;
482
502
  tag: string;
483
- mobile: boolean;
503
+ mobile: boolean | null;
484
504
  readonly: boolean;
485
505
  modelValue: any;
486
506
  rounded: string | number | boolean;
@@ -601,8 +621,16 @@ declare const VStepperVertical: {
601
621
  };
602
622
  hideActions: BooleanConstructor;
603
623
  focusable: BooleanConstructor;
624
+ mobile: {
625
+ type: vue.PropType<boolean | null>;
626
+ default: boolean;
627
+ };
628
+ mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
604
629
  altLabels: BooleanConstructor;
630
+ completeIcon: StringConstructor;
631
+ editIcon: StringConstructor;
605
632
  editable: BooleanConstructor;
633
+ errorIcon: StringConstructor;
606
634
  items: {
607
635
  type: vue.PropType<readonly StepperItem[]>;
608
636
  default: () => never[];
@@ -615,7 +643,6 @@ declare const VStepperVertical: {
615
643
  type: StringConstructor;
616
644
  default: string;
617
645
  };
618
- mobile: BooleanConstructor;
619
646
  nonLinear: BooleanConstructor;
620
647
  prevText: {
621
648
  type: StringConstructor;
@@ -689,8 +716,16 @@ declare const VStepperVertical: {
689
716
  };
690
717
  hideActions: BooleanConstructor;
691
718
  focusable: BooleanConstructor;
719
+ mobile: {
720
+ type: vue.PropType<boolean | null>;
721
+ default: boolean;
722
+ };
723
+ mobileBreakpoint: vue.PropType<number | DisplayBreakpoint>;
692
724
  altLabels: BooleanConstructor;
725
+ completeIcon: StringConstructor;
726
+ editIcon: StringConstructor;
693
727
  editable: BooleanConstructor;
728
+ errorIcon: StringConstructor;
694
729
  items: {
695
730
  type: vue.PropType<readonly StepperItem[]>;
696
731
  default: () => never[];
@@ -703,7 +738,6 @@ declare const VStepperVertical: {
703
738
  type: StringConstructor;
704
739
  default: string;
705
740
  };
706
- mobile: BooleanConstructor;
707
741
  nonLinear: BooleanConstructor;
708
742
  prevText: {
709
743
  type: StringConstructor;