vuetify 2.6.0-beta.0 → 2.6.0

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 (166) hide show
  1. package/dist/json/attributes.json +64 -60
  2. package/dist/json/tags.json +1 -0
  3. package/dist/json/web-types.json +128 -92
  4. package/dist/vuetify.css +37 -33
  5. package/dist/vuetify.css.map +1 -1
  6. package/dist/vuetify.js +244 -146
  7. package/dist/vuetify.js.map +1 -1
  8. package/dist/vuetify.min.css +2 -2
  9. package/dist/vuetify.min.js +2 -2
  10. package/es5/components/VAutocomplete/VAutocomplete.js +20 -2
  11. package/es5/components/VAutocomplete/VAutocomplete.js.map +1 -1
  12. package/es5/components/VCalendar/VCalendarDaily.js +13 -15
  13. package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
  14. package/es5/components/VCalendar/mixins/calendar-with-events.js +4 -2
  15. package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  16. package/es5/components/VCalendar/mixins/mouse.js +1 -1
  17. package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
  18. package/es5/components/VCombobox/VCombobox.js +0 -5
  19. package/es5/components/VCombobox/VCombobox.js.map +1 -1
  20. package/es5/components/VDialog/VDialog.js +4 -2
  21. package/es5/components/VDialog/VDialog.js.map +1 -1
  22. package/es5/components/VList/VListItem.js +8 -1
  23. package/es5/components/VList/VListItem.js.map +1 -1
  24. package/es5/components/VMenu/VMenu.js +1 -1
  25. package/es5/components/VMenu/VMenu.js.map +1 -1
  26. package/es5/components/VOtpInput/VOtpInput.js +14 -25
  27. package/es5/components/VOtpInput/VOtpInput.js.map +1 -1
  28. package/es5/components/VOverlay/VOverlay.js +1 -0
  29. package/es5/components/VOverlay/VOverlay.js.map +1 -1
  30. package/es5/components/VRadioGroup/VRadioGroup.js +7 -0
  31. package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
  32. package/es5/components/VRangeSlider/VRangeSlider.js +4 -1
  33. package/es5/components/VRangeSlider/VRangeSlider.js.map +1 -1
  34. package/es5/components/VSelect/VSelect.js +1 -1
  35. package/es5/components/VSelect/VSelect.js.map +1 -1
  36. package/es5/components/VTabs/VTab.js +15 -4
  37. package/es5/components/VTabs/VTab.js.map +1 -1
  38. package/es5/components/VTextField/VTextField.js +6 -1
  39. package/es5/components/VTextField/VTextField.js.map +1 -1
  40. package/es5/components/VTreeview/VTreeviewNode.js +3 -1
  41. package/es5/components/VTreeview/VTreeviewNode.js.map +1 -1
  42. package/es5/components/transitions/createTransition.js +0 -20
  43. package/es5/components/transitions/createTransition.js.map +1 -1
  44. package/es5/directives/click-outside/index.js +21 -10
  45. package/es5/directives/click-outside/index.js.map +1 -1
  46. package/es5/directives/intersect/index.js +16 -12
  47. package/es5/directives/intersect/index.js.map +1 -1
  48. package/es5/directives/mutate/index.js +10 -8
  49. package/es5/directives/mutate/index.js.map +1 -1
  50. package/es5/directives/resize/index.js +11 -8
  51. package/es5/directives/resize/index.js.map +1 -1
  52. package/es5/directives/scroll/index.js +13 -10
  53. package/es5/directives/scroll/index.js.map +1 -1
  54. package/es5/framework.js +1 -1
  55. package/es5/locale/fr.js +1 -1
  56. package/es5/locale/fr.js.map +1 -1
  57. package/es5/mixins/detachable/index.js +32 -14
  58. package/es5/mixins/detachable/index.js.map +1 -1
  59. package/es5/mixins/intersectable/index.js +11 -2
  60. package/es5/mixins/intersectable/index.js.map +1 -1
  61. package/es5/mixins/overlayable/index.js +21 -11
  62. package/es5/mixins/overlayable/index.js.map +1 -1
  63. package/es5/mixins/routable/index.js +9 -3
  64. package/es5/mixins/routable/index.js.map +1 -1
  65. package/lib/components/VAutocomplete/VAutocomplete.js +18 -2
  66. package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
  67. package/lib/components/VCalendar/VCalendarDaily.js +9 -9
  68. package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
  69. package/lib/components/VCalendar/mixins/calendar-with-events.js +4 -2
  70. package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
  71. package/lib/components/VCalendar/mixins/mouse.js +1 -1
  72. package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
  73. package/lib/components/VCombobox/VCombobox.js +0 -5
  74. package/lib/components/VCombobox/VCombobox.js.map +1 -1
  75. package/lib/components/VDialog/VDialog.js +5 -2
  76. package/lib/components/VDialog/VDialog.js.map +1 -1
  77. package/lib/components/VList/VListItem.js +9 -1
  78. package/lib/components/VList/VListItem.js.map +1 -1
  79. package/lib/components/VMenu/VMenu.js +1 -1
  80. package/lib/components/VMenu/VMenu.js.map +1 -1
  81. package/lib/components/VOtpInput/VOtpInput.js +14 -25
  82. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  83. package/lib/components/VOverlay/VOverlay.js +1 -0
  84. package/lib/components/VOverlay/VOverlay.js.map +1 -1
  85. package/lib/components/VRadioGroup/VRadioGroup.js +9 -0
  86. package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
  87. package/lib/components/VRangeSlider/VRangeSlider.js +4 -1
  88. package/lib/components/VRangeSlider/VRangeSlider.js.map +1 -1
  89. package/lib/components/VSelect/VSelect.js +1 -1
  90. package/lib/components/VSelect/VSelect.js.map +1 -1
  91. package/lib/components/VTabs/VTab.js +16 -6
  92. package/lib/components/VTabs/VTab.js.map +1 -1
  93. package/lib/components/VTextField/VTextField.js +8 -1
  94. package/lib/components/VTextField/VTextField.js.map +1 -1
  95. package/lib/components/VTreeview/VTreeviewNode.js +3 -1
  96. package/lib/components/VTreeview/VTreeviewNode.js.map +1 -1
  97. package/lib/components/transitions/createTransition.js +0 -6
  98. package/lib/components/transitions/createTransition.js.map +1 -1
  99. package/lib/directives/click-outside/index.js +22 -10
  100. package/lib/directives/click-outside/index.js.map +1 -1
  101. package/lib/directives/intersect/index.js +16 -12
  102. package/lib/directives/intersect/index.js.map +1 -1
  103. package/lib/directives/mutate/index.js +10 -8
  104. package/lib/directives/mutate/index.js.map +1 -1
  105. package/lib/directives/resize/index.js +9 -6
  106. package/lib/directives/resize/index.js.map +1 -1
  107. package/lib/directives/scroll/index.js +9 -6
  108. package/lib/directives/scroll/index.js.map +1 -1
  109. package/lib/framework.js +1 -1
  110. package/lib/locale/fr.js +1 -1
  111. package/lib/locale/fr.js.map +1 -1
  112. package/lib/mixins/detachable/index.js +28 -13
  113. package/lib/mixins/detachable/index.js.map +1 -1
  114. package/lib/mixins/intersectable/index.js +9 -2
  115. package/lib/mixins/intersectable/index.js.map +1 -1
  116. package/lib/mixins/overlayable/index.js +21 -11
  117. package/lib/mixins/overlayable/index.js.map +1 -1
  118. package/lib/mixins/routable/index.js +12 -3
  119. package/lib/mixins/routable/index.js.map +1 -1
  120. package/package.json +2 -2
  121. package/src/components/VAutocomplete/VAutocomplete.ts +15 -2
  122. package/src/components/VCalendar/VCalendarDaily.ts +7 -7
  123. package/src/components/VCalendar/mixins/calendar-with-events.sass +7 -1
  124. package/src/components/VCalendar/mixins/calendar-with-events.ts +3 -3
  125. package/src/components/VCalendar/mixins/mouse.ts +1 -1
  126. package/src/components/VCombobox/VCombobox.ts +0 -5
  127. package/src/components/VCombobox/__tests__/VCombobox-multiple.spec.ts +113 -0
  128. package/src/components/VCombobox/__tests__/VCombobox.spec.ts +30 -0
  129. package/src/components/VDialog/VDialog.ts +4 -2
  130. package/src/components/VImg/__tests__/VImg.spec.ts +1 -1
  131. package/src/components/VList/VListItem.sass +2 -1
  132. package/src/components/VList/VListItem.ts +7 -1
  133. package/src/components/VList/__tests__/VListItem.spec.ts +16 -0
  134. package/src/components/VMenu/VMenu.ts +1 -1
  135. package/src/components/VOtpInput/VOtpInput.sass +13 -16
  136. package/src/components/VOtpInput/VOtpInput.ts +12 -28
  137. package/src/components/VOtpInput/_variables.scss +2 -4
  138. package/src/components/VOverlay/VOverlay.ts +1 -0
  139. package/src/components/VRadioGroup/VRadioGroup.ts +8 -0
  140. package/src/components/VRangeSlider/VRangeSlider.ts +3 -1
  141. package/src/components/VSelect/VSelect.ts +1 -1
  142. package/src/components/VTabs/VTab.ts +14 -4
  143. package/src/components/VTabs/VTabs.sass +5 -2
  144. package/src/components/VTextField/VTextField.ts +8 -3
  145. package/src/components/VTreeview/VTreeviewNode.ts +3 -1
  146. package/src/components/transitions/createTransition.ts +0 -8
  147. package/src/directives/click-outside/__tests__/click-outside-shadow-dom.spec.ts +9 -6
  148. package/src/directives/click-outside/__tests__/click-outside.spec.ts +7 -4
  149. package/src/directives/click-outside/index.ts +19 -10
  150. package/src/directives/intersect/__tests__/intersect.spec.ts +13 -10
  151. package/src/directives/intersect/index.ts +15 -13
  152. package/src/directives/mutate/__tests__/mutate.spec.ts +36 -17
  153. package/src/directives/mutate/index.ts +9 -9
  154. package/src/directives/resize/__tests__/resize.spec.ts +4 -4
  155. package/src/directives/resize/index.ts +11 -6
  156. package/src/directives/scroll/__tests__/scroll.spec.ts +9 -9
  157. package/src/directives/scroll/index.ts +8 -7
  158. package/src/globals.d.ts +10 -12
  159. package/src/locale/fr.ts +1 -1
  160. package/src/mixins/detachable/index.ts +32 -15
  161. package/src/mixins/intersectable/index.ts +11 -2
  162. package/src/mixins/overlayable/index.ts +22 -11
  163. package/src/mixins/routable/__tests__/routable.spec.ts +82 -5
  164. package/src/mixins/routable/index.ts +10 -3
  165. package/src/styles/generic/_transitions.scss +219 -215
  166. package/src/styles/settings/_variables.scss +10 -9
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTreeview/VTreeviewNode.ts"],"names":[],"mappings":";;;;;;;AACA;;AACA;;AAIA;;AACA;;AAGA;;AACA;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAM,UAAU,GAAG,qBACjB,kBADiB,EAEjB,yBAAkB,UAAlB,CAFiB,CAAnB;AASO,IAAM,kBAAkB,GAAG;AAChC,EAAA,WAAW,EAAE,OADmB;AAEhC,EAAA,WAAW,EAAE;AACX,IAAA,IAAI,EAAE,MADK;AAEX,IAAA,OAAO,EAAE;AAFE,GAFmB;AAMhC,EAAA,KAAK,EAAE;AACL,IAAA,IAAI,EAAE,MADD;AAEL,IAAA,OAAO,EAAE;AAFJ,GANyB;AAUhC,EAAA,UAAU,EAAE;AACV,IAAA,IAAI,EAAE,MADI;AAEV,IAAA,OAAO,EAAE;AAFC,GAVoB;AAchC,EAAA,iBAAiB,EAAE;AACjB,IAAA,IAAI,EAAE,MADW;AAEjB,IAAA,OAAO,EAAE;AAFQ,GAda;AAkBhC,EAAA,YAAY,EAAE;AACZ,IAAA,IAAI,EAAE,MADM;AAEZ,IAAA,OAAO,EAAE;AAFG,GAlBkB;AAsBhC,EAAA,YAAY,EAAE;AACZ,IAAA,IAAI,EAAE,MADM;AAEZ,IAAA,OAAO,EAAE;AAFG,GAtBkB;AA0BhC,EAAA,OAAO,EAAE;AACP,IAAA,IAAI,EAAE,MADC;AAEP,IAAA,OAAO,EAAE;AAFF,GA1BuB;AA8BhC,EAAA,QAAQ,EAAE;AACR,IAAA,IAAI,EAAE,MADE;AAER,IAAA,OAAO,EAAE;AAFD,GA9BsB;AAkChC,EAAA,YAAY,EAAE,QAlCkB;AAmChC,EAAA,WAAW,EAAE;AACX,IAAA,IAAI,EAAE,MADK;AAEX,IAAA,OAAO,EAAE;AAFE,GAnCmB;AAuChC,EAAA,OAAO,EAAE;AACP,IAAA,IAAI,EAAE,MADC;AAEP,IAAA,OAAO,EAAE;AAFF,GAvCuB;AA2ChC,EAAA,MAAM,EAAE;AACN,IAAA,IAAI,EAAE,MADA;AAEN,IAAA,OAAO,EAAE;AAFH,GA3CwB;AA+ChC,EAAA,WAAW,EAAE,OA/CmB;AAgDhC,EAAA,OAAO,EAAE,OAhDuB;AAiDhC,EAAA,UAAU,EAAE,OAjDoB;AAkDhC,EAAA,aAAa,EAAE;AACb,IAAA,IAAI,EAAE,MADO;AAEb,IAAA,OAAO,EAAE;AAFI,GAlDiB;AAsDhC,EAAA,MAAM,EAAE,OAtDwB;AAuDhC,EAAA,UAAU,EAAE,OAvDoB;AAwDhC,EAAA,aAAa,EAAE;AACb,IAAA,IAAI,EAAE,MADO;AAEb,IAAA,OAAO,EAAE,MAFI;AAGb,IAAA,SAAS,EAAE,mBAAC,CAAD;AAAA,aAAe,CAAC,MAAD,EAAS,aAAT,EAAwB,QAAxB,CAAiC,CAAjC,CAAf;AAAA;AAHE;AAxDiB,CAA3B;AA+DP;;;AACA,IAAM,aAAa,GAAG,UAAU,CAAC,MAAX,GAA6B,MAA7B,CAAoC;AACxD,EAAA,IAAI,EAAE,iBADkD;AAGxD,EAAA,MAAM,EAAE;AACN,IAAA,QAAQ,EAAE;AACR,MAAA,OAAO,EAAE;AADD;AADJ,GAHgD;AASxD,EAAA,KAAK;AACH,IAAA,KAAK,EAAE,MADJ;AAEH,IAAA,IAAI,EAAE;AACJ,MAAA,IAAI,EAAE,MADF;AAEJ,MAAA,OAAO,EAAE;AAAA,eAAM,IAAN;AAAA;AAFL,KAFH;AAMH,IAAA,gBAAgB,EAAE;AANf,KAOA,kBAPA,CATmD;AAmBxD,EAAA,IAAI,EAAE;AAAA,WAAO;AACX,MAAA,SAAS,EAAE,KADA;AAEX,MAAA,QAAQ,EAAE,KAFC;AAGX,MAAA,eAAe,EAAE,KAHN;AAIX,MAAA,SAAS,EAAE,KAJA;AAKX,MAAA,MAAM,EAAE,KALG;AAMX,MAAA,UAAU,EAAE;AAND,KAAP;AAAA,GAnBkD;AA4BxD,EAAA,QAAQ,EAAE;AACR,IAAA,QADQ,sBACA;AACN,aACE,mCAAqB,KAAK,IAA1B,EAAgC,KAAK,YAArC,KACC,KAAK,gBAAL,IAAyB,KAAK,aAAL,KAAuB,MAFnD;AAID,KANO;AAOR,IAAA,GAPQ,iBAOL;AACD,aAAO,mCAAqB,KAAK,IAA1B,EAAgC,KAAK,OAArC,CAAP;AACD,KATO;AAUR,IAAA,QAVQ,sBAUA;AAAA;;AACN,UAAM,QAAQ,GAAG,mCAAqB,KAAK,IAA1B,EAAgC,KAAK,YAArC,CAAjB;AACA,aAAO,QAAQ,IAAI,QAAQ,CAAC,MAAT,CAAgB,UAAC,KAAD;AAAA,eAAgB,CAAC,KAAI,CAAC,QAAL,CAAc,UAAd,CAAyB,mCAAqB,KAArB,EAA4B,KAAI,CAAC,OAAjC,CAAzB,CAAjB;AAAA,OAAhB,CAAnB;AACD,KAbO;AAcR,IAAA,IAdQ,kBAcJ;AACF,aAAO,mCAAqB,KAAK,IAA1B,EAAgC,KAAK,QAArC,CAAP;AACD,KAhBO;AAiBR,IAAA,WAjBQ,yBAiBG;AACT,aAAO;AACL,QAAA,IAAI,EAAE,KAAK,IADN;AAEL,QAAA,IAAI,EAAE,CAAC,KAAK,QAFP;AAGL,QAAA,QAAQ,EAAE,KAAK,UAHV;AAIL,QAAA,aAAa,EAAE,KAAK,eAJf;AAKL,QAAA,MAAM,EAAE,KAAK,QALR;AAML,QAAA,IAAI,EAAE,KAAK;AANN,OAAP;AAQD,KA1BO;AA2BR,IAAA,YA3BQ,0BA2BI;AACV,UAAI,KAAK,eAAT,EAA0B,OAAO,KAAK,iBAAZ,CAA1B,KACK,IAAI,KAAK,UAAT,EAAqB,OAAO,KAAK,MAAZ,CAArB,KACA,OAAO,KAAK,OAAZ;AACN,KA/BO;AAgCR,IAAA,WAhCQ,yBAgCG;AACT,aAAO,CAAC,CAAC,KAAK,QAAP,KAAoB,CAAC,CAAC,KAAK,QAAL,CAAc,MAAhB,IAA0B,CAAC,CAAC,KAAK,YAArD,CAAP;AACD;AAlCO,GA5B8C;AAiExD,EAAA,OAjEwD,qBAiEjD;AACL,SAAK,QAAL,CAAc,QAAd,CAAuB,IAAvB;AACD,GAnEuD;AAqExD,EAAA,aArEwD,2BAqE3C;AACX,SAAK,QAAL,CAAc,UAAd,CAAyB,IAAzB;AACD,GAvEuD;AAyExD,EAAA,OAAO,EAAE;AACP,IAAA,aADO,2BACM;AAAA;;AACX,aAAO,IAAI,OAAJ,CAAkB,UAAA,OAAO,EAAG;AACjC;AACA;AACA,YAAI,CAAC,MAAI,CAAC,QAAN,IAAkB,MAAI,CAAC,QAAL,CAAc,MAAhC,IAA0C,CAAC,MAAI,CAAC,YAAhD,IAAgE,MAAI,CAAC,SAAzE,EAAoF,OAAO,OAAO,EAAd;AAEpF,QAAA,MAAI,CAAC,SAAL,GAAiB,IAAjB;AACA,QAAA,OAAO,CAAC,MAAI,CAAC,YAAL,CAAkB,MAAI,CAAC,IAAvB,CAAD,CAAP;AACD,OAPM,EAOJ,IAPI,CAOC,YAAK;AACX,QAAA,MAAI,CAAC,SAAL,GAAiB,KAAjB;AACA,QAAA,MAAI,CAAC,SAAL,GAAiB,IAAjB;AACD,OAVM,CAAP;AAWD,KAbM;AAcP,IAAA,IAdO,kBAcH;AACF,WAAK,MAAL,GAAc,CAAC,KAAK,MAApB;AACA,WAAK,QAAL,CAAc,UAAd,CAAyB,KAAK,GAA9B,EAAmC,KAAK,MAAxC;AACA,WAAK,QAAL,CAAc,QAAd;AACD,KAlBM;AAmBP,IAAA,QAnBO,sBAmBC;AACN,UAAM,QAAQ,GAAG,EAAjB;AAEA,UAAI,KAAK,YAAL,CAAkB,KAAtB,EAA6B,QAAQ,CAAC,IAAT,CAAc,KAAK,YAAL,CAAkB,KAAlB,CAAwB,KAAK,WAA7B,CAAd,EAA7B,KACK,QAAQ,CAAC,IAAT,CAAc,KAAK,IAAnB;AAEL,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,IAAI,EAAE,OAD0B;AAEhC,QAAA,WAAW,EAAE;AAFmB,OAA3B,EAGJ,QAHI,CAAP;AAID,KA7BM;AA8BP,IAAA,cA9BO,4BA8BO;AACZ,UAAI,CAAC,KAAK,YAAL,CAAkB,OAAvB,EAAgC,OAAO,IAAP;AAEhC,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,KAAK,YAAL,CAAkB,OAAlB,CAA0B,KAAK,WAA/B,CAFI,CAAP;AAGD,KApCM;AAqCP,IAAA,aArCO,2BAqCM;AACX,UAAI,CAAC,KAAK,YAAL,CAAkB,MAAvB,EAA+B,OAAO,IAAP;AAE/B,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,KAAK,YAAL,CAAkB,MAAlB,CAAyB,KAAK,WAA9B,CAFI,CAAP;AAGD,KA3CM;AA4CP,IAAA,UA5CO,wBA4CG;AACR,UAAM,QAAQ,GAAG,CACf,KAAK,cAAL,EADe,EAEf,KAAK,QAAL,EAFe,EAGf,KAAK,aAAL,EAHe,CAAjB;AAMA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,QAFI,CAAP;AAGD,KAtDM;AAuDP,IAAA,SAvDO,uBAuDE;AAAA;;AACP,aAAO,KAAK,cAAL,CAAoB,YAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,yBADmB;AAEhC,QAAA,KAAK,EAAE;AACL,2CAAiC,KAAK,MADjC;AAEL,8CAAoC,KAAK;AAFpC,SAFyB;AAMhC,QAAA,IAAI,EAAE,SAN0B;AAOhC,QAAA,EAAE,EAAE;AACF,UAAA,KAAK,EAAE,eAAC,CAAD,EAAkB;AACvB,YAAA,CAAC,CAAC,eAAF;AAEA,gBAAI,MAAI,CAAC,SAAT,EAAoB;;AAEpB,YAAA,MAAI,CAAC,aAAL,GAAqB,IAArB,CAA0B;AAAA,qBAAM,MAAI,CAAC,IAAL,EAAN;AAAA,aAA1B;AACD;AAPC;AAP4B,OAA3B,EAgBJ,CAAC,KAAK,SAAL,GAAiB,KAAK,WAAtB,GAAoC,KAAK,UAA1C,CAhBI,CAAP;AAiBD,KAzEM;AA0EP,IAAA,WA1EO,yBA0EI;AAAA;;AACT,aAAO,KAAK,cAAL,CAAoB,YAApB,EAA2B;AAChC,QAAA,WAAW,EAAE,2BADmB;AAEhC,QAAA,KAAK,EAAE;AACL,UAAA,KAAK,EAAE,KAAK,UAAL,IAAmB,KAAK,eAAxB,GAA0C,KAAK,aAA/C,GAA+D,SADjE;AAEL,UAAA,QAAQ,EAAE,KAAK;AAFV,SAFyB;AAMhC,QAAA,EAAE,EAAE;AACF,UAAA,KAAK,EAAE,eAAC,CAAD,EAAkB;AACvB,YAAA,CAAC,CAAC,eAAF;AAEA,gBAAI,MAAI,CAAC,SAAT,EAAoB;;AAEpB,YAAA,MAAI,CAAC,aAAL,GAAqB,IAArB,CAA0B,YAAK;AAC7B;AACA,cAAA,MAAI,CAAC,SAAL,CAAe,YAAK;AAClB,gBAAA,MAAI,CAAC,UAAL,GAAkB,CAAC,MAAI,CAAC,UAAxB;AACA,gBAAA,MAAI,CAAC,eAAL,GAAuB,KAAvB;;AAEA,gBAAA,MAAI,CAAC,QAAL,CAAc,cAAd,CAA6B,MAAI,CAAC,GAAlC,EAAuC,MAAI,CAAC,UAA5C;;AACA,gBAAA,MAAI,CAAC,QAAL,CAAc,YAAd;AACD,eAND;AAOD,aATD;AAUD;AAhBC;AAN4B,OAA3B,EAwBJ,CAAC,KAAK,YAAN,CAxBI,CAAP;AAyBD,KApGM;AAqGP,IAAA,QArGO,oBAqGG,KArGH,EAqGgB;AAAA;;AACrB,aAAO,0BAAY,KAAZ,EAAmB,GAAnB,CAAuB;AAAA,eAAM,MAAI,CAAC,cAAL,CAAoB,KAApB,EAA2B;AAC7D,UAAA,WAAW,EAAE;AADgD,SAA3B,CAAN;AAAA,OAAvB,CAAP;AAGD,KAzGM;AA0GP,IAAA,OA1GO,qBA0GA;AAAA;;AACL,UAAM,QAAQ,GAAG,CAAC,KAAK,UAAL,EAAD,CAAjB;AAEA,UAAI,KAAK,UAAT,EAAqB,QAAQ,CAAC,OAAT,CAAiB,KAAK,WAAL,EAAjB;;AAErB,UAAI,KAAK,WAAT,EAAsB;AACpB,QAAA,QAAQ,CAAC,OAAT,CAAiB,KAAK,SAAL,EAAjB;AACD,OAFD,MAEO;AACL,QAAA,QAAQ,CAAC,OAAT,OAAA,QAAQ,qBAAY,KAAK,QAAL,CAAc,CAAd,CAAZ,EAAR;AACD;;AAED,MAAA,QAAQ,CAAC,OAAT,OAAA,QAAQ,qBAAY,KAAK,QAAL,CAAc,KAAK,KAAnB,CAAZ,EAAR;AAEA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B,KAAK,YAAL,CAAkB,KAAK,QAAL,IAAiB,KAAK,KAAxC,EAA+C;AAC/E,QAAA,WAAW,EAAE,uBADkE;AAE/E,QAAA,KAAK,sBACF,KAAK,WADH,EACiB,KAAK,QADtB,CAF0E;AAK/E,QAAA,EAAE,EAAE;AACF,UAAA,KAAK,EAAE,iBAAK;AACV,gBAAI,MAAI,CAAC,WAAL,IAAoB,MAAI,CAAC,WAA7B,EAA0C;AACxC,cAAA,MAAI,CAAC,aAAL,GAAqB,IAArB,CAA0B,MAAI,CAAC,IAA/B;AACD,aAFD,MAEO,IAAI,MAAI,CAAC,WAAL,IAAoB,CAAC,MAAI,CAAC,QAA9B,EAAwC;AAC7C,cAAA,MAAI,CAAC,QAAL,GAAgB,CAAC,MAAI,CAAC,QAAtB;;AACA,cAAA,MAAI,CAAC,QAAL,CAAc,YAAd,CAA2B,MAAI,CAAC,GAAhC,EAAqC,MAAI,CAAC,QAA1C;;AACA,cAAA,MAAI,CAAC,QAAL,CAAc,UAAd;AACD;AACF;AATC;AAL2E,OAA/C,CAA3B,EAgBH,QAhBG,CAAP;AAiBD,KAxIM;AAyIP,IAAA,QAzIO,oBAyIG,IAzIH,EAyIc,gBAzId,EAyIuC;AAC5C,aAAO,KAAK,cAAL,CAAoB,aAApB,EAAmC;AACxC,QAAA,GAAG,EAAE,mCAAqB,IAArB,EAA2B,KAAK,OAAhC,CADmC;AAExC,QAAA,KAAK,EAAE;AACL,UAAA,WAAW,EAAE,KAAK,WADb;AAEL,UAAA,WAAW,EAAE,KAAK,WAFb;AAGL,UAAA,IAAI,EAAJ,IAHK;AAIL,UAAA,UAAU,EAAE,KAAK,UAJZ;AAKL,UAAA,aAAa,EAAE,KAAK,aALf;AAML,UAAA,KAAK,EAAE,KAAK,KANP;AAOL,UAAA,UAAU,EAAE,KAAK,UAPZ;AAQL,UAAA,iBAAiB,EAAE,KAAK,iBARnB;AASL,UAAA,OAAO,EAAE,KAAK,OATT;AAUL,UAAA,MAAM,EAAE,KAAK,MAVR;AAWL,UAAA,WAAW,EAAE,KAAK,WAXb;AAYL,UAAA,OAAO,EAAE,KAAK,OAZT;AAaL,UAAA,QAAQ,EAAE,KAAK,QAbV;AAcL,UAAA,YAAY,EAAE,KAAK,YAdd;AAeL,UAAA,YAAY,EAAE,KAAK,YAfd;AAgBL,UAAA,YAAY,EAAE,KAAK,YAhBd;AAiBL,UAAA,UAAU,EAAE,KAAK,UAjBZ;AAkBL,UAAA,WAAW,EAAE,KAAK,WAlBb;AAmBL,UAAA,OAAO,EAAE,KAAK,OAnBT;AAoBL,UAAA,MAAM,EAAE,KAAK,MApBR;AAqBL,UAAA,KAAK,EAAE,KAAK,KAAL,GAAa,CArBf;AAsBL,UAAA,aAAa,EAAE,KAAK,aAtBf;AAuBL,UAAA,gBAAgB,EAAhB;AAvBK,SAFiC;AA2BxC,QAAA,WAAW,EAAE,KAAK;AA3BsB,OAAnC,CAAP;AA6BD,KAvKM;AAwKP,IAAA,kBAxKO,gCAwKW;AAAA;;AAChB,UAAI,CAAC,KAAK,MAAN,IAAgB,CAAC,KAAK,QAA1B,EAAoC,OAAO,IAAP;AAEpC,UAAM,QAAQ,GAAG,CAAC,KAAK,QAAL,CAAc,GAAd,CAAkB,UAAA,CAAC;AAAA,eAAI,MAAI,CAAC,QAAL,CAAc,CAAd,EAAiB,MAAI,CAAC,QAAtB,CAAJ;AAAA,OAAnB,CAAD,CAAjB;AAEA,aAAO,KAAK,cAAL,CAAoB,KAApB,EAA2B;AAChC,QAAA,WAAW,EAAE;AADmB,OAA3B,EAEJ,QAFI,CAAP;AAGD,KAhLM;AAiLP,IAAA,aAjLO,2BAiLM;AACX,aAAO,KAAK,cAAL,CAAoB,8BAApB,EAAuC,CAAC,KAAK,kBAAL,EAAD,CAAvC,CAAP;AACD;AAnLM,GAzE+C;AA+PxD,EAAA,MA/PwD,kBA+PhD,CA/PgD,EA+P/C;AACP,QAAM,QAAQ,GAAkB,CAAC,KAAK,OAAL,EAAD,CAAhC;AAEA,QAAI,KAAK,UAAT,EAAqB,QAAQ,CAAC,IAAT,CAAc,KAAK,aAAL,EAAd,EAArB,KACK,QAAQ,CAAC,IAAT,CAAc,KAAK,kBAAL,EAAd;AAEL,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,WAAW,EAAE,iBADC;AAEd,MAAA,KAAK,EAAE;AACL,iCAAyB,CAAC,KAAK,WAD1B;AAEL,kCAA0B,KAAK,WAF1B;AAGL,qCAA6B,KAAK,QAH7B;AAIL,oCAA4B,KAAK,OAJ5B;AAKL,mCAA2B,KAAK,MAL3B;AAML,qCAA6B,KAAK;AAN7B,OAFO;AAUd,MAAA,KAAK,EAAE;AACL,yBAAiB,MAAM,CAAC,KAAK,MAAN;AADlB;AAVO,KAAR,EAaL,QAbK,CAAR;AAcD;AAnRuD,CAApC,CAAtB;gBAsRe,a","sourcesContent":["// Components\nimport { VExpandTransition } from '../transitions'\nimport { VIcon } from '../VIcon'\nimport VTreeview from './VTreeview'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getObjectValueByPath, createRange } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VTreeViewInstance = InstanceType<typeof VTreeview>\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('treeview')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n treeview: VTreeViewInstance\n}\n\nexport const VTreeviewNodeProps = {\n activatable: Boolean,\n activeClass: {\n type: String,\n default: 'v-treeview-node--active',\n },\n color: {\n type: String,\n default: 'primary',\n },\n expandIcon: {\n type: String,\n default: '$subgroup',\n },\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemDisabled: {\n type: String,\n default: 'disabled',\n },\n itemKey: {\n type: String,\n default: 'id',\n },\n itemText: {\n type: String,\n default: 'name',\n },\n loadChildren: Function as PropType<(item: any) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n openOnClick: Boolean,\n rounded: Boolean,\n selectable: Boolean,\n selectedColor: {\n type: String,\n default: 'accent',\n },\n shaped: Boolean,\n transition: Boolean,\n selectionType: {\n type: String as PropType<'leaf' | 'independent'>,\n default: 'leaf',\n validator: (v: string) => ['leaf', 'independent'].includes(v),\n },\n}\n\n/* @vue/component */\nconst VTreeviewNode = baseMixins.extend<options>().extend({\n name: 'v-treeview-node',\n\n inject: {\n treeview: {\n default: null,\n },\n },\n\n props: {\n level: Number,\n item: {\n type: Object,\n default: () => null,\n } as PropValidator<Record<string, unknown> | null>,\n parentIsDisabled: Boolean,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n hasLoaded: false,\n isActive: false, // Node is selected (row)\n isIndeterminate: false, // Node has at least one selected child\n isLoading: false,\n isOpen: false, // Node is open/expanded\n isSelected: false, // Node is selected (checkbox)\n }),\n\n computed: {\n disabled (): boolean {\n return (\n getObjectValueByPath(this.item, this.itemDisabled) ||\n (this.parentIsDisabled && this.selectionType === 'leaf')\n )\n },\n key (): string {\n return getObjectValueByPath(this.item, this.itemKey)\n },\n children (): any[] | null {\n const children = getObjectValueByPath(this.item, this.itemChildren)\n return children && children.filter((child: any) => !this.treeview.isExcluded(getObjectValueByPath(child, this.itemKey)))\n },\n text (): string {\n return getObjectValueByPath(this.item, this.itemText)\n },\n scopedProps (): object {\n return {\n item: this.item,\n leaf: !this.children,\n selected: this.isSelected,\n indeterminate: this.isIndeterminate,\n active: this.isActive,\n open: this.isOpen,\n }\n },\n computedIcon (): string {\n if (this.isIndeterminate) return this.indeterminateIcon\n else if (this.isSelected) return this.onIcon\n else return this.offIcon\n },\n hasChildren (): boolean {\n return !!this.children && (!!this.children.length || !!this.loadChildren)\n },\n },\n\n created () {\n this.treeview.register(this)\n },\n\n beforeDestroy () {\n this.treeview.unregister(this)\n },\n\n methods: {\n checkChildren (): Promise<void> {\n return new Promise<void>(resolve => {\n // TODO: Potential issue with always trying\n // to load children if response is empty?\n if (!this.children || this.children.length || !this.loadChildren || this.hasLoaded) return resolve()\n\n this.isLoading = true\n resolve(this.loadChildren(this.item))\n }).then(() => {\n this.isLoading = false\n this.hasLoaded = true\n })\n },\n open () {\n this.isOpen = !this.isOpen\n this.treeview.updateOpen(this.key, this.isOpen)\n this.treeview.emitOpen()\n },\n genLabel () {\n const children = []\n\n if (this.$scopedSlots.label) children.push(this.$scopedSlots.label(this.scopedProps))\n else children.push(this.text)\n\n return this.$createElement('div', {\n slot: 'label',\n staticClass: 'v-treeview-node__label',\n }, children)\n },\n genPrependSlot () {\n if (!this.$scopedSlots.prepend) return null\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__prepend',\n }, this.$scopedSlots.prepend(this.scopedProps))\n },\n genAppendSlot () {\n if (!this.$scopedSlots.append) return null\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__append',\n }, this.$scopedSlots.append(this.scopedProps))\n },\n genContent () {\n const children = [\n this.genPrependSlot(),\n this.genLabel(),\n this.genAppendSlot(),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__content',\n }, children)\n },\n genToggle () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__toggle',\n class: {\n 'v-treeview-node__toggle--open': this.isOpen,\n 'v-treeview-node__toggle--loading': this.isLoading,\n },\n slot: 'prepend',\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => this.open())\n },\n },\n }, [this.isLoading ? this.loadingIcon : this.expandIcon])\n },\n genCheckbox () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__checkbox',\n props: {\n color: this.isSelected || this.isIndeterminate ? this.selectedColor : undefined,\n disabled: this.disabled,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => {\n // We nextTick here so that items watch in VTreeview has a chance to run first\n this.$nextTick(() => {\n this.isSelected = !this.isSelected\n this.isIndeterminate = false\n\n this.treeview.updateSelected(this.key, this.isSelected)\n this.treeview.emitSelected()\n })\n })\n },\n },\n }, [this.computedIcon])\n },\n genLevel (level: number) {\n return createRange(level).map(() => this.$createElement('div', {\n staticClass: 'v-treeview-node__level',\n }))\n },\n genNode () {\n const children = [this.genContent()]\n\n if (this.selectable) children.unshift(this.genCheckbox())\n\n if (this.hasChildren) {\n children.unshift(this.genToggle())\n } else {\n children.unshift(...this.genLevel(1))\n }\n\n children.unshift(...this.genLevel(this.level))\n\n return this.$createElement('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-treeview-node__root',\n class: {\n [this.activeClass]: this.isActive,\n },\n on: {\n click: () => {\n if (this.openOnClick && this.hasChildren) {\n this.checkChildren().then(this.open)\n } else if (this.activatable && !this.disabled) {\n this.isActive = !this.isActive\n this.treeview.updateActive(this.key, this.isActive)\n this.treeview.emitActive()\n }\n },\n },\n }), children)\n },\n genChild (item: any, parentIsDisabled: boolean) {\n return this.$createElement(VTreeviewNode, {\n key: getObjectValueByPath(item, this.itemKey),\n props: {\n activatable: this.activatable,\n activeClass: this.activeClass,\n item,\n selectable: this.selectable,\n selectedColor: this.selectedColor,\n color: this.color,\n expandIcon: this.expandIcon,\n indeterminateIcon: this.indeterminateIcon,\n offIcon: this.offIcon,\n onIcon: this.onIcon,\n loadingIcon: this.loadingIcon,\n itemKey: this.itemKey,\n itemText: this.itemText,\n itemDisabled: this.itemDisabled,\n itemChildren: this.itemChildren,\n loadChildren: this.loadChildren,\n transition: this.transition,\n openOnClick: this.openOnClick,\n rounded: this.rounded,\n shaped: this.shaped,\n level: this.level + 1,\n selectionType: this.selectionType,\n parentIsDisabled,\n },\n scopedSlots: this.$scopedSlots,\n })\n },\n genChildrenWrapper () {\n if (!this.isOpen || !this.children) return null\n\n const children = [this.children.map(c => this.genChild(c, this.disabled))]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__children',\n }, children)\n },\n genTransition () {\n return this.$createElement(VExpandTransition, [this.genChildrenWrapper()])\n },\n },\n\n render (h): VNode {\n const children: VNodeChildren = [this.genNode()]\n\n if (this.transition) children.push(this.genTransition())\n else children.push(this.genChildrenWrapper())\n\n return h('div', {\n staticClass: 'v-treeview-node',\n class: {\n 'v-treeview-node--leaf': !this.hasChildren,\n 'v-treeview-node--click': this.openOnClick,\n 'v-treeview-node--disabled': this.disabled,\n 'v-treeview-node--rounded': this.rounded,\n 'v-treeview-node--shaped': this.shaped,\n 'v-treeview-node--selected': this.isSelected,\n },\n attrs: {\n 'aria-expanded': String(this.isOpen),\n },\n }, children)\n },\n})\n\nexport default VTreeviewNode\n"],"sourceRoot":"","file":"VTreeviewNode.js"}
1
+ {"version":3,"sources":["../../../src/components/VTreeview/VTreeviewNode.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nimport { VExpandTransition } from '../transitions'\nimport { VIcon } from '../VIcon'\nimport VTreeview from './VTreeview'\n\n// Mixins\nimport { inject as RegistrableInject } from '../../mixins/registrable'\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { getObjectValueByPath, createRange } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren, PropType } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\ntype VTreeViewInstance = InstanceType<typeof VTreeview>\n\nconst baseMixins = mixins(\n Colorable,\n RegistrableInject('treeview')\n)\n\ninterface options extends ExtractVue<typeof baseMixins> {\n treeview: VTreeViewInstance\n}\n\nexport const VTreeviewNodeProps = {\n activatable: Boolean,\n activeClass: {\n type: String,\n default: 'v-treeview-node--active',\n },\n color: {\n type: String,\n default: 'primary',\n },\n disablePerNode: Boolean,\n expandIcon: {\n type: String,\n default: '$subgroup',\n },\n indeterminateIcon: {\n type: String,\n default: '$checkboxIndeterminate',\n },\n itemChildren: {\n type: String,\n default: 'children',\n },\n itemDisabled: {\n type: String,\n default: 'disabled',\n },\n itemKey: {\n type: String,\n default: 'id',\n },\n itemText: {\n type: String,\n default: 'name',\n },\n loadChildren: Function as PropType<(item: any) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n offIcon: {\n type: String,\n default: '$checkboxOff',\n },\n onIcon: {\n type: String,\n default: '$checkboxOn',\n },\n openOnClick: Boolean,\n rounded: Boolean,\n selectable: Boolean,\n selectedColor: {\n type: String,\n default: 'accent',\n },\n shaped: Boolean,\n transition: Boolean,\n selectionType: {\n type: String as PropType<'leaf' | 'independent'>,\n default: 'leaf',\n validator: (v: string) => ['leaf', 'independent'].includes(v),\n },\n}\n\n/* @vue/component */\nconst VTreeviewNode = baseMixins.extend<options>().extend({\n name: 'v-treeview-node',\n\n inject: {\n treeview: {\n default: null,\n },\n },\n\n props: {\n level: Number,\n item: {\n type: Object,\n default: () => null,\n } as PropValidator<Record<string, unknown> | null>,\n parentIsDisabled: Boolean,\n ...VTreeviewNodeProps,\n },\n\n data: () => ({\n hasLoaded: false,\n isActive: false, // Node is selected (row)\n isIndeterminate: false, // Node has at least one selected child\n isLoading: false,\n isOpen: false, // Node is open/expanded\n isSelected: false, // Node is selected (checkbox)\n }),\n\n computed: {\n disabled (): boolean {\n return (\n getObjectValueByPath(this.item, this.itemDisabled) ||\n (!this.disablePerNode && (this.parentIsDisabled && this.selectionType === 'leaf'))\n )\n },\n key (): string {\n return getObjectValueByPath(this.item, this.itemKey)\n },\n children (): any[] | null {\n const children = getObjectValueByPath(this.item, this.itemChildren)\n return children && children.filter((child: any) => !this.treeview.isExcluded(getObjectValueByPath(child, this.itemKey)))\n },\n text (): string {\n return getObjectValueByPath(this.item, this.itemText)\n },\n scopedProps (): object {\n return {\n item: this.item,\n leaf: !this.children,\n selected: this.isSelected,\n indeterminate: this.isIndeterminate,\n active: this.isActive,\n open: this.isOpen,\n }\n },\n computedIcon (): string {\n if (this.isIndeterminate) return this.indeterminateIcon\n else if (this.isSelected) return this.onIcon\n else return this.offIcon\n },\n hasChildren (): boolean {\n return !!this.children && (!!this.children.length || !!this.loadChildren)\n },\n },\n\n created () {\n this.treeview.register(this)\n },\n\n beforeDestroy () {\n this.treeview.unregister(this)\n },\n\n methods: {\n checkChildren (): Promise<void> {\n return new Promise<void>(resolve => {\n // TODO: Potential issue with always trying\n // to load children if response is empty?\n if (!this.children || this.children.length || !this.loadChildren || this.hasLoaded) return resolve()\n\n this.isLoading = true\n resolve(this.loadChildren(this.item))\n }).then(() => {\n this.isLoading = false\n this.hasLoaded = true\n })\n },\n open () {\n this.isOpen = !this.isOpen\n this.treeview.updateOpen(this.key, this.isOpen)\n this.treeview.emitOpen()\n },\n genLabel () {\n const children = []\n\n if (this.$scopedSlots.label) children.push(this.$scopedSlots.label(this.scopedProps))\n else children.push(this.text)\n\n return this.$createElement('div', {\n slot: 'label',\n staticClass: 'v-treeview-node__label',\n }, children)\n },\n genPrependSlot () {\n if (!this.$scopedSlots.prepend) return null\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__prepend',\n }, this.$scopedSlots.prepend(this.scopedProps))\n },\n genAppendSlot () {\n if (!this.$scopedSlots.append) return null\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__append',\n }, this.$scopedSlots.append(this.scopedProps))\n },\n genContent () {\n const children = [\n this.genPrependSlot(),\n this.genLabel(),\n this.genAppendSlot(),\n ]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__content',\n }, children)\n },\n genToggle () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__toggle',\n class: {\n 'v-treeview-node__toggle--open': this.isOpen,\n 'v-treeview-node__toggle--loading': this.isLoading,\n },\n slot: 'prepend',\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => this.open())\n },\n },\n }, [this.isLoading ? this.loadingIcon : this.expandIcon])\n },\n genCheckbox () {\n return this.$createElement(VIcon, {\n staticClass: 'v-treeview-node__checkbox',\n props: {\n color: this.isSelected || this.isIndeterminate ? this.selectedColor : undefined,\n disabled: this.disabled,\n },\n on: {\n click: (e: MouseEvent) => {\n e.stopPropagation()\n\n if (this.isLoading) return\n\n this.checkChildren().then(() => {\n // We nextTick here so that items watch in VTreeview has a chance to run first\n this.$nextTick(() => {\n this.isSelected = !this.isSelected\n this.isIndeterminate = false\n\n this.treeview.updateSelected(this.key, this.isSelected)\n this.treeview.emitSelected()\n })\n })\n },\n },\n }, [this.computedIcon])\n },\n genLevel (level: number) {\n return createRange(level).map(() => this.$createElement('div', {\n staticClass: 'v-treeview-node__level',\n }))\n },\n genNode () {\n const children = [this.genContent()]\n\n if (this.selectable) children.unshift(this.genCheckbox())\n\n if (this.hasChildren) {\n children.unshift(this.genToggle())\n } else {\n children.unshift(...this.genLevel(1))\n }\n\n children.unshift(...this.genLevel(this.level))\n\n return this.$createElement('div', this.setTextColor(this.isActive && this.color, {\n staticClass: 'v-treeview-node__root',\n class: {\n [this.activeClass]: this.isActive,\n },\n on: {\n click: () => {\n if (this.openOnClick && this.hasChildren) {\n this.checkChildren().then(this.open)\n } else if (this.activatable && !this.disabled) {\n this.isActive = !this.isActive\n this.treeview.updateActive(this.key, this.isActive)\n this.treeview.emitActive()\n }\n },\n },\n }), children)\n },\n genChild (item: any, parentIsDisabled: boolean) {\n return this.$createElement(VTreeviewNode, {\n key: getObjectValueByPath(item, this.itemKey),\n props: {\n activatable: this.activatable,\n activeClass: this.activeClass,\n item,\n selectable: this.selectable,\n selectedColor: this.selectedColor,\n color: this.color,\n disablePerNode: this.disablePerNode,\n expandIcon: this.expandIcon,\n indeterminateIcon: this.indeterminateIcon,\n offIcon: this.offIcon,\n onIcon: this.onIcon,\n loadingIcon: this.loadingIcon,\n itemKey: this.itemKey,\n itemText: this.itemText,\n itemDisabled: this.itemDisabled,\n itemChildren: this.itemChildren,\n loadChildren: this.loadChildren,\n transition: this.transition,\n openOnClick: this.openOnClick,\n rounded: this.rounded,\n shaped: this.shaped,\n level: this.level + 1,\n selectionType: this.selectionType,\n parentIsDisabled,\n },\n scopedSlots: this.$scopedSlots,\n })\n },\n genChildrenWrapper () {\n if (!this.isOpen || !this.children) return null\n\n const children = [this.children.map(c => this.genChild(c, this.disabled))]\n\n return this.$createElement('div', {\n staticClass: 'v-treeview-node__children',\n }, children)\n },\n genTransition () {\n return this.$createElement(VExpandTransition, [this.genChildrenWrapper()])\n },\n },\n\n render (h): VNode {\n const children: VNodeChildren = [this.genNode()]\n\n if (this.transition) children.push(this.genTransition())\n else children.push(this.genChildrenWrapper())\n\n return h('div', {\n staticClass: 'v-treeview-node',\n class: {\n 'v-treeview-node--leaf': !this.hasChildren,\n 'v-treeview-node--click': this.openOnClick,\n 'v-treeview-node--disabled': this.disabled,\n 'v-treeview-node--rounded': this.rounded,\n 'v-treeview-node--shaped': this.shaped,\n 'v-treeview-node--selected': this.isSelected,\n },\n attrs: {\n 'aria-expanded': String(this.isOpen),\n },\n }, children)\n },\n})\n\nexport default VTreeviewNode\n"],"sourceRoot":"","file":"VTreeviewNode.js"}
@@ -10,18 +10,6 @@ var _mergeData = _interopRequireDefault(require("../../util/mergeData"));
10
10
 
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
 
13
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
14
-
15
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
-
17
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
18
-
19
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
20
-
21
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
22
-
23
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
24
-
25
13
  function mergeTransitions() {
26
14
  var _Array;
27
15
 
@@ -117,16 +105,8 @@ function createSimpleTransition(name) {
117
105
 
118
106
  if (context.props.hideOnLeave) {
119
107
  data.on.leave = mergeTransitions(data.on.leave, function (el) {
120
- el._initialDisplay = [el.style.display, el.style.getPropertyPriority('display')];
121
108
  el.style.setProperty('display', 'none', 'important');
122
109
  });
123
- data.on.afterLeave = mergeTransitions(data.on.afterLeave, function (el) {
124
- if (el) {
125
- var _el$style;
126
-
127
- el._initialDisplay ? (_el$style = el.style).setProperty.apply(_el$style, ['display'].concat(_toConsumableArray(el._initialDisplay))) : el.style.removeProperty('display');
128
- }
129
- });
130
110
  }
131
111
 
132
112
  return h(tag, (0, _mergeData.default)(context.data, data), context.children);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/transitions/createTransition.ts"],"names":[],"mappings":";;;;;;;;AACA;;;;;;;;;;;;;;;;AAEA,SAAS,gBAAT,GAE2C;AAAA;;AAAA,MADzC,IACyC,uEADX,EACW;;AAAA,oCAAtC,WAAsC;AAAtC,IAAA,WAAsC;AAAA;;AAEzC;AACA,SAAO,UAAA,KAAK,IAAa,MAAlB,gBAAyB,IAAzB,SAAkC,WAAlC,EAAP;AACD;;AAEK,SAAU,sBAAV,CACJ,IADI,EAGS;AAAA,MADb,MACa,uEADJ,cACI;AAAA,MAAb,IAAa;AAEb,SAAO;AACL,IAAA,IAAI,EAAJ,IADK;AAGL,IAAA,UAAU,EAAE,IAHP;AAKL,IAAA,KAAK,EAAE;AACL,MAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE,OADD;AAEL,QAAA,OAAO,EAAE;AAFJ,OADF;AAKL,MAAA,WAAW,EAAE;AACX,QAAA,IAAI,EAAE,OADK;AAEX,QAAA,OAAO,EAAE;AAFE,OALR;AASL,MAAA,aAAa,EAAE;AACb,QAAA,IAAI,EAAE,OADO;AAEb,QAAA,OAAO,EAAE;AAFI,OATV;AAaL,MAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,MADF;AAEJ,QAAA,OAAO,EAAE;AAFL,OAbD;AAiBL,MAAA,MAAM,EAAE;AACN,QAAA,IAAI,EAAE,MADA;AAEN,QAAA,OAAO,EAAE;AAFH;AAjBH,KALF;AA4BL,IAAA,MA5BK,kBA4BG,CA5BH,EA4BM,OA5BN,EA4Ba;AAChB,UAAM,GAAG,uBAAgB,OAAO,CAAC,KAAR,CAAc,KAAd,GAAsB,QAAtB,GAAiC,EAAjD,CAAT;AACA,UAAM,IAAI,GAAc;AACtB,QAAA,KAAK,EAAE;AACL,UAAA,IAAI,EAAJ,IADK;AAEL,UAAA,IAAI,EAAE,OAAO,CAAC,KAAR,CAAc;AAFf,SADe;AAKtB,QAAA,EAAE,EAAE;AACF,UAAA,WADE,uBACW,EADX,EAC0B;AAC1B,YAAA,EAAE,CAAC,KAAH,CAAS,eAAT,GAA2B,OAAO,CAAC,KAAR,CAAc,MAAzC;AACA,YAAA,EAAE,CAAC,KAAH,CAAS,qBAAT,GAAiC,OAAO,CAAC,KAAR,CAAc,MAA/C;AACD;AAJC;AALkB,OAAxB;;AAaA,UAAI,OAAO,CAAC,KAAR,CAAc,aAAlB,EAAiC;AAC/B,QAAA,IAAI,CAAC,EAAL,CAAS,KAAT,GAAiB,gBAAgB,CAAC,IAAI,CAAC,EAAL,CAAS,KAAV,EAAiB,UAAC,EAAD,EAAoB;AAAA,cAC5D,SAD4D,GACP,EADO,CAC5D,SAD4D;AAAA,cACjD,UADiD,GACP,EADO,CACjD,UADiD;AAAA,cACrC,WADqC,GACP,EADO,CACrC,WADqC;AAAA,cACxB,YADwB,GACP,EADO,CACxB,YADwB;AAEpE,UAAA,EAAE,CAAC,wBAAH,GAA8B;AAC5B,YAAA,QAAQ,EAAE,EAAE,CAAC,KAAH,CAAS,QADS;AAE5B,YAAA,GAAG,EAAE,EAAE,CAAC,KAAH,CAAS,GAFc;AAG5B,YAAA,IAAI,EAAE,EAAE,CAAC,KAAH,CAAS,IAHa;AAI5B,YAAA,KAAK,EAAE,EAAE,CAAC,KAAH,CAAS,KAJY;AAK5B,YAAA,MAAM,EAAE,EAAE,CAAC,KAAH,CAAS;AALW,WAA9B;AAOA,UAAA,EAAE,CAAC,KAAH,CAAS,QAAT,GAAoB,UAApB;AACA,UAAA,EAAE,CAAC,KAAH,CAAS,GAAT,GAAe,SAAS,GAAG,IAA3B;AACA,UAAA,EAAE,CAAC,KAAH,CAAS,IAAT,GAAgB,UAAU,GAAG,IAA7B;AACA,UAAA,EAAE,CAAC,KAAH,CAAS,KAAT,GAAiB,WAAW,GAAG,IAA/B;AACA,UAAA,EAAE,CAAC,KAAH,CAAS,MAAT,GAAkB,YAAY,GAAG,IAAjC;AACD,SAdgC,CAAjC;AAeA,QAAA,IAAI,CAAC,EAAL,CAAS,UAAT,GAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAL,CAAS,UAAV,EAAsB,UAAC,EAAD,EAAqB;AAC/E,cAAI,EAAE,IAAI,EAAE,CAAC,wBAAb,EAAuC;AAAA,wCACU,EAAE,CAAC,wBADb;AAAA,gBAC7B,QAD6B,yBAC7B,QAD6B;AAAA,gBACnB,GADmB,yBACnB,GADmB;AAAA,gBACd,IADc,yBACd,IADc;AAAA,gBACR,KADQ,yBACR,KADQ;AAAA,gBACD,MADC,yBACD,MADC;AAErC,mBAAO,EAAE,CAAC,wBAAV;AACA,YAAA,EAAE,CAAC,KAAH,CAAS,QAAT,GAAoB,QAAQ,IAAI,EAAhC;AACA,YAAA,EAAE,CAAC,KAAH,CAAS,GAAT,GAAe,GAAG,IAAI,EAAtB;AACA,YAAA,EAAE,CAAC,KAAH,CAAS,IAAT,GAAgB,IAAI,IAAI,EAAxB;AACA,YAAA,EAAE,CAAC,KAAH,CAAS,KAAT,GAAiB,KAAK,IAAI,EAA1B;AACA,YAAA,EAAE,CAAC,KAAH,CAAS,MAAT,GAAkB,MAAM,IAAI,EAA5B;AACD;AACF,SAVqC,CAAtC;AAWD;;AACD,UAAI,OAAO,CAAC,KAAR,CAAc,WAAlB,EAA+B;AAC7B,QAAA,IAAI,CAAC,EAAL,CAAS,KAAT,GAAiB,gBAAgB,CAAC,IAAI,CAAC,EAAL,CAAS,KAAV,EAAiB,UAAC,EAAD,EAAoB;AACpE,UAAA,EAAE,CAAC,eAAH,GAAqB,CAAC,EAAE,CAAC,KAAH,CAAS,OAAV,EAAmB,EAAE,CAAC,KAAH,CAAS,mBAAT,CAA6B,SAA7B,CAAnB,CAArB;AACA,UAAA,EAAE,CAAC,KAAH,CAAS,WAAT,CAAqB,SAArB,EAAgC,MAAhC,EAAwC,WAAxC;AACD,SAHgC,CAAjC;AAIA,QAAA,IAAI,CAAC,EAAL,CAAS,UAAT,GAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAL,CAAS,UAAV,EAAsB,UAAC,EAAD,EAAqB;AAC/E,cAAI,EAAJ,EAAQ;AAAA;;AACN,YAAA,EAAE,CAAC,eAAH,GACI,aAAA,EAAE,CAAC,KAAH,EAAS,WAAT,mBAAqB,SAArB,4BAAmC,EAAE,CAAC,eAAtC,GADJ,GAEI,EAAE,CAAC,KAAH,CAAS,cAAT,CAAwB,SAAxB,CAFJ;AAGD;AACF,SANqC,CAAtC;AAOD;;AAED,aAAO,CAAC,CAAC,GAAD,EAAM,wBAAU,OAAO,CAAC,IAAlB,EAAwB,IAAxB,CAAN,EAAqC,OAAO,CAAC,QAA7C,CAAR;AACD;AAtFI,GAAP;AAwFD;;AAEK,SAAU,0BAAV,CACJ,IADI,EAEJ,SAFI,EAGW;AAAA,MAAf,IAAe,uEAAR,QAAQ;AAEf,SAAO;AACL,IAAA,IAAI,EAAJ,IADK;AAGL,IAAA,UAAU,EAAE,IAHP;AAKL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE;AACJ,QAAA,IAAI,EAAE,MADF;AAEJ,QAAA,OAAO,EAAE;AAFL;AADD,KALF;AAYL,IAAA,MAZK,kBAYG,CAZH,EAYM,OAZN,EAYa;AAChB,aAAO,CAAC,CACN,YADM,EAEN,wBAAU,OAAO,CAAC,IAAlB,EAAwB;AACtB,QAAA,KAAK,EAAE;AAAE,UAAA,IAAI,EAAJ;AAAF,SADe;AAEtB,QAAA,EAAE,EAAE;AAFkB,OAAxB,CAFM,EAMN,OAAO,CAAC,QANF,CAAR;AAQD;AArBI,GAAP;AAuBD","sourcesContent":["import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array<Function>().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = offsetTop + 'px'\n el.style.left = offsetLeft + 'px'\n el.style.width = offsetWidth + 'px'\n el.style.height = offsetHeight + 'px'\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el && el._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n })\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n el._initialDisplay = [el.style.display, el.style.getPropertyPriority('display')]\n el.style.setProperty('display', 'none', 'important')\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el) {\n el._initialDisplay\n ? el.style.setProperty('display', ...el._initialDisplay)\n : el.style.removeProperty('display')\n }\n })\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n"],"sourceRoot":"","file":"createTransition.js"}
1
+ {"version":3,"sources":["../../../src/components/transitions/createTransition.ts"],"names":[],"mappings":"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","sourcesContent":["import { FunctionalComponentOptions, VNode, VNodeData } from 'vue'\nimport mergeData from '../../util/mergeData'\n\nfunction mergeTransitions (\n dest: Function | Function[] = [],\n ...transitions: (Function | Function[])[]\n) {\n /* eslint-disable-next-line no-array-constructor */\n return Array<Function>().concat(dest, ...transitions)\n}\n\nexport function createSimpleTransition (\n name: string,\n origin = 'top center 0',\n mode?: string\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n group: {\n type: Boolean,\n default: false,\n },\n hideOnLeave: {\n type: Boolean,\n default: false,\n },\n leaveAbsolute: {\n type: Boolean,\n default: false,\n },\n mode: {\n type: String,\n default: mode,\n },\n origin: {\n type: String,\n default: origin,\n },\n },\n\n render (h, context): VNode {\n const tag = `transition${context.props.group ? '-group' : ''}`\n const data: VNodeData = {\n props: {\n name,\n mode: context.props.mode,\n },\n on: {\n beforeEnter (el: HTMLElement) {\n el.style.transformOrigin = context.props.origin\n el.style.webkitTransformOrigin = context.props.origin\n },\n },\n }\n\n if (context.props.leaveAbsolute) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = el\n el._transitionInitialStyles = {\n position: el.style.position,\n top: el.style.top,\n left: el.style.left,\n width: el.style.width,\n height: el.style.height,\n }\n el.style.position = 'absolute'\n el.style.top = offsetTop + 'px'\n el.style.left = offsetLeft + 'px'\n el.style.width = offsetWidth + 'px'\n el.style.height = offsetHeight + 'px'\n })\n data.on!.afterLeave = mergeTransitions(data.on!.afterLeave, (el?: HTMLElement) => {\n if (el && el._transitionInitialStyles) {\n const { position, top, left, width, height } = el._transitionInitialStyles\n delete el._transitionInitialStyles\n el.style.position = position || ''\n el.style.top = top || ''\n el.style.left = left || ''\n el.style.width = width || ''\n el.style.height = height || ''\n }\n })\n }\n if (context.props.hideOnLeave) {\n data.on!.leave = mergeTransitions(data.on!.leave, (el: HTMLElement) => {\n el.style.setProperty('display', 'none', 'important')\n })\n }\n\n return h(tag, mergeData(context.data, data), context.children)\n },\n }\n}\n\nexport function createJavascriptTransition (\n name: string,\n functions: Record<string, any>,\n mode = 'in-out'\n): FunctionalComponentOptions {\n return {\n name,\n\n functional: true,\n\n props: {\n mode: {\n type: String,\n default: mode,\n },\n },\n\n render (h, context): VNode {\n return h(\n 'transition',\n mergeData(context.data, {\n props: { name },\n on: functions,\n }),\n context.children\n )\n },\n }\n}\n"],"sourceRoot":"","file":"createTransition.js"}
@@ -47,7 +47,7 @@ function checkIsActive(e, binding) {
47
47
  return isActive(e);
48
48
  }
49
49
 
50
- function directive(e, el, binding) {
50
+ function directive(e, el, binding, vnode) {
51
51
  var handler = typeof binding.value === 'function' ? binding.value : binding.value.handler;
52
52
  el._clickOutside.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(function () {
53
53
  checkIsActive(e, binding) && handler && handler(e);
@@ -69,9 +69,9 @@ var ClickOutside = {
69
69
  // sure that the root element is
70
70
  // available, iOS does not support
71
71
  // clicks on body
72
- inserted: function inserted(el, binding) {
72
+ inserted: function inserted(el, binding, vnode) {
73
73
  var onClick = function onClick(e) {
74
- return directive(e, el, binding);
74
+ return directive(e, el, binding, vnode);
75
75
  };
76
76
 
77
77
  var onMousedown = function onMousedown(e) {
@@ -82,20 +82,31 @@ var ClickOutside = {
82
82
  app.addEventListener('click', onClick, true);
83
83
  app.addEventListener('mousedown', onMousedown, true);
84
84
  });
85
- el._clickOutside = {
86
- lastMousedownWasOutside: true,
85
+
86
+ if (!el._clickOutside) {
87
+ el._clickOutside = {
88
+ lastMousedownWasOutside: true
89
+ };
90
+ }
91
+
92
+ el._clickOutside[vnode.context._uid] = {
87
93
  onClick: onClick,
88
94
  onMousedown: onMousedown
89
95
  };
90
96
  },
91
- unbind: function unbind(el) {
97
+ unbind: function unbind(el, binding, vnode) {
92
98
  if (!el._clickOutside) return;
93
99
  handleShadow(el, function (app) {
94
- if (!app || !el._clickOutside) return;
95
- app.removeEventListener('click', el._clickOutside.onClick, true);
96
- app.removeEventListener('mousedown', el._clickOutside.onMousedown, true);
100
+ var _el$_clickOutside;
101
+
102
+ if (!app || !((_el$_clickOutside = el._clickOutside) != null && _el$_clickOutside[vnode.context._uid])) return;
103
+ var _el$_clickOutside$vno = el._clickOutside[vnode.context._uid],
104
+ onClick = _el$_clickOutside$vno.onClick,
105
+ onMousedown = _el$_clickOutside$vno.onMousedown;
106
+ app.removeEventListener('click', onClick, true);
107
+ app.removeEventListener('mousedown', onMousedown, true);
97
108
  });
98
- delete el._clickOutside;
109
+ delete el._clickOutside[vnode.context._uid];
99
110
  }
100
111
  };
101
112
  exports.ClickOutside = ClickOutside;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/click-outside/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: Event) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n el._clickOutside = {\n lastMousedownWasOutside: true,\n onClick,\n onMousedown,\n }\n },\n\n unbind (el: HTMLElement) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside) return\n app.removeEventListener('click', el._clickOutside.onClick, true)\n app.removeEventListener('mousedown', el._clickOutside.onMousedown, true)\n })\n\n delete el._clickOutside\n },\n}\n\nexport default ClickOutside\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/click-outside/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { attachedRoot } from '../../util/dom'\nimport { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ClickOutsideBindingArgs {\n handler: (e: Event) => void\n closeConditional?: (e: Event) => boolean\n include?: () => HTMLElement[]\n}\n\ninterface ClickOutsideDirective extends VNodeDirective {\n value?: ((e: Event) => void) | ClickOutsideBindingArgs\n}\n\nfunction defaultConditional () {\n return true\n}\n\nfunction checkEvent (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective): boolean {\n // The include element callbacks below can be expensive\n // so we should avoid calling them when we're not active.\n // Explicitly check for false to allow fallback compatibility\n // with non-toggleable components\n if (!e || checkIsActive(e, binding) === false) return false\n\n // If we're clicking inside the shadowroot, then the app root doesn't get the same\n // level of introspection as to _what_ we're clicking. We want to check to see if\n // our target is the shadowroot parent container, and if it is, ignore.\n const root = attachedRoot(el)\n if (\n typeof ShadowRoot !== 'undefined' &&\n root instanceof ShadowRoot &&\n root.host === e.target\n ) return false\n\n // Check if additional elements were passed to be included in check\n // (click must be outside all included elements, if any)\n const elements = ((typeof binding.value === 'object' && binding.value.include) || (() => []))()\n // Add the root element for the component this directive was defined on\n elements.push(el)\n\n // Check if it's a click outside our elements, and then if our callback returns true.\n // Non-toggleable components should take action in their callback and return falsy.\n // Toggleable can return true if it wants to deactivate.\n // Note that, because we're in the capture phase, this callback will occur before\n // the bubbling click event on any outside elements.\n return !elements.some(el => el.contains(e.target as Node))\n}\n\nfunction checkIsActive (e: PointerEvent, binding: ClickOutsideDirective): boolean | void {\n const isActive = (typeof binding.value === 'object' && binding.value.closeConditional) || defaultConditional\n\n return isActive(e)\n}\n\nfunction directive (e: PointerEvent, el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const handler = typeof binding.value === 'function' ? binding.value : binding.value!.handler\n\n el._clickOutside!.lastMousedownWasOutside && checkEvent(e, el, binding) && setTimeout(() => {\n checkIsActive(e, binding) && handler && handler(e)\n }, 0)\n}\n\nfunction handleShadow (el: HTMLElement, callback: Function): void {\n const root = attachedRoot(el)\n\n callback(document)\n\n if (typeof ShadowRoot !== 'undefined' && root instanceof ShadowRoot) {\n callback(root)\n }\n}\n\nexport const ClickOutside = {\n // [data-app] may not be found\n // if using bind, inserted makes\n // sure that the root element is\n // available, iOS does not support\n // clicks on body\n inserted (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n const onClick = (e: Event) => directive(e as PointerEvent, el, binding, vnode)\n const onMousedown = (e: Event) => {\n el._clickOutside!.lastMousedownWasOutside = checkEvent(e as PointerEvent, el, binding)\n }\n\n handleShadow(el, (app: HTMLElement) => {\n app.addEventListener('click', onClick, true)\n app.addEventListener('mousedown', onMousedown, true)\n })\n\n if (!el._clickOutside) {\n el._clickOutside = {\n lastMousedownWasOutside: true,\n }\n }\n\n el._clickOutside[vnode.context!._uid] = {\n onClick,\n onMousedown,\n }\n },\n\n unbind (el: HTMLElement, binding: ClickOutsideDirective, vnode: VNode) {\n if (!el._clickOutside) return\n\n handleShadow(el, (app: HTMLElement) => {\n if (!app || !el._clickOutside?.[vnode.context!._uid]) return\n\n const { onClick, onMousedown } = el._clickOutside[vnode.context!._uid]!\n\n app.removeEventListener('click', onClick, true)\n app.removeEventListener('mousedown', onMousedown, true)\n })\n\n delete el._clickOutside[vnode.context!._uid]\n },\n}\n\nexport default ClickOutside\n"],"sourceRoot":"","file":"index.js"}
@@ -7,7 +7,7 @@ exports.default = exports.Intersect = void 0;
7
7
 
8
8
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
9
9
 
10
- function inserted(el, binding) {
10
+ function inserted(el, binding, vnode) {
11
11
  if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return;
12
12
  var modifiers = binding.modifiers || {};
13
13
  var value = binding.value;
@@ -20,37 +20,41 @@ function inserted(el, binding) {
20
20
  options = _ref.options;
21
21
 
22
22
  var observer = new IntersectionObserver(function () {
23
+ var _el$_observe;
24
+
23
25
  var entries = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
24
26
  var observer = arguments.length > 1 ? arguments[1] : undefined;
25
27
 
26
- /* istanbul ignore if */
27
- if (!el._observe) return; // Just in case, should never fire
28
+ var _observe = (_el$_observe = el._observe) == null ? void 0 : _el$_observe[vnode.context._uid];
29
+
30
+ if (!_observe) return; // Just in case, should never fire
28
31
 
29
32
  var isIntersecting = entries.some(function (entry) {
30
33
  return entry.isIntersecting;
31
34
  }); // If is not quiet or has already been
32
35
  // initted, invoke the user callback
33
36
 
34
- if (handler && (!modifiers.quiet || el._observe.init) && (!modifiers.once || isIntersecting || !el._observe.init)) {
37
+ if (handler && (!modifiers.quiet || _observe.init) && (!modifiers.once || isIntersecting || _observe.init)) {
35
38
  handler(entries, observer, isIntersecting);
36
39
  }
37
40
 
38
- if (isIntersecting && modifiers.once) unbind(el);else el._observe.init = true;
41
+ if (isIntersecting && modifiers.once) unbind(el, binding, vnode);else _observe.init = true;
39
42
  }, options);
40
- el._observe = {
43
+ el._observe = Object(el._observe);
44
+ el._observe[vnode.context._uid] = {
41
45
  init: false,
42
46
  observer: observer
43
47
  };
44
48
  observer.observe(el);
45
49
  }
46
50
 
47
- function unbind(el) {
48
- /* istanbul ignore if */
49
- if (!el._observe) return;
50
-
51
- el._observe.observer.unobserve(el);
51
+ function unbind(el, binding, vnode) {
52
+ var _el$_observe2;
52
53
 
53
- delete el._observe;
54
+ var observe = (_el$_observe2 = el._observe) == null ? void 0 : _el$_observe2[vnode.context._uid];
55
+ if (!observe) return;
56
+ observe.observer.unobserve(el);
57
+ delete el._observe[vnode.context._uid];
54
58
  }
55
59
 
56
60
  var Intersect = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/intersect/index.ts"],"names":[],"mappings":";;;;;;;;;AAgBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAkE;AAChE,MAAI,OAAO,MAAP,KAAkB,WAAlB,IAAiC,EAAE,0BAA0B,MAA5B,CAArC,EAA0E;AAE1E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;;AAJgE,aAKnC,QAAO,KAAP,MAAiB,QAAjB,GACzB,KADyB,GAEzB;AAAE,IAAA,OAAO,EAAE,KAAX;AAAkB,IAAA,OAAO,EAAE;AAA3B,GAP4D;AAAA,MAKxD,OALwD,QAKxD,OALwD;AAAA,MAK/C,OAL+C,QAK/C,OAL+C;;AAQhE,MAAM,QAAQ,GAAG,IAAI,oBAAJ,CAAyB,YAGtC;AAAA,QAFF,OAEE,uEAFqC,EAErC;AAAA,QADF,QACE;;AACF;AACA,QAAI,CAAC,EAAE,CAAC,QAAR,EAAkB,OAFhB,CAEuB;;AAEzB,QAAM,cAAc,GAAG,OAAO,CAAC,IAAR,CAAa,UAAA,KAAK;AAAA,aAAI,KAAK,CAAC,cAAV;AAAA,KAAlB,CAAvB,CAJE,CAMF;AACA;;AACA,QACE,OAAO,KACL,CAAC,SAAS,CAAC,KAAX,IACA,EAAE,CAAC,QAAH,CAAY,IAFP,CAAP,KAIE,CAAC,SAAS,CAAC,IAAX,IACA,cADA,IAEA,CAAC,EAAE,CAAC,QAAH,CAAY,IANf,CADF,EASE;AACA,MAAA,OAAO,CAAC,OAAD,EAAU,QAAV,EAAoB,cAApB,CAAP;AACD;;AAED,QAAI,cAAc,IAAI,SAAS,CAAC,IAAhC,EAAsC,MAAM,CAAC,EAAD,CAAN,CAAtC,KACK,EAAE,CAAC,QAAH,CAAY,IAAZ,GAAmB,IAAnB;AACN,GA1BgB,EA0Bd,OA1Bc,CAAjB;AA4BA,EAAA,EAAE,CAAC,QAAH,GAAc;AAAE,IAAA,IAAI,EAAE,KAAR;AAAe,IAAA,QAAQ,EAAR;AAAf,GAAd;AAEA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAgC;AAC9B;AACA,MAAI,CAAC,EAAE,CAAC,QAAR,EAAkB;;AAElB,EAAA,EAAE,CAAC,QAAH,CAAY,QAAZ,CAAqB,SAArB,CAA+B,EAA/B;;AACA,SAAO,EAAE,CAAC,QAAV;AACD;;AAEM,IAAM,SAAS,GAAG;AACvB,EAAA,QAAQ,EAAR,QADuB;AAEvB,EAAA,MAAM,EAAN;AAFuB,CAAlB;;eAKQ,S","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\n\ntype ObserveHandler = (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n) => void\n\ninterface ObserveVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers?: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ObserveVNodeDirective) {\n if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n /* istanbul ignore if */\n if (!el._observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n el._observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n !el._observe.init\n )\n ) {\n handler(entries, observer, isIntersecting)\n }\n\n if (isIntersecting && modifiers.once) unbind(el)\n else el._observe.init = true\n }, options)\n\n el._observe = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement) {\n /* istanbul ignore if */\n if (!el._observe) return\n\n el._observe.observer.unobserve(el)\n delete el._observe\n}\n\nexport const Intersect = {\n inserted,\n unbind,\n}\n\nexport default Intersect\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/intersect/index.ts"],"names":[],"mappings":";;;;;;;;;AAiBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAoE,KAApE,EAAgF;AAC9E,MAAI,OAAO,MAAP,KAAkB,WAAlB,IAAiC,EAAE,0BAA0B,MAA5B,CAArC,EAA0E;AAE1E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;;AAJ8E,aAKjD,QAAO,KAAP,MAAiB,QAAjB,GACzB,KADyB,GAEzB;AAAE,IAAA,OAAO,EAAE,KAAX;AAAkB,IAAA,OAAO,EAAE;AAA3B,GAP0E;AAAA,MAKtE,OALsE,QAKtE,OALsE;AAAA,MAK7D,OAL6D,QAK7D,OAL6D;;AAQ9E,MAAM,QAAQ,GAAG,IAAI,oBAAJ,CAAyB,YAGtC;AAAA;;AAAA,QAFF,OAEE,uEAFqC,EAErC;AAAA,QADF,QACE;;AACF,QAAM,QAAQ,mBAAG,EAAE,CAAC,QAAN,qBAAG,aAAc,KAAK,CAAC,OAAN,CAAe,IAA7B,CAAjB;;AACA,QAAI,CAAC,QAAL,EAAe,OAFb,CAEoB;;AAEtB,QAAM,cAAc,GAAG,OAAO,CAAC,IAAR,CAAa,UAAA,KAAK;AAAA,aAAI,KAAK,CAAC,cAAV;AAAA,KAAlB,CAAvB,CAJE,CAMF;AACA;;AACA,QACE,OAAO,KACL,CAAC,SAAS,CAAC,KAAX,IACA,QAAQ,CAAC,IAFJ,CAAP,KAIE,CAAC,SAAS,CAAC,IAAX,IACA,cADA,IAEA,QAAQ,CAAC,IANX,CADF,EASE;AACA,MAAA,OAAO,CAAC,OAAD,EAAU,QAAV,EAAoB,cAApB,CAAP;AACD;;AAED,QAAI,cAAc,IAAI,SAAS,CAAC,IAAhC,EAAsC,MAAM,CAAC,EAAD,EAAK,OAAL,EAAc,KAAd,CAAN,CAAtC,KACK,QAAQ,CAAC,IAAT,GAAgB,IAAhB;AACN,GA1BgB,EA0Bd,OA1Bc,CAAjB;AA4BA,EAAA,EAAE,CAAC,QAAH,GAAc,MAAM,CAAC,EAAE,CAAC,QAAJ,CAApB;AACA,EAAA,EAAE,CAAC,QAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,IAAoC;AAAE,IAAA,IAAI,EAAE,KAAR;AAAe,IAAA,QAAQ,EAAR;AAAf,GAApC;AAEA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAkE,KAAlE,EAA8E;AAAA;;AAC5E,MAAM,OAAO,oBAAG,EAAE,CAAC,QAAN,qBAAG,cAAc,KAAK,CAAC,OAAN,CAAe,IAA7B,CAAhB;AACA,MAAI,CAAC,OAAL,EAAc;AAEd,EAAA,OAAO,CAAC,QAAR,CAAiB,SAAjB,CAA2B,EAA3B;AACA,SAAO,EAAE,CAAC,QAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAP;AACD;;AAEM,IAAM,SAAS,GAAG;AACvB,EAAA,QAAQ,EAAR,QADuB;AAEvB,EAAA,MAAM,EAAN;AAFuB,CAAlB;;eAKQ,S","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ntype ObserveHandler = (\n entries: IntersectionObserverEntry[],\n observer: IntersectionObserver,\n isIntersecting: boolean,\n) => void\n\ninterface ObserveVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value?: ObserveHandler | { handler: ObserveHandler, options?: IntersectionObserverInit }\n modifiers?: {\n once?: boolean\n quiet?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n if (typeof window === 'undefined' || !('IntersectionObserver' in window)) return\n\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const { handler, options } = typeof value === 'object'\n ? value\n : { handler: value, options: {} }\n const observer = new IntersectionObserver((\n entries: IntersectionObserverEntry[] = [],\n observer: IntersectionObserver\n ) => {\n const _observe = el._observe?.[vnode.context!._uid]\n if (!_observe) return // Just in case, should never fire\n\n const isIntersecting = entries.some(entry => entry.isIntersecting)\n\n // If is not quiet or has already been\n // initted, invoke the user callback\n if (\n handler && (\n !modifiers.quiet ||\n _observe.init\n ) && (\n !modifiers.once ||\n isIntersecting ||\n _observe.init\n )\n ) {\n handler(entries, observer, isIntersecting)\n }\n\n if (isIntersecting && modifiers.once) unbind(el, binding, vnode)\n else _observe.init = true\n }, options)\n\n el._observe = Object(el._observe)\n el._observe![vnode.context!._uid] = { init: false, observer }\n\n observer.observe(el)\n}\n\nfunction unbind (el: HTMLElement, binding: ObserveVNodeDirective, vnode: VNode) {\n const observe = el._observe?.[vnode.context!._uid]\n if (!observe) return\n\n observe.observer.unobserve(el)\n delete el._observe![vnode.context!._uid]\n}\n\nexport const Intersect = {\n inserted,\n unbind,\n}\n\nexport default Intersect\n"],"sourceRoot":"","file":"index.js"}
@@ -11,7 +11,7 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
11
11
 
12
12
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
13
13
 
14
- function inserted(el, binding) {
14
+ function inserted(el, binding, vnode) {
15
15
  var modifiers = binding.modifiers || {};
16
16
  var value = binding.value;
17
17
  var callback = _typeof(value) === 'object' ? value.handler : value;
@@ -40,21 +40,23 @@ function inserted(el, binding) {
40
40
 
41
41
  callback(mutationsList, observer); // If has the once modifier, unbind
42
42
 
43
- once && unbind(el);
43
+ once && unbind(el, binding, vnode);
44
44
  });
45
45
  observer.observe(el, options);
46
- el._mutate = {
46
+ el._mutate = Object(el._mutate);
47
+ el._mutate[vnode.context._uid] = {
47
48
  observer: observer
48
49
  };
49
50
  }
50
51
 
51
- function unbind(el) {
52
- /* istanbul ignore if */
53
- if (!el._mutate) return;
52
+ function unbind(el, binding, vnode) {
53
+ var _el$_mutate;
54
54
 
55
- el._mutate.observer.disconnect();
55
+ if (!((_el$_mutate = el._mutate) != null && _el$_mutate[vnode.context._uid])) return;
56
56
 
57
- delete el._mutate;
57
+ el._mutate[vnode.context._uid].observer.disconnect();
58
+
59
+ delete el._mutate[vnode.context._uid];
58
60
  }
59
61
 
60
62
  var Mutate = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/mutate/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAkBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAiE;AAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,QAAQ,GAAG,QAAO,KAAP,MAAiB,QAAjB,GAA4B,KAAK,CAAC,OAAlC,GAA4C,KAA7D;;AAH+D,MAIvD,IAJuD,GAI7B,SAJ6B,CAIvD,IAJuD;AAAA,MAI9C,YAJ8C,4BAI7B,SAJ6B;;AAK/D,MAAM,YAAY,GAAG,MAAM,CAAC,IAAP,CAAY,YAAZ,EAA0B,MAA1B,GAAmC,CAAxD,CAL+D,CAO/D;;AACA,MAAM,OAAO,GAAG,QAAO,KAAP,MAAiB,QAAjB,IAA6B,KAAK,CAAC,OAAnC,GACZ,KAAK,CAAC,OADM,GAEZ,YAAY,CACZ;AADY,IAEV;AACA,IAAA,UAAU,EAAE,YAAY,CAAC,IADzB;AAEA,IAAA,SAAS,EAAE,YAAY,CAAC,KAFxB;AAGA,IAAA,OAAO,EAAE,YAAY,CAAC,GAHtB;AAIA,IAAA,aAAa,EAAE,YAAY,CAAC;AAJ5B,GAFU,CAQZ;AARY,IASV;AACA,IAAA,UAAU,EAAE,IADZ;AAEA,IAAA,SAAS,EAAE,IAFX;AAGA,IAAA,OAAO,EAAE,IAHT;AAIA,IAAA,aAAa,EAAE;AAJf,GAXN;AAkBA,MAAM,QAAQ,GAAG,IAAI,gBAAJ,CAAqB,UACpC,aADoC,EAEpC,QAFoC,EAGlC;AACF;AACA,QAAI,CAAC,EAAE,CAAC,OAAR,EAAiB,OAFf,CAEsB;;AAExB,IAAA,QAAQ,CAAC,aAAD,EAAgB,QAAhB,CAAR,CAJE,CAMF;;AACA,IAAA,IAAI,IAAI,MAAM,CAAC,EAAD,CAAd;AACD,GAXgB,CAAjB;AAaA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB,EAAqB,OAArB;AACA,EAAA,EAAE,CAAC,OAAH,GAAa;AAAE,IAAA,QAAQ,EAAR;AAAF,GAAb;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAgC;AAC9B;AACA,MAAI,CAAC,EAAE,CAAC,OAAR,EAAiB;;AAEjB,EAAA,EAAE,CAAC,OAAH,CAAW,QAAX,CAAoB,UAApB;;AACA,SAAO,EAAE,CAAC,OAAV;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { VNodeDirective } from 'vue'\n\ntype MutateHandler = (\n mutationsList: MutationRecord[],\n observer: MutationObserver,\n) => void\n\ninterface MutateVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value?: MutateHandler | { handler: MutateHandler, options?: MutationObserverInit }\n modifiers?: {\n once?: boolean\n attr?: boolean\n child?: boolean\n sub?: boolean\n char?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: MutateVNodeDirective) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const callback = typeof value === 'object' ? value.handler : value!\n const { once, ...modifierKeys } = modifiers\n const hasModifiers = Object.keys(modifierKeys).length > 0\n\n // Options take top priority\n const options = typeof value === 'object' && value.options\n ? value.options\n : hasModifiers\n // If we have modifiers, use only those provided\n ? {\n attributes: modifierKeys.attr,\n childList: modifierKeys.child,\n subtree: modifierKeys.sub,\n characterData: modifierKeys.char,\n }\n // Defaults to everything on\n : {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n }\n\n const observer = new MutationObserver((\n mutationsList: MutationRecord[],\n observer: MutationObserver\n ) => {\n /* istanbul ignore if */\n if (!el._mutate) return // Just in case, should never fire\n\n callback(mutationsList, observer)\n\n // If has the once modifier, unbind\n once && unbind(el)\n })\n\n observer.observe(el, options)\n el._mutate = { observer }\n}\n\nfunction unbind (el: HTMLElement) {\n /* istanbul ignore if */\n if (!el._mutate) return\n\n el._mutate.observer.disconnect()\n delete el._mutate\n}\n\nexport const Mutate = {\n inserted,\n unbind,\n}\n\nexport default Mutate\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/mutate/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAkBA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAC7E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAR,IAAqB,EAAvC;AACA,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,QAAQ,GAAG,QAAO,KAAP,MAAiB,QAAjB,GAA4B,KAAK,CAAC,OAAlC,GAA4C,KAA7D;;AAH6E,MAIrE,IAJqE,GAI3C,SAJ2C,CAIrE,IAJqE;AAAA,MAI5D,YAJ4D,4BAI3C,SAJ2C;;AAK7E,MAAM,YAAY,GAAG,MAAM,CAAC,IAAP,CAAY,YAAZ,EAA0B,MAA1B,GAAmC,CAAxD,CAL6E,CAO7E;;AACA,MAAM,OAAO,GAAG,QAAO,KAAP,MAAiB,QAAjB,IAA6B,KAAK,CAAC,OAAnC,GACZ,KAAK,CAAC,OADM,GAEZ,YAAY,CACZ;AADY,IAEV;AACA,IAAA,UAAU,EAAE,YAAY,CAAC,IADzB;AAEA,IAAA,SAAS,EAAE,YAAY,CAAC,KAFxB;AAGA,IAAA,OAAO,EAAE,YAAY,CAAC,GAHtB;AAIA,IAAA,aAAa,EAAE,YAAY,CAAC;AAJ5B,GAFU,CAQZ;AARY,IASV;AACA,IAAA,UAAU,EAAE,IADZ;AAEA,IAAA,SAAS,EAAE,IAFX;AAGA,IAAA,OAAO,EAAE,IAHT;AAIA,IAAA,aAAa,EAAE;AAJf,GAXN;AAkBA,MAAM,QAAQ,GAAG,IAAI,gBAAJ,CAAqB,UACpC,aADoC,EAEpC,QAFoC,EAGlC;AACF;AACA,QAAI,CAAC,EAAE,CAAC,OAAR,EAAiB,OAFf,CAEsB;;AAExB,IAAA,QAAQ,CAAC,aAAD,EAAgB,QAAhB,CAAR,CAJE,CAMF;;AACA,IAAA,IAAI,IAAI,MAAM,CAAC,EAAD,EAAK,OAAL,EAAc,KAAd,CAAd;AACD,GAXgB,CAAjB;AAaA,EAAA,QAAQ,CAAC,OAAT,CAAiB,EAAjB,EAAqB,OAArB;AACA,EAAA,EAAE,CAAC,OAAH,GAAa,MAAM,CAAC,EAAE,CAAC,OAAJ,CAAnB;AACA,EAAA,EAAE,CAAC,OAAH,CAAY,KAAK,CAAC,OAAN,CAAe,IAA3B,IAAmC;AAAE,IAAA,QAAQ,EAAR;AAAF,GAAnC;AACD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAiE,KAAjE,EAA6E;AAAA;;AAC3E,MAAI,iBAAC,EAAE,CAAC,OAAJ,aAAC,YAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAD,CAAJ,EAAwC;;AAExC,EAAA,EAAE,CAAC,OAAH,CAAW,KAAK,CAAC,OAAN,CAAe,IAA1B,EAAiC,QAAjC,CAA0C,UAA1C;;AACA,SAAO,EAAE,CAAC,OAAH,CAAW,KAAK,CAAC,OAAN,CAAe,IAA1B,CAAP;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { VNode, VNodeDirective } from 'vue'\n\ntype MutateHandler = (\n mutationsList: MutationRecord[],\n observer: MutationObserver,\n) => void\n\ninterface MutateVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value?: MutateHandler | { handler: MutateHandler, options?: MutationObserverInit }\n modifiers?: {\n once?: boolean\n attr?: boolean\n child?: boolean\n sub?: boolean\n char?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: MutateVNodeDirective, vnode: VNode) {\n const modifiers = binding.modifiers || {}\n const value = binding.value\n const callback = typeof value === 'object' ? value.handler : value!\n const { once, ...modifierKeys } = modifiers\n const hasModifiers = Object.keys(modifierKeys).length > 0\n\n // Options take top priority\n const options = typeof value === 'object' && value.options\n ? value.options\n : hasModifiers\n // If we have modifiers, use only those provided\n ? {\n attributes: modifierKeys.attr,\n childList: modifierKeys.child,\n subtree: modifierKeys.sub,\n characterData: modifierKeys.char,\n }\n // Defaults to everything on\n : {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n }\n\n const observer = new MutationObserver((\n mutationsList: MutationRecord[],\n observer: MutationObserver\n ) => {\n /* istanbul ignore if */\n if (!el._mutate) return // Just in case, should never fire\n\n callback(mutationsList, observer)\n\n // If has the once modifier, unbind\n once && unbind(el, binding, vnode)\n })\n\n observer.observe(el, options)\n el._mutate = Object(el._mutate)\n el._mutate![vnode.context!._uid] = { observer }\n}\n\nfunction unbind (el: HTMLElement, binding: MutateVNodeDirective, vnode: VNode) {\n if (!el._mutate?.[vnode.context!._uid]) return\n\n el._mutate[vnode.context!._uid]!.observer.disconnect()\n delete el._mutate[vnode.context!._uid]\n}\n\nexport const Mutate = {\n inserted,\n unbind,\n}\n\nexport default Mutate\n"],"sourceRoot":"","file":"index.js"}
@@ -5,13 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = exports.Resize = void 0;
7
7
 
8
- function inserted(el, binding) {
8
+ function inserted(el, binding, vnode) {
9
9
  var callback = binding.value;
10
10
  var options = binding.options || {
11
11
  passive: true
12
12
  };
13
13
  window.addEventListener('resize', callback, options);
14
- el._onResize = {
14
+ el._onResize = Object(el._onResize);
15
+ el._onResize[vnode.context._uid] = {
15
16
  callback: callback,
16
17
  options: options
17
18
  };
@@ -21,13 +22,15 @@ function inserted(el, binding) {
21
22
  }
22
23
  }
23
24
 
24
- function unbind(el) {
25
- if (!el._onResize) return;
26
- var _el$_onResize = el._onResize,
27
- callback = _el$_onResize.callback,
28
- options = _el$_onResize.options;
25
+ function unbind(el, binding, vnode) {
26
+ var _el$_onResize;
27
+
28
+ if (!((_el$_onResize = el._onResize) != null && _el$_onResize[vnode.context._uid])) return;
29
+ var _el$_onResize$vnode$c = el._onResize[vnode.context._uid],
30
+ callback = _el$_onResize$vnode$c.callback,
31
+ options = _el$_onResize$vnode$c.options;
29
32
  window.removeEventListener('resize', callback, options);
30
- delete el._onResize;
33
+ delete el._onResize[vnode.context._uid];
31
34
  }
32
35
 
33
36
  var Resize = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/resize/index.ts"],"names":[],"mappings":";;;;;;;AAOA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAiE;AAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAzB;AACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAR,IAAmB;AAAE,IAAA,OAAO,EAAE;AAAX,GAAnC;AAEA,EAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,QAAlC,EAA4C,OAA5C;AACA,EAAA,EAAE,CAAC,SAAH,GAAe;AACb,IAAA,QAAQ,EAAR,QADa;AAEb,IAAA,OAAO,EAAP;AAFa,GAAf;;AAKA,MAAI,CAAC,OAAO,CAAC,SAAT,IAAsB,CAAC,OAAO,CAAC,SAAR,CAAkB,KAA7C,EAAoD;AAClD,IAAA,QAAQ;AACT;AACF;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAgC;AAC9B,MAAI,CAAC,EAAE,CAAC,SAAR,EAAmB;AADW,sBAGA,EAAE,CAAC,SAHH;AAAA,MAGtB,QAHsB,iBAGtB,QAHsB;AAAA,MAGZ,OAHY,iBAGZ,OAHY;AAI9B,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,QAArC,EAA+C,OAA/C;AACA,SAAO,EAAE,CAAC,SAAV;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n el._onResize = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onResize) return\n\n const { callback, options } = el._onResize\n window.removeEventListener('resize', callback, options)\n delete el._onResize\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/resize/index.ts"],"names":[],"mappings":";;;;;;;AAQA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAC7E,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAzB;AACA,MAAM,OAAO,GAAG,OAAO,CAAC,OAAR,IAAmB;AAAE,IAAA,OAAO,EAAE;AAAX,GAAnC;AAEA,EAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,QAAlC,EAA4C,OAA5C;AAEA,EAAA,EAAE,CAAC,SAAH,GAAe,MAAM,CAAC,EAAE,CAAC,SAAJ,CAArB;AACA,EAAA,EAAE,CAAC,SAAH,CAAc,KAAK,CAAC,OAAN,CAAe,IAA7B,IAAqC;AACnC,IAAA,QAAQ,EAAR,QADmC;AAEnC,IAAA,OAAO,EAAP;AAFmC,GAArC;;AAKA,MAAI,CAAC,OAAO,CAAC,SAAT,IAAsB,CAAC,OAAO,CAAC,SAAR,CAAkB,KAA7C,EAAoD;AAClD,IAAA,QAAQ;AACT;AACF;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAiE,KAAjE,EAA6E;AAAA;;AAC3E,MAAI,mBAAC,EAAE,CAAC,SAAJ,aAAC,cAAe,KAAK,CAAC,OAAN,CAAe,IAA9B,CAAD,CAAJ,EAA0C;AADiC,8BAG7C,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAH6C;AAAA,MAGnE,QAHmE,yBAGnE,QAHmE;AAAA,MAGzD,OAHyD,yBAGzD,OAHyD;AAK3E,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,QAArC,EAA+C,OAA/C;AAEA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAP;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\nimport { VNode } from 'vue'\n\ninterface ResizeVNodeDirective extends VNodeDirective {\n value?: () => void\n options?: boolean | AddEventListenerOptions\n}\n\nfunction inserted (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n const callback = binding.value!\n const options = binding.options || { passive: true }\n\n window.addEventListener('resize', callback, options)\n\n el._onResize = Object(el._onResize)\n el._onResize![vnode.context!._uid] = {\n callback,\n options,\n }\n\n if (!binding.modifiers || !binding.modifiers.quiet) {\n callback()\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ResizeVNodeDirective, vnode: VNode) {\n if (!el._onResize?.[vnode.context!._uid]) return\n\n const { callback, options } = el._onResize[vnode.context!._uid]!\n\n window.removeEventListener('resize', callback, options)\n\n delete el._onResize[vnode.context!._uid]\n}\n\nexport const Resize = {\n inserted,\n unbind,\n}\n\nexport default Resize\n"],"sourceRoot":"","file":"index.js"}
@@ -7,7 +7,7 @@ exports.default = exports.Scroll = void 0;
7
7
 
8
8
  function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
9
9
 
10
- function inserted(el, binding) {
10
+ function inserted(el, binding, vnode) {
11
11
  var _ref = binding.modifiers || {},
12
12
  _ref$self = _ref.self,
13
13
  self = _ref$self === void 0 ? false : _ref$self;
@@ -20,7 +20,8 @@ function inserted(el, binding) {
20
20
  var target = self ? el : binding.arg ? document.querySelector(binding.arg) : window;
21
21
  if (!target) return;
22
22
  target.addEventListener('scroll', handler, options);
23
- el._onScroll = {
23
+ el._onScroll = Object(el._onScroll);
24
+ el._onScroll[vnode.context._uid] = {
24
25
  handler: handler,
25
26
  options: options,
26
27
  // Don't reference self
@@ -28,15 +29,17 @@ function inserted(el, binding) {
28
29
  };
29
30
  }
30
31
 
31
- function unbind(el) {
32
- if (!el._onScroll) return;
33
- var _el$_onScroll = el._onScroll,
34
- handler = _el$_onScroll.handler,
35
- options = _el$_onScroll.options,
36
- _el$_onScroll$target = _el$_onScroll.target,
37
- target = _el$_onScroll$target === void 0 ? el : _el$_onScroll$target;
32
+ function unbind(el, binding, vnode) {
33
+ var _el$_onScroll;
34
+
35
+ if (!((_el$_onScroll = el._onScroll) != null && _el$_onScroll[vnode.context._uid])) return;
36
+ var _el$_onScroll$vnode$c = el._onScroll[vnode.context._uid],
37
+ handler = _el$_onScroll$vnode$c.handler,
38
+ options = _el$_onScroll$vnode$c.options,
39
+ _el$_onScroll$vnode$c2 = _el$_onScroll$vnode$c.target,
40
+ target = _el$_onScroll$vnode$c2 === void 0 ? el : _el$_onScroll$vnode$c2;
38
41
  target.removeEventListener('scroll', handler, options);
39
- delete el._onScroll;
42
+ delete el._onScroll[vnode.context._uid];
40
43
  }
41
44
 
42
45
  var Scroll = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/directives/scroll/index.ts"],"names":[],"mappings":";;;;;;;;;AAaA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAiE;AAAA,aACtC,OAAO,CAAC,SAAR,IAAqB,EADiB;AAAA,uBACvD,IADuD;AAAA,MACvD,IADuD,0BAChD,KADgD;;AAE/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,OAAO,GAAI,QAAO,KAAP,MAAiB,QAAjB,IAA6B,KAAK,CAAC,OAApC,IAAgD;AAAE,IAAA,OAAO,EAAE;AAAX,GAAhE;AACA,MAAM,OAAO,GAAG,OAAO,KAAP,KAAiB,UAAjB,IAA+B,iBAAiB,KAAhD,GAAwD,KAAxD,GAAgE,KAAK,CAAC,OAAtF;AAEA,MAAM,MAAM,GAAG,IAAI,GACf,EADe,GAEf,OAAO,CAAC,GAAR,GACE,QAAQ,CAAC,aAAT,CAAuB,OAAO,CAAC,GAA/B,CADF,GAEE,MAJN;AAMA,MAAI,CAAC,MAAL,EAAa;AAEb,EAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,OAAlC,EAA2C,OAA3C;AAEA,EAAA,EAAE,CAAC,SAAH,GAAe;AACb,IAAA,OAAO,EAAP,OADa;AAEb,IAAA,OAAO,EAAP,OAFa;AAGb;AACA,IAAA,MAAM,EAAE,IAAI,GAAG,SAAH,GAAe;AAJd,GAAf;AAMD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAgC;AAC9B,MAAI,CAAC,EAAE,CAAC,SAAR,EAAmB;AADW,sBAGY,EAAE,CAAC,SAHf;AAAA,MAGtB,OAHsB,iBAGtB,OAHsB;AAAA,MAGb,OAHa,iBAGb,OAHa;AAAA,2CAGJ,MAHI;AAAA,MAGJ,MAHI,qCAGK,EAHL;AAK9B,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,OAArC,EAA8C,OAA9C;AACA,SAAO,EAAE,CAAC,SAAV;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement) {\n if (!el._onScroll) return\n\n const { handler, options, target = el } = el._onScroll\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n"],"sourceRoot":"","file":"index.js"}
1
+ {"version":3,"sources":["../../../src/directives/scroll/index.ts"],"names":[],"mappings":";;;;;;;;;AAaA,SAAS,QAAT,CAAmB,EAAnB,EAAoC,OAApC,EAAmE,KAAnE,EAA+E;AAAA,aACpD,OAAO,CAAC,SAAR,IAAqB,EAD+B;AAAA,uBACrE,IADqE;AAAA,MACrE,IADqE,0BAC9D,KAD8D;;AAE7E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAtB;AACA,MAAM,OAAO,GAAI,QAAO,KAAP,MAAiB,QAAjB,IAA6B,KAAK,CAAC,OAApC,IAAgD;AAAE,IAAA,OAAO,EAAE;AAAX,GAAhE;AACA,MAAM,OAAO,GAAG,OAAO,KAAP,KAAiB,UAAjB,IAA+B,iBAAiB,KAAhD,GAAwD,KAAxD,GAAgE,KAAK,CAAC,OAAtF;AAEA,MAAM,MAAM,GAAG,IAAI,GACf,EADe,GAEf,OAAO,CAAC,GAAR,GACE,QAAQ,CAAC,aAAT,CAAuB,OAAO,CAAC,GAA/B,CADF,GAEE,MAJN;AAMA,MAAI,CAAC,MAAL,EAAa;AAEb,EAAA,MAAM,CAAC,gBAAP,CAAwB,QAAxB,EAAkC,OAAlC,EAA2C,OAA3C;AAEA,EAAA,EAAE,CAAC,SAAH,GAAe,MAAM,CAAC,EAAE,CAAC,SAAJ,CAArB;AACA,EAAA,EAAE,CAAC,SAAH,CAAc,KAAK,CAAC,OAAN,CAAe,IAA7B,IAAqC;AACnC,IAAA,OAAO,EAAP,OADmC;AAEnC,IAAA,OAAO,EAAP,OAFmC;AAGnC;AACA,IAAA,MAAM,EAAE,IAAI,GAAG,SAAH,GAAe;AAJQ,GAArC;AAMD;;AAED,SAAS,MAAT,CAAiB,EAAjB,EAAkC,OAAlC,EAAiE,KAAjE,EAA6E;AAAA;;AAC3E,MAAI,mBAAC,EAAE,CAAC,SAAJ,aAAC,cAAe,KAAK,CAAC,OAAN,CAAe,IAA9B,CAAD,CAAJ,EAA0C;AADiC,8BAGjC,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAHiC;AAAA,MAGnE,OAHmE,yBAGnE,OAHmE;AAAA,MAG1D,OAH0D,yBAG1D,OAH0D;AAAA,qDAGjD,MAHiD;AAAA,MAGjD,MAHiD,uCAGxC,EAHwC;AAK3E,EAAA,MAAM,CAAC,mBAAP,CAA2B,QAA3B,EAAqC,OAArC,EAA8C,OAA9C;AACA,SAAO,EAAE,CAAC,SAAH,CAAa,KAAK,CAAC,OAAN,CAAe,IAA5B,CAAP;AACD;;AAEM,IAAM,MAAM,GAAG;AACpB,EAAA,QAAQ,EAAR,QADoB;AAEpB,EAAA,MAAM,EAAN;AAFoB,CAAf;;eAKQ,M","sourcesContent":["import { VNodeDirective } from 'vue/types/vnode'\nimport { DirectiveOptions, VNode } from 'vue'\n\ninterface ScrollVNodeDirective extends Omit<VNodeDirective, 'modifiers'> {\n value: EventListener | {\n handler: EventListener\n options?: boolean | AddEventListenerOptions\n } | EventListenerObject & { options?: boolean | AddEventListenerOptions }\n modifiers?: {\n self?: boolean\n }\n}\n\nfunction inserted (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n const { self = false } = binding.modifiers || {}\n const value = binding.value\n const options = (typeof value === 'object' && value.options) || { passive: true }\n const handler = typeof value === 'function' || 'handleEvent' in value ? value : value.handler\n\n const target = self\n ? el\n : binding.arg\n ? document.querySelector(binding.arg)\n : window\n\n if (!target) return\n\n target.addEventListener('scroll', handler, options)\n\n el._onScroll = Object(el._onScroll)\n el._onScroll![vnode.context!._uid] = {\n handler,\n options,\n // Don't reference self\n target: self ? undefined : target,\n }\n}\n\nfunction unbind (el: HTMLElement, binding: ScrollVNodeDirective, vnode: VNode) {\n if (!el._onScroll?.[vnode.context!._uid]) return\n\n const { handler, options, target = el } = el._onScroll[vnode.context!._uid]!\n\n target.removeEventListener('scroll', handler, options)\n delete el._onScroll[vnode.context!._uid]\n}\n\nexport const Scroll = {\n inserted,\n unbind,\n} as DirectiveOptions\n\nexport default Scroll\n"],"sourceRoot":"","file":"index.js"}
package/es5/framework.js CHANGED
@@ -79,7 +79,7 @@ var Vuetify = /*#__PURE__*/function () {
79
79
  exports.default = Vuetify;
80
80
  Vuetify.install = _install.install;
81
81
  Vuetify.installed = false;
82
- Vuetify.version = "2.6.0-beta.0";
82
+ Vuetify.version = "2.6.0";
83
83
  Vuetify.config = {
84
84
  silent: false
85
85
  };
package/es5/locale/fr.js CHANGED
@@ -69,7 +69,7 @@ var _default = {
69
69
  },
70
70
  rating: {
71
71
  ariaLabel: {
72
- icon: 'Rating {0} of {1}'
72
+ icon: 'Note de {0} sur {1}'
73
73
  }
74
74
  }
75
75
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/locale/fr.ts"],"names":[],"mappings":";;;;;;eAAe;AACb,EAAA,KAAK,EAAE,OADM;AAEb,EAAA,KAAK,EAAE,QAFM;AAGb,EAAA,YAAY,EAAE;AACZ,IAAA,aAAa,EAAE,2CADH;AAEZ,IAAA,WAAW;AAFC,GAHD;AAOb,EAAA,SAAS,EAAE;AACT,IAAA,gBAAgB,EAAE,mBADT;AAET,IAAA,SAAS,EAAE;AACT,MAAA,cAAc,EAAE,kBADP;AAET,MAAA,aAAa,EAAE,gBAFN;AAGT,MAAA,QAAQ,EAAE,WAHD;AAIT,MAAA,YAAY,EAAE,gCAJL;AAKT,MAAA,kBAAkB,EAAE,2CALX;AAMT,MAAA,iBAAiB,EAAE;AANV,KAFF;AAUT,IAAA,MAAM,EAAE;AAVC,GAPE;AAmBb,EAAA,UAAU,EAAE;AACV,IAAA,gBAAgB,EAAE,qBADR;AAEV,IAAA,eAAe,EAAE,MAFP;AAGV,IAAA,QAAQ,EAAE,eAHA;AAIV,IAAA,QAAQ,EAAE,iBAJA;AAKV,IAAA,SAAS,EAAE,eALD;AAMV,IAAA,QAAQ,EAAE,eANA;AAOV,IAAA,QAAQ,EAAE;AAPA,GAnBC;AA4Bb,EAAA,UAAU,EAAE;AACV,IAAA,aAAa,EAAE,oBADL;AAEV,IAAA,kBAAkB,EAAE,kBAFV;AAGV,IAAA,iBAAiB,wBAHP;AAIV,IAAA,kBAAkB,EAAE,mBAJV;AAKV,IAAA,iBAAiB,EAAE;AALT,GA5BC;AAmCb,EAAA,UAAU,EAAE,0BAnCC;AAoCb,EAAA,QAAQ,EAAE;AACR,IAAA,IAAI,EAAE,kBADE;AAER,IAAA,IAAI,EAAE,gBAFE;AAGR,IAAA,SAAS,EAAE;AACT,MAAA,SAAS,EAAE;AADF;AAHH,GApCG;AA2Cb,EAAA,QAAQ,EAAE;AACR,IAAA,UAAU,EAAE;AADJ,GA3CG;AA8Cb,EAAA,SAAS,EAAE;AACT,IAAA,OAAO,EAAE,gBADA;AAET,IAAA,WAAW,EAAE;AAFJ,GA9CE;AAkDb,EAAA,UAAU,EAAE;AACV,IAAA,EAAE,EAAE,IADM;AAEV,IAAA,EAAE,EAAE;AAFM,GAlDC;AAsDb,EAAA,UAAU,EAAE;AACV,IAAA,SAAS,EAAE;AACT,MAAA,OAAO,EAAE,0BADA;AAET,MAAA,IAAI,EAAE,eAFG;AAGT,MAAA,QAAQ,EAAE,iBAHD;AAIT,MAAA,IAAI,EAAE,qBAJG;AAKT,MAAA,WAAW,EAAE;AALJ;AADD,GAtDC;AA+Db,EAAA,MAAM,EAAE;AACN,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE;AADG;AADL;AA/DK,C","sourcesContent":["export default {\n badge: 'Badge',\n close: 'Fermer',\n dataIterator: {\n noResultsText: 'Aucun enregistrement correspondant trouvé',\n loadingText: `Chargement de l'élément...`,\n },\n dataTable: {\n itemsPerPageText: 'Lignes par page :',\n ariaLabel: {\n sortDescending: 'Tri décroissant.',\n sortAscending: 'Tri croissant.',\n sortNone: 'Non trié.',\n activateNone: 'Activer pour supprimer le tri.',\n activateDescending: 'Activer pour trier par ordre décroissant.',\n activateAscending: 'Activer pour trier par ordre croissant.',\n },\n sortBy: 'Trier par',\n },\n dataFooter: {\n itemsPerPageText: 'Élements par page :',\n itemsPerPageAll: 'Tous',\n nextPage: 'Page suivante',\n prevPage: 'Page précédente',\n firstPage: 'Première page',\n lastPage: 'Dernière page',\n pageText: '{0}-{1} de {2}',\n },\n datePicker: {\n itemsSelected: '{0} sélectionné(s)',\n nextMonthAriaLabel: 'Le mois prochain',\n nextYearAriaLabel: `L'année prochaine`,\n prevMonthAriaLabel: 'Le mois précédent',\n prevYearAriaLabel: 'Année précédente',\n },\n noDataText: 'Aucune donnée disponible',\n carousel: {\n prev: 'Visuel précédent',\n next: 'Visuel suivant',\n ariaLabel: {\n delimiter: 'Diapositive {0} de {1}',\n },\n },\n calendar: {\n moreEvents: '{0} de plus',\n },\n fileInput: {\n counter: '{0} fichier(s)',\n counterSize: '{0} fichier(s) ({1} au total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n wrapper: 'Navigation de pagination',\n next: 'Page suivante',\n previous: 'Page précédente',\n page: 'Aller à la page {0}',\n currentPage: 'Page actuelle, Page {0}',\n },\n },\n rating: {\n ariaLabel: {\n icon: 'Rating {0} of {1}',\n },\n },\n}\n"],"sourceRoot":"","file":"fr.js"}
1
+ {"version":3,"sources":["../../src/locale/fr.ts"],"names":[],"mappings":";;;;;;eAAe;AACb,EAAA,KAAK,EAAE,OADM;AAEb,EAAA,KAAK,EAAE,QAFM;AAGb,EAAA,YAAY,EAAE;AACZ,IAAA,aAAa,EAAE,2CADH;AAEZ,IAAA,WAAW;AAFC,GAHD;AAOb,EAAA,SAAS,EAAE;AACT,IAAA,gBAAgB,EAAE,mBADT;AAET,IAAA,SAAS,EAAE;AACT,MAAA,cAAc,EAAE,kBADP;AAET,MAAA,aAAa,EAAE,gBAFN;AAGT,MAAA,QAAQ,EAAE,WAHD;AAIT,MAAA,YAAY,EAAE,gCAJL;AAKT,MAAA,kBAAkB,EAAE,2CALX;AAMT,MAAA,iBAAiB,EAAE;AANV,KAFF;AAUT,IAAA,MAAM,EAAE;AAVC,GAPE;AAmBb,EAAA,UAAU,EAAE;AACV,IAAA,gBAAgB,EAAE,qBADR;AAEV,IAAA,eAAe,EAAE,MAFP;AAGV,IAAA,QAAQ,EAAE,eAHA;AAIV,IAAA,QAAQ,EAAE,iBAJA;AAKV,IAAA,SAAS,EAAE,eALD;AAMV,IAAA,QAAQ,EAAE,eANA;AAOV,IAAA,QAAQ,EAAE;AAPA,GAnBC;AA4Bb,EAAA,UAAU,EAAE;AACV,IAAA,aAAa,EAAE,oBADL;AAEV,IAAA,kBAAkB,EAAE,kBAFV;AAGV,IAAA,iBAAiB,wBAHP;AAIV,IAAA,kBAAkB,EAAE,mBAJV;AAKV,IAAA,iBAAiB,EAAE;AALT,GA5BC;AAmCb,EAAA,UAAU,EAAE,0BAnCC;AAoCb,EAAA,QAAQ,EAAE;AACR,IAAA,IAAI,EAAE,kBADE;AAER,IAAA,IAAI,EAAE,gBAFE;AAGR,IAAA,SAAS,EAAE;AACT,MAAA,SAAS,EAAE;AADF;AAHH,GApCG;AA2Cb,EAAA,QAAQ,EAAE;AACR,IAAA,UAAU,EAAE;AADJ,GA3CG;AA8Cb,EAAA,SAAS,EAAE;AACT,IAAA,OAAO,EAAE,gBADA;AAET,IAAA,WAAW,EAAE;AAFJ,GA9CE;AAkDb,EAAA,UAAU,EAAE;AACV,IAAA,EAAE,EAAE,IADM;AAEV,IAAA,EAAE,EAAE;AAFM,GAlDC;AAsDb,EAAA,UAAU,EAAE;AACV,IAAA,SAAS,EAAE;AACT,MAAA,OAAO,EAAE,0BADA;AAET,MAAA,IAAI,EAAE,eAFG;AAGT,MAAA,QAAQ,EAAE,iBAHD;AAIT,MAAA,IAAI,EAAE,qBAJG;AAKT,MAAA,WAAW,EAAE;AALJ;AADD,GAtDC;AA+Db,EAAA,MAAM,EAAE;AACN,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE;AADG;AADL;AA/DK,C","sourcesContent":["export default {\n badge: 'Badge',\n close: 'Fermer',\n dataIterator: {\n noResultsText: 'Aucun enregistrement correspondant trouvé',\n loadingText: `Chargement de l'élément...`,\n },\n dataTable: {\n itemsPerPageText: 'Lignes par page :',\n ariaLabel: {\n sortDescending: 'Tri décroissant.',\n sortAscending: 'Tri croissant.',\n sortNone: 'Non trié.',\n activateNone: 'Activer pour supprimer le tri.',\n activateDescending: 'Activer pour trier par ordre décroissant.',\n activateAscending: 'Activer pour trier par ordre croissant.',\n },\n sortBy: 'Trier par',\n },\n dataFooter: {\n itemsPerPageText: 'Élements par page :',\n itemsPerPageAll: 'Tous',\n nextPage: 'Page suivante',\n prevPage: 'Page précédente',\n firstPage: 'Première page',\n lastPage: 'Dernière page',\n pageText: '{0}-{1} de {2}',\n },\n datePicker: {\n itemsSelected: '{0} sélectionné(s)',\n nextMonthAriaLabel: 'Le mois prochain',\n nextYearAriaLabel: `L'année prochaine`,\n prevMonthAriaLabel: 'Le mois précédent',\n prevYearAriaLabel: 'Année précédente',\n },\n noDataText: 'Aucune donnée disponible',\n carousel: {\n prev: 'Visuel précédent',\n next: 'Visuel suivant',\n ariaLabel: {\n delimiter: 'Diapositive {0} de {1}',\n },\n },\n calendar: {\n moreEvents: '{0} de plus',\n },\n fileInput: {\n counter: '{0} fichier(s)',\n counterSize: '{0} fichier(s) ({1} au total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n wrapper: 'Navigation de pagination',\n next: 'Page suivante',\n previous: 'Page précédente',\n page: 'Aller à la page {0}',\n currentPage: 'Page actuelle, Page {0}',\n },\n },\n rating: {\n ariaLabel: {\n icon: 'Note de {0} sur {1}',\n },\n },\n}\n"],"sourceRoot":"","file":"fr.js"}