@vkontakte/vkui 4.25.2 → 4.26.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 (192) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +89 -55
  4. package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +2 -2
  5. package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
  6. package/.cache/ts/src/components/Alert/Alert.d.ts +2 -2
  7. package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +0 -1
  8. package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +9 -2
  9. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +1 -1
  10. package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
  11. package/.cache/ts/src/index.d.ts +3 -3
  12. package/.cache/ts/src/lib/platform.d.ts +1 -1
  13. package/.cache/ts/src/tokenized/{tokenized.d.ts → index.d.ts} +0 -0
  14. package/VKUI_TOKENS_MIGRATION_GUIDE.md +76 -0
  15. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +2 -2
  16. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +5 -9
  17. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  18. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
  19. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +4 -6
  20. package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  21. package/dist/cjs/components/Alert/Alert.d.ts +2 -2
  22. package/dist/cjs/components/Alert/Alert.js +4 -7
  23. package/dist/cjs/components/Alert/Alert.js.map +1 -1
  24. package/dist/cjs/components/AppRoot/AppRoot.d.ts +0 -1
  25. package/dist/cjs/components/AppRoot/AppRoot.js +2 -5
  26. package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
  27. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js +1 -1
  28. package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  29. package/dist/cjs/components/Button/Button.js +1 -3
  30. package/dist/cjs/components/Button/Button.js.map +1 -1
  31. package/dist/cjs/components/CardScroll/CardScroll.d.ts +9 -2
  32. package/dist/cjs/components/CardScroll/CardScroll.js +10 -4
  33. package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
  34. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +40 -6
  35. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  36. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +1 -1
  37. package/dist/cjs/components/ContentCard/ContentCard.js +8 -0
  38. package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
  39. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +1 -1
  40. package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  41. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
  42. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +5 -1
  43. package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  44. package/dist/cjs/components/IconButton/IconButton.js +8 -0
  45. package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
  46. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +14 -5
  47. package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  48. package/dist/cjs/components/PromoBanner/PromoBanner.js +7 -0
  49. package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
  50. package/dist/cjs/components/Root/Root.js +5 -0
  51. package/dist/cjs/components/Root/Root.js.map +1 -1
  52. package/dist/cjs/components/TabbarItem/TabbarItem.js +8 -1
  53. package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
  54. package/dist/cjs/components/View/View.js +29 -18
  55. package/dist/cjs/components/View/View.js.map +1 -1
  56. package/dist/cjs/index.d.ts +3 -3
  57. package/dist/cjs/index.js +6 -6
  58. package/dist/cjs/index.js.map +1 -1
  59. package/dist/cjs/lib/platform.d.ts +1 -1
  60. package/dist/cjs/lib/platform.js.map +1 -1
  61. package/dist/cjs/tokenized/{tokenized.d.ts → index.d.ts} +0 -0
  62. package/dist/cjs/tokenized/{tokenized.js → index.js} +1 -1
  63. package/dist/cjs/tokenized/index.js.map +1 -0
  64. package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +2 -2
  65. package/dist/components/ActionSheetItem/ActionSheetItem.js +4 -6
  66. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  67. package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
  68. package/dist/components/AdaptivityProvider/AdaptivityProvider.js +2 -3
  69. package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  70. package/dist/components/Alert/Alert.d.ts +2 -2
  71. package/dist/components/Alert/Alert.js +3 -3
  72. package/dist/components/Alert/Alert.js.map +1 -1
  73. package/dist/components/AppRoot/AppRoot.d.ts +0 -1
  74. package/dist/components/AppRoot/AppRoot.js +1 -3
  75. package/dist/components/AppRoot/AppRoot.js.map +1 -1
  76. package/dist/components/AppearanceProvider/AppearanceProvider.js +2 -2
  77. package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  78. package/dist/components/Button/Button.js +1 -2
  79. package/dist/components/Button/Button.js.map +1 -1
  80. package/dist/components/CardScroll/CardScroll.d.ts +9 -2
  81. package/dist/components/CardScroll/CardScroll.js +8 -3
  82. package/dist/components/CardScroll/CardScroll.js.map +1 -1
  83. package/dist/components/ConfigProvider/ConfigProvider.js +39 -6
  84. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  85. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +1 -1
  86. package/dist/components/ContentCard/ContentCard.js +7 -0
  87. package/dist/components/ContentCard/ContentCard.js.map +1 -1
  88. package/dist/components/CustomSelectOption/CustomSelectOption.js +1 -1
  89. package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  90. package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
  91. package/dist/components/HorizontalScroll/HorizontalScroll.js +3 -1
  92. package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  93. package/dist/components/IconButton/IconButton.js +7 -0
  94. package/dist/components/IconButton/IconButton.js.map +1 -1
  95. package/dist/components/PanelHeaderButton/PanelHeaderButton.js +13 -6
  96. package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  97. package/dist/components/PromoBanner/PromoBanner.js +6 -0
  98. package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
  99. package/dist/components/Root/Root.js +5 -0
  100. package/dist/components/Root/Root.js.map +1 -1
  101. package/dist/components/TabbarItem/TabbarItem.js +7 -1
  102. package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
  103. package/dist/components/View/View.js +29 -18
  104. package/dist/components/View/View.js.map +1 -1
  105. package/dist/components.css +14 -11
  106. package/dist/components.css.map +1 -1
  107. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +4 -6
  108. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  109. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +2 -3
  110. package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
  111. package/dist/cssm/components/Alert/Alert.js +3 -3
  112. package/dist/cssm/components/Alert/Alert.js.map +1 -1
  113. package/dist/cssm/components/AppRoot/AppRoot.js +1 -3
  114. package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
  115. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +2 -2
  116. package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
  117. package/dist/cssm/components/Button/Button.css +9 -11
  118. package/dist/cssm/components/Button/Button.js +1 -2
  119. package/dist/cssm/components/Button/Button.js.map +1 -1
  120. package/dist/cssm/components/Card/Card.css +6 -1
  121. package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
  122. package/dist/cssm/components/CardScroll/CardScroll.js +8 -3
  123. package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
  124. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +39 -6
  125. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  126. package/dist/cssm/components/ContentCard/ContentCard.js +7 -0
  127. package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
  128. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +1 -1
  129. package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
  130. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +3 -1
  131. package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
  132. package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +1 -1
  133. package/dist/cssm/components/IconButton/IconButton.js +7 -0
  134. package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
  135. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +13 -6
  136. package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
  137. package/dist/cssm/components/PromoBanner/PromoBanner.js +6 -0
  138. package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
  139. package/dist/cssm/components/Root/Root.js +5 -0
  140. package/dist/cssm/components/Root/Root.js.map +1 -1
  141. package/dist/cssm/components/TabbarItem/TabbarItem.js +7 -1
  142. package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
  143. package/dist/cssm/components/View/View.js +29 -18
  144. package/dist/cssm/components/View/View.js.map +1 -1
  145. package/dist/cssm/index.js +3 -3
  146. package/dist/cssm/index.js.map +1 -1
  147. package/dist/cssm/lib/platform.js.map +1 -1
  148. package/dist/cssm/styles/components.css +14 -11
  149. package/dist/cssm/styles/themes.css +1 -1
  150. package/dist/{tokenized/tokenized.js → cssm/tokenized/index.js} +1 -1
  151. package/dist/cssm/tokenized/index.js.map +1 -0
  152. package/dist/index.d.ts +3 -3
  153. package/dist/index.js +3 -3
  154. package/dist/index.js.map +1 -1
  155. package/dist/lib/platform.d.ts +1 -1
  156. package/dist/lib/platform.js.map +1 -1
  157. package/dist/tokenized/{tokenized.d.ts → index.d.ts} +0 -0
  158. package/dist/{cssm/tokenized/tokenized.js → tokenized/index.js} +1 -1
  159. package/dist/tokenized/index.js.map +1 -0
  160. package/dist/vkui.css +15 -12
  161. package/dist/vkui.css.map +1 -1
  162. package/package.json +3 -3
  163. package/postcss.config.js +10 -1
  164. package/src/components/ActionSheetItem/ActionSheetItem.tsx +5 -6
  165. package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +1 -2
  166. package/src/components/Alert/Alert.tsx +3 -2
  167. package/src/components/AppRoot/AppRoot.tsx +0 -3
  168. package/src/components/AppearanceProvider/AppearanceProvider.tsx +2 -2
  169. package/src/components/Button/Button.css +9 -39
  170. package/src/components/Button/Button.tsx +3 -4
  171. package/src/components/Card/Card.css +14 -22
  172. package/src/components/CardScroll/CardScroll.css +10 -23
  173. package/src/components/CardScroll/CardScroll.tsx +15 -4
  174. package/src/components/ConfigProvider/ConfigProvider.tsx +43 -7
  175. package/src/components/ContentCard/ContentCard.tsx +6 -0
  176. package/src/components/CustomSelectOption/CustomSelectOption.tsx +1 -1
  177. package/src/components/HorizontalScroll/HorizontalScroll.tsx +8 -2
  178. package/src/components/HorizontalScroll/HorizontalScrollArrow.css +3 -1
  179. package/src/components/IconButton/IconButton.tsx +8 -0
  180. package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +19 -7
  181. package/src/components/PromoBanner/PromoBanner.tsx +8 -0
  182. package/src/components/Root/Root.tsx +12 -2
  183. package/src/components/TabbarItem/TabbarItem.tsx +8 -1
  184. package/src/components/View/View.tsx +15 -2
  185. package/src/index.ts +3 -3
  186. package/src/lib/platform.ts +5 -1
  187. package/src/styles/themes.css +6 -0
  188. package/src/testing/utils.tsx +1 -1
  189. package/src/tokenized/{tokenized.ts → index.ts} +0 -0
  190. package/dist/cjs/tokenized/tokenized.js.map +0 -1
  191. package/dist/cssm/tokenized/tokenized.js.map +0 -1
  192. package/dist/tokenized/tokenized.js.map +0 -1
@@ -123,6 +123,11 @@ var Root = function Root(_ref) {
123
123
  }
124
124
  };
125
125
 
126
+ if (process.env.NODE_ENV === "development") {
127
+ popout && warn("Свойство popout устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout.");
128
+ modal && warn("Свойство modal устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout.");
129
+ }
130
+
126
131
  return createScopedElement("div", _extends({}, restProps, {
127
132
  vkuiClass: classNames(getClassName("Root", platform), {
128
133
  "Root--transition": !disableAnimation && transition,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Root/Root.tsx"],"names":["React","classNames","getClassName","IOS","ConfigProviderContext","SplitColContext","AppRootPortal","ScrollContext","NavTransitionProvider","getNavId","warnOnce","useDOM","useIsomorphicLayoutEffect","useTimeout","usePlatform","warn","Root","popout","modal","children","_activeView","activeView","onTransition","nav","restProps","scroll","useContext","platform","document","scrolls","useRef","current","viewNodes","transitionMotionEnabled","animate","disableAnimation","views","Children","toArray","useState","transition","prevView","isBack","_setState","transitionTo","panel","viewIds","map","view","props","indexOf","getScroll","y","finishTransition","useCallback","activeElement","blur","scrollTo","Boolean","from","to","fallbackTransition","useEffect","clear","set","onAnimationEnd","e","includes","animationName","viewId","isTransitionTarget","compensateScroll","undefined","marginTop"],"mappings":";;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,GAAT;AACA,SAASC,qBAAT;AACA,SAASC,eAAT;AACA,SAASC,aAAT;AACA,SAASC,aAAT;AACA,SAASC,qBAAT;AACA,SAASC,QAAT;AACA,SAASC,QAAT;AACA,SAASC,MAAT;AACA,SAASC,yBAAT;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AACA;AAEA,IAAMC,IAAI,GAAGL,QAAQ,CAAC,MAAD,CAArB;;AA4BA,IAAMM,IAAyB,GAAG,SAA5BA,IAA4B,OAQjB;AAAA,yBAPfC,MAOe;AAAA,MAPfA,MAOe,4BAPN,IAOM;AAAA,MANfC,KAMe,QANfA,KAMe;AAAA,MALfC,QAKe,QALfA,QAKe;AAAA,MAJHC,WAIG,QAJfC,UAIe;AAAA,MAHfC,YAGe,QAHfA,YAGe;AAAA,MAFfC,GAEe,QAFfA,GAEe;AAAA,MADZC,SACY;;AACf,MAAMC,MAAM,GAAGzB,KAAK,CAAC0B,UAAN,CAAiBnB,aAAjB,CAAf;AACA,MAAMoB,QAAQ,GAAGb,WAAW,EAA5B;;AACA,gBAAqBH,MAAM,EAA3B;AAAA,MAAQiB,QAAR,WAAQA,QAAR;;AACA,MAAMC,OAAO,GAAG7B,KAAK,CAAC8B,MAAN,CAAqC,EAArC,EAAyCC,OAAzD;AACA,MAAMC,SAAS,GAAGhC,KAAK,CAAC8B,MAAN,CAChB,EADgB,EAEhBC,OAFF;;AAIA,0BAA2C/B,KAAK,CAAC0B,UAAN,CACzCtB,qBADyC,CAA3C;AAAA,gDAAQ6B,uBAAR;AAAA,MAAQA,uBAAR,sCAAkC,IAAlC;;AAGA,2BAAoBjC,KAAK,CAAC0B,UAAN,CAAiBrB,eAAjB,CAApB;AAAA,MAAQ6B,OAAR,sBAAQA,OAAR;;AACA,MAAMC,gBAAgB,GAAG,CAACF,uBAAD,IAA4B,CAACC,OAAtD;AAEA,MAAME,KAAK,GAAGpC,KAAK,CAACqC,QAAN,CAAeC,OAAf,CAAuBnB,QAAvB,CAAd;;AAEA,wBACEnB,KAAK,CAACuC,QAAN,CAA0B;AACxBlB,IAAAA,UAAU,EAAED,WADY;AAExBoB,IAAAA,UAAU,EAAE;AAFY,GAA1B,CADF;AAAA;AAAA;AAAA,MAASC,QAAT,qBAASA,QAAT;AAAA,MAAmBpB,UAAnB,qBAAmBA,UAAnB;AAAA,MAA+BmB,UAA/B,qBAA+BA,UAA/B;AAAA,MAA2CE,MAA3C,qBAA2CA,MAA3C;AAAA,MAAqDC,SAArD;;AAKA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAmB;AACtC,QAAIA,KAAK,KAAKxB,UAAd,EAA0B;AACxB,UAAMyB,OAAO,GAAGV,KAAK,CAACW,GAAN,CAAU,UAACC,IAAD;AAAA,eAAUvC,QAAQ,CAACuC,IAAI,CAACC,KAAN,EAAalC,IAAb,CAAlB;AAAA,OAAV,CAAhB;;AACA,UAAM2B,OAAM,GAAGI,OAAO,CAACI,OAAR,CAAgBL,KAAhB,IAAyBC,OAAO,CAACI,OAAR,CAAgB7B,UAAhB,CAAxC;;AACAQ,MAAAA,OAAO,CAACR,UAAD,CAAP,GAAsBI,MAAM,CAAC0B,SAAP,GAAmBC,CAAzC;;AACAT,MAAAA,SAAS,CAAC;AACRtB,QAAAA,UAAU,EAAEwB,KADJ;AAERJ,QAAAA,QAAQ,EAAEpB,UAFF;AAGRmB,QAAAA,UAAU,EAAE,IAHJ;AAIRE,QAAAA,MAAM,EAANA;AAJQ,OAAD,CAAT;AAMD;AACF,GAZD;;AAaA,MAAMW,gBAAgB,GAAGrD,KAAK,CAACsD,WAAN,CACvB;AAAA,WAAMX,SAAS,CAAC;AAAEtB,MAAAA,UAAU,EAAVA,UAAF;AAAcoB,MAAAA,QAAQ,EAARA,QAAd;AAAwBC,MAAAA,MAAM,EAANA,MAAxB;AAAgCF,MAAAA,UAAU,EAAE;AAA5C,KAAD,CAAf;AAAA,GADuB,EAEvB,CAACnB,UAAD,EAAaqB,MAAb,EAAqBD,QAArB,CAFuB,CAAzB;AAKA7B,EAAAA,yBAAyB,CAAC,YAAM;AAC7BgB,IAAAA,QAAQ,CAAE2B,aAAX,CAAyCC,IAAzC;AACD,GAFwB,EAEtB,CAAC,CAAC,CAACvC,MAAH,EAAWI,UAAX,CAFsB,CAAzB,CAxCe,CA4Cf;;AACAT,EAAAA,yBAAyB,CAAC;AAAA,WAAMgC,YAAY,CAACxB,WAAD,CAAlB;AAAA,GAAD,EAAkC,CAACA,WAAD,CAAlC,CAAzB;AACAR,EAAAA,yBAAyB,CAAC,YAAM;AAC9B,QAAI,CAAC4B,UAAD,IAAeC,QAAnB,EAA6B;AAC3B;AACAhB,MAAAA,MAAM,CAACgC,QAAP,CAAgB,CAAhB,EAAmBf,MAAM,GAAGb,OAAO,CAACR,UAAD,CAAV,GAAyB,CAAlD;AACAC,MAAAA,YAAY,IACVA,YAAY,CAAC;AACXoB,QAAAA,MAAM,EAAEgB,OAAO,CAAChB,MAAD,CADJ;AAEXiB,QAAAA,IAAI,EAAElB,QAFK;AAGXmB,QAAAA,EAAE,EAAEvC;AAHO,OAAD,CADd;AAMD;AACF,GAXwB,EAWtB,CAACmB,UAAD,CAXsB,CAAzB;AAaA,MAAMqB,kBAAkB,GAAGhD,UAAU,CACnCwC,gBADmC,EAEnC1B,QAAQ,KAAKxB,GAAb,GAAmB,GAAnB,GAAyB,GAFU,CAArC;AAIAH,EAAAA,KAAK,CAAC8D,SAAN,CAAgB,YAAM;AACpB,QAAI,CAACtB,UAAL,EAAiB;AACfqB,MAAAA,kBAAkB,CAACE,KAAnB;AACA;AACD;;AACD5B,IAAAA,gBAAgB,GAAGkB,gBAAgB,EAAnB,GAAwBQ,kBAAkB,CAACG,GAAnB,EAAxC;AACD,GAND,EAMG,CAAC7B,gBAAD,EAAmB0B,kBAAnB,EAAuCR,gBAAvC,EAAyDb,UAAzD,CANH;;AAQA,MAAMyB,cAAc,GAAG,SAAjBA,cAAiB,CAACC,CAAD,EAA6B;AAClD,QACE,CACE,uCADF,EAEE,0CAFF,EAGE,mCAHF,EAIE,sCAJF,EAKEC,QALF,CAKWD,CAAC,CAACE,aALb,CADF,EAOE;AACAf,MAAAA,gBAAgB;AACjB;AACF,GAXD;;AAaA,SACE,wCACM7B,SADN;AAEE,IAAA,SAAS,EAAEvB,UAAU,CAACC,YAAY,CAAC,MAAD,EAASyB,QAAT,CAAb,EAAiC;AACpD,0BAAoB,CAACQ,gBAAD,IAAqBK,UADW;AAEpD,yBAAmBL;AAFiC,KAAjC;AAFvB,MAOGC,KAAK,CAACW,GAAN,CAAU,UAACC,IAAD,EAAU;AAAA;;AACnB,QAAMqB,MAAM,GAAG5D,QAAQ,CAACuC,IAAI,CAACC,KAAN,EAAalC,IAAb,CAAvB;;AACA,QAAIsD,MAAM,KAAKhD,UAAX,IAAyB,EAAEmB,UAAU,IAAI6B,MAAM,KAAK5B,QAA3B,CAA7B,EAAmE;AACjE,aAAO,IAAP;AACD;;AACD,QAAM6B,kBAAkB,GACtB9B,UAAU,IAAI6B,MAAM,MAAM3B,MAAM,GAAGD,QAAH,GAAcpB,UAA1B,CADtB;AAEA,QAAMkD,gBAAgB,GACpB/B,UAAU,KACT6B,MAAM,KAAK5B,QAAX,IAAwBC,MAAM,IAAI2B,MAAM,KAAKhD,UADpC,CADZ;AAGA,WACE;AACE,MAAA,GAAG,EAAEgD,MADP;AAEE,MAAA,GAAG,EAAE,aAACH,CAAD;AAAA,eAAOG,MAAM,KAAKrC,SAAS,CAACqC,MAAD,CAAT,GAAoBH,CAAzB,CAAb;AAAA,OAFP;AAGE,MAAA,cAAc,EAAEI,kBAAkB,GAAGL,cAAH,GAAoBO,SAHxD;AAIE,MAAA,SAAS,EAAEvE,UAAU,CAAC,YAAD,EAAe;AAClC,iCACEuC,UAAU,IAAI6B,MAAM,KAAK5B,QAAzB,IAAqCC,MAFL;AAGlC,oCACEF,UAAU,IAAI6B,MAAM,KAAK5B,QAAzB,IAAqC,CAACC,MAJN;AAKlC,iCACEF,UAAU,IAAI6B,MAAM,KAAKhD,UAAzB,IAAuCqB,MANP;AAOlC,oCACEF,UAAU,IAAI6B,MAAM,KAAKhD,UAAzB,IAAuC,CAACqB,MARR;AASlC,8BAAsB,CAACF,UAAD,IAAe6B,MAAM,KAAKhD;AATd,OAAf;AAJvB,OAgBE,oBAAC,qBAAD;AACE,MAAA,QAAQ,EAAEmB,UAAU,IAAI6B,MAAM,KAAKhD;AADrC,OAGE;AACE,MAAA,SAAS,EAAC,0BADZ;AAEE,MAAA,KAAK,EAAE;AACLoD,QAAAA,SAAS,EAAEF,gBAAgB,GACvBF,MAAM,IAAI,qBAAExC,OAAO,CAACwC,MAAD,CAAT,6DAAqB,CAArB,CADa,GAEvBG;AAHC;AAFT,OAQGxB,IARH,CAHF,CAhBF,CADF;AAiCD,GA3CA,CAPH,EAmDE,oBAAC,aAAD,QACG,CAAC,CAAC/B,MAAF,IAAY;AAAK,IAAA,SAAS,EAAC;AAAf,KAA+BA,MAA/B,CADf,EAEG,CAAC,CAACC,KAAF,IAAW;AAAK,IAAA,SAAS,EAAC;AAAf,KAA8BA,KAA9B,CAFd,CAnDF,CADF;AA0DD,CAtJD,C,CAwJA;;;AACA,eAAeF,IAAf","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS } from \"../../lib/platform\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport { SplitColContext } from \"../SplitCol/SplitCol\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { ScrollContext } from \"../AppRoot/ScrollContext\";\nimport { NavTransitionProvider } from \"../NavTransitionContext/NavTransitionContext\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./Root.css\";\n\nconst warn = warnOnce(\"Root\");\n\nexport interface RootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n NavIdProps {\n activeView: string;\n onTransition?(params: { isBack: boolean; from: string; to: string }): void;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.\n *\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n */\n popout?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.\n *\n * Свойство для отрисовки `ModalRoot`.\n */\n modal?: React.ReactNode;\n}\n\nexport interface RootState {\n activeView: string;\n transition: boolean;\n isBack?: boolean;\n prevView?: string;\n}\n\nconst Root: React.FC<RootProps> = ({\n popout = null,\n modal,\n children,\n activeView: _activeView,\n onTransition,\n nav,\n ...restProps\n}: RootProps) => {\n const scroll = React.useContext(ScrollContext);\n const platform = usePlatform();\n const { document } = useDOM();\n const scrolls = React.useRef<Record<string, number>>({}).current;\n const viewNodes = React.useRef<Record<string, HTMLElement | null>>(\n {}\n ).current;\n\n const { transitionMotionEnabled = true } = React.useContext(\n ConfigProviderContext\n );\n const { animate } = React.useContext(SplitColContext);\n const disableAnimation = !transitionMotionEnabled || !animate;\n\n const views = React.Children.toArray(children) as React.ReactElement[];\n\n const [{ prevView, activeView, transition, isBack }, _setState] =\n React.useState<RootState>({\n activeView: _activeView,\n transition: false,\n });\n const transitionTo = (panel: string) => {\n if (panel !== activeView) {\n const viewIds = views.map((view) => getNavId(view.props, warn));\n const isBack = viewIds.indexOf(panel) < viewIds.indexOf(activeView);\n scrolls[activeView] = scroll.getScroll().y;\n _setState({\n activeView: panel,\n prevView: activeView,\n transition: true,\n isBack,\n });\n }\n };\n const finishTransition = React.useCallback(\n () => _setState({ activeView, prevView, isBack, transition: false }),\n [activeView, isBack, prevView]\n );\n\n useIsomorphicLayoutEffect(() => {\n (document!.activeElement as HTMLElement).blur();\n }, [!!popout, activeView]);\n\n // Нужен переход\n useIsomorphicLayoutEffect(() => transitionTo(_activeView), [_activeView]);\n useIsomorphicLayoutEffect(() => {\n if (!transition && prevView) {\n // Закончился переход\n scroll.scrollTo(0, isBack ? scrolls[activeView] : 0);\n onTransition &&\n onTransition({\n isBack: Boolean(isBack),\n from: prevView,\n to: activeView,\n });\n }\n }, [transition]);\n\n const fallbackTransition = useTimeout(\n finishTransition,\n platform === IOS ? 600 : 300\n );\n React.useEffect(() => {\n if (!transition) {\n fallbackTransition.clear();\n return;\n }\n disableAnimation ? finishTransition() : fallbackTransition.set();\n }, [disableAnimation, fallbackTransition, finishTransition, transition]);\n\n const onAnimationEnd = (e: React.AnimationEvent) => {\n if (\n [\n \"vkui-root-android-animation-hide-back\",\n \"vkui-root-android-animation-show-forward\",\n \"vkui-root-ios-animation-hide-back\",\n \"vkui-root-ios-animation-show-forward\",\n ].includes(e.animationName)\n ) {\n finishTransition();\n }\n };\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(getClassName(\"Root\", platform), {\n \"Root--transition\": !disableAnimation && transition,\n \"Root--no-motion\": disableAnimation,\n })}\n >\n {views.map((view) => {\n const viewId = getNavId(view.props, warn);\n if (viewId !== activeView && !(transition && viewId === prevView)) {\n return null;\n }\n const isTransitionTarget =\n transition && viewId === (isBack ? prevView : activeView);\n const compensateScroll =\n transition &&\n (viewId === prevView || (isBack && viewId === activeView));\n return (\n <div\n key={viewId}\n ref={(e) => viewId && (viewNodes[viewId] = e)}\n onAnimationEnd={isTransitionTarget ? onAnimationEnd : undefined}\n vkuiClass={classNames(\"Root__view\", {\n \"Root__view--hide-back\":\n transition && viewId === prevView && isBack,\n \"Root__view--hide-forward\":\n transition && viewId === prevView && !isBack,\n \"Root__view--show-back\":\n transition && viewId === activeView && isBack,\n \"Root__view--show-forward\":\n transition && viewId === activeView && !isBack,\n \"Root__view--active\": !transition && viewId === activeView,\n })}\n >\n <NavTransitionProvider\n entering={transition && viewId === activeView}\n >\n <div\n vkuiClass=\"Root__scrollCompensation\"\n style={{\n marginTop: compensateScroll\n ? viewId && -(scrolls[viewId] ?? 0)\n : undefined,\n }}\n >\n {view}\n </div>\n </NavTransitionProvider>\n </div>\n );\n })}\n <AppRootPortal>\n {!!popout && <div vkuiClass=\"Root__popout\">{popout}</div>}\n {!!modal && <div vkuiClass=\"Root__modal\">{modal}</div>}\n </AppRootPortal>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Root;\n"],"file":"Root.js"}
1
+ {"version":3,"sources":["../../../../src/components/Root/Root.tsx"],"names":["React","classNames","getClassName","IOS","ConfigProviderContext","SplitColContext","AppRootPortal","ScrollContext","NavTransitionProvider","getNavId","warnOnce","useDOM","useIsomorphicLayoutEffect","useTimeout","usePlatform","warn","Root","popout","modal","children","_activeView","activeView","onTransition","nav","restProps","scroll","useContext","platform","document","scrolls","useRef","current","viewNodes","transitionMotionEnabled","animate","disableAnimation","views","Children","toArray","useState","transition","prevView","isBack","_setState","transitionTo","panel","viewIds","map","view","props","indexOf","getScroll","y","finishTransition","useCallback","activeElement","blur","scrollTo","Boolean","from","to","fallbackTransition","useEffect","clear","set","onAnimationEnd","e","includes","animationName","process","env","NODE_ENV","viewId","isTransitionTarget","compensateScroll","undefined","marginTop"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS } from \"../../lib/platform\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport { SplitColContext } from \"../SplitCol/SplitCol\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { ScrollContext } from \"../AppRoot/ScrollContext\";\nimport { NavTransitionProvider } from \"../NavTransitionContext/NavTransitionContext\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useDOM } from \"../../lib/dom\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useTimeout } from \"../../hooks/useTimeout\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport \"./Root.css\";\n\nexport interface RootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n NavIdProps {\n activeView: string;\n onTransition?(params: { isBack: boolean; from: string; to: string }): void;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.\n *\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n */\n popout?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.\n *\n * Свойство для отрисовки `ModalRoot`.\n */\n modal?: React.ReactNode;\n}\n\nexport interface RootState {\n activeView: string;\n transition: boolean;\n isBack?: boolean;\n prevView?: string;\n}\n\nconst warn = warnOnce(\"Root\");\nconst Root: React.FC<RootProps> = ({\n popout = null,\n modal,\n children,\n activeView: _activeView,\n onTransition,\n nav,\n ...restProps\n}: RootProps) => {\n const scroll = React.useContext(ScrollContext);\n const platform = usePlatform();\n const { document } = useDOM();\n const scrolls = React.useRef<Record<string, number>>({}).current;\n const viewNodes = React.useRef<Record<string, HTMLElement | null>>(\n {}\n ).current;\n\n const { transitionMotionEnabled = true } = React.useContext(\n ConfigProviderContext\n );\n const { animate } = React.useContext(SplitColContext);\n const disableAnimation = !transitionMotionEnabled || !animate;\n\n const views = React.Children.toArray(children) as React.ReactElement[];\n\n const [{ prevView, activeView, transition, isBack }, _setState] =\n React.useState<RootState>({\n activeView: _activeView,\n transition: false,\n });\n const transitionTo = (panel: string) => {\n if (panel !== activeView) {\n const viewIds = views.map((view) => getNavId(view.props, warn));\n const isBack = viewIds.indexOf(panel) < viewIds.indexOf(activeView);\n scrolls[activeView] = scroll.getScroll().y;\n _setState({\n activeView: panel,\n prevView: activeView,\n transition: true,\n isBack,\n });\n }\n };\n const finishTransition = React.useCallback(\n () => _setState({ activeView, prevView, isBack, transition: false }),\n [activeView, isBack, prevView]\n );\n\n useIsomorphicLayoutEffect(() => {\n (document!.activeElement as HTMLElement).blur();\n }, [!!popout, activeView]);\n\n // Нужен переход\n useIsomorphicLayoutEffect(() => transitionTo(_activeView), [_activeView]);\n useIsomorphicLayoutEffect(() => {\n if (!transition && prevView) {\n // Закончился переход\n scroll.scrollTo(0, isBack ? scrolls[activeView] : 0);\n onTransition &&\n onTransition({\n isBack: Boolean(isBack),\n from: prevView,\n to: activeView,\n });\n }\n }, [transition]);\n\n const fallbackTransition = useTimeout(\n finishTransition,\n platform === IOS ? 600 : 300\n );\n React.useEffect(() => {\n if (!transition) {\n fallbackTransition.clear();\n return;\n }\n disableAnimation ? finishTransition() : fallbackTransition.set();\n }, [disableAnimation, fallbackTransition, finishTransition, transition]);\n\n const onAnimationEnd = (e: React.AnimationEvent) => {\n if (\n [\n \"vkui-root-android-animation-hide-back\",\n \"vkui-root-android-animation-show-forward\",\n \"vkui-root-ios-animation-hide-back\",\n \"vkui-root-ios-animation-show-forward\",\n ].includes(e.animationName)\n ) {\n finishTransition();\n }\n };\n\n if (process.env.NODE_ENV === \"development\") {\n popout &&\n warn(\n \"Свойство popout устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout.\"\n );\n modal &&\n warn(\n \"Свойство modal устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout.\"\n );\n }\n\n return (\n <div\n {...restProps}\n vkuiClass={classNames(getClassName(\"Root\", platform), {\n \"Root--transition\": !disableAnimation && transition,\n \"Root--no-motion\": disableAnimation,\n })}\n >\n {views.map((view) => {\n const viewId = getNavId(view.props, warn);\n if (viewId !== activeView && !(transition && viewId === prevView)) {\n return null;\n }\n const isTransitionTarget =\n transition && viewId === (isBack ? prevView : activeView);\n const compensateScroll =\n transition &&\n (viewId === prevView || (isBack && viewId === activeView));\n return (\n <div\n key={viewId}\n ref={(e) => viewId && (viewNodes[viewId] = e)}\n onAnimationEnd={isTransitionTarget ? onAnimationEnd : undefined}\n vkuiClass={classNames(\"Root__view\", {\n \"Root__view--hide-back\":\n transition && viewId === prevView && isBack,\n \"Root__view--hide-forward\":\n transition && viewId === prevView && !isBack,\n \"Root__view--show-back\":\n transition && viewId === activeView && isBack,\n \"Root__view--show-forward\":\n transition && viewId === activeView && !isBack,\n \"Root__view--active\": !transition && viewId === activeView,\n })}\n >\n <NavTransitionProvider\n entering={transition && viewId === activeView}\n >\n <div\n vkuiClass=\"Root__scrollCompensation\"\n style={{\n marginTop: compensateScroll\n ? viewId && -(scrolls[viewId] ?? 0)\n : undefined,\n }}\n >\n {view}\n </div>\n </NavTransitionProvider>\n </div>\n );\n })}\n <AppRootPortal>\n {!!popout && <div vkuiClass=\"Root__popout\">{popout}</div>}\n {!!modal && <div vkuiClass=\"Root__modal\">{modal}</div>}\n </AppRootPortal>\n </div>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Root;\n"],"file":"Root.js"}
@@ -9,7 +9,9 @@ import { usePlatform } from "../../hooks/usePlatform";
9
9
  import { hasReactNode } from "../../lib/utils";
10
10
  import Tappable from "../Tappable/Tappable";
11
11
  import { Platform } from "../../lib/platform";
12
+ import { warnOnce } from "../../lib/warnOnce";
12
13
  import "./TabbarItem.css";
14
+ var warn = warnOnce("TabbarItem");
13
15
 
14
16
  var TabbarItem = function TabbarItem(_ref) {
15
17
  var children = _ref.children,
@@ -23,7 +25,11 @@ var TabbarItem = function TabbarItem(_ref) {
23
25
  disabled = _ref.disabled,
24
26
  restProps = _objectWithoutProperties(_ref, _excluded);
25
27
 
26
- var platform = usePlatform(); // @ts-ignore ругается на то, что у AllHTMLAttributes type это строка, а button не любую строку считает валидным значением
28
+ var platform = usePlatform();
29
+
30
+ if (label && process.env.NODE_ENV === "development") {
31
+ warn("Свойство label устарело и будет удалено в 5.0.0. Используйте indicator.");
32
+ }
27
33
 
28
34
  return createScopedElement(Component, _extends({}, restProps, {
29
35
  disabled: disabled,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/TabbarItem/TabbarItem.tsx"],"names":["getClassName","Counter","classNames","usePlatform","hasReactNode","Tappable","Platform","TabbarItem","children","selected","label","indicator","text","href","Component","disabled","restProps","platform","IOS"],"mappings":";;;;AACA,SAASA,YAAT;AACA,OAAOC,OAAP;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,OAAOC,QAAP;AACA,SAASC,QAAT;AAEA;;AAqBA,IAAMC,UAAoD,GAAG,SAAvDA,UAAuD,OAUtC;AAAA,MATrBC,QASqB,QATrBA,QASqB;AAAA,MARrBC,QAQqB,QARrBA,QAQqB;AAAA,MAPrBC,KAOqB,QAPrBA,KAOqB;AAAA,MANrBC,SAMqB,QANrBA,SAMqB;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,IAIqB,QAJrBA,IAIqB;AAAA,4BAHrBC,SAGqB;AAAA,MAHrBA,SAGqB,+BAHTD,IAAI,GAAG,GAAH,GAAS,QAGJ;AAAA,MAFrBE,QAEqB,QAFrBA,QAEqB;AAAA,MADlBC,SACkB;;AACrB,MAAMC,QAAQ,GAAGd,WAAW,EAA5B,CADqB,CAGrB;;AACA,SACE,oBAAC,SAAD,eACMa,SADN;AAEE,IAAA,QAAQ,EAAED,QAFZ;AAGE,IAAA,IAAI,EAAEF,IAHR;AAIE,IAAA,SAAS,EAAEX,UAAU,CAACF,YAAY,CAAC,YAAD,EAAeiB,QAAf,CAAb,EAAuC;AAC1D,8BAAwBR,QADkC;AAE1D,0BAAoB,CAAC,CAACG;AAFoC,KAAvC;AAJvB,MASE,oBAAC,QAAD;AACE,IAAA,IAAI,EAAC,cADP;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,QAAQ,EAAEG,QAHZ;AAIE,IAAA,UAAU,EACRE,QAAQ,KAAKX,QAAQ,CAACY,GAAtB,GACI,8BADJ,GAEI,YAPR;AASE,IAAA,iBAAiB,EAAED,QAAQ,KAAKX,QAAQ,CAACY,GAAtB,GAA4B,CAA5B,GAAgC,GATrD;AAUE,IAAA,QAAQ,EAAE,KAVZ;AAWE,IAAA,SAAS,EAAC;AAXZ,IATF,EAsBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGV,QADH,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGJ,YAAY,CAACO,SAAD,CAAZ,IAA2BA,SAD9B,EAEG,CAACA,SAAD,IAAcD,KAAd,IACC,oBAAC,OAAD;AAAS,IAAA,IAAI,EAAC,GAAd;AAAkB,IAAA,IAAI,EAAC;AAAvB,KACGA,KADH,CAHJ,CAFF,CADF,EAYGE,IAAI,IAAI;AAAK,IAAA,SAAS,EAAC;AAAf,KAAmCA,IAAnC,CAZX,CAtBF,CADF;AAuCD,CArDD,C,CAuDA;;;AACA,eAAeL,UAAf","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Counter from \"../Counter/Counter\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { Platform } from \"../../lib/platform\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport \"./TabbarItem.css\";\n\nexport interface TabbarItemProps\n extends Omit<React.AllHTMLAttributes<HTMLElement>, \"label\">, // TODO убрать Omit после удаления свойства label\n HasRootRef<HTMLElement>,\n HasComponent {\n selected?: boolean;\n /**\n * Тест рядом с иконкой\n */\n text?: React.ReactNode;\n /**\n * Индикатор над иконкой. Принимает `<Badge mode=\"prominent\" />` или `<Counter size=\"s\" mode=\"prominent\" />`\n */\n indicator?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте `indicator`\n */\n label?: React.ReactNode;\n}\n\nconst TabbarItem: React.FunctionComponent<TabbarItemProps> = ({\n children,\n selected,\n label,\n indicator,\n text,\n href,\n Component = href ? \"a\" : \"button\",\n disabled,\n ...restProps\n}: TabbarItemProps) => {\n const platform = usePlatform();\n\n // @ts-ignore ругается на то, что у AllHTMLAttributes type это строка, а button не любую строку считает валидным значением\n return (\n <Component\n {...restProps}\n disabled={disabled}\n href={href}\n vkuiClass={classNames(getClassName(\"TabbarItem\", platform), {\n \"TabbarItem--selected\": selected,\n \"TabbarItem--text\": !!text,\n })}\n >\n <Tappable\n role=\"presentation\"\n Component=\"div\"\n disabled={disabled}\n activeMode={\n platform === Platform.IOS\n ? \"TabbarItem__tappable--active\"\n : \"background\"\n }\n activeEffectDelay={platform === Platform.IOS ? 0 : 300}\n hasHover={false}\n vkuiClass=\"TabbarItem__tappable\"\n />\n <div vkuiClass=\"TabbarItem__in\">\n <div vkuiClass=\"TabbarItem__icon\">\n {children}\n <div vkuiClass=\"TabbarItem__label\">\n {hasReactNode(indicator) && indicator}\n {!indicator && label && (\n <Counter size=\"s\" mode=\"prominent\">\n {label}\n </Counter>\n )}\n </div>\n </div>\n {text && <div vkuiClass=\"TabbarItem__text\">{text}</div>}\n </div>\n </Component>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default TabbarItem;\n"],"file":"TabbarItem.js"}
1
+ {"version":3,"sources":["../../../../src/components/TabbarItem/TabbarItem.tsx"],"names":["getClassName","Counter","classNames","usePlatform","hasReactNode","Tappable","Platform","warnOnce","warn","TabbarItem","children","selected","label","indicator","text","href","Component","disabled","restProps","platform","process","env","NODE_ENV","IOS"],"mappings":";;;;AACA,SAASA,YAAT;AACA,OAAOC,OAAP;AACA,SAASC,UAAT;AACA,SAASC,WAAT;AACA,SAASC,YAAT;AACA,OAAOC,QAAP;AACA,SAASC,QAAT;AAEA,SAASC,QAAT;AACA;AAqBA,IAAMC,IAAI,GAAGD,QAAQ,CAAC,YAAD,CAArB;;AACA,IAAME,UAAoD,GAAG,SAAvDA,UAAuD,OAUtC;AAAA,MATrBC,QASqB,QATrBA,QASqB;AAAA,MARrBC,QAQqB,QARrBA,QAQqB;AAAA,MAPrBC,KAOqB,QAPrBA,KAOqB;AAAA,MANrBC,SAMqB,QANrBA,SAMqB;AAAA,MALrBC,IAKqB,QALrBA,IAKqB;AAAA,MAJrBC,IAIqB,QAJrBA,IAIqB;AAAA,4BAHrBC,SAGqB;AAAA,MAHrBA,SAGqB,+BAHTD,IAAI,GAAG,GAAH,GAAS,QAGJ;AAAA,MAFrBE,QAEqB,QAFrBA,QAEqB;AAAA,MADlBC,SACkB;;AACrB,MAAMC,QAAQ,GAAGhB,WAAW,EAA5B;;AAEA,MAAIS,KAAK,IAAIQ,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAAtC,EAAqD;AACnDd,IAAAA,IAAI,CACF,yEADE,CAAJ;AAGD;;AAED,SACE,oBAAC,SAAD,eACMU,SADN;AAEE,IAAA,QAAQ,EAAED,QAFZ;AAGE,IAAA,IAAI,EAAEF,IAHR;AAIE,IAAA,SAAS,EAAEb,UAAU,CAACF,YAAY,CAAC,YAAD,EAAemB,QAAf,CAAb,EAAuC;AAC1D,8BAAwBR,QADkC;AAE1D,0BAAoB,CAAC,CAACG;AAFoC,KAAvC;AAJvB,MASE,oBAAC,QAAD;AACE,IAAA,IAAI,EAAC,cADP;AAEE,IAAA,SAAS,EAAC,KAFZ;AAGE,IAAA,QAAQ,EAAEG,QAHZ;AAIE,IAAA,UAAU,EACRE,QAAQ,KAAKb,QAAQ,CAACiB,GAAtB,GACI,8BADJ,GAEI,YAPR;AASE,IAAA,iBAAiB,EAAEJ,QAAQ,KAAKb,QAAQ,CAACiB,GAAtB,GAA4B,CAA5B,GAAgC,GATrD;AAUE,IAAA,QAAQ,EAAE,KAVZ;AAWE,IAAA,SAAS,EAAC;AAXZ,IATF,EAsBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGb,QADH,EAEE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGN,YAAY,CAACS,SAAD,CAAZ,IAA2BA,SAD9B,EAEG,CAACA,SAAD,IAAcD,KAAd,IACC,oBAAC,OAAD;AAAS,IAAA,IAAI,EAAC,GAAd;AAAkB,IAAA,IAAI,EAAC;AAAvB,KACGA,KADH,CAHJ,CAFF,CADF,EAYGE,IAAI,IAAI;AAAK,IAAA,SAAS,EAAC;AAAf,KAAmCA,IAAnC,CAZX,CAtBF,CADF;AAuCD,CA1DD,C,CA4DA;;;AACA,eAAeL,UAAf","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Counter from \"../Counter/Counter\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { Platform } from \"../../lib/platform\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport \"./TabbarItem.css\";\n\nexport interface TabbarItemProps\n extends Omit<React.AllHTMLAttributes<HTMLElement>, \"label\">, // TODO убрать Omit после удаления свойства label\n HasRootRef<HTMLElement>,\n HasComponent {\n selected?: boolean;\n /**\n * Тест рядом с иконкой\n */\n text?: React.ReactNode;\n /**\n * Индикатор над иконкой. Принимает `<Badge mode=\"prominent\" />` или `<Counter size=\"s\" mode=\"prominent\" />`\n */\n indicator?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте `indicator`\n */\n label?: React.ReactNode;\n}\n\nconst warn = warnOnce(\"TabbarItem\");\nconst TabbarItem: React.FunctionComponent<TabbarItemProps> = ({\n children,\n selected,\n label,\n indicator,\n text,\n href,\n Component = href ? \"a\" : \"button\",\n disabled,\n ...restProps\n}: TabbarItemProps) => {\n const platform = usePlatform();\n\n if (label && process.env.NODE_ENV === \"development\") {\n warn(\n \"Свойство label устарело и будет удалено в 5.0.0. Используйте indicator.\"\n );\n }\n\n return (\n <Component\n {...restProps}\n disabled={disabled}\n href={href}\n vkuiClass={classNames(getClassName(\"TabbarItem\", platform), {\n \"TabbarItem--selected\": selected,\n \"TabbarItem--text\": !!text,\n })}\n >\n <Tappable\n role=\"presentation\"\n Component=\"div\"\n disabled={disabled}\n activeMode={\n platform === Platform.IOS\n ? \"TabbarItem__tappable--active\"\n : \"background\"\n }\n activeEffectDelay={platform === Platform.IOS ? 0 : 300}\n hasHover={false}\n vkuiClass=\"TabbarItem__tappable\"\n />\n <div vkuiClass=\"TabbarItem__in\">\n <div vkuiClass=\"TabbarItem__icon\">\n {children}\n <div vkuiClass=\"TabbarItem__label\">\n {hasReactNode(indicator) && indicator}\n {!indicator && label && (\n <Counter size=\"s\" mode=\"prominent\">\n {label}\n </Counter>\n )}\n </div>\n </div>\n {text && <div vkuiClass=\"TabbarItem__text\">{text}</div>}\n </div>\n </Component>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default TabbarItem;\n"],"file":"TabbarItem.js"}
@@ -26,7 +26,6 @@ import { getNavId } from "../../lib/getNavId";
26
26
  import { warnOnce } from "../../lib/warnOnce";
27
27
  import { swipeBackExcluded } from "./utils";
28
28
  import "./View.css";
29
- var warn = warnOnce("View");
30
29
  var SwipeBackResults;
31
30
 
32
31
  (function (SwipeBackResults) {
@@ -35,6 +34,7 @@ var SwipeBackResults;
35
34
  })(SwipeBackResults || (SwipeBackResults = {}));
36
35
 
37
36
  export var scrollsCache = {};
37
+ var warn = warnOnce("View");
38
38
 
39
39
  var View = /*#__PURE__*/function (_React$Component) {
40
40
  _inherits(View, _React$Component);
@@ -190,6 +190,17 @@ var View = /*#__PURE__*/function (_React$Component) {
190
190
  get: function get() {
191
191
  return React.Children.toArray(this.props.children);
192
192
  }
193
+ }, {
194
+ key: "componentDidMount",
195
+ value: function componentDidMount() {
196
+ if (process.env.NODE_ENV === "development") {
197
+ var _this$props2 = this.props,
198
+ popout = _this$props2.popout,
199
+ modal = _this$props2.modal;
200
+ popout && warn("Свойство popout устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout.");
201
+ modal && warn("Свойство modal устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout.");
202
+ }
203
+ }
193
204
  }, {
194
205
  key: "componentWillUnmount",
195
206
  value: function componentWillUnmount() {
@@ -435,23 +446,23 @@ var View = /*#__PURE__*/function (_React$Component) {
435
446
  value: function render() {
436
447
  var _this4 = this;
437
448
 
438
- var _this$props2 = this.props,
439
- popout = _this$props2.popout,
440
- modal = _this$props2.modal,
441
- platform = _this$props2.platform,
442
- _1 = _this$props2.activePanel,
443
- splitCol = _this$props2.splitCol,
444
- configProvider = _this$props2.configProvider,
445
- history = _this$props2.history,
446
- nav = _this$props2.nav,
447
- onTransition = _this$props2.onTransition,
448
- onSwipeBack = _this$props2.onSwipeBack,
449
- onSwipeBackStart = _this$props2.onSwipeBackStart,
450
- onSwipeBackCancel = _this$props2.onSwipeBackCancel,
451
- window = _this$props2.window,
452
- document = _this$props2.document,
453
- scroll = _this$props2.scroll,
454
- restProps = _objectWithoutProperties(_this$props2, _excluded);
449
+ var _this$props3 = this.props,
450
+ popout = _this$props3.popout,
451
+ modal = _this$props3.modal,
452
+ platform = _this$props3.platform,
453
+ _1 = _this$props3.activePanel,
454
+ splitCol = _this$props3.splitCol,
455
+ configProvider = _this$props3.configProvider,
456
+ history = _this$props3.history,
457
+ nav = _this$props3.nav,
458
+ onTransition = _this$props3.onTransition,
459
+ onSwipeBack = _this$props3.onSwipeBack,
460
+ onSwipeBackStart = _this$props3.onSwipeBackStart,
461
+ onSwipeBackCancel = _this$props3.onSwipeBackCancel,
462
+ window = _this$props3.window,
463
+ document = _this$props3.document,
464
+ scroll = _this$props3.scroll,
465
+ restProps = _objectWithoutProperties(_this$props3, _excluded);
455
466
 
456
467
  var _this$state = this.state,
457
468
  prevPanel = _this$state.prevPanel,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/View/View.tsx"],"names":["React","classNames","transitionEvent","animationEvent","getClassName","IOS","ANDROID","VKCOM","Touch","withPlatform","withContext","ConfigProviderContext","SplitColContext","AppRootPortal","canUseDOM","withDOM","ScrollContext","NavTransitionProvider","getNavId","warnOnce","swipeBackExcluded","warn","SwipeBackResults","scrollsCache","View","props","undefined","e","includes","animationName","state","prevPanel","flushTransition","Boolean","isBack","propertyName","target","pickPanel","swipeBackNextPanel","swipeBackResult","fail","onSwipeBackCancel","success","onSwipeBackSuccess","platform","configProvider","isWebView","startX","window","innerWidth","browserSwipe","setState","onSwipeBack","animated","swipingBack","history","length","activePanel","scrolls","scroll","getScroll","y","swipebackStartX","swipeBackPrevPanel","slice","swipeBackShift","shiftX","speed","duration","visiblePanels","nextPanel","document","Children","toArray","children","id","prevProps","prevState","popout","blurActiveElement","modal","firstLayerId","panels","map","panel","find","shouldDisableTransitionMotion","supported","animationFinishTimeout","clearTimeout","setTimeout","transitionEndHandler","scrollTo","onTransition","from","to","onSwipeBackStart","waitTransitionFinish","swipingBackTransitionEndHandler","transitionMotionEnabled","splitCol","animate","elem","eventHandler","name","removeEventListener","addEventListener","transitionFinishTimeout","activeElement","blur","panelNodes","panelId","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","WebkitTransform","_1","nav","restProps","hasPopout","hasModal","filter","disableAnimation","modifiers","onMoveX","onEnd","isTransitionTarget","compensateScroll","el","calcPanelSwipeStyles","marginTop","Component"],"mappings":";;;;;;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,SAASC,eAAT,EAA0BC,cAA1B;AACA,SAASC,YAAT;AACA,SAASC,GAAT,EAAcC,OAAd,EAAuBC,KAAvB;AACA,SAASC,KAAT;AAEA,SAASC,YAAT;AACA,SAASC,WAAT;AACA,SACEC,qBADF;AAIA,SAASC,eAAT;AACA,SAASC,aAAT;AACA,SAASC,SAAT,EAAoBC,OAApB;AACA,SACEC,aADF;AAIA,SAASC,qBAAT;AACA,SAASC,QAAT;AACA,SAASC,QAAT;AACA,SAASC,iBAAT;AACA;AAEA,IAAMC,IAAI,GAAGF,QAAQ,CAAC,MAAD,CAArB;IAEKG,gB;;WAAAA,gB;AAAAA,EAAAA,gB,CAAAA,gB;AAAAA,EAAAA,gB,CAAAA,gB;GAAAA,gB,KAAAA,gB;;AAeL,OAAO,IAAIC,YAA0B,GAAG,EAAjC;;IAkEDC,I;;;;;AACJ,gBAAYC,KAAZ,EAA8B;AAAA;;AAAA;;AAC5B,8BAAMA,KAAN;;AAD4B,8DA2BHF,YAAY,CAACL,QAAQ,CAAC,MAAKO,KAAN,CAAT,CAAZ,IAAgD,EA3B7C;;AAAA,8EA4BwBC,SA5BxB;;AAAA,6EA6BuBA,SA7BvB;;AAAA,iEA2CwB,EA3CxB;;AAAA,2EAoPP,UAACC,CAAD,EAAoC;AACzD,UACE,CAAC,CAACA,CAAD,IACC,CACE,iCADF,EAEE,8BAFF,EAGE,kCAHF,EAIE,+BAJF,EAKEC,QALF,CAKWD,CAAC,CAACE,aALb,CADF,KAOA,MAAKC,KAAL,CAAWC,SAAX,KAAyB,IAR3B,EASE;AACA,cAAKC,eAAL,CAAqB,MAAKF,KAAL,CAAWC,SAAhC,EAA2CE,OAAO,CAAC,MAAKH,KAAL,CAAWI,MAAZ,CAAlD;AACD;AACF,KAjQ6B;;AAAA,sFAmQI,UAACP,CAAD,EAA+B;AAC/D;AACA,UACE,CAACA,CAAD,IACCA,CAAC,SAAD,IAAAA,CAAC,WAAD,IAAAA,CAAC,CAAEQ,YAAH,CAAgBP,QAAhB,CAAyB,WAAzB,KACC,CAAAD,CAAC,SAAD,IAAAA,CAAC,WAAD,YAAAA,CAAC,CAAES,MAAH,MAAc,MAAKC,SAAL,CAAe,MAAKP,KAAL,CAAWQ,kBAA1B,CAHlB,EAIE;AACA,gBAAQ,MAAKR,KAAL,CAAWS,eAAnB;AACE,eAAKjB,gBAAgB,CAACkB,IAAtB;AACE,kBAAKC,iBAAL;;AACA;;AACF,eAAKnB,gBAAgB,CAACoB,OAAtB;AACE,kBAAKC,kBAAL;;AALJ;AAOD;AACF,KAlR6B;;AAAA,8DAoSpB,UAAChB,CAAD,EAAyB;AACjC,UAAIP,iBAAiB,CAACO,CAAD,CAArB,EAA0B;AACxB;AACD;;AAED,wBAAqC,MAAKF,KAA1C;AAAA,UAAQmB,QAAR,eAAQA,QAAR;AAAA,UAAkBC,cAAlB,eAAkBA,cAAlB;;AAEA,UACED,QAAQ,KAAKvC,GAAb,IACA,EAACwC,cAAD,aAACA,cAAD,eAACA,cAAc,CAAEC,SAAjB,CADA,KAECnB,CAAC,CAACoB,MAAF,IAAY,EAAZ,IAAkBpB,CAAC,CAACoB,MAAF,IAAY,MAAKC,MAAL,CAAaC,UAAb,GAA0B,EAFzD,KAGA,CAAC,MAAKnB,KAAL,CAAWoB,YAJd,EAKE;AACA,cAAKC,QAAL,CAAc;AAAED,UAAAA,YAAY,EAAE;AAAhB,SAAd;AACD;;AAED,UACEN,QAAQ,KAAKvC,GAAb,IACAwC,cADA,aACAA,cADA,eACAA,cAAc,CAAEC,SADhB,IAEA,MAAKrB,KAAL,CAAW2B,WAHb,EAIE;AAAA;;AACA,YAAK,MAAKtB,KAAL,CAAWuB,QAAX,IAAuB1B,CAAC,CAACoB,MAAF,IAAY,EAApC,IAA2C,CAAC,MAAKC,MAArD,EAA6D;AAC3D;AACD;;AAED,YACErB,CAAC,CAACoB,MAAF,IAAY,EAAZ,IACA,CAAC,MAAKjB,KAAL,CAAWwB,WADZ,IAEA,iDAAC,MAAK7B,KAAL,CAAW8B,OAAZ,wDAAC,oBAAoBC,MAArB,yEAA+B,CAA/B,IAAoC,CAHtC,EAIE;AACA,cAAI,MAAK1B,KAAL,CAAW2B,WAAX,KAA2B,IAA/B,EAAqC;AAAA;;AACnC,kBAAKC,OAAL,CAAa,MAAK5B,KAAL,CAAW2B,WAAxB,0BACE,MAAKhC,KAAL,CAAWkC,MADb,uDACE,mBAAmBC,SAAnB,GAA+BC,CADjC;AAED;;AACD,gBAAKV,QAAL,CAAc;AACZG,YAAAA,WAAW,EAAE,IADD;AAEZQ,YAAAA,eAAe,EAAEnC,CAAC,CAACoB,MAFP;AAGZgB,YAAAA,kBAAkB,EAAE,MAAKjC,KAAL,CAAW2B,WAHnB;AAIZnB,YAAAA,kBAAkB,EAAE,MAAKb,KAAL,CAAW8B,OAAX,CAAoBS,KAApB,CAA0B,CAAC,CAA3B,EAA8B,CAA9B;AAJR,WAAd;AAMD;;AACD,YAAI,MAAKlC,KAAL,CAAWwB,WAAf,EAA4B;AAC1B,cAAIW,cAAc,GAAG,CAArB;;AACA,cAAItC,CAAC,CAACuC,MAAF,GAAW,CAAf,EAAkB;AAChBD,YAAAA,cAAc,GAAG,CAAjB;AACD,WAFD,MAEO,IACLtC,CAAC,CAACuC,MAAF,GACA,MAAKlB,MAAL,CAAYC,UAAZ,GAAyB,MAAKnB,KAAL,CAAWgC,eAF/B,EAGL;AAAA;;AACAG,YAAAA,cAAc,mBAAG,MAAKjB,MAAR,iDAAG,aAAaC,UAA9B;AACD,WALM,MAKA;AACLgB,YAAAA,cAAc,GAAGtC,CAAC,CAACuC,MAAnB;AACD;;AACD,gBAAKf,QAAL,CAAc;AAAEc,YAAAA,cAAc,EAAdA;AAAF,WAAd;AACD;AACF;AACF,KA5V6B;;AAAA,4DA8VtB,UAACtC,CAAD,EAAyB;AAC/B,UAAI,MAAKG,KAAL,CAAWwB,WAAX,IAA0B,MAAKN,MAAnC,EAA2C;AAAA;;AACzC,YAAMmB,KAAK,GAAI,MAAKrC,KAAL,CAAWmC,cAAX,GAA4BtC,CAAC,CAACyC,QAA/B,GAA2C,IAAzD;;AACA,YAAI,MAAKtC,KAAL,CAAWmC,cAAX,KAA8B,CAAlC,EAAqC;AACnC,gBAAKxB,iBAAL;AACD,SAFD,MAEO,IAAI,MAAKX,KAAL,CAAWmC,cAAX,+CAA8B,MAAKjB,MAAnC,kDAA8B,cAAaC,UAA3C,yEAAyD,CAAzD,CAAJ,EAAiE;AACtE,gBAAKN,kBAAL;AACD,SAFM,MAEA,IACLwB,KAAK,GAAG,GAAR,IACA,MAAKrC,KAAL,CAAWgC,eAAX,GAA6B,MAAKhC,KAAL,CAAWmC,cAAxC,GACE,MAAKjB,MAAL,CAAYC,UAAZ,GAAyB,CAHtB,EAIL;AACA,gBAAKE,QAAL,CAAc;AAAEZ,YAAAA,eAAe,EAAEjB,gBAAgB,CAACoB;AAApC,WAAd;AACD,SANM,MAMA;AACL,gBAAKS,QAAL,CAAc;AAAEZ,YAAAA,eAAe,EAAEjB,gBAAgB,CAACkB;AAApC,WAAd;AACD;AACF;AACF,KA/W6B;;AAG5B,UAAKV,KAAL,GAAa;AACXuB,MAAAA,QAAQ,EAAE,KADC;AAGXgB,MAAAA,aAAa,EAAE,CAAC5C,KAAK,CAACgC,WAAP,CAHJ;AAIXA,MAAAA,WAAW,EAAEhC,KAAK,CAACgC,WAJR;AAKXvB,MAAAA,MAAM,EAAER,SALG;AAMXK,MAAAA,SAAS,EAAE,IANA;AAOXuC,MAAAA,SAAS,EAAE,IAPA;AASXhB,MAAAA,WAAW,EAAE,KATF;AAUXQ,MAAAA,eAAe,EAAE,CAVN;AAWXG,MAAAA,cAAc,EAAE,CAXL;AAYX3B,MAAAA,kBAAkB,EAAE,IAZT;AAaXyB,MAAAA,kBAAkB,EAAE,IAbT;AAcXxB,MAAAA,eAAe,EAAE,IAdN;AAgBXW,MAAAA,YAAY,EAAE;AAhBH,KAAb;AAH4B;AAqB7B;;;;SAUD,eAAe;AACb,aAAO,KAAKzB,KAAL,CAAW8C,QAAlB;AACD;;;SAED,eAAa;AACX,aAAO,KAAK9C,KAAL,CAAWuB,MAAlB;AACD;;;SAED,eAAa;AACX,aAAOhD,KAAK,CAACwE,QAAN,CAAeC,OAAf,CAAuB,KAAKhD,KAAL,CAAWiD,QAAlC,CAAP;AACD;;;WAID,gCAAuB;AACrB,UAAMC,EAAE,GAAGzD,QAAQ,CAAC,KAAKO,KAAN,CAAnB;;AACA,UAAIkD,EAAJ,EAAQ;AACNpD,QAAAA,YAAY,CAACoD,EAAD,CAAZ,GAAmB,KAAKjB,OAAxB;AACD;AACF;;;WAED,4BAAmBkB,SAAnB,EAAyCC,SAAzC,EAA+D;AAAA;;AAC7D,WAAKpD,KAAL,CAAWqD,MAAX,IAAqB,CAACF,SAAS,CAACE,MAAhC,IAA0C,KAAKC,iBAAL,EAA1C;AACA,WAAKtD,KAAL,CAAWuD,KAAX,IAAoB,CAACJ,SAAS,CAACI,KAA/B,IAAwC,KAAKD,iBAAL,EAAxC,CAF6D,CAI7D;;AACA,UACEH,SAAS,CAACnB,WAAV,KAA0B,KAAKhC,KAAL,CAAWgC,WAArC,IACA,CAACoB,SAAS,CAACvB,WADX,IAEA,CAACuB,SAAS,CAAC3B,YAHb,EAIE;AAAA;;AACA,YAAM+B,YAAY,GAAG,KAAKC,MAAL,CAClBC,GADkB,CACd,UAACC,KAAD;AAAA,iBAAWlE,QAAQ,CAACkE,KAAK,CAAC3D,KAAP,EAAcJ,IAAd,CAAnB;AAAA,SADc,EAElBgE,IAFkB,CAGjB,UAACV,EAAD;AAAA,iBAAQA,EAAE,KAAKC,SAAS,CAACnB,WAAjB,IAAgCkB,EAAE,KAAK,MAAI,CAAClD,KAAL,CAAWgC,WAA1D;AAAA,SAHiB,CAArB;AAMA,YAAMvB,MAAM,GAAG+C,YAAY,KAAK,KAAKxD,KAAL,CAAWgC,WAA3C;AACA,aAAKC,OAAL,CAAakB,SAAS,CAACnB,WAAvB,2BAAsC,KAAKhC,KAAL,CAAWkC,MAAjD,wDAAsC,oBAAmBC,SAAnB,GAA+BC,CAArE;;AAEA,YAAI,KAAKyB,6BAAL,EAAJ,EAA0C;AACxC,eAAKtD,eAAL,CAAqB4C,SAAS,CAACnB,WAA/B,EAA4CvB,MAA5C;AACD,SAFD,MAEO;AACL,eAAK6C,iBAAL;AAEA,eAAK5B,QAAL,CAAc;AACZkB,YAAAA,aAAa,EAAE,CAACO,SAAS,CAACnB,WAAX,EAAwB,KAAKhC,KAAL,CAAWgC,WAAnC,CADH;AAEZ1B,YAAAA,SAAS,EAAE6C,SAAS,CAACnB,WAFT;AAGZa,YAAAA,SAAS,EAAE,KAAK7C,KAAL,CAAWgC,WAHV;AAIZA,YAAAA,WAAW,EAAE,IAJD;AAKZJ,YAAAA,QAAQ,EAAE,IALE;AAMZnB,YAAAA,MAAM,EAANA;AANY,WAAd,EAHK,CAYL;;AACA,cAAI,CAAC/B,cAAc,CAACoF,SAApB,EAA+B;AAC7B,gBAAI,KAAKC,sBAAT,EAAiC;AAC/BC,cAAAA,YAAY,CAAC,KAAKD,sBAAN,CAAZ;AACD;;AACD,iBAAKA,sBAAL,GAA8BE,UAAU,CACtC,KAAKC,oBADiC,EAEtC,KAAKlE,KAAL,CAAWmB,QAAX,KAAwBtC,OAAxB,IAAmC,KAAKmB,KAAL,CAAWmB,QAAX,KAAwBrC,KAA3D,GACI,GADJ,GAEI,GAJkC,CAAxC;AAMD;AACF;AACF,OA9C4D,CAgD7D;;;AACA,UACEqE,SAAS,CAACnB,WAAV,KAA0B,KAAKhC,KAAL,CAAWgC,WAArC,IACAoB,SAAS,CAACvB,WAFZ,EAGE;AACA,YAAMgB,SAAS,GAAG,KAAK7C,KAAL,CAAWgC,WAA7B;AACA,YAAM1B,SAAS,GAAG6C,SAAS,CAACnB,WAA5B;;AACA,YAAIoB,SAAS,CAACd,kBAAV,KAAiC,IAArC,EAA2C;AACzC,eAAKL,OAAL,CAAamB,SAAS,CAACd,kBAAvB,IAA6C,CAA7C;AACD;;AACD,aAAKZ,QAAL,CACE;AACEY,UAAAA,kBAAkB,EAAE,IADtB;AAEEzB,UAAAA,kBAAkB,EAAE,IAFtB;AAGEgB,UAAAA,WAAW,EAAE,KAHf;AAIEf,UAAAA,eAAe,EAAE,IAJnB;AAKEuB,UAAAA,eAAe,EAAE,CALnB;AAMEG,UAAAA,cAAc,EAAE,CANlB;AAOER,UAAAA,WAAW,EAAEa,SAPf;AAQED,UAAAA,aAAa,EAAE,CAACC,SAAD;AARjB,SADF,EAWE,YAAM;AACJ,cAAI,MAAI,CAACxC,KAAL,CAAW2B,WAAX,KAA2B,IAA/B,EAAqC;AAAA;;AACnC,mCAAA,MAAI,CAAChC,KAAL,CAAWkC,MAAX,4EAAmBiC,QAAnB,CACE,CADF,EAEE,MAAI,CAAClC,OAAL,CAAa,MAAI,CAAC5B,KAAL,CAAW2B,WAAxB,CAFF;AAID;;AACDmB,UAAAA,SAAS,CAACiB,YAAV,IACEjB,SAAS,CAACiB,YAAV,CAAuB;AACrB3D,YAAAA,MAAM,EAAE,IADa;AAErB4D,YAAAA,IAAI,EAAE/D,SAFe;AAGrBgE,YAAAA,EAAE,EAAEzB;AAHiB,WAAvB,CADF;AAMD,SAxBH;AA0BD,OApF4D,CAsF7D;;;AACA,UAAI,CAACO,SAAS,CAACvB,WAAX,IAA0B,KAAKxB,KAAL,CAAWwB,WAAzC,EAAsD;AACpD,aAAK7B,KAAL,CAAWuE,gBAAX,IAA+B,KAAKvE,KAAL,CAAWuE,gBAAX,EAA/B;AACD,OAzF4D,CA2F7D;;;AACA,UAAI,CAACnB,SAAS,CAACtC,eAAX,IAA8B,KAAKT,KAAL,CAAWS,eAA7C,EAA8D;AAC5D,aAAK0D,oBAAL,CACE,KAAK5D,SAAL,CAAe,KAAKP,KAAL,CAAWQ,kBAA1B,CADF,EAEE,KAAK4D,+BAFP;AAID,OAjG4D,CAmG7D;;;AACA,UACErB,SAAS,CAACtC,eAAV,KAA8BjB,gBAAgB,CAACkB,IAA/C,IACA,CAAC,KAAKV,KAAL,CAAWS,eADZ,IAEA,KAAKT,KAAL,CAAW2B,WAAX,KAA2B,IAH7B,EAIE;AAAA;;AACA,oCAAKhC,KAAL,CAAWkC,MAAX,4EAAmBiC,QAAnB,CAA4B,CAA5B,EAA+B,KAAKlC,OAAL,CAAa,KAAK5B,KAAL,CAAW2B,WAAxB,CAA/B;AACD,OA1G4D,CA4G7D;;;AACA,UACEmB,SAAS,CAACnB,WAAV,KAA0B,KAAKhC,KAAL,CAAWgC,WAArC,IACA,KAAK3B,KAAL,CAAWoB,YAFb,EAGE;AACA,aAAKC,QAAL,CAAc;AACZD,UAAAA,YAAY,EAAE,KADF;AAEZoB,UAAAA,SAAS,EAAE,IAFC;AAGZvC,UAAAA,SAAS,EAAE,IAHC;AAIZsB,UAAAA,QAAQ,EAAE,KAJE;AAKZgB,UAAAA,aAAa,EAAE,CAAC,KAAK5C,KAAL,CAAWgC,WAAZ,CALH;AAMZA,UAAAA,WAAW,EAAE,KAAKhC,KAAL,CAAWgC;AANZ,SAAd;AAQD;AACF;;;WAED,yCAAyC;AAAA;;AACvC,aACE,+BAAKhC,KAAL,CAAWoB,cAAX,gFAA2BsD,uBAA3B,MAAuD,KAAvD,IACA,0BAAC,KAAK1E,KAAL,CAAW2E,QAAZ,iDAAC,qBAAqBC,OAAtB,CAFF;AAID;;;WAED,8BACEC,IADF,EAEEC,YAFF,EAGQ;AACN,UAAIrG,eAAe,CAACqF,SAAhB,IAA6BrF,eAAe,CAACsG,IAA7C,IAAqDF,IAAzD,EAA+D;AAC7DA,QAAAA,IAAI,CAACG,mBAAL,CACEvG,eAAe,CAACsG,IADlB,EAEED,YAFF;AAIAD,QAAAA,IAAI,CAACI,gBAAL,CACExG,eAAe,CAACsG,IADlB,EAEED,YAFF;AAID,OATD,MASO;AACL,YAAI,KAAKI,uBAAT,EAAkC;AAChClB,UAAAA,YAAY,CAAC,KAAKkB,uBAAN,CAAZ;AACD;;AACD,aAAKA,uBAAL,GAA+BjB,UAAU,CACvCa,YADuC,EAEvC,KAAK9E,KAAL,CAAWmB,QAAX,KAAwBtC,OAAxB,IAAmC,KAAKmB,KAAL,CAAWmB,QAAX,KAAwBrC,KAA3D,GACI,GADJ,GAEI,GAJmC,CAAzC;AAMD;AACF;;;WAED,6BAA0B;AAAA;;AACxB,UAAI,OAAO,KAAKyC,MAAZ,KAAuB,WAAvB,sBAAsC,KAAKuB,QAA3C,2CAAsC,eAAeqC,aAAzD,EAAwE;AACrE,aAAKrC,QAAL,CAAcqC,aAAf,CAA6CC,IAA7C;AACD;AACF;;;WAED,mBAAUlC,EAAV,EAA6B;AAC3B,UAAIA,EAAE,KAAK,IAAX,EAAiB;AACf,eAAOjD,SAAP;AACD;;AACD,aAAO,KAAKoF,UAAL,CAAgBnC,EAAhB,CAAP;AACD;;;WAED,yBAAgB5C,SAAhB,EAAmCG,MAAnC,EAAoD;AAAA;;AAClD,UAAMuB,WAAW,GAAG,KAAKhC,KAAL,CAAWgC,WAA/B;;AACA,UAAIvB,MAAJ,EAAY;AACV,aAAKwB,OAAL,CAAa3B,SAAb,IAA0B,CAA1B;AACD;;AACD,WAAKoB,QAAL,CACE;AACEpB,QAAAA,SAAS,EAAE,IADb;AAEEuC,QAAAA,SAAS,EAAE,IAFb;AAGED,QAAAA,aAAa,EAAE,CAACZ,WAAD,CAHjB;AAIEA,QAAAA,WAAW,EAAXA,WAJF;AAKEJ,QAAAA,QAAQ,EAAE,KALZ;AAMEnB,QAAAA,MAAM,EAAER;AANV,OADF,EASE,YAAM;AAAA;;AACJ,+BAAA,MAAI,CAACD,KAAL,CAAWkC,MAAX,4EAAmBiC,QAAnB,CAA4B,CAA5B,EAA+B1D,MAAM,GAAG,MAAI,CAACwB,OAAL,CAAaD,WAAb,CAAH,GAA+B,CAApE;AACA,QAAA,MAAI,CAAChC,KAAL,CAAWoE,YAAX,IACE,MAAI,CAACpE,KAAL,CAAWoE,YAAX,CAAwB;AAAE3D,UAAAA,MAAM,EAANA,MAAF;AAAU4D,UAAAA,IAAI,EAAE/D,SAAhB;AAA2BgE,UAAAA,EAAE,EAAEtC;AAA/B,SAAxB,CADF;AAED,OAbH;AAeD;;;WAkCD,8BAA2B;AACzB,WAAKhC,KAAL,CAAW2B,WAAX,IAA0B,KAAK3B,KAAL,CAAW2B,WAAX,EAA1B;AACD;;;WAED,6BAA0B;AACxB,WAAK3B,KAAL,CAAWgB,iBAAX,IAAgC,KAAKhB,KAAL,CAAWgB,iBAAX,EAAhC;AACA,WAAKU,QAAL,CAAc;AACZY,QAAAA,kBAAkB,EAAE,IADR;AAEZzB,QAAAA,kBAAkB,EAAE,IAFR;AAGZgB,QAAAA,WAAW,EAAE,KAHD;AAIZf,QAAAA,eAAe,EAAE,IAJL;AAKZuB,QAAAA,eAAe,EAAE,CALL;AAMZG,QAAAA,cAAc,EAAE;AANJ,OAAd;AAQD;;;WA+ED,8BAAqB8C,OAArB,EAAuE;AACrE,UAAI,CAACjG,SAAD,IAAc,CAAC,KAAKkC,MAAxB,EAAgC;AAC9B,eAAO,EAAP;AACD;;AAED,UAAMgE,MAAM,GAAGD,OAAO,KAAK,KAAKjF,KAAL,CAAWiC,kBAAtC;AACA,UAAMkD,MAAM,GAAGF,OAAO,KAAK,KAAKjF,KAAL,CAAWQ,kBAAtC;;AAEA,UAAK,CAAC0E,MAAD,IAAW,CAACC,MAAb,IAAwB,KAAKnF,KAAL,CAAWS,eAAvC,EAAwD;AACtD,eAAO,EAAP;AACD;;AAED,UAAI2E,kBAAkB,aAAM,KAAKpF,KAAL,CAAWmC,cAAjB,OAAtB;AACA,UAAIkD,kBAAkB,aACpB,CAAC,EAAD,GAAO,KAAKrF,KAAL,CAAWmC,cAAX,GAA4B,GAA7B,GAAoC,KAAKjB,MAAL,CAAYC,UAAhD,GAA6D,CAD/C,MAAtB;AAGA,UAAImE,eAAe,GAChB,OAAO,KAAKpE,MAAL,CAAYC,UAAZ,GAAyB,KAAKnB,KAAL,CAAWmC,cAA3C,CAAD,GACA,KAAKjB,MAAL,CAAYC,UAFd;;AAIA,UAAI,KAAKnB,KAAL,CAAWS,eAAf,EAAgC;AAC9B,eAAOyE,MAAM,GACT;AAAEK,UAAAA,SAAS,sCAA+BD,eAA/B;AAAX,SADS,GAET,EAFJ;AAGD;;AAED,UAAIH,MAAJ,EAAY;AACV,eAAO;AACLK,UAAAA,SAAS,wBAAiBH,kBAAjB,YADJ;AAELI,UAAAA,eAAe,wBAAiBJ,kBAAjB;AAFV,SAAP;AAID;;AACD,UAAIH,MAAJ,EAAY;AACV,eAAO;AACLM,UAAAA,SAAS,wBAAiBJ,kBAAjB,YADJ;AAELK,UAAAA,eAAe,wBAAiBL,kBAAjB,YAFV;AAGLG,UAAAA,SAAS,sCAA+BD,eAA/B;AAHJ,SAAP;AAKD;;AAED,aAAO,EAAP;AACD;;;WAED,kBAAS;AAAA;;AACP,yBAiBI,KAAK3F,KAjBT;AAAA,UACEqD,MADF,gBACEA,MADF;AAAA,UAEEE,KAFF,gBAEEA,KAFF;AAAA,UAGEpC,QAHF,gBAGEA,QAHF;AAAA,UAIe4E,EAJf,gBAIE/D,WAJF;AAAA,UAKE2C,QALF,gBAKEA,QALF;AAAA,UAMEvD,cANF,gBAMEA,cANF;AAAA,UAOEU,OAPF,gBAOEA,OAPF;AAAA,UAQEkE,GARF,gBAQEA,GARF;AAAA,UASE5B,YATF,gBASEA,YATF;AAAA,UAUEzC,WAVF,gBAUEA,WAVF;AAAA,UAWE4C,gBAXF,gBAWEA,gBAXF;AAAA,UAYEvD,iBAZF,gBAYEA,iBAZF;AAAA,UAaEO,MAbF,gBAaEA,MAbF;AAAA,UAcEuB,QAdF,gBAcEA,QAdF;AAAA,UAeEZ,MAfF,gBAeEA,MAfF;AAAA,UAgBK+D,SAhBL;;AAkBA,wBASI,KAAK5F,KATT;AAAA,UACEC,SADF,eACEA,SADF;AAAA,UAEEuC,SAFF,eAEEA,SAFF;AAAA,UAGEb,WAHF,eAGEA,WAHF;AAAA,UAIEM,kBAJF,eAIEA,kBAJF;AAAA,UAKEzB,kBALF,eAKEA,kBALF;AAAA,UAMEC,eANF,eAMEA,eANF;AAAA,UAOEL,MAPF,eAOEA,MAPF;AAAA,UAQEmB,QARF,eAQEA,QARF;AAWA,UAAMsE,SAAS,GAAG,CAAC,CAAC7C,MAApB;AACA,UAAM8C,QAAQ,GAAG,CAAC,CAAC5C,KAAnB;AAEA,UAAME,MAAM,GAAG,KAAKA,MAAL,CAAY2C,MAAZ,CAAmB,UAACzC,KAAD,EAA+B;AAC/D,YAAM2B,OAAO,GAAG7F,QAAQ,CAACkE,KAAK,CAAC3D,KAAP,EAAcJ,IAAd,CAAxB;AAEA,eACG0F,OAAO,KAAKrF,SAAZ,IAAyB,MAAI,CAACI,KAAL,CAAWuC,aAAX,CAAyBzC,QAAzB,CAAkCmF,OAAlC,CAA1B,IACAA,OAAO,KAAKhD,kBADZ,IAEAgD,OAAO,KAAKzE,kBAHd;AAKD,OARc,CAAf;AAUA,UAAMwF,gBAAgB,GAAG,KAAKxC,6BAAL,EAAzB;AAEA,UAAMyC,SAAS,GAAG;AAChB,0BAAkB,CAACD,gBAAD,IAAqBzE,QADvB;AAEhB,8BAAsB,CAACyE,gBAAD,IAAqB,KAAKhG,KAAL,CAAWwB,WAFtC;AAGhB,2BAAmBwE;AAHH,OAAlB;AAMA,aACE,oBAAC,KAAD;AACE,QAAA,SAAS,EAAC;AADZ,SAEMJ,SAFN;AAGE,QAAA,SAAS,EAAEzH,UAAU,CAACG,YAAY,CAAC,MAAD,EAASwC,QAAT,CAAb,EAAiCmF,SAAjC,CAHvB;AAIE,QAAA,OAAO,EAAE,KAAKC,OAJhB;AAKE,QAAA,KAAK,EAAE,KAAKC;AALd,UAOE;AAAK,QAAA,SAAS,EAAC;AAAf,SACG/C,MAAM,CAACC,GAAP,CAAW,UAACC,KAAD,EAA+B;AAAA;;AACzC,YAAM2B,OAAO,GAAG7F,QAAQ,CAACkE,KAAK,CAAC3D,KAAP,EAAcJ,IAAd,CAAxB;AACA,YAAM2F,MAAM,GACVD,OAAO,KAAKhF,SAAZ,IAAyBgF,OAAO,KAAKhD,kBADvC;AAEA,YAAMmE,kBAAkB,GACtB7E,QAAQ,IAAI0D,OAAO,MAAM7E,MAAM,GAAGH,SAAH,GAAeuC,SAA3B,CADrB;AAEA,YAAM6D,gBAAgB,GACpBnB,MAAM,IACND,OAAO,KAAKzE,kBADZ,IAECyE,OAAO,KAAKzC,SAAZ,IAAyBpC,MAH5B;AAKA,eACE;AACE,UAAA,SAAS,EAAEjC,UAAU,CAAC,aAAD,EAAgB;AACnC,mCAAuB8G,OAAO,KAAKtD,WADA;AAEnC,iCAAqBsD,OAAO,KAAKhF,SAFE;AAGnC,iCAAqBgF,OAAO,KAAKzC,SAHE;AAInC,4CACEyC,OAAO,KAAKhD,kBALqB;AAMnC,4CACEgD,OAAO,KAAKzE,kBAPqB;AAQnC,+CACEC,eAAe,KAAKjB,gBAAgB,CAACoB,OATJ;AAUnC,8CACEH,eAAe,KAAKjB,gBAAgB,CAACkB;AAXJ,WAAhB,CADvB;AAcE,UAAA,cAAc,EACZ0F,kBAAkB,GAAG,MAAI,CAACvC,oBAAR,GAA+BjE,SAfrD;AAiBE,UAAA,GAAG,EAAE,aAAC0G,EAAD;AAAA,mBACHrB,OAAO,KAAKrF,SAAZ,KAA0B,MAAI,CAACoF,UAAL,CAAgBC,OAAhB,IAA2BqB,EAArD,CADG;AAAA,WAjBP;AAoBE,UAAA,KAAK,EAAE,MAAI,CAACC,oBAAL,CAA0BtB,OAA1B,CApBT;AAqBE,UAAA,GAAG,EAAEA;AArBP,WAuBE;AACE,UAAA,SAAS,EAAC,gBADZ;AAEE,UAAA,KAAK,EAAE;AACLuB,YAAAA,SAAS,EAAEH,gBAAgB,GACvB,oBAAE,MAAI,CAACzE,OAAL,CAAaqD,OAAb,CAAF,2DAAqC,CAArC,CADuB,GAEvBrF;AAHC;AAFT,WAQE,oBAAC,qBAAD;AACE,UAAA,QAAQ,EACNqF,OAAO,KAAKzC,SAAZ,IAAyByC,OAAO,KAAKzE;AAFzC,WAKG8C,KALH,CARF,CAvBF,CADF;AA0CD,OArDA,CADH,CAPF,EA+DE,oBAAC,aAAD,QACGuC,SAAS,IAAI;AAAK,QAAA,SAAS,EAAC;AAAf,SAA+B7C,MAA/B,CADhB,EAEG8C,QAAQ,IAAI;AAAK,QAAA,SAAS,EAAC;AAAf,SAA8B5C,KAA9B,CAFf,CA/DF,CADF;AAsED;;;;EAthBgBhF,KAAK,CAACuI,S,GAyhBzB;;;gBAzhBM/G,I,kBAwBsC;AACxC+B,EAAAA,OAAO,EAAE;AAD+B,C;;AAkgB5C,eAAe7C,WAAW,CACxBA,WAAW,CACTA,WAAW,CACTD,YAAY,CAACM,OAAO,CAAYS,IAAZ,CAAR,CADH,EAETZ,eAFS,EAGT,UAHS,CADF,EAMTD,qBANS,EAOT,gBAPS,CADa,EAUxBK,aAVwB,EAWxB,QAXwB,CAA1B","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent, animationEvent } from \"../../lib/supportEvents\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS, ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport { SplitColContext, SplitColContextProps } from \"../SplitCol/SplitCol\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { canUseDOM, withDOM, DOMProps } from \"../../lib/dom\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport { NavTransitionProvider } from \"../NavTransitionContext/NavTransitionContext\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { swipeBackExcluded } from \"./utils\";\nimport \"./View.css\";\n\nconst warn = warnOnce(\"View\");\n\nenum SwipeBackResults {\n fail = 1,\n success,\n}\n\ninterface Scrolls {\n [index: string]: number | undefined;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\ntype TransitionEventHandler = (e?: TransitionEvent) => void;\n\nexport let scrollsCache: ViewsScrolls = {};\n\nexport interface ViewProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n NavIdProps {\n activePanel: string;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.\n *\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n */\n popout?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.\n *\n * Свойство для отрисовки `ModalRoot`.\n */\n modal?: React.ReactNode;\n onTransition?(params: { isBack: boolean; from: string; to: string }): void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?(): void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?(): void;\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?(): void;\n history?: string[];\n /**\n * @ignore\n */\n splitCol?: SplitColContextProps;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n /**\n * @ignore\n */\n scroll?: ScrollContextInterface;\n}\n\nexport interface ViewState {\n animated: boolean;\n\n visiblePanels: string[];\n activePanel: string | null;\n isBack: boolean | undefined;\n prevPanel: string | null;\n nextPanel: string | null;\n\n swipingBack: boolean;\n swipebackStartX: number;\n swipeBackShift: number;\n swipeBackNextPanel: string | null;\n swipeBackPrevPanel: string | null;\n swipeBackResult: SwipeBackResults | null;\n\n browserSwipe: boolean;\n}\n\nclass View extends React.Component<ViewProps & DOMProps, ViewState> {\n constructor(props: ViewProps) {\n super(props);\n\n this.state = {\n animated: false,\n\n visiblePanels: [props.activePanel],\n activePanel: props.activePanel,\n isBack: undefined,\n prevPanel: null,\n nextPanel: null,\n\n swipingBack: false,\n swipebackStartX: 0,\n swipeBackShift: 0,\n swipeBackNextPanel: null,\n swipeBackPrevPanel: null,\n swipeBackResult: null,\n\n browserSwipe: false,\n };\n }\n\n static defaultProps: Partial<ViewProps> = {\n history: [],\n };\n\n private readonly scrolls = scrollsCache[getNavId(this.props) as string] || {};\n private transitionFinishTimeout: number | undefined = undefined;\n private animationFinishTimeout: number | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n get panels() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n panelNodes: { [id: string]: HTMLDivElement | null } = {};\n\n componentWillUnmount() {\n const id = getNavId(this.props);\n if (id) {\n scrollsCache[id] = this.scrolls;\n }\n }\n\n componentDidUpdate(prevProps: ViewProps, prevState: ViewState) {\n this.props.popout && !prevProps.popout && this.blurActiveElement();\n this.props.modal && !prevProps.modal && this.blurActiveElement();\n\n // Нужен переход\n if (\n prevProps.activePanel !== this.props.activePanel &&\n !prevState.swipingBack &&\n !prevState.browserSwipe\n ) {\n const firstLayerId = this.panels\n .map((panel) => getNavId(panel.props, warn))\n .find(\n (id) => id === prevProps.activePanel || id === this.props.activePanel\n );\n\n const isBack = firstLayerId === this.props.activePanel;\n this.scrolls[prevProps.activePanel] = this.props.scroll?.getScroll().y;\n\n if (this.shouldDisableTransitionMotion()) {\n this.flushTransition(prevProps.activePanel, isBack);\n } else {\n this.blurActiveElement();\n\n this.setState({\n visiblePanels: [prevProps.activePanel, this.props.activePanel],\n prevPanel: prevProps.activePanel,\n nextPanel: this.props.activePanel,\n activePanel: null,\n animated: true,\n isBack,\n });\n\n // Фолбек анимации перехода\n if (!animationEvent.supported) {\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n this.animationFinishTimeout = setTimeout(\n this.transitionEndHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n }\n\n // Закончилась анимация свайпа назад\n if (\n prevProps.activePanel !== this.props.activePanel &&\n prevState.swipingBack\n ) {\n const nextPanel = this.props.activePanel;\n const prevPanel = prevProps.activePanel;\n if (prevState.swipeBackPrevPanel !== null) {\n this.scrolls[prevState.swipeBackPrevPanel] = 0;\n }\n this.setState(\n {\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n activePanel: nextPanel,\n visiblePanels: [nextPanel],\n },\n () => {\n if (this.state.activePanel !== null) {\n this.props.scroll?.scrollTo(\n 0,\n this.scrolls[this.state.activePanel]\n );\n }\n prevProps.onTransition &&\n prevProps.onTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n }\n );\n }\n\n // Начался свайп назад\n if (!prevState.swipingBack && this.state.swipingBack) {\n this.props.onSwipeBackStart && this.props.onSwipeBackStart();\n }\n\n // Началась анимация завершения свайпа назад.\n if (!prevState.swipeBackResult && this.state.swipeBackResult) {\n this.waitTransitionFinish(\n this.pickPanel(this.state.swipeBackNextPanel),\n this.swipingBackTransitionEndHandler\n );\n }\n\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n if (\n prevState.swipeBackResult === SwipeBackResults.fail &&\n !this.state.swipeBackResult &&\n this.state.activePanel !== null\n ) {\n this.props.scroll?.scrollTo(0, this.scrolls[this.state.activePanel]);\n }\n\n // Закончился Safari свайп\n if (\n prevProps.activePanel !== this.props.activePanel &&\n this.state.browserSwipe\n ) {\n this.setState({\n browserSwipe: false,\n nextPanel: null,\n prevPanel: null,\n animated: false,\n visiblePanels: [this.props.activePanel],\n activePanel: this.props.activePanel,\n });\n }\n }\n\n shouldDisableTransitionMotion(): boolean {\n return (\n this.props.configProvider?.transitionMotionEnabled === false ||\n !this.props.splitCol?.animate\n );\n }\n\n waitTransitionFinish(\n elem: HTMLElement | null | undefined,\n eventHandler: TransitionEventHandler\n ): void {\n if (transitionEvent.supported && transitionEvent.name && elem) {\n elem.removeEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n elem.addEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n\n blurActiveElement(): void {\n if (typeof this.window !== \"undefined\" && this.document?.activeElement) {\n (this.document.activeElement as HTMLElement).blur();\n }\n }\n\n pickPanel(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.panelNodes[id];\n }\n\n flushTransition(prevPanel: string, isBack: boolean) {\n const activePanel = this.props.activePanel;\n if (isBack) {\n this.scrolls[prevPanel] = 0;\n }\n this.setState(\n {\n prevPanel: null,\n nextPanel: null,\n visiblePanels: [activePanel],\n activePanel,\n animated: false,\n isBack: undefined,\n },\n () => {\n this.props.scroll?.scrollTo(0, isBack ? this.scrolls[activePanel] : 0);\n this.props.onTransition &&\n this.props.onTransition({ isBack, from: prevPanel, to: activePanel });\n }\n );\n }\n\n transitionEndHandler = (e?: React.AnimationEvent): void => {\n if (\n (!e ||\n [\n \"vkui-animation-ios-next-forward\",\n \"vkui-animation-ios-prev-back\",\n \"vkui-animation-view-next-forward\",\n \"vkui-animation-view-prev-back\",\n ].includes(e.animationName)) &&\n this.state.prevPanel !== null\n ) {\n this.flushTransition(this.state.prevPanel, Boolean(this.state.isBack));\n }\n };\n\n swipingBackTransitionEndHandler = (e?: TransitionEvent): void => {\n // indexOf because of vendor prefixes in old browsers\n if (\n !e ||\n (e?.propertyName.includes(\"transform\") &&\n e?.target === this.pickPanel(this.state.swipeBackNextPanel))\n ) {\n switch (this.state.swipeBackResult) {\n case SwipeBackResults.fail:\n this.onSwipeBackCancel();\n break;\n case SwipeBackResults.success:\n this.onSwipeBackSuccess();\n }\n }\n };\n\n onSwipeBackSuccess(): void {\n this.props.onSwipeBack && this.props.onSwipeBack();\n }\n\n onSwipeBackCancel(): void {\n this.props.onSwipeBackCancel && this.props.onSwipeBackCancel();\n this.setState({\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n });\n }\n\n onMoveX = (e: TouchEvent): void => {\n if (swipeBackExcluded(e)) {\n return;\n }\n\n const { platform, configProvider } = this.props;\n\n if (\n platform === IOS &&\n !configProvider?.isWebView &&\n (e.startX <= 70 || e.startX >= this.window!.innerWidth - 70) &&\n !this.state.browserSwipe\n ) {\n this.setState({ browserSwipe: true });\n }\n\n if (\n platform === IOS &&\n configProvider?.isWebView &&\n this.props.onSwipeBack\n ) {\n if ((this.state.animated && e.startX <= 70) || !this.window) {\n return;\n }\n\n if (\n e.startX <= 70 &&\n !this.state.swipingBack &&\n (this.props.history?.length ?? 0) > 1\n ) {\n if (this.state.activePanel !== null) {\n this.scrolls[this.state.activePanel] =\n this.props.scroll?.getScroll().y;\n }\n this.setState({\n swipingBack: true,\n swipebackStartX: e.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history!.slice(-2)[0],\n });\n }\n if (this.state.swipingBack) {\n let swipeBackShift = 0;\n if (e.shiftX < 0) {\n swipeBackShift = 0;\n } else if (\n e.shiftX >\n this.window.innerWidth - this.state.swipebackStartX\n ) {\n swipeBackShift = this.window?.innerWidth;\n } else {\n swipeBackShift = e.shiftX;\n }\n this.setState({ swipeBackShift });\n }\n }\n };\n\n onEnd = (e: TouchEvent): void => {\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / e.duration) * 1000;\n if (this.state.swipeBackShift === 0) {\n this.onSwipeBackCancel();\n } else if (this.state.swipeBackShift >= (this.window?.innerWidth ?? 0)) {\n this.onSwipeBackSuccess();\n } else if (\n speed > 250 ||\n this.state.swipebackStartX + this.state.swipeBackShift >\n this.window.innerWidth / 2\n ) {\n this.setState({ swipeBackResult: SwipeBackResults.success });\n } else {\n this.setState({ swipeBackResult: SwipeBackResults.fail });\n }\n }\n };\n\n calcPanelSwipeStyles(panelId: string | undefined): React.CSSProperties {\n if (!canUseDOM || !this.window) {\n return {};\n }\n\n const isPrev = panelId === this.state.swipeBackPrevPanel;\n const isNext = panelId === this.state.swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || this.state.swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${this.state.swipeBackShift}px`;\n let nextPanelTranslate = `${\n -50 + (this.state.swipeBackShift * 100) / this.window.innerWidth / 2\n }%`;\n let prevPanelShadow =\n (0.3 * (this.window.innerWidth - this.state.swipeBackShift)) /\n this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev\n ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` }\n : {};\n }\n\n if (isNext) {\n return {\n transform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n };\n }\n if (isPrev) {\n return {\n transform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`,\n };\n }\n\n return {};\n }\n\n render() {\n const {\n popout,\n modal,\n platform,\n activePanel: _1,\n splitCol,\n configProvider,\n history,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel,\n window,\n document,\n scroll,\n ...restProps\n } = this.props;\n const {\n prevPanel,\n nextPanel,\n activePanel,\n swipeBackPrevPanel,\n swipeBackNextPanel,\n swipeBackResult,\n isBack,\n animated,\n } = this.state;\n\n const hasPopout = !!popout;\n const hasModal = !!modal;\n\n const panels = this.panels.filter((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined && this.state.visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n });\n\n const disableAnimation = this.shouldDisableTransitionMotion();\n\n const modifiers = {\n \"View--animated\": !disableAnimation && animated,\n \"View--swiping-back\": !disableAnimation && this.state.swipingBack,\n \"View--no-motion\": disableAnimation,\n };\n\n return (\n <Touch\n Component=\"section\"\n {...restProps}\n vkuiClass={classNames(getClassName(\"View\", platform), modifiers)}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n >\n <div vkuiClass=\"View__panels\">\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev =\n panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isTransitionTarget =\n animated && panelId === (isBack ? prevPanel : nextPanel);\n const compensateScroll =\n isPrev ||\n panelId === swipeBackNextPanel ||\n (panelId === nextPanel && isBack);\n\n return (\n <div\n vkuiClass={classNames(\"View__panel\", {\n \"View__panel--active\": panelId === activePanel,\n \"View__panel--prev\": panelId === prevPanel,\n \"View__panel--next\": panelId === nextPanel,\n \"View__panel--swipe-back-prev\":\n panelId === swipeBackPrevPanel,\n \"View__panel--swipe-back-next\":\n panelId === swipeBackNextPanel,\n \"View__panel--swipe-back-success\":\n swipeBackResult === SwipeBackResults.success,\n \"View__panel--swipe-back-failed\":\n swipeBackResult === SwipeBackResults.fail,\n })}\n onAnimationEnd={\n isTransitionTarget ? this.transitionEndHandler : undefined\n }\n ref={(el) =>\n panelId !== undefined && (this.panelNodes[panelId] = el)\n }\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n vkuiClass=\"View__panel-in\"\n style={{\n marginTop: compensateScroll\n ? -(this.scrolls[panelId as string] ?? 0)\n : undefined,\n }}\n >\n <NavTransitionProvider\n entering={\n panelId === nextPanel || panelId === swipeBackNextPanel\n }\n >\n {panel}\n </NavTransitionProvider>\n </div>\n </div>\n );\n })}\n </div>\n <AppRootPortal>\n {hasPopout && <div vkuiClass=\"View__popout\">{popout}</div>}\n {hasModal && <div vkuiClass=\"View__modal\">{modal}</div>}\n </AppRootPortal>\n </Touch>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withContext(\n withContext(\n withContext(\n withPlatform(withDOM<ViewProps>(View)),\n SplitColContext,\n \"splitCol\"\n ),\n ConfigProviderContext,\n \"configProvider\"\n ),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"View.js"}
1
+ {"version":3,"sources":["../../../../src/components/View/View.tsx"],"names":["React","classNames","transitionEvent","animationEvent","getClassName","IOS","ANDROID","VKCOM","Touch","withPlatform","withContext","ConfigProviderContext","SplitColContext","AppRootPortal","canUseDOM","withDOM","ScrollContext","NavTransitionProvider","getNavId","warnOnce","swipeBackExcluded","SwipeBackResults","scrollsCache","warn","View","props","undefined","e","includes","animationName","state","prevPanel","flushTransition","Boolean","isBack","propertyName","target","pickPanel","swipeBackNextPanel","swipeBackResult","fail","onSwipeBackCancel","success","onSwipeBackSuccess","platform","configProvider","isWebView","startX","window","innerWidth","browserSwipe","setState","onSwipeBack","animated","swipingBack","history","length","activePanel","scrolls","scroll","getScroll","y","swipebackStartX","swipeBackPrevPanel","slice","swipeBackShift","shiftX","speed","duration","visiblePanels","nextPanel","document","Children","toArray","children","process","env","NODE_ENV","popout","modal","id","prevProps","prevState","blurActiveElement","firstLayerId","panels","map","panel","find","shouldDisableTransitionMotion","supported","animationFinishTimeout","clearTimeout","setTimeout","transitionEndHandler","scrollTo","onTransition","from","to","onSwipeBackStart","waitTransitionFinish","swipingBackTransitionEndHandler","transitionMotionEnabled","splitCol","animate","elem","eventHandler","name","removeEventListener","addEventListener","transitionFinishTimeout","activeElement","blur","panelNodes","panelId","isPrev","isNext","prevPanelTranslate","nextPanelTranslate","prevPanelShadow","boxShadow","transform","WebkitTransform","_1","nav","restProps","hasPopout","hasModal","filter","disableAnimation","modifiers","onMoveX","onEnd","isTransitionTarget","compensateScroll","el","calcPanelSwipeStyles","marginTop","Component"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent, animationEvent } from \"../../lib/supportEvents\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { IOS, ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Touch, TouchEvent } from \"../Touch/Touch\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withContext } from \"../../hoc/withContext\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n} from \"../ConfigProvider/ConfigProviderContext\";\nimport { SplitColContext, SplitColContextProps } from \"../SplitCol/SplitCol\";\nimport { AppRootPortal } from \"../AppRoot/AppRootPortal\";\nimport { canUseDOM, withDOM, DOMProps } from \"../../lib/dom\";\nimport {\n ScrollContext,\n ScrollContextInterface,\n} from \"../AppRoot/ScrollContext\";\nimport { NavTransitionProvider } from \"../NavTransitionContext/NavTransitionContext\";\nimport { getNavId, NavIdProps } from \"../../lib/getNavId\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { swipeBackExcluded } from \"./utils\";\nimport \"./View.css\";\n\nenum SwipeBackResults {\n fail = 1,\n success,\n}\n\ninterface Scrolls {\n [index: string]: number | undefined;\n}\n\ninterface ViewsScrolls {\n [index: string]: Scrolls;\n}\n\ntype TransitionEventHandler = (e?: TransitionEvent) => void;\n\nexport let scrollsCache: ViewsScrolls = {};\n\nexport interface ViewProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n NavIdProps {\n activePanel: string;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.\n *\n * Свойство для отрисовки `Alert`, `ActionSheet` и `ScreenSpinner`.\n */\n popout?: React.ReactNode;\n /**\n * @deprecated будет удалено в 5.0.0. Используйте одноименное свойство у `SplitLayout`.\n *\n * Свойство для отрисовки `ModalRoot`.\n */\n modal?: React.ReactNode;\n onTransition?(params: { isBack: boolean; from: string; to: string }): void;\n /**\n * callback свайпа назад\n */\n onSwipeBack?(): void;\n /**\n * callback начала анимации свайпа назад.\n */\n onSwipeBackStart?(): void;\n /**\n * callback завершения анимации отмененного пользователем свайпа\n */\n onSwipeBackCancel?(): void;\n history?: string[];\n /**\n * @ignore\n */\n splitCol?: SplitColContextProps;\n /**\n * @ignore\n */\n configProvider?: ConfigProviderContextInterface;\n /**\n * @ignore\n */\n scroll?: ScrollContextInterface;\n}\n\nexport interface ViewState {\n animated: boolean;\n\n visiblePanels: string[];\n activePanel: string | null;\n isBack: boolean | undefined;\n prevPanel: string | null;\n nextPanel: string | null;\n\n swipingBack: boolean;\n swipebackStartX: number;\n swipeBackShift: number;\n swipeBackNextPanel: string | null;\n swipeBackPrevPanel: string | null;\n swipeBackResult: SwipeBackResults | null;\n\n browserSwipe: boolean;\n}\n\nconst warn = warnOnce(\"View\");\nclass View extends React.Component<ViewProps & DOMProps, ViewState> {\n constructor(props: ViewProps) {\n super(props);\n\n this.state = {\n animated: false,\n\n visiblePanels: [props.activePanel],\n activePanel: props.activePanel,\n isBack: undefined,\n prevPanel: null,\n nextPanel: null,\n\n swipingBack: false,\n swipebackStartX: 0,\n swipeBackShift: 0,\n swipeBackNextPanel: null,\n swipeBackPrevPanel: null,\n swipeBackResult: null,\n\n browserSwipe: false,\n };\n }\n\n static defaultProps: Partial<ViewProps> = {\n history: [],\n };\n\n private readonly scrolls = scrollsCache[getNavId(this.props) as string] || {};\n private transitionFinishTimeout: number | undefined = undefined;\n private animationFinishTimeout: number | undefined = undefined;\n\n get document() {\n return this.props.document;\n }\n\n get window() {\n return this.props.window;\n }\n\n get panels() {\n return React.Children.toArray(this.props.children) as React.ReactElement[];\n }\n\n panelNodes: { [id: string]: HTMLDivElement | null } = {};\n\n componentDidMount() {\n if (process.env.NODE_ENV === \"development\") {\n const { popout, modal } = this.props;\n popout &&\n warn(\n \"Свойство popout устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout.\"\n );\n modal &&\n warn(\n \"Свойство modal устарело и будет удалено в 5.0.0. Используйте одноименное свойство у SplitLayout.\"\n );\n }\n }\n\n componentWillUnmount() {\n const id = getNavId(this.props);\n if (id) {\n scrollsCache[id] = this.scrolls;\n }\n }\n\n componentDidUpdate(prevProps: ViewProps, prevState: ViewState) {\n this.props.popout && !prevProps.popout && this.blurActiveElement();\n this.props.modal && !prevProps.modal && this.blurActiveElement();\n\n // Нужен переход\n if (\n prevProps.activePanel !== this.props.activePanel &&\n !prevState.swipingBack &&\n !prevState.browserSwipe\n ) {\n const firstLayerId = this.panels\n .map((panel) => getNavId(panel.props, warn))\n .find(\n (id) => id === prevProps.activePanel || id === this.props.activePanel\n );\n\n const isBack = firstLayerId === this.props.activePanel;\n this.scrolls[prevProps.activePanel] = this.props.scroll?.getScroll().y;\n\n if (this.shouldDisableTransitionMotion()) {\n this.flushTransition(prevProps.activePanel, isBack);\n } else {\n this.blurActiveElement();\n\n this.setState({\n visiblePanels: [prevProps.activePanel, this.props.activePanel],\n prevPanel: prevProps.activePanel,\n nextPanel: this.props.activePanel,\n activePanel: null,\n animated: true,\n isBack,\n });\n\n // Фолбек анимации перехода\n if (!animationEvent.supported) {\n if (this.animationFinishTimeout) {\n clearTimeout(this.animationFinishTimeout);\n }\n this.animationFinishTimeout = setTimeout(\n this.transitionEndHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n }\n\n // Закончилась анимация свайпа назад\n if (\n prevProps.activePanel !== this.props.activePanel &&\n prevState.swipingBack\n ) {\n const nextPanel = this.props.activePanel;\n const prevPanel = prevProps.activePanel;\n if (prevState.swipeBackPrevPanel !== null) {\n this.scrolls[prevState.swipeBackPrevPanel] = 0;\n }\n this.setState(\n {\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n activePanel: nextPanel,\n visiblePanels: [nextPanel],\n },\n () => {\n if (this.state.activePanel !== null) {\n this.props.scroll?.scrollTo(\n 0,\n this.scrolls[this.state.activePanel]\n );\n }\n prevProps.onTransition &&\n prevProps.onTransition({\n isBack: true,\n from: prevPanel,\n to: nextPanel,\n });\n }\n );\n }\n\n // Начался свайп назад\n if (!prevState.swipingBack && this.state.swipingBack) {\n this.props.onSwipeBackStart && this.props.onSwipeBackStart();\n }\n\n // Началась анимация завершения свайпа назад.\n if (!prevState.swipeBackResult && this.state.swipeBackResult) {\n this.waitTransitionFinish(\n this.pickPanel(this.state.swipeBackNextPanel),\n this.swipingBackTransitionEndHandler\n );\n }\n\n // Если свайп назад отменился (когда пользователь недостаточно сильно свайпнул)\n if (\n prevState.swipeBackResult === SwipeBackResults.fail &&\n !this.state.swipeBackResult &&\n this.state.activePanel !== null\n ) {\n this.props.scroll?.scrollTo(0, this.scrolls[this.state.activePanel]);\n }\n\n // Закончился Safari свайп\n if (\n prevProps.activePanel !== this.props.activePanel &&\n this.state.browserSwipe\n ) {\n this.setState({\n browserSwipe: false,\n nextPanel: null,\n prevPanel: null,\n animated: false,\n visiblePanels: [this.props.activePanel],\n activePanel: this.props.activePanel,\n });\n }\n }\n\n shouldDisableTransitionMotion(): boolean {\n return (\n this.props.configProvider?.transitionMotionEnabled === false ||\n !this.props.splitCol?.animate\n );\n }\n\n waitTransitionFinish(\n elem: HTMLElement | null | undefined,\n eventHandler: TransitionEventHandler\n ): void {\n if (transitionEvent.supported && transitionEvent.name && elem) {\n elem.removeEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n elem.addEventListener(\n transitionEvent.name as keyof HTMLElementEventMap,\n eventHandler as EventListener\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler,\n this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 300\n : 600\n );\n }\n }\n\n blurActiveElement(): void {\n if (typeof this.window !== \"undefined\" && this.document?.activeElement) {\n (this.document.activeElement as HTMLElement).blur();\n }\n }\n\n pickPanel(id: string | null) {\n if (id === null) {\n return undefined;\n }\n return this.panelNodes[id];\n }\n\n flushTransition(prevPanel: string, isBack: boolean) {\n const activePanel = this.props.activePanel;\n if (isBack) {\n this.scrolls[prevPanel] = 0;\n }\n this.setState(\n {\n prevPanel: null,\n nextPanel: null,\n visiblePanels: [activePanel],\n activePanel,\n animated: false,\n isBack: undefined,\n },\n () => {\n this.props.scroll?.scrollTo(0, isBack ? this.scrolls[activePanel] : 0);\n this.props.onTransition &&\n this.props.onTransition({ isBack, from: prevPanel, to: activePanel });\n }\n );\n }\n\n transitionEndHandler = (e?: React.AnimationEvent): void => {\n if (\n (!e ||\n [\n \"vkui-animation-ios-next-forward\",\n \"vkui-animation-ios-prev-back\",\n \"vkui-animation-view-next-forward\",\n \"vkui-animation-view-prev-back\",\n ].includes(e.animationName)) &&\n this.state.prevPanel !== null\n ) {\n this.flushTransition(this.state.prevPanel, Boolean(this.state.isBack));\n }\n };\n\n swipingBackTransitionEndHandler = (e?: TransitionEvent): void => {\n // indexOf because of vendor prefixes in old browsers\n if (\n !e ||\n (e?.propertyName.includes(\"transform\") &&\n e?.target === this.pickPanel(this.state.swipeBackNextPanel))\n ) {\n switch (this.state.swipeBackResult) {\n case SwipeBackResults.fail:\n this.onSwipeBackCancel();\n break;\n case SwipeBackResults.success:\n this.onSwipeBackSuccess();\n }\n }\n };\n\n onSwipeBackSuccess(): void {\n this.props.onSwipeBack && this.props.onSwipeBack();\n }\n\n onSwipeBackCancel(): void {\n this.props.onSwipeBackCancel && this.props.onSwipeBackCancel();\n this.setState({\n swipeBackPrevPanel: null,\n swipeBackNextPanel: null,\n swipingBack: false,\n swipeBackResult: null,\n swipebackStartX: 0,\n swipeBackShift: 0,\n });\n }\n\n onMoveX = (e: TouchEvent): void => {\n if (swipeBackExcluded(e)) {\n return;\n }\n\n const { platform, configProvider } = this.props;\n\n if (\n platform === IOS &&\n !configProvider?.isWebView &&\n (e.startX <= 70 || e.startX >= this.window!.innerWidth - 70) &&\n !this.state.browserSwipe\n ) {\n this.setState({ browserSwipe: true });\n }\n\n if (\n platform === IOS &&\n configProvider?.isWebView &&\n this.props.onSwipeBack\n ) {\n if ((this.state.animated && e.startX <= 70) || !this.window) {\n return;\n }\n\n if (\n e.startX <= 70 &&\n !this.state.swipingBack &&\n (this.props.history?.length ?? 0) > 1\n ) {\n if (this.state.activePanel !== null) {\n this.scrolls[this.state.activePanel] =\n this.props.scroll?.getScroll().y;\n }\n this.setState({\n swipingBack: true,\n swipebackStartX: e.startX,\n swipeBackPrevPanel: this.state.activePanel,\n swipeBackNextPanel: this.props.history!.slice(-2)[0],\n });\n }\n if (this.state.swipingBack) {\n let swipeBackShift = 0;\n if (e.shiftX < 0) {\n swipeBackShift = 0;\n } else if (\n e.shiftX >\n this.window.innerWidth - this.state.swipebackStartX\n ) {\n swipeBackShift = this.window?.innerWidth;\n } else {\n swipeBackShift = e.shiftX;\n }\n this.setState({ swipeBackShift });\n }\n }\n };\n\n onEnd = (e: TouchEvent): void => {\n if (this.state.swipingBack && this.window) {\n const speed = (this.state.swipeBackShift / e.duration) * 1000;\n if (this.state.swipeBackShift === 0) {\n this.onSwipeBackCancel();\n } else if (this.state.swipeBackShift >= (this.window?.innerWidth ?? 0)) {\n this.onSwipeBackSuccess();\n } else if (\n speed > 250 ||\n this.state.swipebackStartX + this.state.swipeBackShift >\n this.window.innerWidth / 2\n ) {\n this.setState({ swipeBackResult: SwipeBackResults.success });\n } else {\n this.setState({ swipeBackResult: SwipeBackResults.fail });\n }\n }\n };\n\n calcPanelSwipeStyles(panelId: string | undefined): React.CSSProperties {\n if (!canUseDOM || !this.window) {\n return {};\n }\n\n const isPrev = panelId === this.state.swipeBackPrevPanel;\n const isNext = panelId === this.state.swipeBackNextPanel;\n\n if ((!isPrev && !isNext) || this.state.swipeBackResult) {\n return {};\n }\n\n let prevPanelTranslate = `${this.state.swipeBackShift}px`;\n let nextPanelTranslate = `${\n -50 + (this.state.swipeBackShift * 100) / this.window.innerWidth / 2\n }%`;\n let prevPanelShadow =\n (0.3 * (this.window.innerWidth - this.state.swipeBackShift)) /\n this.window.innerWidth;\n\n if (this.state.swipeBackResult) {\n return isPrev\n ? { boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})` }\n : {};\n }\n\n if (isNext) {\n return {\n transform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${nextPanelTranslate}, 0, 0)`,\n };\n }\n if (isPrev) {\n return {\n transform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n WebkitTransform: `translate3d(${prevPanelTranslate}, 0, 0)`,\n boxShadow: `-2px 0 12px rgba(0, 0, 0, ${prevPanelShadow})`,\n };\n }\n\n return {};\n }\n\n render() {\n const {\n popout,\n modal,\n platform,\n activePanel: _1,\n splitCol,\n configProvider,\n history,\n nav,\n onTransition,\n onSwipeBack,\n onSwipeBackStart,\n onSwipeBackCancel,\n window,\n document,\n scroll,\n ...restProps\n } = this.props;\n const {\n prevPanel,\n nextPanel,\n activePanel,\n swipeBackPrevPanel,\n swipeBackNextPanel,\n swipeBackResult,\n isBack,\n animated,\n } = this.state;\n\n const hasPopout = !!popout;\n const hasModal = !!modal;\n\n const panels = this.panels.filter((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n\n return (\n (panelId !== undefined && this.state.visiblePanels.includes(panelId)) ||\n panelId === swipeBackPrevPanel ||\n panelId === swipeBackNextPanel\n );\n });\n\n const disableAnimation = this.shouldDisableTransitionMotion();\n\n const modifiers = {\n \"View--animated\": !disableAnimation && animated,\n \"View--swiping-back\": !disableAnimation && this.state.swipingBack,\n \"View--no-motion\": disableAnimation,\n };\n\n return (\n <Touch\n Component=\"section\"\n {...restProps}\n vkuiClass={classNames(getClassName(\"View\", platform), modifiers)}\n onMoveX={this.onMoveX}\n onEnd={this.onEnd}\n >\n <div vkuiClass=\"View__panels\">\n {panels.map((panel: React.ReactElement) => {\n const panelId = getNavId(panel.props, warn);\n const isPrev =\n panelId === prevPanel || panelId === swipeBackPrevPanel;\n const isTransitionTarget =\n animated && panelId === (isBack ? prevPanel : nextPanel);\n const compensateScroll =\n isPrev ||\n panelId === swipeBackNextPanel ||\n (panelId === nextPanel && isBack);\n\n return (\n <div\n vkuiClass={classNames(\"View__panel\", {\n \"View__panel--active\": panelId === activePanel,\n \"View__panel--prev\": panelId === prevPanel,\n \"View__panel--next\": panelId === nextPanel,\n \"View__panel--swipe-back-prev\":\n panelId === swipeBackPrevPanel,\n \"View__panel--swipe-back-next\":\n panelId === swipeBackNextPanel,\n \"View__panel--swipe-back-success\":\n swipeBackResult === SwipeBackResults.success,\n \"View__panel--swipe-back-failed\":\n swipeBackResult === SwipeBackResults.fail,\n })}\n onAnimationEnd={\n isTransitionTarget ? this.transitionEndHandler : undefined\n }\n ref={(el) =>\n panelId !== undefined && (this.panelNodes[panelId] = el)\n }\n style={this.calcPanelSwipeStyles(panelId)}\n key={panelId}\n >\n <div\n vkuiClass=\"View__panel-in\"\n style={{\n marginTop: compensateScroll\n ? -(this.scrolls[panelId as string] ?? 0)\n : undefined,\n }}\n >\n <NavTransitionProvider\n entering={\n panelId === nextPanel || panelId === swipeBackNextPanel\n }\n >\n {panel}\n </NavTransitionProvider>\n </div>\n </div>\n );\n })}\n </div>\n <AppRootPortal>\n {hasPopout && <div vkuiClass=\"View__popout\">{popout}</div>}\n {hasModal && <div vkuiClass=\"View__modal\">{modal}</div>}\n </AppRootPortal>\n </Touch>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withContext(\n withContext(\n withContext(\n withPlatform(withDOM<ViewProps>(View)),\n SplitColContext,\n \"splitCol\"\n ),\n ConfigProviderContext,\n \"configProvider\"\n ),\n ScrollContext,\n \"scroll\"\n);\n"],"file":"View.js"}
@@ -25,9 +25,9 @@ export { default as FixedLayout } from "./components/FixedLayout/FixedLayout";
25
25
  * Popouts
26
26
  */
27
27
  export { PopoutWrapper } from "./components/PopoutWrapper/PopoutWrapper";
28
- export { default as Alert } from "./components/Alert/Alert";
28
+ export { Alert } from "./components/Alert/Alert";
29
29
  export { ActionSheet } from "./components/ActionSheet/ActionSheet";
30
- export { default as ActionSheetItem } from "./components/ActionSheetItem/ActionSheetItem";
30
+ export { ActionSheetItem } from "./components/ActionSheetItem/ActionSheetItem";
31
31
  export { default as ScreenSpinner } from "./components/ScreenSpinner/ScreenSpinner";
32
32
  export { Snackbar } from "./components/Snackbar/Snackbar";
33
33
 
@@ -132,7 +132,7 @@ export { ModalCardBase } from "./components/ModalCardBase/ModalCardBase";
132
132
  * Wrappers
133
133
  */
134
134
  export { AppRoot } from "./components/AppRoot/AppRoot";
135
- export { default as AdaptivityProvider } from "./components/AdaptivityProvider/AdaptivityProvider";
135
+ export { AdaptivityProvider } from "./components/AdaptivityProvider/AdaptivityProvider";
136
136
  export { default as ConfigProvider } from "./components/ConfigProvider/ConfigProvider";
137
137
  export { ConfigProviderContext, WebviewType } from "./components/ConfigProvider/ConfigProviderContext";
138
138
  export { AppearanceProvider } from "./components/AppearanceProvider/AppearanceProvider";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"names":["default","Root","View","Panel","PanelHeaderButton","PanelHeader","PanelHeaderContent","PanelHeaderContext","SplitLayout","SplitCol","Epic","Tabbar","TabbarItem","HorizontalScroll","FixedLayout","PopoutWrapper","Alert","ActionSheet","ActionSheetItem","ScreenSpinner","Snackbar","ModalRoot","withModalRootContext","ModalRootContext","ModalPage","ModalPageHeader","ModalCard","ModalDismissButton","Badge","Button","IconButton","Card","CardGrid","CardScroll","ContentCard","CellButton","Header","Group","Gradient","List","Cell","RichCell","SimpleCell","HorizontalCell","Footer","InfoRow","Gallery","Avatar","GridAvatar","InitialsAvatar","Progress","Search","Tabs","TabsItem","Spinner","PullToRefresh","Link","Tooltip","TooltipContainer","Counter","UsersStack","Separator","Spacing","Placeholder","Banner","MiniInfoCell","WriteBar","WriteBarIcon","SubnavigationBar","SubnavigationButton","FormLayout","FormItem","FormField","FormLayoutGroup","FormStatus","Switch","File","Input","Chip","ChipsInput","Slider","RangeSlider","Textarea","Radio","RadioGroup","Checkbox","Select","SelectMimicry","NativeSelect","CustomSelect","CustomSelectOption","DatePicker","SliderSwitch","Div","Tappable","Touch","PanelSpinner","PanelHeaderClose","PanelHeaderBack","PanelHeaderSubmit","PanelHeaderEdit","ModalCardBase","AppRoot","AdaptivityProvider","ConfigProvider","ConfigProviderContext","WebviewType","AppearanceProvider","Scheme","Appearance","PromoBanner","Title","Headline","Text","Caption","Subhead","withInsets","withPlatform","withAdaptivity","useInsets","usePlatform","useAdaptivity","useAppearance","classNamesString","classNames","animate","removeObjectKeys","SSRWrapper","platform","ANDROID","IOS","VKCOM","Platform","IS_PLATFORM_ANDROID","IS_PLATFORM_IOS","getClassName","ViewWidth","ViewHeight","SizeType","calcInitialsAvatarColor","Popper"],"mappings":"AAAA;AAEA;AACA;AACA;AAEA;AACA;AACA;;AACA,SAASA,OAAO,IAAIC,IAApB;AAEA,SAASD,OAAO,IAAIE,IAApB;AAEA,SAASC,KAAT;AAEA,SAASC,iBAAT;AAEA,SAASJ,OAAO,IAAIK,WAApB;AAEA,SAASL,OAAO,IAAIM,kBAApB;AAEA,SAASC,kBAAT;AAEA,SAASC,WAAT;AAEA,SAASC,QAAT;AAEA,SAAST,OAAO,IAAIU,IAApB;AAEA,SAASV,OAAO,IAAIW,MAApB;AAEA,SAASX,OAAO,IAAIY,UAApB;AAEA,SAASZ,OAAO,IAAIa,gBAApB;AAEA,SAASb,OAAO,IAAIc,WAApB;;AAGA;AACA;AACA;AACA,SAASC,aAAT;AAEA,SAASf,OAAO,IAAIgB,KAApB;AAKA,SAASC,WAAT;AAEA,SAASjB,OAAO,IAAIkB,eAApB;AAEA,SAASlB,OAAO,IAAImB,aAApB;AAEA,SAASC,QAAT;;AAGA;AACA;AACA;AACA,SAASC,SAAT;AAEA,SAASC,oBAAT;AACA,SAAStB,OAAO,IAAIuB,gBAApB;AACA,SAASvB,OAAO,IAAIwB,SAApB;AAEA,SAASxB,OAAO,IAAIyB,eAApB;AAEA,SAASzB,OAAO,IAAI0B,SAApB;AAEA,SAAS1B,OAAO,IAAI2B,kBAApB;;AAGA;AACA;AACA;AACA,SAASC,KAAT;AAEA,SAAS5B,OAAO,IAAI6B,MAApB;AAEA,SAAS7B,OAAO,IAAI8B,UAApB;AAEA,SAAS9B,OAAO,IAAI+B,IAApB;AAEA,SAAS/B,OAAO,IAAIgC,QAApB;AAEA,SAAShC,OAAO,IAAIiC,UAApB;AAEA,SAASjC,OAAO,IAAIkC,WAApB;AAEA,SAASC,UAAT;AAEA,SAASnC,OAAO,IAAIoC,MAApB;AAEA,SAASpC,OAAO,IAAIqC,KAApB;AAEA,SAASrC,OAAO,IAAIsC,QAApB;AAEA,SAAStC,OAAO,IAAIuC,IAApB;AACA,SAASC,IAAT;AAEA,SAASxC,OAAO,IAAIyC,QAApB;AAEA,SAASzC,OAAO,IAAI0C,UAApB;AAEA,SAASC,cAAT;AAEA,SAASC,MAAT;AAEA,SAAS5C,OAAO,IAAI6C,OAApB;AAEA,SAAS7C,OAAO,IAAI8C,OAApB;AAEA,SAAS9C,OAAO,IAAI+C,MAApB;AAEA,SAASC,UAAT;AAEA,SAASC,cAAT;AAEA,SAASjD,OAAO,IAAIkD,QAApB;AAEA,SAASlD,OAAO,IAAImD,MAApB;AAEA,SAASnD,OAAO,IAAIoD,IAApB;AAEA,SAASpD,OAAO,IAAIqD,QAApB;AAEA,SAASrD,OAAO,IAAIsD,OAApB;AAEA,SAAStD,OAAO,IAAIuD,aAApB;AAEA,SAASvD,OAAO,IAAIwD,IAApB;AAEA,SAASxD,OAAO,IAAIyD,OAApB;AAEA,SAASC,gBAAT;AACA,SAAS1D,OAAO,IAAI2D,OAApB;AAEA,SAAS3D,OAAO,IAAI4D,UAApB;AAEA,SAAS5D,OAAO,IAAI6D,SAApB;AAEA,SAASC,OAAT;AAEA,SAAS9D,OAAO,IAAI+D,WAApB;AAEA,SAAS/D,OAAO,IAAIgE,MAApB;AAEA,SAASC,YAAT;AAEA,SAASC,QAAT;AAEA,SAASC,YAAT;AAEA,SAASC,gBAAT;AAEA,SAASC,mBAAT;;AAGA;AACA;AACA;AACA,SAASrE,OAAO,IAAIsE,UAApB;AAEA,SAASC,QAAT;AAEA,SAASC,SAAT;AAEA,SAASxE,OAAO,IAAIyE,eAApB;AAEA,SAASC,UAAT;AAEA,SAASC,MAAT;AAEA,SAAS3E,OAAO,IAAI4E,IAApB;AAEA,SAAS5E,OAAO,IAAI6E,KAApB;AAEA,SAAS7E,OAAO,IAAI8E,IAApB;AAEA,SAAS9E,OAAO,IAAI+E,UAApB;AAEA,SAAS/E,OAAO,IAAIgF,MAApB;AAEA,SAAShF,OAAO,IAAIiF,WAApB;AAEA,SAASjF,OAAO,IAAIkF,QAApB;AAEA,SAASlF,OAAO,IAAImF,KAApB;AAEA,SAASC,UAAT;AAEA,SAASpF,OAAO,IAAIqF,QAApB;AAEA,SAASrF,OAAO,IAAIsF,MAApB;AAEA,SAAStF,OAAO,IAAIuF,aAApB;AAEA,SAASvF,OAAO,IAAIwF,YAApB;AAEA,SAASxF,OAAO,IAAIyF,YAApB;AAKA,SAASzF,OAAO,IAAI0F,kBAApB;AAEA,SAAS1F,OAAO,IAAI2F,UAApB;AAKA,SAAS3F,OAAO,IAAI4F,YAApB;;AAMA;AACA;AACA;AACA,SAAS5F,OAAO,IAAI6F,GAApB;AAEA,SAAS7F,OAAO,IAAI8F,QAApB;AAEA,SAASC,KAAT;AAEA,SAAS/F,OAAO,IAAIgG,YAApB;AAEA,SAAShG,OAAO,IAAIiG,gBAApB;AACA,SAASjG,OAAO,IAAIkG,eAApB;AACA,SAASlG,OAAO,IAAImG,iBAApB;AACA,SAASnG,OAAO,IAAIoG,eAApB;AAEA,SAASC,aAAT;;AAGA;AACA;AACA;AACA,SAASC,OAAT;AACA,SAAStG,OAAO,IAAIuG,kBAApB;AACA,SAASvG,OAAO,IAAIwG,cAApB;AAEA,SACEC,qBADF,EAEEC,WAFF;AAIA,SAASC,kBAAT;AACA,SAASC,MAAT,EAAiBC,UAAjB;AAEA;AACA;AACA;;AACA,SAAS7G,OAAO,IAAI8G,WAApB;;AAGA;AACA;AACA;AACA,SAAS9G,OAAO,IAAI+G,KAApB;AAEA,SAAS/G,OAAO,IAAIgH,QAApB;AAEA,SAAShH,OAAO,IAAIiH,IAApB;AAEA,SAASjH,OAAO,IAAIkH,OAApB;AAEA,SAASlH,OAAO,IAAImH,OAApB;;AAGA;AACA;AACA;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,SAASC,cAAT;AAEA;AACA;AACA;;AACA,SAASC,SAAT;AACA,SAASC,WAAT;AACA,SAASC,aAAT;AACA,SAASC,aAAT;AAEA;AACA;AACA;;AACA,SAASC,gBAAgB,IAAIC,UAA7B;AACA,SAAS5H,OAAO,IAAI6H,OAApB;AACA,SAASC,gBAAT;AACA,SAASC,UAAT;AACA,SACEC,QADF,EAEEC,OAFF,EAGEC,GAHF,EAIEC,KAJF,EAKEC,QALF,EAMEC,mBANF,EAOEC,eAPF;AASA,SAASC,YAAT;AACA,SACEC,SADF,EAEEC,UAFF,EAGEC,QAHF;AAKA,SAASC,uBAAT;AACA,SAASC,MAAT;AAEA;AACA;AACA","sourcesContent":["import \"./lib/polyfills\";\n\nimport \"./styles/constants.css\";\nimport \"./styles/animations.css\";\nimport \"./styles/common.css\";\n\n/**\n * Layout\n */\nexport { default as Root } from \"./components/Root/Root\";\nexport type { RootProps } from \"./components/Root/Root\";\nexport { default as View } from \"./components/View/View\";\nexport type { ViewProps } from \"./components/View/View\";\nexport { Panel } from \"./components/Panel/Panel\";\nexport type { PanelProps } from \"./components/Panel/Panel\";\nexport { PanelHeaderButton } from \"./components/PanelHeaderButton/PanelHeaderButton\";\nexport type { PanelHeaderButtonProps } from \"./components/PanelHeaderButton/PanelHeaderButton\";\nexport { default as PanelHeader } from \"./components/PanelHeader/PanelHeader\";\nexport type { PanelHeaderProps } from \"./components/PanelHeader/PanelHeader\";\nexport { default as PanelHeaderContent } from \"./components/PanelHeaderContent/PanelHeaderContent\";\nexport type { PanelHeaderContentProps } from \"./components/PanelHeaderContent/PanelHeaderContent\";\nexport { PanelHeaderContext } from \"./components/PanelHeaderContext/PanelHeaderContext\";\nexport type { PanelHeaderContextProps } from \"./components/PanelHeaderContext/PanelHeaderContext\";\nexport { SplitLayout } from \"./components/SplitLayout/SplitLayout\";\nexport type { SplitLayoutProps } from \"./components/SplitLayout/SplitLayout\";\nexport { SplitCol } from \"./components/SplitCol/SplitCol\";\nexport type { SplitColProps } from \"./components/SplitCol/SplitCol\";\nexport { default as Epic } from \"./components/Epic/Epic\";\nexport type { EpicProps } from \"./components/Epic/Epic\";\nexport { default as Tabbar } from \"./components/Tabbar/Tabbar\";\nexport type { TabbarProps } from \"./components/Tabbar/Tabbar\";\nexport { default as TabbarItem } from \"./components/TabbarItem/TabbarItem\";\nexport type { TabbarItemProps } from \"./components/TabbarItem/TabbarItem\";\nexport { default as HorizontalScroll } from \"./components/HorizontalScroll/HorizontalScroll\";\nexport type { HorizontalScrollProps } from \"./components/HorizontalScroll/HorizontalScroll\";\nexport { default as FixedLayout } from \"./components/FixedLayout/FixedLayout\";\nexport type { FixedLayoutProps } from \"./components/FixedLayout/FixedLayout\";\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from \"./components/PopoutWrapper/PopoutWrapper\";\nexport type { PopoutWrapperProps } from \"./components/PopoutWrapper/PopoutWrapper\";\nexport { default as Alert } from \"./components/Alert/Alert\";\nexport type {\n AlertProps,\n AlertActionInterface,\n} from \"./components/Alert/Alert\";\nexport { ActionSheet } from \"./components/ActionSheet/ActionSheet\";\nexport type { ActionSheetProps } from \"./components/ActionSheet/ActionSheet\";\nexport { default as ActionSheetItem } from \"./components/ActionSheetItem/ActionSheetItem\";\nexport type { ActionSheetItemProps } from \"./components/ActionSheetItem/ActionSheetItem\";\nexport { default as ScreenSpinner } from \"./components/ScreenSpinner/ScreenSpinner\";\nexport type { ScreenSpinnerProps } from \"./components/ScreenSpinner/ScreenSpinner\";\nexport { Snackbar } from \"./components/Snackbar/Snackbar\";\nexport type { SnackbarProps } from \"./components/Snackbar/Snackbar\";\n\n/**\n * Modals\n */\nexport { ModalRoot } from \"./components/ModalRoot/ModalRootAdaptive\";\nexport type { ModalRootProps } from \"./components/ModalRoot/ModalRootAdaptive\";\nexport { withModalRootContext } from \"./components/ModalRoot/withModalRootContext\";\nexport { default as ModalRootContext } from \"./components/ModalRoot/ModalRootContext\";\nexport { default as ModalPage } from \"./components/ModalPage/ModalPage\";\nexport type { ModalPageProps } from \"./components/ModalPage/ModalPage\";\nexport { default as ModalPageHeader } from \"./components/ModalPageHeader/ModalPageHeader\";\nexport type { ModalPageHeaderProps } from \"./components/ModalPageHeader/ModalPageHeader\";\nexport { default as ModalCard } from \"./components/ModalCard/ModalCard\";\nexport type { ModalCardProps } from \"./components/ModalCard/ModalCard\";\nexport { default as ModalDismissButton } from \"./components/ModalDismissButton/ModalDismissButton\";\nexport type { ModalDismissButtonProps } from \"./components/ModalDismissButton/ModalDismissButton\";\n\n/**\n * Blocks\n */\nexport { Badge } from \"./components/Badge/Badge\";\nexport type { BadgeProps } from \"./components/Badge/Badge\";\nexport { default as Button } from \"./components/Button/Button\";\nexport type { ButtonProps } from \"./components/Button/Button\";\nexport { default as IconButton } from \"./components/IconButton/IconButton\";\nexport type { IconButtonProps } from \"./components/IconButton/IconButton\";\nexport { default as Card } from \"./components/Card/Card\";\nexport type { CardProps } from \"./components/Card/Card\";\nexport { default as CardGrid } from \"./components/CardGrid/CardGrid\";\nexport type { CardGridProps } from \"./components/CardGrid/CardGrid\";\nexport { default as CardScroll } from \"./components/CardScroll/CardScroll\";\nexport type { CardScrollProps } from \"./components/CardScroll/CardScroll\";\nexport { default as ContentCard } from \"./components/ContentCard/ContentCard\";\nexport type { ContentCardProps } from \"./components/ContentCard/ContentCard\";\nexport { CellButton } from \"./components/CellButton/CellButton\";\nexport type { CellButtonProps } from \"./components/CellButton/CellButton\";\nexport { default as Header } from \"./components/Header/Header\";\nexport type { HeaderProps } from \"./components/Header/Header\";\nexport { default as Group } from \"./components/Group/Group\";\nexport type { GroupProps } from \"./components/Group/Group\";\nexport { default as Gradient } from \"./components/Gradient/Gradient\";\nexport type { GradientProps } from \"./components/Gradient/Gradient\";\nexport { default as List } from \"./components/List/List\";\nexport { Cell } from \"./components/Cell/Cell\";\nexport type { CellProps } from \"./components/Cell/Cell\";\nexport { default as RichCell } from \"./components/RichCell/RichCell\";\nexport type { RichCellProps } from \"./components/RichCell/RichCell\";\nexport { default as SimpleCell } from \"./components/SimpleCell/SimpleCell\";\nexport type { SimpleCellProps } from \"./components/SimpleCell/SimpleCell\";\nexport { HorizontalCell } from \"./components/HorizontalCell/HorizontalCell\";\nexport type { HorizontalCellProps } from \"./components/HorizontalCell/HorizontalCell\";\nexport { Footer } from \"./components/Footer/Footer\";\nexport type { FooterProps } from \"./components/Footer/Footer\";\nexport { default as InfoRow } from \"./components/InfoRow/InfoRow\";\nexport type { InfoRowProps } from \"./components/InfoRow/InfoRow\";\nexport { default as Gallery } from \"./components/Gallery/Gallery\";\nexport type { GalleryProps } from \"./components/Gallery/Gallery\";\nexport { default as Avatar } from \"./components/Avatar/Avatar\";\nexport type { AvatarProps } from \"./components/Avatar/Avatar\";\nexport { GridAvatar } from \"./components/GridAvatar/GridAvatar\";\nexport type { GridAvatarProps } from \"./components/GridAvatar/GridAvatar\";\nexport { InitialsAvatar } from \"./components/InitialsAvatar/InitialsAvatar\";\nexport type { InitialsAvatarProps } from \"./components/InitialsAvatar/InitialsAvatar\";\nexport { default as Progress } from \"./components/Progress/Progress\";\nexport type { ProgressProps } from \"./components/Progress/Progress\";\nexport { default as Search } from \"./components/Search/Search\";\nexport type { SearchProps } from \"./components/Search/Search\";\nexport { default as Tabs } from \"./components/Tabs/Tabs\";\nexport type { TabsProps } from \"./components/Tabs/Tabs\";\nexport { default as TabsItem } from \"./components/TabsItem/TabsItem\";\nexport type { TabsItemProps } from \"./components/TabsItem/TabsItem\";\nexport { default as Spinner } from \"./components/Spinner/Spinner\";\nexport type { SpinnerProps } from \"./components/Spinner/Spinner\";\nexport { default as PullToRefresh } from \"./components/PullToRefresh/PullToRefresh\";\nexport type { PullToRefreshProps } from \"./components/PullToRefresh/PullToRefresh\";\nexport { default as Link } from \"./components/Link/Link\";\nexport type { LinkProps } from \"./components/Link/Link\";\nexport { default as Tooltip } from \"./components/Tooltip/Tooltip\";\nexport type { TooltipProps } from \"./components/Tooltip/Tooltip\";\nexport { TooltipContainer } from \"./components/Tooltip/TooltipContainer\";\nexport { default as Counter } from \"./components/Counter/Counter\";\nexport type { CounterProps } from \"./components/Counter/Counter\";\nexport { default as UsersStack } from \"./components/UsersStack/UsersStack\";\nexport type { UsersStackProps } from \"./components/UsersStack/UsersStack\";\nexport { default as Separator } from \"./components/Separator/Separator\";\nexport type { SeparatorProps } from \"./components/Separator/Separator\";\nexport { Spacing } from \"./components/Spacing/Spacing\";\nexport type { SpacingProps } from \"./components/Spacing/Spacing\";\nexport { default as Placeholder } from \"./components/Placeholder/Placeholder\";\nexport type { PlaceholderProps } from \"./components/Placeholder/Placeholder\";\nexport { default as Banner } from \"./components/Banner/Banner\";\nexport type { BannerProps } from \"./components/Banner/Banner\";\nexport { MiniInfoCell } from \"./components/MiniInfoCell/MiniInfoCell\";\nexport type { MiniInfoCellProps } from \"./components/MiniInfoCell/MiniInfoCell\";\nexport { WriteBar } from \"./components/WriteBar/WriteBar\";\nexport type { WriteBarProps } from \"./components/WriteBar/WriteBar\";\nexport { WriteBarIcon } from \"./components/WriteBarIcon/WriteBarIcon\";\nexport type { WriteBarIconProps } from \"./components/WriteBarIcon/WriteBarIcon\";\nexport { SubnavigationBar } from \"./components/SubnavigationBar/SubnavigationBar\";\nexport type { SubnavigationBarProps } from \"./components/SubnavigationBar/SubnavigationBar\";\nexport { SubnavigationButton } from \"./components/SubnavigationButton/SubnavigationButton\";\nexport type { SubnavigationButtonProps } from \"./components/SubnavigationButton/SubnavigationButton\";\n\n/**\n * Forms\n */\nexport { default as FormLayout } from \"./components/FormLayout/FormLayout\";\nexport type { FormLayoutProps } from \"./components/FormLayout/FormLayout\";\nexport { FormItem } from \"./components/FormItem/FormItem\";\nexport type { FormItemProps } from \"./components/FormItem/FormItem\";\nexport { FormField } from \"./components/FormField/FormField\";\nexport type { FormFieldProps } from \"./components/FormField/FormField\";\nexport { default as FormLayoutGroup } from \"./components/FormLayoutGroup/FormLayoutGroup\";\nexport type { FormLayoutGroupProps } from \"./components/FormLayoutGroup/FormLayoutGroup\";\nexport { FormStatus } from \"./components/FormStatus/FormStatus\";\nexport type { FormStatusProps } from \"./components/FormStatus/FormStatus\";\nexport { Switch } from \"./components/Switch/Switch\";\nexport type { SwitchProps } from \"./components/Switch/Switch\";\nexport { default as File } from \"./components/File/File\";\nexport type { FileProps } from \"./components/File/File\";\nexport { default as Input } from \"./components/Input/Input\";\nexport type { InputProps } from \"./components/Input/Input\";\nexport { default as Chip } from \"./components/Chip/Chip\";\nexport type { ChipProps } from \"./components/Chip/Chip\";\nexport { default as ChipsInput } from \"./components/ChipsInput/ChipsInput\";\nexport type { ChipsInputProps } from \"./components/ChipsInput/ChipsInput\";\nexport { default as Slider } from \"./components/Slider/Slider\";\nexport type { SliderProps } from \"./components/Slider/Slider\";\nexport { default as RangeSlider } from \"./components/RangeSlider/RangeSlider\";\nexport type { RangeSliderProps } from \"./components/RangeSlider/RangeSlider\";\nexport { default as Textarea } from \"./components/Textarea/Textarea\";\nexport type { TextareaProps } from \"./components/Textarea/Textarea\";\nexport { default as Radio } from \"./components/Radio/Radio\";\nexport type { RadioProps } from \"./components/Radio/Radio\";\nexport { RadioGroup } from \"./components/RadioGroup/RadioGroup\";\nexport type { RadioGroupProps } from \"./components/RadioGroup/RadioGroup\";\nexport { default as Checkbox } from \"./components/Checkbox/Checkbox\";\nexport type { CheckboxProps } from \"./components/Checkbox/Checkbox\";\nexport { default as Select } from \"./components/Select/Select\";\nexport type { SelectProps } from \"./components/Select/Select\";\nexport { default as SelectMimicry } from \"./components/SelectMimicry/SelectMimicry\";\nexport type { SelectMimicryProps } from \"./components/SelectMimicry/SelectMimicry\";\nexport { default as NativeSelect } from \"./components/NativeSelect/NativeSelect\";\nexport type { NativeSelectProps } from \"./components/NativeSelect/NativeSelect\";\nexport { default as CustomSelect } from \"./components/CustomSelect/CustomSelect\";\nexport type {\n CustomSelectProps,\n CustomSelectOptionInterface,\n} from \"./components/CustomSelect/CustomSelect\";\nexport { default as CustomSelectOption } from \"./components/CustomSelectOption/CustomSelectOption\";\nexport type { CustomSelectOptionProps } from \"./components/CustomSelectOption/CustomSelectOption\";\nexport { default as DatePicker } from \"./components/DatePicker/DatePicker\";\nexport type {\n DatePickerProps,\n DatePickerDateFormat,\n} from \"./components/DatePicker/DatePicker\";\nexport { default as SliderSwitch } from \"./components/SliderSwitch/SliderSwitch\";\nexport type {\n SliderSwitchProps,\n SliderSwitchOptionInterface,\n} from \"./components/SliderSwitch/SliderSwitch\";\n\n/**\n * Helpers\n */\nexport { default as Div } from \"./components/Div/Div\";\nexport type { DivProps } from \"./components/Div/Div\";\nexport { default as Tappable } from \"./components/Tappable/Tappable\";\nexport type { TappableProps } from \"./components/Tappable/Tappable\";\nexport { Touch } from \"./components/Touch/Touch\";\nexport type { TouchProps } from \"./components/Touch/Touch\";\nexport { default as PanelSpinner } from \"./components/PanelSpinner/PanelSpinner\";\nexport type { PanelSpinnerProps } from \"./components/PanelSpinner/PanelSpinner\";\nexport { default as PanelHeaderClose } from \"./components/PanelHeaderClose/PanelHeaderClose\";\nexport { default as PanelHeaderBack } from \"./components/PanelHeaderBack/PanelHeaderBack\";\nexport { default as PanelHeaderSubmit } from \"./components/PanelHeaderSubmit/PanelHeaderSubmit\";\nexport { default as PanelHeaderEdit } from \"./components/PanelHeaderEdit/PanelHeaderEdit\";\nexport type { PanelHeaderEditProps } from \"./components/PanelHeaderEdit/PanelHeaderEdit\";\nexport { ModalCardBase } from \"./components/ModalCardBase/ModalCardBase\";\nexport type { ModalCardBaseProps } from \"./components/ModalCardBase/ModalCardBase\";\n\n/**\n * Wrappers\n */\nexport { AppRoot } from \"./components/AppRoot/AppRoot\";\nexport { default as AdaptivityProvider } from \"./components/AdaptivityProvider/AdaptivityProvider\";\nexport { default as ConfigProvider } from \"./components/ConfigProvider/ConfigProvider\";\nexport type { ConfigProviderProps } from \"./components/ConfigProvider/ConfigProvider\";\nexport {\n ConfigProviderContext,\n WebviewType,\n} from \"./components/ConfigProvider/ConfigProviderContext\";\nexport { AppearanceProvider } from \"./components/AppearanceProvider/AppearanceProvider\";\nexport { Scheme, Appearance } from \"./helpers/scheme\";\n\n/**\n * Advertisement\n */\nexport { default as PromoBanner } from \"./components/PromoBanner/PromoBanner\";\nexport type { PromoBannerProps } from \"./components/PromoBanner/PromoBanner\";\n\n/**\n * Typography\n */\nexport { default as Title } from \"./components/Typography/Title/Title\";\nexport type { TitleProps } from \"./components/Typography/Title/Title\";\nexport { default as Headline } from \"./components/Typography/Headline/Headline\";\nexport type { HeadlineProps } from \"./components/Typography/Headline/Headline\";\nexport { default as Text } from \"./components/Typography/Text/Text\";\nexport type { TextProps } from \"./components/Typography/Text/Text\";\nexport { default as Caption } from \"./components/Typography/Caption/Caption\";\nexport type { CaptionProps } from \"./components/Typography/Caption/Caption\";\nexport { default as Subhead } from \"./components/Typography/Subhead/Subhead\";\nexport type { SubheadProps } from \"./components/Typography/Subhead/Subhead\";\n\n/**\n * HOCs\n */\nexport { withInsets } from \"./hoc/withInsets\";\nexport { withPlatform } from \"./hoc/withPlatform\";\nexport { withAdaptivity } from \"./hoc/withAdaptivity\";\n\n/**\n * Hooks\n */\nexport { useInsets } from \"./hooks/useInsets\";\nexport { usePlatform } from \"./hooks/usePlatform\";\nexport { useAdaptivity } from \"./hooks/useAdaptivity\";\nexport { useAppearance } from \"./hooks/useAppearance\";\n\n/**\n * Utils\n */\nexport { classNamesString as classNames } from \"./lib/classNames\";\nexport { default as animate } from \"./lib/animate\";\nexport { removeObjectKeys } from \"./lib/removeObjectKeys\";\nexport { SSRWrapper } from \"./lib/SSR\";\nexport {\n platform,\n ANDROID,\n IOS,\n VKCOM,\n Platform,\n IS_PLATFORM_ANDROID,\n IS_PLATFORM_IOS,\n} from \"./lib/platform\";\nexport { getClassName } from \"./helpers/getClassName\";\nexport {\n ViewWidth,\n ViewHeight,\n SizeType,\n} from \"./components/AdaptivityProvider/AdaptivityContext\";\nexport { calcInitialsAvatarColor } from \"./helpers/avatar\";\nexport { Popper } from \"./components/Popper/Popper\";\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasInsets } from \"./types\";\nexport type { NavIdProps } from \"./lib/getNavId\";\nexport type { PlatformType } from \"./lib/platform\";\nexport type { AdaptivityProps } from \"./hoc/withAdaptivity\";\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/index.ts"],"names":["default","Root","View","Panel","PanelHeaderButton","PanelHeader","PanelHeaderContent","PanelHeaderContext","SplitLayout","SplitCol","Epic","Tabbar","TabbarItem","HorizontalScroll","FixedLayout","PopoutWrapper","Alert","ActionSheet","ActionSheetItem","ScreenSpinner","Snackbar","ModalRoot","withModalRootContext","ModalRootContext","ModalPage","ModalPageHeader","ModalCard","ModalDismissButton","Badge","Button","IconButton","Card","CardGrid","CardScroll","ContentCard","CellButton","Header","Group","Gradient","List","Cell","RichCell","SimpleCell","HorizontalCell","Footer","InfoRow","Gallery","Avatar","GridAvatar","InitialsAvatar","Progress","Search","Tabs","TabsItem","Spinner","PullToRefresh","Link","Tooltip","TooltipContainer","Counter","UsersStack","Separator","Spacing","Placeholder","Banner","MiniInfoCell","WriteBar","WriteBarIcon","SubnavigationBar","SubnavigationButton","FormLayout","FormItem","FormField","FormLayoutGroup","FormStatus","Switch","File","Input","Chip","ChipsInput","Slider","RangeSlider","Textarea","Radio","RadioGroup","Checkbox","Select","SelectMimicry","NativeSelect","CustomSelect","CustomSelectOption","DatePicker","SliderSwitch","Div","Tappable","Touch","PanelSpinner","PanelHeaderClose","PanelHeaderBack","PanelHeaderSubmit","PanelHeaderEdit","ModalCardBase","AppRoot","AdaptivityProvider","ConfigProvider","ConfigProviderContext","WebviewType","AppearanceProvider","Scheme","Appearance","PromoBanner","Title","Headline","Text","Caption","Subhead","withInsets","withPlatform","withAdaptivity","useInsets","usePlatform","useAdaptivity","useAppearance","classNamesString","classNames","animate","removeObjectKeys","SSRWrapper","platform","ANDROID","IOS","VKCOM","Platform","IS_PLATFORM_ANDROID","IS_PLATFORM_IOS","getClassName","ViewWidth","ViewHeight","SizeType","calcInitialsAvatarColor","Popper"],"mappings":"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","sourcesContent":["import \"./lib/polyfills\";\n\nimport \"./styles/constants.css\";\nimport \"./styles/animations.css\";\nimport \"./styles/common.css\";\n\n/**\n * Layout\n */\nexport { default as Root } from \"./components/Root/Root\";\nexport type { RootProps } from \"./components/Root/Root\";\nexport { default as View } from \"./components/View/View\";\nexport type { ViewProps } from \"./components/View/View\";\nexport { Panel } from \"./components/Panel/Panel\";\nexport type { PanelProps } from \"./components/Panel/Panel\";\nexport { PanelHeaderButton } from \"./components/PanelHeaderButton/PanelHeaderButton\";\nexport type { PanelHeaderButtonProps } from \"./components/PanelHeaderButton/PanelHeaderButton\";\nexport { default as PanelHeader } from \"./components/PanelHeader/PanelHeader\";\nexport type { PanelHeaderProps } from \"./components/PanelHeader/PanelHeader\";\nexport { default as PanelHeaderContent } from \"./components/PanelHeaderContent/PanelHeaderContent\";\nexport type { PanelHeaderContentProps } from \"./components/PanelHeaderContent/PanelHeaderContent\";\nexport { PanelHeaderContext } from \"./components/PanelHeaderContext/PanelHeaderContext\";\nexport type { PanelHeaderContextProps } from \"./components/PanelHeaderContext/PanelHeaderContext\";\nexport { SplitLayout } from \"./components/SplitLayout/SplitLayout\";\nexport type { SplitLayoutProps } from \"./components/SplitLayout/SplitLayout\";\nexport { SplitCol } from \"./components/SplitCol/SplitCol\";\nexport type { SplitColProps } from \"./components/SplitCol/SplitCol\";\nexport { default as Epic } from \"./components/Epic/Epic\";\nexport type { EpicProps } from \"./components/Epic/Epic\";\nexport { default as Tabbar } from \"./components/Tabbar/Tabbar\";\nexport type { TabbarProps } from \"./components/Tabbar/Tabbar\";\nexport { default as TabbarItem } from \"./components/TabbarItem/TabbarItem\";\nexport type { TabbarItemProps } from \"./components/TabbarItem/TabbarItem\";\nexport { default as HorizontalScroll } from \"./components/HorizontalScroll/HorizontalScroll\";\nexport type { HorizontalScrollProps } from \"./components/HorizontalScroll/HorizontalScroll\";\nexport { default as FixedLayout } from \"./components/FixedLayout/FixedLayout\";\nexport type { FixedLayoutProps } from \"./components/FixedLayout/FixedLayout\";\n\n/**\n * Popouts\n */\nexport { PopoutWrapper } from \"./components/PopoutWrapper/PopoutWrapper\";\nexport type { PopoutWrapperProps } from \"./components/PopoutWrapper/PopoutWrapper\";\nexport { Alert } from \"./components/Alert/Alert\";\nexport type {\n AlertProps,\n AlertActionInterface,\n} from \"./components/Alert/Alert\";\nexport { ActionSheet } from \"./components/ActionSheet/ActionSheet\";\nexport type { ActionSheetProps } from \"./components/ActionSheet/ActionSheet\";\nexport { ActionSheetItem } from \"./components/ActionSheetItem/ActionSheetItem\";\nexport type { ActionSheetItemProps } from \"./components/ActionSheetItem/ActionSheetItem\";\nexport { default as ScreenSpinner } from \"./components/ScreenSpinner/ScreenSpinner\";\nexport type { ScreenSpinnerProps } from \"./components/ScreenSpinner/ScreenSpinner\";\nexport { Snackbar } from \"./components/Snackbar/Snackbar\";\nexport type { SnackbarProps } from \"./components/Snackbar/Snackbar\";\n\n/**\n * Modals\n */\nexport { ModalRoot } from \"./components/ModalRoot/ModalRootAdaptive\";\nexport type { ModalRootProps } from \"./components/ModalRoot/ModalRootAdaptive\";\nexport { withModalRootContext } from \"./components/ModalRoot/withModalRootContext\";\nexport { default as ModalRootContext } from \"./components/ModalRoot/ModalRootContext\";\nexport { default as ModalPage } from \"./components/ModalPage/ModalPage\";\nexport type { ModalPageProps } from \"./components/ModalPage/ModalPage\";\nexport { default as ModalPageHeader } from \"./components/ModalPageHeader/ModalPageHeader\";\nexport type { ModalPageHeaderProps } from \"./components/ModalPageHeader/ModalPageHeader\";\nexport { default as ModalCard } from \"./components/ModalCard/ModalCard\";\nexport type { ModalCardProps } from \"./components/ModalCard/ModalCard\";\nexport { default as ModalDismissButton } from \"./components/ModalDismissButton/ModalDismissButton\";\nexport type { ModalDismissButtonProps } from \"./components/ModalDismissButton/ModalDismissButton\";\n\n/**\n * Blocks\n */\nexport { Badge } from \"./components/Badge/Badge\";\nexport type { BadgeProps } from \"./components/Badge/Badge\";\nexport { default as Button } from \"./components/Button/Button\";\nexport type { ButtonProps } from \"./components/Button/Button\";\nexport { default as IconButton } from \"./components/IconButton/IconButton\";\nexport type { IconButtonProps } from \"./components/IconButton/IconButton\";\nexport { default as Card } from \"./components/Card/Card\";\nexport type { CardProps } from \"./components/Card/Card\";\nexport { default as CardGrid } from \"./components/CardGrid/CardGrid\";\nexport type { CardGridProps } from \"./components/CardGrid/CardGrid\";\nexport { default as CardScroll } from \"./components/CardScroll/CardScroll\";\nexport type { CardScrollProps } from \"./components/CardScroll/CardScroll\";\nexport { default as ContentCard } from \"./components/ContentCard/ContentCard\";\nexport type { ContentCardProps } from \"./components/ContentCard/ContentCard\";\nexport { CellButton } from \"./components/CellButton/CellButton\";\nexport type { CellButtonProps } from \"./components/CellButton/CellButton\";\nexport { default as Header } from \"./components/Header/Header\";\nexport type { HeaderProps } from \"./components/Header/Header\";\nexport { default as Group } from \"./components/Group/Group\";\nexport type { GroupProps } from \"./components/Group/Group\";\nexport { default as Gradient } from \"./components/Gradient/Gradient\";\nexport type { GradientProps } from \"./components/Gradient/Gradient\";\nexport { default as List } from \"./components/List/List\";\nexport { Cell } from \"./components/Cell/Cell\";\nexport type { CellProps } from \"./components/Cell/Cell\";\nexport { default as RichCell } from \"./components/RichCell/RichCell\";\nexport type { RichCellProps } from \"./components/RichCell/RichCell\";\nexport { default as SimpleCell } from \"./components/SimpleCell/SimpleCell\";\nexport type { SimpleCellProps } from \"./components/SimpleCell/SimpleCell\";\nexport { HorizontalCell } from \"./components/HorizontalCell/HorizontalCell\";\nexport type { HorizontalCellProps } from \"./components/HorizontalCell/HorizontalCell\";\nexport { Footer } from \"./components/Footer/Footer\";\nexport type { FooterProps } from \"./components/Footer/Footer\";\nexport { default as InfoRow } from \"./components/InfoRow/InfoRow\";\nexport type { InfoRowProps } from \"./components/InfoRow/InfoRow\";\nexport { default as Gallery } from \"./components/Gallery/Gallery\";\nexport type { GalleryProps } from \"./components/Gallery/Gallery\";\nexport { default as Avatar } from \"./components/Avatar/Avatar\";\nexport type { AvatarProps } from \"./components/Avatar/Avatar\";\nexport { GridAvatar } from \"./components/GridAvatar/GridAvatar\";\nexport type { GridAvatarProps } from \"./components/GridAvatar/GridAvatar\";\nexport { InitialsAvatar } from \"./components/InitialsAvatar/InitialsAvatar\";\nexport type { InitialsAvatarProps } from \"./components/InitialsAvatar/InitialsAvatar\";\nexport { default as Progress } from \"./components/Progress/Progress\";\nexport type { ProgressProps } from \"./components/Progress/Progress\";\nexport { default as Search } from \"./components/Search/Search\";\nexport type { SearchProps } from \"./components/Search/Search\";\nexport { default as Tabs } from \"./components/Tabs/Tabs\";\nexport type { TabsProps } from \"./components/Tabs/Tabs\";\nexport { default as TabsItem } from \"./components/TabsItem/TabsItem\";\nexport type { TabsItemProps } from \"./components/TabsItem/TabsItem\";\nexport { default as Spinner } from \"./components/Spinner/Spinner\";\nexport type { SpinnerProps } from \"./components/Spinner/Spinner\";\nexport { default as PullToRefresh } from \"./components/PullToRefresh/PullToRefresh\";\nexport type { PullToRefreshProps } from \"./components/PullToRefresh/PullToRefresh\";\nexport { default as Link } from \"./components/Link/Link\";\nexport type { LinkProps } from \"./components/Link/Link\";\nexport { default as Tooltip } from \"./components/Tooltip/Tooltip\";\nexport type { TooltipProps } from \"./components/Tooltip/Tooltip\";\nexport { TooltipContainer } from \"./components/Tooltip/TooltipContainer\";\nexport { default as Counter } from \"./components/Counter/Counter\";\nexport type { CounterProps } from \"./components/Counter/Counter\";\nexport { default as UsersStack } from \"./components/UsersStack/UsersStack\";\nexport type { UsersStackProps } from \"./components/UsersStack/UsersStack\";\nexport { default as Separator } from \"./components/Separator/Separator\";\nexport type { SeparatorProps } from \"./components/Separator/Separator\";\nexport { Spacing } from \"./components/Spacing/Spacing\";\nexport type { SpacingProps } from \"./components/Spacing/Spacing\";\nexport { default as Placeholder } from \"./components/Placeholder/Placeholder\";\nexport type { PlaceholderProps } from \"./components/Placeholder/Placeholder\";\nexport { default as Banner } from \"./components/Banner/Banner\";\nexport type { BannerProps } from \"./components/Banner/Banner\";\nexport { MiniInfoCell } from \"./components/MiniInfoCell/MiniInfoCell\";\nexport type { MiniInfoCellProps } from \"./components/MiniInfoCell/MiniInfoCell\";\nexport { WriteBar } from \"./components/WriteBar/WriteBar\";\nexport type { WriteBarProps } from \"./components/WriteBar/WriteBar\";\nexport { WriteBarIcon } from \"./components/WriteBarIcon/WriteBarIcon\";\nexport type { WriteBarIconProps } from \"./components/WriteBarIcon/WriteBarIcon\";\nexport { SubnavigationBar } from \"./components/SubnavigationBar/SubnavigationBar\";\nexport type { SubnavigationBarProps } from \"./components/SubnavigationBar/SubnavigationBar\";\nexport { SubnavigationButton } from \"./components/SubnavigationButton/SubnavigationButton\";\nexport type { SubnavigationButtonProps } from \"./components/SubnavigationButton/SubnavigationButton\";\n\n/**\n * Forms\n */\nexport { default as FormLayout } from \"./components/FormLayout/FormLayout\";\nexport type { FormLayoutProps } from \"./components/FormLayout/FormLayout\";\nexport { FormItem } from \"./components/FormItem/FormItem\";\nexport type { FormItemProps } from \"./components/FormItem/FormItem\";\nexport { FormField } from \"./components/FormField/FormField\";\nexport type { FormFieldProps } from \"./components/FormField/FormField\";\nexport { default as FormLayoutGroup } from \"./components/FormLayoutGroup/FormLayoutGroup\";\nexport type { FormLayoutGroupProps } from \"./components/FormLayoutGroup/FormLayoutGroup\";\nexport { FormStatus } from \"./components/FormStatus/FormStatus\";\nexport type { FormStatusProps } from \"./components/FormStatus/FormStatus\";\nexport { Switch } from \"./components/Switch/Switch\";\nexport type { SwitchProps } from \"./components/Switch/Switch\";\nexport { default as File } from \"./components/File/File\";\nexport type { FileProps } from \"./components/File/File\";\nexport { default as Input } from \"./components/Input/Input\";\nexport type { InputProps } from \"./components/Input/Input\";\nexport { default as Chip } from \"./components/Chip/Chip\";\nexport type { ChipProps } from \"./components/Chip/Chip\";\nexport { default as ChipsInput } from \"./components/ChipsInput/ChipsInput\";\nexport type { ChipsInputProps } from \"./components/ChipsInput/ChipsInput\";\nexport { default as Slider } from \"./components/Slider/Slider\";\nexport type { SliderProps } from \"./components/Slider/Slider\";\nexport { default as RangeSlider } from \"./components/RangeSlider/RangeSlider\";\nexport type { RangeSliderProps } from \"./components/RangeSlider/RangeSlider\";\nexport { default as Textarea } from \"./components/Textarea/Textarea\";\nexport type { TextareaProps } from \"./components/Textarea/Textarea\";\nexport { default as Radio } from \"./components/Radio/Radio\";\nexport type { RadioProps } from \"./components/Radio/Radio\";\nexport { RadioGroup } from \"./components/RadioGroup/RadioGroup\";\nexport type { RadioGroupProps } from \"./components/RadioGroup/RadioGroup\";\nexport { default as Checkbox } from \"./components/Checkbox/Checkbox\";\nexport type { CheckboxProps } from \"./components/Checkbox/Checkbox\";\nexport { default as Select } from \"./components/Select/Select\";\nexport type { SelectProps } from \"./components/Select/Select\";\nexport { default as SelectMimicry } from \"./components/SelectMimicry/SelectMimicry\";\nexport type { SelectMimicryProps } from \"./components/SelectMimicry/SelectMimicry\";\nexport { default as NativeSelect } from \"./components/NativeSelect/NativeSelect\";\nexport type { NativeSelectProps } from \"./components/NativeSelect/NativeSelect\";\nexport { default as CustomSelect } from \"./components/CustomSelect/CustomSelect\";\nexport type {\n CustomSelectProps,\n CustomSelectOptionInterface,\n} from \"./components/CustomSelect/CustomSelect\";\nexport { default as CustomSelectOption } from \"./components/CustomSelectOption/CustomSelectOption\";\nexport type { CustomSelectOptionProps } from \"./components/CustomSelectOption/CustomSelectOption\";\nexport { default as DatePicker } from \"./components/DatePicker/DatePicker\";\nexport type {\n DatePickerProps,\n DatePickerDateFormat,\n} from \"./components/DatePicker/DatePicker\";\nexport { default as SliderSwitch } from \"./components/SliderSwitch/SliderSwitch\";\nexport type {\n SliderSwitchProps,\n SliderSwitchOptionInterface,\n} from \"./components/SliderSwitch/SliderSwitch\";\n\n/**\n * Helpers\n */\nexport { default as Div } from \"./components/Div/Div\";\nexport type { DivProps } from \"./components/Div/Div\";\nexport { default as Tappable } from \"./components/Tappable/Tappable\";\nexport type { TappableProps } from \"./components/Tappable/Tappable\";\nexport { Touch } from \"./components/Touch/Touch\";\nexport type { TouchProps } from \"./components/Touch/Touch\";\nexport { default as PanelSpinner } from \"./components/PanelSpinner/PanelSpinner\";\nexport type { PanelSpinnerProps } from \"./components/PanelSpinner/PanelSpinner\";\nexport { default as PanelHeaderClose } from \"./components/PanelHeaderClose/PanelHeaderClose\";\nexport { default as PanelHeaderBack } from \"./components/PanelHeaderBack/PanelHeaderBack\";\nexport { default as PanelHeaderSubmit } from \"./components/PanelHeaderSubmit/PanelHeaderSubmit\";\nexport { default as PanelHeaderEdit } from \"./components/PanelHeaderEdit/PanelHeaderEdit\";\nexport type { PanelHeaderEditProps } from \"./components/PanelHeaderEdit/PanelHeaderEdit\";\nexport { ModalCardBase } from \"./components/ModalCardBase/ModalCardBase\";\nexport type { ModalCardBaseProps } from \"./components/ModalCardBase/ModalCardBase\";\n\n/**\n * Wrappers\n */\nexport { AppRoot } from \"./components/AppRoot/AppRoot\";\nexport { AdaptivityProvider } from \"./components/AdaptivityProvider/AdaptivityProvider\";\nexport { default as ConfigProvider } from \"./components/ConfigProvider/ConfigProvider\";\nexport type { ConfigProviderProps } from \"./components/ConfigProvider/ConfigProvider\";\nexport {\n ConfigProviderContext,\n WebviewType,\n} from \"./components/ConfigProvider/ConfigProviderContext\";\nexport { AppearanceProvider } from \"./components/AppearanceProvider/AppearanceProvider\";\nexport { Scheme, Appearance } from \"./helpers/scheme\";\n\n/**\n * Advertisement\n */\nexport { default as PromoBanner } from \"./components/PromoBanner/PromoBanner\";\nexport type { PromoBannerProps } from \"./components/PromoBanner/PromoBanner\";\n\n/**\n * Typography\n */\nexport { default as Title } from \"./components/Typography/Title/Title\";\nexport type { TitleProps } from \"./components/Typography/Title/Title\";\nexport { default as Headline } from \"./components/Typography/Headline/Headline\";\nexport type { HeadlineProps } from \"./components/Typography/Headline/Headline\";\nexport { default as Text } from \"./components/Typography/Text/Text\";\nexport type { TextProps } from \"./components/Typography/Text/Text\";\nexport { default as Caption } from \"./components/Typography/Caption/Caption\";\nexport type { CaptionProps } from \"./components/Typography/Caption/Caption\";\nexport { default as Subhead } from \"./components/Typography/Subhead/Subhead\";\nexport type { SubheadProps } from \"./components/Typography/Subhead/Subhead\";\n\n/**\n * HOCs\n */\nexport { withInsets } from \"./hoc/withInsets\";\nexport { withPlatform } from \"./hoc/withPlatform\";\nexport { withAdaptivity } from \"./hoc/withAdaptivity\";\n\n/**\n * Hooks\n */\nexport { useInsets } from \"./hooks/useInsets\";\nexport { usePlatform } from \"./hooks/usePlatform\";\nexport { useAdaptivity } from \"./hooks/useAdaptivity\";\nexport { useAppearance } from \"./hooks/useAppearance\";\n\n/**\n * Utils\n */\nexport { classNamesString as classNames } from \"./lib/classNames\";\nexport { default as animate } from \"./lib/animate\";\nexport { removeObjectKeys } from \"./lib/removeObjectKeys\";\nexport { SSRWrapper } from \"./lib/SSR\";\nexport {\n platform,\n ANDROID,\n IOS,\n VKCOM,\n Platform,\n IS_PLATFORM_ANDROID,\n IS_PLATFORM_IOS,\n} from \"./lib/platform\";\nexport { getClassName } from \"./helpers/getClassName\";\nexport {\n ViewWidth,\n ViewHeight,\n SizeType,\n} from \"./components/AdaptivityProvider/AdaptivityContext\";\nexport { calcInitialsAvatarColor } from \"./helpers/avatar\";\nexport { Popper } from \"./components/Popper/Popper\";\n\n/**\n * Types\n */\nexport type { AlignType, HasPlatform, HasInsets } from \"./types\";\nexport type { NavIdProps } from \"./lib/getNavId\";\nexport type { PlatformType } from \"./lib/platform\";\nexport type { AdaptivityProps } from \"./hoc/withAdaptivity\";\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/platform.ts"],"names":["computeBrowserInfo","Platform","ANDROID","IOS","VKCOM","platform","browserInfo","system","platformName","IS_PLATFORM_IOS","IS_PLATFORM_ANDROID"],"mappings":"AAAA,SAAsBA,kBAAtB;AAEA,WAAYC,QAAZ;;WAAYA,Q;AAAAA,EAAAA,Q;AAAAA,EAAAA,Q;AAAAA,EAAAA,Q;GAAAA,Q,KAAAA,Q;;AAMZ,OAAO,IAAMC,OAAO,GAAGD,QAAQ,CAACC,OAAzB;AACP,OAAO,IAAMC,GAAG,GAAGF,QAAQ,CAACE,GAArB;AACP,OAAO,IAAMC,KAAK,GAAGH,QAAQ,CAACG,KAAvB;AAIP,OAAO,SAASC,QAAT,CAAkBC,WAAlB,EAA2D;AAChE,MAAI,CAACA,WAAL,EAAkB;AAChBA,IAAAA,WAAW,GAAGN,kBAAkB,EAAhC;AACD;;AAED,SAAOM,WAAW,CAACC,MAAZ,KAAuB,KAAvB,GAA+BJ,GAA/B,GAAqCD,OAA5C;AACD;AAED,IAAMM,YAAY,GAAGH,QAAQ,EAA7B;AAEA;AACA;AACA;;AACA,OAAO,IAAMI,eAAwB,GAAGD,YAAY,KAAKL,GAAlD;AACP;AACA;AACA;;AACA,OAAO,IAAMO,mBAA4B,GAAGF,YAAY,KAAKN,OAAtD","sourcesContent":["import { BrowserInfo, computeBrowserInfo } from \"./browser\";\n\nexport enum Platform {\n ANDROID = \"android\",\n IOS = \"ios\",\n VKCOM = \"vkcom\",\n}\n\nexport const ANDROID = Platform.ANDROID;\nexport const IOS = Platform.IOS;\nexport const VKCOM = Platform.VKCOM;\n\nexport type PlatformType = Platform.ANDROID | Platform.IOS | Platform.VKCOM;\n\nexport function platform(browserInfo?: BrowserInfo): PlatformType {\n if (!browserInfo) {\n browserInfo = computeBrowserInfo();\n }\n\n return browserInfo.system === \"ios\" ? IOS : ANDROID;\n}\n\nconst platformName = platform();\n\n/**\n * @deprecated для определения платформы используйте withPlatform или usePlatform\n */\nexport const IS_PLATFORM_IOS: boolean = platformName === IOS;\n/**\n * @deprecated для определения платформы используйте withPlatform или usePlatform\n */\nexport const IS_PLATFORM_ANDROID: boolean = platformName === ANDROID;\n"],"file":"platform.js"}
1
+ {"version":3,"sources":["../../../src/lib/platform.ts"],"names":["computeBrowserInfo","Platform","ANDROID","IOS","VKCOM","platform","browserInfo","system","platformName","IS_PLATFORM_IOS","IS_PLATFORM_ANDROID"],"mappings":"AAAA,SAAsBA,kBAAtB;AAEA,WAAYC,QAAZ;;WAAYA,Q;AAAAA,EAAAA,Q;AAAAA,EAAAA,Q;AAAAA,EAAAA,Q;GAAAA,Q,KAAAA,Q;;AAMZ,OAAO,IAAMC,OAAO,GAAGD,QAAQ,CAACC,OAAzB;AACP,OAAO,IAAMC,GAAG,GAAGF,QAAQ,CAACE,GAArB;AACP,OAAO,IAAMC,KAAK,GAAGH,QAAQ,CAACG,KAAvB;AAQP,OAAO,SAASC,QAAT,CAAkBC,WAAlB,EAA2D;AAChE,MAAI,CAACA,WAAL,EAAkB;AAChBA,IAAAA,WAAW,GAAGN,kBAAkB,EAAhC;AACD;;AAED,SAAOM,WAAW,CAACC,MAAZ,KAAuB,KAAvB,GAA+BJ,GAA/B,GAAqCD,OAA5C;AACD;AAED,IAAMM,YAAY,GAAGH,QAAQ,EAA7B;AAEA;AACA;AACA;;AACA,OAAO,IAAMI,eAAwB,GAAGD,YAAY,KAAKL,GAAlD;AACP;AACA;AACA;;AACA,OAAO,IAAMO,mBAA4B,GAAGF,YAAY,KAAKN,OAAtD","sourcesContent":["import { BrowserInfo, computeBrowserInfo } from \"./browser\";\n\nexport enum Platform {\n ANDROID = \"android\",\n IOS = \"ios\",\n VKCOM = \"vkcom\",\n}\n\nexport const ANDROID = Platform.ANDROID;\nexport const IOS = Platform.IOS;\nexport const VKCOM = Platform.VKCOM;\n\nexport type PlatformType =\n | Platform.ANDROID\n | Platform.IOS\n | Platform.VKCOM\n | string;\n\nexport function platform(browserInfo?: BrowserInfo): PlatformType {\n if (!browserInfo) {\n browserInfo = computeBrowserInfo();\n }\n\n return browserInfo.system === \"ios\" ? IOS : ANDROID;\n}\n\nconst platformName = platform();\n\n/**\n * @deprecated для определения платформы используйте withPlatform или usePlatform\n */\nexport const IS_PLATFORM_IOS: boolean = platformName === IOS;\n/**\n * @deprecated для определения платформы используйте withPlatform или usePlatform\n */\nexport const IS_PLATFORM_ANDROID: boolean = platformName === ANDROID;\n"],"file":"platform.js"}