vuetify 3.5.4 → 3.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/dist/json/attributes.json +2771 -2523
  2. package/dist/json/importMap-labs.json +4 -0
  3. package/dist/json/importMap.json +94 -94
  4. package/dist/json/tags.json +236 -169
  5. package/dist/json/web-types.json +3218 -2563
  6. package/dist/vuetify-labs.css +1819 -1796
  7. package/dist/vuetify-labs.d.ts +1234 -152
  8. package/dist/vuetify-labs.esm.js +555 -72
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +555 -72
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +887 -864
  13. package/dist/vuetify.d.ts +886 -179
  14. package/dist/vuetify.esm.js +121 -71
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +121 -71
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +647 -645
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/index.d.mts +9 -0
  22. package/lib/components/VAppBar/index.d.mts +18 -0
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -4
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  25. package/lib/components/VAutocomplete/index.d.mts +33 -6
  26. package/lib/components/VAvatar/index.d.mts +9 -0
  27. package/lib/components/VBadge/index.d.mts +9 -0
  28. package/lib/components/VBanner/index.d.mts +9 -0
  29. package/lib/components/VBottomNavigation/index.d.mts +9 -0
  30. package/lib/components/VBreadcrumbs/index.d.mts +9 -0
  31. package/lib/components/VBtn/index.d.mts +9 -0
  32. package/lib/components/VBtnGroup/index.d.mts +9 -0
  33. package/lib/components/VBtnToggle/index.d.mts +9 -0
  34. package/lib/components/VCard/index.d.mts +9 -0
  35. package/lib/components/VCarousel/index.d.mts +9 -0
  36. package/lib/components/VChip/index.d.mts +9 -0
  37. package/lib/components/VColorPicker/index.d.mts +9 -0
  38. package/lib/components/VCombobox/index.d.mts +33 -6
  39. package/lib/components/VDataIterator/index.d.mts +3 -3
  40. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  41. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  42. package/lib/components/VDataTable/index.d.mts +355 -117
  43. package/lib/components/VDataTable/types.mjs.map +1 -1
  44. package/lib/components/VDatePicker/VDatePicker.css +2 -21
  45. package/lib/components/VDatePicker/VDatePicker.mjs +14 -10
  46. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  47. package/lib/components/VDatePicker/VDatePicker.sass +3 -18
  48. package/lib/components/VDatePicker/VDatePickerHeader.css +2 -0
  49. package/lib/components/VDatePicker/VDatePickerHeader.sass +3 -0
  50. package/lib/components/VDatePicker/VDatePickerMonth.css +11 -5
  51. package/lib/components/VDatePicker/VDatePickerMonth.mjs +2 -1
  52. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  53. package/lib/components/VDatePicker/VDatePickerMonth.sass +13 -5
  54. package/lib/components/VDatePicker/VDatePickerMonths.css +2 -3
  55. package/lib/components/VDatePicker/VDatePickerMonths.mjs +6 -3
  56. package/lib/components/VDatePicker/VDatePickerMonths.mjs.map +1 -1
  57. package/lib/components/VDatePicker/VDatePickerMonths.sass +4 -3
  58. package/lib/components/VDatePicker/VDatePickerYears.css +2 -2
  59. package/lib/components/VDatePicker/VDatePickerYears.mjs +8 -1
  60. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  61. package/lib/components/VDatePicker/VDatePickerYears.sass +4 -2
  62. package/lib/components/VDatePicker/_variables.scss +14 -34
  63. package/lib/components/VDatePicker/index.d.mts +13 -4
  64. package/lib/components/VExpansionPanel/VExpansionPanel.css +14 -0
  65. package/lib/components/VExpansionPanel/VExpansionPanel.sass +14 -0
  66. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +9 -2
  67. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  68. package/lib/components/VExpansionPanel/index.d.mts +27 -0
  69. package/lib/components/VField/VField.css +20 -1
  70. package/lib/components/VField/VField.sass +19 -1
  71. package/lib/components/VField/index.d.mts +9 -0
  72. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  73. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  74. package/lib/components/VFileInput/index.d.mts +9 -0
  75. package/lib/components/VFooter/index.d.mts +9 -0
  76. package/lib/components/VImg/index.d.mts +9 -0
  77. package/lib/components/VList/VListItem.css +2 -1
  78. package/lib/components/VList/VListItem.sass +1 -0
  79. package/lib/components/VList/_variables.scss +2 -1
  80. package/lib/components/VList/index.d.mts +18 -0
  81. package/lib/components/VMenu/VMenu.mjs +5 -5
  82. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  83. package/lib/components/VMenu/shared.mjs.map +1 -1
  84. package/lib/components/VNavigationDrawer/index.d.mts +9 -0
  85. package/lib/components/VPagination/index.d.mts +9 -0
  86. package/lib/components/VProgressLinear/index.d.mts +9 -0
  87. package/lib/components/VRangeSlider/index.d.mts +9 -0
  88. package/lib/components/VSelect/VSelect.mjs +4 -3
  89. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  90. package/lib/components/VSelect/index.d.mts +33 -6
  91. package/lib/components/VSheet/index.d.mts +9 -0
  92. package/lib/components/VSlider/index.d.mts +9 -0
  93. package/lib/components/VSnackbar/index.d.mts +9 -0
  94. package/lib/components/VStepper/index.d.mts +9 -0
  95. package/lib/components/VSystemBar/index.d.mts +9 -0
  96. package/lib/components/VTabs/index.d.mts +33 -6
  97. package/lib/components/VTextField/index.d.mts +33 -6
  98. package/lib/components/VTextarea/index.d.mts +9 -0
  99. package/lib/components/VTimeline/index.d.mts +9 -0
  100. package/lib/components/VToolbar/index.d.mts +9 -0
  101. package/lib/components/VTooltip/VTooltip.css +1 -0
  102. package/lib/components/VTooltip/VTooltip.sass +1 -0
  103. package/lib/components/VTooltip/_variables.scss +1 -0
  104. package/lib/components/index.d.mts +857 -151
  105. package/lib/composables/form.mjs +2 -1
  106. package/lib/composables/form.mjs.map +1 -1
  107. package/lib/composables/goto.mjs +16 -18
  108. package/lib/composables/goto.mjs.map +1 -1
  109. package/lib/composables/group.mjs +2 -0
  110. package/lib/composables/group.mjs.map +1 -1
  111. package/lib/composables/icons.mjs +17 -13
  112. package/lib/composables/icons.mjs.map +1 -1
  113. package/lib/composables/rounded.mjs +5 -1
  114. package/lib/composables/rounded.mjs.map +1 -1
  115. package/lib/composables/virtual.mjs +11 -3
  116. package/lib/composables/virtual.mjs.map +1 -1
  117. package/lib/entry-bundler.mjs +1 -1
  118. package/lib/framework.mjs +1 -1
  119. package/lib/iconsets/fa-svg.mjs +2 -1
  120. package/lib/iconsets/fa-svg.mjs.map +1 -1
  121. package/lib/index.d.mts +29 -28
  122. package/lib/labs/VCalendar/VCalendar.mjs +1 -1
  123. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
  124. package/lib/labs/VPicker/VPicker.css +2 -2
  125. package/lib/labs/VPicker/VPicker.sass +2 -2
  126. package/lib/labs/VPicker/_variables.scss +2 -4
  127. package/lib/labs/VPicker/index.d.mts +9 -0
  128. package/lib/labs/VSparkline/VBarline.mjs +138 -0
  129. package/lib/labs/VSparkline/VBarline.mjs.map +1 -0
  130. package/lib/labs/VSparkline/VSparkline.mjs +49 -0
  131. package/lib/labs/VSparkline/VSparkline.mjs.map +1 -0
  132. package/lib/labs/VSparkline/VTrendline.mjs +143 -0
  133. package/lib/labs/VSparkline/VTrendline.mjs.map +1 -0
  134. package/lib/labs/VSparkline/index.d.mts +374 -0
  135. package/lib/labs/VSparkline/index.mjs +2 -0
  136. package/lib/labs/VSparkline/index.mjs.map +1 -0
  137. package/lib/labs/VSparkline/util/line.mjs +52 -0
  138. package/lib/labs/VSparkline/util/line.mjs.map +1 -0
  139. package/lib/labs/VSparkline/util/path.mjs +60 -0
  140. package/lib/labs/VSparkline/util/path.mjs.map +1 -0
  141. package/lib/labs/components.d.mts +376 -1
  142. package/lib/labs/components.mjs +1 -0
  143. package/lib/labs/components.mjs.map +1 -1
  144. package/lib/locale/nl.mjs +1 -1
  145. package/lib/locale/nl.mjs.map +1 -1
  146. package/lib/util/helpers.mjs +10 -0
  147. package/lib/util/helpers.mjs.map +1 -1
  148. package/package.json +2 -2
  149. package/lib/components/VDatePicker/VDatePickerTitle.mjs +0 -81
  150. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +0 -1
  151. package/lib/components/VDatePicker/VDatePickerTitle.sass +0 -33
package/lib/index.d.mts CHANGED
@@ -515,10 +515,10 @@ declare module '@vue/runtime-core' {
515
515
  }
516
516
 
517
517
  export interface GlobalComponents {
518
+ VApp: typeof import('vuetify/components')['VApp']
518
519
  VAppBar: typeof import('vuetify/components')['VAppBar']
519
520
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
520
521
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
521
- VApp: typeof import('vuetify/components')['VApp']
522
522
  VAlert: typeof import('vuetify/components')['VAlert']
523
523
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
524
524
  VAvatar: typeof import('vuetify/components')['VAvatar']
@@ -529,28 +529,28 @@ declare module '@vue/runtime-core' {
529
529
  VBannerText: typeof import('vuetify/components')['VBannerText']
530
530
  VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
531
531
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
532
+ VBtn: typeof import('vuetify/components')['VBtn']
532
533
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
533
534
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
534
535
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
535
536
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
536
537
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
537
- VBtn: typeof import('vuetify/components')['VBtn']
538
538
  VCarousel: typeof import('vuetify/components')['VCarousel']
539
539
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
540
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
541
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
542
540
  VCard: typeof import('vuetify/components')['VCard']
543
541
  VCardActions: typeof import('vuetify/components')['VCardActions']
544
542
  VCardItem: typeof import('vuetify/components')['VCardItem']
545
543
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
546
544
  VCardText: typeof import('vuetify/components')['VCardText']
547
545
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
548
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
549
546
  VChip: typeof import('vuetify/components')['VChip']
550
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
551
- VCounter: typeof import('vuetify/components')['VCounter']
552
547
  VCode: typeof import('vuetify/components')['VCode']
548
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
549
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
553
550
  VCombobox: typeof import('vuetify/components')['VCombobox']
551
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
552
+ VCounter: typeof import('vuetify/components')['VCounter']
553
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
554
554
  VDataTable: typeof import('vuetify/components')['VDataTable']
555
555
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
556
556
  VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
@@ -563,29 +563,28 @@ declare module '@vue/runtime-core' {
563
563
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
564
564
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
565
565
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
566
- VDivider: typeof import('vuetify/components')['VDivider']
567
566
  VDialog: typeof import('vuetify/components')['VDialog']
567
+ VDivider: typeof import('vuetify/components')['VDivider']
568
568
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
569
569
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
570
570
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
571
571
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
572
- VFileInput: typeof import('vuetify/components')['VFileInput']
573
572
  VField: typeof import('vuetify/components')['VField']
574
573
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
575
- VFooter: typeof import('vuetify/components')['VFooter']
576
- VImg: typeof import('vuetify/components')['VImg']
574
+ VFileInput: typeof import('vuetify/components')['VFileInput']
577
575
  VIcon: typeof import('vuetify/components')['VIcon']
578
576
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
579
577
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
580
578
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
581
579
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
582
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
580
+ VFooter: typeof import('vuetify/components')['VFooter']
581
+ VImg: typeof import('vuetify/components')['VImg']
583
582
  VInput: typeof import('vuetify/components')['VInput']
584
583
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
585
584
  VItem: typeof import('vuetify/components')['VItem']
586
- VLabel: typeof import('vuetify/components')['VLabel']
587
- VMenu: typeof import('vuetify/components')['VMenu']
585
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
588
586
  VKbd: typeof import('vuetify/components')['VKbd']
587
+ VLabel: typeof import('vuetify/components')['VLabel']
589
588
  VList: typeof import('vuetify/components')['VList']
590
589
  VListGroup: typeof import('vuetify/components')['VListGroup']
591
590
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -596,10 +595,11 @@ declare module '@vue/runtime-core' {
596
595
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
597
596
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
598
597
  VMain: typeof import('vuetify/components')['VMain']
599
- VMessages: typeof import('vuetify/components')['VMessages']
600
598
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
601
- VOverlay: typeof import('vuetify/components')['VOverlay']
599
+ VMenu: typeof import('vuetify/components')['VMenu']
600
+ VMessages: typeof import('vuetify/components')['VMessages']
602
601
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
602
+ VOverlay: typeof import('vuetify/components')['VOverlay']
603
603
  VPagination: typeof import('vuetify/components')['VPagination']
604
604
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
605
605
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
@@ -607,41 +607,41 @@ declare module '@vue/runtime-core' {
607
607
  VRating: typeof import('vuetify/components')['VRating']
608
608
  VSelect: typeof import('vuetify/components')['VSelect']
609
609
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
610
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
611
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
612
610
  VSheet: typeof import('vuetify/components')['VSheet']
611
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
612
+ VSlider: typeof import('vuetify/components')['VSlider']
613
613
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
614
614
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
615
- VSlider: typeof import('vuetify/components')['VSlider']
616
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
615
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
617
616
  VStepper: typeof import('vuetify/components')['VStepper']
618
617
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
619
618
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
620
619
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
621
620
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
622
621
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
622
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
623
623
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
624
624
  VSwitch: typeof import('vuetify/components')['VSwitch']
625
- VTabs: typeof import('vuetify/components')['VTabs']
626
- VTab: typeof import('vuetify/components')['VTab']
627
625
  VTable: typeof import('vuetify/components')['VTable']
628
- VTextField: typeof import('vuetify/components')['VTextField']
629
626
  VTextarea: typeof import('vuetify/components')['VTextarea']
630
- VTimeline: typeof import('vuetify/components')['VTimeline']
631
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
627
+ VTextField: typeof import('vuetify/components')['VTextField']
628
+ VTabs: typeof import('vuetify/components')['VTabs']
629
+ VTab: typeof import('vuetify/components')['VTab']
632
630
  VToolbar: typeof import('vuetify/components')['VToolbar']
633
631
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
634
632
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
633
+ VTimeline: typeof import('vuetify/components')['VTimeline']
634
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
635
635
  VTooltip: typeof import('vuetify/components')['VTooltip']
636
636
  VWindow: typeof import('vuetify/components')['VWindow']
637
637
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
638
638
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
639
639
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
640
- VForm: typeof import('vuetify/components')['VForm']
641
640
  VContainer: typeof import('vuetify/components')['VContainer']
642
641
  VCol: typeof import('vuetify/components')['VCol']
643
642
  VRow: typeof import('vuetify/components')['VRow']
644
643
  VSpacer: typeof import('vuetify/components')['VSpacer']
644
+ VForm: typeof import('vuetify/components')['VForm']
645
645
  VHover: typeof import('vuetify/components')['VHover']
646
646
  VLayout: typeof import('vuetify/components')['VLayout']
647
647
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
@@ -650,11 +650,11 @@ declare module '@vue/runtime-core' {
650
650
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
651
651
  VParallax: typeof import('vuetify/components')['VParallax']
652
652
  VRadio: typeof import('vuetify/components')['VRadio']
653
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
654
653
  VResponsive: typeof import('vuetify/components')['VResponsive']
654
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
655
655
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
656
- VValidation: typeof import('vuetify/components')['VValidation']
657
656
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
657
+ VValidation: typeof import('vuetify/components')['VValidation']
658
658
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
659
659
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
660
660
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -680,5 +680,6 @@ declare module '@vue/runtime-core' {
680
680
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
681
681
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
682
682
  VConfirmEdit: typeof import('vuetify/labs/components')['VConfirmEdit']
683
+ VSparkline: typeof import('vuetify/labs/components')['VSparkline']
683
684
  }
684
685
  }
@@ -93,7 +93,7 @@ export const VCalendar = genericComponent()({
93
93
  }, [!props.hideWeekNumber ? _createVNode("div", {
94
94
  "key": "weekNumber0",
95
95
  "class": "v-calendar-weekly__head-weeknumber"
96
- }, null) : '', props.weekdays.sort((a, b) => a - b).map(weekday => _createVNode("div", {
96
+ }, null) : '', props.weekdays.map(weekday => _createVNode("div", {
97
97
  "class": `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}`
98
98
  }, [dayNames[weekday]]))]), props.viewMode === 'month' && _createVNode("div", {
99
99
  "key": "VCalendarMonth",
@@ -1 +1 @@
1
- {"version":3,"file":"VCalendar.mjs","names":["makeVCalendarDayProps","VCalendarDay","makeVCalendarHeaderProps","VCalendarHeader","VCalendarMonthDay","makeCalendarProps","useCalendar","useDate","computed","chunkArray","genericComponent","propsFactory","useRender","makeVCalendarProps","hideHeader","Boolean","hideWeekNumber","VCalendar","name","props","emits","next","prev","setup","_ref","emit","slots","adapter","daysInMonth","daysInWeek","genDays","model","weekNumbers","dayNames","getWeekdays","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","Date","title","format","calendarDayProps","filterProps","calendarHeaderProps","_createVNode","header","_mergeProps","weekdays","length","hideDayHeader","sort","a","b","map","weekday","week","wi","day","isSameDay","date","undefined","events","filter","e","start","end","i"],"sources":["../../../src/labs/VCalendar/VCalendar.tsx"],"sourcesContent":["// Styles\nimport './VCalendar.sass'\n\n// Components\nimport { makeVCalendarDayProps, VCalendarDay } from './VCalendarDay'\nimport { makeVCalendarHeaderProps, VCalendarHeader } from './VCalendarHeader'\nimport { VCalendarMonthDay } from './VCalendarMonthDay'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { chunkArray, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarProps = propsFactory({\n hideHeader: Boolean,\n hideWeekNumber: Boolean,\n\n ...makeCalendarProps(),\n ...makeVCalendarDayProps(),\n ...makeVCalendarHeaderProps(),\n}, 'VCalender')\n\nexport type VCalendarSlots = {\n header: { title: string }\n}\n\nexport const VCalendar = genericComponent<VCalendarSlots>()({\n name: 'VCalendar',\n\n props: makeVCalendarProps(),\n\n emits: {\n next: null,\n prev: null,\n 'update:modelValue': null,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n\n const { daysInMonth, daysInWeek, genDays, model, weekNumbers } = useCalendar(props as any)\n\n const dayNames = adapter.getWeekdays()\n\n function onClickNext () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(model.value[0], 1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(model.value[0], 7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(model.value[0], 1)]\n }\n }\n\n function onClickPrev () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(model.value[0], -1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(model.value[0], -7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(model.value[0], -1)]\n }\n }\n\n function onClickToday () {\n model.value = [new Date()]\n }\n\n const title = computed(() => {\n return adapter.format(model.value[0], 'monthAndYear')\n })\n\n useRender(() => {\n const calendarDayProps = VCalendarDay.filterProps(props)\n const calendarHeaderProps = VCalendarHeader.filterProps(props)\n\n return (\n <div class={[\n 'v-calendar',\n {\n 'v-calendar-monthly': props.viewMode === 'month',\n 'v-calendar-weekly': props.viewMode === 'week',\n 'v-calendar-day': props.viewMode === 'day',\n },\n ]}\n >\n <div>\n { !props.hideHeader && (\n !slots.header ? (\n <VCalendarHeader\n key=\"calendar-header\"\n { ...calendarHeaderProps }\n title={ title.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:toToday={ onClickToday }\n />\n ) : (\n slots.header({ title: title.value })\n )\n )}\n </div>\n\n <div class={['v-calendar__container', `days__${props.weekdays.length}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${props.weekdays.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : []),\n ]\n }\n key=\"calenderWeeklyHead\"\n >\n { !props.hideWeekNumber ? <div key=\"weekNumber0\" class=\"v-calendar-weekly__head-weeknumber\"></div> : '' }\n {\n props.weekdays.sort((a, b) => a - b).map(weekday => (\n <div class={ `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}` }>\n { dayNames[weekday] }\n </div>\n ))\n }\n </div>\n )}\n\n { props.viewMode === 'month' && (\n <div\n key=\"VCalendarMonth\"\n class={\n [\n 'v-calendar-month__days',\n `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${props.weekdays.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, props.weekdays.length)\n .map((week, wi) => (\n [\n !props.hideWeekNumber ? <div class=\"v-calendar-month__weeknumber\">{ weekNumbers.value[wi] }</div> : '',\n week.map(day => (\n <VCalendarMonthDay\n color={ adapter.isSameDay(new Date(), day.date) ? 'primary' : undefined }\n day={ day }\n title={ day ? adapter.format(day.date, 'dayOfMonth') : 'NaN' }\n events={ props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end)) }\n ></VCalendarMonthDay>\n )),\n ]\n ))}\n </div>\n )}\n\n { props.viewMode === 'week' && (\n daysInWeek.value.map((day, i) => (\n <VCalendarDay\n { ...calendarDayProps }\n day={ day }\n dayIndex={ i }\n events={ props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date)) }\n ></VCalendarDay>\n ))\n )}\n\n { props.viewMode === 'day' && (\n <VCalendarDay\n { ...calendarDayProps }\n day={ genDays([model.value[0] as Date], adapter.date() as Date)[0] }\n events={\n props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([model.value[0] as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([model.value[0] as Date], adapter.date() as Date)[0].date)\n )\n }\n ></VCalendarDay>\n )}\n </div>\n </div>\n )\n })\n\n return { daysInMonth, daysInWeek, genDays }\n },\n})\n\nexport type VCalendar = InstanceType<typeof VCalendar>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VCalendar.mjs","names":["makeVCalendarDayProps","VCalendarDay","makeVCalendarHeaderProps","VCalendarHeader","VCalendarMonthDay","makeCalendarProps","useCalendar","useDate","computed","chunkArray","genericComponent","propsFactory","useRender","makeVCalendarProps","hideHeader","Boolean","hideWeekNumber","VCalendar","name","props","emits","next","prev","setup","_ref","emit","slots","adapter","daysInMonth","daysInWeek","genDays","model","weekNumbers","dayNames","getWeekdays","onClickNext","viewMode","value","addMonths","addDays","onClickPrev","onClickToday","Date","title","format","calendarDayProps","filterProps","calendarHeaderProps","_createVNode","header","_mergeProps","weekdays","length","hideDayHeader","map","weekday","week","wi","day","isSameDay","date","undefined","events","filter","e","start","end","i"],"sources":["../../../src/labs/VCalendar/VCalendar.tsx"],"sourcesContent":["// Styles\nimport './VCalendar.sass'\n\n// Components\nimport { makeVCalendarDayProps, VCalendarDay } from './VCalendarDay'\nimport { makeVCalendarHeaderProps, VCalendarHeader } from './VCalendarHeader'\nimport { VCalendarMonthDay } from './VCalendarMonthDay'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\n\n// Utilities\nimport { computed } from 'vue'\nimport { chunkArray, genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVCalendarProps = propsFactory({\n hideHeader: Boolean,\n hideWeekNumber: Boolean,\n\n ...makeCalendarProps(),\n ...makeVCalendarDayProps(),\n ...makeVCalendarHeaderProps(),\n}, 'VCalender')\n\nexport type VCalendarSlots = {\n header: { title: string }\n}\n\nexport const VCalendar = genericComponent<VCalendarSlots>()({\n name: 'VCalendar',\n\n props: makeVCalendarProps(),\n\n emits: {\n next: null,\n prev: null,\n 'update:modelValue': null,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n\n const { daysInMonth, daysInWeek, genDays, model, weekNumbers } = useCalendar(props as any)\n\n const dayNames = adapter.getWeekdays()\n\n function onClickNext () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(model.value[0], 1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(model.value[0], 7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(model.value[0], 1)]\n }\n }\n\n function onClickPrev () {\n if (props.viewMode === 'month') {\n model.value = [adapter.addMonths(model.value[0], -1)]\n }\n if (props.viewMode === 'week') {\n model.value = [adapter.addDays(model.value[0], -7)]\n }\n if (props.viewMode === 'day') {\n model.value = [adapter.addDays(model.value[0], -1)]\n }\n }\n\n function onClickToday () {\n model.value = [new Date()]\n }\n\n const title = computed(() => {\n return adapter.format(model.value[0], 'monthAndYear')\n })\n\n useRender(() => {\n const calendarDayProps = VCalendarDay.filterProps(props)\n const calendarHeaderProps = VCalendarHeader.filterProps(props)\n\n return (\n <div class={[\n 'v-calendar',\n {\n 'v-calendar-monthly': props.viewMode === 'month',\n 'v-calendar-weekly': props.viewMode === 'week',\n 'v-calendar-day': props.viewMode === 'day',\n },\n ]}\n >\n <div>\n { !props.hideHeader && (\n !slots.header ? (\n <VCalendarHeader\n key=\"calendar-header\"\n { ...calendarHeaderProps }\n title={ title.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:toToday={ onClickToday }\n />\n ) : (\n slots.header({ title: title.value })\n )\n )}\n </div>\n\n <div class={['v-calendar__container', `days__${props.weekdays.length}`]}>\n { props.viewMode === 'month' && !props.hideDayHeader && (\n <div\n class={\n [\n 'v-calendar-weekly__head',\n `days__${props.weekdays.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-weekly__head-weeknumbers'] : []),\n ]\n }\n key=\"calenderWeeklyHead\"\n >\n { !props.hideWeekNumber ? <div key=\"weekNumber0\" class=\"v-calendar-weekly__head-weeknumber\"></div> : '' }\n {\n props.weekdays.map(weekday => (\n <div class={ `v-calendar-weekly__head-weekday${!props.hideWeekNumber ? '-with-weeknumber' : ''}` }>\n { dayNames[weekday] }\n </div>\n ))\n }\n </div>\n )}\n\n { props.viewMode === 'month' && (\n <div\n key=\"VCalendarMonth\"\n class={\n [\n 'v-calendar-month__days',\n `days${!props.hideWeekNumber ? '-with-weeknumbers' : ''}__${props.weekdays.length}`,\n ...(!props.hideWeekNumber ? ['v-calendar-month__weeknumbers'] : []),\n ]\n }\n >\n { chunkArray(daysInMonth.value, props.weekdays.length)\n .map((week, wi) => (\n [\n !props.hideWeekNumber ? <div class=\"v-calendar-month__weeknumber\">{ weekNumbers.value[wi] }</div> : '',\n week.map(day => (\n <VCalendarMonthDay\n color={ adapter.isSameDay(new Date(), day.date) ? 'primary' : undefined }\n day={ day }\n title={ day ? adapter.format(day.date, 'dayOfMonth') : 'NaN' }\n events={ props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end)) }\n ></VCalendarMonthDay>\n )),\n ]\n ))}\n </div>\n )}\n\n { props.viewMode === 'week' && (\n daysInWeek.value.map((day, i) => (\n <VCalendarDay\n { ...calendarDayProps }\n day={ day }\n dayIndex={ i }\n events={ props.events?.filter(e => adapter.isSameDay(e.start, day.date) || adapter.isSameDay(e.end, day.date)) }\n ></VCalendarDay>\n ))\n )}\n\n { props.viewMode === 'day' && (\n <VCalendarDay\n { ...calendarDayProps }\n day={ genDays([model.value[0] as Date], adapter.date() as Date)[0] }\n events={\n props.events?.filter(e =>\n adapter.isSameDay(e.start, genDays([model.value[0] as Date], adapter.date() as Date)[0].date) ||\n adapter.isSameDay(e.end, genDays([model.value[0] as Date], adapter.date() as Date)[0].date)\n )\n }\n ></VCalendarDay>\n )}\n </div>\n </div>\n )\n })\n\n return { daysInMonth, daysInWeek, genDays }\n },\n})\n\nexport type VCalendar = InstanceType<typeof VCalendar>\n"],"mappings":";AAAA;AACA;;AAEA;AAAA,SACSA,qBAAqB,EAAEC,YAAY;AAAA,SACnCC,wBAAwB,EAAEC,eAAe;AAAA,SACzCC,iBAAiB,mCAE1B;AAAA,SACSC,iBAAiB,EAAEC,WAAW;AAAA,SAC9BC,OAAO,2CAEhB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,UAAU,EAAEC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS;AAE9D,OAAO,MAAMC,kBAAkB,GAAGF,YAAY,CAAC;EAC7CG,UAAU,EAAEC,OAAO;EACnBC,cAAc,EAAED,OAAO;EAEvB,GAAGV,iBAAiB,CAAC,CAAC;EACtB,GAAGL,qBAAqB,CAAC,CAAC;EAC1B,GAAGE,wBAAwB,CAAC;AAC9B,CAAC,EAAE,WAAW,CAAC;AAMf,OAAO,MAAMe,SAAS,GAAGP,gBAAgB,CAAiB,CAAC,CAAC;EAC1DQ,IAAI,EAAE,WAAW;EAEjBC,KAAK,EAAEN,kBAAkB,CAAC,CAAC;EAE3BO,KAAK,EAAE;IACLC,IAAI,EAAE,IAAI;IACVC,IAAI,EAAE,IAAI;IACV,mBAAmB,EAAE;EACvB,CAAC;EAEDC,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAmB;IAAA,IAAjB;MAAEC,IAAI;MAAEC;IAAM,CAAC,GAAAF,IAAA;IAC3B,MAAMG,OAAO,GAAGpB,OAAO,CAAC,CAAC;IAEzB,MAAM;MAAEqB,WAAW;MAAEC,UAAU;MAAEC,OAAO;MAAEC,KAAK;MAAEC;IAAY,CAAC,GAAG1B,WAAW,CAACa,KAAY,CAAC;IAE1F,MAAMc,QAAQ,GAAGN,OAAO,CAACO,WAAW,CAAC,CAAC;IAEtC,SAASC,WAAWA,CAAA,EAAI;MACtB,IAAIhB,KAAK,CAACiB,QAAQ,KAAK,OAAO,EAAE;QAC9BL,KAAK,CAACM,KAAK,GAAG,CAACV,OAAO,CAACW,SAAS,CAACP,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACtD;MACA,IAAIlB,KAAK,CAACiB,QAAQ,KAAK,MAAM,EAAE;QAC7BL,KAAK,CAACM,KAAK,GAAG,CAACV,OAAO,CAACY,OAAO,CAACR,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACpD;MACA,IAAIlB,KAAK,CAACiB,QAAQ,KAAK,KAAK,EAAE;QAC5BL,KAAK,CAACM,KAAK,GAAG,CAACV,OAAO,CAACY,OAAO,CAACR,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACpD;IACF;IAEA,SAASG,WAAWA,CAAA,EAAI;MACtB,IAAIrB,KAAK,CAACiB,QAAQ,KAAK,OAAO,EAAE;QAC9BL,KAAK,CAACM,KAAK,GAAG,CAACV,OAAO,CAACW,SAAS,CAACP,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;MACvD;MACA,IAAIlB,KAAK,CAACiB,QAAQ,KAAK,MAAM,EAAE;QAC7BL,KAAK,CAACM,KAAK,GAAG,CAACV,OAAO,CAACY,OAAO,CAACR,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;MACrD;MACA,IAAIlB,KAAK,CAACiB,QAAQ,KAAK,KAAK,EAAE;QAC5BL,KAAK,CAACM,KAAK,GAAG,CAACV,OAAO,CAACY,OAAO,CAACR,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;MACrD;IACF;IAEA,SAASI,YAAYA,CAAA,EAAI;MACvBV,KAAK,CAACM,KAAK,GAAG,CAAC,IAAIK,IAAI,CAAC,CAAC,CAAC;IAC5B;IAEA,MAAMC,KAAK,GAAGnC,QAAQ,CAAC,MAAM;MAC3B,OAAOmB,OAAO,CAACiB,MAAM,CAACb,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC;IACvD,CAAC,CAAC;IAEFzB,SAAS,CAAC,MAAM;MACd,MAAMiC,gBAAgB,GAAG5C,YAAY,CAAC6C,WAAW,CAAC3B,KAAK,CAAC;MACxD,MAAM4B,mBAAmB,GAAG5C,eAAe,CAAC2C,WAAW,CAAC3B,KAAK,CAAC;MAE9D,OAAA6B,YAAA;QAAA,SACc,CACV,YAAY,EACZ;UACE,oBAAoB,EAAE7B,KAAK,CAACiB,QAAQ,KAAK,OAAO;UAChD,mBAAmB,EAAEjB,KAAK,CAACiB,QAAQ,KAAK,MAAM;UAC9C,gBAAgB,EAAEjB,KAAK,CAACiB,QAAQ,KAAK;QACvC,CAAC;MACF,IAAAY,YAAA,eAGK,CAAC7B,KAAK,CAACL,UAAU,KACjB,CAACY,KAAK,CAACuB,MAAM,GAAAD,YAAA,CAAA7C,eAAA,EAAA+C,WAAA;QAAA;MAAA,GAGJH,mBAAmB;QAAA,SAChBJ,KAAK,CAACN,KAAK;QAAA,gBACJF,WAAW;QAAA,gBACXK,WAAW;QAAA,mBACRC;MAAY,YAGhCf,KAAK,CAACuB,MAAM,CAAC;QAAEN,KAAK,EAAEA,KAAK,CAACN;MAAM,CAAC,CACpC,CACF,IAAAW,YAAA;QAAA,SAGS,CAAC,uBAAuB,EAAG,SAAQ7B,KAAK,CAACgC,QAAQ,CAACC,MAAO,EAAC;MAAC,IACnEjC,KAAK,CAACiB,QAAQ,KAAK,OAAO,IAAI,CAACjB,KAAK,CAACkC,aAAa,IAAAL,YAAA;QAAA,SAG9C,CACE,yBAAyB,EACxB,SAAQ7B,KAAK,CAACgC,QAAQ,CAACC,MAAO,EAAC,EAChC,IAAI,CAACjC,KAAK,CAACH,cAAc,GAAG,CAAC,qCAAqC,CAAC,GAAG,EAAE,CAAC,CAC1E;QAAA;MAAA,IAID,CAACG,KAAK,CAACH,cAAc,GAAAgC,YAAA;QAAA;QAAA;MAAA,WAA8E,EAAE,EAErG7B,KAAK,CAACgC,QAAQ,CAACG,GAAG,CAACC,OAAO,IAAAP,YAAA;QAAA,SACV,kCAAiC,CAAC7B,KAAK,CAACH,cAAc,GAAG,kBAAkB,GAAG,EAAG;MAAC,IAC5FiB,QAAQ,CAACsB,OAAO,CAAC,EAEtB,CAAC,EAGP,EAECpC,KAAK,CAACiB,QAAQ,KAAK,OAAO,IAAAY,YAAA;QAAA;QAAA,SAItB,CACE,wBAAwB,EACvB,OAAM,CAAC7B,KAAK,CAACH,cAAc,GAAG,mBAAmB,GAAG,EAAG,KAAIG,KAAK,CAACgC,QAAQ,CAACC,MAAO,EAAC,EACnF,IAAI,CAACjC,KAAK,CAACH,cAAc,GAAG,CAAC,+BAA+B,CAAC,GAAG,EAAE,CAAC;MACpE,IAGDP,UAAU,CAACmB,WAAW,CAACS,KAAK,EAAElB,KAAK,CAACgC,QAAQ,CAACC,MAAM,CAAC,CACnDE,GAAG,CAAC,CAACE,IAAI,EAAEC,EAAE,KACZ,CACE,CAACtC,KAAK,CAACH,cAAc,GAAAgC,YAAA;QAAA;MAAA,IAA+ChB,WAAW,CAACK,KAAK,CAACoB,EAAE,CAAC,KAAW,EAAE,EACtGD,IAAI,CAACF,GAAG,CAACI,GAAG,IAAAV,YAAA,CAAA5C,iBAAA;QAAA,SAEAuB,OAAO,CAACgC,SAAS,CAAC,IAAIjB,IAAI,CAAC,CAAC,EAAEgB,GAAG,CAACE,IAAI,CAAC,GAAG,SAAS,GAAGC,SAAS;QAAA,OACjEH,GAAG;QAAA,SACDA,GAAG,GAAG/B,OAAO,CAACiB,MAAM,CAACc,GAAG,CAACE,IAAI,EAAE,YAAY,CAAC,GAAG,KAAK;QAAA,UACnDzC,KAAK,CAAC2C,MAAM,EAAEC,MAAM,CAACC,CAAC,IAAIrC,OAAO,CAACgC,SAAS,CAACD,GAAG,CAACE,IAAI,EAAEI,CAAC,CAACC,KAAK,CAAC,IAAItC,OAAO,CAACgC,SAAS,CAACD,GAAG,CAACE,IAAI,EAAEI,CAAC,CAACE,GAAG,CAAC;MAAC,QAEjH,CAAC,CAEL,CAAC,EAEP,EAEC/C,KAAK,CAACiB,QAAQ,KAAK,MAAM,IACzBP,UAAU,CAACQ,KAAK,CAACiB,GAAG,CAAC,CAACI,GAAG,EAAES,CAAC,KAAAnB,YAAA,CAAA/C,YAAA,EAAAiD,WAAA,CAEnBL,gBAAgB;QAAA,OACfa,GAAG;QAAA,YACES,CAAC;QAAA,UACHhD,KAAK,CAAC2C,MAAM,EAAEC,MAAM,CAACC,CAAC,IAAIrC,OAAO,CAACgC,SAAS,CAACK,CAAC,CAACC,KAAK,EAAEP,GAAG,CAACE,IAAI,CAAC,IAAIjC,OAAO,CAACgC,SAAS,CAACK,CAAC,CAACE,GAAG,EAAER,GAAG,CAACE,IAAI,CAAC;MAAC,SAEjH,CACF,EAECzC,KAAK,CAACiB,QAAQ,KAAK,KAAK,IAAAY,YAAA,CAAA/C,YAAA,EAAAiD,WAAA,CAEjBL,gBAAgB;QAAA,OACff,OAAO,CAAC,CAACC,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,CAAS,EAAEV,OAAO,CAACiC,IAAI,CAAC,CAAS,CAAC,CAAC,CAAC,CAAC;QAAA,UAEhEzC,KAAK,CAAC2C,MAAM,EAAEC,MAAM,CAACC,CAAC,IACpBrC,OAAO,CAACgC,SAAS,CAACK,CAAC,CAACC,KAAK,EAAEnC,OAAO,CAAC,CAACC,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,CAAS,EAAEV,OAAO,CAACiC,IAAI,CAAC,CAAS,CAAC,CAAC,CAAC,CAAC,CAACA,IAAI,CAAC,IAC7FjC,OAAO,CAACgC,SAAS,CAACK,CAAC,CAACE,GAAG,EAAEpC,OAAO,CAAC,CAACC,KAAK,CAACM,KAAK,CAAC,CAAC,CAAC,CAAS,EAAEV,OAAO,CAACiC,IAAI,CAAC,CAAS,CAAC,CAAC,CAAC,CAAC,CAACA,IAAI,CAC5F;MAAC,SAGN;IAIT,CAAC,CAAC;IAEF,OAAO;MAAEhC,WAAW;MAAEC,UAAU;MAAEC;IAAQ,CAAC;EAC7C;AACF,CAAC,CAAC"}
@@ -20,7 +20,7 @@
20
20
 
21
21
  .v-picker__actions {
22
22
  grid-area: actions;
23
- padding: 0 12px 12px 12px;
23
+ padding: 0 12px 12px;
24
24
  display: flex;
25
25
  align-items: center;
26
26
  justify-content: flex-end;
@@ -47,6 +47,6 @@
47
47
  padding-inline: 24px 12px;
48
48
  padding-top: 16px;
49
49
  padding-bottom: 16px;
50
- font-weight: 600;
50
+ font-weight: 400;
51
51
  letter-spacing: 0.1666666667em;
52
52
  }
@@ -22,7 +22,7 @@
22
22
 
23
23
  .v-picker__actions
24
24
  grid-area: actions
25
- padding: 0 12px 12px 12px
25
+ padding: $picker-actions-padding
26
26
  display: flex
27
27
  align-items: center
28
28
  justify-content: flex-end
@@ -46,5 +46,5 @@
46
46
  padding-inline: 24px 12px
47
47
  padding-top: 16px
48
48
  padding-bottom: 16px
49
- font-weight: 600
49
+ font-weight: $picker-title-font-weight
50
50
  letter-spacing: .1666666667em
@@ -1,9 +1,7 @@
1
1
  @use '../../styles/settings';
2
2
 
3
+ $picker-actions-padding: 0 12px 12px !default;
3
4
  $picker-border-radius: settings.$border-radius-root !default;
4
5
  $picker-elevation: 0 !default;
5
- $picker-title-padding: 16px !default;
6
6
  $picker-inactive-btn-opacity: .6 !default;
7
- $picker-active-btn-opacity: 1 !default;
8
- $picker-landscape-title-width: 170px !default;
9
- $picker-font-size: 1rem !default;
7
+ $picker-title-font-weight: 400 !default;
@@ -16,6 +16,7 @@ declare const VPicker: {
16
16
  style: vue.StyleValue;
17
17
  tag: string;
18
18
  landscape: boolean;
19
+ tile: boolean;
19
20
  hideHeader: boolean;
20
21
  } & {
21
22
  location?: Anchor | undefined;
@@ -56,6 +57,7 @@ declare const VPicker: {
56
57
  style: vue.StyleValue;
57
58
  tag: string;
58
59
  landscape: boolean;
60
+ tile: boolean;
59
61
  hideHeader: boolean;
60
62
  } & {
61
63
  location?: Anchor | undefined;
@@ -97,6 +99,7 @@ declare const VPicker: {
97
99
  tag: string;
98
100
  landscape: boolean;
99
101
  rounded: string | number | boolean;
102
+ tile: boolean;
100
103
  hideHeader: boolean;
101
104
  }, true, {}, vue.SlotsType<Partial<{
102
105
  header: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -122,6 +125,7 @@ declare const VPicker: {
122
125
  style: vue.StyleValue;
123
126
  tag: string;
124
127
  landscape: boolean;
128
+ tile: boolean;
125
129
  hideHeader: boolean;
126
130
  } & {
127
131
  location?: Anchor | undefined;
@@ -163,6 +167,7 @@ declare const VPicker: {
163
167
  tag: string;
164
168
  landscape: boolean;
165
169
  rounded: string | number | boolean;
170
+ tile: boolean;
166
171
  hideHeader: boolean;
167
172
  }>;
168
173
  __isFragment?: undefined;
@@ -172,6 +177,7 @@ declare const VPicker: {
172
177
  style: vue.StyleValue;
173
178
  tag: string;
174
179
  landscape: boolean;
180
+ tile: boolean;
175
181
  hideHeader: boolean;
176
182
  } & {
177
183
  location?: Anchor | undefined;
@@ -213,6 +219,7 @@ declare const VPicker: {
213
219
  tag: string;
214
220
  landscape: boolean;
215
221
  rounded: string | number | boolean;
222
+ tile: boolean;
216
223
  hideHeader: boolean;
217
224
  }, {}, string, vue.SlotsType<Partial<{
218
225
  header: () => vue.VNode<vue.RendererNode, vue.RendererElement, {
@@ -237,6 +244,7 @@ declare const VPicker: {
237
244
  type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
238
245
  default: undefined;
239
246
  };
247
+ tile: BooleanConstructor;
240
248
  position: {
241
249
  type: vue.PropType<"fixed" | "absolute" | "static" | "sticky" | "relative">;
242
250
  validator: (v: any) => boolean;
@@ -273,6 +281,7 @@ declare const VPicker: {
273
281
  type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
274
282
  default: undefined;
275
283
  };
284
+ tile: BooleanConstructor;
276
285
  position: {
277
286
  type: vue.PropType<"fixed" | "absolute" | "static" | "sticky" | "relative">;
278
287
  validator: (v: any) => boolean;
@@ -0,0 +1,138 @@
1
+ import { Fragment as _Fragment, createVNode as _createVNode } from "vue";
2
+ // Utilities
3
+ import { computed } from 'vue';
4
+ import { makeLineProps } from "./util/line.mjs";
5
+ import { genericComponent, getUid, propsFactory, useRender } from "../../util/index.mjs"; // Types
6
+ export const makeVBarlineProps = propsFactory({
7
+ autoLineWidth: Boolean,
8
+ ...makeLineProps()
9
+ }, 'VBarline');
10
+ export const VBarline = genericComponent()({
11
+ name: 'VBarline',
12
+ props: makeVBarlineProps(),
13
+ setup(props, _ref) {
14
+ let {
15
+ slots
16
+ } = _ref;
17
+ const uid = getUid();
18
+ const id = computed(() => props.id || `barline-${uid}`);
19
+ const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || 500);
20
+ const hasLabels = computed(() => {
21
+ return Boolean(props.showLabels || props.labels.length > 0 || !!slots?.label);
22
+ });
23
+ const lineWidth = computed(() => parseFloat(props.lineWidth) || 4);
24
+ const totalWidth = computed(() => Math.max(props.modelValue.length * lineWidth.value, Number(props.width)));
25
+ const boundary = computed(() => {
26
+ return {
27
+ minX: 0,
28
+ maxX: totalWidth.value,
29
+ minY: 0,
30
+ maxY: parseInt(props.height, 10)
31
+ };
32
+ });
33
+ function genBars(values, boundary) {
34
+ const {
35
+ minX,
36
+ maxX,
37
+ minY,
38
+ maxY
39
+ } = boundary;
40
+ const totalValues = values.length;
41
+ let maxValue = Math.max(...values);
42
+ let minValue = Math.min(...values);
43
+ if (minValue > 0) minValue = 0;
44
+ if (maxValue < 0) maxValue = 0;
45
+ const gridX = maxX / totalValues;
46
+ const gridY = (maxY - minY) / (maxValue - minValue || 1);
47
+ const horizonY = maxY - Math.abs(minValue * gridY);
48
+ return values.map((value, index) => {
49
+ const height = Math.abs(gridY * value);
50
+ return {
51
+ x: minX + index * gridX,
52
+ y: horizonY - height + +(value < 0) * height,
53
+ height,
54
+ value
55
+ };
56
+ });
57
+ }
58
+ const parsedLabels = computed(() => {
59
+ const labels = [];
60
+ const points = genBars(props.modelValue.map(item => typeof item === 'number' ? item : item.value), boundary.value);
61
+ const len = points.length;
62
+ for (let i = 0; labels.length < len; i++) {
63
+ const item = points[i];
64
+ let value = props.labels[i];
65
+ if (!value) {
66
+ value = typeof item === 'object' ? item.value : item;
67
+ }
68
+ labels.push({
69
+ x: item.x,
70
+ value: String(value)
71
+ });
72
+ }
73
+ return labels;
74
+ });
75
+ const bars = computed(() => genBars(props.modelValue.map(item => typeof item === 'number' ? item : item.value), boundary.value));
76
+ const offsetX = computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2);
77
+ useRender(() => {
78
+ const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
79
+ return _createVNode("svg", {
80
+ "display": "block"
81
+ }, [_createVNode("defs", null, [_createVNode("linearGradient", {
82
+ "id": id.value,
83
+ "gradientUnits": "userSpaceOnUse",
84
+ "x1": props.gradientDirection === 'left' ? '100%' : '0',
85
+ "y1": props.gradientDirection === 'top' ? '100%' : '0',
86
+ "x2": props.gradientDirection === 'right' ? '100%' : '0',
87
+ "y2": props.gradientDirection === 'bottom' ? '100%' : '0'
88
+ }, [gradientData.map((color, index) => _createVNode("stop", {
89
+ "offset": index / Math.max(gradientData.length - 1, 1),
90
+ "stop-color": color || 'currentColor'
91
+ }, null))])]), _createVNode("clipPath", {
92
+ "id": `${id.value}-clip`
93
+ }, [bars.value.map(item => _createVNode("rect", {
94
+ "x": item.x + offsetX.value,
95
+ "y": item.y,
96
+ "width": lineWidth.value,
97
+ "height": item.height,
98
+ "rx": typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0,
99
+ "ry": typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0
100
+ }, [props.autoDraw && _createVNode(_Fragment, null, [_createVNode("animate", {
101
+ "attributeName": "y",
102
+ "from": item.y + item.height,
103
+ "to": item.y,
104
+ "dur": `${autoDrawDuration.value}ms`,
105
+ "fill": "freeze"
106
+ }, null), _createVNode("animate", {
107
+ "attributeName": "height",
108
+ "from": "0",
109
+ "to": item.height,
110
+ "dur": `${autoDrawDuration.value}ms`,
111
+ "fill": "freeze"
112
+ }, null)])]))]), hasLabels.value && _createVNode("g", {
113
+ "key": "labels",
114
+ "style": {
115
+ textAnchor: 'middle',
116
+ dominantBaseline: 'mathematical',
117
+ fill: 'currentColor'
118
+ }
119
+ }, [parsedLabels.value.map((item, i) => _createVNode("text", {
120
+ "x": item.x + offsetX.value + lineWidth.value / 2,
121
+ "y": parseInt(props.height, 10) - 2 + (parseInt(props.labelSize, 10) || 7 * 0.75),
122
+ "font-size": Number(props.labelSize) || 7
123
+ }, [slots.label?.({
124
+ index: i,
125
+ value: item.value
126
+ }) ?? item.value]))]), _createVNode("g", {
127
+ "clip-path": `url(#${id.value}-clip)`,
128
+ "fill": `url(#${id.value})`
129
+ }, [_createVNode("rect", {
130
+ "x": 0,
131
+ "y": 0,
132
+ "width": Math.max(props.modelValue.length * lineWidth.value, Number(props.width)),
133
+ "height": props.height
134
+ }, null)])]);
135
+ });
136
+ }
137
+ });
138
+ //# sourceMappingURL=VBarline.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VBarline.mjs","names":["computed","makeLineProps","genericComponent","getUid","propsFactory","useRender","makeVBarlineProps","autoLineWidth","Boolean","VBarline","name","props","setup","_ref","slots","uid","id","autoDrawDuration","Number","hasLabels","showLabels","labels","length","label","lineWidth","parseFloat","totalWidth","Math","max","modelValue","value","width","boundary","minX","maxX","minY","maxY","parseInt","height","genBars","values","totalValues","maxValue","minValue","min","gridX","gridY","horizonY","abs","map","index","x","y","parsedLabels","points","item","len","i","push","String","bars","offsetX","gradientData","gradient","slice","reverse","_createVNode","gradientDirection","color","smooth","autoDraw","_Fragment","textAnchor","dominantBaseline","fill","labelSize"],"sources":["../../../src/labs/VSparkline/VBarline.tsx"],"sourcesContent":["// Utilities\nimport { computed } from 'vue'\nimport { makeLineProps } from './util/line'\nimport { genericComponent, getUid, propsFactory, useRender } from '@/util'\n\n// Types\nexport type VBarlineSlots = {\n default: void\n label: { index: number, value: string }\n}\n\nexport type SparklineItem = number | { value: number }\n\nexport type SparklineText = {\n x: number\n value: string\n}\n\nexport interface Boundary {\n minX: number\n minY: number\n maxX: number\n maxY: number\n}\n\nexport interface Bar {\n x: number\n y: number\n height: number\n value: number\n}\n\nexport const makeVBarlineProps = propsFactory({\n autoLineWidth: Boolean,\n\n ...makeLineProps(),\n}, 'VBarline')\n\nexport const VBarline = genericComponent<VBarlineSlots>()({\n name: 'VBarline',\n\n props: makeVBarlineProps(),\n\n setup (props, { slots }) {\n const uid = getUid()\n const id = computed(() => props.id || `barline-${uid}`)\n const autoDrawDuration = computed(() => Number(props.autoDrawDuration) || 500)\n\n const hasLabels = computed(() => {\n return Boolean(\n props.showLabels ||\n props.labels.length > 0 ||\n !!slots?.label\n )\n })\n\n const lineWidth = computed(() => parseFloat(props.lineWidth) || 4)\n\n const totalWidth = computed(() => Math.max(props.modelValue.length * lineWidth.value, Number(props.width)))\n\n const boundary = computed<Boundary>(() => {\n return {\n minX: 0,\n maxX: totalWidth.value,\n minY: 0,\n maxY: parseInt(props.height, 10),\n }\n })\n\n function genBars (\n values: number[],\n boundary: Boundary\n ): Bar[] {\n const { minX, maxX, minY, maxY } = boundary\n const totalValues = values.length\n let maxValue = Math.max(...values)\n let minValue = Math.min(...values)\n\n if (minValue > 0) minValue = 0\n if (maxValue < 0) maxValue = 0\n\n const gridX = maxX / totalValues\n const gridY = (maxY - minY) / ((maxValue - minValue) || 1)\n const horizonY = maxY - Math.abs(minValue * gridY)\n\n return values.map((value, index) => {\n const height = Math.abs(gridY * value)\n\n return {\n x: minX + index * gridX,\n y: horizonY - height +\n +(value < 0) * height,\n height,\n value,\n }\n })\n }\n\n const parsedLabels = computed(() => {\n const labels = []\n const points = genBars(\n props.modelValue.map(item => (typeof item === 'number' ? item : item.value)),\n boundary.value\n )\n const len = points.length\n\n for (let i = 0; labels.length < len; i++) {\n const item = points[i]\n let value = props.labels[i]\n\n if (!value) {\n value = typeof item === 'object'\n ? item.value\n : item\n }\n\n labels.push({\n x: item.x,\n value: String(value),\n })\n }\n\n return labels\n })\n\n const bars = computed(() => genBars(props.modelValue.map(item => (typeof item === 'number' ? item : item.value)), boundary.value))\n const offsetX = computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2)\n\n useRender(() => {\n const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse()\n return (\n <svg\n display=\"block\"\n >\n <defs>\n <linearGradient\n id={ id.value }\n gradientUnits=\"userSpaceOnUse\"\n x1={ props.gradientDirection === 'left' ? '100%' : '0' }\n y1={ props.gradientDirection === 'top' ? '100%' : '0' }\n x2={ props.gradientDirection === 'right' ? '100%' : '0' }\n y2={ props.gradientDirection === 'bottom' ? '100%' : '0' }\n >\n {\n gradientData.map((color, index) => (\n <stop offset={ index / (Math.max(gradientData.length - 1, 1)) } stop-color={ color || 'currentColor' } />\n ))\n }\n </linearGradient>\n </defs>\n\n <clipPath id={ `${id.value}-clip` }>\n {\n bars.value.map(item => (\n <rect\n x={ item.x + offsetX.value }\n y={ item.y }\n width={ lineWidth.value }\n height={ item.height }\n rx={ typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0 }\n ry={ typeof props.smooth === 'number' ? props.smooth : props.smooth ? 2 : 0 }\n >\n { props.autoDraw && (\n <>\n <animate\n attributeName=\"y\"\n from={ item.y + item.height }\n to={ item.y }\n dur={ `${autoDrawDuration.value}ms` }\n fill=\"freeze\"\n />\n <animate\n attributeName=\"height\"\n from=\"0\"\n to={ item.height }\n dur={ `${autoDrawDuration.value}ms` }\n fill=\"freeze\"\n />\n </>\n )}\n </rect>\n ))\n }\n </clipPath>\n\n { hasLabels.value && (\n <g\n key=\"labels\"\n style={{\n textAnchor: 'middle',\n dominantBaseline: 'mathematical',\n fill: 'currentColor',\n }}\n >\n {\n parsedLabels.value.map((item, i) => (\n <text\n x={ item.x + offsetX.value + lineWidth.value / 2 }\n y={ (parseInt(props.height, 10) - 2) + (parseInt(props.labelSize, 10) || 7 * 0.75) }\n font-size={ Number(props.labelSize) || 7 }\n >\n { slots.label?.({ index: i, value: item.value }) ?? item.value }\n </text>\n ))\n }\n </g>\n )}\n\n <g\n clip-path={ `url(#${id.value}-clip)` }\n fill={ `url(#${id.value})` }\n >\n <rect\n x={ 0 }\n y={ 0 }\n width={ Math.max(props.modelValue.length * lineWidth.value, Number(props.width)) }\n height={ props.height }\n ></rect>\n </g>\n </svg>\n )\n })\n },\n})\n\nexport type VBarline = InstanceType<typeof VBarline>\n"],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from "vue";
2
+ // Components
3
+ import { makeVBarlineProps, VBarline } from "./VBarline.mjs";
4
+ import { makeVTrendlineProps, VTrendline } from "./VTrendline.mjs"; // Composables
5
+ import { useTextColor } from "../../composables/color.mjs"; // Utilities
6
+ import { computed, toRef } from 'vue';
7
+ import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
8
+ // Types
9
+
10
+ export const makeVSparklineProps = propsFactory({
11
+ type: {
12
+ type: String,
13
+ default: 'trend'
14
+ },
15
+ ...makeVBarlineProps(),
16
+ ...makeVTrendlineProps()
17
+ }, 'VSparkline');
18
+ export const VSparkline = genericComponent()({
19
+ name: 'VSparkline',
20
+ props: makeVSparklineProps(),
21
+ setup(props, _ref) {
22
+ let {
23
+ slots
24
+ } = _ref;
25
+ const {
26
+ textColorClasses,
27
+ textColorStyles
28
+ } = useTextColor(toRef(props, 'color'));
29
+ const hasLabels = computed(() => {
30
+ return Boolean(props.showLabels || props.labels.length > 0 || !!slots?.label);
31
+ });
32
+ const totalHeight = computed(() => {
33
+ let height = parseInt(props.height, 10);
34
+ if (hasLabels.value) height += parseInt(props.labelSize, 10) * 1.5;
35
+ return height;
36
+ });
37
+ useRender(() => {
38
+ const Tag = props.type === 'trend' ? VTrendline : VBarline;
39
+ const lineProps = props.type === 'trend' ? VTrendline.filterProps(props) : VBarline.filterProps(props);
40
+ return _createVNode(Tag, _mergeProps({
41
+ "key": props.type,
42
+ "class": textColorClasses.value,
43
+ "style": textColorStyles.value,
44
+ "viewBox": `0 0 ${props.width} ${parseInt(totalHeight.value, 10)}`
45
+ }, lineProps), slots);
46
+ });
47
+ }
48
+ });
49
+ //# sourceMappingURL=VSparkline.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VSparkline.mjs","names":["makeVBarlineProps","VBarline","makeVTrendlineProps","VTrendline","useTextColor","computed","toRef","genericComponent","propsFactory","useRender","makeVSparklineProps","type","String","default","VSparkline","name","props","setup","_ref","slots","textColorClasses","textColorStyles","hasLabels","Boolean","showLabels","labels","length","label","totalHeight","height","parseInt","value","labelSize","Tag","lineProps","filterProps","_createVNode","_mergeProps","width"],"sources":["../../../src/labs/VSparkline/VSparkline.tsx"],"sourcesContent":["// Components\nimport { makeVBarlineProps, VBarline } from './VBarline'\nimport { makeVTrendlineProps, VTrendline } from './VTrendline'\n\n// Composables\nimport { useTextColor } from '@/composables/color'\n\n// Utilities\nimport { computed, toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\n\nexport const makeVSparklineProps = propsFactory({\n type: {\n type: String as PropType<'trend' | 'bar'>,\n default: 'trend',\n },\n\n ...makeVBarlineProps(),\n ...makeVTrendlineProps(),\n}, 'VSparkline')\n\nexport type VSparklineSlots = {\n default: void\n label: { index: number, value: string }\n}\n\nexport const VSparkline = genericComponent<VSparklineSlots>()({\n name: 'VSparkline',\n\n props: makeVSparklineProps(),\n\n setup (props, { slots }) {\n const { textColorClasses, textColorStyles } = useTextColor(toRef(props, 'color'))\n const hasLabels = computed(() => {\n return Boolean(\n props.showLabels ||\n props.labels.length > 0 ||\n !!slots?.label\n )\n })\n const totalHeight = computed(() => {\n let height = parseInt(props.height, 10)\n\n if (hasLabels.value) height += parseInt(props.labelSize, 10) * 1.5\n\n return height\n })\n\n useRender(() => {\n const Tag = props.type === 'trend' ? VTrendline : VBarline\n const lineProps = props.type === 'trend' ? VTrendline.filterProps(props) : VBarline.filterProps(props)\n\n return (\n <Tag\n key={ props.type }\n class={ textColorClasses.value }\n style={ textColorStyles.value }\n viewBox={ `0 0 ${props.width} ${parseInt(totalHeight.value, 10)}` }\n { ...lineProps }\n v-slots={ slots }\n />\n )\n })\n },\n})\n\nexport type VSparkline = InstanceType<typeof VSparkline>\n"],"mappings":";AAAA;AAAA,SACSA,iBAAiB,EAAEC,QAAQ;AAAA,SAC3BC,mBAAmB,EAAEC,UAAU,4BAExC;AAAA,SACSC,YAAY,uCAErB;AACA,SAASC,QAAQ,EAAEC,KAAK,QAAQ,KAAK;AAAA,SAC5BC,gBAAgB,EAAEC,YAAY,EAAEC,SAAS,gCAElD;AAGA;;AAEA,OAAO,MAAMC,mBAAmB,GAAGF,YAAY,CAAC;EAC9CG,IAAI,EAAE;IACJA,IAAI,EAAEC,MAAmC;IACzCC,OAAO,EAAE;EACX,CAAC;EAED,GAAGb,iBAAiB,CAAC,CAAC;EACtB,GAAGE,mBAAmB,CAAC;AACzB,CAAC,EAAE,YAAY,CAAC;AAOhB,OAAO,MAAMY,UAAU,GAAGP,gBAAgB,CAAkB,CAAC,CAAC;EAC5DQ,IAAI,EAAE,YAAY;EAElBC,KAAK,EAAEN,mBAAmB,CAAC,CAAC;EAE5BO,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAM;MAAEE,gBAAgB;MAAEC;IAAgB,CAAC,GAAGjB,YAAY,CAACE,KAAK,CAACU,KAAK,EAAE,OAAO,CAAC,CAAC;IACjF,MAAMM,SAAS,GAAGjB,QAAQ,CAAC,MAAM;MAC/B,OAAOkB,OAAO,CACZP,KAAK,CAACQ,UAAU,IAChBR,KAAK,CAACS,MAAM,CAACC,MAAM,GAAG,CAAC,IACvB,CAAC,CAACP,KAAK,EAAEQ,KACX,CAAC;IACH,CAAC,CAAC;IACF,MAAMC,WAAW,GAAGvB,QAAQ,CAAC,MAAM;MACjC,IAAIwB,MAAM,GAAGC,QAAQ,CAACd,KAAK,CAACa,MAAM,EAAE,EAAE,CAAC;MAEvC,IAAIP,SAAS,CAACS,KAAK,EAAEF,MAAM,IAAIC,QAAQ,CAACd,KAAK,CAACgB,SAAS,EAAE,EAAE,CAAC,GAAG,GAAG;MAElE,OAAOH,MAAM;IACf,CAAC,CAAC;IAEFpB,SAAS,CAAC,MAAM;MACd,MAAMwB,GAAG,GAAGjB,KAAK,CAACL,IAAI,KAAK,OAAO,GAAGR,UAAU,GAAGF,QAAQ;MAC1D,MAAMiC,SAAS,GAAGlB,KAAK,CAACL,IAAI,KAAK,OAAO,GAAGR,UAAU,CAACgC,WAAW,CAACnB,KAAK,CAAC,GAAGf,QAAQ,CAACkC,WAAW,CAACnB,KAAK,CAAC;MAEtG,OAAAoB,YAAA,CAAAH,GAAA,EAAAI,WAAA;QAAA,OAEUrB,KAAK,CAACL,IAAI;QAAA,SACRS,gBAAgB,CAACW,KAAK;QAAA,SACtBV,eAAe,CAACU,KAAK;QAAA,WAClB,OAAMf,KAAK,CAACsB,KAAM,IAAGR,QAAQ,CAACF,WAAW,CAACG,KAAK,EAAE,EAAE,CAAE;MAAC,GAC5DG,SAAS,GACJf,KAAK;IAGrB,CAAC,CAAC;EACJ;AACF,CAAC,CAAC"}