vuetify 2.6.5 → 2.6.8
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.
- package/dist/json/attributes.json +2 -2
- package/dist/json/web-types.json +7 -7
- package/dist/vuetify.css +48 -69
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +450 -319
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VAutocomplete/VAutocomplete.js +3 -3
- package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/es5/components/VBtn/VBtn.js +2 -2
- package/es5/components/VBtn/VBtn.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-events.js +6 -5
- package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/es5/components/VCalendar/mixins/mouse.js +4 -4
- package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
- package/es5/components/VCheckbox/VSimpleCheckbox.js +5 -5
- package/es5/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/es5/components/VCombobox/VCombobox.js +2 -2
- package/es5/components/VCombobox/VCombobox.js.map +1 -1
- package/es5/components/VDataIterator/VDataFooter.js +5 -2
- package/es5/components/VDataIterator/VDataFooter.js.map +1 -1
- package/es5/components/VDataTable/Row.js +2 -2
- package/es5/components/VDataTable/Row.js.map +1 -1
- package/es5/components/VDataTable/VDataTable.js +54 -43
- package/es5/components/VDataTable/VDataTable.js.map +1 -1
- package/es5/components/VDataTable/mixins/header.js +4 -3
- package/es5/components/VDataTable/mixins/header.js.map +1 -1
- package/es5/components/VDatePicker/VDatePicker.js +30 -6
- package/es5/components/VDatePicker/VDatePicker.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +20 -17
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +4 -2
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VList/VListItem.js +5 -3
- package/es5/components/VList/VListItem.js.map +1 -1
- package/es5/components/VMenu/VMenu.js +2 -2
- package/es5/components/VMenu/VMenu.js.map +1 -1
- package/es5/components/VOtpInput/VOtpInput.js +33 -64
- package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
- package/es5/components/VOverflowBtn/VOverflowBtn.js +3 -0
- package/es5/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/es5/components/VRadioGroup/VRadio.js +2 -1
- package/es5/components/VRadioGroup/VRadio.js.map +1 -1
- package/es5/components/VRangeSlider/VRangeSlider.js +4 -3
- package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/es5/components/VSelect/VSelect.js +10 -6
- package/es5/components/VSelect/VSelect.js.map +1 -1
- package/es5/components/VSelect/VSelectList.js +2 -1
- package/es5/components/VSelect/VSelectList.js.map +1 -1
- package/es5/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
- package/es5/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/es5/components/VSlideGroup/VSlideGroup.js +43 -23
- package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/es5/components/VSlider/VSlider.js +8 -11
- package/es5/components/VSlider/VSlider.js.map +1 -1
- package/es5/components/VSparkline/VSparkline.js +2 -1
- package/es5/components/VSparkline/VSparkline.js.map +1 -1
- package/es5/components/VTabs/VTabs.js +10 -0
- package/es5/components/VTabs/VTabs.js.map +1 -1
- package/es5/components/VTextField/VTextField.js +5 -5
- package/es5/components/VTextField/VTextField.js.map +1 -1
- package/es5/components/VTextarea/VTextarea.js +2 -2
- package/es5/components/VTextarea/VTextarea.js.map +1 -1
- package/es5/components/VTimePicker/VTimePicker.js.map +1 -1
- package/es5/components/VTreeview/VTreeview.js +5 -4
- package/es5/components/VTreeview/VTreeview.js.map +1 -1
- package/es5/components/VTreeview/VTreeviewNode.js +2 -1
- package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/es5/components/VWindow/VWindow.js +5 -6
- package/es5/components/VWindow/VWindow.js.map +1 -1
- package/es5/directives/click-outside/index.js +2 -2
- package/es5/directives/click-outside/index.js.map +1 -1
- package/es5/directives/intersect/index.js +5 -5
- package/es5/directives/intersect/index.js.map +1 -1
- package/es5/directives/mutate/index.js +2 -2
- package/es5/directives/mutate/index.js.map +1 -1
- package/es5/directives/resize/index.js +2 -2
- package/es5/directives/resize/index.js.map +1 -1
- package/es5/directives/scroll/index.js +2 -2
- package/es5/directives/scroll/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/locale/ca.js +7 -7
- package/es5/locale/ca.js.map +1 -1
- package/es5/mixins/activatable/index.js +1 -3
- package/es5/mixins/activatable/index.js.map +1 -1
- package/es5/mixins/binds-attrs/index.js.map +1 -1
- package/es5/mixins/dependent/index.js.map +1 -1
- package/es5/mixins/detachable/index.js.map +1 -1
- package/es5/mixins/overlayable/index.js +1 -1
- package/es5/mixins/overlayable/index.js.map +1 -1
- package/es5/mixins/routable/index.js +2 -2
- package/es5/mixins/routable/index.js.map +1 -1
- package/es5/services/icons/presets/mdi-svg.js +5 -5
- package/es5/services/icons/presets/mdi-svg.js.map +1 -1
- package/es5/util/helpers.js +1 -1
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.js +3 -3
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VBtn/VBtn.js +2 -2
- package/lib/components/VBtn/VBtn.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.js +4 -4
- package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.js +4 -4
- package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
- package/lib/components/VCheckbox/VSimpleCheckbox.js +3 -2
- package/lib/components/VCheckbox/VSimpleCheckbox.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +2 -2
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataIterator/VDataFooter.js +5 -2
- package/lib/components/VDataIterator/VDataFooter.js.map +1 -1
- package/lib/components/VDataTable/Row.js +2 -2
- package/lib/components/VDataTable/Row.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +15 -5
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/mixins/header.js +2 -2
- package/lib/components/VDataTable/mixins/header.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +9 -6
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +18 -14
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +2 -2
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VList/VListItem.js +5 -3
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VMenu/VMenu.js +2 -2
- package/lib/components/VMenu/VMenu.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +32 -61
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VOverflowBtn/VOverflowBtn.js +4 -0
- package/lib/components/VOverflowBtn/VOverflowBtn.js.map +1 -1
- package/lib/components/VRadioGroup/VRadio.js +2 -1
- package/lib/components/VRadioGroup/VRadio.js.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.js +2 -2
- package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
- package/lib/components/VSelect/VSelect.js +10 -6
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VSelect/VSelectList.js +2 -1
- package/lib/components/VSelect/VSelectList.js.map +1 -1
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js +4 -4
- package/lib/components/VSkeletonLoader/VSkeletonLoader.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +23 -7
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSlider/VSlider.js +6 -11
- package/lib/components/VSlider/VSlider.js.map +1 -1
- package/lib/components/VSparkline/VSparkline.js +2 -1
- package/lib/components/VSparkline/VSparkline.js.map +1 -1
- package/lib/components/VTabs/VTabs.js +10 -0
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +5 -5
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +2 -2
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/components/VTimePicker/VTimePicker.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.js +5 -4
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewNode.js +2 -1
- package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
- package/lib/components/VWindow/VWindow.js +3 -3
- package/lib/components/VWindow/VWindow.js.map +1 -1
- package/lib/directives/click-outside/index.js +2 -2
- package/lib/directives/click-outside/index.js.map +1 -1
- package/lib/directives/intersect/index.js +4 -4
- package/lib/directives/intersect/index.js.map +1 -1
- package/lib/directives/mutate/index.js +2 -2
- package/lib/directives/mutate/index.js.map +1 -1
- package/lib/directives/resize/index.js +2 -2
- package/lib/directives/resize/index.js.map +1 -1
- package/lib/directives/scroll/index.js +2 -2
- package/lib/directives/scroll/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/locale/ca.js +7 -7
- package/lib/locale/ca.js.map +1 -1
- package/lib/mixins/activatable/index.js +1 -3
- package/lib/mixins/activatable/index.js.map +1 -1
- package/lib/mixins/binds-attrs/index.js.map +1 -1
- package/lib/mixins/dependent/index.js.map +1 -1
- package/lib/mixins/detachable/index.js.map +1 -1
- package/lib/mixins/overlayable/index.js +1 -1
- package/lib/mixins/overlayable/index.js.map +1 -1
- package/lib/mixins/routable/index.js +4 -3
- package/lib/mixins/routable/index.js.map +1 -1
- package/lib/services/icons/presets/mdi-svg.js +5 -5
- package/lib/services/icons/presets/mdi-svg.js.map +1 -1
- package/lib/util/helpers.js +1 -1
- package/lib/util/helpers.js.map +1 -1
- package/package.json +3 -2
- package/src/components/VAutocomplete/VAutocomplete.sass +0 -4
- package/src/components/VBtn/VBtn.sass +1 -1
- package/src/components/VCheckbox/VSimpleCheckbox.ts +3 -2
- package/src/components/VChip/VChip.sass +1 -1
- package/src/components/VDataTable/VDataTable.ts +4 -1
- package/src/components/VDataTable/__tests__/__snapshots__/VDataTable.spec.ts.snap +14 -14
- package/src/components/VDatePicker/VDatePicker.ts +12 -6
- package/src/components/VDialog/VDialog.sass +1 -1
- package/src/components/VDialog/VDialog.ts +9 -6
- package/src/components/VDialog/__tests__/VDialog.spec.ts +5 -5
- package/src/components/VDialog/__tests__/__snapshots__/VDialog.spec.ts.snap +4 -16
- package/src/components/VExpansionPanel/VExpansionPanel.sass +2 -2
- package/src/components/VInput/VInput.sass +2 -5
- package/src/components/VItemGroup/VItemGroup.ts +2 -2
- package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +29 -0
- package/src/components/VList/VListItem.ts +5 -3
- package/src/components/VList/__tests__/VListItem.spec.ts +12 -0
- package/src/components/VOtpInput/VOtpInput.ts +23 -43
- package/src/components/VOtpInput/__tests__/VOtpInput.spec.ts +3 -27
- package/src/components/VOverflowBtn/VOverflowBtn.ts +3 -0
- package/src/components/VOverflowBtn/__tests__/VOverflowBtn.spec.ts +18 -0
- package/src/components/VOverflowBtn/__tests__/__snapshots__/VOverflowBtn.spec.ts.snap +104 -4
- package/src/components/VRadioGroup/VRadio.sass +0 -4
- package/src/components/VRangeSlider/__tests__/VRangeSlider.spec.ts +2 -2
- package/src/components/VRangeSlider/__tests__/__snapshots__/VRangeSlider.spec.ts.snap +2 -2
- package/src/components/VSelect/VSelect.sass +4 -2
- package/src/components/VSelect/VSelect.ts +2 -2
- package/src/components/VSkeletonLoader/VSkeletonLoader.sass +1 -1
- package/src/components/VSlideGroup/VSlideGroup.ts +21 -9
- package/src/components/VSlider/VSlider.ts +1 -7
- package/src/components/VSlider/__tests__/VSlider.spec.ts +3 -2
- package/src/components/VTabs/VTabs.ts +10 -0
- package/src/components/VTimePicker/VTimePicker.ts +1 -1
- package/src/components/VTimeline/VTimeline.sass +16 -9
- package/src/components/VTimeline/_mixins.sass +4 -3
- package/src/globals.d.ts +6 -6
- package/src/locale/ca.ts +7 -7
- package/src/mixins/applicationable/__tests__/applicationable.spec.ts +1 -1
- package/src/mixins/binds-attrs/index.ts +2 -2
- package/src/mixins/dependent/index.ts +3 -3
- package/src/mixins/detachable/index.ts +3 -3
- package/src/mixins/overlayable/index.ts +7 -7
- package/src/services/icons/presets/mdi-svg.ts +5 -5
- package/src/styles/components/_selection-controls.sass +3 -0
- package/src/util/helpers.ts +2 -2
- package/es5/util/component.js +0 -11
- package/es5/util/component.js.map +0 -1
- package/lib/util/component.js +0 -4
- package/lib/util/component.js.map +0 -1
- package/src/util/component.ts +0 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VDataTable/VDataTable.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAmBA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AAGA;;AAGA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAS,QAAT,CAAmB,IAAnB,EAA8B,MAA9B,EAAqD,MAArD,EAAoF;AAClF,SAAO,UAAC,MAAD,EAA4B;AACjC,QAAM,KAAK,GAAG,mCAAqB,IAArB,EAA2B,MAAM,CAAC,KAAlC,CAAd;AACA,WAAO,MAAM,CAAC,MAAP,GAAgB,MAAM,CAAC,MAAP,CAAc,KAAd,EAAqB,MAArB,EAA6B,IAA7B,CAAhB,GAAqD,MAAM,CAAC,KAAD,EAAQ,MAAR,EAAgB,IAAhB,CAAlE;AACD,GAHD;AAID;;AAED,SAAS,gBAAT,CACE,KADF,EAEE,MAFF,EAGE,wBAHF,EAIE,2BAJF,EAKE,YALF,EAKuC;AAErC,EAAA,MAAM,GAAG,OAAO,MAAP,KAAkB,QAAlB,GAA6B,MAAM,CAAC,IAAP,EAA7B,GAA6C,IAAtD;AAEA,SAAO,KAAK,CAAC,MAAN,CAAa,UAAA,IAAI,EAAG;AACzB;AACA;AACA,QAAM,oBAAoB,GAAG,wBAAwB,CAAC,KAAzB,CAA+B,QAAQ,CAAC,IAAD,EAAO,MAAP,EAAe,sBAAf,CAAvC,CAA7B,CAHyB,CAKzB;AACA;;AACA,QAAM,iBAAiB,GAAG,CAAC,MAAD,IAAW,2BAA2B,CAAC,IAA5B,CAAiC,QAAQ,CAAC,IAAD,EAAO,MAAP,EAAe,YAAf,CAAzC,CAArC;AAEA,WAAO,oBAAoB,IAAI,iBAA/B;AACD,GAVM,CAAP;AAWD;AAED;;;gBACe,qBACb,4BADa,EAEb,iBAFa,EAGb,MAHa,CAGN;AACP,EAAA,IAAI,EAAE,cADC;AAGP;AACA,EAAA,UAAU,EAAE;AACV,IAAA,MAAM,EAAN;AADU,GAJL;AAQP,EAAA,KAAK,EAAE;AACL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,KADC;AAEP,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFF,KADJ;AAKL,IAAA,UAAU,EAAE,OALP;AAML,IAAA,aAAa,EAAE,MANV;AAOL,IAAA,UAAU,EAAE,OAPP;AAQL,IAAA,WAAW,EAAE,OARR;AASL;AACA;AACA,IAAA,MAAM,EAAE,CAAC,MAAD,EAAS,MAAT,CAXH;AAYL,IAAA,iBAAiB,EAAE,OAZd;AAaL,IAAA,OAAO,EAAE,MAbJ;AAcL,IAAA,KAAK,EAAE,OAdF;AAeL,IAAA,WAAW,EAAE,MAfR;AAgBL,IAAA,eAAe,EAAE,OAhBZ;AAiBL,IAAA,WAAW,EAAE,OAjBR;AAkBL,IAAA,aAAa,EAAE,MAlBV;AAmBL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC,KAnBP;AAuBL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,QADM;AAEZ,MAAA,OAAO,EAAE;AAFG,KAvBT;AA2BL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CADG;AAET,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFA,KA3BN;AA+BL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADM;AAEZ,MAAA,OAAO,EAAE;AAFG;AA/BT,GARA;AA6CP,EAAA,IA7CO,kBA6CH;AACF,WAAO;AACL,MAAA,eAAe,EAAE,EADZ;AAEL,MAAA,SAAS,EAAE,EAFN;AAGL,MAAA,MAAM,EAAE;AAHH,KAAP;AAKD,GAnDM;AAqDP,EAAA,QAAQ,EAAE;AACR,IAAA,eADQ,6BACO;AAAA;;AACb,UAAI,CAAC,KAAK,OAAV,EAAmB,OAAO,EAAP;AACnB,UAAM,OAAO,GAAG,KAAK,OAAL,CAAa,MAAb,CAAoB,UAAA,CAAC;AAAA,eAAI,CAAC,CAAC,KAAF,KAAY,SAAZ,IAAyB,CAAC,KAAI,CAAC,eAAL,CAAqB,IAArB,CAA0B,UAAA,CAAC;AAAA,iBAAI,CAAC,KAAK,CAAC,CAAC,KAAZ;AAAA,SAA3B,CAA9B;AAAA,OAArB,CAAhB;AACA,UAAM,aAAa,GAAG;AAAE,QAAA,IAAI,EAAE,EAAR;AAAY,QAAA,QAAQ,EAAE,KAAtB;AAA6B,QAAA,KAAK,EAAE;AAApC,OAAtB;;AAEA,UAAI,KAAK,UAAT,EAAqB;AACnB,YAAM,KAAK,GAAG,OAAO,CAAC,SAAR,CAAkB,UAAA,CAAC;AAAA,iBAAI,CAAC,CAAC,KAAF,KAAY,mBAAhB;AAAA,SAAnB,CAAd;AACA,YAAI,KAAK,GAAG,CAAZ,EAAe,OAAO,CAAC,OAAR,iCAAqB,aAArB;AAAoC,UAAA,KAAK,EAAE;AAA3C,YAAf,KACK,OAAO,CAAC,MAAR,CAAe,KAAf,EAAsB,CAAtB,kCAA8B,aAA9B,GAAgD,OAAO,CAAC,KAAD,CAAvD;AACN;;AAED,UAAI,KAAK,UAAT,EAAqB;AACnB,YAAM,MAAK,GAAG,OAAO,CAAC,SAAR,CAAkB,UAAA,CAAC;AAAA,iBAAI,CAAC,CAAC,KAAF,KAAY,mBAAhB;AAAA,SAAnB,CAAd;;AACA,YAAI,MAAK,GAAG,CAAZ,EAAe,OAAO,CAAC,OAAR,iCAAqB,aAArB;AAAoC,UAAA,KAAK,EAAE;AAA3C,YAAf,KACK,OAAO,CAAC,MAAR,CAAe,MAAf,EAAsB,CAAtB,kCAA8B,aAA9B,GAAgD,OAAO,CAAC,MAAD,CAAvD;AACN;;AAED,aAAO,OAAP;AACD,KAnBO;AAoBR,IAAA,YApBQ,0BAoBI;AACV,aAAO,KAAK,QAAL,GAAgB,SAAhB,GAA4B;AACjC,QAAA,OAAO,EAAE,KAAK,aAAL,IAAsB,KAAK,eAAL,CAAqB;AADnB,OAAnC;AAGD,KAxBO;AAyBR,IAAA,aAzBQ,2BAyBK;AACX,aAAO,KAAK,eAAL,CAAqB,MAArB,CAAsE,UAAC,GAAD,EAAM,MAAN,EAAgB;AAC3F,YAAI,MAAM,CAAC,IAAX,EAAiB,GAAG,CAAC,MAAM,CAAC,KAAR,CAAH,GAAoB,MAAM,CAAC,IAA3B;AACjB,eAAO,GAAP;AACD,OAHM,EAGJ,EAHI,CAAP;AAID,KA9BO;AA+BR,IAAA,wBA/BQ,sCA+BgB;AACtB,aAAO,KAAK,OAAL,CAAa,MAAb,CAAoB,UAAA,MAAM;AAAA,eAAI,MAAM,CAAC,MAAP,KAAkB,CAAC,MAAM,CAAC,cAAP,CAAsB,YAAtB,CAAD,IAAwC,MAAM,CAAC,UAAP,KAAsB,IAAhF,CAAJ;AAAA,OAA1B,CAAP;AACD,KAjCO;AAkCR,IAAA,2BAlCQ,yCAkCmB;AACzB,aAAO,KAAK,OAAL,CAAa,MAAb,CAAoB,UAAA,MAAM;AAAA,eAAI,CAAC,MAAM,CAAC,MAAR,KAAmB,CAAC,MAAM,CAAC,cAAP,CAAsB,YAAtB,CAAD,IAAwC,MAAM,CAAC,UAAP,KAAsB,IAAjF,CAAJ;AAAA,OAA1B,CAAP;AACD,KApCO;AAqCR,IAAA,oBArCQ,kCAqCY;AAClB,aAAO,iCAAmB,KAAK,WAAxB,CAAP;AACD,KAvCO;AAwCR,IAAA,oBAxCQ,kCAwCY;AAClB,UAAM,YAAY,GAAG,KAAK,OAAL,IAAgB,KAAK,OAAL,CAAa,YAA7B,GAA4C,KAAK,OAAL,CAAa,YAAzD,GAAwE,KAAK,YAAlG;AACA,UAAM,mBAAmB,GAAyC,KAAK,oBAAL,CAA0B,mBAA5F;;AAEA,UACE,mBAAmB,IACnB,CAAC,mBAAmB,CAAC,IAApB,CAAyB,UAAA,IAAI;AAAA,eAAI,OAAO,IAAP,KAAgB,QAAhB,GAA2B,IAAI,KAAK,YAApC,GAAmD,IAAI,CAAC,KAAL,KAAe,YAAtE;AAAA,OAA7B,CAFH,EAGE;AACA,YAAM,WAAW,GAAG,mBAAmB,CAAC,CAAD,CAAvC;AACA,eAAO,QAAO,WAAP,MAAuB,QAAvB,GAAkC,WAAW,CAAC,KAA9C,GAAsD,WAA7D;AACD;;AAED,aAAO,YAAP;AACD;AArDO,GArDH;AA6GP,EAAA,OA7GO,qBA6GA;AAAA;;AACL,QAAM,aAAa,GAAG,CACpB,CAAC,WAAD,EAAc,wBAAd,CADoB,EAEpB,CAAC,cAAD,EAAiB,qBAAjB,CAFoB,EAGpB,CAAC,YAAD,EAAe,aAAf,CAHoB,CAAtB;AAMA;;AACA,IAAA,aAAa,CAAC,OAAd,CAAsB,gBAA4B;AAAA;AAAA,UAA1B,QAA0B;AAAA,UAAhB,WAAgB;;AAChD,UAAI,MAAI,CAAC,MAAL,CAAY,cAAZ,CAA2B,QAA3B,CAAJ,EAA0C,uBAAS,QAAT,EAAmB,WAAnB,EAAgC,MAAhC;AAC3C,KAFD;AAGD,GAxHM;AA0HP,EAAA,OA1HO,qBA0HA;AACL;AACA;AACA;AACA;AAEA,QAAI,KAAK,eAAT,EAA0B;AACxB,MAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,KAAK,UAAvC;AACA,WAAK,UAAL;AACD;AACF,GApIM;AAsIP,EAAA,aAtIO,2BAsIM;AACX,QAAI,KAAK,eAAT,EAA0B;AACxB,MAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,KAAK,UAA1C;AACD;AACF,GA1IM;AA4IP,EAAA,OAAO,EAAE;AACP,IAAA,UADO,wBACG;AACR,WAAK,MAAL,GAAc,KAAK,CAAC,IAAN,CAAW,KAAK,GAAL,CAAS,gBAAT,CAA0B,IAA1B,CAAX,EAA4C,GAA5C,CAAgD,UAAA,CAAC;AAAA,eAAI,CAAC,CAAC,WAAN;AAAA,OAAjD,CAAd;AACD,KAHM;AAIP,IAAA,uBAJO,mCAIkB,KAJlB,EAIgC,MAJhC,EAI8C;AACnD,aAAO,gBAAgB,CAAC,KAAD,EAAQ,MAAR,EAAgB,KAAK,wBAArB,EAA+C,KAAK,2BAApD,EAAiF,KAAK,YAAtF,CAAvB;AACD,KANM;AAOP,IAAA,qBAPO,iCAOgB,KAPhB,EAO8B,MAP9B,EAOgD,QAPhD,EAOqE,MAPrE,EAOmF;AACxF,aAAO,KAAK,UAAL,CAAgB,KAAhB,EAAuB,MAAvB,EAA+B,QAA/B,EAAyC,MAAzC,EAAiD,KAAK,aAAtD,CAAP;AACD,KATM;AAUP,IAAA,eAVO,2BAUU,IAVV,EAUqB,KAVrB,EAUkC;AACvC,UAAM,KAAK,GAAG,6BAAc,OAAd,CAAsB,OAAtB,CAA8B,eAA9B,CAA8C,IAA9C,CAAmD,IAAnD,EAAyD,IAAzD,EAA+D,KAA/D,CAAd;;AAEA,aAAO,MAAM,CAAC,MAAP,CAAc,KAAd,EAAqB;AAAE,QAAA,OAAO,EAAE,KAAK;AAAhB,OAArB,CAAP;AACD,KAdM;AAeP,IAAA,UAfO,sBAeK,KAfL,EAe0B;AAC/B,UAAI,KAAK,OAAT,EAAkB,OAAO,CAAC,KAAK,cAAL,CAAoB,SAApB,EAA+B,CAAC,KAAK,OAAN,CAA/B,CAAD,CAAP;AAElB,aAAO,sBAAQ,IAAR,EAAc,SAAd,EAAyB,KAAzB,EAAgC,IAAhC,CAAP;AACD,KAnBM;AAoBP,IAAA,WApBO,uBAoBM,KApBN,EAoB2B;AAAA;;AAChC,aAAO,KAAK,cAAL,CAAoB,UAApB,EAAgC,KAAK,eAAL,CAAqB,GAArB,CAAyB,UAAA,MAAM,EAAG;AACvE,eAAO,MAAI,CAAC,cAAL,CAAoB,KAApB,EAA2B;AAChC,UAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,MAAM,CAAC;AADX;AADyB,SAA3B,CAAP;AAKD,OANsC,CAAhC,CAAP;AAOD,KA5BM;AA6BP,IAAA,UA7BO,wBA6BG;AACR,UAAM,EAAE,GAAG,KAAK,cAAL,CAAoB,IAApB,EAA0B;AACnC,QAAA,WAAW,EAAE,QADsB;AAEnC,QAAA,KAAK,EAAE,KAAK;AAFuB,OAA1B,EAGR,CAAC,KAAK,WAAL,EAAD,CAHQ,CAAX;AAKA,UAAM,EAAE,GAAG,KAAK,cAAL,CAAoB,IAApB,EAA0B;AACnC,QAAA,WAAW,EAAE;AADsB,OAA1B,EAER,CAAC,EAAD,CAFQ,CAAX;AAIA,aAAO,KAAK,cAAL,CAAoB,OAApB,EAA6B,CAAC,EAAD,CAA7B,CAAP;AACD,KAxCM;AAyCP,IAAA,UAzCO,sBAyCK,KAzCL,EAyC0B;AAC/B,UAAM,IAAI,GAAG;AACX,QAAA,KAAK,kCACA,KAAK,oBADL;AAEH,UAAA,OAAO,EAAE,KAAK,eAFX;AAGH,UAAA,OAAO,EAAE,KAAK,CAAC,OAHZ;AAIH,UAAA,MAAM,EAAE,KAAK,QAJV;AAKH,UAAA,WAAW,EAAE,KAAK,WALf;AAMH,UAAA,aAAa,EAAE,KAAK,aANjB;AAOH,UAAA,SAAS,EAAE,KAAK,SAPb;AAQH,UAAA,SAAS,EAAE,KAAK,SARb;AASH,UAAA,YAAY,EAAE,KAAK,YAThB;AAUH,UAAA,WAAW,EAAE,KAAK;AAVf,UADM;AAaX,QAAA,EAAE,EAAE;AACF,UAAA,IAAI,EAAE,KAAK,CAAC,IADV;AAEF,UAAA,KAAK,EAAE,KAAK,CAAC,KAFX;AAGF,+BAAqB,KAAK;AAHxB;AAbO,OAAb,CAD+B,CAqB/B;;AACA,UAAM,QAAQ,GAA+B,CAAC,sBAAQ,IAAR,EAAc,QAAd,kCACzC,IADyC;AAE5C,QAAA,QAAQ,EAAE,KAAK;AAF6B,SAAD,CAA7C;;AAKA,UAAI,CAAC,KAAK,iBAAV,EAA6B;AAC3B,YAAM,WAAW,GAAG,qCAAuB,SAAvB,EAAkC,KAAK,YAAvC,CAApB;AACA,QAAA,QAAQ,CAAC,IAAT,CAAc,KAAK,cAAL,CAAoB,yBAApB,kCACT,IADS;AAEZ,UAAA,WAAW,EAAX;AAFY,WAAd;AAID;;AAED,UAAI,KAAK,OAAT,EAAkB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAElB,aAAO,QAAP;AACD,KA/EM;AAgFP,IAAA,eAhFO,2BAgFU,OAhFV,EAgF6C;AAClD,aAAO,KAAK,cAAL,CAAoB,IAApB,EAA0B;AAC/B,QAAA,WAAW,EAAE;AADkB,OAA1B,EAEJ,CACD,KAAK,cAAL,CAAoB,IAApB,EAA0B;AACxB,QAAA,KAAK,EAAE,KAAK;AADY,OAA1B,EAEG,OAFH,CADC,CAFI,CAAP;AAOD,KAxFM;AAyFP,IAAA,QAzFO,oBAyFG,KAzFH,EAyFiB,KAzFjB,EAyFsC;AAC3C,UAAM,KAAK,GAAG,KAAK,QAAL,CAAc,KAAK,CAAC,mBAApB,EAAyC,KAAK,CAAC,UAAN,CAAiB,WAA1D,CAAd;AACA,UAAI,KAAJ,EAAW,OAAO,CAAC,KAAD,CAAP;AAEX,aAAO,KAAK,CAAC,YAAN,GACH,KAAK,cAAL,CAAoB,KAAK,CAAC,YAA1B,EAAwC,KAAxC,CADG,GAEH,KAAK,OAAL,CAAa,KAAb,EAAoB,KAApB,CAFJ;AAGD,KAhGM;AAiGP,IAAA,cAjGO,0BAiGS,YAjGT,EAiGyC,KAjGzC,EAiG8D;AAAA;;AACnE,aAAO,YAAY,CAAC,GAAb,CAAiB,UAAA,KAAK,EAAG;AAC9B,YAAI,CAAC,MAAI,CAAC,SAAL,CAAe,cAAf,CAA8B,KAAK,CAAC,IAApC,CAAL,EAAgD,MAAI,CAAC,IAAL,CAAU,MAAI,CAAC,SAAf,EAA0B,KAAK,CAAC,IAAhC,EAAsC,IAAtC;;AAEhD,YAAI,MAAI,CAAC,YAAL,CAAkB,KAAtB,EAA6B;AAC3B,iBAAO,MAAI,CAAC,YAAL,CAAkB,KAAlB,CAAwB;AAC7B,YAAA,KAAK,EAAE,KAAK,CAAC,IADgB;AAE7B,YAAA,OAAO,EAAE,KAAK,CAAC,OAFc;AAG7B,YAAA,QAAQ,EAAE,MAAI,CAAC,QAHc;AAI7B,YAAA,KAAK,EAAE,KAAK,CAAC,KAJgB;AAK7B,YAAA,OAAO,EAAE,MAAI,CAAC;AALe,WAAxB,CAAP;AAOD,SARD,MAQO;AACL,iBAAO,MAAI,CAAC,oBAAL,CAA0B,KAAK,CAAC,IAAhC,EAAsC,KAAK,CAAC,KAA5C,EAAmD,KAAnD,CAAP;AACD;AACF,OAdM,CAAP;AAeD,KAjHM;AAkHP,IAAA,oBAlHO,gCAkHe,KAlHf,EAkH8B,KAlH9B,EAkH4C,KAlH5C,EAkHiE;AAAA;;AACtE,UAAM,MAAM,GAAG,CAAC,CAAC,KAAK,SAAL,CAAe,KAAf,CAAjB;AACA,UAAM,QAAQ,GAAkB,CAC9B,KAAK,cAAL,CAAoB,UAApB,EAAgC;AAAE,QAAA,IAAI,EAAE;AAAR,OAAhC,EAAyD,KAAK,OAAL,CAAa,KAAb,EAAoB,KAApB,CAAzD,CAD8B,CAAhC;;AAGA,UAAM,QAAQ,GAAG,SAAX,QAAW;AAAA,eAAM,MAAI,CAAC,IAAL,CAAU,MAAI,CAAC,SAAf,EAA0B,KAA1B,EAAiC,CAAC,MAAI,CAAC,SAAL,CAAe,KAAf,CAAlC,CAAN;AAAA,OAAjB;;AACA,UAAM,QAAQ,GAAG,SAAX,QAAW;AAAA,eAAM,KAAK,CAAC,aAAN,CAAoB;AAAE,UAAA,OAAO,EAAE,EAAX;AAAe,UAAA,SAAS,EAAE;AAA1B,SAApB,CAAN;AAAA,OAAjB;;AAEA,UAAI,KAAK,YAAL,CAAkB,cAAlB,CAAJ,EAAuC;AACrC,QAAA,QAAQ,CAAC,OAAT,CAAiB,KAAK,cAAL,CAAoB,UAApB,EAAgC;AAAE,UAAA,IAAI,EAAE;AAAR,SAAhC,EAA2D,CAC1E,KAAK,YAAL,CAAkB,cAAlB,EAAmC;AACjC,UAAA,KAAK,EAAL,KADiC;AAEjC,UAAA,OAAO,EAAE,KAAK,CAAC,OAAN,CAAc,OAFU;AAGjC,UAAA,QAAQ,EAAE,KAAK,QAHkB;AAIjC,UAAA,KAAK,EAAL,KAJiC;AAKjC,UAAA,OAAO,EAAE,KAAK,eALmB;AAMjC,UAAA,MAAM,EAAN,MANiC;AAOjC,UAAA,MAAM,EAAE,QAPyB;AAQjC,UAAA,MAAM,EAAE;AARyB,SAAnC,CAD0E,CAA3D,CAAjB;AAYD,OAbD,MAaO;AACL,YAAM,MAAM,GAAG,KAAK,cAAL,CAAoB,aAApB,EAA0B;AACvC,UAAA,WAAW,EAAE,MAD0B;AAEvC,UAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,IADD;AAEL,YAAA,KAAK,EAAE;AAFF,WAFgC;AAMvC,UAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE;AADL;AANmC,SAA1B,EASZ,CAAC,KAAK,cAAL,CAAoB,cAApB,EAA2B,CAAC,MAAM,GAAG,QAAH,GAAc,OAArB,CAA3B,CAAD,CATY,CAAf;AAWA,YAAM,MAAM,GAAG,KAAK,cAAL,CAAoB,aAApB,EAA0B;AACvC,UAAA,WAAW,EAAE,MAD0B;AAEvC,UAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,IADD;AAEL,YAAA,KAAK,EAAE;AAFF,WAFgC;AAMvC,UAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE;AADL;AANmC,SAA1B,EASZ,CAAC,KAAK,cAAL,CAAoB,cAApB,EAA2B,CAAC,QAAD,CAA3B,CAAD,CATY,CAAf;AAWA,YAAM,MAAM,GAAG,KAAK,cAAL,CAAoB,IAApB,EAA0B;AACvC,UAAA,WAAW,EAAE,YAD0B;AAEvC,UAAA,KAAK,EAAE,KAAK;AAF2B,SAA1B,EAGZ,CAAC,MAAD,YAAY,KAAK,CAAC,OAAN,CAAc,OAAd,CAAsB,CAAtB,CAAZ,eAAyC,KAAzC,GAAkD,MAAlD,CAHY,CAAf;AAKA,QAAA,QAAQ,CAAC,OAAT,CAAiB,KAAK,cAAL,CAAoB,UAApB,EAAgC;AAAE,UAAA,IAAI,EAAE;AAAR,SAAhC,EAA2D,CAAC,MAAD,CAA3D,CAAjB;AACD;;AAED,UAAI,KAAK,YAAL,CAAkB,eAAlB,CAAJ,EAAwC;AACtC,QAAA,QAAQ,CAAC,IAAT,CAAc,KAAK,cAAL,CAAoB,UAApB,EAAgC;AAAE,UAAA,IAAI,EAAE;AAAR,SAAhC,EAA4D,CACxE,KAAK,YAAL,CAAkB,eAAlB,EAAoC;AAClC,UAAA,KAAK,EAAL,KADkC;AAElC,UAAA,OAAO,EAAE,KAAK,CAAC,OAAN,CAAc,OAFW;AAGlC,UAAA,QAAQ,EAAE,KAAK,QAHmB;AAIlC,UAAA,KAAK,EAAL,KAJkC;AAKlC,UAAA,OAAO,EAAE,KAAK,eALoB;AAMlC,UAAA,MAAM,EAAN,MANkC;AAOlC,UAAA,MAAM,EAAE;AAP0B,SAApC,CADwE,CAA5D,CAAd;AAWD;;AAED,aAAO,KAAK,cAAL,CAAoB,iBAApB,EAA8B;AACnC,QAAA,GAAG,EAAE,KAD8B;AAEnC,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE;AADF;AAF4B,OAA9B,EAKJ,QALI,CAAP;AAMD,KA1LM;AA2LP,IAAA,OA3LO,mBA2LE,KA3LF,EA2LgB,KA3LhB,EA2LqC;AAC1C,aAAO,KAAK,YAAL,CAAkB,IAAlB,GAAyB,KAAK,aAAL,CAAmB,KAAnB,EAA0B,KAA1B,CAAzB,GAA4D,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAA3B,CAAnE;AACD,KA7LM;AA8LP,IAAA,aA9LO,yBA8LQ,KA9LR,EA8LsB,KA9LtB,EA8L2C;AAChD,UAAM,IAAI,GAAG,EAAb;;AAEA,WAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AACrC,YAAM,IAAI,GAAG,KAAK,CAAC,CAAD,CAAlB;AACA,QAAA,IAAI,CAAC,IAAL,CAAU,KAAK,YAAL,CAAkB,IAAlB,iCACL,KAAK,eAAL,CAAqB,IAArB,EAA2B,CAA3B,CADK;AAER,UAAA,QAAQ,EAAE,KAAK;AAFP,WAAV;;AAKA,YAAI,KAAK,UAAL,CAAgB,IAAhB,CAAJ,EAA2B;AACzB,UAAA,IAAI,CAAC,IAAL,CAAU,KAAK,YAAL,CAAkB,eAAlB,EAAoC;AAC5C,YAAA,OAAO,EAAE,KAAK,eAD8B;AAE5C,YAAA,QAAQ,EAAE,KAAK,QAF6B;AAG5C,YAAA,KAAK,EAAE,CAHqC;AAI5C,YAAA,IAAI,EAAJ;AAJ4C,WAApC,CAAV;AAMD;AACF;;AAED,aAAO,IAAP;AACD,KAnNM;AAoNP,IAAA,cApNO,0BAoNS,KApNT,EAoNuB,KApNvB,EAoN4C;AAAA;;AACjD,aAAO,KAAK,YAAL,CAAkB,eAAlB,IACH,KAAK,CAAC,GAAN,CAAU,UAAC,IAAD,EAAO,KAAP;AAAA,eAAiB,MAAI,CAAC,qBAAL,CAA2B,IAA3B,EAAiC,KAAjC,CAAjB;AAAA,OAAV,CADG,GAEH,KAAK,CAAC,GAAN,CAAU,UAAC,IAAD,EAAO,KAAP;AAAA,eAAiB,MAAI,CAAC,mBAAL,CAAyB,IAAzB,EAA+B,KAA/B,CAAjB;AAAA,OAAV,CAFJ;AAGD,KAxNM;AAyNP,IAAA,qBAzNO,iCAyNgB,IAzNhB,EAyN2B,KAzN3B,EAyNwC;AAC7C,UAAM,UAAU,GAAG,KAAK,UAAL,CAAgB,IAAhB,CAAnB;AACA,UAAM,OAAO,GAAG;AACd,8DAAsD;AADxC,OAAhB;AAGA,UAAM,SAAS,GAAG,KAAK,mBAAL,CAAyB,IAAzB,EAA+B,KAA/B,EAAsC,OAAtC,CAAlB;AACA,UAAM,WAAW,GAAG,KAAK,cAAL,CAAoB,IAApB,EAA0B;AAC5C,QAAA,WAAW,EAAE;AAD+B,OAA1B,EAEjB,CAAC,KAAK,YAAL,CAAkB,eAAlB,EAAoC;AACtC,QAAA,OAAO,EAAE,KAAK,eADwB;AAEtC,QAAA,QAAQ,EAAE,KAAK,QAFuB;AAGtC,QAAA,IAAI,EAAJ;AAHsC,OAApC,CAAD,CAFiB,CAApB;AAQA,aAAO,KAAK,cAAL,CAAoB,iBAApB,EAA8B;AACnC,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE;AADF;AAD4B,OAA9B,EAIJ,CACD,KAAK,cAAL,CAAoB,UAApB,EAAgC;AAAE,QAAA,IAAI,EAAE;AAAR,OAAhC,EAAwD,CAAC,SAAD,CAAxD,CADC,EAED,KAAK,cAAL,CAAoB,UAApB,EAAgC;AAAE,QAAA,IAAI,EAAE;AAAR,OAAhC,EAAyD,CAAC,WAAD,CAAzD,CAFC,CAJI,CAAP;AAQD,KA/OM;AAgPP,IAAA,mBAhPO,+BAgPc,IAhPd,EAgPyB,KAhPzB,EAgP6E;AAAA;;AAAA,UAArC,OAAqC,uEAAF,EAAE;AAClF,UAAM,WAAW,GAAG,qCAAuB,OAAvB,EAAgC,KAAK,YAArC,CAApB;AAEA,UAAM,IAAI,GAAG,KAAK,eAAL,CAAqB,IAArB,EAA2B,KAA3B,CAAb;;AAEA,UAAI,KAAK,UAAT,EAAqB;AACnB,YAAM,IAAI,GAAG,WAAW,CAAC,mBAAD,CAAxB;AACA,QAAA,WAAW,CAAC,mBAAD,CAAX,GAAmC,IAAI,GAAG;AAAA,iBAAM,IAAI,iCAC/C,IAD+C;AAElD,YAAA,QAAQ,EAAE,MAAI,CAAC;AAFmC,aAAV;AAAA,SAAH,GAGlC;AAAA;;AAAA,iBAAM,MAAI,CAAC,cAAL,CAAoB,wBAApB,EAAqC;AAC9C,YAAA,WAAW,EAAE,wBADiC;AAE9C,YAAA,KAAK,EAAE;AACL,cAAA,KAAK,EAAE,IAAI,CAAC,UADP;AAEL,cAAA,QAAQ,EAAE,CAAC,MAAI,CAAC,YAAL,CAAkB,IAAlB,CAFN;AAGL,cAAA,KAAK,0BAAE,MAAI,CAAC,aAAP,mCAAwB;AAHxB,aAFuC;AAO9C,YAAA,EAAE,EAAE;AACF,cAAA,KAAK,EAAE,eAAC,GAAD;AAAA,uBAAkB,IAAI,CAAC,MAAL,CAAY,GAAZ,CAAlB;AAAA;AADL;AAP0C,WAArC,CAAN;AAAA,SAHL;AAcD;;AAED,UAAI,KAAK,UAAT,EAAqB;AACnB,YAAM,KAAI,GAAG,WAAW,CAAC,mBAAD,CAAxB;AACA,QAAA,WAAW,CAAC,mBAAD,CAAX,GAAmC,KAAI,GAAG;AAAA,iBAAM,KAAI,CAAC,IAAD,CAAV;AAAA,SAAH,GAAsB;AAAA,iBAAM,MAAI,CAAC,cAAL,CAAoB,cAApB,EAA2B;AAC5F,YAAA,WAAW,EAAE,2BAD+E;AAE5F,YAAA,KAAK,EAAE;AACL,mDAAqC,IAAI,CAAC;AADrC,aAFqF;AAK5F,YAAA,EAAE,EAAE;AACF,cAAA,KAAK,EAAE,eAAC,CAAD,EAAkB;AACvB,gBAAA,CAAC,CAAC,eAAF;AACA,gBAAA,IAAI,CAAC,MAAL,CAAY,CAAC,IAAI,CAAC,UAAlB;AACD;AAJC;AALwF,WAA3B,EAWhE,CAAC,MAAI,CAAC,UAAN,CAXgE,CAAN;AAAA,SAA7D;AAYD;;AAED,aAAO,KAAK,cAAL,CAAoB,KAAK,QAAL,GAAgB,kBAAhB,GAA4B,YAAhD,EAAqD;AAC1D,QAAA,GAAG,EAAE,mCAAqB,IAArB,EAA2B,KAAK,OAAhC,CADqD;AAE1D,QAAA,KAAK,EAAE,6DACA,OADA;AACS,oCAA0B,IAAI,CAAC;AADxC,YAEL,kCAAoB,IAApB,EAA0B,KAAK,SAA/B,CAFK,CAFmD;AAM1D,QAAA,KAAK,EAAE;AACL,UAAA,OAAO,EAAE,KAAK,eADT;AAEL,UAAA,iBAAiB,EAAE,KAAK,iBAFnB;AAGL,UAAA,KAAK,EAAL,KAHK;AAIL,UAAA,IAAI,EAAJ,IAJK;AAKL,UAAA,GAAG,EAAE,KAAK,QAAL,CAAc;AALd,SANmD;AAa1D,QAAA,WAAW,EAAX,WAb0D;AAc1D,QAAA,EAAE,EAAE;AACF;AACA;AACA,UAAA,KAAK,EAAE;AAAA,mBAAM,MAAI,CAAC,KAAL,CAAW,WAAX,EAAwB,IAAxB,EAA8B,IAA9B,CAAN;AAAA,WAHL;AAIF,UAAA,WAAW,EAAE,qBAAC,KAAD;AAAA,mBAAuB,MAAI,CAAC,KAAL,CAAW,iBAAX,EAA8B,KAA9B,EAAqC,IAArC,CAAvB;AAAA,WAJX;AAKF,UAAA,QAAQ,EAAE,kBAAC,KAAD;AAAA,mBAAuB,MAAI,CAAC,KAAL,CAAW,cAAX,EAA2B,KAA3B,EAAkC,IAAlC,CAAvB;AAAA;AALR;AAdsD,OAArD,CAAP;AAsBD,KA7SM;AA8SP,IAAA,OA9SO,mBA8SE,KA9SF,EA8SuB;AAC5B,UAAM,IAAI,mCACL,KADK;AAER,QAAA,MAAM,EAAE,KAAK,MAFL;AAGR,QAAA,OAAO,EAAE,KAAK,eAHN;AAIR,QAAA,UAAU,EAAE,KAAK,UAJT;AAKR,QAAA,QAAQ,EAAE,KAAK,QALP;AAMR,QAAA,UAAU,EAAE,KAAK,UANT;AAOR,QAAA,MAAM,EAAE,KAAK;AAPL,QAAV;;AAUA,UAAI,KAAK,YAAL,CAAkB,IAAtB,EAA4B;AAC1B,eAAO,KAAK,YAAL,CAAkB,IAAlB,CAAwB,IAAxB,CAAP;AACD;;AAED,aAAO,KAAK,cAAL,CAAoB,OAApB,EAA6B,CAClC,sBAAQ,IAAR,EAAc,cAAd,EAA8B,IAA9B,EAAoC,IAApC,CADkC,EAElC,KAAK,QAAL,CAAc,KAAK,CAAC,KAApB,EAA2B,KAA3B,CAFkC,EAGlC,sBAAQ,IAAR,EAAc,aAAd,EAA6B,IAA7B,EAAmC,IAAnC,CAHkC,CAA7B,CAAP;AAKD,KAlUM;AAmUP,IAAA,OAnUO,mBAmUE,KAnUF,EAmUuB;AAAA;;AAC5B,sCAAO,2BAAK,YAAL,EAAkB,IAAzB,qBAAO,+CAAyB,KAAzB,CAAP;AACD,KArUM;AAsUP,IAAA,UAtUO,sBAsUK,KAtUL,EAsU0B;AAC/B,UAAM,IAAI,GAAG;AACX,QAAA,KAAK;AACH,UAAA,OAAO,EAAE,KAAK,CAAC,OADZ;AAEH,UAAA,UAAU,EAAE,KAAK,CAAC,UAFf;AAGH,UAAA,gBAAgB,EAAE;AAHf,WAIA,KAAK,oBAJL,CADM;AAOX,QAAA,EAAE,EAAE;AACF,4BAAkB,uBAAC,KAAD;AAAA,mBAAgB,KAAK,CAAC,aAAN,CAAoB,KAApB,CAAhB;AAAA;AADhB,SAPO;AAUX,QAAA,MAAM,EAAE,KAAK,MAVF;AAWX,QAAA,OAAO,EAAE,KAAK;AAXH,OAAb;AAcA,UAAM,QAAQ,GAAkB,CAC9B,sBAAQ,IAAR,EAAc,QAAd,EAAwB,IAAxB,EAA8B,IAA9B,CAD8B,CAAhC;;AAIA,UAAI,CAAC,KAAK,iBAAV,EAA6B;AAC3B,QAAA,QAAQ,CAAC,IAAT,CAAc,KAAK,cAAL,CAAoB,0BAApB,kCACT,IADS;AAEZ,UAAA,WAAW,EAAE,qCAAuB,SAAvB,EAAkC,KAAK,YAAvC;AAFD,WAAd;AAID;;AAED,aAAO,QAAP;AACD,KAjWM;AAkWP,IAAA,oBAlWO,gCAkWe,KAlWf,EAkWoC;AACzC,UAAM,WAAW,GAAG;AAClB,QAAA,MAAM,EAAE,KAAK,MADK;AAElB,QAAA,WAAW,EAAE,KAAK,WAFA;AAGlB,QAAA,KAAK,EAAE,KAAK;AAHM,OAApB,CADyC,CAOzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAO,KAAK,cAAL,CAAoB,qBAApB,EAAkC;AACvC,QAAA,KAAK,EAAE,WADgC;AAEvC,QAAA,KAAK,EAAE;AACL,kCAAwB,KAAK;AADxB;AAFgC,OAAlC,EAKJ,CACD,KAAK,SAAL,CAAe,KAAf,EAAsB,sBAAQ,IAAR,EAAc,KAAd,kCACjB,KADiB;AAEpB,QAAA,QAAQ,EAAE,KAAK;AAFK,UAGnB,IAHmB,CAAtB,CADC,EAKD,KAAK,UAAL,CAAgB,KAAhB,CALC,EAMD,KAAK,WAAL,CAAiB,KAAjB,CANC,EAOD,KAAK,UAAL,CAAgB,KAAhB,CAPC,EAQD,KAAK,OAAL,CAAa,KAAb,CARC,EASD,KAAK,OAAL,CAAa,KAAb,CATC,EAUD,KAAK,SAAL,CAAe,QAAf,EAAyB,KAAK,UAAL,CAAgB,KAAhB,CAAzB,CAVC,CALI,CAAP;AAiBD,KA5YM;AA6YP,IAAA,SA7YO,qBA6YI,IA7YJ,EA6YkB,OA7YlB,EA6YwC;AAC7C,aAAO,KAAK,cAAL,CAAoB,UAApB,EAAgC;AAAE,QAAA,IAAI,EAAJ;AAAF,OAAhC,EAA0C,OAA1C,CAAP;AACD;AA/YM,GA5IF;AA8hBP,EAAA,MA9hBO,oBA8hBD;AAAA;;AACJ,WAAO,KAAK,cAAL,CAAoB,YAApB,EAA2B;AAChC,MAAA,KAAK,kCACA,KAAK,MADL;AAEH,QAAA,YAAY,EAAE,KAAK,uBAFhB;AAGH,QAAA,UAAU,EAAE,KAAK,qBAHd;AAIH,QAAA,YAAY,EAAE,KAAK;AAJhB,QAD2B;AAOhC,MAAA,EAAE,EAAE;AACF,0BAAkB,uBAAC,CAAD,EAAiB,GAAjB,EAAqC;AACrD,UAAA,MAAI,CAAC,eAAL,GAAuB,CAAC,CAAC,OAAF,IAAa,EAApC;AACA,WAAC,wBAAU,CAAV,EAAa,GAAb,CAAD,IAAsB,MAAI,CAAC,KAAL,CAAW,gBAAX,EAA6B,CAA7B,CAAtB;AACD,SAJC;AAKF,uBAAe,oBAAC,CAAD;AAAA,iBAAe,MAAI,CAAC,KAAL,CAAW,aAAX,EAA0B,CAA1B,CAAf;AAAA,SALb;AAMF,iCAAyB,4BAAC,CAAD;AAAA,iBAAe,MAAI,CAAC,KAAL,CAAW,uBAAX,EAAoC,CAApC,CAAf;AAAA,SANvB;AAOF,0BAAkB,sBAAC,CAAD;AAAA,iBAA0B,MAAI,CAAC,KAAL,CAAW,gBAAX,EAA6B,CAA7B,CAA1B;AAAA,SAPhB;AAQF,4BAAoB,wBAAC,CAAD;AAAA,iBAA4B,MAAI,CAAC,KAAL,CAAW,kBAAX,EAA+B,CAA/B,CAA5B;AAAA,SARlB;AASF,2BAAmB,uBAAC,CAAD;AAAA,iBAA0B,MAAI,CAAC,KAAL,CAAW,iBAAX,EAA8B,CAA9B,CAA1B;AAAA,SATjB;AAUF,6BAAqB,yBAAC,CAAD;AAAA,iBAA4B,MAAI,CAAC,KAAL,CAAW,mBAAX,EAAgC,CAAhC,CAA5B;AAAA,SAVnB;AAWF,QAAA,UAAU,EAAE,oBAAC,CAAD,EAAoB,GAApB;AAAA,iBAA4C,CAAC,wBAAU,CAAV,EAAa,GAAb,CAAD,IAAsB,MAAI,CAAC,KAAL,CAAW,YAAX,EAAyB,CAAzB,CAAlE;AAAA,SAXV;AAYF,yBAAiB,sBAAC,CAAD,EAAa;AAC5B,UAAA,MAAI,CAAC,oBAAL,GAA4B,CAA5B;;AACA,UAAA,MAAI,CAAC,KAAL,CAAW,eAAX,EAA4B,CAA5B;AACD,SAfC;AAgBF,sBAAc,mBAAC,CAAD;AAAA,iBAAe,MAAI,CAAC,KAAL,CAAW,YAAX,EAAyB,CAAzB,CAAf;AAAA;AAhBZ,OAP4B;AAyBhC,MAAA,WAAW,EAAE;AACX,QAAA,OAAO,EAAE,KAAK;AADH;AAzBmB,KAA3B,CAAP;AA6BD;AA5jBM,CAHM,C","sourcesContent":["import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DataTableHeader,\n DataTableFilterFunction,\n DataScopeProps,\n DataOptions,\n DataPagination,\n DataTableCompareFunction,\n DataItemsPerPageOption,\n ItemGroup,\n RowClassFunction,\n DataTableItemProps,\n} from 'vuetify/types'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys, getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport { mergeClasses } from '../../util/mergeData'\n\nfunction filterFn (item: any, search: string | null, filter: DataTableFilterFunction) {\n return (header: DataTableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: DataTableHeader[],\n headersWithoutCustomFilters: DataTableHeader[],\n customFilter: DataTableFilterFunction\n) {\n search = typeof search === 'string' ? search.trim() : null\n\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n // We need to match every filter to be included in the results.\n const matchesColumnFilters = headersWithCustomFilters.every(filterFn(item, search, defaultFilter))\n\n // Headers without custom filters are only filtered by the `search` property if it is defined.\n // We only need a single column to match the search term to be included in the results.\n const matchesSearchTerm = !search || headersWithoutCustomFilters.some(filterFn(item, search, customFilter))\n\n return matchesColumnFilters && matchesSearchTerm\n })\n}\n\n/* @vue/component */\nexport default mixins(\n VDataIterator,\n Loadable,\n).extend({\n name: 'v-data-table',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => [],\n } as PropValidator<DataTableHeader[]>,\n showSelect: Boolean,\n checkboxColor: String,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator<typeof defaultFilter>,\n itemClass: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowClassFunction | string>,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): DataTableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n columnSorters (): Record<string, DataTableCompareFunction> {\n return this.computedHeaders.reduce<Record<string, DataTableCompareFunction>>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record<string, any> {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const itemsPerPageOptions: DataItemsPerPageOption[] | undefined = this.sanitizedFooterProps.itemsPerPageOptions\n\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find(item => typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage)\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeDestroy () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(items, search, this.headersWithCustomFilters, this.headersWithoutCustomFilters, this.customFilter)\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any, index: number): DataTableItemProps {\n const props = VDataIterator.options.methods.createItemProps.call(this, item, index)\n\n return Object.assign(props, { headers: this.computedHeaders })\n },\n genCaption (props: DataScopeProps) {\n if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataScopeProps) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [this.genProgress()])\n\n const tr = this.$createElement('tr', {\n staticClass: 'v-data-table__progress',\n }, [th])\n\n return this.$createElement('thead', [tr])\n },\n genHeaders (props: DataScopeProps) {\n const data = {\n props: {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n checkboxColor: this.checkboxColor,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll,\n },\n }\n\n // TODO: rename to 'head'? (thead, tbody, tfoot)\n const children: VNodeChildrenArrayContents = [getSlot(this, 'header', {\n ...data,\n isMobile: this.isMobile,\n })]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n children.push(this.$createElement(VDataTableHeader, {\n ...data,\n scopedSlots,\n }))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return this.$createElement('tr', {\n staticClass: 'v-data-table__empty-wrapper',\n }, [\n this.$createElement('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: ItemGroup<any>[], props: DataScopeProps) {\n return groupedItems.map(group => {\n if (!this.openCache.hasOwnProperty(group.name)) this.$set(this.openCache, group.name, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group: group.name,\n options: props.options,\n isMobile: this.isMobile,\n items: group.items,\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group.name, group.items, props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataScopeProps) {\n const isOpen = !!this.openCache[group]\n const children: VNodeChildren = [\n this.$createElement('template', { slot: 'row.content' }, this.genRows(items, props)),\n ]\n const toggleFn = () => this.$set(this.openCache, group, !this.openCache[group])\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n this.$scopedSlots['group.header']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n remove: removeFn,\n }),\n ]))\n } else {\n const toggle = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: toggleFn,\n },\n }, [this.$createElement(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [this.$createElement(VIcon, ['$close'])])\n\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${props.options.groupBy[0]}: ${group}`, remove])\n\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', { slot: 'column.summary' }, [\n this.$scopedSlots['group.summary']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n }),\n ]))\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataScopeProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$scopedSlots.item!({\n ...this.createItemProps(item, i),\n isMobile: this.isMobile,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n index: i,\n item,\n }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map((item, index) => this.genDefaultExpandedRow(item, index))\n : items.map((item, index) => this.genDefaultSimpleRow(item, index))\n },\n genDefaultExpandedRow (item: any, index: number): VNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, index, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item,\n })])\n\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, index: number, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item, index)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot({\n ...data,\n isMobile: this.isMobile,\n }) : () => this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n disabled: !this.isSelectable(item),\n color: this.checkboxColor ?? '',\n },\n on: {\n input: (val: boolean) => data.select(val),\n },\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(VIcon, {\n staticClass: 'v-data-table__expand-icon',\n class: {\n 'v-data-table__expand-icon--active': data.isExpanded,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n },\n },\n }, [this.expandIcon])\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: mergeClasses(\n { ...classes, 'v-data-table__selected': data.isSelected },\n getPropertyFromItem(item, this.itemClass)\n ),\n props: {\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$vuetify.rtl,\n },\n scopedSlots,\n on: {\n // TODO: for click, the first argument should be the event, and the second argument should be data,\n // but this is a breaking change so it's for v3\n click: () => this.$emit('click:row', item, data),\n contextmenu: (event: MouseEvent) => this.$emit('contextmenu:row', event, data),\n dblclick: (event: MouseEvent) => this.$emit('dblclick:row', event, data),\n },\n })\n },\n genBody (props: DataScopeProps): VNode | string | VNodeChildren {\n const data = {\n ...props,\n expand: this.expand,\n headers: this.computedHeaders,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n isSelected: this.isSelected,\n select: this.select,\n }\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body!(data)\n }\n\n return this.$createElement('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFoot (props: DataScopeProps): VNode[] | undefined {\n return this.$scopedSlots.foot?.(props)\n },\n genFooters (props: DataScopeProps) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n widths: this.widths,\n headers: this.computedHeaders,\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', data, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(VDataFooter, {\n ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n }))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataScopeProps): VNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return this.$createElement(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(VSimpleTable, {\n props: simpleProps,\n class: {\n 'v-data-table--mobile': this.isMobile,\n },\n }, [\n this.proxySlot('top', getSlot(this, 'top', {\n ...props,\n isMobile: this.isMobile,\n }, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.genFoot(props),\n this.proxySlot('bottom', this.genFooters(props)),\n ])\n },\n proxySlot (slot: string, content: VNodeChildren) {\n return this.$createElement('template', { slot }, content)\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n },\n on: {\n 'update:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'update:page': (v: number) => this.$emit('update:page', v),\n 'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n"],"sourceRoot":"","file":"VDataTable.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VDataTable/VDataTable.ts"],"names":[],"mappings":"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","sourcesContent":["import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport {\n DataTableHeader,\n DataTableFilterFunction,\n DataScopeProps,\n DataOptions,\n DataPagination,\n DataTableCompareFunction,\n DataItemsPerPageOption,\n ItemGroup,\n RowClassFunction,\n DataTableItemProps,\n} from 'vuetify/types'\n\n// Components\nimport { VData } from '../VData'\nimport { VDataFooter, VDataIterator } from '../VDataIterator'\nimport VBtn from '../VBtn'\nimport VDataTableHeader from './VDataTableHeader'\n// import VVirtualTable from './VVirtualTable'\nimport VIcon from '../VIcon'\nimport Row from './Row'\nimport RowGroup from './RowGroup'\nimport VSimpleCheckbox from '../VCheckbox/VSimpleCheckbox'\nimport VSimpleTable from './VSimpleTable'\nimport MobileRow from './MobileRow'\n\n// Mixins\nimport Loadable from '../../mixins/loadable'\n\n// Directives\nimport ripple from '../../directives/ripple'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { deepEqual, getObjectValueByPath, getPrefixedScopedSlots, getSlot, defaultFilter, camelizeObjectKeys, getPropertyFromItem } from '../../util/helpers'\nimport { breaking } from '../../util/console'\nimport { mergeClasses } from '../../util/mergeData'\n\nfunction filterFn (item: any, search: string | null, filter: DataTableFilterFunction) {\n return (header: DataTableHeader) => {\n const value = getObjectValueByPath(item, header.value)\n return header.filter ? header.filter(value, search, item) : filter(value, search, item)\n }\n}\n\nfunction searchTableItems (\n items: any[],\n search: string | null,\n headersWithCustomFilters: DataTableHeader[],\n headersWithoutCustomFilters: DataTableHeader[],\n customFilter: DataTableFilterFunction\n) {\n search = typeof search === 'string' ? search.trim() : null\n\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n // We need to match every filter to be included in the results.\n const matchesColumnFilters = headersWithCustomFilters.every(filterFn(item, search, defaultFilter))\n\n // Headers without custom filters are only filtered by the `search` property if it is defined.\n // We only need a single column to match the search term to be included in the results.\n const matchesSearchTerm = !search || headersWithoutCustomFilters.some(filterFn(item, search, customFilter))\n\n return matchesColumnFilters && matchesSearchTerm\n })\n}\n\n/* @vue/component */\nexport default mixins(\n VDataIterator,\n Loadable,\n).extend({\n name: 'v-data-table',\n\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => [],\n } as PropValidator<DataTableHeader[]>,\n showSelect: Boolean,\n checkboxColor: String,\n showExpand: Boolean,\n showGroupBy: Boolean,\n // TODO: Fix\n // virtualRows: Boolean,\n height: [Number, String],\n hideDefaultHeader: Boolean,\n caption: String,\n dense: Boolean,\n headerProps: Object,\n calculateWidths: Boolean,\n fixedHeader: Boolean,\n headersLength: Number,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n customFilter: {\n type: Function,\n default: defaultFilter,\n } as PropValidator<typeof defaultFilter>,\n itemClass: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowClassFunction | string>,\n loaderHeight: {\n type: [Number, String],\n default: 4,\n },\n },\n\n data () {\n return {\n internalGroupBy: [] as string[],\n openCache: {} as { [key: string]: boolean },\n widths: [] as number[],\n }\n },\n\n computed: {\n computedHeaders (): DataTableHeader[] {\n if (!this.headers) return []\n const headers = this.headers.filter(h => h.value === undefined || !this.internalGroupBy.find(v => v === h.value))\n const defaultHeader = { text: '', sortable: false, width: '1px' }\n\n if (this.showSelect) {\n const index = headers.findIndex(h => h.value === 'data-table-select')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-select' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n if (this.showExpand) {\n const index = headers.findIndex(h => h.value === 'data-table-expand')\n if (index < 0) headers.unshift({ ...defaultHeader, value: 'data-table-expand' })\n else headers.splice(index, 1, { ...defaultHeader, ...headers[index] })\n }\n\n return headers\n },\n colspanAttrs (): object | undefined {\n return this.isMobile ? undefined : {\n colspan: this.headersLength || this.computedHeaders.length,\n }\n },\n columnSorters (): Record<string, DataTableCompareFunction> {\n return this.computedHeaders.reduce<Record<string, DataTableCompareFunction>>((acc, header) => {\n if (header.sort) acc[header.value] = header.sort\n return acc\n }, {})\n },\n headersWithCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n headersWithoutCustomFilters (): DataTableHeader[] {\n return this.headers.filter(header => !header.filter && (!header.hasOwnProperty('filterable') || header.filterable === true))\n },\n sanitizedHeaderProps (): Record<string, any> {\n return camelizeObjectKeys(this.headerProps)\n },\n computedItemsPerPage (): number {\n const itemsPerPage = this.options && this.options.itemsPerPage ? this.options.itemsPerPage : this.itemsPerPage\n const itemsPerPageOptions: DataItemsPerPageOption[] | undefined = this.sanitizedFooterProps.itemsPerPageOptions\n\n if (\n itemsPerPageOptions &&\n !itemsPerPageOptions.find(item => typeof item === 'number' ? item === itemsPerPage : item.value === itemsPerPage)\n ) {\n const firstOption = itemsPerPageOptions[0]\n return typeof firstOption === 'object' ? firstOption.value : firstOption\n }\n\n return itemsPerPage\n },\n groupByText (): string {\n return this.headers?.find(header => header.value === this.internalGroupBy?.[0])?.text ?? ''\n },\n },\n\n created () {\n const breakingProps = [\n ['sort-icon', 'header-props.sort-icon'],\n ['hide-headers', 'hide-default-header'],\n ['select-all', 'show-select'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n mounted () {\n // if ((!this.sortBy || !this.sortBy.length) && (!this.options.sortBy || !this.options.sortBy.length)) {\n // const firstSortable = this.headers.find(h => !('sortable' in h) || !!h.sortable)\n // if (firstSortable) this.updateOptions({ sortBy: [firstSortable.value], sortDesc: [false] })\n // }\n\n if (this.calculateWidths) {\n window.addEventListener('resize', this.calcWidths)\n this.calcWidths()\n }\n },\n\n beforeDestroy () {\n if (this.calculateWidths) {\n window.removeEventListener('resize', this.calcWidths)\n }\n },\n\n methods: {\n calcWidths () {\n this.widths = Array.from(this.$el.querySelectorAll('th')).map(e => e.clientWidth)\n },\n customFilterWithColumns (items: any[], search: string) {\n return searchTableItems(items, search, this.headersWithCustomFilters, this.headersWithoutCustomFilters, this.customFilter)\n },\n customSortWithHeaders (items: any[], sortBy: string[], sortDesc: boolean[], locale: string) {\n return this.customSort(items, sortBy, sortDesc, locale, this.columnSorters)\n },\n createItemProps (item: any, index: number): DataTableItemProps {\n const props = VDataIterator.options.methods.createItemProps.call(this, item, index)\n\n return Object.assign(props, { headers: this.computedHeaders })\n },\n genCaption (props: DataScopeProps) {\n if (this.caption) return [this.$createElement('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataScopeProps) {\n return this.$createElement('colgroup', this.computedHeaders.map(header => {\n return this.$createElement('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const th = this.$createElement('th', {\n staticClass: 'column',\n attrs: this.colspanAttrs,\n }, [this.genProgress()])\n\n const tr = this.$createElement('tr', {\n staticClass: 'v-data-table__progress',\n }, [th])\n\n return this.$createElement('thead', [tr])\n },\n genHeaders (props: DataScopeProps) {\n const data = {\n props: {\n ...this.sanitizedHeaderProps,\n headers: this.computedHeaders,\n options: props.options,\n mobile: this.isMobile,\n showGroupBy: this.showGroupBy,\n checkboxColor: this.checkboxColor,\n someItems: this.someItems,\n everyItem: this.everyItem,\n singleSelect: this.singleSelect,\n disableSort: this.disableSort,\n },\n on: {\n sort: props.sort,\n group: props.group,\n 'toggle-select-all': this.toggleSelectAll,\n },\n }\n\n // TODO: rename to 'head'? (thead, tbody, tfoot)\n const children: VNodeChildrenArrayContents = [getSlot(this, 'header', {\n ...data,\n isMobile: this.isMobile,\n })]\n\n if (!this.hideDefaultHeader) {\n const scopedSlots = getPrefixedScopedSlots('header.', this.$scopedSlots)\n children.push(this.$createElement(VDataTableHeader, {\n ...data,\n scopedSlots,\n }))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return this.$createElement('tr', {\n staticClass: 'v-data-table__empty-wrapper',\n }, [\n this.$createElement('td', {\n attrs: this.colspanAttrs,\n }, content),\n ])\n },\n genItems (items: any[], props: DataScopeProps) {\n const empty = this.genEmpty(props.originalItemsLength, props.pagination.itemsLength)\n if (empty) return [empty]\n\n return props.groupedItems\n ? this.genGroupedRows(props.groupedItems, props)\n : this.genRows(items, props)\n },\n genGroupedRows (groupedItems: ItemGroup<any>[], props: DataScopeProps) {\n return groupedItems.map(group => {\n if (!this.openCache.hasOwnProperty(group.name)) this.$set(this.openCache, group.name, true)\n\n if (this.$scopedSlots.group) {\n return this.$scopedSlots.group({\n group: group.name,\n options: props.options,\n isMobile: this.isMobile,\n items: group.items,\n headers: this.computedHeaders,\n })\n } else {\n return this.genDefaultGroupedRow(group.name, group.items, props)\n }\n })\n },\n genDefaultGroupedRow (group: string, items: any[], props: DataScopeProps) {\n const isOpen = !!this.openCache[group]\n const children: VNodeChildren = [\n this.$createElement('template', { slot: 'row.content' }, this.genRows(items, props)),\n ]\n const toggleFn = () => this.$set(this.openCache, group, !this.openCache[group])\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$scopedSlots['group.header']) {\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [\n this.$scopedSlots['group.header']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n remove: removeFn,\n }),\n ]))\n } else {\n const toggle = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: toggleFn,\n },\n }, [this.$createElement(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = this.$createElement(VBtn, {\n staticClass: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [this.$createElement(VIcon, ['$close'])])\n\n const column = this.$createElement('td', {\n staticClass: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${this.groupByText}: ${group}`, remove])\n\n children.unshift(this.$createElement('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$scopedSlots['group.summary']) {\n children.push(this.$createElement('template', { slot: 'column.summary' }, [\n this.$scopedSlots['group.summary']!({\n group,\n groupBy: props.options.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n }),\n ]))\n }\n\n return this.$createElement(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots.item ? this.genScopedRows(items, props) : this.genDefaultRows(items, props)\n },\n genScopedRows (items: any[], props: DataScopeProps) {\n const rows = []\n\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n rows.push(this.$scopedSlots.item!({\n ...this.createItemProps(item, i),\n isMobile: this.isMobile,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n index: i,\n item,\n }))\n }\n }\n\n return rows\n },\n genDefaultRows (items: any[], props: DataScopeProps) {\n return this.$scopedSlots['expanded-item']\n ? items.map((item, index) => this.genDefaultExpandedRow(item, index))\n : items.map((item, index) => this.genDefaultSimpleRow(item, index))\n },\n genDefaultExpandedRow (item: any, index: number): VNode {\n const isExpanded = this.isExpanded(item)\n const classes = {\n 'v-data-table__expanded v-data-table__expanded__row': isExpanded,\n }\n const headerRow = this.genDefaultSimpleRow(item, index, classes)\n const expandedRow = this.$createElement('tr', {\n staticClass: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$scopedSlots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item,\n })])\n\n return this.$createElement(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n this.$createElement('template', { slot: 'row.header' }, [headerRow]),\n this.$createElement('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, index: number, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$scopedSlots)\n\n const data = this.createItemProps(item, index)\n\n if (this.showSelect) {\n const slot = scopedSlots['data-table-select']\n scopedSlots['data-table-select'] = slot ? () => slot({\n ...data,\n isMobile: this.isMobile,\n }) : () => this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n props: {\n value: data.isSelected,\n disabled: !this.isSelectable(item),\n color: this.checkboxColor ?? '',\n },\n on: {\n input: (val: boolean) => data.select(val),\n },\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => this.$createElement(VIcon, {\n staticClass: 'v-data-table__expand-icon',\n class: {\n 'v-data-table__expand-icon--active': data.isExpanded,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n },\n },\n }, [this.expandIcon])\n }\n\n return this.$createElement(this.isMobile ? MobileRow : Row, {\n key: getObjectValueByPath(item, this.itemKey),\n class: mergeClasses(\n { ...classes, 'v-data-table__selected': data.isSelected },\n getPropertyFromItem(item, this.itemClass)\n ),\n props: {\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$vuetify.rtl,\n },\n scopedSlots,\n on: {\n // TODO: for click, the first argument should be the event, and the second argument should be data,\n // but this is a breaking change so it's for v3\n click: () => this.$emit('click:row', item, data),\n contextmenu: (event: MouseEvent) => this.$emit('contextmenu:row', event, data),\n dblclick: (event: MouseEvent) => this.$emit('dblclick:row', event, data),\n },\n })\n },\n genBody (props: DataScopeProps): VNode | string | VNodeChildren {\n const data = {\n ...props,\n expand: this.expand,\n headers: this.computedHeaders,\n isExpanded: this.isExpanded,\n isMobile: this.isMobile,\n isSelected: this.isSelected,\n select: this.select,\n }\n\n if (this.$scopedSlots.body) {\n return this.$scopedSlots.body!(data)\n }\n\n return this.$createElement('tbody', [\n getSlot(this, 'body.prepend', data, true),\n this.genItems(props.items, props),\n getSlot(this, 'body.append', data, true),\n ])\n },\n genFoot (props: DataScopeProps): VNode[] | undefined {\n return this.$scopedSlots.foot?.(props)\n },\n genFooters (props: DataScopeProps) {\n const data = {\n props: {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n },\n on: {\n 'update:options': (value: any) => props.updateOptions(value),\n },\n widths: this.widths,\n headers: this.computedHeaders,\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', data, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(this.$createElement(VDataFooter, {\n ...data,\n scopedSlots: getPrefixedScopedSlots('footer.', this.$scopedSlots),\n }))\n }\n\n return children\n },\n genDefaultScopedSlot (props: DataScopeProps): VNode {\n const simpleProps = {\n height: this.height,\n fixedHeader: this.fixedHeader,\n dense: this.dense,\n }\n\n // if (this.virtualRows) {\n // return this.$createElement(VVirtualTable, {\n // props: Object.assign(simpleProps, {\n // items: props.items,\n // height: this.height,\n // rowHeight: this.dense ? 24 : 48,\n // headerHeight: this.dense ? 32 : 48,\n // // TODO: expose rest of props from virtual table?\n // }),\n // scopedSlots: {\n // items: ({ items }) => this.genItems(items, props) as any,\n // },\n // }, [\n // this.proxySlot('body.before', [this.genCaption(props), this.genHeaders(props)]),\n // this.proxySlot('bottom', this.genFooters(props)),\n // ])\n // }\n\n return this.$createElement(VSimpleTable, {\n props: simpleProps,\n class: {\n 'v-data-table--mobile': this.isMobile,\n },\n }, [\n this.proxySlot('top', getSlot(this, 'top', {\n ...props,\n isMobile: this.isMobile,\n }, true)),\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.genFoot(props),\n this.proxySlot('bottom', this.genFooters(props)),\n ])\n },\n proxySlot (slot: string, content: VNodeChildren) {\n return this.$createElement('template', { slot }, content)\n },\n },\n\n render (): VNode {\n return this.$createElement(VData, {\n props: {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n },\n on: {\n 'update:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'update:page': (v: number) => this.$emit('update:page', v),\n 'update:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'update:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'update:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'update:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'update:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n pagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'current-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'page-count': (v: number) => this.$emit('page-count', v),\n },\n scopedSlots: {\n default: this.genDefaultScopedSlot,\n },\n })\n },\n})\n"],"sourceRoot":"","file":"VDataTable.js"}
|
|
@@ -61,14 +61,15 @@ var _default2 = (0, _mixins.default)().extend({
|
|
|
61
61
|
},
|
|
62
62
|
methods: {
|
|
63
63
|
genSelectAll: function genSelectAll() {
|
|
64
|
-
var _this
|
|
65
|
-
|
|
64
|
+
var _this = this;
|
|
65
|
+
|
|
66
|
+
var _a;
|
|
66
67
|
|
|
67
68
|
var data = {
|
|
68
69
|
props: {
|
|
69
70
|
value: this.everyItem,
|
|
70
71
|
indeterminate: !this.everyItem && this.someItems,
|
|
71
|
-
color: (
|
|
72
|
+
color: (_a = this.checkboxColor) !== null && _a !== void 0 ? _a : ''
|
|
72
73
|
},
|
|
73
74
|
on: {
|
|
74
75
|
input: function input(v) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/VDataTable/mixins/header.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AACA;;AAIA;;;;;;;;;;gBASe,uBAAkB,MAAlB,CAAyB;AACtC;AACA,EAAA,UAAU,EAAE;AACV,IAAA,MAAM,EAAN;AADU,GAF0B;AAMtC,EAAA,KAAK,EAAE;AACL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,KADC;AAEP,MAAA,OAAO,EAAE;AAAA,eAAO,EAAP;AAAA;AAFF,KADJ;AAKL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP,MAAA,OAAO,EAAE;AAAA,eAAO;AACd,UAAA,IAAI,EAAE,CADQ;AAEd,UAAA,YAAY,EAAE,EAFA;AAGd,UAAA,MAAM,EAAE,EAHM;AAId,UAAA,QAAQ,EAAE,EAJI;AAKd,UAAA,OAAO,EAAE,EALK;AAMd,UAAA,SAAS,EAAE,EANG;AAOd,UAAA,SAAS,EAAE,KAPG;AAQd,UAAA,QAAQ,EAAE;AARI,SAAP;AAAA;AAFF,KALJ;AAkBL,IAAA,aAAa,EAAE,MAlBV;AAmBL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KAnBL;AAuBL,IAAA,SAAS,EAAE,OAvBN;AAwBL,IAAA,SAAS,EAAE,OAxBN;AAyBL,IAAA,WAAW,EAAE,OAzBR;AA0BL,IAAA,YAAY,EAAE,OA1BT;AA2BL,IAAA,WAAW,EAAE;AA3BR,GAN+B;AAoCtC,EAAA,OAAO,EAAE;AACP,IAAA,YADO,0BACK;AAAA
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/VDataTable/mixins/header.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AACA;;AAIA;;;;;;;;;;gBASe,uBAAkB,MAAlB,CAAyB;AACtC;AACA,EAAA,UAAU,EAAE;AACV,IAAA,MAAM,EAAN;AADU,GAF0B;AAMtC,EAAA,KAAK,EAAE;AACL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,KADC;AAEP,MAAA,OAAO,EAAE;AAAA,eAAO,EAAP;AAAA;AAFF,KADJ;AAKL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,MADC;AAEP,MAAA,OAAO,EAAE;AAAA,eAAO;AACd,UAAA,IAAI,EAAE,CADQ;AAEd,UAAA,YAAY,EAAE,EAFA;AAGd,UAAA,MAAM,EAAE,EAHM;AAId,UAAA,QAAQ,EAAE,EAJI;AAKd,UAAA,OAAO,EAAE,EALK;AAMd,UAAA,SAAS,EAAE,EANG;AAOd,UAAA,SAAS,EAAE,KAPG;AAQd,UAAA,QAAQ,EAAE;AARI,SAAP;AAAA;AAFF,KALJ;AAkBL,IAAA,aAAa,EAAE,MAlBV;AAmBL,IAAA,QAAQ,EAAE;AACR,MAAA,IAAI,EAAE,MADE;AAER,MAAA,OAAO,EAAE;AAFD,KAnBL;AAuBL,IAAA,SAAS,EAAE,OAvBN;AAwBL,IAAA,SAAS,EAAE,OAxBN;AAyBL,IAAA,WAAW,EAAE,OAzBR;AA0BL,IAAA,YAAY,EAAE,OA1BT;AA2BL,IAAA,WAAW,EAAE;AA3BR,GAN+B;AAoCtC,EAAA,OAAO,EAAE;AACP,IAAA,YADO,0BACK;AAAA;;;;AACV,UAAM,IAAI,GAAG;AACX,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE,KAAK,SADP;AAEL,UAAA,aAAa,EAAE,CAAC,KAAK,SAAN,IAAmB,KAAK,SAFlC;AAGL,UAAA,KAAK,EAAE,CAAA,EAAA,GAAA,KAAK,aAAL,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,EAAlB,GAAsB;AAHxB,SADI;AAMX,QAAA,EAAE,EAAE;AACF,UAAA,KAAK,EAAE,eAAC,CAAD;AAAA,mBAAgB,KAAI,CAAC,KAAL,CAAW,mBAAX,EAAgC,CAAhC,CAAhB;AAAA;AADL;AANO,OAAb;;AAWA,UAAI,KAAK,YAAL,CAAkB,mBAAlB,CAAJ,EAA4C;AAC1C,eAAO,KAAK,YAAL,CAAkB,mBAAlB,EAAwC,IAAxC,CAAP;AACD;;AAED,aAAO,KAAK,cAAL,CAAoB,wBAApB;AACL,QAAA,WAAW,EAAE;AADR,SAEF,IAFE,EAAP;AAID,KArBM;AAsBP,IAAA,WAtBO,yBAsBI;AACT,aAAO,KAAK,cAAL,CAAoB,cAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,2BADmB;AAEhC,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAE;AADD;AAFyB,OAA3B,EAKJ,CAAC,KAAK,QAAN,CALI,CAAP;AAMD;AA7BM;AApC6B,CAAzB,C","sourcesContent":["import { VDataTable } from '../'\nimport VIcon from '../../VIcon'\nimport VSimpleCheckbox from '../../VCheckbox/VSimpleCheckbox'\nimport ripple from '../../../directives/ripple'\n\nimport Vue from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../../util/mixins'\nimport { DataOptions, DataTableHeader } from 'vuetify/types'\n\ntype VDataTableInstance = InstanceType<typeof VDataTable>\n\ninterface options extends Vue {\n dataTable: VDataTableInstance\n}\n\nexport default mixins<options>().extend({\n // https://github.com/vuejs/vue/issues/6872\n directives: {\n ripple,\n },\n\n props: {\n headers: {\n type: Array,\n default: () => ([]),\n } as PropValidator<DataTableHeader[]>,\n options: {\n type: Object,\n default: () => ({\n page: 1,\n itemsPerPage: 10,\n sortBy: [],\n sortDesc: [],\n groupBy: [],\n groupDesc: [],\n multiSort: false,\n mustSort: false,\n }),\n } as PropValidator<DataOptions>,\n checkboxColor: String,\n sortIcon: {\n type: String,\n default: '$sort',\n },\n everyItem: Boolean,\n someItems: Boolean,\n showGroupBy: Boolean,\n singleSelect: Boolean,\n disableSort: Boolean,\n },\n\n methods: {\n genSelectAll () {\n const data = {\n props: {\n value: this.everyItem,\n indeterminate: !this.everyItem && this.someItems,\n color: this.checkboxColor ?? '',\n },\n on: {\n input: (v: boolean) => this.$emit('toggle-select-all', v),\n },\n }\n\n if (this.$scopedSlots['data-table-select']) {\n return this.$scopedSlots['data-table-select']!(data)\n }\n\n return this.$createElement(VSimpleCheckbox, {\n staticClass: 'v-data-table__checkbox',\n ...data,\n })\n },\n genSortIcon () {\n return this.$createElement(VIcon, {\n staticClass: 'v-data-table-header__icon',\n props: {\n size: 18,\n },\n }, [this.sortIcon])\n },\n },\n})\n"],"sourceRoot":"","file":"header.js"}
|
|
@@ -39,6 +39,18 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
39
39
|
|
|
40
40
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
41
41
|
|
|
42
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
43
|
+
|
|
44
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
45
|
+
|
|
46
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
47
|
+
|
|
48
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
49
|
+
|
|
50
|
+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
51
|
+
|
|
52
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
53
|
+
|
|
42
54
|
var _default2 = (0, _mixins.default)(_localable.default, _picker.default).extend({
|
|
43
55
|
name: 'v-date-picker',
|
|
44
56
|
props: {
|
|
@@ -120,7 +132,8 @@ var _default2 = (0, _mixins.default)(_localable.default, _picker.default).extend
|
|
|
120
132
|
default: 'date',
|
|
121
133
|
validator: function validator(type) {
|
|
122
134
|
return ['date', 'month'].includes(type);
|
|
123
|
-
}
|
|
135
|
+
} // TODO: year
|
|
136
|
+
|
|
124
137
|
},
|
|
125
138
|
value: [Array, String],
|
|
126
139
|
weekdayFormat: Function,
|
|
@@ -363,8 +376,13 @@ var _default2 = (0, _mixins.default)(_localable.default, _picker.default).extend
|
|
|
363
376
|
}
|
|
364
377
|
},
|
|
365
378
|
monthClick: function monthClick(value) {
|
|
366
|
-
|
|
367
|
-
|
|
379
|
+
var _value$split = value.split('-'),
|
|
380
|
+
_value$split2 = _slicedToArray(_value$split, 2),
|
|
381
|
+
year = _value$split2[0],
|
|
382
|
+
month = _value$split2[1];
|
|
383
|
+
|
|
384
|
+
this.inputYear = parseInt(year, 10);
|
|
385
|
+
this.inputMonth = parseInt(month, 10) - 1;
|
|
368
386
|
|
|
369
387
|
if (this.type === 'date') {
|
|
370
388
|
if (this.inputDay) {
|
|
@@ -382,9 +400,15 @@ var _default2 = (0, _mixins.default)(_localable.default, _picker.default).extend
|
|
|
382
400
|
}
|
|
383
401
|
},
|
|
384
402
|
dateClick: function dateClick(value) {
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
403
|
+
var _value$split3 = value.split('-'),
|
|
404
|
+
_value$split4 = _slicedToArray(_value$split3, 3),
|
|
405
|
+
year = _value$split4[0],
|
|
406
|
+
month = _value$split4[1],
|
|
407
|
+
day = _value$split4[2];
|
|
408
|
+
|
|
409
|
+
this.inputYear = parseInt(year, 10);
|
|
410
|
+
this.inputMonth = parseInt(month, 10) - 1;
|
|
411
|
+
this.inputDay = parseInt(day, 10);
|
|
388
412
|
this.emitInput(this.inputDate);
|
|
389
413
|
},
|
|
390
414
|
genPickerTitle: function genPickerTitle() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/VDatePicker/VDatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport isDateAllowed from './util/isDateAllowed'\nimport mixins from '../../util/mixins'\nimport { wrapInArray } from '../../util/helpers'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport { consoleWarn } from '../../util/console'\nimport {\n createItemTypeListeners,\n createNativeLocaleFormatter,\n pad,\n sanitizeDateString,\n} from './util'\n\n// Types\nimport {\n PropType,\n PropValidator,\n} from 'vue/types/options'\nimport { VNode } from 'vue'\nimport {\n DatePickerFormatter,\n DatePickerMultipleFormatter,\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEvents,\n DatePickerType,\n} from 'vuetify/types'\n\ntype DatePickerValue = string | string[] | undefined\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\ntype ActivePicker = 'DATE' | 'MONTH' | 'YEAR';\n\nexport default mixins(\n Localable,\n Picker,\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n activePicker: String as PropType<ActivePicker>,\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n // Function formatting the day in date picker table\n dayFormat: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<DatePickerEventColors>,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropType<DatePickerFormatter | undefined>,\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropType<DatePickerFormatter | undefined>,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n nextMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextMonthAriaLabel',\n },\n nextYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextYearAriaLabel',\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n prevMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevMonthAriaLabel',\n },\n prevYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevYearAriaLabel',\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true,\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected',\n },\n showAdjacentMonths: Boolean,\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropType<DatePickerFormatter | DatePickerMultipleFormatter | undefined>,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type), // TODO: year\n } as PropValidator<DatePickerType>,\n value: [Array, String] as PropType<DatePickerValue>,\n weekdayFormat: Function as PropType<DatePickerFormatter | undefined>,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropType<DatePickerFormatter | undefined>,\n yearIcon: String,\n },\n\n data () {\n const now = new Date()\n return {\n internalActivePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const multipleValue = wrapInArray(this.value)\n const date = multipleValue[multipleValue.length - 1] ||\n (typeof this.showCurrent === 'string' ? this.showCurrent : `${now.getFullYear()}-${now.getMonth() + 1}`)\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })(),\n }\n },\n\n computed: {\n multipleValue (): string[] {\n return wrapInArray(this.value)\n },\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : (this.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return this.multipleValue.map(val => val.substr(0, 7))\n } else {\n return (this.value as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter),\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },\n }\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type],\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',<br>')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n },\n },\n\n watch: {\n internalActivePicker: {\n immediate: true,\n handler (val: ActivePicker) {\n this.$emit('update:active-picker', val)\n },\n },\n activePicker (val: ActivePicker) {\n this.internalActivePicker = val\n },\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (\n (!this.isMultiple && this.value && !this.pickerDate) ||\n (this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate)\n ) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.internalActivePicker = type.toUpperCase()\n\n if (this.value && this.value.length) {\n const output = this.multipleValue\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\n if (this.range) {\n if (this.multipleValue.length !== 1) {\n this.$emit('input', [newInput])\n } else {\n const output = [this.multipleValue[0], newInput]\n this.$emit('input', output)\n this.$emit('change', output)\n }\n return\n }\n\n const output = this.multiple\n ? (\n this.multipleValue.indexOf(newInput) === -1\n ? this.multipleValue.concat([newInput])\n : this.multipleValue.filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string): boolean {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.internalActivePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n },\n monthClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.internalActivePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n this.inputYear = parseInt(value.split('-')[0], 10)\n this.inputMonth = parseInt(value.split('-')[1], 10) - 1\n this.inputDay = parseInt(value.split('-')[2], 10)\n this.emitInput(this.inputDate)\n },\n genPickerTitle (): VNode {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.isMultiple ? this.multipleValue : this.value) : '',\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.internalActivePicker === 'YEAR',\n year: this.formatters.year(this.multipleValue.length ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n value: this.multipleValue[0],\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader (): VNode {\n return this.$createElement(VDatePickerHeader, {\n props: {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.internalActivePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.internalActivePicker === 'DATE' ? this.maxMonth : this.maxYear,\n nextAriaLabel: this.internalActivePicker === 'DATE' ? this.nextMonthAriaLabel : this.nextYearAriaLabel,\n prevAriaLabel: this.internalActivePicker === 'DATE' ? this.prevMonthAriaLabel : this.prevYearAriaLabel,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n value: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.internalActivePicker = (this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable (): VNode {\n return this.$createElement(VDatePickerDateTable, {\n props: {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n localeFirstDayOfYear: this.localeFirstDayOfYear,\n min: this.min,\n max: this.max,\n range: this.range,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showAdjacentMonths: this.showAdjacentMonths,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n value: this.value,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':date'),\n },\n })\n },\n genMonthTable (): VNode {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n range: this.range,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':month'),\n },\n })\n },\n genYears (): VNode {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n ...createItemTypeListeners(this, ':year'),\n },\n })\n },\n genPickerBody (): VNode {\n const children = this.internalActivePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('div', {\n key: this.internalActivePicker,\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n },\n})\n"],"sourceRoot":"","file":"VDatePicker.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/components/VDatePicker/VDatePicker.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport VDatePickerTitle from './VDatePickerTitle'\nimport VDatePickerHeader from './VDatePickerHeader'\nimport VDatePickerDateTable from './VDatePickerDateTable'\nimport VDatePickerMonthTable from './VDatePickerMonthTable'\nimport VDatePickerYears from './VDatePickerYears'\n\n// Mixins\nimport Localable from '../../mixins/localable'\nimport Picker from '../../mixins/picker'\n\n// Utils\nimport isDateAllowed from './util/isDateAllowed'\nimport mixins from '../../util/mixins'\nimport { wrapInArray } from '../../util/helpers'\nimport { daysInMonth } from '../VCalendar/util/timestamp'\nimport { consoleWarn } from '../../util/console'\nimport {\n createItemTypeListeners,\n createNativeLocaleFormatter,\n pad,\n sanitizeDateString,\n} from './util'\n\n// Types\nimport {\n PropType,\n PropValidator,\n} from 'vue/types/options'\nimport { VNode } from 'vue'\nimport {\n DatePickerFormatter,\n DatePickerMultipleFormatter,\n DatePickerAllowedDatesFunction,\n DatePickerEventColors,\n DatePickerEvents,\n DatePickerType,\n} from 'vuetify/types'\n\ntype DatePickerValue = string | string[] | undefined\ninterface Formatters {\n year: DatePickerFormatter\n titleDate: DatePickerFormatter | DatePickerMultipleFormatter\n}\n\ntype ActivePicker = 'DATE' | 'MONTH' | 'YEAR';\n\nexport default mixins(\n Localable,\n Picker,\n/* @vue/component */\n).extend({\n name: 'v-date-picker',\n\n props: {\n activePicker: String as PropType<ActivePicker>,\n allowedDates: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n // Function formatting the day in date picker table\n dayFormat: Function as PropType<DatePickerAllowedDatesFunction | undefined>,\n disabled: Boolean,\n events: {\n type: [Array, Function, Object],\n default: () => null,\n } as PropValidator<DatePickerEvents | null>,\n eventColor: {\n type: [Array, Function, Object, String],\n default: () => 'warning',\n } as PropValidator<DatePickerEventColors>,\n firstDayOfWeek: {\n type: [String, Number],\n default: 0,\n },\n // Function formatting the tableDate in the day/month table header\n headerDateFormat: Function as PropType<DatePickerFormatter | undefined>,\n localeFirstDayOfYear: {\n type: [String, Number],\n default: 0,\n },\n max: String,\n min: String,\n // Function formatting month in the months table\n monthFormat: Function as PropType<DatePickerFormatter | undefined>,\n multiple: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n nextMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextMonthAriaLabel',\n },\n nextYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.nextYearAriaLabel',\n },\n pickerDate: String,\n prevIcon: {\n type: String,\n default: '$prev',\n },\n prevMonthAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevMonthAriaLabel',\n },\n prevYearAriaLabel: {\n type: String,\n default: '$vuetify.datePicker.prevYearAriaLabel',\n },\n range: Boolean,\n reactive: Boolean,\n readonly: Boolean,\n scrollable: Boolean,\n showCurrent: {\n type: [Boolean, String],\n default: true,\n },\n selectedItemsText: {\n type: String,\n default: '$vuetify.datePicker.itemsSelected',\n },\n showAdjacentMonths: Boolean,\n showWeek: Boolean,\n // Function formatting currently selected date in the picker title\n titleDateFormat: Function as PropType<DatePickerFormatter | DatePickerMultipleFormatter | undefined>,\n type: {\n type: String,\n default: 'date',\n validator: (type: any) => ['date', 'month'].includes(type), // TODO: year\n } as PropValidator<DatePickerType>,\n value: [Array, String] as PropType<DatePickerValue>,\n weekdayFormat: Function as PropType<DatePickerFormatter | undefined>,\n // Function formatting the year in table header and pickup title\n yearFormat: Function as PropType<DatePickerFormatter | undefined>,\n yearIcon: String,\n },\n\n data () {\n const now = new Date()\n return {\n internalActivePicker: this.type.toUpperCase(),\n inputDay: null as number | null,\n inputMonth: null as number | null,\n inputYear: null as number | null,\n isReversing: false,\n now,\n // tableDate is a string in 'YYYY' / 'YYYY-M' format (leading zero for month is not required)\n tableDate: (() => {\n if (this.pickerDate) {\n return this.pickerDate\n }\n\n const multipleValue = wrapInArray(this.value)\n const date = multipleValue[multipleValue.length - 1] ||\n (typeof this.showCurrent === 'string' ? this.showCurrent : `${now.getFullYear()}-${now.getMonth() + 1}`)\n return sanitizeDateString(date as string, this.type === 'date' ? 'month' : 'year')\n })(),\n }\n },\n\n computed: {\n multipleValue (): string[] {\n return wrapInArray(this.value)\n },\n isMultiple (): boolean {\n return this.multiple || this.range\n },\n lastValue (): string | null {\n return this.isMultiple ? this.multipleValue[this.multipleValue.length - 1] : (this.value as string | null)\n },\n selectedMonths (): string | string[] | undefined {\n if (!this.value || this.type === 'month') {\n return this.value\n } else if (this.isMultiple) {\n return this.multipleValue.map(val => val.substr(0, 7))\n } else {\n return (this.value as string).substr(0, 7)\n }\n },\n current (): string | null {\n if (this.showCurrent === true) {\n return sanitizeDateString(`${this.now.getFullYear()}-${this.now.getMonth() + 1}-${this.now.getDate()}`, this.type)\n }\n\n return this.showCurrent || null\n },\n inputDate (): string {\n return this.type === 'date'\n ? `${this.inputYear}-${pad(this.inputMonth! + 1)}-${pad(this.inputDay!)}`\n : `${this.inputYear}-${pad(this.inputMonth! + 1)}`\n },\n tableMonth (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[1]) - 1\n },\n tableYear (): number {\n return Number((this.pickerDate || this.tableDate).split('-')[0])\n },\n minMonth (): string | null {\n return this.min ? sanitizeDateString(this.min, 'month') : null\n },\n maxMonth (): string | null {\n return this.max ? sanitizeDateString(this.max, 'month') : null\n },\n minYear (): string | null {\n return this.min ? sanitizeDateString(this.min, 'year') : null\n },\n maxYear (): string | null {\n return this.max ? sanitizeDateString(this.max, 'year') : null\n },\n formatters (): Formatters {\n return {\n year: this.yearFormat || createNativeLocaleFormatter(this.currentLocale, { year: 'numeric', timeZone: 'UTC' }, { length: 4 }),\n titleDate: this.titleDateFormat ||\n (this.isMultiple ? this.defaultTitleMultipleDateFormatter : this.defaultTitleDateFormatter),\n }\n },\n defaultTitleMultipleDateFormatter (): DatePickerMultipleFormatter {\n return dates => {\n if (!dates.length) {\n return '-'\n }\n\n if (dates.length === 1) {\n return this.defaultTitleDateFormatter(dates[0])\n }\n\n return this.$vuetify.lang.t(this.selectedItemsText, dates.length)\n }\n },\n defaultTitleDateFormatter (): DatePickerFormatter {\n const titleFormats = {\n year: { year: 'numeric', timeZone: 'UTC' },\n month: { month: 'long', timeZone: 'UTC' },\n date: { weekday: 'short', month: 'short', day: 'numeric', timeZone: 'UTC' },\n } as const\n\n const titleDateFormatter = createNativeLocaleFormatter(this.currentLocale, titleFormats[this.type], {\n start: 0,\n length: { date: 10, month: 7, year: 4 }[this.type],\n })\n\n const landscapeFormatter = (date: string) => titleDateFormatter(date)\n .replace(/([^\\d\\s])([\\d])/g, (match, nonDigit, digit) => `${nonDigit} ${digit}`)\n .replace(', ', ',<br>')\n\n return this.landscape ? landscapeFormatter : titleDateFormatter\n },\n },\n\n watch: {\n internalActivePicker: {\n immediate: true,\n handler (val: ActivePicker) {\n this.$emit('update:active-picker', val)\n },\n },\n activePicker (val: ActivePicker) {\n this.internalActivePicker = val\n },\n tableDate (val: string, prev: string) {\n // Make a ISO 8601 strings from val and prev for comparision, otherwise it will incorrectly\n // compare for example '2000-9' and '2000-10'\n const sanitizeType = this.type === 'month' ? 'year' : 'month'\n this.isReversing = sanitizeDateString(val, sanitizeType) < sanitizeDateString(prev, sanitizeType)\n this.$emit('update:picker-date', val)\n },\n pickerDate (val: string | null) {\n if (val) {\n this.tableDate = val\n } else if (this.lastValue && this.type === 'date') {\n this.tableDate = sanitizeDateString(this.lastValue, 'month')\n } else if (this.lastValue && this.type === 'month') {\n this.tableDate = sanitizeDateString(this.lastValue, 'year')\n }\n },\n value (newValue: DatePickerValue, oldValue: DatePickerValue) {\n this.checkMultipleProp()\n this.setInputDate()\n\n if (\n (!this.isMultiple && this.value && !this.pickerDate) ||\n (this.isMultiple && this.multipleValue.length && (!oldValue || !oldValue.length) && !this.pickerDate)\n ) {\n this.tableDate = sanitizeDateString(this.inputDate, this.type === 'month' ? 'year' : 'month')\n }\n },\n type (type: DatePickerType) {\n this.internalActivePicker = type.toUpperCase()\n\n if (this.value && this.value.length) {\n const output = this.multipleValue\n .map((val: string) => sanitizeDateString(val, type))\n .filter(this.isDateAllowed)\n this.$emit('input', this.isMultiple ? output : output[0])\n }\n },\n },\n\n created () {\n this.checkMultipleProp()\n\n if (this.pickerDate !== this.tableDate) {\n this.$emit('update:picker-date', this.tableDate)\n }\n this.setInputDate()\n },\n\n methods: {\n emitInput (newInput: string) {\n if (this.range) {\n if (this.multipleValue.length !== 1) {\n this.$emit('input', [newInput])\n } else {\n const output = [this.multipleValue[0], newInput]\n this.$emit('input', output)\n this.$emit('change', output)\n }\n return\n }\n\n const output = this.multiple\n ? (\n this.multipleValue.indexOf(newInput) === -1\n ? this.multipleValue.concat([newInput])\n : this.multipleValue.filter(x => x !== newInput)\n )\n : newInput\n\n this.$emit('input', output)\n this.multiple || this.$emit('change', newInput)\n },\n checkMultipleProp () {\n if (this.value == null) return\n const valueType = this.value.constructor.name\n const expected = this.isMultiple ? 'Array' : 'String'\n if (valueType !== expected) {\n consoleWarn(`Value must be ${this.isMultiple ? 'an' : 'a'} ${expected}, got ${valueType}`, this)\n }\n },\n isDateAllowed (value: string): boolean {\n return isDateAllowed(value, this.min, this.max, this.allowedDates)\n },\n yearClick (value: number) {\n this.inputYear = value\n if (this.type === 'month') {\n this.tableDate = `${value}`\n } else {\n this.tableDate = `${value}-${pad((this.tableMonth || 0) + 1)}`\n }\n this.internalActivePicker = 'MONTH'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n },\n monthClick (value: string) {\n const [year, month] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n\n if (this.type === 'date') {\n if (this.inputDay) {\n this.inputDay = Math.min(this.inputDay, daysInMonth(this.inputYear, this.inputMonth + 1))\n }\n\n this.tableDate = value\n this.internalActivePicker = 'DATE'\n if (this.reactive && !this.readonly && !this.isMultiple && this.isDateAllowed(this.inputDate)) {\n this.$emit('input', this.inputDate)\n }\n } else {\n this.emitInput(this.inputDate)\n }\n },\n dateClick (value: string) {\n const [year, month, day] = value.split('-')\n\n this.inputYear = parseInt(year, 10)\n this.inputMonth = parseInt(month, 10) - 1\n this.inputDay = parseInt(day, 10)\n\n this.emitInput(this.inputDate)\n },\n genPickerTitle (): VNode {\n return this.$createElement(VDatePickerTitle, {\n props: {\n date: this.value ? (this.formatters.titleDate as (value: any) => string)(this.isMultiple ? this.multipleValue : this.value) : '',\n disabled: this.disabled,\n readonly: this.readonly,\n selectingYear: this.internalActivePicker === 'YEAR',\n year: this.formatters.year(this.multipleValue.length ? `${this.inputYear}` : this.tableDate),\n yearIcon: this.yearIcon,\n value: this.multipleValue[0],\n },\n slot: 'title',\n on: {\n 'update:selecting-year': (value: boolean) => this.internalActivePicker = value ? 'YEAR' : this.type.toUpperCase(),\n },\n })\n },\n genTableHeader (): VNode {\n return this.$createElement(VDatePickerHeader, {\n props: {\n nextIcon: this.nextIcon,\n color: this.color,\n dark: this.dark,\n disabled: this.disabled,\n format: this.headerDateFormat,\n light: this.light,\n locale: this.locale,\n min: this.internalActivePicker === 'DATE' ? this.minMonth : this.minYear,\n max: this.internalActivePicker === 'DATE' ? this.maxMonth : this.maxYear,\n nextAriaLabel: this.internalActivePicker === 'DATE' ? this.nextMonthAriaLabel : this.nextYearAriaLabel,\n prevAriaLabel: this.internalActivePicker === 'DATE' ? this.prevMonthAriaLabel : this.prevYearAriaLabel,\n prevIcon: this.prevIcon,\n readonly: this.readonly,\n value: this.internalActivePicker === 'DATE' ? `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}` : `${pad(this.tableYear, 4)}`,\n },\n on: {\n toggle: () => this.internalActivePicker = (this.internalActivePicker === 'DATE' ? 'MONTH' : 'YEAR'),\n input: (value: string) => this.tableDate = value,\n },\n })\n },\n genDateTable (): VNode {\n return this.$createElement(VDatePickerDateTable, {\n props: {\n allowedDates: this.allowedDates,\n color: this.color,\n current: this.current,\n dark: this.dark,\n disabled: this.disabled,\n events: this.events,\n eventColor: this.eventColor,\n firstDayOfWeek: this.firstDayOfWeek,\n format: this.dayFormat,\n light: this.light,\n locale: this.locale,\n localeFirstDayOfYear: this.localeFirstDayOfYear,\n min: this.min,\n max: this.max,\n range: this.range,\n readonly: this.readonly,\n scrollable: this.scrollable,\n showAdjacentMonths: this.showAdjacentMonths,\n showWeek: this.showWeek,\n tableDate: `${pad(this.tableYear, 4)}-${pad(this.tableMonth + 1)}`,\n value: this.value,\n weekdayFormat: this.weekdayFormat,\n },\n ref: 'table',\n on: {\n input: this.dateClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':date'),\n },\n })\n },\n genMonthTable (): VNode {\n return this.$createElement(VDatePickerMonthTable, {\n props: {\n allowedDates: this.type === 'month' ? this.allowedDates : null,\n color: this.color,\n current: this.current ? sanitizeDateString(this.current, 'month') : null,\n dark: this.dark,\n disabled: this.disabled,\n events: this.type === 'month' ? this.events : null,\n eventColor: this.type === 'month' ? this.eventColor : null,\n format: this.monthFormat,\n light: this.light,\n locale: this.locale,\n min: this.minMonth,\n max: this.maxMonth,\n range: this.range,\n readonly: this.readonly && this.type === 'month',\n scrollable: this.scrollable,\n value: this.selectedMonths,\n tableDate: `${pad(this.tableYear, 4)}`,\n },\n ref: 'table',\n on: {\n input: this.monthClick,\n 'update:table-date': (value: string) => this.tableDate = value,\n ...createItemTypeListeners(this, ':month'),\n },\n })\n },\n genYears (): VNode {\n return this.$createElement(VDatePickerYears, {\n props: {\n color: this.color,\n format: this.yearFormat,\n locale: this.locale,\n min: this.minYear,\n max: this.maxYear,\n value: this.tableYear,\n },\n on: {\n input: this.yearClick,\n ...createItemTypeListeners(this, ':year'),\n },\n })\n },\n genPickerBody (): VNode {\n const children = this.internalActivePicker === 'YEAR' ? [\n this.genYears(),\n ] : [\n this.genTableHeader(),\n this.internalActivePicker === 'DATE' ? this.genDateTable() : this.genMonthTable(),\n ]\n\n return this.$createElement('div', {\n key: this.internalActivePicker,\n }, children)\n },\n setInputDate () {\n if (this.lastValue) {\n const array = this.lastValue.split('-')\n this.inputYear = parseInt(array[0], 10)\n this.inputMonth = parseInt(array[1], 10) - 1\n if (this.type === 'date') {\n this.inputDay = parseInt(array[2], 10)\n }\n } else {\n this.inputYear = this.inputYear || this.now.getFullYear()\n this.inputMonth = this.inputMonth == null ? this.inputMonth : this.now.getMonth()\n this.inputDay = this.inputDay || this.now.getDate()\n }\n },\n },\n\n render (): VNode {\n return this.genPicker('v-picker--date')\n },\n})\n"],"sourceRoot":"","file":"VDatePicker.js"}
|
|
@@ -107,15 +107,15 @@ var _default = baseMixins.extend({
|
|
|
107
107
|
},
|
|
108
108
|
watch: {
|
|
109
109
|
isActive: function isActive(val) {
|
|
110
|
+
var _a;
|
|
111
|
+
|
|
110
112
|
if (val) {
|
|
111
113
|
this.show();
|
|
112
114
|
this.hideScroll();
|
|
113
115
|
} else {
|
|
114
|
-
var _this$previousActiveE;
|
|
115
|
-
|
|
116
116
|
this.removeOverlay();
|
|
117
117
|
this.unbind();
|
|
118
|
-
(
|
|
118
|
+
(_a = this.previousActiveElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
119
119
|
}
|
|
120
120
|
},
|
|
121
121
|
fullscreen: function fullscreen(val) {
|
|
@@ -184,10 +184,11 @@ var _default = baseMixins.extend({
|
|
|
184
184
|
|
|
185
185
|
this.$nextTick(function () {
|
|
186
186
|
_this3.$nextTick(function () {
|
|
187
|
-
|
|
188
|
-
_this3.previousActiveElement = document.activeElement;
|
|
187
|
+
var _a, _b;
|
|
189
188
|
|
|
190
|
-
|
|
189
|
+
if (!((_a = _this3.$refs.dialog) === null || _a === void 0 ? void 0 : _a.contains(document.activeElement))) {
|
|
190
|
+
_this3.previousActiveElement = document.activeElement;
|
|
191
|
+
(_b = _this3.$refs.dialog) === null || _b === void 0 ? void 0 : _b.focus();
|
|
191
192
|
}
|
|
192
193
|
|
|
193
194
|
_this3.bind();
|
|
@@ -230,23 +231,23 @@ var _default = baseMixins.extend({
|
|
|
230
231
|
if (!e || !this.retainFocus) return;
|
|
231
232
|
var target = e.target;
|
|
232
233
|
|
|
233
|
-
if (!!target && // It isn't the document or the dialog body
|
|
234
|
-
![document, this.$refs.
|
|
235
|
-
!this.$refs.
|
|
234
|
+
if (!!target && this.$refs.dialog && // It isn't the document or the dialog body
|
|
235
|
+
![document, this.$refs.dialog].includes(target) && // It isn't inside the dialog body
|
|
236
|
+
!this.$refs.dialog.contains(target) && // We're the topmost dialog
|
|
236
237
|
this.activeZIndex >= this.getMaxZIndex() && // It isn't inside a dependent element (like a menu)
|
|
237
238
|
!this.getOpenDependentElements().some(function (el) {
|
|
238
239
|
return el.contains(target);
|
|
239
240
|
}) // So we must have focused something outside the dialog and its children
|
|
240
241
|
) {
|
|
241
|
-
|
|
242
|
-
|
|
242
|
+
// Find and focus the first available element inside the dialog
|
|
243
|
+
var focusable = this.$refs.dialog.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
|
|
243
244
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
245
|
+
var el = _toConsumableArray(focusable).find(function (el) {
|
|
246
|
+
return !el.hasAttribute('disabled');
|
|
247
|
+
});
|
|
247
248
|
|
|
248
|
-
|
|
249
|
-
|
|
249
|
+
el && el.focus();
|
|
250
|
+
}
|
|
250
251
|
},
|
|
251
252
|
genContent: function genContent() {
|
|
252
253
|
var _this4 = this;
|
|
@@ -262,7 +263,6 @@ var _default = baseMixins.extend({
|
|
|
262
263
|
class: _this4.contentClasses,
|
|
263
264
|
attrs: _objectSpread({
|
|
264
265
|
role: 'dialog',
|
|
265
|
-
tabindex: _this4.isActive ? 0 : undefined,
|
|
266
266
|
'aria-modal': _this4.hideOverlay ? undefined : 'true'
|
|
267
267
|
}, _this4.getScopeIdAttrs()),
|
|
268
268
|
on: {
|
|
@@ -289,6 +289,9 @@ var _default = baseMixins.extend({
|
|
|
289
289
|
genInnerContent: function genInnerContent() {
|
|
290
290
|
var data = {
|
|
291
291
|
class: this.classes,
|
|
292
|
+
attrs: {
|
|
293
|
+
tabindex: this.isActive ? 0 : undefined
|
|
294
|
+
},
|
|
292
295
|
ref: 'dialog',
|
|
293
296
|
directives: [{
|
|
294
297
|
name: 'click-outside',
|