@dimailn/vuetify 2.7.2-alpha5 → 2.7.2-alpha7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/vuetify.js +49 -32
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VAutocomplete/VAutocomplete.js +1 -1
  6. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  7. package/es5/components/VData/VData.js +14 -2
  8. package/es5/components/VData/VData.js.map +1 -1
  9. package/es5/components/VDataIterator/VDataIterator.js +1 -1
  10. package/es5/components/VDataIterator/VDataIterator.js.map +1 -1
  11. package/es5/components/VDataTable/VDataTable.js +1 -1
  12. package/es5/components/VDataTable/VDataTable.js.map +1 -1
  13. package/es5/components/VDataTable/VVirtualTable.js +1 -1
  14. package/es5/components/VDataTable/VVirtualTable.js.map +1 -1
  15. package/es5/components/VDialog/VDialog.js +1 -1
  16. package/es5/components/VDialog/VDialog.js.map +1 -1
  17. package/es5/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
  18. package/es5/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  19. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
  20. package/es5/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  21. package/es5/components/VInput/VInput.js +1 -1
  22. package/es5/components/VInput/VInput.js.map +1 -1
  23. package/es5/components/VList/VListGroup.js +1 -1
  24. package/es5/components/VList/VListGroup.js.map +1 -1
  25. package/es5/components/VMenu/VMenu.js +1 -1
  26. package/es5/components/VMenu/VMenu.js.map +1 -1
  27. package/es5/components/VStepper/VStepperContent.js +1 -1
  28. package/es5/components/VStepper/VStepperContent.js.map +1 -1
  29. package/es5/components/VStepper/VStepperStep.js +1 -1
  30. package/es5/components/VStepper/VStepperStep.js.map +1 -1
  31. package/es5/components/VTextField/VTextField.js +1 -1
  32. package/es5/components/VTextField/VTextField.js.map +1 -1
  33. package/es5/components/VTreeview/VTreeviewNode.js +1 -1
  34. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  35. package/es5/framework.js +1 -1
  36. package/es5/mixins/activatable/index.js +9 -4
  37. package/es5/mixins/activatable/index.js.map +1 -1
  38. package/es5/mixins/applicationable/index.js +1 -1
  39. package/es5/mixins/applicationable/index.js.map +1 -1
  40. package/es5/mixins/detachable/index.js +3 -3
  41. package/es5/mixins/detachable/index.js.map +1 -1
  42. package/es5/mixins/groupable/index.js +1 -1
  43. package/es5/mixins/groupable/index.js.map +1 -1
  44. package/es5/mixins/intersectable/index.js +1 -1
  45. package/es5/mixins/intersectable/index.js.map +1 -1
  46. package/es5/mixins/menuable/index.js +1 -1
  47. package/es5/mixins/menuable/index.js.map +1 -1
  48. package/es5/mixins/overlayable/index.js +1 -1
  49. package/es5/mixins/overlayable/index.js.map +1 -1
  50. package/es5/mixins/translatable/index.js +1 -1
  51. package/es5/mixins/translatable/index.js.map +1 -1
  52. package/es5/mixins/validatable/index.js +2 -2
  53. package/es5/mixins/validatable/index.js.map +1 -1
  54. package/lib/components/VAutocomplete/VAutocomplete.js +1 -1
  55. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  56. package/lib/components/VData/VData.js +15 -2
  57. package/lib/components/VData/VData.js.map +1 -1
  58. package/lib/components/VDataIterator/VDataIterator.js +1 -1
  59. package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
  60. package/lib/components/VDataTable/VDataTable.js +1 -1
  61. package/lib/components/VDataTable/VDataTable.js.map +1 -1
  62. package/lib/components/VDataTable/VVirtualTable.js +1 -1
  63. package/lib/components/VDataTable/VVirtualTable.js.map +1 -1
  64. package/lib/components/VDialog/VDialog.js +1 -1
  65. package/lib/components/VDialog/VDialog.js.map +1 -1
  66. package/lib/components/VExpansionPanel/VExpansionPanelContent.js +1 -1
  67. package/lib/components/VExpansionPanel/VExpansionPanelContent.js.map +1 -1
  68. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js +1 -1
  69. package/lib/components/VExpansionPanel/VExpansionPanelHeader.js.map +1 -1
  70. package/lib/components/VInput/VInput.js +1 -1
  71. package/lib/components/VInput/VInput.js.map +1 -1
  72. package/lib/components/VList/VListGroup.js +1 -1
  73. package/lib/components/VList/VListGroup.js.map +1 -1
  74. package/lib/components/VMenu/VMenu.js +1 -1
  75. package/lib/components/VMenu/VMenu.js.map +1 -1
  76. package/lib/components/VStepper/VStepperContent.js +1 -1
  77. package/lib/components/VStepper/VStepperContent.js.map +1 -1
  78. package/lib/components/VStepper/VStepperStep.js +1 -1
  79. package/lib/components/VStepper/VStepperStep.js.map +1 -1
  80. package/lib/components/VTextField/VTextField.js +1 -1
  81. package/lib/components/VTextField/VTextField.js.map +1 -1
  82. package/lib/components/VTreeview/VTreeviewNode.js +1 -1
  83. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  84. package/lib/framework.js +1 -1
  85. package/lib/mixins/activatable/index.js +10 -5
  86. package/lib/mixins/activatable/index.js.map +1 -1
  87. package/lib/mixins/applicationable/index.js +1 -1
  88. package/lib/mixins/applicationable/index.js.map +1 -1
  89. package/lib/mixins/detachable/index.js +3 -3
  90. package/lib/mixins/detachable/index.js.map +1 -1
  91. package/lib/mixins/groupable/index.js +1 -1
  92. package/lib/mixins/groupable/index.js.map +1 -1
  93. package/lib/mixins/intersectable/index.js +1 -1
  94. package/lib/mixins/intersectable/index.js.map +1 -1
  95. package/lib/mixins/menuable/index.js +1 -1
  96. package/lib/mixins/menuable/index.js.map +1 -1
  97. package/lib/mixins/overlayable/index.js +1 -1
  98. package/lib/mixins/overlayable/index.js.map +1 -1
  99. package/lib/mixins/translatable/index.js +1 -1
  100. package/lib/mixins/translatable/index.js.map +1 -1
  101. package/lib/mixins/validatable/index.js +2 -2
  102. package/lib/mixins/validatable/index.js.map +1 -1
  103. package/package.json +1 -1
  104. package/src/components/VAutocomplete/VAutocomplete.ts +1 -1
  105. package/src/components/VData/VData.ts +12 -1
  106. package/src/components/VDataIterator/VDataIterator.ts +1 -1
  107. package/src/components/VDataTable/VDataTable.ts +1 -1
  108. package/src/components/VDataTable/VVirtualTable.ts +1 -1
  109. package/src/components/VDialog/VDialog.ts +1 -1
  110. package/src/components/VExpansionPanel/VExpansionPanelContent.ts +1 -1
  111. package/src/components/VExpansionPanel/VExpansionPanelHeader.ts +1 -1
  112. package/src/components/VInput/VInput.ts +1 -1
  113. package/src/components/VList/VListGroup.ts +1 -1
  114. package/src/components/VMenu/VMenu.ts +1 -0
  115. package/src/components/VStepper/VStepperContent.ts +1 -1
  116. package/src/components/VStepper/VStepperStep.ts +1 -1
  117. package/src/components/VTextField/VTextField.ts +1 -1
  118. package/src/components/VTreeview/VTreeviewNode.ts +1 -1
  119. package/src/mixins/activatable/index.ts +8 -4
  120. package/src/mixins/applicationable/index.ts +1 -1
  121. package/src/mixins/detachable/index.ts +5 -5
  122. package/src/mixins/groupable/index.ts +1 -1
  123. package/src/mixins/intersectable/index.ts +1 -1
  124. package/src/mixins/menuable/index.ts +1 -1
  125. package/src/mixins/overlayable/index.ts +1 -1
  126. package/src/mixins/translatable/index.ts +1 -1
  127. package/src/mixins/validatable/index.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDataTable/VDataTable.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAGA;;AAkBA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;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,EAME,UANF,EAMiC;AAE/B,EAAA,MAAM,GAAG,OAAO,MAAP,KAAkB,QAAlB,GAA6B,MAAM,CAAC,IAAP,EAA7B,GAA6C,IAAtD;;AAEA,MAAI,UAAU,KAAK,OAAnB,EAA4B;AAC1B;AACA,QAAI,EAAE,MAAM,IAAI,2BAA2B,CAAC,MAAxC,KAAmD,CAAC,wBAAwB,CAAC,MAAjF,EAAyF,OAAO,KAAP;AAEzF,WAAO,KAAK,CAAC,MAAN,CAAa,UAAA,IAAI,EAAG;AACzB;AACA,UAAI,wBAAwB,CAAC,MAAzB,IAAmC,wBAAwB,CAAC,KAAzB,CAA+B,QAAQ,CAAC,IAAD,EAAO,MAAP,EAAe,sBAAf,CAAvC,CAAvC,EAA8G;AAC5G,eAAO,IAAP;AACD,OAJwB,CAMzB;;;AACA,aAAQ,MAAM,IAAI,2BAA2B,CAAC,IAA5B,CAAiC,QAAQ,CAAC,IAAD,EAAO,MAAP,EAAe,YAAf,CAAzC,CAAlB;AACD,KARM,CAAP;AASD,GAbD,MAaO,IAAI,UAAU,KAAK,cAAnB,EAAmC;AACxC,WAAO,KAAK,CAAC,MAAN,CAAa,UAAA,IAAI,EAAG;AACzB;AACA;AACA,UAAM,oBAAoB,GAAG,wBAAwB,CAAC,KAAzB,CAA+B,QAAQ,CAAC,IAAD,EAAO,MAAP,EAAe,sBAAf,CAAvC,CAA7B,CAHyB,CAKzB;AACA;;AACA,UAAM,iBAAiB,GAAG,CAAC,MAAD,IAAW,2BAA2B,CAAC,IAA5B,CAAiC,QAAQ,CAAC,IAAD,EAAO,MAAP,EAAe,YAAf,CAAzC,CAArC;AAEA,aAAO,oBAAoB,IAAI,iBAA/B;AACD,KAVM,CAAP;AAWD,GAZM,MAYA;AACL,WAAO,KAAP;AACD;AACF;AAED;;;gBACe,qBACb,4BADa,EAEb,iBAFa,EAGb,cAHa,EAIb,MAJa,CAIN;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,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC,KA3BP;AA+BL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CADG;AAET,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFA,KA/BN;AAmCL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CADG;AAET,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFA,KAnCN;AAuCL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADM;AAEZ,MAAA,OAAO,EAAE;AAFG;AAvCT,GARA;AAqDP,EAAA,IArDO,kBAqDH;AACF,WAAO;AACL,MAAA,eAAe,EAAE,EADZ;AAEL,MAAA,SAAS,EAAE,EAFN;AAGL,MAAA,MAAM,EAAE;AAHH,KAAP;AAKD,GA3DM;AA6DP,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,KArDO;AAsDR,IAAA,WAtDQ,yBAsDG;AAAA;;;;AACT,aAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,OAAL,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAE,IAAF,CAAO,UAAA,MAAM,EAAG;AAAA,YAAA,EAAA;;AAAC,eAAA,MAAM,CAAC,KAAP,MAAiB,CAAA,EAAA,GAAA,MAAI,CAAC,eAAL,MAAoB,IAApB,IAAoB,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoB,EAAA,CAAG,CAAH,CAArC,CAAA;AAA0C,OAA3D,CAAZ,MAAwE,IAAxE,IAAwE,EAAA,KAAA,KAAA,CAAxE,GAAwE,KAAA,CAAxE,GAAwE,EAAA,CAAE,IAA1E,MAA8E,IAA9E,IAA8E,EAAA,KAAA,KAAA,CAA9E,GAA8E,EAA9E,GAAkF,EAAzF;AACD;AAxDO,GA7DH;AAwHP,EAAA,OAxHO,qBAwHA;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,GAnIM;AAqIP,EAAA,OArIO,qBAqIA;AACL;AACA;AACA;AACA;AAEA,QAAI,KAAK,eAAT,EAA0B;AACxB,MAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,KAAK,UAAvC;AACA,WAAK,UAAL;AACD;AACF,GA/IM;AAiJP,EAAA,aAjJO,2BAiJM;AACX,QAAI,KAAK,eAAT,EAA0B;AACxB,MAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,KAAK,UAA1C;AACD;AACF,GArJM;AAuJP,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,CACrB,KADqB,EAErB,MAFqB,EAGrB,KAAK,wBAHgB,EAIrB,KAAK,2BAJgB,EAKrB,KAAK,YALgB,EAMrB,KAAK,UANgB,CAAvB;AAQD,KAbM;AAcP,IAAA,qBAdO,iCAcgB,KAdhB,EAc8B,MAd9B,EAcgD,QAdhD,EAcqE,MAdrE,EAcmF;AACxF,aAAO,KAAK,UAAL,CAAgB,KAAhB,EAAuB,MAAvB,EAA+B,QAA/B,EAAyC,MAAzC,EAAiD,KAAK,aAAtD,CAAP;AACD,KAhBM;AAiBP,IAAA,eAjBO,2BAiBU,IAjBV,EAiBqB,KAjBrB,EAiBkC;AAAA;;AACvC,UAAM,IAAI,mCACL,6BAAc,OAAd,CAAsB,eAAtB,CAAsC,IAAtC,CAA2C,IAA3C,EAAiD,IAAjD,EAAuD,KAAvD,CADK;AAER,QAAA,OAAO,EAAE,KAAK;AAFN,QAAV;;AAKA,2DACK,IADL;AAEE,QAAA,KAAK,EAAE;AACL,oCAA0B,IAAI,CAAC;AAD1B;AAFT,SAKK,KAAK,4BAAL,CAAkC,MAAlC,EAA0C;AAAA,eAAM,IAAN;AAAA,OAA1C,EAAsD,IAAtD,CALL;AAME;AACA;AACA,QAAA,OAAO,EAAE,iBAAC,KAAD;AAAA,iBAAuB,MAAI,CAAC,KAAL,CAAW,WAAX,EAAwB,IAAxB,EAA8B,IAA9B,EAAoC,KAApC,CAAvB;AAAA;AARX;AAUD,KAjCM;AAkCP,IAAA,UAlCO,sBAkCK,KAlCL,EAkC0B;AAC/B,UAAI,KAAK,OAAT,EAAkB,OAAO,CAAC,YAAE,SAAF,EAAa,CAAC,KAAK,OAAN,CAAb,CAAD,CAAP;AAElB,aAAO,sBAAQ,IAAR,EAAc,SAAd,EAAyB,KAAzB,EAAgC,IAAhC,CAAP;AACD,KAtCM;AAuCP,IAAA,WAvCO,uBAuCM,KAvCN,EAuC2B;AAChC,aAAO,YAAE,UAAF,EAAc,KAAK,eAAL,CAAqB,GAArB,CAAyB,UAAA,MAAM,EAAG;AACrD,eAAO,YAAE,KAAF,EAAS;AACd,UAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,MAAM,CAAC;AADX;AADO,SAAT,CAAP;AAKD,OANoB,CAAd,CAAP;AAOD,KA/CM;AAgDP,IAAA,UAhDO,wBAgDG;AACR,UAAM,EAAE,GAAG,YAAE,IAAF,EAAQ;AACjB,QAAA,KAAK,EAAE,QADU;AAEjB,QAAA,KAAK,EAAE,KAAK;AAFK,OAAR,EAGR,CAAC,KAAK,WAAL,EAAD,CAHQ,CAAX;AAKA,UAAM,EAAE,GAAG,YAAE,IAAF,EAAQ;AACjB,QAAA,KAAK,EAAE;AADU,OAAR,EAER,CAAC,EAAD,CAFQ,CAAX;AAIA,aAAO,YAAE,OAAF,EAAW,CAAC,EAAD,CAAX,CAAP;AACD,KA3DM;AA4DP,IAAA,UA5DO,sBA4DK,KA5DL,EA4D0B;AAC/B,UAAM,IAAI,mCACL,KAAK,oBADA;AAER,QAAA,OAAO,EAAE,KAAK,eAFN;AAGR,QAAA,OAAO,EAAE,KAAK,CAAC,OAHP;AAIR,QAAA,MAAM,EAAE,KAAK,QAJL;AAKR,QAAA,WAAW,EAAE,KAAK,WALV;AAMR,QAAA,aAAa,EAAE,KAAK,aANZ;AAOR,QAAA,SAAS,EAAE,KAAK,SAPR;AAQR,QAAA,SAAS,EAAE,KAAK,SARR;AASR,QAAA,YAAY,EAAE,KAAK,YATX;AAUR,QAAA,WAAW,EAAE,KAAK,WAVV;AAWR,QAAA,MAAM,EAAE,KAAK,CAAC,IAXN;AAYR,QAAA,OAAO,EAAE,KAAK,CAAC,KAZP;AAaR,+BAAuB,KAAK;AAbpB,QAAV,CAD+B,CAkB/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,MAAvC,CAApB;AACA,QAAA,QAAQ,CAAC,IAAT,CAAc,YAAE,yBAAF,oBACT,IADS,GAGX,WAHW,CAAd;AAID;;AAED,UAAI,KAAK,OAAT,EAAkB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAElB,aAAO,QAAP;AACD,KA/FM;AAgGP,IAAA,eAhGO,2BAgGU,OAhGV,EAgG6C;AAClD,aAAO,YAAE,IAAF,EAAQ;AACb,QAAA,KAAK,EAAE;AADM,OAAR,EAEJ,CACD,YAAE,IAAF,EAAQ;AACN,QAAA,KAAK,EAAE,KAAK;AADN,OAAR,EAEG,OAFH,CADC,CAFI,CAAP;AAOD,KAxGM;AAyGP,IAAA,QAzGO,oBAyGG,KAzGH,EAyGiB,KAzGjB,EAyGsC;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,KAhHM;AAiHP,IAAA,cAjHO,0BAiHS,YAjHT,EAiHyC,KAjHzC,EAiH8D;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,SAAL,CAAe,KAAK,CAAC,IAArB,IAA6B,IAA7B;;AAEhD,YAAI,MAAI,CAAC,MAAL,CAAY,KAAhB,EAAuB;AACrB,iBAAO,MAAI,CAAC,MAAL,CAAY,KAAZ,CAAkB;AACvB,YAAA,KAAK,EAAE,KAAK,CAAC,IADU;AAEvB,YAAA,OAAO,EAAE,KAAK,CAAC,OAFQ;AAGvB,YAAA,QAAQ,EAAE,MAAI,CAAC,QAHQ;AAIvB,YAAA,KAAK,EAAE,KAAK,CAAC,KAJU;AAKvB,YAAA,OAAO,EAAE,MAAI,CAAC;AALS,WAAlB,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,KAjIM;AAkIP,IAAA,oBAlIO,gCAkIe,KAlIf,EAkI8B,KAlI9B,EAkI4C,KAlI5C,EAkIiE;AAAA;;AACtE,UAAM,MAAM,GAAG,CAAC,CAAC,KAAK,SAAL,CAAe,KAAf,CAAjB;AACA,UAAM,QAAQ,GAAkB,CAC9B,YAAE,UAAF,EAAc;AAAE,QAAA,IAAI,EAAE;AAAR,OAAd,EAAuC,KAAK,OAAL,CAAa,KAAb,EAAoB,KAApB,CAAvC,CAD8B,CAAhC;;AAGA,UAAM,QAAQ,GAAG,SAAX,QAAW;AAAA,eAAM,MAAI,CAAC,SAAL,CAAe,KAAf,IAAwB,CAAC,MAAI,CAAC,SAAL,CAAe,KAAf,CAA/B;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,MAAL,CAAY,cAAZ,CAAJ,EAAiC;AAC/B,QAAA,QAAQ,CAAC,OAAT,CAAiB,YAAE,UAAF,EAAc;AAAE,UAAA,IAAI,EAAE;AAAR,SAAd,EAAyC,CACxD,KAAK,MAAL,CAAY,cAAZ,EAA6B;AAC3B,UAAA,KAAK,EAAL,KAD2B;AAE3B,UAAA,OAAO,EAAE,KAAK,CAAC,OAFY;AAG3B,UAAA,QAAQ,EAAE,KAAK,QAHY;AAI3B,UAAA,KAAK,EAAL,KAJ2B;AAK3B,UAAA,OAAO,EAAE,KAAK,eALa;AAM3B,UAAA,MAAM,EAAN,MAN2B;AAO3B,UAAA,MAAM,EAAE,QAPmB;AAQ3B,UAAA,MAAM,EAAE;AARmB,SAA7B,CADwD,CAAzC,CAAjB;AAYD,OAbD,MAaO;AACL,YAAM,MAAM,GAAG,YAAE,aAAF,EAAQ;AACrB,UAAA,KAAK,EAAE,MADc;AAErB,UAAA,IAAI,EAAE,IAFe;AAGrB,UAAA,KAAK,EAAE,IAHc;AAIrB,UAAA,OAAO,EAAE;AAJY,SAAR,EAKZ,CAAC,YAAE,cAAF,EAAS,CAAC,MAAM,GAAG,QAAH,GAAc,OAArB,CAAT,CAAD,CALY,CAAf;AAOA,YAAM,MAAM,GAAG,YAAE,aAAF,EAAQ;AACrB,UAAA,KAAK,EAAE,MADc;AAErB,UAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,IADD;AAEL,YAAA,KAAK,EAAE;AAFF,WAFc;AAMrB,UAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE;AADL;AANiB,SAAR,EASZ,CAAC,YAAE,cAAF,EAAS,CAAC,QAAD,CAAT,CAAD,CATY,CAAf;AAWA,YAAM,MAAM,GAAG,YAAE,IAAF,EAAQ;AACrB,UAAA,KAAK,EAAE,YADc;AAErB,UAAA,KAAK,EAAE,KAAK;AAFS,SAAR,EAGZ,CAAC,MAAD,YAAY,KAAK,WAAjB,eAAiC,KAAjC,GAA0C,MAA1C,CAHY,CAAf;AAKA,QAAA,QAAQ,CAAC,OAAT,CAAiB,YAAE,UAAF,EAAc;AAAE,UAAA,IAAI,EAAE;AAAR,SAAd,EAAyC,CAAC,MAAD,CAAzC,CAAjB;AACD;;AAED,UAAI,KAAK,MAAL,CAAY,eAAZ,CAAJ,EAAkC;AAChC,QAAA,QAAQ,CAAC,IAAT,CAAc,YAAE,UAAF,EAAc;AAAE,UAAA,IAAI,EAAE;AAAR,SAAd,EAA0C,CACtD,KAAK,MAAL,CAAY,eAAZ,EAA8B;AAC5B,UAAA,KAAK,EAAL,KAD4B;AAE5B,UAAA,OAAO,EAAE,KAAK,CAAC,OAFa;AAG5B,UAAA,QAAQ,EAAE,KAAK,QAHa;AAI5B,UAAA,KAAK,EAAL,KAJ4B;AAK5B,UAAA,OAAO,EAAE,KAAK,eALc;AAM5B,UAAA,MAAM,EAAN,MAN4B;AAO5B,UAAA,MAAM,EAAE;AAPoB,SAA9B,CADsD,CAA1C,CAAd;AAWD;;AAED,aAAO,YAAE,iBAAF,EAAY;AACjB,QAAA,GAAG,EAAE,KADY;AAEjB,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE;AADF;AAFU,OAAZ,EAKJ,QALI,CAAP;AAMD,KAtMM;AAuMP,IAAA,OAvMO,mBAuME,KAvMF,EAuMgB,KAvMhB,EAuMqC;AAC1C,aAAO,KAAK,MAAL,CAAY,IAAZ,GAAmB,KAAK,aAAL,CAAmB,KAAnB,EAA0B,KAA1B,CAAnB,GAAsD,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAA3B,CAA7D;AACD,KAzMM;AA0MP,IAAA,aA1MO,yBA0MQ,KA1MR,EA0MsB,KA1MtB,EA0M2C;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,MAAL,CAAY,IAAZ,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,MAAL,CAAY,eAAZ,EAA8B;AACtC,YAAA,OAAO,EAAE,KAAK,eADwB;AAEtC,YAAA,QAAQ,EAAE,KAAK,QAFuB;AAGtC,YAAA,KAAK,EAAE,CAH+B;AAItC,YAAA,IAAI,EAAJ;AAJsC,WAA9B,CAAV;AAMD;AACF;;AAED,aAAO,IAAP;AACD,KA/NM;AAgOP,IAAA,cAhOO,0BAgOS,KAhOT,EAgOuB,KAhOvB,EAgO4C;AAAA;;AACjD,aAAO,KAAK,MAAL,CAAY,eAAZ,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,KApOM;AAqOP,IAAA,qBArOO,iCAqOgB,IArOhB,EAqO2B,KArO3B,EAqOwC;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,YAAE,IAAF,EAAQ;AAC1B,QAAA,KAAK,EAAE;AADmB,OAAR,EAEjB,CAAC,KAAK,MAAL,CAAY,eAAZ,EAA8B;AAChC,QAAA,OAAO,EAAE,KAAK,eADkB;AAEhC,QAAA,QAAQ,EAAE,KAAK,QAFiB;AAGhC,QAAA,IAAI,EAAJ;AAHgC,OAA9B,CAAD,CAFiB,CAApB;AAQA,aAAO,YAAE,iBAAF,EAAY;AACjB,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE;AADF;AADU,OAAZ,EAIJ,CACD,YAAE,UAAF,EAAc;AAAE,QAAA,IAAI,EAAE;AAAR,OAAd,EAAsC,CAAC,SAAD,CAAtC,CADC,EAED,YAAE,UAAF,EAAc;AAAE,QAAA,IAAI,EAAE;AAAR,OAAd,EAAuC,CAAC,WAAD,CAAvC,CAFC,CAJI,CAAP;AAQD,KA3PM;AA4PP,IAAA,mBA5PO,+BA4Pc,IA5Pd,EA4PyB,KA5PzB,EA4P6E;AAAA;;AAAA,UAArC,OAAqC,uEAAF,EAAE;AAClF,UAAM,WAAW,GAAG,qCAAuB,OAAvB,EAAgC,KAAK,MAArC,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,YAAK;;;AAAC,iBAAA,YAAE,wBAAF,EAAmB;AAC5B,YAAA,KAAK,EAAE,wBADqB;AAE5B,YAAA,KAAK,EAAE,IAAI,CAAC,UAFgB;AAG5B,YAAA,QAAQ,EAAE,CAAC,MAAI,CAAC,YAAL,CAAkB,IAAlB,CAHiB;AAI5B,YAAA,KAAK,EAAE,CAAA,EAAA,GAAA,MAAI,CAAC,aAAL,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,EAAlB,GAAsB,EAJD;AAK5B,YAAA,OAAO,EAAE,iBAAC,GAAD;AAAA,qBAAkB,IAAI,CAAC,MAAL,CAAY,GAAZ,CAAlB;AAAA;AALmB,WAAnB,CAAA;AAMT,SATF;AAUD;;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,YAAE,cAAF,EAAS;AAC1E,YAAA,KAAK,EAAE,CAAC,2BAAD,EAA8B;AACnC,mDAAqC,IAAI,CAAC;AADP,aAA9B,CADmE;AAI1E,YAAA,OAAO,EAAE,iBAAC,CAAD,EAAkB;AACzB,cAAA,CAAC,CAAC,eAAF;AACA,cAAA,IAAI,CAAC,MAAL,CAAY,CAAC,IAAI,CAAC,UAAlB;AACD;AAPyE,WAAT,EAQhE,CAAC,MAAI,CAAC,UAAN,CARgE,CAAN;AAAA,SAA7D;AASD;;AAED,aAAO,YAAE,KAAK,QAAL,GAAgB,kBAAhB,GAA4B,YAA9B,EAAmC;AACxC,QAAA,GAAG,EAAE,mCAAqB,IAArB,EAA2B,KAAK,OAAhC,CADmC;AAExC,QAAA,KAAK,EAAE,6DACA,OADA;AACS,oCAA0B,IAAI,CAAC;AADxC,YAEL,kCAAoB,IAApB,EAA0B,KAAK,SAA/B,CAFK,CAFiC;AAMxC,QAAA,KAAK,EAAE,4BAAY,EAAZ,EAAgB,kCAAoB,IAApB,EAA0B,KAAK,SAA/B,CAAhB,CANiC;AAOxC,QAAA,OAAO,EAAE,KAAK,eAP0B;AAQxC,QAAA,iBAAiB,EAAE,KAAK,iBARgB;AASxC,QAAA,KAAK,EAAL,KATwC;AAUxC,QAAA,IAAI,EAAJ,IAVwC;AAWxC,QAAA,GAAG,EAAE,KAAK,QAAL,CAAc,GAXqB;AAYxC,QAAA,EAAE,EAAE,IAAI,CAAC;AAZ+B,OAAnC,EAaJ,WAbI,CAAP;AAcD,KA1SM;AA2SP,IAAA,OA3SO,mBA2SE,KA3SF,EA2SuB;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,MAAL,CAAY,IAAhB,EAAsB;AACpB,eAAO,KAAK,MAAL,CAAY,IAAZ,CAAkB,IAAlB,CAAP;AACD;;AAED,aAAO,YAAE,OAAF,EAAW,CAChB,sBAAQ,IAAR,EAAc,cAAd,EAA8B,IAA9B,EAAoC,IAApC,CADgB,EAEhB,KAAK,QAAL,CAAc,KAAK,CAAC,KAApB,EAA2B,KAA3B,CAFgB,EAGhB,sBAAQ,IAAR,EAAc,aAAd,EAA6B,IAA7B,EAAmC,IAAnC,CAHgB,CAAX,CAAP;AAKD,KA/TM;AAgUP,IAAA,OAhUO,mBAgUE,KAhUF,EAgUuB;;;AAC5B,aAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,MAAL,EAAY,IAAZ,MAAgB,IAAhB,IAAgB,EAAA,KAAA,KAAA,CAAhB,GAAgB,KAAA,CAAhB,GAAgB,EAAA,CAAA,IAAA,CAAA,EAAA,EAAG,KAAH,CAAvB;AACD,KAlUM;AAmUP,IAAA,UAnUO,sBAmUK,KAnUL,EAmU0B;AAC/B,UAAM,IAAI;AACR,QAAA,OAAO,EAAE,KAAK,CAAC,OADP;AAER,QAAA,UAAU,EAAE,KAAK,CAAC,UAFV;AAGR,QAAA,gBAAgB,EAAE;AAHV,SAIL,KAAK,oBAJA;AAKR,4BAAoB,yBAAC,KAAD;AAAA,iBAAgB,KAAK,CAAC,aAAN,CAAoB,KAApB,CAAhB;AAAA;AALZ,QAAV;;AAQA,UAAM,QAAQ,GAAkB,CAC9B,sBAAQ,IAAR,EAAc,QAAd,kCACK,IADL;AAEE,QAAA,MAAM,EAAE,KAAK,MAFf;AAGE,QAAA,OAAO,EAAE,KAAK;AAHhB,UAIG,IAJH,CAD8B,CAAhC;;AAQA,UAAI,CAAC,KAAK,iBAAV,EAA6B;AAC3B,QAAA,QAAQ,CAAC,IAAT,CAAc,YAAE,0BAAF,oBACT,IADS,GAEX,qCAAuB,SAAvB,EAAkC,KAAK,MAAvC,CAFW,CAAd;AAGD;;AAED,aAAO,QAAP;AACD,KA3VM;AA4VP,IAAA,oBA5VO,gCA4Ve,KA5Vf,EA4VoC;AAAA;;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,YAAE,qBAAF,kCACF,WADE;AAEL,QAAA,KAAK,EAAE;AACL,kCAAwB,KAAK,QADxB;AAEL,sCAA4B,KAAK;AAF5B;AAFF,UAMJ;AACD,QAAA,OAAO,EAAE;AAAA,iBAAM,CACb,MAAI,CAAC,UAAL,CAAgB,KAAhB,CADa,EAEb,MAAI,CAAC,WAAL,CAAiB,KAAjB,CAFa,EAGb,MAAI,CAAC,UAAL,CAAgB,KAAhB,CAHa,EAIb,MAAI,CAAC,OAAL,CAAa,KAAb,CAJa,EAKb,MAAI,CAAC,OAAL,CAAa,KAAb,CALa,CAAN;AAAA,SADR;AAQD,QAAA,GAAG,EAAE,sBAAQ,IAAR,EAAc,KAAd,kCACA,KADA;AAEH,UAAA,QAAQ,EAAE,KAAK;AAFZ,YAGF,IAHE,CARJ;AAYD,QAAA,MAAM,EAAE,KAAK,UAAL,CAAgB,KAAhB;AAZP,OANI,CAAP;AAoBD;AAzYM,GAvJF;AAmiBP,EAAA,MAniBO,oBAmiBD;AAAA;;AACJ,WAAO,YAAE,YAAF,kCACF,KAAK,MADH;AAEL,MAAA,YAAY,EAAE,KAAK,uBAFd;AAGL,MAAA,UAAU,EAAE,KAAK,qBAHZ;AAIL,MAAA,YAAY,EAAE,KAAK,oBAJd;AAKL,0BAAoB,yBAAC,CAAD,EAAiB,GAAjB,EAAqC;AACvD,QAAA,OAAI,CAAC,eAAL,GAAuB,CAAC,CAAC,OAAF,IAAa,EAApC;AACA,SAAC,wBAAU,CAAV,EAAa,GAAb,CAAD,IAAsB,OAAI,CAAC,KAAL,CAAW,gBAAX,EAA6B,CAA7B,CAAtB;AACD,OARI;AASL,uBAAiB,sBAAC,CAAD;AAAA,eAAe,OAAI,CAAC,KAAL,CAAW,aAAX,EAA0B,CAA1B,CAAf;AAAA,OATZ;AAUL,iCAA2B,8BAAC,CAAD;AAAA,eAAe,OAAI,CAAC,KAAL,CAAW,uBAAX,EAAoC,CAApC,CAAf;AAAA,OAVtB;AAWL,0BAAoB,wBAAC,CAAD;AAAA,eAA0B,OAAI,CAAC,KAAL,CAAW,gBAAX,EAA6B,CAA7B,CAA1B;AAAA,OAXf;AAYL,4BAAsB,0BAAC,CAAD;AAAA,eAA4B,OAAI,CAAC,KAAL,CAAW,kBAAX,EAA+B,CAA/B,CAA5B;AAAA,OAZjB;AAaL,2BAAqB,yBAAC,CAAD;AAAA,eAA0B,OAAI,CAAC,KAAL,CAAW,iBAAX,EAA8B,CAA9B,CAA1B;AAAA,OAbhB;AAcL,6BAAuB,2BAAC,CAAD;AAAA,eAA4B,OAAI,CAAC,KAAL,CAAW,mBAAX,EAAgC,CAAhC,CAA5B;AAAA,OAdlB;AAeL,MAAA,YAAY,EAAE,sBAAC,CAAD,EAAoB,GAApB;AAAA,eAA4C,CAAC,wBAAU,CAAV,EAAa,GAAb,CAAD,IAAsB,OAAI,CAAC,KAAL,CAAW,YAAX,EAAyB,CAAzB,CAAlE;AAAA,OAfT;AAgBL,yBAAmB,wBAAC,CAAD,EAAa;AAC9B,QAAA,OAAI,CAAC,oBAAL,GAA4B,CAA5B;;AACA,QAAA,OAAI,CAAC,KAAL,CAAW,eAAX,EAA4B,CAA5B;AACD,OAnBI;AAoBL,sBAAgB,qBAAC,CAAD;AAAA,eAAe,OAAI,CAAC,KAAL,CAAW,YAAX,EAAyB,CAAzB,CAAf;AAAA;AApBX,QAqBJ,KAAK,oBArBD,CAAP;AAsBD;AA1jBM,CAJM,C","sourcesContent":["import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren, h } 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 RowStyleFunction,\n DataTableItemProps,\n DataTableFilterMode,\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'\nimport Mouse from '../../mixins/mouse'\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, mergeStyles } 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 filterMode: DataTableFilterMode,\n) {\n search = typeof search === 'string' ? search.trim() : null\n\n if (filterMode === 'union') {\n // If the `search` property is empty and there are no custom filters in use, there is nothing to do.\n if (!(search && headersWithoutCustomFilters.length) && !headersWithCustomFilters.length) return items\n\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n if (headersWithCustomFilters.length && headersWithCustomFilters.every(filterFn(item, search, defaultFilter))) {\n return true\n }\n\n // Otherwise, the `search` property is used to filter columns without a custom filter.\n return (search && headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n })\n } else if (filterMode === 'intersection') {\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 } else {\n return items\n }\n}\n\n/* @vue/component */\nexport default mixins(\n VDataIterator,\n Loadable,\n Mouse,\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 filterMode: {\n type: String,\n default: 'intersection',\n } as PropValidator<DataTableFilterMode>,\n itemClass: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowClassFunction | string>,\n itemStyle: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowStyleFunction | 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(\n items,\n search,\n this.headersWithCustomFilters,\n this.headersWithoutCustomFilters,\n this.customFilter,\n this.filterMode\n )\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 data = {\n ...VDataIterator.methods.createItemProps.call(this, item, index),\n headers: this.computedHeaders,\n }\n\n return {\n ...data,\n class: {\n 'v-data-table__selected': data.isSelected,\n },\n ...this.getDefaultMouseEventHandlers(':row', () => data, true),\n // TODO: 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 onClick: (event: MouseEvent) => this.$emit('click:row', item, data, event)\n }\n },\n genCaption (props: DataScopeProps) {\n if (this.caption) return [h('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataScopeProps) {\n return h('colgroup', this.computedHeaders.map(header => {\n return h('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const th = h('th', {\n class: 'column',\n attrs: this.colspanAttrs,\n }, [this.genProgress()])\n\n const tr = h('tr', {\n class: 'v-data-table__progress',\n }, [th])\n\n return h('thead', [tr])\n },\n genHeaders (props: DataScopeProps) {\n const data = {\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 onSort: props.sort,\n onGroup: props.group,\n 'onToggle-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.$slots)\n children.push(h(VDataTableHeader, {\n ...data,\n\n }, scopedSlots))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return h('tr', {\n class: 'v-data-table__empty-wrapper',\n }, [\n h('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.openCache[group.name] = true\n\n if (this.$slots.group) {\n return this.$slots.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 h('template', { slot: 'row.content' }, this.genRows(items, props)),\n ]\n const toggleFn = () => this.openCache[group] = !this.openCache[group]\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$slots['group.header']) {\n children.unshift(h('template', { slot: 'column.header' }, [\n this.$slots['group.header']!({\n group,\n groupBy: props.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 = h(VBtn, {\n class: 'ma-0',\n icon: true,\n small: true,\n onClick: toggleFn\n }, [h(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = h(VBtn, {\n class: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [h(VIcon, ['$close'])])\n\n const column = h('td', {\n class: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${this.groupByText}: ${group}`, remove])\n\n children.unshift(h('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$slots['group.summary']) {\n children.push(h('template', { slot: 'column.summary' }, [\n this.$slots['group.summary']!({\n group,\n groupBy: props.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n }),\n ]))\n }\n\n return h(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataScopeProps) {\n return this.$slots.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.$slots.item!({\n ...this.createItemProps(item, i),\n isMobile: this.isMobile,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$slots['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.$slots['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 = h('tr', {\n class: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$slots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item,\n })])\n\n return h(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n h('template', { slot: 'row.header' }, [headerRow]),\n h('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, index: number, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$slots)\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 }) : () => h(VSimpleCheckbox, {\n class: 'v-data-table__checkbox',\n value: data.isSelected,\n disabled: !this.isSelectable(item),\n color: this.checkboxColor ?? '',\n onInput: (val: boolean) => data.select(val),\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => h(VIcon, {\n class: ['v-data-table__expand-icon', {\n 'v-data-table__expand-icon--active': data.isExpanded,\n }],\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n }\n }, [this.expandIcon])\n }\n\n return h(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 style: mergeStyles({}, getPropertyFromItem(item, this.itemStyle)),\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$vuetify.rtl,\n on: data.on,\n }, scopedSlots)\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.$slots.body) {\n return this.$slots.body!(data)\n }\n\n return h('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.$slots.foot?.(props)\n },\n genFooters (props: DataScopeProps) {\n const data = {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n 'onUpdate:options': (value: any) => props.updateOptions(value),\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', {\n ...data,\n widths: this.widths,\n headers: this.computedHeaders\n }, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(h(VDataFooter, {\n ...data\n }, getPrefixedScopedSlots('footer.', this.$slots)))\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 h(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 h(VSimpleTable, {\n ...simpleProps,\n class: {\n 'v-data-table--mobile': this.isMobile,\n 'v-data-table--selectable': this.showSelect,\n },\n }, {\n default: () => [\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.genFoot(props),\n ],\n top: getSlot(this, 'top', {\n ...props,\n isMobile: this.isMobile,\n }, true),\n bottom: this.genFooters(props)\n })\n }\n },\n\n render (): VNode {\n return h(VData, {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n 'onUpdate:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'onUpdate:page': (v: number) => this.$emit('update:page', v),\n 'onUpdate:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'onUpdate:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'onUpdate:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'onUpdate:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'onUpdate:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n onPagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'onCurrent-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'onPage-count': (v: number) => this.$emit('page-count', v),\n }, this.genDefaultScopedSlot)\n },\n})\n"],"sourceRoot":"","file":"VDataTable.js"}
1
+ {"version":3,"sources":["../../../src/components/VDataTable/VDataTable.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAGA;;AAkBA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;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,EAME,UANF,EAMiC;AAE/B,EAAA,MAAM,GAAG,OAAO,MAAP,KAAkB,QAAlB,GAA6B,MAAM,CAAC,IAAP,EAA7B,GAA6C,IAAtD;;AAEA,MAAI,UAAU,KAAK,OAAnB,EAA4B;AAC1B;AACA,QAAI,EAAE,MAAM,IAAI,2BAA2B,CAAC,MAAxC,KAAmD,CAAC,wBAAwB,CAAC,MAAjF,EAAyF,OAAO,KAAP;AAEzF,WAAO,KAAK,CAAC,MAAN,CAAa,UAAA,IAAI,EAAG;AACzB;AACA,UAAI,wBAAwB,CAAC,MAAzB,IAAmC,wBAAwB,CAAC,KAAzB,CAA+B,QAAQ,CAAC,IAAD,EAAO,MAAP,EAAe,sBAAf,CAAvC,CAAvC,EAA8G;AAC5G,eAAO,IAAP;AACD,OAJwB,CAMzB;;;AACA,aAAQ,MAAM,IAAI,2BAA2B,CAAC,IAA5B,CAAiC,QAAQ,CAAC,IAAD,EAAO,MAAP,EAAe,YAAf,CAAzC,CAAlB;AACD,KARM,CAAP;AASD,GAbD,MAaO,IAAI,UAAU,KAAK,cAAnB,EAAmC;AACxC,WAAO,KAAK,CAAC,MAAN,CAAa,UAAA,IAAI,EAAG;AACzB;AACA;AACA,UAAM,oBAAoB,GAAG,wBAAwB,CAAC,KAAzB,CAA+B,QAAQ,CAAC,IAAD,EAAO,MAAP,EAAe,sBAAf,CAAvC,CAA7B,CAHyB,CAKzB;AACA;;AACA,UAAM,iBAAiB,GAAG,CAAC,MAAD,IAAW,2BAA2B,CAAC,IAA5B,CAAiC,QAAQ,CAAC,IAAD,EAAO,MAAP,EAAe,YAAf,CAAzC,CAArC;AAEA,aAAO,oBAAoB,IAAI,iBAA/B;AACD,KAVM,CAAP;AAWD,GAZM,MAYA;AACL,WAAO,KAAP;AACD;AACF;AAED;;;gBACe,qBACb,4BADa,EAEb,iBAFa,EAGb,cAHa,EAIb,MAJa,CAIN;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,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC,KA3BP;AA+BL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CADG;AAET,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFA,KA/BN;AAmCL,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,QAAT,CADG;AAET,MAAA,OAAO,EAAE;AAAA,eAAM,EAAN;AAAA;AAFA,KAnCN;AAuCL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADM;AAEZ,MAAA,OAAO,EAAE;AAFG;AAvCT,GARA;AAqDP,EAAA,IArDO,kBAqDH;AACF,WAAO;AACL,MAAA,eAAe,EAAE,EADZ;AAEL,MAAA,SAAS,EAAE,EAFN;AAGL,MAAA,MAAM,EAAE;AAHH,KAAP;AAKD,GA3DM;AA6DP,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,KArDO;AAsDR,IAAA,WAtDQ,yBAsDG;AAAA;;;;AACT,aAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,OAAL,MAAY,IAAZ,IAAY,EAAA,KAAA,KAAA,CAAZ,GAAY,KAAA,CAAZ,GAAY,EAAA,CAAE,IAAF,CAAO,UAAA,MAAM,EAAG;AAAA,YAAA,EAAA;;AAAC,eAAA,MAAM,CAAC,KAAP,MAAiB,CAAA,EAAA,GAAA,MAAI,CAAC,eAAL,MAAoB,IAApB,IAAoB,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoB,EAAA,CAAG,CAAH,CAArC,CAAA;AAA0C,OAA3D,CAAZ,MAAwE,IAAxE,IAAwE,EAAA,KAAA,KAAA,CAAxE,GAAwE,KAAA,CAAxE,GAAwE,EAAA,CAAE,IAA1E,MAA8E,IAA9E,IAA8E,EAAA,KAAA,KAAA,CAA9E,GAA8E,EAA9E,GAAkF,EAAzF;AACD;AAxDO,GA7DH;AAwHP,EAAA,OAxHO,qBAwHA;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,GAnIM;AAqIP,EAAA,OArIO,qBAqIA;AACL;AACA;AACA;AACA;AAEA,QAAI,KAAK,eAAT,EAA0B;AACxB,MAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,KAAK,UAAvC;AACA,WAAK,UAAL;AACD;AACF,GA/IM;AAiJP,EAAA,aAjJO,2BAiJM;AACX,QAAI,KAAK,eAAT,EAA0B;AACxB,MAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,KAAK,UAA1C;AACD;AACF,GArJM;AAuJP,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,CACrB,KADqB,EAErB,MAFqB,EAGrB,KAAK,wBAHgB,EAIrB,KAAK,2BAJgB,EAKrB,KAAK,YALgB,EAMrB,KAAK,UANgB,CAAvB;AAQD,KAbM;AAcP,IAAA,qBAdO,iCAcgB,KAdhB,EAc8B,MAd9B,EAcgD,QAdhD,EAcqE,MAdrE,EAcmF;AACxF,aAAO,KAAK,UAAL,CAAgB,KAAhB,EAAuB,MAAvB,EAA+B,QAA/B,EAAyC,MAAzC,EAAiD,KAAK,aAAtD,CAAP;AACD,KAhBM;AAiBP,IAAA,eAjBO,2BAiBU,IAjBV,EAiBqB,KAjBrB,EAiBkC;AAAA;;AACvC,UAAM,IAAI,mCACL,6BAAc,OAAd,CAAsB,eAAtB,CAAsC,IAAtC,CAA2C,IAA3C,EAAiD,IAAjD,EAAuD,KAAvD,CADK;AAER,QAAA,OAAO,EAAE,KAAK;AAFN,QAAV;;AAKA,2DACK,IADL;AAEE,QAAA,KAAK,EAAE;AACL,oCAA0B,IAAI,CAAC;AAD1B;AAFT,SAKK,KAAK,4BAAL,CAAkC,MAAlC,EAA0C;AAAA,eAAM,IAAN;AAAA,OAA1C,EAAsD,IAAtD,CALL;AAME;AACA;AACA,QAAA,OAAO,EAAE,iBAAC,KAAD;AAAA,iBAAuB,MAAI,CAAC,KAAL,CAAW,WAAX,EAAwB,IAAxB,EAA8B,IAA9B,EAAoC,KAApC,CAAvB;AAAA;AARX;AAUD,KAjCM;AAkCP,IAAA,UAlCO,sBAkCK,KAlCL,EAkC0B;AAC/B,UAAI,KAAK,OAAT,EAAkB,OAAO,CAAC,YAAE,SAAF,EAAa,CAAC,KAAK,OAAN,CAAb,CAAD,CAAP;AAElB,aAAO,sBAAQ,IAAR,EAAc,SAAd,EAAyB,KAAzB,EAAgC,IAAhC,CAAP;AACD,KAtCM;AAuCP,IAAA,WAvCO,uBAuCM,KAvCN,EAuC2B;AAChC,aAAO,YAAE,UAAF,EAAc,KAAK,eAAL,CAAqB,GAArB,CAAyB,UAAA,MAAM,EAAG;AACrD,eAAO,YAAE,KAAF,EAAS;AACd,UAAA,KAAK,EAAE;AACL,YAAA,OAAO,EAAE,MAAM,CAAC;AADX;AADO,SAAT,CAAP;AAKD,OANoB,CAAd,CAAP;AAOD,KA/CM;AAgDP,IAAA,UAhDO,wBAgDG;AACR,UAAM,EAAE,GAAG,YAAE,IAAF,EAAQ;AACjB,QAAA,KAAK,EAAE,QADU;AAEjB,QAAA,KAAK,EAAE,KAAK;AAFK,OAAR,EAGR,CAAC,KAAK,WAAL,EAAD,CAHQ,CAAX;AAKA,UAAM,EAAE,GAAG,YAAE,IAAF,EAAQ;AACjB,QAAA,KAAK,EAAE;AADU,OAAR,EAER,CAAC,EAAD,CAFQ,CAAX;AAIA,aAAO,YAAE,OAAF,EAAW,CAAC,EAAD,CAAX,CAAP;AACD,KA3DM;AA4DP,IAAA,UA5DO,sBA4DK,KA5DL,EA4D0B;AAC/B,UAAM,IAAI,mCACL,KAAK,oBADA;AAER,QAAA,OAAO,EAAE,KAAK,eAFN;AAGR,QAAA,OAAO,EAAE,KAAK,CAAC,OAHP;AAIR,QAAA,MAAM,EAAE,KAAK,QAJL;AAKR,QAAA,WAAW,EAAE,KAAK,WALV;AAMR,QAAA,aAAa,EAAE,KAAK,aANZ;AAOR,QAAA,SAAS,EAAE,KAAK,SAPR;AAQR,QAAA,SAAS,EAAE,KAAK,SARR;AASR,QAAA,YAAY,EAAE,KAAK,YATX;AAUR,QAAA,WAAW,EAAE,KAAK,WAVV;AAWR,QAAA,MAAM,EAAE,KAAK,CAAC,IAXN;AAYR,QAAA,OAAO,EAAE,KAAK,CAAC,KAZP;AAaR,+BAAuB,KAAK;AAbpB,QAAV,CAD+B,CAkB/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,MAAvC,CAApB;AACA,QAAA,QAAQ,CAAC,IAAT,CAAc,YAAE,yBAAF,oBACT,IADS,GAGX,WAHW,CAAd;AAID;;AAED,UAAI,KAAK,OAAT,EAAkB,QAAQ,CAAC,IAAT,CAAc,KAAK,UAAL,EAAd;AAElB,aAAO,QAAP;AACD,KA/FM;AAgGP,IAAA,eAhGO,2BAgGU,OAhGV,EAgG6C;AAClD,aAAO,YAAE,IAAF,EAAQ;AACb,QAAA,KAAK,EAAE;AADM,OAAR,EAEJ,CACD,YAAE,IAAF,EAAQ;AACN,QAAA,KAAK,EAAE,KAAK;AADN,OAAR,EAEG,OAFH,CADC,CAFI,CAAP;AAOD,KAxGM;AAyGP,IAAA,QAzGO,oBAyGG,KAzGH,EAyGiB,KAzGjB,EAyGsC;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,KAhHM;AAiHP,IAAA,cAjHO,0BAiHS,YAjHT,EAiHyC,KAjHzC,EAiH8D;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,SAAL,CAAe,KAAK,CAAC,IAArB,IAA6B,IAA7B;;AAEhD,YAAI,MAAI,CAAC,MAAL,CAAY,KAAhB,EAAuB;AACrB,iBAAO,MAAI,CAAC,MAAL,CAAY,KAAZ,CAAkB;AACvB,YAAA,KAAK,EAAE,KAAK,CAAC,IADU;AAEvB,YAAA,OAAO,EAAE,KAAK,CAAC,OAFQ;AAGvB,YAAA,QAAQ,EAAE,MAAI,CAAC,QAHQ;AAIvB,YAAA,KAAK,EAAE,KAAK,CAAC,KAJU;AAKvB,YAAA,OAAO,EAAE,MAAI,CAAC;AALS,WAAlB,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,KAjIM;AAkIP,IAAA,oBAlIO,gCAkIe,KAlIf,EAkI8B,KAlI9B,EAkI4C,KAlI5C,EAkIiE;AAAA;;AACtE,UAAM,MAAM,GAAG,CAAC,CAAC,KAAK,SAAL,CAAe,KAAf,CAAjB;AACA,UAAM,QAAQ,GAAkB,CAC9B,YAAE,UAAF,EAAc;AAAE,QAAA,IAAI,EAAE;AAAR,OAAd,EAAuC,KAAK,OAAL,CAAa,KAAb,EAAoB,KAApB,CAAvC,CAD8B,CAAhC;;AAGA,UAAM,QAAQ,GAAG,SAAX,QAAW;AAAA,eAAM,MAAI,CAAC,SAAL,CAAe,KAAf,IAAwB,CAAC,MAAI,CAAC,SAAL,CAAe,KAAf,CAA/B;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,MAAL,CAAY,cAAZ,CAAJ,EAAiC;AAC/B,QAAA,QAAQ,CAAC,OAAT,CAAiB,YAAE,UAAF,EAAc;AAAE,UAAA,IAAI,EAAE;AAAR,SAAd,EAAyC,CACxD,KAAK,MAAL,CAAY,cAAZ,EAA6B;AAC3B,UAAA,KAAK,EAAL,KAD2B;AAE3B,UAAA,OAAO,EAAE,KAAK,CAAC,OAFY;AAG3B,UAAA,QAAQ,EAAE,KAAK,QAHY;AAI3B,UAAA,KAAK,EAAL,KAJ2B;AAK3B,UAAA,OAAO,EAAE,KAAK,eALa;AAM3B,UAAA,MAAM,EAAN,MAN2B;AAO3B,UAAA,MAAM,EAAE,QAPmB;AAQ3B,UAAA,MAAM,EAAE;AARmB,SAA7B,CADwD,CAAzC,CAAjB;AAYD,OAbD,MAaO;AACL,YAAM,MAAM,GAAG,YAAE,aAAF,EAAQ;AACrB,UAAA,KAAK,EAAE,MADc;AAErB,UAAA,IAAI,EAAE,IAFe;AAGrB,UAAA,KAAK,EAAE,IAHc;AAIrB,UAAA,OAAO,EAAE;AAJY,SAAR,EAKZ,CAAC,YAAE,cAAF,EAAS,CAAC,MAAM,GAAG,QAAH,GAAc,OAArB,CAAT,CAAD,CALY,CAAf;AAOA,YAAM,MAAM,GAAG,YAAE,aAAF,EAAQ;AACrB,UAAA,KAAK,EAAE,MADc;AAErB,UAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,IADD;AAEL,YAAA,KAAK,EAAE;AAFF,WAFc;AAMrB,UAAA,EAAE,EAAE;AACF,YAAA,KAAK,EAAE;AADL;AANiB,SAAR,EASZ,CAAC,YAAE,cAAF,EAAS,CAAC,QAAD,CAAT,CAAD,CATY,CAAf;AAWA,YAAM,MAAM,GAAG,YAAE,IAAF,EAAQ;AACrB,UAAA,KAAK,EAAE,YADc;AAErB,UAAA,KAAK,EAAE,KAAK;AAFS,SAAR,EAGZ,CAAC,MAAD,YAAY,KAAK,WAAjB,eAAiC,KAAjC,GAA0C,MAA1C,CAHY,CAAf;AAKA,QAAA,QAAQ,CAAC,OAAT,CAAiB,YAAE,UAAF,EAAc;AAAE,UAAA,IAAI,EAAE;AAAR,SAAd,EAAyC,CAAC,MAAD,CAAzC,CAAjB;AACD;;AAED,UAAI,KAAK,MAAL,CAAY,eAAZ,CAAJ,EAAkC;AAChC,QAAA,QAAQ,CAAC,IAAT,CAAc,YAAE,UAAF,EAAc;AAAE,UAAA,IAAI,EAAE;AAAR,SAAd,EAA0C,CACtD,KAAK,MAAL,CAAY,eAAZ,EAA8B;AAC5B,UAAA,KAAK,EAAL,KAD4B;AAE5B,UAAA,OAAO,EAAE,KAAK,CAAC,OAFa;AAG5B,UAAA,QAAQ,EAAE,KAAK,QAHa;AAI5B,UAAA,KAAK,EAAL,KAJ4B;AAK5B,UAAA,OAAO,EAAE,KAAK,eALc;AAM5B,UAAA,MAAM,EAAN,MAN4B;AAO5B,UAAA,MAAM,EAAE;AAPoB,SAA9B,CADsD,CAA1C,CAAd;AAWD;;AAED,aAAO,YAAE,iBAAF,EAAY;AACjB,QAAA,GAAG,EAAE,KADY;AAEjB,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE;AADF;AAFU,OAAZ,EAKJ,QALI,CAAP;AAMD,KAtMM;AAuMP,IAAA,OAvMO,mBAuME,KAvMF,EAuMgB,KAvMhB,EAuMqC;AAC1C,aAAO,KAAK,MAAL,CAAY,IAAZ,GAAmB,KAAK,aAAL,CAAmB,KAAnB,EAA0B,KAA1B,CAAnB,GAAsD,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAA3B,CAA7D;AACD,KAzMM;AA0MP,IAAA,aA1MO,yBA0MQ,KA1MR,EA0MsB,KA1MtB,EA0M2C;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,MAAL,CAAY,IAAZ,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,MAAL,CAAY,eAAZ,EAA8B;AACtC,YAAA,OAAO,EAAE,KAAK,eADwB;AAEtC,YAAA,QAAQ,EAAE,KAAK,QAFuB;AAGtC,YAAA,KAAK,EAAE,CAH+B;AAItC,YAAA,IAAI,EAAJ;AAJsC,WAA9B,CAAV;AAMD;AACF;;AAED,aAAO,IAAP;AACD,KA/NM;AAgOP,IAAA,cAhOO,0BAgOS,KAhOT,EAgOuB,KAhOvB,EAgO4C;AAAA;;AACjD,aAAO,KAAK,MAAL,CAAY,eAAZ,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,KApOM;AAqOP,IAAA,qBArOO,iCAqOgB,IArOhB,EAqO2B,KArO3B,EAqOwC;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,YAAE,IAAF,EAAQ;AAC1B,QAAA,KAAK,EAAE;AADmB,OAAR,EAEjB,CAAC,KAAK,MAAL,CAAY,eAAZ,EAA8B;AAChC,QAAA,OAAO,EAAE,KAAK,eADkB;AAEhC,QAAA,QAAQ,EAAE,KAAK,QAFiB;AAGhC,QAAA,IAAI,EAAJ;AAHgC,OAA9B,CAAD,CAFiB,CAApB;AAQA,aAAO,YAAE,iBAAF,EAAY;AACjB,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE;AADF;AADU,OAAZ,EAIJ,CACD,YAAE,UAAF,EAAc;AAAE,QAAA,IAAI,EAAE;AAAR,OAAd,EAAsC,CAAC,SAAD,CAAtC,CADC,EAED,YAAE,UAAF,EAAc;AAAE,QAAA,IAAI,EAAE;AAAR,OAAd,EAAuC,CAAC,WAAD,CAAvC,CAFC,CAJI,CAAP;AAQD,KA3PM;AA4PP,IAAA,mBA5PO,+BA4Pc,IA5Pd,EA4PyB,KA5PzB,EA4P6E;AAAA;;AAAA,UAArC,OAAqC,uEAAF,EAAE;AAClF,UAAM,WAAW,GAAG,qCAAuB,OAAvB,EAAgC,KAAK,MAArC,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,YAAK;;;AAAC,iBAAA,YAAE,wBAAF,EAAmB;AAC5B,YAAA,KAAK,EAAE,wBADqB;AAE5B,YAAA,KAAK,EAAE,IAAI,CAAC,UAFgB;AAG5B,YAAA,QAAQ,EAAE,CAAC,MAAI,CAAC,YAAL,CAAkB,IAAlB,CAHiB;AAI5B,YAAA,KAAK,EAAE,CAAA,EAAA,GAAA,MAAI,CAAC,aAAL,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,EAAlB,GAAsB,EAJD;AAK5B,YAAA,OAAO,EAAE,iBAAC,GAAD;AAAA,qBAAkB,IAAI,CAAC,MAAL,CAAY,GAAZ,CAAlB;AAAA;AALmB,WAAnB,CAAA;AAMT,SATF;AAUD;;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,YAAE,cAAF,EAAS;AAC1E,YAAA,KAAK,EAAE,CAAC,2BAAD,EAA8B;AACnC,mDAAqC,IAAI,CAAC;AADP,aAA9B,CADmE;AAI1E,YAAA,OAAO,EAAE,iBAAC,CAAD,EAAkB;AACzB,cAAA,CAAC,CAAC,eAAF;AACA,cAAA,IAAI,CAAC,MAAL,CAAY,CAAC,IAAI,CAAC,UAAlB;AACD;AAPyE,WAAT,EAQhE,CAAC,MAAI,CAAC,UAAN,CARgE,CAAN;AAAA,SAA7D;AASD;;AAED,aAAO,YAAE,KAAK,QAAL,GAAgB,kBAAhB,GAA4B,YAA9B,EAAmC;AACxC,QAAA,GAAG,EAAE,mCAAqB,IAArB,EAA2B,KAAK,OAAhC,CADmC;AAExC,QAAA,KAAK,EAAE,6DACA,OADA;AACS,oCAA0B,IAAI,CAAC;AADxC,YAEL,kCAAoB,IAApB,EAA0B,KAAK,SAA/B,CAFK,CAFiC;AAMxC,QAAA,KAAK,EAAE,4BAAY,EAAZ,EAAgB,kCAAoB,IAApB,EAA0B,KAAK,SAA/B,CAAhB,CANiC;AAOxC,QAAA,OAAO,EAAE,KAAK,eAP0B;AAQxC,QAAA,iBAAiB,EAAE,KAAK,iBARgB;AASxC,QAAA,KAAK,EAAL,KATwC;AAUxC,QAAA,IAAI,EAAJ,IAVwC;AAWxC,QAAA,GAAG,EAAE,KAAK,QAAL,CAAc,GAXqB;AAYxC,QAAA,EAAE,EAAE,IAAI,CAAC;AAZ+B,OAAnC,EAaJ,WAbI,CAAP;AAcD,KA1SM;AA2SP,IAAA,OA3SO,mBA2SE,KA3SF,EA2SuB;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,MAAL,CAAY,IAAhB,EAAsB;AACpB,eAAO,KAAK,MAAL,CAAY,IAAZ,CAAkB,IAAlB,CAAP;AACD;;AAED,aAAO,YAAE,OAAF,EAAW,CAChB,sBAAQ,IAAR,EAAc,cAAd,EAA8B,IAA9B,EAAoC,IAApC,CADgB,EAEhB,KAAK,QAAL,CAAc,KAAK,CAAC,KAApB,EAA2B,KAA3B,CAFgB,EAGhB,sBAAQ,IAAR,EAAc,aAAd,EAA6B,IAA7B,EAAmC,IAAnC,CAHgB,CAAX,CAAP;AAKD,KA/TM;AAgUP,IAAA,OAhUO,mBAgUE,KAhUF,EAgUuB;;;AAC5B,aAAO,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,MAAL,EAAY,IAAZ,MAAgB,IAAhB,IAAgB,EAAA,KAAA,KAAA,CAAhB,GAAgB,KAAA,CAAhB,GAAgB,EAAA,CAAA,IAAA,CAAA,EAAA,EAAG,KAAH,CAAvB;AACD,KAlUM;AAmUP,IAAA,UAnUO,sBAmUK,KAnUL,EAmU0B;AAC/B,UAAM,IAAI;AACR,QAAA,OAAO,EAAE,KAAK,CAAC,OADP;AAER,QAAA,UAAU,EAAE,KAAK,CAAC,UAFV;AAGR,QAAA,gBAAgB,EAAE;AAHV,SAIL,KAAK,oBAJA;AAKR,4BAAoB,yBAAC,KAAD;AAAA,iBAAgB,KAAK,CAAC,aAAN,CAAoB,KAApB,CAAhB;AAAA;AALZ,QAAV;;AAQA,UAAM,QAAQ,GAAkB,CAC9B,sBAAQ,IAAR,EAAc,QAAd,kCACK,IADL;AAEE,QAAA,MAAM,EAAE,KAAK,MAFf;AAGE,QAAA,OAAO,EAAE,KAAK;AAHhB,UAIG,IAJH,CAD8B,CAAhC;;AAQA,UAAI,CAAC,KAAK,iBAAV,EAA6B;AAC3B,QAAA,QAAQ,CAAC,IAAT,CAAc,YAAE,0BAAF,oBACT,IADS,GAEX,qCAAuB,SAAvB,EAAkC,KAAK,MAAvC,CAFW,CAAd;AAGD;;AAED,aAAO,QAAP;AACD,KA3VM;AA4VP,IAAA,oBA5VO,gCA4Ve,KA5Vf,EA4VoC;AAAA;;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,YAAE,qBAAF,kCACF,WADE;AAEL,QAAA,KAAK,EAAE;AACL,kCAAwB,KAAK,QADxB;AAEL,sCAA4B,KAAK;AAF5B;AAFF,UAMJ;AACD,QAAA,OAAO,EAAE;AAAA,iBAAM,CACb,MAAI,CAAC,UAAL,CAAgB,KAAhB,CADa,EAEb,MAAI,CAAC,WAAL,CAAiB,KAAjB,CAFa,EAGb,MAAI,CAAC,UAAL,CAAgB,KAAhB,CAHa,EAIb,MAAI,CAAC,OAAL,CAAa,KAAb,CAJa,EAKb,MAAI,CAAC,OAAL,CAAa,KAAb,CALa,CAAN;AAAA,SADR;AAQD,QAAA,GAAG,EAAE,sBAAQ,IAAR,EAAc,KAAd,kCACA,KADA;AAEH,UAAA,QAAQ,EAAE,KAAK;AAFZ,YAGF,IAHE,CARJ;AAYD,QAAA,MAAM,EAAE,KAAK,UAAL,CAAgB,KAAhB;AAZP,OANI,CAAP;AAoBD;AAzYM,GAvJF;AAmiBP,EAAA,MAniBO,oBAmiBD;AAAA;;AACJ,WAAO,YAAE,YAAF,kCACF,KAAK,MADH;AAEL,MAAA,YAAY,EAAE,KAAK,uBAFd;AAGL,MAAA,UAAU,EAAE,KAAK,qBAHZ;AAIL,MAAA,YAAY,EAAE,KAAK,oBAJd;AAKL,0BAAoB,yBAAC,CAAD,EAAiB,GAAjB,EAAqC;AACvD,QAAA,OAAI,CAAC,eAAL,GAAuB,CAAC,CAAC,OAAF,IAAa,EAApC;AACA,SAAC,wBAAU,CAAV,EAAa,GAAb,CAAD,IAAsB,OAAI,CAAC,KAAL,CAAW,gBAAX,EAA6B,CAA7B,CAAtB;AACD,OARI;AASL,uBAAiB,sBAAC,CAAD;AAAA,eAAe,OAAI,CAAC,KAAL,CAAW,aAAX,EAA0B,CAA1B,CAAf;AAAA,OATZ;AAUL,iCAA2B,8BAAC,CAAD;AAAA,eAAe,OAAI,CAAC,KAAL,CAAW,uBAAX,EAAoC,CAApC,CAAf;AAAA,OAVtB;AAWL,0BAAoB,wBAAC,CAAD;AAAA,eAA0B,OAAI,CAAC,KAAL,CAAW,gBAAX,EAA6B,CAA7B,CAA1B;AAAA,OAXf;AAYL,4BAAsB,0BAAC,CAAD;AAAA,eAA4B,OAAI,CAAC,KAAL,CAAW,kBAAX,EAA+B,CAA/B,CAA5B;AAAA,OAZjB;AAaL,2BAAqB,yBAAC,CAAD;AAAA,eAA0B,OAAI,CAAC,KAAL,CAAW,iBAAX,EAA8B,CAA9B,CAA1B;AAAA,OAbhB;AAcL,6BAAuB,2BAAC,CAAD;AAAA,eAA4B,OAAI,CAAC,KAAL,CAAW,mBAAX,EAAgC,CAAhC,CAA5B;AAAA,OAdlB;AAeL,MAAA,YAAY,EAAE,sBAAC,CAAD,EAAoB,GAApB;AAAA,eAA4C,CAAC,wBAAU,CAAV,EAAa,GAAb,CAAD,IAAsB,OAAI,CAAC,KAAL,CAAW,YAAX,EAAyB,CAAzB,CAAlE;AAAA,OAfT;AAgBL,yBAAmB,wBAAC,CAAD,EAAa;AAC9B,QAAA,OAAI,CAAC,oBAAL,GAA4B,CAA5B;;AACA,QAAA,OAAI,CAAC,KAAL,CAAW,eAAX,EAA4B,CAA5B;AACD,OAnBI;AAoBL,sBAAgB,qBAAC,CAAD;AAAA,eAAe,OAAI,CAAC,KAAL,CAAW,YAAX,EAAyB,CAAzB,CAAf;AAAA;AApBX,QAqBJ,KAAK,oBArBD,CAAP;AAsBD;AA1jBM,CAJM,C","sourcesContent":["import './VDataTable.sass'\n\n// Types\nimport { VNode, VNodeChildrenArrayContents, VNodeChildren, h } 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 RowStyleFunction,\n DataTableItemProps,\n DataTableFilterMode,\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'\nimport Mouse from '../../mixins/mouse'\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, mergeStyles } 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 filterMode: DataTableFilterMode,\n) {\n search = typeof search === 'string' ? search.trim() : null\n\n if (filterMode === 'union') {\n // If the `search` property is empty and there are no custom filters in use, there is nothing to do.\n if (!(search && headersWithoutCustomFilters.length) && !headersWithCustomFilters.length) return items\n\n return items.filter(item => {\n // Headers with custom filters are evaluated whether or not a search term has been provided.\n if (headersWithCustomFilters.length && headersWithCustomFilters.every(filterFn(item, search, defaultFilter))) {\n return true\n }\n\n // Otherwise, the `search` property is used to filter columns without a custom filter.\n return (search && headersWithoutCustomFilters.some(filterFn(item, search, customFilter)))\n })\n } else if (filterMode === 'intersection') {\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 } else {\n return items\n }\n}\n\n/* @vue/component */\nexport default mixins(\n VDataIterator,\n Loadable,\n Mouse,\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 filterMode: {\n type: String,\n default: 'intersection',\n } as PropValidator<DataTableFilterMode>,\n itemClass: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowClassFunction | string>,\n itemStyle: {\n type: [String, Function],\n default: () => '',\n } as PropValidator<RowStyleFunction | 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 beforeUnmount () {\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(\n items,\n search,\n this.headersWithCustomFilters,\n this.headersWithoutCustomFilters,\n this.customFilter,\n this.filterMode\n )\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 data = {\n ...VDataIterator.methods.createItemProps.call(this, item, index),\n headers: this.computedHeaders,\n }\n\n return {\n ...data,\n class: {\n 'v-data-table__selected': data.isSelected,\n },\n ...this.getDefaultMouseEventHandlers(':row', () => data, true),\n // TODO: 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 onClick: (event: MouseEvent) => this.$emit('click:row', item, data, event)\n }\n },\n genCaption (props: DataScopeProps) {\n if (this.caption) return [h('caption', [this.caption])]\n\n return getSlot(this, 'caption', props, true)\n },\n genColgroup (props: DataScopeProps) {\n return h('colgroup', this.computedHeaders.map(header => {\n return h('col', {\n class: {\n divider: header.divider,\n },\n })\n }))\n },\n genLoading () {\n const th = h('th', {\n class: 'column',\n attrs: this.colspanAttrs,\n }, [this.genProgress()])\n\n const tr = h('tr', {\n class: 'v-data-table__progress',\n }, [th])\n\n return h('thead', [tr])\n },\n genHeaders (props: DataScopeProps) {\n const data = {\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 onSort: props.sort,\n onGroup: props.group,\n 'onToggle-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.$slots)\n children.push(h(VDataTableHeader, {\n ...data,\n\n }, scopedSlots))\n }\n\n if (this.loading) children.push(this.genLoading())\n\n return children\n },\n genEmptyWrapper (content: VNodeChildrenArrayContents) {\n return h('tr', {\n class: 'v-data-table__empty-wrapper',\n }, [\n h('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.openCache[group.name] = true\n\n if (this.$slots.group) {\n return this.$slots.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 h('template', { slot: 'row.content' }, this.genRows(items, props)),\n ]\n const toggleFn = () => this.openCache[group] = !this.openCache[group]\n const removeFn = () => props.updateOptions({ groupBy: [], groupDesc: [] })\n\n if (this.$slots['group.header']) {\n children.unshift(h('template', { slot: 'column.header' }, [\n this.$slots['group.header']!({\n group,\n groupBy: props.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 = h(VBtn, {\n class: 'ma-0',\n icon: true,\n small: true,\n onClick: toggleFn\n }, [h(VIcon, [isOpen ? '$minus' : '$plus'])])\n\n const remove = h(VBtn, {\n class: 'ma-0',\n props: {\n icon: true,\n small: true,\n },\n on: {\n click: removeFn,\n },\n }, [h(VIcon, ['$close'])])\n\n const column = h('td', {\n class: 'text-start',\n attrs: this.colspanAttrs,\n }, [toggle, `${this.groupByText}: ${group}`, remove])\n\n children.unshift(h('template', { slot: 'column.header' }, [column]))\n }\n\n if (this.$slots['group.summary']) {\n children.push(h('template', { slot: 'column.summary' }, [\n this.$slots['group.summary']!({\n group,\n groupBy: props.groupBy,\n isMobile: this.isMobile,\n items,\n headers: this.computedHeaders,\n isOpen,\n toggle: toggleFn,\n }),\n ]))\n }\n\n return h(RowGroup, {\n key: group,\n props: {\n value: isOpen,\n },\n }, children)\n },\n genRows (items: any[], props: DataScopeProps) {\n return this.$slots.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.$slots.item!({\n ...this.createItemProps(item, i),\n isMobile: this.isMobile,\n }))\n\n if (this.isExpanded(item)) {\n rows.push(this.$slots['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.$slots['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 = h('tr', {\n class: 'v-data-table__expanded v-data-table__expanded__content',\n }, [this.$slots['expanded-item']!({\n headers: this.computedHeaders,\n isMobile: this.isMobile,\n item,\n })])\n\n return h(RowGroup, {\n props: {\n value: isExpanded,\n },\n }, [\n h('template', { slot: 'row.header' }, [headerRow]),\n h('template', { slot: 'row.content' }, [expandedRow]),\n ])\n },\n genDefaultSimpleRow (item: any, index: number, classes: Record<string, boolean> = {}): VNode {\n const scopedSlots = getPrefixedScopedSlots('item.', this.$slots)\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 }) : () => h(VSimpleCheckbox, {\n class: 'v-data-table__checkbox',\n value: data.isSelected,\n disabled: !this.isSelectable(item),\n color: this.checkboxColor ?? '',\n onInput: (val: boolean) => data.select(val),\n })\n }\n\n if (this.showExpand) {\n const slot = scopedSlots['data-table-expand']\n scopedSlots['data-table-expand'] = slot ? () => slot(data) : () => h(VIcon, {\n class: ['v-data-table__expand-icon', {\n 'v-data-table__expand-icon--active': data.isExpanded,\n }],\n onClick: (e: MouseEvent) => {\n e.stopPropagation()\n data.expand(!data.isExpanded)\n }\n }, [this.expandIcon])\n }\n\n return h(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 style: mergeStyles({}, getPropertyFromItem(item, this.itemStyle)),\n headers: this.computedHeaders,\n hideDefaultHeader: this.hideDefaultHeader,\n index,\n item,\n rtl: this.$vuetify.rtl,\n on: data.on,\n }, scopedSlots)\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.$slots.body) {\n return this.$slots.body!(data)\n }\n\n return h('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.$slots.foot?.(props)\n },\n genFooters (props: DataScopeProps) {\n const data = {\n options: props.options,\n pagination: props.pagination,\n itemsPerPageText: '$vuetify.dataTable.itemsPerPageText',\n ...this.sanitizedFooterProps,\n 'onUpdate:options': (value: any) => props.updateOptions(value),\n }\n\n const children: VNodeChildren = [\n getSlot(this, 'footer', {\n ...data,\n widths: this.widths,\n headers: this.computedHeaders\n }, true),\n ]\n\n if (!this.hideDefaultFooter) {\n children.push(h(VDataFooter, {\n ...data\n }, getPrefixedScopedSlots('footer.', this.$slots)))\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 h(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 h(VSimpleTable, {\n ...simpleProps,\n class: {\n 'v-data-table--mobile': this.isMobile,\n 'v-data-table--selectable': this.showSelect,\n },\n }, {\n default: () => [\n this.genCaption(props),\n this.genColgroup(props),\n this.genHeaders(props),\n this.genBody(props),\n this.genFoot(props),\n ],\n top: getSlot(this, 'top', {\n ...props,\n isMobile: this.isMobile,\n }, true),\n bottom: this.genFooters(props)\n })\n }\n },\n\n render (): VNode {\n return h(VData, {\n ...this.$props,\n customFilter: this.customFilterWithColumns,\n customSort: this.customSortWithHeaders,\n itemsPerPage: this.computedItemsPerPage,\n 'onUpdate:options': (v: DataOptions, old: DataOptions) => {\n this.internalGroupBy = v.groupBy || []\n !deepEqual(v, old) && this.$emit('update:options', v)\n },\n 'onUpdate:page': (v: number) => this.$emit('update:page', v),\n 'onUpdate:items-per-page': (v: number) => this.$emit('update:items-per-page', v),\n 'onUpdate:sort-by': (v: string | string[]) => this.$emit('update:sort-by', v),\n 'onUpdate:sort-desc': (v: boolean | boolean[]) => this.$emit('update:sort-desc', v),\n 'onUpdate:group-by': (v: string | string[]) => this.$emit('update:group-by', v),\n 'onUpdate:group-desc': (v: boolean | boolean[]) => this.$emit('update:group-desc', v),\n onPagination: (v: DataPagination, old: DataPagination) => !deepEqual(v, old) && this.$emit('pagination', v),\n 'onCurrent-items': (v: any[]) => {\n this.internalCurrentItems = v\n this.$emit('current-items', v)\n },\n 'onPage-count': (v: number) => this.$emit('page-count', v),\n }, this.genDefaultScopedSlot)\n },\n})\n"],"sourceRoot":"","file":"VDataTable.js"}
@@ -96,7 +96,7 @@ var _default2 = baseMixins.extend({
96
96
  passive: true
97
97
  });
98
98
  },
99
- beforeDestroy: function beforeDestroy() {
99
+ beforeUnmount: function beforeUnmount() {
100
100
  this.$refs.table.removeEventListener('scroll', this.scrollDebounce);
101
101
  },
102
102
  methods: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDataTable/VVirtualTable.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\nimport './VVirtualTable.sass'\n\n// Components\nimport VSimpleTable from './VSimpleTable'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utiltiies\nimport { convertToUnit, debounce, getSlot } from '../../util/helpers'\n\n// Types\nconst baseMixins = mixins(VSimpleTable)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n table: HTMLElement\n }\n cachedItems: VNodeChildren\n}\n\nexport default baseMixins.extend({\n name: 'v-virtual-table',\n\n props: {\n chunkSize: {\n type: Number,\n default: 25,\n },\n headerHeight: {\n type: Number,\n default: 48,\n },\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n rowHeight: {\n type: Number,\n default: 48,\n },\n },\n\n data: () => ({\n scrollTop: 0,\n oldChunk: 0,\n scrollDebounce: null as any,\n invalidateCache: false,\n }),\n\n computed: {\n itemsLength (): number {\n return this.items.length\n },\n totalHeight (): number {\n return (this.itemsLength * this.rowHeight) + this.headerHeight\n },\n topIndex (): number {\n return Math.floor(this.scrollTop / this.rowHeight)\n },\n chunkIndex (): number {\n return Math.floor(this.topIndex / this.chunkSize)\n },\n startIndex (): number {\n return Math.max(0, (this.chunkIndex * this.chunkSize) - this.chunkSize)\n },\n offsetTop (): number {\n return Math.max(0, this.startIndex * this.rowHeight)\n },\n stopIndex (): number {\n return Math.min(this.startIndex + (this.chunkSize * 3), this.itemsLength)\n },\n offsetBottom (): number {\n return Math.max(0, (this.itemsLength - this.stopIndex - this.startIndex) * this.rowHeight)\n },\n },\n\n watch: {\n chunkIndex (newValue, oldValue) {\n this.oldChunk = oldValue\n },\n items () {\n this.cachedItems = null\n this.$refs.table.scrollTop = 0\n },\n },\n\n created () {\n this.cachedItems = null\n },\n\n mounted () {\n this.scrollDebounce = debounce(this.onScroll, 50)\n\n this.$refs.table.addEventListener('scroll', this.scrollDebounce, { passive: true })\n },\n\n beforeDestroy () {\n this.$refs.table.removeEventListener('scroll', this.scrollDebounce)\n },\n\n methods: {\n createStyleHeight (height: number) {\n return {\n height: `${height}px`,\n }\n },\n genBody () {\n if (this.cachedItems === null || this.chunkIndex !== this.oldChunk) {\n this.cachedItems = this.genItems()\n this.oldChunk = this.chunkIndex\n }\n\n return h('tbody', [\n h('tr', { style: this.createStyleHeight(this.offsetTop) }),\n this.cachedItems,\n h('tr', { style: this.createStyleHeight(this.offsetBottom) }),\n ])\n },\n genItems () {\n return this.$slots.items!({ items: this.items.slice(this.startIndex, this.stopIndex) })\n },\n onScroll (e: Event) {\n const target = e.target as Element\n this.scrollTop = target.scrollTop\n },\n genTable () {\n return h('div', {\n ref: 'table',\n class: 'v-virtual-table__table',\n }, [\n h('table', [\n this.$slots['body.before'],\n this.genBody(),\n this.$slots['body.after'],\n ]),\n ])\n },\n genWrapper () {\n return h('div', {\n class: 'v-virtual-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.genTable(),\n ])\n },\n },\n\n render (): VNode {\n return h('div', {\n class: 'v-data-table v-virtual-table',\n class: this.classes,\n }, [\n getSlot(this, 'top'),\n this.genWrapper(),\n getSlot(this, 'bottom'),\n ])\n },\n})\n"],"sourceRoot":"","file":"VVirtualTable.js"}
1
+ {"version":3,"sources":["../../../src/components/VDataTable/VVirtualTable.ts"],"names":[],"mappings":"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","sourcesContent":["import {h} from 'vue'\nimport './VVirtualTable.sass'\n\n// Components\nimport VSimpleTable from './VSimpleTable'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\nimport { PropValidator } from 'vue/types/options'\nimport mixins from '../../util/mixins'\n\n// Utiltiies\nimport { convertToUnit, debounce, getSlot } from '../../util/helpers'\n\n// Types\nconst baseMixins = mixins(VSimpleTable)\n\ninterface options extends InstanceType<typeof baseMixins> {\n $refs: {\n table: HTMLElement\n }\n cachedItems: VNodeChildren\n}\n\nexport default baseMixins.extend({\n name: 'v-virtual-table',\n\n props: {\n chunkSize: {\n type: Number,\n default: 25,\n },\n headerHeight: {\n type: Number,\n default: 48,\n },\n items: {\n type: Array,\n default: () => ([]),\n } as PropValidator<any[]>,\n rowHeight: {\n type: Number,\n default: 48,\n },\n },\n\n data: () => ({\n scrollTop: 0,\n oldChunk: 0,\n scrollDebounce: null as any,\n invalidateCache: false,\n }),\n\n computed: {\n itemsLength (): number {\n return this.items.length\n },\n totalHeight (): number {\n return (this.itemsLength * this.rowHeight) + this.headerHeight\n },\n topIndex (): number {\n return Math.floor(this.scrollTop / this.rowHeight)\n },\n chunkIndex (): number {\n return Math.floor(this.topIndex / this.chunkSize)\n },\n startIndex (): number {\n return Math.max(0, (this.chunkIndex * this.chunkSize) - this.chunkSize)\n },\n offsetTop (): number {\n return Math.max(0, this.startIndex * this.rowHeight)\n },\n stopIndex (): number {\n return Math.min(this.startIndex + (this.chunkSize * 3), this.itemsLength)\n },\n offsetBottom (): number {\n return Math.max(0, (this.itemsLength - this.stopIndex - this.startIndex) * this.rowHeight)\n },\n },\n\n watch: {\n chunkIndex (newValue, oldValue) {\n this.oldChunk = oldValue\n },\n items () {\n this.cachedItems = null\n this.$refs.table.scrollTop = 0\n },\n },\n\n created () {\n this.cachedItems = null\n },\n\n mounted () {\n this.scrollDebounce = debounce(this.onScroll, 50)\n\n this.$refs.table.addEventListener('scroll', this.scrollDebounce, { passive: true })\n },\n\n beforeUnmount () {\n this.$refs.table.removeEventListener('scroll', this.scrollDebounce)\n },\n\n methods: {\n createStyleHeight (height: number) {\n return {\n height: `${height}px`,\n }\n },\n genBody () {\n if (this.cachedItems === null || this.chunkIndex !== this.oldChunk) {\n this.cachedItems = this.genItems()\n this.oldChunk = this.chunkIndex\n }\n\n return h('tbody', [\n h('tr', { style: this.createStyleHeight(this.offsetTop) }),\n this.cachedItems,\n h('tr', { style: this.createStyleHeight(this.offsetBottom) }),\n ])\n },\n genItems () {\n return this.$slots.items!({ items: this.items.slice(this.startIndex, this.stopIndex) })\n },\n onScroll (e: Event) {\n const target = e.target as Element\n this.scrollTop = target.scrollTop\n },\n genTable () {\n return h('div', {\n ref: 'table',\n class: 'v-virtual-table__table',\n }, [\n h('table', [\n this.$slots['body.before'],\n this.genBody(),\n this.$slots['body.after'],\n ]),\n ])\n },\n genWrapper () {\n return h('div', {\n class: 'v-virtual-table__wrapper',\n style: {\n height: convertToUnit(this.height),\n },\n }, [\n this.genTable(),\n ])\n },\n },\n\n render (): VNode {\n return h('div', {\n class: 'v-data-table v-virtual-table',\n class: this.classes,\n }, [\n getSlot(this, 'top'),\n this.genWrapper(),\n getSlot(this, 'bottom'),\n ])\n },\n})\n"],"sourceRoot":"","file":"VVirtualTable.js"}
@@ -143,7 +143,7 @@ var _default = baseMixins.extend({
143
143
  _this.isActive && _this.show();
144
144
  });
145
145
  },
146
- beforeDestroy: function beforeDestroy() {
146
+ beforeUnmount: function beforeUnmount() {
147
147
  if (typeof window !== 'undefined') this.unbind();
148
148
  },
149
149
  methods: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import {Transition, h, vShow, withDirectives} from 'vue'\n// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$slots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeDestroy () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark\n }, [\n h('div', {\n class: this.contentClasses,\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n onKeydown: this.onKeydown,\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition,\n origin: this.origin,\n appear: true\n }, [content])\n },\n genInnerContent () {\n const directives = [\n [\n ClickOutside,\n {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n }\n ],\n [\n vShow,\n this.isActive\n ]\n ]\n const data: VNodeData = {\n class: this.classes,\n tabindex: this.isActive ? 0 : undefined,\n ref: 'dialog',\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return withDirectives(\n h('div', data, this.getContentSlot()),\n directives\n )\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-dialog__container', {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
1
+ {"version":3,"sources":["../../../src/components/VDialog/VDialog.ts"],"names":[],"mappings":"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","sourcesContent":["import {Transition, h, vShow, withDirectives} from 'vue'\n// Styles\nimport './VDialog.sass'\n\n// Components\nimport { VThemeProvider } from '../VThemeProvider'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Overlayable from '../../mixins/overlayable'\nimport Returnable from '../../mixins/returnable'\nimport Stackable from '../../mixins/stackable'\n\n// Directives\nimport ClickOutside from '../../directives/click-outside'\n\n// Helpers\nimport mixins from '../../util/mixins'\nimport { removed } from '../../util/console'\nimport {\n convertToUnit,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\nconst baseMixins = mixins(\n Dependent,\n Detachable,\n Overlayable,\n Returnable,\n Stackable,\n Activatable,\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-dialog',\n\n props: {\n dark: Boolean,\n disabled: Boolean,\n fullscreen: Boolean,\n light: Boolean,\n maxWidth: [String, Number],\n noClickAnimation: Boolean,\n origin: {\n type: String,\n default: 'center center',\n },\n persistent: Boolean,\n retainFocus: {\n type: Boolean,\n default: true,\n },\n scrollable: Boolean,\n transition: {\n type: [String, Boolean],\n default: 'dialog-transition',\n },\n width: [String, Number],\n },\n\n data () {\n return {\n activatedBy: null as EventTarget | null,\n animate: false,\n animateTimeout: -1,\n stackMinZIndex: 200,\n previousActiveElement: null as HTMLElement | null,\n }\n },\n\n computed: {\n classes (): object {\n return {\n [(`v-dialog ${this.contentClass}`).trim()]: true,\n 'v-dialog--active': this.isActive,\n 'v-dialog--persistent': this.persistent,\n 'v-dialog--fullscreen': this.fullscreen,\n 'v-dialog--scrollable': this.scrollable,\n 'v-dialog--animated': this.animate,\n }\n },\n contentClasses (): object {\n return {\n 'v-dialog__content': true,\n 'v-dialog__content--active': this.isActive,\n }\n },\n hasActivator (): boolean {\n return Boolean(\n !!this.$slots.activator ||\n !!this.$slots.activator\n )\n },\n },\n\n watch: {\n isActive (val) {\n if (val) {\n this.show()\n this.hideScroll()\n } else {\n this.removeOverlay()\n this.unbind()\n this.previousActiveElement?.focus()\n }\n },\n fullscreen (val) {\n if (!this.isActive) return\n\n if (val) {\n this.hideScroll()\n this.removeOverlay(false)\n } else {\n this.showScroll()\n this.genOverlay()\n }\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('full-width')) {\n removed('full-width', this)\n }\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.isBooted = this.isActive\n this.isActive && this.show()\n })\n },\n\n beforeUnmount () {\n if (typeof window !== 'undefined') this.unbind()\n },\n\n methods: {\n animateClick () {\n this.animate = false\n // Needed for when clicking very fast\n // outside of the dialog\n this.$nextTick(() => {\n this.animate = true\n window.clearTimeout(this.animateTimeout)\n this.animateTimeout = window.setTimeout(() => (this.animate = false), 150)\n })\n },\n closeConditional (e: Event) {\n const target = e.target as HTMLElement\n // Ignore the click if the dialog is closed or destroyed,\n // if it was on an element inside the content,\n // if it was dragged onto the overlay (#6969),\n // or if this isn't the topmost dialog (#9907)\n return !(\n this._isDestroyed ||\n !this.isActive ||\n this.$refs.content.contains(target) ||\n (this.overlay && target && !this.overlay.$el.contains(target))\n ) && this.activeZIndex >= this.getMaxZIndex()\n },\n hideScroll () {\n if (this.fullscreen) {\n document.documentElement.classList.add('overflow-y-hidden')\n } else {\n Overlayable.methods.hideScroll.call(this)\n }\n },\n show () {\n !this.fullscreen && !this.hideOverlay && this.genOverlay()\n // Double nextTick to wait for lazy content to be generated\n this.$nextTick(() => {\n this.$nextTick(() => {\n if (!this.$refs.dialog?.contains(document.activeElement)) {\n this.previousActiveElement = document.activeElement as HTMLElement\n this.$refs.dialog?.focus()\n }\n this.bind()\n })\n })\n },\n bind () {\n window.addEventListener('focusin', this.onFocusin)\n },\n unbind () {\n window.removeEventListener('focusin', this.onFocusin)\n },\n onClickOutside (e: Event) {\n this.$emit('click:outside', e)\n\n if (this.persistent) {\n this.noClickAnimation || this.animateClick()\n } else {\n this.isActive = false\n }\n },\n onKeydown (e: KeyboardEvent) {\n if (e.keyCode === keyCodes.esc && !this.getOpenDependents().length) {\n if (!this.persistent) {\n this.isActive = false\n const activator = this.getActivator()\n this.$nextTick(() => activator && (activator as HTMLElement).focus())\n } else if (!this.noClickAnimation) {\n this.animateClick()\n }\n }\n this.$emit('keydown', e)\n },\n // On focus change, wrap focus to stay inside the dialog\n // https://github.com/vuetifyjs/vuetify/issues/6892\n onFocusin (e: Event) {\n if (!e || !this.retainFocus) return\n\n const target = e.target as HTMLElement\n\n if (\n !!target &&\n this.$refs.dialog &&\n // It isn't the document or the dialog body\n ![document, this.$refs.dialog].includes(target) &&\n // It isn't inside the dialog body\n !this.$refs.dialog.contains(target) &&\n // We're the topmost dialog\n this.activeZIndex >= this.getMaxZIndex() &&\n // It isn't inside a dependent element (like a menu)\n !this.getOpenDependentElements().some(el => el.contains(target))\n // So we must have focused something outside the dialog and its children\n ) {\n // Find and focus the first available element inside the dialog\n const focusable = this.$refs.dialog.querySelectorAll('button, [href], input:not([type=\"hidden\"]), select, textarea, [tabindex]:not([tabindex=\"-1\"])')\n const el = [...focusable].find(el => !el.hasAttribute('disabled') && !el.matches('[tabindex=\"-1\"]')) as HTMLElement | undefined\n el && el.focus()\n }\n },\n genContent () {\n return this.showLazyContent(() => [\n h(VThemeProvider, {\n root: true,\n light: this.light,\n dark: this.dark\n }, [\n h('div', {\n class: this.contentClasses,\n role: 'dialog',\n 'aria-modal': this.hideOverlay ? undefined : 'true',\n ...this.getScopeIdAttrs(),\n onKeydown: this.onKeydown,\n style: { zIndex: this.activeZIndex },\n ref: 'content',\n }, [this.genTransition()]),\n ]),\n ])\n },\n genTransition () {\n const content = this.genInnerContent()\n\n if (!this.transition) return content\n\n return h(Transition, {\n name: this.transition,\n origin: this.origin,\n appear: true\n }, [content])\n },\n genInnerContent () {\n const directives = [\n [\n ClickOutside,\n {\n handler: this.onClickOutside,\n closeConditional: this.closeConditional,\n include: this.getOpenDependentElements,\n }\n ],\n [\n vShow,\n this.isActive\n ]\n ]\n const data: VNodeData = {\n class: this.classes,\n tabindex: this.isActive ? 0 : undefined,\n ref: 'dialog',\n style: {\n transformOrigin: this.origin,\n },\n }\n\n if (!this.fullscreen) {\n data.style = {\n ...data.style as object,\n maxWidth: convertToUnit(this.maxWidth),\n width: convertToUnit(this.width),\n }\n }\n\n return withDirectives(\n h('div', data, this.getContentSlot()),\n directives\n )\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-dialog__container', {\n 'v-dialog__container--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }]\n }, [\n this.genActivator(),\n this.genContent(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VDialog.js"}
@@ -54,7 +54,7 @@ var _default = baseMixins.extend({
54
54
  created: function created() {
55
55
  this.expansionPanel.registerContent(this);
56
56
  },
57
- beforeDestroy: function beforeDestroy() {
57
+ beforeUnmount: function beforeUnmount() {
58
58
  this.expansionPanel.unregisterContent();
59
59
  },
60
60
  render: function render() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanelContent.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAGA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;;;AAPA;AAKA;AAOA,IAAM,UAAU,GAAG,qBACjB,iBADiB,EAEjB,kBAFiB,EAGjB,yBAAyD,gBAAzD,EAA2E,2BAA3E,EAAwG,mBAAxG,CAHiB,CAAnB;AAUA;;eACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,2BADyB;AAG/B,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,QAAQ,EAAE;AADC,KAAP;AAAA,GAHyB;AAO/B,EAAA,QAAQ,EAAE;AACR,IAAA,cADQ,4BACM;AACZ,aAAO,KAAK,cAAL,CAAoB,QAA3B;AACD;AAHO,GAPqB;AAa/B,EAAA,KAAK,EAAE;AACL,IAAA,cAAc,EAAE;AACd,MAAA,SAAS,EAAE,IADG;AAEd,MAAA,OAFc,mBAEL,GAFK,EAEA,MAFA,EAEM;AAAA;;AAClB,YAAI,GAAJ,EAAS,KAAK,QAAL,GAAgB,IAAhB;AAET,YAAI,MAAM,IAAI,IAAd,EAAoB,KAAK,QAAL,GAAgB,GAAhB,CAApB,KACK,KAAK,SAAL,CAAe;AAAA,iBAAM,KAAI,CAAC,QAAL,GAAgB,GAAtB;AAAA,SAAf;AACN;AAPa;AADX,GAbwB;AAyB/B,EAAA,OAzB+B,qBAyBxB;AACL,SAAK,cAAL,CAAoB,eAApB,CAAoC,IAApC;AACD,GA3B8B;AA6B/B,EAAA,aA7B+B,2BA6BlB;AACX,SAAK,cAAL,CAAoB,iBAApB;AACD,GA/B8B;AAiC/B,EAAA,MAjC+B,oBAiCzB;AAAA;;AACJ,WAAO,YAAE,8BAAF,EAAqB,KAAK,eAAL,CAAqB;AAAA,aAAM,CACrD,yBAAe,YAAE,KAAF,EAAS,MAAI,CAAC,kBAAL,CAAwB,MAAI,CAAC,KAA7B,EAAoC;AAC1D,QAAA,KAAK,EAAE;AADmD,OAApC,CAAT,EAEX,CACF,YAAE,KAAF,EAAS;AAAE,QAAA,KAAK,EAAE;AAAT,OAAT,EAAuD,sBAAQ,MAAR,EAAc,SAAd,EAAyB;AAAE,QAAA,IAAI,EAAE,MAAI,CAAC;AAAb,OAAzB,CAAvD,CADE,CAFW,CAAf,EAII,CACF,CACE,UADF,EAEE,MAAI,CAAC,QAFP,CADE,CAJJ,CADqD,CAAN;AAAA,KAArB,CAArB,CAAP;AAYD;AA9C8B,CAAlB,C","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-expansion-panel-content',\n\n data: () => ({\n isActive: false,\n }),\n\n computed: {\n parentIsActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n watch: {\n parentIsActive: {\n immediate: true,\n handler (val, oldVal) {\n if (val) this.isBooted = true\n\n if (oldVal == null) this.isActive = val\n else this.$nextTick(() => this.isActive = val)\n },\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterContent()\n },\n\n render (): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n withDirectives(h('div', this.setBackgroundColor(this.color, {\n class: 'v-expansion-panel-content'\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this, 'default', { open: this.isActive })),\n ]), [\n [\n vShow,\n this.isActive\n ]\n ]),\n ]))\n },\n})\n"],"sourceRoot":"","file":"VExpansionPanelContent.js"}
1
+ {"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanelContent.ts"],"names":[],"mappings":";;;;;;;AAAA;;AAGA;;AAGA;;AACA;;AACA;;AAGA;;AACA;;;;AAPA;AAKA;AAOA,IAAM,UAAU,GAAG,qBACjB,iBADiB,EAEjB,kBAFiB,EAGjB,yBAAyD,gBAAzD,EAA2E,2BAA3E,EAAwG,mBAAxG,CAHiB,CAAnB;AAUA;;eACe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,2BADyB;AAG/B,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,QAAQ,EAAE;AADC,KAAP;AAAA,GAHyB;AAO/B,EAAA,QAAQ,EAAE;AACR,IAAA,cADQ,4BACM;AACZ,aAAO,KAAK,cAAL,CAAoB,QAA3B;AACD;AAHO,GAPqB;AAa/B,EAAA,KAAK,EAAE;AACL,IAAA,cAAc,EAAE;AACd,MAAA,SAAS,EAAE,IADG;AAEd,MAAA,OAFc,mBAEL,GAFK,EAEA,MAFA,EAEM;AAAA;;AAClB,YAAI,GAAJ,EAAS,KAAK,QAAL,GAAgB,IAAhB;AAET,YAAI,MAAM,IAAI,IAAd,EAAoB,KAAK,QAAL,GAAgB,GAAhB,CAApB,KACK,KAAK,SAAL,CAAe;AAAA,iBAAM,KAAI,CAAC,QAAL,GAAgB,GAAtB;AAAA,SAAf;AACN;AAPa;AADX,GAbwB;AAyB/B,EAAA,OAzB+B,qBAyBxB;AACL,SAAK,cAAL,CAAoB,eAApB,CAAoC,IAApC;AACD,GA3B8B;AA6B/B,EAAA,aA7B+B,2BA6BlB;AACX,SAAK,cAAL,CAAoB,iBAApB;AACD,GA/B8B;AAiC/B,EAAA,MAjC+B,oBAiCzB;AAAA;;AACJ,WAAO,YAAE,8BAAF,EAAqB,KAAK,eAAL,CAAqB;AAAA,aAAM,CACrD,yBAAe,YAAE,KAAF,EAAS,MAAI,CAAC,kBAAL,CAAwB,MAAI,CAAC,KAA7B,EAAoC;AAC1D,QAAA,KAAK,EAAE;AADmD,OAApC,CAAT,EAEX,CACF,YAAE,KAAF,EAAS;AAAE,QAAA,KAAK,EAAE;AAAT,OAAT,EAAuD,sBAAQ,MAAR,EAAc,SAAd,EAAyB;AAAE,QAAA,IAAI,EAAE,MAAI,CAAC;AAAb,OAAzB,CAAvD,CADE,CAFW,CAAf,EAII,CACF,CACE,UADF,EAEE,MAAI,CAAC,QAFP,CADE,CAJJ,CADqD,CAAN;AAAA,KAArB,CAArB,CAAP;AAYD;AA9C8B,CAAlB,C","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport VExpansionPanel from './VExpansionPanel'\nimport { VExpandTransition } from '../transitions'\n\n// Mixins\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Bootable,\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-content', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-expansion-panel-content',\n\n data: () => ({\n isActive: false,\n }),\n\n computed: {\n parentIsActive (): boolean {\n return this.expansionPanel.isActive\n },\n },\n\n watch: {\n parentIsActive: {\n immediate: true,\n handler (val, oldVal) {\n if (val) this.isBooted = true\n\n if (oldVal == null) this.isActive = val\n else this.$nextTick(() => this.isActive = val)\n },\n },\n },\n\n created () {\n this.expansionPanel.registerContent(this)\n },\n\n beforeUnmount () {\n this.expansionPanel.unregisterContent()\n },\n\n render (): VNode {\n return h(VExpandTransition, this.showLazyContent(() => [\n withDirectives(h('div', this.setBackgroundColor(this.color, {\n class: 'v-expansion-panel-content'\n }), [\n h('div', { class: 'v-expansion-panel-content__wrap' }, getSlot(this, 'default', { open: this.isActive })),\n ]), [\n [\n vShow,\n this.isActive\n ]\n ]),\n ]))\n },\n})\n"],"sourceRoot":"","file":"VExpansionPanelContent.js"}
@@ -79,7 +79,7 @@ var _default = baseMixins.extend({
79
79
  created: function created() {
80
80
  this.expansionPanel.registerHeader(this);
81
81
  },
82
- beforeDestroy: function beforeDestroy() {
82
+ beforeUnmount: function beforeUnmount() {
83
83
  this.expansionPanel.unregisterHeader();
84
84
  },
85
85
  methods: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\nexport default baseMixins.extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeDestroy () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n this.$emitLegacy('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions', { open: this.isActive }) ||\n [h(VIcon, this.expandIcon)]\n\n return h(VFadeTransition, [\n withDirectives(h('div', {\n class: ['v-expansion-panel-header__icon', {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n }]\n }, icon), [\n [\n vShow,\n !this.isDisabled\n ]\n ]),\n ])\n },\n },\n\n render (): VNode {\n const directives = [\n [\n Ripple,\n this.ripple\n ]\n ]\n\n return withDirectives(h('button', this.setBackgroundColor(this.color, {\n class: ['v-expansion-panel-header', this.classes],\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n ...this.$listeners,\n onClick: this.onClick,\n onMousedown: () => (this.hasMousedown = true),\n onMouseup: () => (this.hasMousedown = false)\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VExpansionPanelHeader.js"}
1
+ {"version":3,"sources":["../../../src/components/VExpansionPanel/VExpansionPanelHeader.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, vShow, withDirectives} from 'vue'\n// Components\nimport { VFadeTransition } from '../transitions'\nimport VExpansionPanel from './VExpansionPanel'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport Vue, { VNode, VueConstructor } from 'vue'\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject<'expansionPanel', VueConstructor<Vue>>('expansionPanel', 'v-expansion-panel-header', 'v-expansion-panel')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n $el: HTMLElement\n expansionPanel: InstanceType<typeof VExpansionPanel>\n}\n\nexport default baseMixins.extend({\n name: 'v-expansion-panel-header',\n\n directives: { ripple },\n\n props: {\n disableIconRotate: Boolean,\n expandIcon: {\n type: String,\n default: '$expand',\n },\n hideActions: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: false,\n },\n },\n\n data: () => ({\n hasMousedown: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-expansion-panel-header--active': this.isActive,\n 'v-expansion-panel-header--mousedown': this.hasMousedown,\n }\n },\n isActive (): boolean {\n return this.expansionPanel.isActive\n },\n isDisabled (): boolean {\n return this.expansionPanel.isDisabled\n },\n isReadonly (): boolean {\n return this.expansionPanel.isReadonly\n },\n },\n\n created () {\n this.expansionPanel.registerHeader(this)\n },\n\n beforeUnmount () {\n this.expansionPanel.unregisterHeader()\n },\n\n methods: {\n onClick (e: MouseEvent) {\n this.$emit('click', e)\n this.$emitLegacy('click', e)\n },\n genIcon () {\n const icon = getSlot(this, 'actions', { open: this.isActive }) ||\n [h(VIcon, this.expandIcon)]\n\n return h(VFadeTransition, [\n withDirectives(h('div', {\n class: ['v-expansion-panel-header__icon', {\n 'v-expansion-panel-header__icon--disable-rotate': this.disableIconRotate,\n }]\n }, icon), [\n [\n vShow,\n !this.isDisabled\n ]\n ]),\n ])\n },\n },\n\n render (): VNode {\n const directives = [\n [\n Ripple,\n this.ripple\n ]\n ]\n\n return withDirectives(h('button', this.setBackgroundColor(this.color, {\n class: ['v-expansion-panel-header', this.classes],\n tabindex: this.isDisabled ? -1 : null,\n type: 'button',\n 'aria-expanded': this.isActive,\n ...this.$listeners,\n onClick: this.onClick,\n onMousedown: () => (this.hasMousedown = true),\n onMouseup: () => (this.hasMousedown = false)\n }), [\n getSlot(this, 'default', { open: this.isActive }, true),\n this.hideActions || this.genIcon(),\n ]), directives)\n },\n})\n"],"sourceRoot":"","file":"VExpansionPanelHeader.js"}
@@ -128,7 +128,7 @@ var _default = baseMixins.extend({
128
128
  }
129
129
  },
130
130
  watch: {
131
- value: function value(val) {
131
+ modelValue: function modelValue(val) {
132
132
  this.lazyValue = val;
133
133
  }
134
134
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType, h, getCurrentInstance } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n modelValue: null as any as PropType<any>,\n },\n\n data () {\n return {\n lazyValue: this.modelValue,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // <v-switch loading>.loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this.$.uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n value (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = /*(this.$options.model && this.$options.model.event) ||*/ 'update:modelValue'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return h('div', {\n class: 'v-input__control',\n title: this.attrs$.title,\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n getSlot(this),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear',\n }[type]\n const label = hasListener && localeKey\n ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, this.label ?? '')\n : undefined\n\n const data = mergeData({\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n ...(!hasListener\n ? {}\n : {\n onClick: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n onMouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n }),\n }, extraData)\n\n return h('div', {\n class: {\n 'v-input__icon': true,\n [`v-input__icon--${kebabCase(type)}`]: type\n },\n }, [\n h(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return h('div', this.setBackgroundColor(this.backgroundColor, {\n class: {'v-input__slot': true},\n style: { height: convertToUnit(this.height) },\n onClick: this.onClick,\n onMousedown: this.onMouseDown,\n onMouseup: this.onMouseUp,\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return h(VLabel, {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n }, getSlot(this, 'label') || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return h(VMessages, {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n role: this.hasMessages ? 'alert' : null,\n }, {default: getSlot(this, 'message') })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n slot = slot.map(child => child instanceof Function ? child() : child)\n\n return h('div', {\n class: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.validationState, {\n class: {'v-input': true, ...this.classes},\n }), this.genContent())\n },\n})\n"],"sourceRoot":"","file":"VInput.js"}
1
+ {"version":3,"sources":["../../../src/components/VInput/VInput.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VInput.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VLabel from '../VLabel'\nimport VMessages from '../VMessages'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Validatable from '../../mixins/validatable'\n\n// Utilities\nimport {\n convertToUnit,\n getSlot,\n kebabCase,\n} from '../../util/helpers'\nimport mergeData from '../../util/mergeData'\n\n// Types\nimport { VNode, VNodeData, PropType, h, getCurrentInstance } from 'vue'\nimport mixins from '../../util/mixins'\nimport { InputValidationRule } from 'vuetify/types'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Validatable,\n)\n\ninterface options extends InstanceType<typeof baseMixins> {\n /* eslint-disable-next-line camelcase */\n $_modelEvent: string\n}\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-input',\n\n inheritAttrs: false,\n\n props: {\n appendIcon: String,\n backgroundColor: {\n type: String,\n default: '',\n },\n dense: Boolean,\n height: [Number, String],\n hideDetails: [Boolean, String] as PropType<boolean | 'auto'>,\n hideSpinButtons: Boolean,\n hint: String,\n id: String,\n label: String,\n loading: Boolean,\n persistentHint: Boolean,\n prependIcon: String,\n modelValue: null as any as PropType<any>,\n },\n\n data () {\n return {\n lazyValue: this.modelValue,\n hasMouseDown: false,\n }\n },\n\n computed: {\n classes (): object {\n return {\n 'v-input--has-state': this.hasState,\n 'v-input--hide-details': !this.showDetails,\n 'v-input--is-label-active': this.isLabelActive,\n 'v-input--is-dirty': this.isDirty,\n 'v-input--is-disabled': this.isDisabled,\n 'v-input--is-focused': this.isFocused,\n // <v-switch loading>.loading === '' so we can't just cast to boolean\n 'v-input--is-loading': this.loading !== false && this.loading != null,\n 'v-input--is-readonly': this.isReadonly,\n 'v-input--dense': this.dense,\n 'v-input--hide-spin-buttons': this.hideSpinButtons,\n ...this.themeClasses,\n }\n },\n computedId (): string {\n return this.id || `input-${this.$.uid}`\n },\n hasDetails (): boolean {\n return this.messagesToDisplay.length > 0\n },\n hasHint (): boolean {\n return !this.hasMessages &&\n !!this.hint &&\n (this.persistentHint || this.isFocused)\n },\n hasLabel (): boolean {\n return !!(this.$slots.label || this.label)\n },\n // Proxy for `lazyValue`\n // This allows an input\n // to function without\n // a provided model\n internalValue: {\n get (): any {\n return this.lazyValue\n },\n set (val: any) {\n this.lazyValue = val\n this.$emit(this.$_modelEvent, val)\n },\n },\n isDirty (): boolean {\n return !!this.lazyValue\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n messagesToDisplay (): string[] {\n if (this.hasHint) return [this.hint]\n\n if (!this.hasMessages) return []\n\n return this.validations.map((validation: string | InputValidationRule) => {\n if (typeof validation === 'string') return validation\n\n const validationResult = validation(this.internalValue)\n\n return typeof validationResult === 'string' ? validationResult : ''\n }).filter(message => message !== '')\n },\n showDetails (): boolean {\n return this.hideDetails === false || (this.hideDetails === 'auto' && this.hasDetails)\n },\n },\n\n watch: {\n modelValue (val) {\n this.lazyValue = val\n },\n },\n\n beforeCreate () {\n // v-radio-group needs to emit a different event\n // https://github.com/vuetifyjs/vuetify/issues/4752\n this.$_modelEvent = /*(this.$options.model && this.$options.model.event) ||*/ 'update:modelValue'\n },\n\n methods: {\n genContent () {\n return [\n this.genPrependSlot(),\n this.genControl(),\n this.genAppendSlot(),\n ]\n },\n genControl () {\n return h('div', {\n class: 'v-input__control',\n title: this.attrs$.title,\n }, [\n this.genInputSlot(),\n this.genMessages(),\n ])\n },\n genDefaultSlot () {\n return [\n this.genLabel(),\n getSlot(this),\n ]\n },\n genIcon (\n type: string,\n cb?: (e: Event) => void,\n extraData: VNodeData = {}\n ) {\n const icon = (this as any)[`${type}Icon`]\n const eventName = `click:${kebabCase(type)}`\n const hasListener = !!(this.listeners$[eventName] || cb)\n\n const localeKey = {\n prepend: 'prependAction',\n prependInner: 'prependAction',\n append: 'appendAction',\n appendOuter: 'appendAction',\n clear: 'clear',\n }[type]\n const label = hasListener && localeKey\n ? this.$vuetify.lang.t(`$vuetify.input.${localeKey}`, this.label ?? '')\n : undefined\n\n const data = mergeData({\n 'aria-label': label,\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n light: this.light,\n tabindex: type === 'clear' ? -1 : undefined,\n ...(!hasListener\n ? {}\n : {\n onClick: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n\n this.$emit(eventName, e)\n cb && cb(e)\n },\n // Container has g event that will\n // trigger menu open if enclosed\n onMouseup: (e: Event) => {\n e.preventDefault()\n e.stopPropagation()\n },\n }),\n }, extraData)\n\n return h('div', {\n class: {\n 'v-input__icon': true,\n [`v-input__icon--${kebabCase(type)}`]: type\n },\n }, [\n h(\n VIcon,\n data,\n icon\n ),\n ])\n },\n genInputSlot () {\n return h('div', this.setBackgroundColor(this.backgroundColor, {\n class: {'v-input__slot': true},\n style: { height: convertToUnit(this.height) },\n onClick: this.onClick,\n onMousedown: this.onMouseDown,\n onMouseup: this.onMouseUp,\n ref: 'input-slot',\n }), [this.genDefaultSlot()])\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return h(VLabel, {\n color: this.validationState,\n dark: this.dark,\n disabled: this.isDisabled,\n focused: this.hasState,\n for: this.computedId,\n light: this.light,\n }, getSlot(this, 'label') || this.label)\n },\n genMessages () {\n if (!this.showDetails) return null\n\n return h(VMessages, {\n color: this.hasHint ? '' : this.validationState,\n dark: this.dark,\n light: this.light,\n value: this.messagesToDisplay,\n role: this.hasMessages ? 'alert' : null,\n }, {default: getSlot(this, 'message') })\n },\n genSlot (\n type: string,\n location: string,\n slot: (VNode | VNode[])[]\n ) {\n if (!slot.length) return null\n\n const ref = `${type}-${location}`\n\n slot = slot.map(child => child instanceof Function ? child() : child)\n\n return h('div', {\n class: `v-input__${ref}`,\n ref,\n }, slot)\n },\n genPrependSlot () {\n const slot = []\n\n if (this.$slots.prepend) {\n slot.push(this.$slots.prepend)\n } else if (this.prependIcon) {\n slot.push(this.genIcon('prepend'))\n }\n\n return this.genSlot('prepend', 'outer', slot)\n },\n genAppendSlot () {\n const slot = []\n\n // Append icon for text field was really\n // an appended inner icon, v-text-field\n // will overwrite this method in order to obtain\n // backwards compat\n if (this.$slots.append) {\n slot.push(this.$slots.append)\n } else if (this.appendIcon) {\n slot.push(this.genIcon('append'))\n }\n\n return this.genSlot('append', 'outer', slot)\n },\n onClick (e: Event) {\n this.$emit('click', e)\n },\n onMouseDown (e: Event) {\n this.hasMouseDown = true\n this.$emit('mousedown', e)\n },\n onMouseUp (e: Event) {\n this.hasMouseDown = false\n this.$emit('mouseup', e)\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.validationState, {\n class: {'v-input': true, ...this.classes},\n }), this.genContent())\n },\n})\n"],"sourceRoot":"","file":"VInput.js"}
@@ -103,7 +103,7 @@ var _default = baseMixins.extend({
103
103
  this.isActive = this.matchRoute(this.$route.path);
104
104
  }
105
105
  },
106
- beforeDestroy: function beforeDestroy() {
106
+ beforeUnmount: function beforeUnmount() {
107
107
  this.list && this.list.unregister(this);
108
108
  },
109
109
  methods: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeDestroy () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return h(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n const slot = getSlot(this, 'appendIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__append-icon',\n }, [\n slot || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return withDirectives(h(VListItem, {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n class: {\n 'v-list-group__header': true,\n [this.activeClass]: this.isActive,\n },\n inputValue: this.isActive,\n ...this.listeners$,\n onClick: this.click\n }, [\n this.genPrependIcon(),\n getSlot(this, 'activator'),\n this.genAppendIcon(),\n ]),\n [\n [Ripple, this.ripple]\n ])\n },\n genItems (): VNode[] {\n return this.showLazyContent(() => [\n h('div', {\n class: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, getSlot(this)),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n const slot = getSlot(this, 'prependIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__prepend-icon',\n }, [\n slot || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n class: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n"],"sourceRoot":"","file":"VListGroup.js"}
1
+ {"version":3,"sources":["../../../src/components/VList/VListGroup.ts"],"names":[],"mappings":";;;;;;;;;AAAA;;AAEA;;AAGA;;AAEA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AAGA;;AAGA;;AACA;;;;;;;;;;;;;;AAMA,IAAM,UAAU,GAAG,qBACjB,mBADiB,EAEjB,iBAFiB,EAGjB,kBAHiB,EAIjB,yBAAkB,MAAlB,CAJiB,EAKjB,mBALiB,CAAnB;;eAkBe,UAAU,CAAC,MAAX,CAAkB;AAC/B,EAAA,IAAI,EAAE,cADyB;AAG/B,EAAA,UAAU,EAAE;AAAE,IAAA,MAAM,EAAN;AAAF,GAHmB;AAK/B,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE;AACX,MAAA,IAAI,EAAE,MADK;AAEX,MAAA,OAAO,EAAE;AAFE,KADR;AAKL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,MADI;AAEV,MAAA,OAAO,EAAE;AAFC,KALP;AASL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,MADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KATF;AAaL,IAAA,QAAQ,EAAE,OAbL;AAcL,IAAA,KAAK,EAAE,CAAC,MAAD,EAAS,MAAT,CAdF;AAeL,IAAA,QAAQ,EAAE,OAfL;AAgBL,IAAA,WAAW,EAAE,MAhBR;AAiBL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KAjBH;AAqBL,IAAA,QAAQ,EAAE;AArBL,GALwB;AA6B/B,EAAA,QAAQ,EAAE;AACR,IAAA,OADQ,qBACD;AACL,aAAO;AACL,gCAAwB,KAAK,QADxB;AAEL,kCAA0B,KAAK,QAF1B;AAGL,mCAA2B,KAAK,QAH3B;AAIL,mCAA2B,KAAK;AAJ3B,OAAP;AAMD;AARO,GA7BqB;AAwC/B,EAAA,KAAK,EAAE;AACL,IAAA,QADK,oBACK,GADL,EACiB;AACpB;AACA,UAAI,CAAC,KAAK,QAAN,IAAkB,GAAtB,EAA2B;AACzB,aAAK,IAAL,IAAa,KAAK,IAAL,CAAU,SAAV,CAAoB,KAAK,IAAzB,CAAb;AACD;AACF,KANI;AAOL,IAAA,MAAM,EAAE;AAPH,GAxCwB;AAkD/B,EAAA,OAlD+B,qBAkDxB;AACL,SAAK,IAAL,IAAa,KAAK,IAAL,CAAU,QAAV,CAAmB,IAAnB,CAAb;;AAEA,QAAI,KAAK,KAAL,IACF,KAAK,MADH,IAEF,KAAK,KAAL,IAAc,IAFhB,EAGE;AACA,WAAK,QAAL,GAAgB,KAAK,UAAL,CAAgB,KAAK,MAAL,CAAY,IAA5B,CAAhB;AACD;AACF,GA3D8B;AA6D/B,EAAA,aA7D+B,2BA6DlB;AACX,SAAK,IAAL,IAAa,KAAK,IAAL,CAAU,UAAV,CAAqB,IAArB,CAAb;AACD,GA/D8B;AAiE/B,EAAA,OAAO,EAAE;AACP,IAAA,KADO,iBACA,CADA,EACQ;AAAA;;AACb,UAAI,KAAK,QAAT,EAAmB;AAEnB,WAAK,QAAL,GAAgB,IAAhB;AAEA,WAAK,KAAL,CAAW,OAAX,EAAoB,CAApB;AACA,WAAK,SAAL,CAAe;AAAA,eAAO,KAAI,CAAC,QAAL,GAAgB,CAAC,KAAI,CAAC,QAA7B;AAAA,OAAf;AACD,KARM;AASP,IAAA,OATO,mBASE,IATF,EASsB;AAC3B,aAAO,YAAE,cAAF,EAAS,IAAT,CAAP;AACD,KAXM;AAYP,IAAA,aAZO,2BAYM;AACX,UAAM,IAAI,GAAG,CAAC,KAAK,QAAN,GAAiB,KAAK,UAAtB,GAAmC,KAAhD;AACA,UAAM,IAAI,GAAG,sBAAQ,IAAR,EAAc,YAAd,CAAb;AAEA,UAAI,CAAC,IAAD,IAAS,CAAC,IAAd,EAAoB,OAAO,IAAP;AAEpB,aAAO,YAAE,sBAAF,EAAiB;AACtB,QAAA,KAAK,EAAE;AADe,OAAjB,EAEJ,CACD,IAAI,IAAI,KAAK,OAAL,CAAa,IAAb,CADP,CAFI,CAAP;AAKD,KAvBM;AAwBP,IAAA,SAxBO,uBAwBE;AACP,aAAO,yBAAe,YAAE,kBAAF;AACpB,yBAAiB,MAAM,CAAC,KAAK,QAAN,CADH;AAEpB,QAAA,IAAI,EAAE,QAFc;AAGpB,QAAA,KAAK;AACH,kCAAwB;AADrB,WAEF,KAAK,WAFH,EAEiB,KAAK,QAFtB,CAHe;AAOpB,QAAA,UAAU,EAAE,KAAK;AAPG,SAQjB,KAAK,UARY;AASpB,QAAA,OAAO,EAAE,KAAK;AATM,UAUnB,CACD,KAAK,cAAL,EADC,EAED,sBAAQ,IAAR,EAAc,WAAd,CAFC,EAGD,KAAK,aAAL,EAHC,CAVmB,CAAf,EAeP,CACE,CAAC,cAAD,EAAS,KAAK,MAAd,CADF,CAfO,CAAP;AAkBD,KA3CM;AA4CP,IAAA,QA5CO,sBA4CC;AAAA;;AACN,aAAO,KAAK,eAAL,CAAqB;AAAA,eAAM,CAChC,YAAE,KAAF,EAAS;AACP,UAAA,KAAK,EAAE,qBADA;AAEP,UAAA,UAAU,EAAE,CAAC;AACX,YAAA,IAAI,EAAE,MADK;AAEX,YAAA,KAAK,EAAE,MAAI,CAAC;AAFD,WAAD;AAFL,SAAT,EAMG,sBAAQ,MAAR,CANH,CADgC,CAAN;AAAA,OAArB,CAAP;AASD,KAtDM;AAuDP,IAAA,cAvDO,4BAuDO;AACZ,UAAM,IAAI,GAAG,KAAK,QAAL,IAAiB,KAAK,WAAL,IAAoB,IAArC,GACT,WADS,GAET,KAAK,WAFT;AAGA,UAAM,IAAI,GAAG,sBAAQ,IAAR,EAAc,aAAd,CAAb;AAEA,UAAI,CAAC,IAAD,IAAS,CAAC,IAAd,EAAoB,OAAO,IAAP;AAEpB,aAAO,YAAE,sBAAF,EAAiB;AACtB,QAAA,KAAK,EAAE;AADe,OAAjB,EAEJ,CACD,IAAI,IAAI,KAAK,OAAL,CAAa,IAAb,CADP,CAFI,CAAP;AAKD,KApEM;AAqEP,IAAA,aArEO,yBAqEQ,EArER,EAqEiB;AACtB;AACA,UAAI,CAAC,KAAK,KAAV,EAAiB;AAEjB,UAAM,QAAQ,GAAG,KAAK,UAAL,CAAgB,EAAE,CAAC,IAAnB,CAAjB;AAEA;;AACA,UAAI,QAAQ,IAAI,KAAK,QAAL,KAAkB,QAAlC,EAA4C;AAC1C,aAAK,IAAL,IAAa,KAAK,IAAL,CAAU,SAAV,CAAoB,KAAK,IAAzB,CAAb;AACD;;AAED,WAAK,QAAL,GAAgB,QAAhB;AACD,KAjFM;AAkFP,IAAA,MAlFO,kBAkFC,GAlFD,EAkFY;AAAA;;AACjB,UAAM,QAAQ,GAAG,KAAK,IAAL,KAAc,GAA/B;AAEA,UAAI,QAAJ,EAAc,KAAK,QAAL,GAAgB,IAAhB;AACd,WAAK,SAAL,CAAe;AAAA,eAAO,MAAI,CAAC,QAAL,GAAgB,QAAvB;AAAA,OAAf;AACD,KAvFM;AAwFP,IAAA,UAxFO,sBAwFK,EAxFL,EAwFe;AACpB,aAAO,EAAE,CAAC,KAAH,CAAS,KAAK,KAAd,MAAyB,IAAhC;AACD;AA1FM,GAjEsB;AA8J/B,EAAA,MA9J+B,oBA8JzB;AACJ,WAAO,YAAE,KAAF,EAAS,KAAK,YAAL,CAAkB,KAAK,QAAL,IAAiB,KAAK,KAAxC;AACd,MAAA,KAAK,EAAE;AADO,gBAEP,KAAK,OAFE,EAAT,EAGH,CACF,KAAK,SAAL,EADE,EAEF,YAAE,8BAAF,EAAqB,KAAK,QAAL,EAArB,CAFE,CAHG,CAAP;AAOD;AAtK8B,CAAlB,C","sourcesContent":["import {h, withDirectives} from 'vue'\n// Styles\nimport './VListGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport VList from './VList'\nimport VListItem from './VListItem'\nimport VListItemIcon from './VListItemIcon'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Bootable from '../../mixins/bootable'\nimport Colorable from '../../mixins/colorable'\nimport Toggleable from '../../mixins/toggleable'\nimport { inject as RegistrableInject } from '../../mixins/registrable'\n\n// Directives\nimport ripple, { Ripple } from '../../directives/ripple'\n\n// Transitions\nimport { VExpandTransition } from '../transitions'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { Route } from 'vue-router'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Bootable,\n Colorable,\n RegistrableInject('list'),\n Toggleable\n)\n\ntype VListInstance = InstanceType<typeof VList>\n\ninterface options extends ExtractVue<typeof baseMixins> {\n list: VListInstance\n $refs: {\n group: HTMLElement\n }\n $route: Route\n}\n\nexport default baseMixins.extend({\n name: 'v-list-group',\n\n directives: { ripple },\n\n props: {\n activeClass: {\n type: String,\n default: '',\n },\n appendIcon: {\n type: String,\n default: '$expand',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disabled: Boolean,\n group: [String, RegExp],\n noAction: Boolean,\n prependIcon: String,\n ripple: {\n type: [Boolean, Object],\n default: true,\n },\n subGroup: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n 'v-list-group--active': this.isActive,\n 'v-list-group--disabled': this.disabled,\n 'v-list-group--no-action': this.noAction,\n 'v-list-group--sub-group': this.subGroup,\n }\n },\n },\n\n watch: {\n isActive (val: boolean) {\n /* istanbul ignore else */\n if (!this.subGroup && val) {\n this.list && this.list.listClick(this._uid)\n }\n },\n $route: 'onRouteChange',\n },\n\n created () {\n this.list && this.list.register(this)\n\n if (this.group &&\n this.$route &&\n this.value == null\n ) {\n this.isActive = this.matchRoute(this.$route.path)\n }\n },\n\n beforeUnmount () {\n this.list && this.list.unregister(this)\n },\n\n methods: {\n click (e: Event) {\n if (this.disabled) return\n\n this.isBooted = true\n\n this.$emit('click', e)\n this.$nextTick(() => (this.isActive = !this.isActive))\n },\n genIcon (icon: string | false): VNode {\n return h(VIcon, icon)\n },\n genAppendIcon (): VNode | null {\n const icon = !this.subGroup ? this.appendIcon : false\n const slot = getSlot(this, 'appendIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__append-icon',\n }, [\n slot || this.genIcon(icon),\n ])\n },\n genHeader (): VNode {\n return withDirectives(h(VListItem, {\n 'aria-expanded': String(this.isActive),\n role: 'button',\n class: {\n 'v-list-group__header': true,\n [this.activeClass]: this.isActive,\n },\n inputValue: this.isActive,\n ...this.listeners$,\n onClick: this.click\n }, [\n this.genPrependIcon(),\n getSlot(this, 'activator'),\n this.genAppendIcon(),\n ]),\n [\n [Ripple, this.ripple]\n ])\n },\n genItems (): VNode[] {\n return this.showLazyContent(() => [\n h('div', {\n class: 'v-list-group__items',\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n }, getSlot(this)),\n ])\n },\n genPrependIcon (): VNode | null {\n const icon = this.subGroup && this.prependIcon == null\n ? '$subgroup'\n : this.prependIcon\n const slot = getSlot(this, 'prependIcon')\n\n if (!icon && !slot) return null\n\n return h(VListItemIcon, {\n class: 'v-list-group__header__prepend-icon',\n }, [\n slot || this.genIcon(icon),\n ])\n },\n onRouteChange (to: Route) {\n /* istanbul ignore if */\n if (!this.group) return\n\n const isActive = this.matchRoute(to.path)\n\n /* istanbul ignore else */\n if (isActive && this.isActive !== isActive) {\n this.list && this.list.listClick(this._uid)\n }\n\n this.isActive = isActive\n },\n toggle (uid: number) {\n const isActive = this._uid === uid\n\n if (isActive) this.isBooted = true\n this.$nextTick(() => (this.isActive = isActive))\n },\n matchRoute (to: string) {\n return to.match(this.group) !== null\n },\n },\n\n render (): VNode {\n return h('div', this.setTextColor(this.isActive && this.color, {\n class: 'v-list-group',\n class: this.classes,\n }), [\n this.genHeader(),\n h(VExpandTransition, this.genItems()),\n ])\n },\n})\n"],"sourceRoot":"","file":"VListGroup.js"}
@@ -273,7 +273,7 @@ var _default2 = baseMixins.extend({
273
273
  },
274
274
  closeConditional: function closeConditional(e) {
275
275
  var target = e.target;
276
- return this.isActive && !this._isDestroyed && this.closeOnClick && !this.$refs.content.contains(target);
276
+ return this.isActive && !this._isDestroyed && this.closeOnClick && this.$refs.content && !this.$refs.content.contains(target);
277
277
  },
278
278
  genActivatorAttributes: function genActivatorAttributes() {
279
279
  var attributes = _activatable.default.methods.genActivatorAttributes.call(this);