@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.
- package/.cache/.eslintcache +1 -1
- package/.cache/.stylelintcache +1 -1
- package/.cache/.tsbuildinfo +89 -55
- package/.cache/ts/src/components/ActionSheetItem/ActionSheetItem.d.ts +2 -2
- package/.cache/ts/src/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
- package/.cache/ts/src/components/Alert/Alert.d.ts +2 -2
- package/.cache/ts/src/components/AppRoot/AppRoot.d.ts +0 -1
- package/.cache/ts/src/components/CardScroll/CardScroll.d.ts +9 -2
- package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +1 -1
- package/.cache/ts/src/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
- package/.cache/ts/src/index.d.ts +3 -3
- package/.cache/ts/src/lib/platform.d.ts +1 -1
- package/.cache/ts/src/tokenized/{tokenized.d.ts → index.d.ts} +0 -0
- package/VKUI_TOKENS_MIGRATION_GUIDE.md +76 -0
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.d.ts +2 -2
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +5 -9
- package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js +4 -6
- package/dist/cjs/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cjs/components/Alert/Alert.d.ts +2 -2
- package/dist/cjs/components/Alert/Alert.js +4 -7
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/AppRoot/AppRoot.d.ts +0 -1
- package/dist/cjs/components/AppRoot/AppRoot.js +2 -5
- package/dist/cjs/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js +1 -1
- package/dist/cjs/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
- package/dist/cjs/components/Button/Button.js +1 -3
- package/dist/cjs/components/Button/Button.js.map +1 -1
- package/dist/cjs/components/CardScroll/CardScroll.d.ts +9 -2
- package/dist/cjs/components/CardScroll/CardScroll.js +10 -4
- package/dist/cjs/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js +40 -6
- package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +1 -1
- package/dist/cjs/components/ContentCard/ContentCard.js +8 -0
- package/dist/cjs/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js +1 -1
- package/dist/cjs/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js +5 -1
- package/dist/cjs/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cjs/components/IconButton/IconButton.js +8 -0
- package/dist/cjs/components/IconButton/IconButton.js.map +1 -1
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js +14 -5
- package/dist/cjs/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cjs/components/PromoBanner/PromoBanner.js +7 -0
- package/dist/cjs/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cjs/components/Root/Root.js +5 -0
- package/dist/cjs/components/Root/Root.js.map +1 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js +8 -1
- package/dist/cjs/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cjs/components/View/View.js +29 -18
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +6 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/lib/platform.d.ts +1 -1
- package/dist/cjs/lib/platform.js.map +1 -1
- package/dist/cjs/tokenized/{tokenized.d.ts → index.d.ts} +0 -0
- package/dist/cjs/tokenized/{tokenized.js → index.js} +1 -1
- package/dist/cjs/tokenized/index.js.map +1 -0
- package/dist/components/ActionSheetItem/ActionSheetItem.d.ts +2 -2
- package/dist/components/ActionSheetItem/ActionSheetItem.js +4 -6
- package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.d.ts +1 -1
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js +2 -3
- package/dist/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/components/Alert/Alert.d.ts +2 -2
- package/dist/components/Alert/Alert.js +3 -3
- package/dist/components/Alert/Alert.js.map +1 -1
- package/dist/components/AppRoot/AppRoot.d.ts +0 -1
- package/dist/components/AppRoot/AppRoot.js +1 -3
- package/dist/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/components/AppearanceProvider/AppearanceProvider.js +2 -2
- package/dist/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
- package/dist/components/Button/Button.js +1 -2
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/CardScroll/CardScroll.d.ts +9 -2
- package/dist/components/CardScroll/CardScroll.js +8 -3
- package/dist/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProvider.js +39 -6
- package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +1 -1
- package/dist/components/ContentCard/ContentCard.js +7 -0
- package/dist/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js +1 -1
- package/dist/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.d.ts +1 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js +3 -1
- package/dist/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/components/IconButton/IconButton.js +7 -0
- package/dist/components/IconButton/IconButton.js.map +1 -1
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js +13 -6
- package/dist/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/components/PromoBanner/PromoBanner.js +6 -0
- package/dist/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/components/Root/Root.js +5 -0
- package/dist/components/Root/Root.js.map +1 -1
- package/dist/components/TabbarItem/TabbarItem.js +7 -1
- package/dist/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/components/View/View.js +29 -18
- package/dist/components/View/View.js.map +1 -1
- package/dist/components.css +14 -11
- package/dist/components.css.map +1 -1
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +4 -6
- package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js +2 -3
- package/dist/cssm/components/AdaptivityProvider/AdaptivityProvider.js.map +1 -1
- package/dist/cssm/components/Alert/Alert.js +3 -3
- package/dist/cssm/components/Alert/Alert.js.map +1 -1
- package/dist/cssm/components/AppRoot/AppRoot.js +1 -3
- package/dist/cssm/components/AppRoot/AppRoot.js.map +1 -1
- package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js +2 -2
- package/dist/cssm/components/AppearanceProvider/AppearanceProvider.js.map +1 -1
- package/dist/cssm/components/Button/Button.css +9 -11
- package/dist/cssm/components/Button/Button.js +1 -2
- package/dist/cssm/components/Button/Button.js.map +1 -1
- package/dist/cssm/components/Card/Card.css +6 -1
- package/dist/cssm/components/CardScroll/CardScroll.css +1 -1
- package/dist/cssm/components/CardScroll/CardScroll.js +8 -3
- package/dist/cssm/components/CardScroll/CardScroll.js.map +1 -1
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js +39 -6
- package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
- package/dist/cssm/components/ContentCard/ContentCard.js +7 -0
- package/dist/cssm/components/ContentCard/ContentCard.js.map +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js +1 -1
- package/dist/cssm/components/CustomSelectOption/CustomSelectOption.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js +3 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScroll.js.map +1 -1
- package/dist/cssm/components/HorizontalScroll/HorizontalScrollArrow.css +1 -1
- package/dist/cssm/components/IconButton/IconButton.js +7 -0
- package/dist/cssm/components/IconButton/IconButton.js.map +1 -1
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js +13 -6
- package/dist/cssm/components/PanelHeaderButton/PanelHeaderButton.js.map +1 -1
- package/dist/cssm/components/PromoBanner/PromoBanner.js +6 -0
- package/dist/cssm/components/PromoBanner/PromoBanner.js.map +1 -1
- package/dist/cssm/components/Root/Root.js +5 -0
- package/dist/cssm/components/Root/Root.js.map +1 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js +7 -1
- package/dist/cssm/components/TabbarItem/TabbarItem.js.map +1 -1
- package/dist/cssm/components/View/View.js +29 -18
- package/dist/cssm/components/View/View.js.map +1 -1
- package/dist/cssm/index.js +3 -3
- package/dist/cssm/index.js.map +1 -1
- package/dist/cssm/lib/platform.js.map +1 -1
- package/dist/cssm/styles/components.css +14 -11
- package/dist/cssm/styles/themes.css +1 -1
- package/dist/{tokenized/tokenized.js → cssm/tokenized/index.js} +1 -1
- package/dist/cssm/tokenized/index.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/platform.d.ts +1 -1
- package/dist/lib/platform.js.map +1 -1
- package/dist/tokenized/{tokenized.d.ts → index.d.ts} +0 -0
- package/dist/{cssm/tokenized/tokenized.js → tokenized/index.js} +1 -1
- package/dist/tokenized/index.js.map +1 -0
- package/dist/vkui.css +15 -12
- package/dist/vkui.css.map +1 -1
- package/package.json +3 -3
- package/postcss.config.js +10 -1
- package/src/components/ActionSheetItem/ActionSheetItem.tsx +5 -6
- package/src/components/AdaptivityProvider/AdaptivityProvider.tsx +1 -2
- package/src/components/Alert/Alert.tsx +3 -2
- package/src/components/AppRoot/AppRoot.tsx +0 -3
- package/src/components/AppearanceProvider/AppearanceProvider.tsx +2 -2
- package/src/components/Button/Button.css +9 -39
- package/src/components/Button/Button.tsx +3 -4
- package/src/components/Card/Card.css +14 -22
- package/src/components/CardScroll/CardScroll.css +10 -23
- package/src/components/CardScroll/CardScroll.tsx +15 -4
- package/src/components/ConfigProvider/ConfigProvider.tsx +43 -7
- package/src/components/ContentCard/ContentCard.tsx +6 -0
- package/src/components/CustomSelectOption/CustomSelectOption.tsx +1 -1
- package/src/components/HorizontalScroll/HorizontalScroll.tsx +8 -2
- package/src/components/HorizontalScroll/HorizontalScrollArrow.css +3 -1
- package/src/components/IconButton/IconButton.tsx +8 -0
- package/src/components/PanelHeaderButton/PanelHeaderButton.tsx +19 -7
- package/src/components/PromoBanner/PromoBanner.tsx +8 -0
- package/src/components/Root/Root.tsx +12 -2
- package/src/components/TabbarItem/TabbarItem.tsx +8 -1
- package/src/components/View/View.tsx +15 -2
- package/src/index.ts +3 -3
- package/src/lib/platform.ts +5 -1
- package/src/styles/themes.css +6 -0
- package/src/testing/utils.tsx +1 -1
- package/src/tokenized/{tokenized.ts → index.ts} +0 -0
- package/dist/cjs/tokenized/tokenized.js.map +0 -1
- package/dist/cssm/tokenized/tokenized.js.map +0 -1
- package/dist/tokenized/tokenized.js.map +0 -1
|
@@ -21,7 +21,8 @@ import "./ActionSheetItem.css";
|
|
|
21
21
|
var ActionSheetItem = function ActionSheetItem(_ref) {
|
|
22
22
|
var children = _ref.children,
|
|
23
23
|
autoclose = _ref.autoclose,
|
|
24
|
-
mode = _ref.mode,
|
|
24
|
+
_ref$mode = _ref.mode,
|
|
25
|
+
mode = _ref$mode === void 0 ? "default" : _ref$mode,
|
|
25
26
|
meta = _ref.meta,
|
|
26
27
|
subtitle = _ref.subtitle,
|
|
27
28
|
before = _ref.before,
|
|
@@ -105,11 +106,8 @@ var ActionSheetItem = function ActionSheetItem(_ref) {
|
|
|
105
106
|
}, platform === VKCOM ? createScopedElement(Icon24Done, null) : createScopedElement(Icon16Done, null))));
|
|
106
107
|
};
|
|
107
108
|
|
|
108
|
-
|
|
109
|
-
mode: "default"
|
|
110
|
-
}; // eslint-disable-next-line import/no-default-export
|
|
111
|
-
|
|
112
|
-
export default withAdaptivity(ActionSheetItem, {
|
|
109
|
+
var ActionSheetItemWithAdaptivity = withAdaptivity(ActionSheetItem, {
|
|
113
110
|
sizeY: true
|
|
114
111
|
});
|
|
112
|
+
export { ActionSheetItemWithAdaptivity as ActionSheetItem };
|
|
115
113
|
//# sourceMappingURL=ActionSheetItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"names":["React","classNames","getClassName","Tappable","usePlatform","hasReactNode","noop","Subhead","Title","Text","ANDROID","VKCOM","Icon16Done","Icon24Done","ActionSheetContext","Caption","withAdaptivity","SizeType","ActionSheetItem","children","autoclose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","sizeY","onImmediateClick","restProps","platform","useContext","onItemClick","isDesktop","Component","href","isCompact","Boolean","COMPACT","disabled","defaultProps"],"mappings":";;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,SAASC,YAAT;AACA,OAAOC,QAAP;AACA,SAASC,WAAT;AACA,SAASC,YAAT,EAAuBC,IAAvB;AACA,OAAOC,OAAP;AACA,OAAOC,KAAP;AACA,OAAOC,IAAP;AACA,SAASC,OAAT,EAAkBC,KAAlB;AACA,SAASC,UAAT,EAAqBC,UAArB,QAAuC,kBAAvC;AACA,SACEC,kBADF;AAIA,OAAOC,OAAP;AACA,SACEC,cADF,EAGEC,QAHF;AAKA;;AA0BA,IAAMC,eAA+C,GAAG,SAAlDA,eAAkD,OAiB5B;AAAA,MAhB1BC,QAgB0B,QAhB1BA,QAgB0B;AAAA,MAf1BC,SAe0B,QAf1BA,SAe0B;AAAA,MAd1BC,IAc0B,QAd1BA,IAc0B;AAAA,MAb1BC,IAa0B,QAb1BA,IAa0B;AAAA,MAZ1BC,QAY0B,QAZ1BA,QAY0B;AAAA,MAX1BC,MAW0B,QAX1BA,MAW0B;AAAA,MAV1BC,UAU0B,QAV1BA,UAU0B;AAAA,MAT1BC,KAS0B,QAT1BA,KAS0B;AAAA,MAR1BC,IAQ0B,QAR1BA,IAQ0B;AAAA,MAP1BC,OAO0B,QAP1BA,OAO0B;AAAA,MAN1BC,cAM0B,QAN1BA,cAM0B;AAAA,MAL1BC,QAK0B,QAL1BA,QAK0B;AAAA,MAJ1BC,OAI0B,QAJ1BA,OAI0B;AAAA,MAH1BC,KAG0B,QAH1BA,KAG0B;AAAA,MAF1BC,gBAE0B,QAF1BA,gBAE0B;AAAA,MADvBC,SACuB;;AAC1B,MAAMC,QAAQ,GAAG/B,WAAW,EAA5B;;AACA,0BACEJ,KAAK,CAACoC,UAAN,CAAsDtB,kBAAtD,CADF;AAAA,gDAAQuB,WAAR;AAAA,MAAQA,WAAR,sCAAsB;AAAA,WAAM/B,IAAN;AAAA,GAAtB;AAAA,MAAkCgC,SAAlC,qBAAkCA,SAAlC;;AAGA,MAAIC,SAA4B,GAAGL,SAAS,CAACM,IAAV,GAAiB,GAAjB,GAAuB,KAA1D;;AAEA,MAAIf,UAAJ,EAAgB;AACdc,IAAAA,SAAS,GAAG,OAAZ;AACD;;AAED,MAAME,SAAS,GAAGpC,YAAY,CAACkB,QAAD,CAAZ,IAA0BlB,YAAY,CAACiB,IAAD,CAAtC,IAAgDG,UAAlE;AAEA,SACE,oBAAC,QAAD,eACMS,SADN;AAEE,IAAA,OAAO,EACLT,UAAU,GACNM,OADM,GAENM,WAAW,CAACN,OAAD,EAAUE,gBAAV,EAA4BS,OAAO,CAACtB,SAAD,CAAnC,CALnB;AAOE,IAAA,UAAU,EAAC,yBAPb;AAQE,IAAA,SAAS,EAAEnB,UAAU,CACnBC,YAAY,CAAC,iBAAD,EAAoBiC,QAApB,CADO,6BAECd,IAFD,oCAGOW,KAHP,GAInB;AACE,kCAA4BS,SAD9B;AAEE,kCAA4BH,SAF9B;AAGE,uCAAiCjC,YAAY,CAACkB,QAAD;AAH/C,KAJmB,CARvB;AAkBE,IAAA,SAAS,EAAEgB;AAlBb,MAoBGlC,YAAY,CAACmB,MAAD,CAAZ,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAA0CA,MAA1C,CArBJ,EAuBE;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGQ,KAAK,KAAKf,QAAQ,CAAC0B,OAAnB,GACC,oBAAC,KAAD,CAAO,QAAP,QACE,oBAAC,IAAD;AACE,IAAA,MAAM,EAAEtB,IAAI,KAAK,QAAT,GAAoB,QAApB,GAA+B,SADzC;AAEE,IAAA,SAAS,EAAC;AAFZ,KAIGF,QAJH,CADF,EAOGd,YAAY,CAACiB,IAAD,CAAZ,IACC,oBAAC,IAAD;AAAM,IAAA,MAAM,EAAC,SAAb;AAAuB,IAAA,SAAS,EAAC;AAAjC,KACGA,IADH,CARJ,CADD,GAeC,oBAAC,KAAD,CAAO,QAAP,QACE,oBAAC,KAAD;AACE,IAAA,MAAM,EAAED,IAAI,KAAK,QAAT,GAAoB,QAApB,GAA+B,SADzC;AAEE,IAAA,KAAK,EACHoB,SAAS,IAAIpC,YAAY,CAACmB,MAAD,CAAzB,IAAqCW,QAAQ,KAAKzB,OAAlD,GACI,GADJ,GAEI,GALR;AAOE,IAAA,SAAS,EAAC;AAPZ,KASGS,QATH,CADF,EAYGd,YAAY,CAACiB,IAAD,CAAZ,IACC,oBAAC,KAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,KAAK,EACHmB,SAAS,IAAIpC,YAAY,CAACmB,MAAD,CAAzB,IAAqCW,QAAQ,KAAKzB,OAAlD,GACI,GADJ,GAEI,GALR;AAOE,IAAA,SAAS,EAAC;AAPZ,KASGY,IATH,CAbJ,CAhBJ,CADF,EA6CGjB,YAAY,CAACkB,QAAD,CAAZ,KACES,KAAK,KAAKf,QAAQ,CAAC0B,OAAnB,GACC,oBAAC,OAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,SAAS,EAAC,2BAFZ;AAGE,IAAA,KAAK,EAAC;AAHR,KAKGpB,QALH,CADD,GASC,oBAAC,OAAD;AAAS,IAAA,MAAM,EAAC,SAAhB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,QADH,CAVH,CA7CH,CAvBF,EAmFGE,UAAU,IACT;AAAK,IAAA,SAAS,EAAC;AAAf,KACE;AACE,IAAA,IAAI,EAAC,OADP;AAEE,IAAA,SAAS,EAAC,wBAFZ;AAGE,IAAA,IAAI,EAAEE,IAHR;AAIE,IAAA,KAAK,EAAED,KAJT;AAKE,IAAA,QAAQ,EAAEI,QALZ;AAME,IAAA,OAAO,EAAEO,WAAW,CAAC/B,IAAD,EAAOA,IAAP,EAAaoC,OAAO,CAACtB,SAAD,CAApB,CANtB;AAOE,IAAA,cAAc,EAAES,cAPlB;AAQE,IAAA,OAAO,EAAED,OARX;AASE,IAAA,QAAQ,EAAEM,SAAS,CAACU;AATtB,IADF,EAYE;AAAK,IAAA,SAAS,EAAC;AAAf,KACGT,QAAQ,KAAKxB,KAAb,GAAqB,oBAAC,UAAD,OAArB,GAAsC,oBAAC,UAAD,OADzC,CAZF,CApFJ,CADF;AAwGD,CAtID;;AAwIAO,eAAe,CAAC2B,YAAhB,GAA+B;AAC7BxB,EAAAA,IAAI,EAAE;AADuB,CAA/B,C,CAIA;;AACA,eAAeL,cAAc,CAACE,eAAD,EAAkB;AAAEc,EAAAA,KAAK,EAAE;AAAT,CAAlB,CAA7B","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Icon16Done, Icon24Done } from \"@vkontakte/icons\";\nimport {\n ActionSheetContext,\n ActionSheetContextType,\n} from \"../ActionSheet/ActionSheetContext\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport \"./ActionSheetItem.css\";\n\nexport interface ActionSheetItemProps\n extends React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"name\" | \"checked\" | \"value\"\n >,\n AdaptivityProps {\n mode?: \"default\" | \"destructive\" | \"cancel\";\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoclose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n /**\n * Если autoclose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.\n * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.\n * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n onImmediateClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nconst ActionSheetItem: React.FC<ActionSheetItemProps> = ({\n children,\n autoclose,\n mode,\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n sizeY,\n onImmediateClick,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } =\n React.useContext<ActionSheetContextType<HTMLElement>>(ActionSheetContext);\n\n let Component: React.ElementType = restProps.href ? \"a\" : \"div\";\n\n if (selectable) {\n Component = \"label\";\n }\n\n const isCompact = hasReactNode(subtitle) || hasReactNode(meta) || selectable;\n\n return (\n <Tappable\n {...restProps}\n onClick={\n selectable\n ? onClick\n : onItemClick(onClick, onImmediateClick, Boolean(autoclose))\n }\n activeMode=\"ActionSheetItem--active\"\n vkuiClass={classNames(\n getClassName(\"ActionSheetItem\", platform),\n `ActionSheetItem--${mode}`,\n `ActionSheetItem--sizeY-${sizeY}`,\n {\n \"ActionSheetItem--compact\": isCompact,\n \"ActionSheetItem--desktop\": isDesktop,\n \"ActionSheetItem--withSubtitle\": hasReactNode(subtitle),\n }\n )}\n Component={Component}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"ActionSheetItem__before\">{before}</div>\n )}\n <div vkuiClass=\"ActionSheetItem__container\">\n <div vkuiClass=\"ActionSheetItem__content\">\n {sizeY === SizeType.COMPACT ? (\n <React.Fragment>\n <Text\n weight={mode === \"cancel\" ? \"medium\" : \"regular\"}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Text>\n {hasReactNode(meta) && (\n <Text weight=\"regular\" vkuiClass=\"ActionSheetItem__meta\">\n {meta}\n </Text>\n )}\n </React.Fragment>\n ) : (\n <React.Fragment>\n <Title\n weight={mode === \"cancel\" ? \"medium\" : \"regular\"}\n level={\n isCompact || hasReactNode(before) || platform === ANDROID\n ? \"3\"\n : \"2\"\n }\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Title>\n {hasReactNode(meta) && (\n <Title\n weight=\"regular\"\n level={\n isCompact || hasReactNode(before) || platform === ANDROID\n ? \"3\"\n : \"2\"\n }\n vkuiClass=\"ActionSheetItem__meta\"\n >\n {meta}\n </Title>\n )}\n </React.Fragment>\n )}\n </div>\n {hasReactNode(subtitle) &&\n (sizeY === SizeType.COMPACT ? (\n <Caption\n weight=\"regular\"\n vkuiClass=\"ActionSheetItem__subtitle\"\n level=\"1\"\n >\n {subtitle}\n </Caption>\n ) : (\n <Subhead weight=\"regular\" vkuiClass=\"ActionSheetItem__subtitle\">\n {subtitle}\n </Subhead>\n ))}\n </div>\n {selectable && (\n <div vkuiClass=\"ActionSheetItem__after\">\n <input\n type=\"radio\"\n vkuiClass=\"ActionSheetItem__radio\"\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, noop, Boolean(autoclose))}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div vkuiClass=\"ActionSheetItem__marker\">\n {platform === VKCOM ? <Icon24Done /> : <Icon16Done />}\n </div>\n </div>\n )}\n </Tappable>\n );\n};\n\nActionSheetItem.defaultProps = {\n mode: \"default\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(ActionSheetItem, { sizeY: true });\n"],"file":"ActionSheetItem.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"names":["React","classNames","getClassName","Tappable","usePlatform","hasReactNode","noop","Subhead","Title","Text","ANDROID","VKCOM","Icon16Done","Icon24Done","ActionSheetContext","Caption","withAdaptivity","SizeType","ActionSheetItem","children","autoclose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","sizeY","onImmediateClick","restProps","platform","useContext","onItemClick","isDesktop","Component","href","isCompact","Boolean","COMPACT","disabled","ActionSheetItemWithAdaptivity"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport { ANDROID, VKCOM } from \"../../lib/platform\";\nimport { Icon16Done, Icon24Done } from \"@vkontakte/icons\";\nimport {\n ActionSheetContext,\n ActionSheetContextType,\n} from \"../ActionSheet/ActionSheetContext\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport {\n withAdaptivity,\n AdaptivityProps,\n SizeType,\n} from \"../../hoc/withAdaptivity\";\nimport \"./ActionSheetItem.css\";\n\nexport interface ActionSheetItemProps\n extends React.HTMLAttributes<HTMLElement>,\n React.AnchorHTMLAttributes<HTMLElement>,\n Pick<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"name\" | \"checked\" | \"value\"\n >,\n AdaptivityProps {\n mode?: \"default\" | \"destructive\" | \"cancel\";\n before?: React.ReactNode;\n meta?: React.ReactNode;\n subtitle?: React.ReactNode;\n autoclose?: boolean;\n selectable?: boolean;\n disabled?: boolean;\n /**\n * Если autoclose === true, onClick будет вызван после завершения анимации скрытия и после вызова onClose.\n * Из этого следует, что в объекте события значения полей типа `currentTarget` будут не определены.\n * Если вам нужен объект события именно на момент клика, используйте `onImmediateClick`.\n */\n onClick?: React.MouseEventHandler<HTMLElement>;\n onImmediateClick?: React.MouseEventHandler<HTMLElement>;\n}\n\nconst ActionSheetItem: React.FC<ActionSheetItemProps> = ({\n children,\n autoclose,\n mode = \"default\",\n meta,\n subtitle,\n before,\n selectable,\n value,\n name,\n checked,\n defaultChecked,\n onChange,\n onClick,\n sizeY,\n onImmediateClick,\n ...restProps\n}: ActionSheetItemProps) => {\n const platform = usePlatform();\n const { onItemClick = () => noop, isDesktop } =\n React.useContext<ActionSheetContextType<HTMLElement>>(ActionSheetContext);\n\n let Component: React.ElementType = restProps.href ? \"a\" : \"div\";\n\n if (selectable) {\n Component = \"label\";\n }\n\n const isCompact = hasReactNode(subtitle) || hasReactNode(meta) || selectable;\n\n return (\n <Tappable\n {...restProps}\n onClick={\n selectable\n ? onClick\n : onItemClick(onClick, onImmediateClick, Boolean(autoclose))\n }\n activeMode=\"ActionSheetItem--active\"\n vkuiClass={classNames(\n getClassName(\"ActionSheetItem\", platform),\n `ActionSheetItem--${mode}`,\n `ActionSheetItem--sizeY-${sizeY}`,\n {\n \"ActionSheetItem--compact\": isCompact,\n \"ActionSheetItem--desktop\": isDesktop,\n \"ActionSheetItem--withSubtitle\": hasReactNode(subtitle),\n }\n )}\n Component={Component}\n >\n {hasReactNode(before) && (\n <div vkuiClass=\"ActionSheetItem__before\">{before}</div>\n )}\n <div vkuiClass=\"ActionSheetItem__container\">\n <div vkuiClass=\"ActionSheetItem__content\">\n {sizeY === SizeType.COMPACT ? (\n <React.Fragment>\n <Text\n weight={mode === \"cancel\" ? \"medium\" : \"regular\"}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Text>\n {hasReactNode(meta) && (\n <Text weight=\"regular\" vkuiClass=\"ActionSheetItem__meta\">\n {meta}\n </Text>\n )}\n </React.Fragment>\n ) : (\n <React.Fragment>\n <Title\n weight={mode === \"cancel\" ? \"medium\" : \"regular\"}\n level={\n isCompact || hasReactNode(before) || platform === ANDROID\n ? \"3\"\n : \"2\"\n }\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Title>\n {hasReactNode(meta) && (\n <Title\n weight=\"regular\"\n level={\n isCompact || hasReactNode(before) || platform === ANDROID\n ? \"3\"\n : \"2\"\n }\n vkuiClass=\"ActionSheetItem__meta\"\n >\n {meta}\n </Title>\n )}\n </React.Fragment>\n )}\n </div>\n {hasReactNode(subtitle) &&\n (sizeY === SizeType.COMPACT ? (\n <Caption\n weight=\"regular\"\n vkuiClass=\"ActionSheetItem__subtitle\"\n level=\"1\"\n >\n {subtitle}\n </Caption>\n ) : (\n <Subhead weight=\"regular\" vkuiClass=\"ActionSheetItem__subtitle\">\n {subtitle}\n </Subhead>\n ))}\n </div>\n {selectable && (\n <div vkuiClass=\"ActionSheetItem__after\">\n <input\n type=\"radio\"\n vkuiClass=\"ActionSheetItem__radio\"\n name={name}\n value={value}\n onChange={onChange}\n onClick={onItemClick(noop, noop, Boolean(autoclose))}\n defaultChecked={defaultChecked}\n checked={checked}\n disabled={restProps.disabled}\n />\n <div vkuiClass=\"ActionSheetItem__marker\">\n {platform === VKCOM ? <Icon24Done /> : <Icon16Done />}\n </div>\n </div>\n )}\n </Tappable>\n );\n};\n\nconst ActionSheetItemWithAdaptivity = withAdaptivity(ActionSheetItem, {\n sizeY: true,\n});\n\nexport { ActionSheetItemWithAdaptivity as ActionSheetItem };\n"],"file":"ActionSheetItem.js"}
|
|
@@ -108,8 +108,7 @@ function calculateAdaptivity(windowWidth, windowHeight, props) {
|
|
|
108
108
|
hasMouse: hasMouse,
|
|
109
109
|
deviceHasHover: deviceHasHover
|
|
110
110
|
};
|
|
111
|
-
}
|
|
111
|
+
}
|
|
112
112
|
|
|
113
|
-
|
|
114
|
-
export default AdaptivityProvider;
|
|
113
|
+
export { AdaptivityProvider };
|
|
115
114
|
//# sourceMappingURL=AdaptivityProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"names":["React","hasMouse","_hasMouse","hasHover","_hasHover","AdaptivityContext","SizeType","ViewHeight","ViewWidth","useDOM","DESKTOP_SIZE","TABLET_SIZE","SMALL_TABLET_SIZE","MOBILE_SIZE","MOBILE_LANDSCAPE_HEIGHT","MEDIUM_HEIGHT","AdaptivityProvider","props","adaptivityRef","useRef","useState","updateAdaptivity","window","current","calculateAdaptivity","innerWidth","innerHeight","useEffect","onResize","calculated","viewWidth","viewHeight","sizeX","sizeY","deviceHasHover","addEventListener","removeEventListener","children","windowWidth","windowHeight","SMALL_MOBILE","SMALL","REGULAR","DESKTOP","TABLET","SMALL_TABLET","MOBILE","MEDIUM","EXTRA_SMALL","COMPACT"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/AdaptivityProvider/AdaptivityProvider.tsx"],"names":["React","hasMouse","_hasMouse","hasHover","_hasHover","AdaptivityContext","SizeType","ViewHeight","ViewWidth","useDOM","DESKTOP_SIZE","TABLET_SIZE","SMALL_TABLET_SIZE","MOBILE_SIZE","MOBILE_LANDSCAPE_HEIGHT","MEDIUM_HEIGHT","AdaptivityProvider","props","adaptivityRef","useRef","useState","updateAdaptivity","window","current","calculateAdaptivity","innerWidth","innerHeight","useEffect","onResize","calculated","viewWidth","viewHeight","sizeX","sizeY","deviceHasHover","addEventListener","removeEventListener","children","windowWidth","windowHeight","SMALL_MOBILE","SMALL","REGULAR","DESKTOP","TABLET","SMALL_TABLET","MOBILE","MEDIUM","EXTRA_SMALL","COMPACT"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { hasMouse as _hasMouse, hasHover as _hasHover } from \"@vkontakte/vkjs\";\nimport {\n AdaptivityContext,\n AdaptivityProps,\n SizeType,\n ViewHeight,\n ViewWidth,\n} from \"./AdaptivityContext\";\nimport { useDOM } from \"../../lib/dom\";\n\nexport const DESKTOP_SIZE = 1280;\nexport const TABLET_SIZE = 1024;\nexport const SMALL_TABLET_SIZE = 768;\nexport const MOBILE_SIZE = 320;\n\nexport const MOBILE_LANDSCAPE_HEIGHT = 414;\nexport const MEDIUM_HEIGHT = 720;\n\nconst AdaptivityProvider: React.FC<AdaptivityProps> = (props) => {\n const adaptivityRef = React.useRef<ReturnType<\n typeof calculateAdaptivity\n > | null>(null);\n const [, updateAdaptivity] = React.useState({});\n\n const { window } = useDOM();\n\n if (!adaptivityRef.current) {\n adaptivityRef.current = calculateAdaptivity(\n window ? window.innerWidth : 0,\n window ? window.innerHeight : 0,\n props\n );\n }\n\n React.useEffect(() => {\n function onResize() {\n if (adaptivityRef.current === null) {\n return;\n }\n const calculated = calculateAdaptivity(\n window!.innerWidth,\n window!.innerHeight,\n props\n );\n const { viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover } =\n adaptivityRef.current;\n\n if (\n viewWidth !== calculated.viewWidth ||\n viewHeight !== calculated.viewHeight ||\n sizeX !== calculated.sizeX ||\n sizeY !== calculated.sizeY ||\n hasMouse !== calculated.hasMouse ||\n deviceHasHover !== calculated.deviceHasHover\n ) {\n adaptivityRef.current = calculated;\n updateAdaptivity({});\n }\n }\n\n onResize();\n window!.addEventListener(\"resize\", onResize, false);\n\n return () => {\n window!.removeEventListener(\"resize\", onResize, false);\n };\n }, [\n props.viewWidth,\n props.viewHeight,\n props.sizeX,\n props.sizeY,\n props.hasMouse,\n props.deviceHasHover,\n window,\n props,\n ]);\n\n return (\n <AdaptivityContext.Provider value={adaptivityRef.current}>\n {props.children}\n </AdaptivityContext.Provider>\n );\n};\n\nfunction calculateAdaptivity(\n windowWidth: number,\n windowHeight: number,\n props: AdaptivityProps\n) {\n let viewWidth = ViewWidth.SMALL_MOBILE;\n let viewHeight = ViewHeight.SMALL;\n let sizeY = SizeType.REGULAR;\n let sizeX = SizeType.REGULAR;\n let hasMouse = props.hasMouse ?? _hasMouse;\n let deviceHasHover = props.deviceHasHover ?? _hasHover;\n\n if (windowWidth >= DESKTOP_SIZE) {\n viewWidth = ViewWidth.DESKTOP;\n } else if (windowWidth >= TABLET_SIZE) {\n viewWidth = ViewWidth.TABLET;\n } else if (windowWidth >= SMALL_TABLET_SIZE) {\n viewWidth = ViewWidth.SMALL_TABLET;\n } else if (windowWidth >= MOBILE_SIZE) {\n viewWidth = ViewWidth.MOBILE;\n } else {\n viewWidth = ViewWidth.SMALL_MOBILE;\n }\n\n if (windowHeight >= MEDIUM_HEIGHT) {\n viewHeight = ViewHeight.MEDIUM;\n } else if (windowHeight > MOBILE_LANDSCAPE_HEIGHT) {\n viewHeight = ViewHeight.SMALL;\n } else {\n viewHeight = ViewHeight.EXTRA_SMALL;\n }\n\n props.viewWidth && (viewWidth = props.viewWidth);\n props.viewHeight && (viewHeight = props.viewHeight);\n\n if (viewWidth <= ViewWidth.MOBILE) {\n sizeX = SizeType.COMPACT;\n }\n\n if (\n (viewWidth >= ViewWidth.SMALL_TABLET && hasMouse) ||\n viewHeight <= ViewHeight.EXTRA_SMALL\n ) {\n sizeY = SizeType.COMPACT;\n }\n\n props.sizeX && (sizeX = props.sizeX);\n props.sizeY && (sizeY = props.sizeY);\n\n return { viewWidth, viewHeight, sizeX, sizeY, hasMouse, deviceHasHover };\n}\n\nexport { AdaptivityProvider };\n"],"file":"AdaptivityProvider.js"}
|
|
@@ -250,15 +250,15 @@ var Alert = /*#__PURE__*/function (_React$Component) {
|
|
|
250
250
|
}]);
|
|
251
251
|
|
|
252
252
|
return Alert;
|
|
253
|
-
}(React.Component);
|
|
254
|
-
|
|
253
|
+
}(React.Component);
|
|
255
254
|
|
|
256
255
|
_defineProperty(Alert, "defaultProps", {
|
|
257
256
|
actionsLayout: "horizontal",
|
|
258
257
|
actions: []
|
|
259
258
|
});
|
|
260
259
|
|
|
261
|
-
|
|
260
|
+
var AlertWithPlatformAndAdaptivity = withPlatform(withAdaptivity(Alert, {
|
|
262
261
|
viewWidth: true
|
|
263
262
|
}));
|
|
263
|
+
export { AlertWithPlatformAndAdaptivity as Alert };
|
|
264
264
|
//# sourceMappingURL=Alert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"names":["React","Tappable","PopoutWrapper","getClassName","classNames","transitionEvent","ANDROID","VKCOM","IOS","withPlatform","withAdaptivity","ViewWidth","Button","hasReactNode","Headline","Title","Caption","ModalDismissButton","FocusTrap","Alert","props","undefined","item","action","autoclose","setState","closing","waitTransitionFinish","e","propertyName","onClose","stopPropagation","i","platform","Component","href","mode","onItemClick","target","title","viewWidth","DESKTOP","element","createRef","state","eventHandler","supported","current","removeEventListener","name","addEventListener","transitionFinishTimeout","clearTimeout","setTimeout","bind","timeout","header","text","actions","actionsLayout","children","className","style","restProps","resolvedActionsLayout","canShowCloseButton","SMALL_TABLET","isDesktop","renderHeader","renderText","map","renderAction"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent } from \"../../lib/supportEvents\";\nimport { ANDROID, VKCOM, IOS } from \"../../lib/platform\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport Button, { ButtonProps } from \"../Button/Button\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Title from \"../Typography/Title/Title\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { FocusTrap } from \"../FocusTrap/FocusTrap\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Alert.css\";\n\nexport type AlertActionInterface = AlertAction &\n React.AnchorHTMLAttributes<HTMLElement>;\n\nexport interface AlertAction extends Pick<ButtonProps, \"Component\" | \"href\"> {\n title: string;\n action?: VoidFunction;\n autoclose?: boolean;\n mode: \"cancel\" | \"destructive\" | \"default\";\n}\n\nexport interface AlertProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n AdaptivityProps {\n actionsLayout?: \"vertical\" | \"horizontal\";\n actions?: AlertAction[];\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose?: VoidFunction;\n}\n\nexport type TAlertProps = AlertProps & AdaptivityContextInterface;\n\nexport interface AlertState {\n closing: boolean;\n}\n\ntype TransitionEndHandler = (e?: TransitionEvent) => void;\n\ntype ItemClickHander = (item: AlertActionInterface) => () => void;\n\nclass Alert extends React.Component<TAlertProps, AlertState> {\n constructor(props: TAlertProps) {\n super(props);\n this.element = React.createRef();\n this.state = {\n closing: false,\n };\n }\n\n element: React.RefObject<HTMLDivElement>;\n\n private transitionFinishTimeout: number | undefined = undefined;\n\n static defaultProps: Partial<TAlertProps> = {\n actionsLayout: \"horizontal\",\n actions: [],\n };\n\n private get timeout(): number {\n return this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 200\n : 300;\n }\n\n onItemClick: ItemClickHander = (item: AlertActionInterface) => () => {\n const { action, autoclose } = item;\n\n if (autoclose) {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n autoclose && this.props.onClose?.();\n action && action();\n }\n });\n } else {\n action && action();\n }\n };\n\n onClose: VoidFunction = () => {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n this.props.onClose?.();\n }\n });\n };\n\n stopPropagation: React.MouseEventHandler = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n };\n\n waitTransitionFinish(eventHandler: TransitionEndHandler) {\n if (transitionEvent.supported && this.element.current) {\n this.element.current.removeEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n this.element.current.addEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler.bind(this),\n this.timeout\n );\n }\n }\n\n renderHeader(header: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Headline vkuiClass=\"Alert__header\" weight=\"medium\">\n {header}\n </Headline>\n );\n case IOS:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"semibold\" level=\"3\">\n {header}\n </Title>\n );\n case ANDROID:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"medium\" level=\"2\">\n {header}\n </Title>\n );\n default:\n return undefined;\n }\n }\n\n renderText(text: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"1\" weight=\"regular\">\n {text}\n </Caption>\n );\n case IOS:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"2\" weight=\"regular\">\n {text}\n </Caption>\n );\n case ANDROID:\n return (\n <Headline vkuiClass=\"Alert__text\" weight=\"regular\">\n {text}\n </Headline>\n );\n default:\n return undefined;\n }\n }\n\n renderAction = (action: AlertActionInterface, i: number) => {\n const { platform } = this.props;\n\n if (platform === IOS) {\n const { Component = \"button\" } = action;\n return (\n <Tappable\n Component={action.href ? \"a\" : Component}\n vkuiClass={classNames(\n \"Alert__action\",\n `Alert__action--${action.mode}`\n )}\n onClick={this.onItemClick(action)}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps[\"mode\"] =\n action.mode === \"cancel\" ? \"secondary\" : \"primary\";\n\n if (platform === ANDROID) {\n mode = \"tertiary\";\n\n if (\n this.props.viewWidth === ViewWidth.DESKTOP &&\n action.mode === \"destructive\"\n ) {\n mode = \"destructive\";\n }\n }\n\n return (\n <Button\n vkuiClass={classNames(\"Alert__button\", `Alert__button--${action.mode}`)}\n mode={mode}\n size=\"m\"\n onClick={this.onItemClick(action)}\n Component={action.Component}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Button>\n );\n };\n\n render() {\n const {\n actions,\n actionsLayout,\n children,\n className,\n style,\n platform,\n viewWidth,\n text,\n header,\n ...restProps\n } = this.props;\n const { closing } = this.state;\n\n const resolvedActionsLayout: TAlertProps[\"actionsLayout\"] =\n platform === VKCOM ? \"horizontal\" : actionsLayout;\n const canShowCloseButton =\n platform === VKCOM ||\n (platform === ANDROID && viewWidth >= ViewWidth.SMALL_TABLET);\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n\n return (\n <PopoutWrapper\n className={className}\n closing={closing}\n style={style}\n onClick={this.onClose}\n >\n <FocusTrap\n {...restProps}\n getRootRef={this.element}\n onClick={this.stopPropagation}\n onClose={this.onClose}\n timeout={this.timeout}\n vkuiClass={classNames(getClassName(\"Alert\", platform), {\n \"Alert--v\": resolvedActionsLayout === \"vertical\",\n \"Alert--h\": resolvedActionsLayout === \"horizontal\",\n \"Alert--closing\": closing,\n \"Alert--desktop\": isDesktop,\n })}\n >\n {canShowCloseButton && <ModalDismissButton onClick={this.onClose} />}\n <div vkuiClass=\"Alert__content\">\n {hasReactNode(header) && this.renderHeader(header)}\n {hasReactNode(text) && this.renderText(text)}\n {children}\n </div>\n <footer vkuiClass=\"Alert__actions\">\n {actions?.map(this.renderAction)}\n </footer>\n </FocusTrap>\n </PopoutWrapper>\n );\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default withPlatform(\n withAdaptivity(Alert, {\n viewWidth: true,\n })\n);\n"],"file":"Alert.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Alert/Alert.tsx"],"names":["React","Tappable","PopoutWrapper","getClassName","classNames","transitionEvent","ANDROID","VKCOM","IOS","withPlatform","withAdaptivity","ViewWidth","Button","hasReactNode","Headline","Title","Caption","ModalDismissButton","FocusTrap","Alert","props","undefined","item","action","autoclose","setState","closing","waitTransitionFinish","e","propertyName","onClose","stopPropagation","i","platform","Component","href","mode","onItemClick","target","title","viewWidth","DESKTOP","element","createRef","state","eventHandler","supported","current","removeEventListener","name","addEventListener","transitionFinishTimeout","clearTimeout","setTimeout","bind","timeout","header","text","actions","actionsLayout","children","className","style","restProps","resolvedActionsLayout","canShowCloseButton","SMALL_TABLET","isDesktop","renderHeader","renderText","map","renderAction","AlertWithPlatformAndAdaptivity"],"mappings":";;;;;;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,OAAOC,QAAP;AACA,SAASC,aAAT;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,eAAT;AACA,SAASC,OAAT,EAAkBC,KAAlB,EAAyBC,GAAzB;AAEA,SAASC,YAAT;AACA,SAASC,cAAT,EAAyBC,SAAzB;AACA,OAAOC,MAAP;AACA,SAASC,YAAT;AACA,OAAOC,QAAP;AACA,OAAOC,KAAP;AACA,OAAOC,OAAP;AACA,OAAOC,kBAAP;AACA,SAASC,SAAT;AAKA;;IAiCMC,K;;;;;AACJ,iBAAYC,KAAZ,EAAgC;AAAA;;AAAA;;AAC9B,8BAAMA,KAAN;;AAD8B;;AAAA,8EAUsBC,SAVtB;;AAAA,kEAuBD,UAACC,IAAD;AAAA,aAAgC,YAAM;AACnE,YAAQC,MAAR,GAA8BD,IAA9B,CAAQC,MAAR;AAAA,YAAgBC,SAAhB,GAA8BF,IAA9B,CAAgBE,SAAhB;;AAEA,YAAIA,SAAJ,EAAe;AACb,gBAAKC,QAAL,CAAc;AAAEC,YAAAA,OAAO,EAAE;AAAX,WAAd;;AACA,gBAAKC,oBAAL,CAA0B,UAACC,CAAD,EAAyB;AACjD,gBAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,YAAF,KAAmB,SAA7B,EAAwC;AAAA;;AACtCL,cAAAA,SAAS,4BAAI,qBAAKJ,KAAL,EAAWU,OAAf,wDAAI,qCAAJ,CAAT;AACAP,cAAAA,MAAM,IAAIA,MAAM,EAAhB;AACD;AACF,WALD;AAMD,SARD,MAQO;AACLA,UAAAA,MAAM,IAAIA,MAAM,EAAhB;AACD;AACF,OAd8B;AAAA,KAvBC;;AAAA,8DAuCR,YAAM;AAC5B,YAAKE,QAAL,CAAc;AAAEC,QAAAA,OAAO,EAAE;AAAX,OAAd;;AACA,YAAKC,oBAAL,CAA0B,UAACC,CAAD,EAAyB;AACjD,YAAI,CAACA,CAAD,IAAMA,CAAC,CAACC,YAAF,KAAmB,SAA7B,EAAwC;AAAA;;AACtC,wDAAKT,KAAL,EAAWU,OAAX;AACD;AACF,OAJD;AAKD,KA9C+B;;AAAA,sEAgDW,UAACF,CAAD,EAA6B;AACtEA,MAAAA,CAAC,CAACG,eAAF;AACD,KAlD+B;;AAAA,mEA2HjB,UAACR,MAAD,EAA+BS,CAA/B,EAA6C;AAC1D,UAAQC,QAAR,GAAqB,MAAKb,KAA1B,CAAQa,QAAR;;AAEA,UAAIA,QAAQ,KAAKzB,GAAjB,EAAsB;AACpB,gCAAiCe,MAAjC,CAAQW,SAAR;AAAA,YAAQA,SAAR,kCAAoB,QAApB;AACA,eACE,oBAAC,QAAD;AACE,UAAA,SAAS,EAAEX,MAAM,CAACY,IAAP,GAAc,GAAd,GAAoBD,SADjC;AAEE,UAAA,SAAS,EAAE9B,UAAU,CACnB,eADmB,2BAEDmB,MAAM,CAACa,IAFN,EAFvB;AAME,UAAA,OAAO,EAAE,MAAKC,WAAL,CAAiBd,MAAjB,CANX;AAOE,UAAA,IAAI,EAAEA,MAAM,CAACY,IAPf;AAQE,UAAA,GAAG,yBAAkBH,CAAlB,CARL;AASE,UAAA,MAAM,EAAET,MAAM,CAACe;AATjB,WAWGf,MAAM,CAACgB,KAXV,CADF;AAeD;;AAED,UAAIH,IAAyB,GAC3Bb,MAAM,CAACa,IAAP,KAAgB,QAAhB,GAA2B,WAA3B,GAAyC,SAD3C;;AAGA,UAAIH,QAAQ,KAAK3B,OAAjB,EAA0B;AACxB8B,QAAAA,IAAI,GAAG,UAAP;;AAEA,YACE,MAAKhB,KAAL,CAAWoB,SAAX,KAAyB7B,SAAS,CAAC8B,OAAnC,IACAlB,MAAM,CAACa,IAAP,KAAgB,aAFlB,EAGE;AACAA,UAAAA,IAAI,GAAG,aAAP;AACD;AACF;;AAED,aACE,oBAAC,MAAD;AACE,QAAA,SAAS,EAAEhC,UAAU,CAAC,eAAD,2BAAoCmB,MAAM,CAACa,IAA3C,EADvB;AAEE,QAAA,IAAI,EAAEA,IAFR;AAGE,QAAA,IAAI,EAAC,GAHP;AAIE,QAAA,OAAO,EAAE,MAAKC,WAAL,CAAiBd,MAAjB,CAJX;AAKE,QAAA,SAAS,EAAEA,MAAM,CAACW,SALpB;AAME,QAAA,IAAI,EAAEX,MAAM,CAACY,IANf;AAOE,QAAA,GAAG,yBAAkBH,CAAlB,CAPL;AAQE,QAAA,MAAM,EAAET,MAAM,CAACe;AARjB,SAUGf,MAAM,CAACgB,KAVV,CADF;AAcD,KA7K+B;;AAE9B,UAAKG,OAAL,gBAAe1C,KAAK,CAAC2C,SAAN,EAAf;AACA,UAAKC,KAAL,GAAa;AACXlB,MAAAA,OAAO,EAAE;AADE,KAAb;AAH8B;AAM/B;;;;SAWD,eAA8B;AAC5B,aAAO,KAAKN,KAAL,CAAWa,QAAX,KAAwB3B,OAAxB,IAAmC,KAAKc,KAAL,CAAWa,QAAX,KAAwB1B,KAA3D,GACH,GADG,GAEH,GAFJ;AAGD;;;WA+BD,8BAAqBsC,YAArB,EAAyD;AACvD,UAAIxC,eAAe,CAACyC,SAAhB,IAA6B,KAAKJ,OAAL,CAAaK,OAA9C,EAAuD;AACrD,aAAKL,OAAL,CAAaK,OAAb,CAAqBC,mBAArB,CACE3C,eAAe,CAAC4C,IADlB,EAEEJ,YAFF;AAIA,aAAKH,OAAL,CAAaK,OAAb,CAAqBG,gBAArB,CACE7C,eAAe,CAAC4C,IADlB,EAEEJ,YAFF;AAID,OATD,MASO;AACL,YAAI,KAAKM,uBAAT,EAAkC;AAChCC,UAAAA,YAAY,CAAC,KAAKD,uBAAN,CAAZ;AACD;;AACD,aAAKA,uBAAL,GAA+BE,UAAU,CACvCR,YAAY,CAACS,IAAb,CAAkB,IAAlB,CADuC,EAEvC,KAAKC,OAFkC,CAAzC;AAID;AACF;;;WAED,sBAAaC,MAAb,EAAsC;AACpC,cAAQ,KAAKpC,KAAL,CAAWa,QAAnB;AACE,aAAK1B,KAAL;AACE,iBACE,oBAAC,QAAD;AAAU,YAAA,SAAS,EAAC,eAApB;AAAoC,YAAA,MAAM,EAAC;AAA3C,aACGiD,MADH,CADF;;AAKF,aAAKhD,GAAL;AACE,iBACE,oBAAC,KAAD;AAAO,YAAA,SAAS,EAAC,eAAjB;AAAiC,YAAA,MAAM,EAAC,UAAxC;AAAmD,YAAA,KAAK,EAAC;AAAzD,aACGgD,MADH,CADF;;AAKF,aAAKlD,OAAL;AACE,iBACE,oBAAC,KAAD;AAAO,YAAA,SAAS,EAAC,eAAjB;AAAiC,YAAA,MAAM,EAAC,QAAxC;AAAiD,YAAA,KAAK,EAAC;AAAvD,aACGkD,MADH,CADF;;AAKF;AACE,iBAAOnC,SAAP;AApBJ;AAsBD;;;WAED,oBAAWoC,IAAX,EAAkC;AAChC,cAAQ,KAAKrC,KAAL,CAAWa,QAAnB;AACE,aAAK1B,KAAL;AACE,iBACE,oBAAC,OAAD;AAAS,YAAA,SAAS,EAAC,aAAnB;AAAiC,YAAA,KAAK,EAAC,GAAvC;AAA2C,YAAA,MAAM,EAAC;AAAlD,aACGkD,IADH,CADF;;AAKF,aAAKjD,GAAL;AACE,iBACE,oBAAC,OAAD;AAAS,YAAA,SAAS,EAAC,aAAnB;AAAiC,YAAA,KAAK,EAAC,GAAvC;AAA2C,YAAA,MAAM,EAAC;AAAlD,aACGiD,IADH,CADF;;AAKF,aAAKnD,OAAL;AACE,iBACE,oBAAC,QAAD;AAAU,YAAA,SAAS,EAAC,aAApB;AAAkC,YAAA,MAAM,EAAC;AAAzC,aACGmD,IADH,CADF;;AAKF;AACE,iBAAOpC,SAAP;AApBJ;AAsBD;;;WAsDD,kBAAS;AACP,yBAWI,KAAKD,KAXT;AAAA,UACEsC,OADF,gBACEA,OADF;AAAA,UAEEC,aAFF,gBAEEA,aAFF;AAAA,UAGEC,QAHF,gBAGEA,QAHF;AAAA,UAIEC,SAJF,gBAIEA,SAJF;AAAA,UAKEC,KALF,gBAKEA,KALF;AAAA,UAME7B,QANF,gBAMEA,QANF;AAAA,UAOEO,SAPF,gBAOEA,SAPF;AAAA,UAQEiB,IARF,gBAQEA,IARF;AAAA,UASED,MATF,gBASEA,MATF;AAAA,UAUKO,SAVL;;AAYA,UAAQrC,OAAR,GAAoB,KAAKkB,KAAzB,CAAQlB,OAAR;AAEA,UAAMsC,qBAAmD,GACvD/B,QAAQ,KAAK1B,KAAb,GAAqB,YAArB,GAAoCoD,aADtC;AAEA,UAAMM,kBAAkB,GACtBhC,QAAQ,KAAK1B,KAAb,IACC0B,QAAQ,KAAK3B,OAAb,IAAwBkC,SAAS,IAAI7B,SAAS,CAACuD,YAFlD;AAGA,UAAMC,SAAS,GAAG3B,SAAS,IAAI7B,SAAS,CAACuD,YAAzC;AAEA,aACE,oBAAC,aAAD;AACE,QAAA,SAAS,EAAEL,SADb;AAEE,QAAA,OAAO,EAAEnC,OAFX;AAGE,QAAA,KAAK,EAAEoC,KAHT;AAIE,QAAA,OAAO,EAAE,KAAKhC;AAJhB,SAME,oBAAC,SAAD,eACMiC,SADN;AAEE,QAAA,UAAU,EAAE,KAAKrB,OAFnB;AAGE,QAAA,OAAO,EAAE,KAAKX,eAHhB;AAIE,QAAA,OAAO,EAAE,KAAKD,OAJhB;AAKE,QAAA,OAAO,EAAE,KAAKyB,OALhB;AAME,QAAA,SAAS,EAAEnD,UAAU,CAACD,YAAY,CAAC,OAAD,EAAU8B,QAAV,CAAb,EAAkC;AACrD,sBAAY+B,qBAAqB,KAAK,UADe;AAErD,sBAAYA,qBAAqB,KAAK,YAFe;AAGrD,4BAAkBtC,OAHmC;AAIrD,4BAAkByC;AAJmC,SAAlC;AANvB,UAaGF,kBAAkB,IAAI,oBAAC,kBAAD;AAAoB,QAAA,OAAO,EAAE,KAAKnC;AAAlC,QAbzB,EAcE;AAAK,QAAA,SAAS,EAAC;AAAf,SACGjB,YAAY,CAAC2C,MAAD,CAAZ,IAAwB,KAAKY,YAAL,CAAkBZ,MAAlB,CAD3B,EAEG3C,YAAY,CAAC4C,IAAD,CAAZ,IAAsB,KAAKY,UAAL,CAAgBZ,IAAhB,CAFzB,EAGGG,QAHH,CAdF,EAmBE;AAAQ,QAAA,SAAS,EAAC;AAAlB,SACGF,OADH,aACGA,OADH,uBACGA,OAAO,CAAEY,GAAT,CAAa,KAAKC,YAAlB,CADH,CAnBF,CANF,CADF;AAgCD;;;;EAtOiBvE,KAAK,CAACkC,S;;gBAApBf,K,kBAawC;AAC1CwC,EAAAA,aAAa,EAAE,YAD2B;AAE1CD,EAAAA,OAAO,EAAE;AAFiC,C;;AA4N9C,IAAMc,8BAA8B,GAAG/D,YAAY,CACjDC,cAAc,CAACS,KAAD,EAAQ;AACpBqB,EAAAA,SAAS,EAAE;AADS,CAAR,CADmC,CAAnD;AAMA,SAASgC,8BAA8B,IAAIrD,KAA3C","sourcesContent":["import * as React from \"react\";\nimport Tappable from \"../Tappable/Tappable\";\nimport { PopoutWrapper } from \"../PopoutWrapper/PopoutWrapper\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { transitionEvent } from \"../../lib/supportEvents\";\nimport { ANDROID, VKCOM, IOS } from \"../../lib/platform\";\nimport { HasPlatform } from \"../../types\";\nimport { withPlatform } from \"../../hoc/withPlatform\";\nimport { withAdaptivity, ViewWidth } from \"../../hoc/withAdaptivity\";\nimport Button, { ButtonProps } from \"../Button/Button\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Title from \"../Typography/Title/Title\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport ModalDismissButton from \"../ModalDismissButton/ModalDismissButton\";\nimport { FocusTrap } from \"../FocusTrap/FocusTrap\";\nimport {\n AdaptivityContextInterface,\n AdaptivityProps,\n} from \"../AdaptivityProvider/AdaptivityContext\";\nimport \"./Alert.css\";\n\nexport type AlertActionInterface = AlertAction &\n React.AnchorHTMLAttributes<HTMLElement>;\n\nexport interface AlertAction extends Pick<ButtonProps, \"Component\" | \"href\"> {\n title: string;\n action?: VoidFunction;\n autoclose?: boolean;\n mode: \"cancel\" | \"destructive\" | \"default\";\n}\n\nexport interface AlertProps\n extends React.HTMLAttributes<HTMLElement>,\n HasPlatform,\n AdaptivityProps {\n actionsLayout?: \"vertical\" | \"horizontal\";\n actions?: AlertAction[];\n header?: React.ReactNode;\n text?: React.ReactNode;\n onClose?: VoidFunction;\n}\n\nexport type TAlertProps = AlertProps & AdaptivityContextInterface;\n\nexport interface AlertState {\n closing: boolean;\n}\n\ntype TransitionEndHandler = (e?: TransitionEvent) => void;\n\ntype ItemClickHander = (item: AlertActionInterface) => () => void;\n\nclass Alert extends React.Component<TAlertProps, AlertState> {\n constructor(props: TAlertProps) {\n super(props);\n this.element = React.createRef();\n this.state = {\n closing: false,\n };\n }\n\n element: React.RefObject<HTMLDivElement>;\n\n private transitionFinishTimeout: number | undefined = undefined;\n\n static defaultProps: Partial<TAlertProps> = {\n actionsLayout: \"horizontal\",\n actions: [],\n };\n\n private get timeout(): number {\n return this.props.platform === ANDROID || this.props.platform === VKCOM\n ? 200\n : 300;\n }\n\n onItemClick: ItemClickHander = (item: AlertActionInterface) => () => {\n const { action, autoclose } = item;\n\n if (autoclose) {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n autoclose && this.props.onClose?.();\n action && action();\n }\n });\n } else {\n action && action();\n }\n };\n\n onClose: VoidFunction = () => {\n this.setState({ closing: true });\n this.waitTransitionFinish((e?: TransitionEvent) => {\n if (!e || e.propertyName === \"opacity\") {\n this.props.onClose?.();\n }\n });\n };\n\n stopPropagation: React.MouseEventHandler = (e: React.SyntheticEvent) => {\n e.stopPropagation();\n };\n\n waitTransitionFinish(eventHandler: TransitionEndHandler) {\n if (transitionEvent.supported && this.element.current) {\n this.element.current.removeEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n this.element.current.addEventListener(\n transitionEvent.name as string,\n eventHandler as () => void\n );\n } else {\n if (this.transitionFinishTimeout) {\n clearTimeout(this.transitionFinishTimeout);\n }\n this.transitionFinishTimeout = setTimeout(\n eventHandler.bind(this),\n this.timeout\n );\n }\n }\n\n renderHeader(header: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Headline vkuiClass=\"Alert__header\" weight=\"medium\">\n {header}\n </Headline>\n );\n case IOS:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"semibold\" level=\"3\">\n {header}\n </Title>\n );\n case ANDROID:\n return (\n <Title vkuiClass=\"Alert__header\" weight=\"medium\" level=\"2\">\n {header}\n </Title>\n );\n default:\n return undefined;\n }\n }\n\n renderText(text: React.ReactNode) {\n switch (this.props.platform) {\n case VKCOM:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"1\" weight=\"regular\">\n {text}\n </Caption>\n );\n case IOS:\n return (\n <Caption vkuiClass=\"Alert__text\" level=\"2\" weight=\"regular\">\n {text}\n </Caption>\n );\n case ANDROID:\n return (\n <Headline vkuiClass=\"Alert__text\" weight=\"regular\">\n {text}\n </Headline>\n );\n default:\n return undefined;\n }\n }\n\n renderAction = (action: AlertActionInterface, i: number) => {\n const { platform } = this.props;\n\n if (platform === IOS) {\n const { Component = \"button\" } = action;\n return (\n <Tappable\n Component={action.href ? \"a\" : Component}\n vkuiClass={classNames(\n \"Alert__action\",\n `Alert__action--${action.mode}`\n )}\n onClick={this.onItemClick(action)}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Tappable>\n );\n }\n\n let mode: ButtonProps[\"mode\"] =\n action.mode === \"cancel\" ? \"secondary\" : \"primary\";\n\n if (platform === ANDROID) {\n mode = \"tertiary\";\n\n if (\n this.props.viewWidth === ViewWidth.DESKTOP &&\n action.mode === \"destructive\"\n ) {\n mode = \"destructive\";\n }\n }\n\n return (\n <Button\n vkuiClass={classNames(\"Alert__button\", `Alert__button--${action.mode}`)}\n mode={mode}\n size=\"m\"\n onClick={this.onItemClick(action)}\n Component={action.Component}\n href={action.href}\n key={`alert-action-${i}`}\n target={action.target}\n >\n {action.title}\n </Button>\n );\n };\n\n render() {\n const {\n actions,\n actionsLayout,\n children,\n className,\n style,\n platform,\n viewWidth,\n text,\n header,\n ...restProps\n } = this.props;\n const { closing } = this.state;\n\n const resolvedActionsLayout: TAlertProps[\"actionsLayout\"] =\n platform === VKCOM ? \"horizontal\" : actionsLayout;\n const canShowCloseButton =\n platform === VKCOM ||\n (platform === ANDROID && viewWidth >= ViewWidth.SMALL_TABLET);\n const isDesktop = viewWidth >= ViewWidth.SMALL_TABLET;\n\n return (\n <PopoutWrapper\n className={className}\n closing={closing}\n style={style}\n onClick={this.onClose}\n >\n <FocusTrap\n {...restProps}\n getRootRef={this.element}\n onClick={this.stopPropagation}\n onClose={this.onClose}\n timeout={this.timeout}\n vkuiClass={classNames(getClassName(\"Alert\", platform), {\n \"Alert--v\": resolvedActionsLayout === \"vertical\",\n \"Alert--h\": resolvedActionsLayout === \"horizontal\",\n \"Alert--closing\": closing,\n \"Alert--desktop\": isDesktop,\n })}\n >\n {canShowCloseButton && <ModalDismissButton onClick={this.onClose} />}\n <div vkuiClass=\"Alert__content\">\n {hasReactNode(header) && this.renderHeader(header)}\n {hasReactNode(text) && this.renderText(text)}\n {children}\n </div>\n <footer vkuiClass=\"Alert__actions\">\n {actions?.map(this.renderAction)}\n </footer>\n </FocusTrap>\n </PopoutWrapper>\n );\n }\n}\n\nconst AlertWithPlatformAndAdaptivity = withPlatform(\n withAdaptivity(Alert, {\n viewWidth: true,\n })\n);\n\nexport { AlertWithPlatformAndAdaptivity as Alert };\n"],"file":"Alert.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"names":["React","useDOM","classNames","AppRootContext","withAdaptivity","SizeType","useIsomorphicLayoutEffect","classScopingMode","IconSettingsProvider","elementScrollController","globalScrollController","ScrollContext","noop","warnOnce","useKeyboardInputTracker","useInsets","AppearanceProviderContext","warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","props","isKeyboardInputActive","rootRef","useRef","useState","portalRoot","setPortalRoot","window","document","insets","appearanceContext","useContext","initialized","current","documentElement","classList","add","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","REGULAR","container","scrollController","useMemo","setAttribute","scheme","content","appRoot","keyboardInput"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n elementScrollController,\n globalScrollController,\n ScrollContext,\n ScrollContextInterface,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { AppearanceProviderContext } from \"../AppearanceProvider/AppearanceProviderContext\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n}\n\nconst warn = warnOnce(\"AppRoot\");\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { window, document } = useDOM();\n const insets = useInsets();\n const appearanceContext = React.useContext(AppearanceProviderContext);\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (document && mode === \"full\") {\n document.documentElement.classList.add(\"vkui\");\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\"Scroll modes only supported in embedded mode\");\n }\n if (_mode && _embedded) {\n warn(`mode=\"${mode}\" overrides embedded`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n const portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n setPortalRoot(portal);\n return () => {\n portal.parentElement?.removeChild(portal);\n };\n }, []);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n if (mode === \"full\") {\n document?.documentElement.classList.remove(\"vkui\");\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () =>\n scroll === \"contain\"\n ? elementScrollController(rootRef)\n : globalScrollController(window, document),\n [document, scroll, window]\n );\n\n useIsomorphicLayoutEffect(() => {\n portalRoot?.setAttribute(\"scheme\", appearanceContext?.scheme ?? \"\");\n }, [portalRoot, appearanceContext?.scheme]);\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot: portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n }}\n >\n <ScrollContext.Provider value={scrollController}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollContext.Provider>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n\n// eslint-disable-next-line import/no-default-export\nexport default AppRoot;\n"],"file":"AppRoot.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/AppRoot/AppRoot.tsx"],"names":["React","useDOM","classNames","AppRootContext","withAdaptivity","SizeType","useIsomorphicLayoutEffect","classScopingMode","IconSettingsProvider","elementScrollController","globalScrollController","ScrollContext","noop","warnOnce","useKeyboardInputTracker","useInsets","AppearanceProviderContext","warn","AppRoot","children","_mode","mode","_embedded","embedded","sizeX","hasMouse","noLegacyClasses","scroll","props","isKeyboardInputActive","rootRef","useRef","useState","portalRoot","setPortalRoot","window","document","insets","appearanceContext","useContext","initialized","current","documentElement","classList","add","noConflict","process","env","NODE_ENV","portal","createElement","body","appendChild","parentElement","removeChild","parent","classes","concat","remove","key","hasOwnProperty","inset","style","setProperty","removeProperty","REGULAR","container","scrollController","useMemo","setAttribute","scheme","content","appRoot","keyboardInput"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { useDOM } from \"../../lib/dom\";\nimport { classNames } from \"../../lib/classNames\";\nimport { AppRootContext } from \"./AppRootContext\";\nimport {\n withAdaptivity,\n SizeType,\n AdaptivityProps,\n} from \"../../hoc/withAdaptivity\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { classScopingMode } from \"../../lib/classScopingMode\";\nimport { IconSettingsProvider } from \"@vkontakte/icons\";\nimport {\n elementScrollController,\n globalScrollController,\n ScrollContext,\n ScrollContextInterface,\n} from \"./ScrollContext\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport { useKeyboardInputTracker } from \"../../hooks/useKeyboardInputTracker\";\nimport { useInsets } from \"../../hooks/useInsets\";\nimport { AppearanceProviderContext } from \"../AppearanceProvider/AppearanceProviderContext\";\nimport { Insets } from \"@vkontakte/vk-bridge\";\nimport \"./AppRoot.css\";\n\n// Используйте classList, но будьте осторожны\n/* eslint-disable no-restricted-properties */\n\nexport interface AppRootProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Pick<AdaptivityProps, \"sizeX\" | \"hasMouse\"> {\n /** @deprecated Use mode=\"embedded\" */\n embedded?: boolean;\n /** Режим встраивания */\n mode?: \"partial\" | \"embedded\" | \"full\";\n window?: Window;\n /** Убирает классы без префикса (.Button) */\n noLegacyClasses?: boolean;\n scroll?: \"global\" | \"contain\";\n}\n\nconst warn = warnOnce(\"AppRoot\");\nexport const AppRoot = withAdaptivity<AppRootProps>(\n ({\n children,\n mode: _mode,\n embedded: _embedded,\n sizeX,\n hasMouse,\n noLegacyClasses = false,\n scroll = \"global\",\n ...props\n }) => {\n // normalize mode\n const mode = _mode || (_embedded ? \"embedded\" : \"full\");\n const isKeyboardInputActive = useKeyboardInputTracker();\n const rootRef = React.useRef<HTMLDivElement | null>(null);\n const [portalRoot, setPortalRoot] = React.useState<HTMLDivElement | null>(\n null\n );\n const { window, document } = useDOM();\n const insets = useInsets();\n const appearanceContext = React.useContext(AppearanceProviderContext);\n\n const initialized = React.useRef(false);\n if (!initialized.current) {\n if (document && mode === \"full\") {\n document.documentElement.classList.add(\"vkui\");\n }\n classScopingMode.noConflict = noLegacyClasses;\n initialized.current = true;\n }\n\n if (process.env.NODE_ENV === \"development\") {\n if (scroll !== \"global\" && mode !== \"embedded\") {\n warn(\"Scroll modes only supported in embedded mode\");\n }\n if (_mode && _embedded) {\n warn(`mode=\"${mode}\" overrides embedded`);\n }\n }\n\n // setup portal\n useIsomorphicLayoutEffect(() => {\n const portal = document!.createElement(\"div\");\n portal.classList.add(\"vkui__portal-root\");\n document!.body.appendChild(portal);\n setPortalRoot(portal);\n return () => {\n portal.parentElement?.removeChild(portal);\n };\n }, []);\n\n // setup root classes\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\") {\n return noop;\n }\n\n const parent = rootRef.current?.parentElement;\n const classes = [\"vkui__root\"].concat(\n mode === \"embedded\" ? \"vkui__root--embedded\" : []\n );\n parent?.classList.add(...classes);\n\n return () => {\n parent?.classList.remove(...classes);\n if (mode === \"full\") {\n document?.documentElement.classList.remove(\"vkui\");\n }\n };\n }, []);\n\n // setup insets\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || !rootRef.current?.parentElement) {\n return noop;\n }\n\n const parent = rootRef.current.parentElement;\n\n for (const key in insets) {\n if (\n insets.hasOwnProperty(key) &&\n typeof insets[key as keyof Insets] === \"number\"\n ) {\n const inset = insets[key as keyof Insets];\n parent.style.setProperty(`--safe-area-inset-${key}`, `${inset}px`);\n portalRoot &&\n portalRoot.style.setProperty(\n `--safe-area-inset-${key}`,\n `${inset}px`\n );\n }\n }\n\n return () => {\n for (const key in insets) {\n if (insets.hasOwnProperty(key)) {\n parent.style.removeProperty(`--safe-area-inset-${key}`);\n portalRoot &&\n portalRoot.style.removeProperty(`--safe-area-inset-${key}`);\n }\n }\n };\n }, [insets, portalRoot]);\n\n // adaptivity handler\n useIsomorphicLayoutEffect(() => {\n if (mode === \"partial\" || sizeX !== SizeType.REGULAR) {\n return noop;\n }\n const container =\n mode === \"embedded\" ? rootRef.current?.parentElement : document!.body;\n container?.classList.add(\"vkui--sizeX-regular\");\n return () => container?.classList.remove(\"vkui--sizeX-regular\");\n }, [sizeX]);\n\n const scrollController = React.useMemo<ScrollContextInterface>(\n () =>\n scroll === \"contain\"\n ? elementScrollController(rootRef)\n : globalScrollController(window, document),\n [document, scroll, window]\n );\n\n useIsomorphicLayoutEffect(() => {\n portalRoot?.setAttribute(\"scheme\", appearanceContext?.scheme ?? \"\");\n }, [portalRoot, appearanceContext?.scheme]);\n\n const content = (\n <AppRootContext.Provider\n value={{\n appRoot: rootRef,\n portalRoot: portalRoot,\n embedded: mode === \"embedded\",\n keyboardInput: isKeyboardInputActive,\n mode,\n }}\n >\n <ScrollContext.Provider value={scrollController}>\n <IconSettingsProvider\n classPrefix=\"vkui\"\n globalClasses={!noLegacyClasses}\n >\n {children}\n </IconSettingsProvider>\n </ScrollContext.Provider>\n </AppRootContext.Provider>\n );\n\n return mode === \"partial\" ? (\n content\n ) : (\n <div\n ref={rootRef}\n vkuiClass={classNames(\"AppRoot\", {\n \"AppRoot--no-mouse\": !hasMouse,\n })}\n {...props}\n >\n {content}\n </div>\n );\n },\n {\n sizeX: true,\n hasMouse: true,\n }\n);\n"],"file":"AppRoot.js"}
|
|
@@ -2,7 +2,7 @@ import { createScopedElement } from "../../lib/jsxRuntime";
|
|
|
2
2
|
import * as React from "react";
|
|
3
3
|
import { AppearanceProviderContext } from "./AppearanceProviderContext";
|
|
4
4
|
import { getScheme } from "../../helpers/getScheme";
|
|
5
|
-
import {
|
|
5
|
+
import { classNamesString } from "../../lib/classNames";
|
|
6
6
|
import { usePlatform } from "../../hooks/usePlatform";
|
|
7
7
|
export var AppearanceProvider = function AppearanceProvider(_ref) {
|
|
8
8
|
var children = _ref.children,
|
|
@@ -23,7 +23,7 @@ export var AppearanceProvider = function AppearanceProvider(_ref) {
|
|
|
23
23
|
}, React.Children.map(children, function (child) {
|
|
24
24
|
if ( /*#__PURE__*/React.isValidElement(child)) {
|
|
25
25
|
return /*#__PURE__*/React.cloneElement(child, {
|
|
26
|
-
className:
|
|
26
|
+
className: classNamesString(child.props.className, "vkui".concat(appearanceContext.scheme))
|
|
27
27
|
});
|
|
28
28
|
}
|
|
29
29
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"names":["React","AppearanceProviderContext","getScheme","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/AppearanceProvider/AppearanceProvider.tsx"],"names":["React","AppearanceProviderContext","getScheme","classNamesString","usePlatform","AppearanceProvider","children","appearance","platform","appearanceContext","useMemo","scheme","Children","map","child","isValidElement","cloneElement","className","props"],"mappings":";AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA,SAASC,yBAAT;AACA,SAASC,SAAT;AACA,SAASC,gBAAT;AACA,SAASC,WAAT;AAMA,OAAO,IAAMC,kBAAqD,GAAG,SAAxDA,kBAAwD,OAG/D;AAAA,MAFJC,QAEI,QAFJA,QAEI;AAAA,6BADJC,UACI;AAAA,MADJA,UACI,gCADS,OACT;AACJ,MAAMC,QAAQ,GAAGJ,WAAW,EAA5B;AAEA,MAAMK,iBAAiB,GAAGT,KAAK,CAACU,OAAN,CACxB;AAAA,WAAO;AACLC,MAAAA,MAAM,EAAET,SAAS,CAAC;AAChBM,QAAAA,QAAQ,EAARA,QADgB;AAEhBD,QAAAA,UAAU,EAAVA;AAFgB,OAAD,CADZ;AAKLA,MAAAA,UAAU,EAAVA;AALK,KAAP;AAAA,GADwB,EAQxB,CAACA,UAAD,EAAaC,QAAb,CARwB,CAA1B;AAWA,SACE,oBAAC,yBAAD,CAA2B,QAA3B;AAAoC,IAAA,KAAK,EAAEC;AAA3C,KACGT,KAAK,CAACY,QAAN,CAAeC,GAAf,CAAmBP,QAAnB,EAA6B,UAACQ,KAAD,EAAW;AACvC,sBAAId,KAAK,CAACe,cAAN,CAAqBD,KAArB,CAAJ,EAAiC;AAC/B,0BAAOd,KAAK,CAACgB,YAAN,CAAmBF,KAAnB,EAA0B;AAC/BG,QAAAA,SAAS,EAAEd,gBAAgB,CACzBW,KAAK,CAACI,KAAN,CAAYD,SADa,gBAElBR,iBAAiB,CAACE,MAFA;AADI,OAA1B,CAAP;AAMD;;AACD,WAAOG,KAAP;AACD,GAVA,CADH,CADF;AAeD,CAhCM","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { AppearanceProviderContext } from \"./AppearanceProviderContext\";\nimport { getScheme } from \"../../helpers/getScheme\";\nimport { classNamesString } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\n\nexport interface AppearanceProviderProps {\n appearance?: AppearanceType;\n}\n\nexport const AppearanceProvider: React.FC<AppearanceProviderProps> = ({\n children,\n appearance = \"light\",\n}) => {\n const platform = usePlatform();\n\n const appearanceContext = React.useMemo(\n () => ({\n scheme: getScheme({\n platform,\n appearance,\n }),\n appearance,\n }),\n [appearance, platform]\n );\n\n return (\n <AppearanceProviderContext.Provider value={appearanceContext}>\n {React.Children.map(children, (child) => {\n if (React.isValidElement(child)) {\n return React.cloneElement(child, {\n className: classNamesString(\n child.props.className,\n `vkui${appearanceContext.scheme}`\n ),\n });\n }\n return child;\n })}\n </AppearanceProviderContext.Provider>\n );\n};\n"],"file":"AppearanceProvider.js"}
|
|
@@ -1,19 +1,17 @@
|
|
|
1
|
-
.vkuiButton{position:relative;display:inline-block;box-sizing:border-box;text-decoration:none;border:0;min-height:28px;min-height:var(--vkui--size_button_small_height--
|
|
1
|
+
.vkuiButton{position:relative;display:inline-block;box-sizing:border-box;text-decoration:none;border:0;min-height:28px;min-height:var(--vkui--size_button_small_height--compact);margin:0;padding:0;-webkit-user-select:none;user-select:none;border-radius:8px;border-radius:var(--vkui--size_border_radius--regular);max-width:100%}.vkuiButton--stretched{display:block;width:100%;flex-grow:1;flex-basis:0}.vkuiButton__in{display:flex;align-items:center;justify-content:center;width:100%;min-height:inherit;padding:1px 16px;text-align:center;box-sizing:border-box}.vkuiButton--aln-left .vkuiButton__in{justify-content:flex-start;text-align:left}.vkuiButton--aln-right .vkuiButton__in{justify-content:flex-end;text-align:right}.vkuiButton[disabled]{opacity:.4;opacity:var(--vkui--opacity_disable)}.vkuiButton--lvl-primary[disabled]:not(.vkuiButton--clr-overlay):not(.vkuiButton--clr-negative):not(.vkuiButton--clr-positive),.vkuiButton--lvl-secondary[disabled]:not(.vkuiButton--clr-overlay),.vkuiButton--lvl-tertiary[disabled]:not(.vkuiButton--clr-overlay),.vkuiButton--lvl-outline[disabled]:not(.vkuiButton--clr-overlay){opacity:.64}.vkuiButton--singleIcon.vkuiButton--sz-s .vkuiButton__in{padding:0 9px}.vkuiButton--singleIcon.vkuiButton--sz-m .vkuiButton__in{padding:0 10px}.vkuiButton--singleIcon.vkuiButton--sz-l .vkuiButton__in{padding:0 6px}.vkuiButton--singleIcon.vkuiButton--sizeY-regular.vkuiButton--sz-s .vkuiButton__in{padding:0 9px}.vkuiButton--singleIcon.vkuiButton--sizeY-regular.vkuiButton--sz-l .vkuiButton__in{padding:0 10px}.vkuiButton--singleIcon .vkuiButton__before:only-child,.vkuiButton--singleIcon .vkuiButton__after:only-child{margin:0}.vkuiButton__content{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.vkuiButton__content--caps{-webkit-transform:translateY(0);transform:translateY(0)}.vkuiButton__spinner{position:absolute;left:0;top:0;right:0;bottom:0}.vkuiButton__spinner+.vkuiButton__in{visibility:hidden}.vkuiButton--lvl-primary.vkuiButton--clr-accent{background-color:#2d81e0;background-color:var(--button_primary_background,
|
|
2
2
|
var(--vkui--color_background_accent)
|
|
3
|
-
)}.vkuiButton--lvl-primary.vkuiButton--clr-accent.vkuiButton--hover{background-color:var(--vkui--color_background_accent--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-accent.vkuiButton--active{background-color:var(--vkui--color_background_accent--active)}.vkuiButton--lvl-primary.vkuiButton--clr-positive{background-color:#4bb34b;background-color:var(--button_commerce_background,
|
|
3
|
+
)}.vkuiButton--lvl-primary.vkuiButton--clr-accent.vkuiButton--hover{background-color:#2483e4;background-color:var(--vkui--color_background_accent--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-accent.vkuiButton--active{background-color:#237edd;background-color:var(--vkui--color_background_accent--active)}.vkuiButton--lvl-primary.vkuiButton--clr-positive{background-color:#4bb34b;background-color:var(--button_commerce_background,
|
|
4
4
|
var(--vkui--color_background_positive)
|
|
5
|
-
)}.vkuiButton--lvl-primary.vkuiButton--clr-positive.vkuiButton--hover{background-color:var(--vkui--color_background_positive--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-positive.vkuiButton--active{background-color:var(--vkui--color_background_positive--active)}.vkuiButton--lvl-primary.vkuiButton--clr-negative{background-color:#e64646;background-color:var(--destructive, var(--vkui--color_background_negative))}.vkuiButton--lvl-primary.vkuiButton--clr-negative.vkuiButton--hover{background-color:var(--vkui--color_background_negative--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-negative.vkuiButton--active{background-color:var(--vkui--color_background_negative--active)}.vkuiButton--lvl-primary.vkuiButton--clr-neutral{background-color:#f5f5f5;background-color:var(--content_tint_background,
|
|
5
|
+
)}.vkuiButton--lvl-primary.vkuiButton--clr-positive.vkuiButton--hover{background-color:#48ac4a;background-color:var(--vkui--color_background_positive--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-positive.vkuiButton--active{background-color:#45a64a;background-color:var(--vkui--color_background_positive--active)}.vkuiButton--lvl-primary.vkuiButton--clr-negative{background-color:#e64646;background-color:var(--destructive, var(--vkui--color_background_negative))}.vkuiButton--lvl-primary.vkuiButton--clr-negative.vkuiButton--hover{background-color:#dd4446;background-color:var(--vkui--color_background_negative--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-negative.vkuiButton--active{background-color:#d44245;background-color:var(--vkui--color_background_negative--active)}.vkuiButton--lvl-primary.vkuiButton--clr-neutral{background-color:#f5f5f5;background-color:var(--content_tint_background,
|
|
6
6
|
var(--vkui--color_background_secondary)
|
|
7
|
-
)}.vkuiButton--lvl-primary.vkuiButton--clr-neutral.vkuiButton--hover{background-color:var(--vkui--color_background_secondary--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-neutral.vkuiButton--active{background-color:var(--vkui--color_background_secondary--active)}.vkuiButton--lvl-secondary{background-color
|
|
7
|
+
)}.vkuiButton--lvl-primary.vkuiButton--clr-neutral.vkuiButton--hover{background-color:#ebecee;background-color:var(--vkui--color_background_secondary--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-neutral.vkuiButton--active{background-color:#e1e3e6;background-color:var(--vkui--color_background_secondary--active)}.vkuiButton--lvl-secondary{background-color:rgba(0,28,61,.05);background-color:var(--button_secondary_background,
|
|
8
8
|
var(--vkui--color_background_secondary)
|
|
9
|
-
)}.vkuiButton--
|
|
10
|
-
var(--vkui--color_background_secondary)
|
|
11
|
-
)}.vkuiButton--lvl-secondary.vkuiButton--hover{background-color:var(--vkui--color_background_secondary--hover)}.vkuiButton--lvl-secondary.vkuiButton--active{background-color:var(--vkui--color_background_secondary--active)}.vkuiButton--lvl-tertiary,.vkuiButton--lvl-outline{background-color:transparent;background-color:var(--button_tertiary_background,
|
|
9
|
+
)}.vkuiButton--lvl-secondary.vkuiButton--hover{background-color:#ebecee;background-color:var(--vkui--color_background_secondary--hover)}.vkuiButton--lvl-secondary.vkuiButton--active{background-color:#e1e3e6;background-color:var(--vkui--color_background_secondary--active)}.vkuiButton--lvl-tertiary,.vkuiButton--lvl-outline{background-color:transparent;background-color:var(--button_tertiary_background,
|
|
12
10
|
var(--vkui--color_transparent)
|
|
13
|
-
)}.vkuiButton--lvl-tertiary.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--hover{background-color:var(--vkui--color_transparent--hover)}.vkuiButton--lvl-tertiary.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--active{background-color:var(--vkui--color_transparent--active)}.vkuiButton--lvl-primary.vkuiButton--clr-accent{color:#fff;color:var(--button_primary_foreground, var(--vkui--color_text_contrast))}.vkuiButton--lvl-primary.vkuiButton--clr-negative{color:#fff;color:var(--white, var(--vkui--color_text_contrast))}.vkuiButton--lvl-primary.vkuiButton--clr-positive{color:#fff;color:var(--button_commerce_foreground, var(--vkui--color_text_contrast))}.vkuiButton--lvl-primary.vkuiButton--clr-accent.vkuiButton--hover,.vkuiButton--lvl-primary.vkuiButton--clr-positive.vkuiButton--hover,.vkuiButton--lvl-primary.vkuiButton--clr-negative.vkuiButton--hover{color:var(--vkui--color_text_contrast--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-accent.vkuiButton--active,.vkuiButton--lvl-primary.vkuiButton--clr-positive.vkuiButton--active,.vkuiButton--lvl-primary.vkuiButton--clr-negative.vkuiButton--active{color:var(--vkui--color_text_contrast--active)}.vkuiButton--lvl-tertiary.vkuiButton--clr-accent{color:#2d81e0;color:var(--button_tertiary_foreground, var(--vkui--color_text_accent))}.vkuiButton--lvl-secondary.vkuiButton--clr-accent{color:#2688eb;color:var(--button_secondary_foreground, var(--vkui--color_text_accent))}.vkuiButton--lvl-outline.vkuiButton--clr-accent{color:#2688eb;color:var(--button_outline_foreground, var(--vkui--color_text_accent))}.vkuiButton--lvl-tertiary.vkuiButton--clr-accent.vkuiButton--hover,.vkuiButton--lvl-secondary.vkuiButton--clr-accent.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--clr-accent.vkuiButton--hover{color:var(--vkui--color_text_accent--hover)}.vkuiButton--lvl-tertiary.vkuiButton--clr-accent.vkuiButton--active,.vkuiButton--lvl-secondary.vkuiButton--clr-accent.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--clr-accent.vkuiButton--active{color:var(--vkui--color_text_accent--active)}.vkuiButton--lvl-tertiary.vkuiButton--clr-positive,.vkuiButton--lvl-secondary.vkuiButton--clr-positive,.vkuiButton--lvl-outline.vkuiButton--clr-positive{color:#4bb34b;color:var(--button_commerce_background, var(--vkui--color_text_positive))}.vkuiButton--lvl-tertiary.vkuiButton--clr-positive.vkuiButton--hover,.vkuiButton--lvl-secondary.vkuiButton--clr-positive.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--clr-positive.vkuiButton--hover{color:var(--vkui--color_text_positive--hover)}.vkuiButton--lvl-tertiary.vkuiButton--clr-positive.vkuiButton--active,.vkuiButton--lvl-secondary.vkuiButton--clr-positive.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--clr-positive.vkuiButton--active{color:var(--vkui--color_text_positive--active)}.vkuiButton--lvl-tertiary.vkuiButton--clr-negative,.vkuiButton--lvl-secondary.vkuiButton--clr-negative,.vkuiButton--lvl-outline.vkuiButton--clr-negative{color:#e64646;color:var(--destructive, var(--vkui--color_text_negative))}.vkuiButton--lvl-tertiary.vkuiButton--clr-negative.vkuiButton--hover,.vkuiButton--lvl-secondary.vkuiButton--clr-negative.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--clr-negative.vkuiButton--hover{color:var(--vkui--color_text_negative--hover)}.vkuiButton--lvl-tertiary.vkuiButton--clr-negative.vkuiButton--active,.vkuiButton--lvl-secondary.vkuiButton--clr-negative.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--clr-negative.vkuiButton--active{color:var(--vkui--color_text_negative--active)}.vkuiButton--lvl-primary.vkuiButton--clr-neutral,.vkuiButton--lvl-secondary.vkuiButton--clr-neutral,.vkuiButton--lvl-tertiary.vkuiButton--clr-neutral,.vkuiButton--lvl-outline.vkuiButton--clr-neutral{color:#000;color:var(--text_primary, var(--vkui--color_text_primary))}.vkuiButton--lvl-primary.vkuiButton--clr-neutral.vkuiButton--hover,.vkuiButton--lvl-secondary.vkuiButton--clr-neutral.vkuiButton--hover,.vkuiButton--lvl-tertiary.vkuiButton--clr-neutral.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--clr-neutral.vkuiButton--hover{color:var(--vkui--color_text_primary--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-neutral.vkuiButton--active,.vkuiButton--lvl-secondary.vkuiButton--clr-neutral.vkuiButton--active,.vkuiButton--lvl-tertiary.vkuiButton--clr-neutral.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--clr-neutral.vkuiButton--active{color:var(--vkui--color_text_primary--active)}.vkuiButton--lvl-outline.vkuiButton--clr-accent{box-shadow:inset 0 0 0 1px #2688eb;box-shadow:inset 0 0 0 1px var(--button_outline_border, var(--vkui--color_stroke_accent))}.vkuiButton--lvl-outline.vkuiButton--clr-accent.vkuiButton--hover{box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_accent--hover)}.vkuiButton--lvl-outline.vkuiButton--clr-accent.vkuiButton--active{box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_accent--active)}.vkuiButton--lvl-outline.vkuiButton--clr-positive{box-shadow:inset 0 0 0 1px #4bb34b;box-shadow:inset 0 0 0 1px var(--button_commerce_background, var(--vkui--color_stroke_positive))}.vkuiButton--lvl-outline.vkuiButton--clr-positive.vkuiButton--hover{box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_positive--hover)}.vkuiButton--lvl-outline.vkuiButton--clr-positive.vkuiButton--active{box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_positive--active)}.vkuiButton--lvl-outline.vkuiButton--clr-negative{box-shadow:inset 0 0 0 1px #e64646;box-shadow:inset 0 0 0 1px var(--destructive, var(--vkui--color_stroke_negative))}.vkuiButton--lvl-outline.vkuiButton--clr-negative.vkuiButton--hover{box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_negative--hover)}.vkuiButton--lvl-outline.vkuiButton--clr-negative.vkuiButton--active{box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_negative--active)}.vkuiButton--lvl-outline.vkuiButton--clr-neutral{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);box-shadow:inset 0 0 0 1px var(--field_border, var(--vkui--color_field_border_alpha))}.vkuiButton--lvl-outline.vkuiButton--clr-neutral.vkuiButton--hover{background-color:var(--vkui--color_background_secondary--hover);box-shadow:unset}.vkuiButton--lvl-outline.vkuiButton--clr-neutral.vkuiButton--active{background-color:var(--vkui--color_background_secondary--active);box-shadow:unset}.vkuiButton--lvl-primary.vkuiButton--clr-overlay{background-color:#fff;background-color:var(--media_overlay_button_background,
|
|
11
|
+
)}.vkuiButton--lvl-tertiary.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--hover{background-color:rgba(0,16,61,.04);background-color:var(--vkui--color_transparent--hover)}.vkuiButton--lvl-tertiary.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--active{background-color:rgba(0,16,61,.08);background-color:var(--vkui--color_transparent--active)}.vkuiButton--lvl-primary.vkuiButton--clr-accent{color:#fff;color:var(--button_primary_foreground, var(--vkui--color_text_contrast))}.vkuiButton--lvl-primary.vkuiButton--clr-negative{color:#fff;color:var(--white, var(--vkui--color_text_contrast))}.vkuiButton--lvl-primary.vkuiButton--clr-positive{color:#fff;color:var(--button_commerce_foreground, var(--vkui--color_text_contrast))}.vkuiButton--lvl-primary.vkuiButton--clr-accent.vkuiButton--hover,.vkuiButton--lvl-primary.vkuiButton--clr-positive.vkuiButton--hover,.vkuiButton--lvl-primary.vkuiButton--clr-negative.vkuiButton--hover{color:#f5f5f7;color:var(--vkui--color_text_contrast--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-accent.vkuiButton--active,.vkuiButton--lvl-primary.vkuiButton--clr-positive.vkuiButton--active,.vkuiButton--lvl-primary.vkuiButton--clr-negative.vkuiButton--active{color:#ebecef;color:var(--vkui--color_text_contrast--active)}.vkuiButton--lvl-tertiary.vkuiButton--clr-accent{color:#2d81e0;color:var(--button_tertiary_foreground, var(--vkui--color_text_accent))}.vkuiButton--lvl-secondary.vkuiButton--clr-accent{color:#2688eb;color:var(--button_secondary_foreground, var(--vkui--color_text_accent))}.vkuiButton--lvl-outline.vkuiButton--clr-accent{color:#2688eb;color:var(--button_outline_foreground, var(--vkui--color_text_accent))}.vkuiButton--lvl-tertiary.vkuiButton--clr-accent.vkuiButton--hover,.vkuiButton--lvl-secondary.vkuiButton--clr-accent.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--clr-accent.vkuiButton--hover{color:#2483e4;color:var(--vkui--color_text_accent--hover)}.vkuiButton--lvl-tertiary.vkuiButton--clr-accent.vkuiButton--active,.vkuiButton--lvl-secondary.vkuiButton--clr-accent.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--clr-accent.vkuiButton--active{color:#237edd;color:var(--vkui--color_text_accent--active)}.vkuiButton--lvl-tertiary.vkuiButton--clr-positive,.vkuiButton--lvl-secondary.vkuiButton--clr-positive,.vkuiButton--lvl-outline.vkuiButton--clr-positive{color:#4bb34b;color:var(--button_commerce_background, var(--vkui--color_text_positive))}.vkuiButton--lvl-tertiary.vkuiButton--clr-positive.vkuiButton--hover,.vkuiButton--lvl-secondary.vkuiButton--clr-positive.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--clr-positive.vkuiButton--hover{color:#48ac4a;color:var(--vkui--color_text_positive--hover)}.vkuiButton--lvl-tertiary.vkuiButton--clr-positive.vkuiButton--active,.vkuiButton--lvl-secondary.vkuiButton--clr-positive.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--clr-positive.vkuiButton--active{color:#45a64a;color:var(--vkui--color_text_positive--active)}.vkuiButton--lvl-tertiary.vkuiButton--clr-negative,.vkuiButton--lvl-secondary.vkuiButton--clr-negative,.vkuiButton--lvl-outline.vkuiButton--clr-negative{color:#e64646;color:var(--destructive, var(--vkui--color_text_negative))}.vkuiButton--lvl-tertiary.vkuiButton--clr-negative.vkuiButton--hover,.vkuiButton--lvl-secondary.vkuiButton--clr-negative.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--clr-negative.vkuiButton--hover{color:#dd4446;color:var(--vkui--color_text_negative--hover)}.vkuiButton--lvl-tertiary.vkuiButton--clr-negative.vkuiButton--active,.vkuiButton--lvl-secondary.vkuiButton--clr-negative.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--clr-negative.vkuiButton--active{color:#d44245;color:var(--vkui--color_text_negative--active)}.vkuiButton--lvl-primary.vkuiButton--clr-neutral,.vkuiButton--lvl-secondary.vkuiButton--clr-neutral,.vkuiButton--lvl-tertiary.vkuiButton--clr-neutral,.vkuiButton--lvl-outline.vkuiButton--clr-neutral{color:#000;color:var(--text_primary, var(--vkui--color_text_primary))}.vkuiButton--lvl-primary.vkuiButton--clr-neutral.vkuiButton--hover,.vkuiButton--lvl-secondary.vkuiButton--clr-neutral.vkuiButton--hover,.vkuiButton--lvl-tertiary.vkuiButton--clr-neutral.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--clr-neutral.vkuiButton--hover{color:#000102;color:var(--vkui--color_text_primary--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-neutral.vkuiButton--active,.vkuiButton--lvl-secondary.vkuiButton--clr-neutral.vkuiButton--active,.vkuiButton--lvl-tertiary.vkuiButton--clr-neutral.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--clr-neutral.vkuiButton--active{color:#000105;color:var(--vkui--color_text_primary--active)}.vkuiButton--lvl-outline.vkuiButton--clr-accent{box-shadow:inset 0 0 0 1px #2688eb;box-shadow:inset 0 0 0 1px var(--button_outline_border, var(--vkui--color_stroke_accent))}.vkuiButton--lvl-outline.vkuiButton--clr-accent.vkuiButton--hover{box-shadow:inset 0 0 0 1px #2483e4;box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_accent--hover)}.vkuiButton--lvl-outline.vkuiButton--clr-accent.vkuiButton--active{box-shadow:inset 0 0 0 1px #237edd;box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_accent--active)}.vkuiButton--lvl-outline.vkuiButton--clr-positive{box-shadow:inset 0 0 0 1px #4bb34b;box-shadow:inset 0 0 0 1px var(--button_commerce_background, var(--vkui--color_stroke_positive))}.vkuiButton--lvl-outline.vkuiButton--clr-positive.vkuiButton--hover{box-shadow:inset 0 0 0 1px #48ac4a;box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_positive--hover)}.vkuiButton--lvl-outline.vkuiButton--clr-positive.vkuiButton--active{box-shadow:inset 0 0 0 1px #45a64a;box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_positive--active)}.vkuiButton--lvl-outline.vkuiButton--clr-negative{box-shadow:inset 0 0 0 1px #e64646;box-shadow:inset 0 0 0 1px var(--destructive, var(--vkui--color_stroke_negative))}.vkuiButton--lvl-outline.vkuiButton--clr-negative.vkuiButton--hover{box-shadow:inset 0 0 0 1px #dd4446;box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_negative--hover)}.vkuiButton--lvl-outline.vkuiButton--clr-negative.vkuiButton--active{box-shadow:inset 0 0 0 1px #d44245;box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_negative--active)}.vkuiButton--lvl-outline.vkuiButton--clr-neutral{box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);box-shadow:inset 0 0 0 1px var(--field_border, var(--vkui--color_field_border_alpha))}.vkuiButton--lvl-outline.vkuiButton--clr-neutral.vkuiButton--hover{background-color:#ebecee;background-color:var(--vkui--color_background_secondary--hover);box-shadow:unset}.vkuiButton--lvl-outline.vkuiButton--clr-neutral.vkuiButton--active{background-color:#e1e3e6;background-color:var(--vkui--color_background_secondary--active);box-shadow:unset}.vkuiButton--lvl-primary.vkuiButton--clr-overlay{background-color:#fff;background-color:var(--media_overlay_button_background,
|
|
14
12
|
var(--vkui--color_background_contrast)
|
|
15
|
-
)}.vkuiButton--lvl-primary.vkuiButton--clr-overlay.vkuiButton--hover{background-color:var(--vkui--color_background_contrast--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-overlay.vkuiButton--active{background-color:var(--vkui--color_background_contrast--active)}.vkuiButton--lvl-secondary.vkuiButton--clr-overlay{background-color:rgba(255,255,255,.2);background-color:var(--vkui--color_background_contrast_secondary_alpha,
|
|
13
|
+
)}.vkuiButton--lvl-primary.vkuiButton--clr-overlay.vkuiButton--hover{background-color:#f5f5f7;background-color:var(--vkui--color_background_contrast--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-overlay.vkuiButton--active{background-color:#ebecef;background-color:var(--vkui--color_background_contrast--active)}.vkuiButton--lvl-secondary.vkuiButton--clr-overlay{background-color:rgba(255,255,255,.2);background-color:var(--vkui--color_background_contrast_secondary_alpha,
|
|
16
14
|
rgba(255, 255, 255, 0.2)
|
|
17
|
-
)}.vkuiButton--lvl-secondary.vkuiButton--clr-overlay.vkuiButton--hover,.vkuiButton--lvl-tertiary.vkuiButton--clr-overlay.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--clr-overlay.vkuiButton--hover{background-color:var(--vkui--color_background_contrast_secondary_alpha--hover)}.vkuiButton--lvl-secondary.vkuiButton--clr-overlay.vkuiButton--active,.vkuiButton--lvl-tertiary.vkuiButton--clr-overlay.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--clr-overlay.vkuiButton--active{background-color:var(--vkui--color_background_contrast_secondary_alpha--active)}.vkuiButton--lvl-primary.vkuiButton--clr-overlay{color:#2c2d2e;color:var(--media_overlay_button_foreground,
|
|
15
|
+
)}.vkuiButton--lvl-secondary.vkuiButton--clr-overlay.vkuiButton--hover,.vkuiButton--lvl-tertiary.vkuiButton--clr-overlay.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--clr-overlay.vkuiButton--hover{background-color:rgba(255,255,255,.24);background-color:var(--vkui--color_background_contrast_secondary_alpha--hover)}.vkuiButton--lvl-secondary.vkuiButton--clr-overlay.vkuiButton--active,.vkuiButton--lvl-tertiary.vkuiButton--clr-overlay.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--clr-overlay.vkuiButton--active{background-color:rgba(255,255,255,.28);background-color:var(--vkui--color_background_contrast_secondary_alpha--active)}.vkuiButton--lvl-primary.vkuiButton--clr-overlay{color:#2c2d2e;color:var(--media_overlay_button_foreground,
|
|
18
16
|
var(--vkui--color_text_primary_invariably)
|
|
19
|
-
)}.vkuiButton--lvl-primary.vkuiButton--clr-overlay.vkuiButton--hover{color:var(--vkui--color_text_primary_invariably--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-overlay.vkuiButton--active{color:var(--vkui--color_text_primary_invariably--active)}.vkuiButton--lvl-secondary.vkuiButton--clr-overlay,.vkuiButton--lvl-tertiary.vkuiButton--clr-overlay,.vkuiButton--lvl-outline.vkuiButton--clr-overlay{color:#fff;color:var(--white, var(--vkui--color_text_contrast))}.vkuiButton--lvl-secondary.vkuiButton--clr-overlay.vkuiButton--hover,.vkuiButton--lvl-tertiary.vkuiButton--clr-overlay.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--clr-overlay.vkuiButton--hover{color:var(--vkui--color_text_contrast--hover)}.vkuiButton--lvl-secondary.vkuiButton--clr-overlay.vkuiButton--active,.vkuiButton--lvl-tertiary.vkuiButton--clr-overlay.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--clr-overlay.vkuiButton--active{color:var(--vkui--color_text_contrast--active)}.vkuiButton--lvl-outline.vkuiButton--clr-overlay{box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px var(--white, var(--vkui--color_stroke_contrast))}.vkuiButton--lvl-outline.vkuiButton--clr-overlay.vkuiButton--hover{box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_contrast--hover)}.vkuiButton--lvl-outline.vkuiButton--clr-overlay.vkuiButton--active{box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_contrast--active)}.vkuiButton__before:not(:last-child){margin-left:-4px}.vkuiButton__before:not(:last-child)+.vkuiButton__content{margin-left:6px}.vkuiButton__after:not(:first-child){margin-left:6px}.vkuiButton--sz-l .vkuiButton__before:not(:last-child)+.vkuiButton__content{margin-left:8px}.vkuiButton--sz-l .vkuiButton__after:not(:first-child){margin-left:8px}.vkuiButton--sz-l .vkuiButton__in{justify-content:center;padding-left:20px;padding-right:20px}.vkuiButton:not(.vkuiButton--sz-s) .vkuiButton__content{-webkit-transform:translateY(-1px);transform:translateY(-1px)}.vkuiButton--
|
|
17
|
+
)}.vkuiButton--lvl-primary.vkuiButton--clr-overlay.vkuiButton--hover{color:#000102;color:var(--vkui--color_text_primary_invariably--hover)}.vkuiButton--lvl-primary.vkuiButton--clr-overlay.vkuiButton--active{color:#000105;color:var(--vkui--color_text_primary_invariably--active)}.vkuiButton--lvl-secondary.vkuiButton--clr-overlay,.vkuiButton--lvl-tertiary.vkuiButton--clr-overlay,.vkuiButton--lvl-outline.vkuiButton--clr-overlay{color:#fff;color:var(--white, var(--vkui--color_text_contrast))}.vkuiButton--lvl-secondary.vkuiButton--clr-overlay.vkuiButton--hover,.vkuiButton--lvl-tertiary.vkuiButton--clr-overlay.vkuiButton--hover,.vkuiButton--lvl-outline.vkuiButton--clr-overlay.vkuiButton--hover{color:#f5f5f7;color:var(--vkui--color_text_contrast--hover)}.vkuiButton--lvl-secondary.vkuiButton--clr-overlay.vkuiButton--active,.vkuiButton--lvl-tertiary.vkuiButton--clr-overlay.vkuiButton--active,.vkuiButton--lvl-outline.vkuiButton--clr-overlay.vkuiButton--active{color:#ebecef;color:var(--vkui--color_text_contrast--active)}.vkuiButton--lvl-outline.vkuiButton--clr-overlay{box-shadow:inset 0 0 0 1px #fff;box-shadow:inset 0 0 0 1px var(--white, var(--vkui--color_stroke_contrast))}.vkuiButton--lvl-outline.vkuiButton--clr-overlay.vkuiButton--hover{box-shadow:inset 0 0 0 1px #f5f5f7;box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_contrast--hover)}.vkuiButton--lvl-outline.vkuiButton--clr-overlay.vkuiButton--active{box-shadow:inset 0 0 0 1px #ebecef;box-shadow:inset 0 0 0 1px var(--vkui--color_stroke_contrast--active)}.vkuiButton__before:not(:last-child){margin-left:-4px}.vkuiButton__before:not(:last-child)+.vkuiButton__content{margin-left:6px}.vkuiButton__after:not(:first-child){margin-left:6px}.vkuiButton--sz-l .vkuiButton__before:not(:last-child)+.vkuiButton__content{margin-left:8px}.vkuiButton--sz-l .vkuiButton__after:not(:first-child){margin-left:8px}.vkuiButton--sz-l .vkuiButton__in{justify-content:center;padding-left:20px;padding-right:20px}.vkuiButton:not(.vkuiButton--sz-s) .vkuiButton__content{-webkit-transform:translateY(-1px);transform:translateY(-1px)}.vkuiButton--sz-m{min-height:32px;min-height:var(--vkui--size_button_medium_height--compact)}.vkuiButton--sz-l{min-height:36px;min-height:var(--vkui--size_button_large_height--compact)}.vkuiButton--sizeY-regular{min-height:30px;min-height:var(--vkui--size_button_small_height--regular)}.vkuiButton--sizeY-regular.vkuiButton--sz-m{min-height:36px;min-height:var(--vkui--size_button_medium_height--regular)}.vkuiButton--sizeY-regular.vkuiButton--sz-l{min-height:44px;min-height:var(--vkui--size_button_large_height--regular)}.vkuiBanner__actions>.vkuiButton{margin-top:12px;margin-right:16px;margin-bottom:6px}.vkuiBanner__actions>.vkuiButton--lvl-tertiary{margin:4px 16px 2px -16px}.vkuiBanner__actions>.vkuiButton--lvl-tertiary:first-child{margin-top:4px}.vkuiBanner__actions>.vkuiButton:not(.vkuiButton--lvl-tertiary)+.vkuiButton:not(.vkuiButton--lvl-tertiary){margin-top:0}.vkuiBanner__actions>.vkuiButton:not(.vkuiButton--lvl-tertiary)+.vkuiButton--lvl-tertiary{margin-top:2px;margin-left:-16px}.vkuiBanner__actions>.vkuiButton--lvl-tertiary+.vkuiButton--lvl-tertiary{margin-top:2px}.vkuiModalCardBase__actions .vkuiButton{flex:1;margin-left:6px;margin-right:6px}.vkuiModalCardBase__actions--v .vkuiButton{margin-left:0;margin-right:0}.vkuiModalCardBase__actions--v .vkuiButton+.vkuiButton{margin-top:12px}.vkuiRichCell__actions .vkuiButton+.vkuiButton{margin-left:8px}
|
|
@@ -5,7 +5,6 @@ var _excluded = ["size", "sizeY", "platform"],
|
|
|
5
5
|
_excluded2 = ["size", "mode", "appearance", "stretched", "align", "children", "before", "after", "getRootRef", "sizeY", "Component", "loading", "onClick"];
|
|
6
6
|
import { createScopedElement } from "../../lib/jsxRuntime";
|
|
7
7
|
import * as React from "react";
|
|
8
|
-
import { getClassName } from "../../helpers/getClassName";
|
|
9
8
|
import { classNames } from "../../lib/classNames";
|
|
10
9
|
import { ConfigProviderContext } from "../ConfigProvider/ConfigProviderContext";
|
|
11
10
|
import Tappable from "../Tappable/Tappable";
|
|
@@ -157,7 +156,7 @@ var Button = function Button(props) {
|
|
|
157
156
|
Component: restProps.href ? "a" : Component,
|
|
158
157
|
onClick: loading ? undefined : onClick,
|
|
159
158
|
focusVisibleMode: "outside",
|
|
160
|
-
vkuiClass: classNames(
|
|
159
|
+
vkuiClass: classNames("Button", "Button--sz-".concat(size), "Button--lvl-".concat(resolvedMode), "Button--clr-".concat(resolvedAppearance), "Button--aln-".concat(align), "Button--sizeY-".concat(sizeY), (_classNames = {}, _defineProperty(_classNames, "Button--stretched", stretched), _defineProperty(_classNames, "Button--with-icon", hasIcons), _defineProperty(_classNames, "Button--singleIcon", Boolean(!children && !after && before || !children && after && !before)), _classNames)),
|
|
161
160
|
getRootRef: getRootRef,
|
|
162
161
|
hoverMode: hasNewTokens ? "Button--hover" : "background",
|
|
163
162
|
activeMode: hasNewTokens ? "Button--active" : "opacity"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"names":["React","getClassName","classNames","ConfigProviderContext","Tappable","Title","Text","Subhead","Caption","usePlatform","SizeType","withAdaptivity","IOS","VKCOM","Spinner","ButtonTypography","props","size","sizeY","platform","restProps","isCompact","COMPACT","resolveButtonAppearance","appearance","mode","resolvedAppearance","resolvedMode","undefined","Button","stretched","align","children","before","after","getRootRef","Component","loading","onClick","hasIcons","Boolean","hasNewTokens","useContext","href","defaultProps","stopPropagation"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,YAAT;AACA,SAASC,UAAT;AACA,SAASC,qBAAT;AACA,OAAOC,QAAP;AACA,OAAOC,KAAP;AACA,OAAOC,IAAP;AACA,OAAOC,OAAP;AACA,OAAOC,OAAP;AAEA,SAASC,WAAT;AACA,SAEEC,QAFF,EAGEC,cAHF;AAKA,SAAmBC,GAAnB,EAAwBC,KAAxB;AACA,OAAOC,OAAP;AACA;;AAmCA,IAAMC,gBAAiD,GAAG,SAApDA,gBAAoD,CACxDC,KADwD,EAErD;AACH,MAAQC,IAAR,GAAgDD,KAAhD,CAAQC,IAAR;AAAA,MAAcC,KAAd,GAAgDF,KAAhD,CAAcE,KAAd;AAAA,MAAqBC,QAArB,GAAgDH,KAAhD,CAAqBG,QAArB;AAAA,MAAkCC,SAAlC,4BAAgDJ,KAAhD;;AACA,MAAMK,SAAS,GAAGH,KAAK,KAAKR,QAAQ,CAACY,OAArC;;AAEA,UAAQL,IAAR;AACE,SAAK,GAAL;AACE,UAAII,SAAJ,EAAe;AACb,eAAO,oBAAC,IAAD;AAAM,UAAA,MAAM,EAAC;AAAb,WAA0BD,SAA1B,EAAP;AACD;;AAED,aAAO,oBAAC,KAAD;AAAO,QAAA,KAAK,EAAC,GAAb;AAAiB,QAAA,MAAM,EAAC;AAAxB,SAAqCA,SAArC,EAAP;;AACF,SAAK,GAAL;AACE,UAAIC,SAAJ,EAAe;AACb,eACE,oBAAC,OAAD;AACE,UAAA,MAAM,EAAEF,QAAQ,KAAKN,KAAb,GAAqB,SAArB,GAAiC;AAD3C,WAEMO,SAFN,EADF;AAMD;;AAED,aAAO,oBAAC,IAAD;AAAM,QAAA,MAAM,EAAC;AAAb,SAA0BA,SAA1B,EAAP;;AACF,SAAK,GAAL;AACA;AACE,UAAID,QAAQ,KAAKP,GAAjB,EAAsB;AACpB,eAAO,oBAAC,OAAD;AAAS,UAAA,MAAM,EAAC;AAAhB,WAA6BQ,SAA7B,EAAP;AACD;;AAED,UAAID,QAAQ,KAAKN,KAAjB,EAAwB;AACtB,eAAO,oBAAC,OAAD;AAAS,UAAA,KAAK,EAAC,GAAf;AAAmB,UAAA,MAAM,EAAC;AAA1B,WAAwCO,SAAxC,EAAP;AACD;;AAED,UAAIC,SAAJ,EAAe;AACb,eAAO,oBAAC,OAAD;AAAS,UAAA,KAAK,EAAC,GAAf;AAAmB,UAAA,MAAM,EAAC;AAA1B,WAAuCD,SAAvC,EAAP;AACD;;AAED,aAAO,oBAAC,OAAD;AAAS,QAAA,MAAM,EAAC;AAAhB,SAA6BA,SAA7B,EAAP;AAhCJ;AAkCD,CAxCD;;AA+CA,SAASG,uBAAT,CACEC,UADF,EAEEC,IAFF,EAG4B;AAC1B,MAAIC,kBAA6C,GAAGF,UAApD;AACA,MAAIG,YAAiC,GAAGF,IAAxC;;AAEA,MAAID,UAAU,KAAKI,SAAnB,EAA8B;AAC5B,YAAQH,IAAR;AACE,WAAK,UAAL;AACA,WAAK,WAAL;AACA,WAAK,SAAL;AACA,WAAK,SAAL;AACEC,QAAAA,kBAAkB,GAAG,QAArB;AACA;;AACF,WAAK,UAAL;AACEC,QAAAA,YAAY,GAAG,SAAf;AACAD,QAAAA,kBAAkB,GAAG,UAArB;AACA;;AACF,WAAK,aAAL;AACEC,QAAAA,YAAY,GAAG,SAAf;AACAD,QAAAA,kBAAkB,GAAG,UAArB;AACA;;AACF,WAAK,iBAAL;AACEC,QAAAA,YAAY,GAAG,SAAf;AACAD,QAAAA,kBAAkB,GAAG,SAArB;AACA;;AACF,WAAK,mBAAL;AACEC,QAAAA,YAAY,GAAG,WAAf;AACAD,QAAAA,kBAAkB,GAAG,SAArB;AACA;;AACF,WAAK,iBAAL;AACEC,QAAAA,YAAY,GAAG,SAAf;AACAD,QAAAA,kBAAkB,GAAG,SAArB;AACA;AA1BJ;AA4BD;;AAED,SAAO;AACLA,IAAAA,kBAAkB,EAAlBA,kBADK;AAELC,IAAAA,YAAY,EAAZA;AAFK,GAAP;AAID;;AAED,IAAME,MAA6B,GAAG,SAAhCA,MAAgC,CAACb,KAAD,EAAwB;AAAA;;AAC5D,MAAMG,QAAQ,GAAGV,WAAW,EAA5B;;AACA,MACEQ,IADF,GAeID,KAfJ,CACEC,IADF;AAAA,MAEEQ,IAFF,GAeIT,KAfJ,CAEES,IAFF;AAAA,MAGED,UAHF,GAeIR,KAfJ,CAGEQ,UAHF;AAAA,MAIEM,SAJF,GAeId,KAfJ,CAIEc,SAJF;AAAA,MAKEC,KALF,GAeIf,KAfJ,CAKEe,KALF;AAAA,MAMEC,QANF,GAeIhB,KAfJ,CAMEgB,QANF;AAAA,MAOEC,MAPF,GAeIjB,KAfJ,CAOEiB,MAPF;AAAA,MAQEC,KARF,GAeIlB,KAfJ,CAQEkB,KARF;AAAA,MASEC,UATF,GAeInB,KAfJ,CASEmB,UATF;AAAA,MAUEjB,KAVF,GAeIF,KAfJ,CAUEE,KAVF;AAAA,yBAeIF,KAfJ,CAWEoB,SAXF;AAAA,MAWEA,SAXF,iCAWc,QAXd;AAAA,MAYEC,OAZF,GAeIrB,KAfJ,CAYEqB,OAZF;AAAA,MAaEC,OAbF,GAeItB,KAfJ,CAaEsB,OAbF;AAAA,MAcKlB,SAdL,4BAeIJ,KAfJ;;AAgBA,MAAMuB,QAAQ,GAAGC,OAAO,CAACP,MAAM,IAAIC,KAAX,CAAxB;;AACA,8BAA6CX,uBAAuB,CAClEC,UADkE,EAElEC,IAFkE,CAApE;AAAA,MAAQE,YAAR,yBAAQA,YAAR;AAAA,MAAsBD,kBAAtB,yBAAsBA,kBAAtB;;AAIA,MAAMe,YAAY,GAAGzC,KAAK,CAAC0C,UAAN,CAAiBvC,qBAAjB,EAAwCsC,YAA7D;AAEA,SACE,oBAAC,QAAD,eACMrB,SADN;AAEE,IAAA,SAAS,EAAEA,SAAS,CAACuB,IAAV,GAAiB,GAAjB,GAAuBP,SAFpC;AAGE,IAAA,OAAO,EAAEC,OAAO,GAAGT,SAAH,GAAeU,OAHjC;AAIE,IAAA,gBAAgB,EAAC,SAJnB;AAKE,IAAA,SAAS,EAAEpC,UAAU,CACnBD,YAAY,CAAC,QAAD,EAAWkB,QAAX,CADO,uBAELF,IAFK,yBAGJU,YAHI,yBAIJD,kBAJI,yBAKJK,KALI,2BAMFb,KANE,mDAQhB,mBARgB,EAQMY,SARN,gCAShB,mBATgB,EASMS,QATN,gCAUhB,oBAVgB,EAUOC,OAAO,CAC5B,CAACR,QAAD,IAAa,CAACE,KAAd,IAAuBD,MAAxB,IAAoC,CAACD,QAAD,IAAaE,KAAb,IAAsB,CAACD,MAD9B,CAVd,gBALvB;AAoBE,IAAA,UAAU,EAAEE,UApBd;AAqBE,IAAA,SAAS,EAAEM,YAAY,GAAG,eAAH,GAAqB,YArB9C;AAsBE,IAAA,UAAU,EAAEA,YAAY,GAAG,gBAAH,GAAsB;AAtBhD,MAwBGJ,OAAO,IAAI,oBAAC,OAAD;AAAS,IAAA,IAAI,EAAC,OAAd;AAAsB,IAAA,SAAS,EAAC;AAAhC,IAxBd,EAyBE;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGJ,MAAM,IAAI;AAAM,IAAA,SAAS,EAAC;AAAhB,KAAkCA,MAAlC,CADb,EAEGD,QAAQ,IACP,oBAAC,gBAAD;AACE,IAAA,IAAI,EAAEf,IADR;AAEE,IAAA,KAAK,EAAEC,KAFT;AAGE,IAAA,QAAQ,EAAEC,QAHZ;AAIE,IAAA,SAAS,EAAC,iBAJZ;AAKE,IAAA,SAAS,EAAC;AALZ,KAOGa,QAPH,CAHJ,EAaGE,KAAK,IAAI;AAAM,IAAA,SAAS,EAAC;AAAhB,KAAiCA,KAAjC,CAbZ,CAzBF,CADF;AA2CD,CApED;;AAsEAL,MAAM,CAACe,YAAP,GAAsB;AACpBnB,EAAAA,IAAI,EAAE,SADc;AAEpBM,EAAAA,KAAK,EAAE,QAFa;AAGpBd,EAAAA,IAAI,EAAE,GAHc;AAIpBa,EAAAA,SAAS,EAAE,KAJS;AAKpBe,EAAAA,eAAe,EAAE;AALG,CAAtB,C,CAQA;;AACA,eAAelC,cAAc,CAACkB,MAAD,EAAS;AACpCX,EAAAA,KAAK,EAAE;AAD6B,CAAT,CAA7B","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { HasAlign, HasComponent } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport { Platform, IOS, VKCOM } from \"../../lib/platform\";\nimport Spinner from \"../Spinner/Spinner\";\nimport \"./Button.css\";\n\nexport interface VKUIButtonProps extends HasAlign {\n /**\n Значения `commerce`, `destructive`, `overlay_...` будут упразднены в 5.0.0\n */\n mode?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"outline\"\n | \"commerce\"\n | \"destructive\"\n | \"overlay_primary\"\n | \"overlay_secondary\"\n | \"overlay_outline\";\n appearance?: \"accent\" | \"positive\" | \"negative\" | \"neutral\" | \"overlay\";\n size?: \"s\" | \"m\" | \"l\";\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n}\n\nexport interface ButtonProps\n extends Omit<TappableProps, \"size\">,\n VKUIButtonProps {}\n\ninterface ButtonTypographyProps extends HasComponent {\n size: ButtonProps[\"size\"];\n platform: Platform | undefined;\n sizeY: AdaptivityProps[\"sizeY\"];\n children?: ButtonProps[\"children\"];\n}\n\nconst ButtonTypography: React.FC<ButtonTypographyProps> = (\n props: ButtonTypographyProps\n) => {\n const { size, sizeY, platform, ...restProps } = props;\n const isCompact = sizeY === SizeType.COMPACT;\n\n switch (size) {\n case \"l\":\n if (isCompact) {\n return <Text weight=\"medium\" {...restProps} />;\n }\n\n return <Title level=\"3\" weight=\"medium\" {...restProps} />;\n case \"m\":\n if (isCompact) {\n return (\n <Subhead\n weight={platform === VKCOM ? \"regular\" : \"medium\"}\n {...restProps}\n />\n );\n }\n\n return <Text weight=\"medium\" {...restProps} />;\n case \"s\":\n default:\n if (platform === IOS) {\n return <Subhead weight=\"medium\" {...restProps} />;\n }\n\n if (platform === VKCOM) {\n return <Caption level=\"1\" weight=\"regular\" {...restProps} />;\n }\n\n if (isCompact) {\n return <Caption level=\"1\" weight=\"medium\" {...restProps} />;\n }\n\n return <Subhead weight=\"medium\" {...restProps} />;\n }\n};\n\ninterface ResolvedButtonAppearance {\n resolvedAppearance: ButtonProps[\"appearance\"];\n resolvedMode: ButtonProps[\"mode\"];\n}\n\nfunction resolveButtonAppearance(\n appearance: ButtonProps[\"appearance\"],\n mode: ButtonProps[\"mode\"]\n): ResolvedButtonAppearance {\n let resolvedAppearance: ButtonProps[\"appearance\"] = appearance;\n let resolvedMode: ButtonProps[\"mode\"] = mode;\n\n if (appearance === undefined) {\n switch (mode) {\n case \"tertiary\":\n case \"secondary\":\n case \"primary\":\n case \"outline\":\n resolvedAppearance = \"accent\";\n break;\n case \"commerce\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"positive\";\n break;\n case \"destructive\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"negative\";\n break;\n case \"overlay_primary\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_secondary\":\n resolvedMode = \"secondary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_outline\":\n resolvedMode = \"outline\";\n resolvedAppearance = \"overlay\";\n break;\n }\n }\n\n return {\n resolvedAppearance,\n resolvedMode,\n };\n}\n\nconst Button: React.FC<ButtonProps> = (props: ButtonProps) => {\n const platform = usePlatform();\n const {\n size,\n mode,\n appearance,\n stretched,\n align,\n children,\n before,\n after,\n getRootRef,\n sizeY,\n Component = \"button\",\n loading,\n onClick,\n ...restProps\n } = props;\n const hasIcons = Boolean(before || after);\n const { resolvedMode, resolvedAppearance } = resolveButtonAppearance(\n appearance,\n mode\n );\n const hasNewTokens = React.useContext(ConfigProviderContext).hasNewTokens;\n\n return (\n <Tappable\n {...restProps}\n Component={restProps.href ? \"a\" : Component}\n onClick={loading ? undefined : onClick}\n focusVisibleMode=\"outside\"\n vkuiClass={classNames(\n getClassName(\"Button\", platform),\n `Button--sz-${size}`,\n `Button--lvl-${resolvedMode}`,\n `Button--clr-${resolvedAppearance}`,\n `Button--aln-${align}`,\n `Button--sizeY-${sizeY}`,\n {\n [\"Button--stretched\"]: stretched,\n [\"Button--with-icon\"]: hasIcons,\n [\"Button--singleIcon\"]: Boolean(\n (!children && !after && before) || (!children && after && !before)\n ),\n }\n )}\n getRootRef={getRootRef}\n hoverMode={hasNewTokens ? \"Button--hover\" : \"background\"}\n activeMode={hasNewTokens ? \"Button--active\" : \"opacity\"}\n >\n {loading && <Spinner size=\"small\" vkuiClass=\"Button__spinner\" />}\n <span vkuiClass=\"Button__in\">\n {before && <span vkuiClass=\"Button__before\">{before}</span>}\n {children && (\n <ButtonTypography\n size={size}\n sizeY={sizeY}\n platform={platform}\n vkuiClass=\"Button__content\"\n Component=\"span\"\n >\n {children}\n </ButtonTypography>\n )}\n {after && <span vkuiClass=\"Button__after\">{after}</span>}\n </span>\n </Tappable>\n );\n};\n\nButton.defaultProps = {\n mode: \"primary\",\n align: \"center\",\n size: \"s\",\n stretched: false,\n stopPropagation: true,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Button, {\n sizeY: true,\n});\n"],"file":"Button.js"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"names":["React","classNames","ConfigProviderContext","Tappable","Title","Text","Subhead","Caption","usePlatform","SizeType","withAdaptivity","IOS","VKCOM","Spinner","ButtonTypography","props","size","sizeY","platform","restProps","isCompact","COMPACT","resolveButtonAppearance","appearance","mode","resolvedAppearance","resolvedMode","undefined","Button","stretched","align","children","before","after","getRootRef","Component","loading","onClick","hasIcons","Boolean","hasNewTokens","useContext","href","defaultProps","stopPropagation"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SAASC,UAAT;AACA,SAASC,qBAAT;AACA,OAAOC,QAAP;AACA,OAAOC,KAAP;AACA,OAAOC,IAAP;AACA,OAAOC,OAAP;AACA,OAAOC,OAAP;AAEA,SAASC,WAAT;AACA,SAEEC,QAFF,EAGEC,cAHF;AAKA,SAASC,GAAT,EAAcC,KAAd;AACA,OAAOC,OAAP;AACA;;AAmCA,IAAMC,gBAAiD,GAAG,SAApDA,gBAAoD,CACxDC,KADwD,EAErD;AACH,MAAQC,IAAR,GAAgDD,KAAhD,CAAQC,IAAR;AAAA,MAAcC,KAAd,GAAgDF,KAAhD,CAAcE,KAAd;AAAA,MAAqBC,QAArB,GAAgDH,KAAhD,CAAqBG,QAArB;AAAA,MAAkCC,SAAlC,4BAAgDJ,KAAhD;;AACA,MAAMK,SAAS,GAAGH,KAAK,KAAKR,QAAQ,CAACY,OAArC;;AAEA,UAAQL,IAAR;AACE,SAAK,GAAL;AACE,UAAII,SAAJ,EAAe;AACb,eAAO,oBAAC,IAAD;AAAM,UAAA,MAAM,EAAC;AAAb,WAA0BD,SAA1B,EAAP;AACD;;AAED,aAAO,oBAAC,KAAD;AAAO,QAAA,KAAK,EAAC,GAAb;AAAiB,QAAA,MAAM,EAAC;AAAxB,SAAqCA,SAArC,EAAP;;AACF,SAAK,GAAL;AACE,UAAIC,SAAJ,EAAe;AACb,eACE,oBAAC,OAAD;AACE,UAAA,MAAM,EAAEF,QAAQ,KAAKN,KAAb,GAAqB,SAArB,GAAiC;AAD3C,WAEMO,SAFN,EADF;AAMD;;AAED,aAAO,oBAAC,IAAD;AAAM,QAAA,MAAM,EAAC;AAAb,SAA0BA,SAA1B,EAAP;;AACF,SAAK,GAAL;AACA;AACE,UAAID,QAAQ,KAAKP,GAAjB,EAAsB;AACpB,eAAO,oBAAC,OAAD;AAAS,UAAA,MAAM,EAAC;AAAhB,WAA6BQ,SAA7B,EAAP;AACD;;AAED,UAAID,QAAQ,KAAKN,KAAjB,EAAwB;AACtB,eAAO,oBAAC,OAAD;AAAS,UAAA,KAAK,EAAC,GAAf;AAAmB,UAAA,MAAM,EAAC;AAA1B,WAAwCO,SAAxC,EAAP;AACD;;AAED,UAAIC,SAAJ,EAAe;AACb,eAAO,oBAAC,OAAD;AAAS,UAAA,KAAK,EAAC,GAAf;AAAmB,UAAA,MAAM,EAAC;AAA1B,WAAuCD,SAAvC,EAAP;AACD;;AAED,aAAO,oBAAC,OAAD;AAAS,QAAA,MAAM,EAAC;AAAhB,SAA6BA,SAA7B,EAAP;AAhCJ;AAkCD,CAxCD;;AA+CA,SAASG,uBAAT,CACEC,UADF,EAEEC,IAFF,EAG4B;AAC1B,MAAIC,kBAA6C,GAAGF,UAApD;AACA,MAAIG,YAAiC,GAAGF,IAAxC;;AAEA,MAAID,UAAU,KAAKI,SAAnB,EAA8B;AAC5B,YAAQH,IAAR;AACE,WAAK,UAAL;AACA,WAAK,WAAL;AACA,WAAK,SAAL;AACA,WAAK,SAAL;AACEC,QAAAA,kBAAkB,GAAG,QAArB;AACA;;AACF,WAAK,UAAL;AACEC,QAAAA,YAAY,GAAG,SAAf;AACAD,QAAAA,kBAAkB,GAAG,UAArB;AACA;;AACF,WAAK,aAAL;AACEC,QAAAA,YAAY,GAAG,SAAf;AACAD,QAAAA,kBAAkB,GAAG,UAArB;AACA;;AACF,WAAK,iBAAL;AACEC,QAAAA,YAAY,GAAG,SAAf;AACAD,QAAAA,kBAAkB,GAAG,SAArB;AACA;;AACF,WAAK,mBAAL;AACEC,QAAAA,YAAY,GAAG,WAAf;AACAD,QAAAA,kBAAkB,GAAG,SAArB;AACA;;AACF,WAAK,iBAAL;AACEC,QAAAA,YAAY,GAAG,SAAf;AACAD,QAAAA,kBAAkB,GAAG,SAArB;AACA;AA1BJ;AA4BD;;AAED,SAAO;AACLA,IAAAA,kBAAkB,EAAlBA,kBADK;AAELC,IAAAA,YAAY,EAAZA;AAFK,GAAP;AAID;;AAED,IAAME,MAA6B,GAAG,SAAhCA,MAAgC,CAACb,KAAD,EAAwB;AAAA;;AAC5D,MAAMG,QAAQ,GAAGV,WAAW,EAA5B;;AACA,MACEQ,IADF,GAeID,KAfJ,CACEC,IADF;AAAA,MAEEQ,IAFF,GAeIT,KAfJ,CAEES,IAFF;AAAA,MAGED,UAHF,GAeIR,KAfJ,CAGEQ,UAHF;AAAA,MAIEM,SAJF,GAeId,KAfJ,CAIEc,SAJF;AAAA,MAKEC,KALF,GAeIf,KAfJ,CAKEe,KALF;AAAA,MAMEC,QANF,GAeIhB,KAfJ,CAMEgB,QANF;AAAA,MAOEC,MAPF,GAeIjB,KAfJ,CAOEiB,MAPF;AAAA,MAQEC,KARF,GAeIlB,KAfJ,CAQEkB,KARF;AAAA,MASEC,UATF,GAeInB,KAfJ,CASEmB,UATF;AAAA,MAUEjB,KAVF,GAeIF,KAfJ,CAUEE,KAVF;AAAA,yBAeIF,KAfJ,CAWEoB,SAXF;AAAA,MAWEA,SAXF,iCAWc,QAXd;AAAA,MAYEC,OAZF,GAeIrB,KAfJ,CAYEqB,OAZF;AAAA,MAaEC,OAbF,GAeItB,KAfJ,CAaEsB,OAbF;AAAA,MAcKlB,SAdL,4BAeIJ,KAfJ;;AAgBA,MAAMuB,QAAQ,GAAGC,OAAO,CAACP,MAAM,IAAIC,KAAX,CAAxB;;AACA,8BAA6CX,uBAAuB,CAClEC,UADkE,EAElEC,IAFkE,CAApE;AAAA,MAAQE,YAAR,yBAAQA,YAAR;AAAA,MAAsBD,kBAAtB,yBAAsBA,kBAAtB;;AAIA,MAAMe,YAAY,GAAGxC,KAAK,CAACyC,UAAN,CAAiBvC,qBAAjB,EAAwCsC,YAA7D;AAEA,SACE,oBAAC,QAAD,eACMrB,SADN;AAEE,IAAA,SAAS,EAAEA,SAAS,CAACuB,IAAV,GAAiB,GAAjB,GAAuBP,SAFpC;AAGE,IAAA,OAAO,EAAEC,OAAO,GAAGT,SAAH,GAAeU,OAHjC;AAIE,IAAA,gBAAgB,EAAC,SAJnB;AAKE,IAAA,SAAS,EAAEpC,UAAU,CACnB,QADmB,uBAELe,IAFK,yBAGJU,YAHI,yBAIJD,kBAJI,yBAKJK,KALI,2BAMFb,KANE,mDAQhB,mBARgB,EAQMY,SARN,gCAShB,mBATgB,EASMS,QATN,gCAUhB,oBAVgB,EAUOC,OAAO,CAC5B,CAACR,QAAD,IAAa,CAACE,KAAd,IAAuBD,MAAxB,IAAoC,CAACD,QAAD,IAAaE,KAAb,IAAsB,CAACD,MAD9B,CAVd,gBALvB;AAoBE,IAAA,UAAU,EAAEE,UApBd;AAqBE,IAAA,SAAS,EAAEM,YAAY,GAAG,eAAH,GAAqB,YArB9C;AAsBE,IAAA,UAAU,EAAEA,YAAY,GAAG,gBAAH,GAAsB;AAtBhD,MAwBGJ,OAAO,IAAI,oBAAC,OAAD;AAAS,IAAA,IAAI,EAAC,OAAd;AAAsB,IAAA,SAAS,EAAC;AAAhC,IAxBd,EAyBE;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGJ,MAAM,IAAI;AAAM,IAAA,SAAS,EAAC;AAAhB,KAAkCA,MAAlC,CADb,EAEGD,QAAQ,IACP,oBAAC,gBAAD;AACE,IAAA,IAAI,EAAEf,IADR;AAEE,IAAA,KAAK,EAAEC,KAFT;AAGE,IAAA,QAAQ,EAAEC,QAHZ;AAIE,IAAA,SAAS,EAAC,iBAJZ;AAKE,IAAA,SAAS,EAAC;AALZ,KAOGa,QAPH,CAHJ,EAaGE,KAAK,IAAI;AAAM,IAAA,SAAS,EAAC;AAAhB,KAAiCA,KAAjC,CAbZ,CAzBF,CADF;AA2CD,CApED;;AAsEAL,MAAM,CAACe,YAAP,GAAsB;AACpBnB,EAAAA,IAAI,EAAE,SADc;AAEpBM,EAAAA,KAAK,EAAE,QAFa;AAGpBd,EAAAA,IAAI,EAAE,GAHc;AAIpBa,EAAAA,SAAS,EAAE,KAJS;AAKpBe,EAAAA,eAAe,EAAE;AALG,CAAtB,C,CAQA;;AACA,eAAelC,cAAc,CAACkB,MAAD,EAAS;AACpCX,EAAAA,KAAK,EAAE;AAD6B,CAAT,CAA7B","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { ConfigProviderContext } from \"../ConfigProvider/ConfigProviderContext\";\nimport Tappable, { TappableProps } from \"../Tappable/Tappable\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { HasAlign, HasComponent } from \"../../types\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport {\n AdaptivityProps,\n SizeType,\n withAdaptivity,\n} from \"../../hoc/withAdaptivity\";\nimport { IOS, VKCOM, PlatformType } from \"../../lib/platform\";\nimport Spinner from \"../Spinner/Spinner\";\nimport \"./Button.css\";\n\nexport interface VKUIButtonProps extends HasAlign {\n /**\n Значения `commerce`, `destructive`, `overlay_...` будут упразднены в 5.0.0\n */\n mode?:\n | \"primary\"\n | \"secondary\"\n | \"tertiary\"\n | \"outline\"\n | \"commerce\"\n | \"destructive\"\n | \"overlay_primary\"\n | \"overlay_secondary\"\n | \"overlay_outline\";\n appearance?: \"accent\" | \"positive\" | \"negative\" | \"neutral\" | \"overlay\";\n size?: \"s\" | \"m\" | \"l\";\n stretched?: boolean;\n before?: React.ReactNode;\n after?: React.ReactNode;\n loading?: boolean;\n}\n\nexport interface ButtonProps\n extends Omit<TappableProps, \"size\">,\n VKUIButtonProps {}\n\ninterface ButtonTypographyProps extends HasComponent {\n size: ButtonProps[\"size\"];\n platform: PlatformType | undefined;\n sizeY: AdaptivityProps[\"sizeY\"];\n children?: ButtonProps[\"children\"];\n}\n\nconst ButtonTypography: React.FC<ButtonTypographyProps> = (\n props: ButtonTypographyProps\n) => {\n const { size, sizeY, platform, ...restProps } = props;\n const isCompact = sizeY === SizeType.COMPACT;\n\n switch (size) {\n case \"l\":\n if (isCompact) {\n return <Text weight=\"medium\" {...restProps} />;\n }\n\n return <Title level=\"3\" weight=\"medium\" {...restProps} />;\n case \"m\":\n if (isCompact) {\n return (\n <Subhead\n weight={platform === VKCOM ? \"regular\" : \"medium\"}\n {...restProps}\n />\n );\n }\n\n return <Text weight=\"medium\" {...restProps} />;\n case \"s\":\n default:\n if (platform === IOS) {\n return <Subhead weight=\"medium\" {...restProps} />;\n }\n\n if (platform === VKCOM) {\n return <Caption level=\"1\" weight=\"regular\" {...restProps} />;\n }\n\n if (isCompact) {\n return <Caption level=\"1\" weight=\"medium\" {...restProps} />;\n }\n\n return <Subhead weight=\"medium\" {...restProps} />;\n }\n};\n\ninterface ResolvedButtonAppearance {\n resolvedAppearance: ButtonProps[\"appearance\"];\n resolvedMode: ButtonProps[\"mode\"];\n}\n\nfunction resolveButtonAppearance(\n appearance: ButtonProps[\"appearance\"],\n mode: ButtonProps[\"mode\"]\n): ResolvedButtonAppearance {\n let resolvedAppearance: ButtonProps[\"appearance\"] = appearance;\n let resolvedMode: ButtonProps[\"mode\"] = mode;\n\n if (appearance === undefined) {\n switch (mode) {\n case \"tertiary\":\n case \"secondary\":\n case \"primary\":\n case \"outline\":\n resolvedAppearance = \"accent\";\n break;\n case \"commerce\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"positive\";\n break;\n case \"destructive\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"negative\";\n break;\n case \"overlay_primary\":\n resolvedMode = \"primary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_secondary\":\n resolvedMode = \"secondary\";\n resolvedAppearance = \"overlay\";\n break;\n case \"overlay_outline\":\n resolvedMode = \"outline\";\n resolvedAppearance = \"overlay\";\n break;\n }\n }\n\n return {\n resolvedAppearance,\n resolvedMode,\n };\n}\n\nconst Button: React.FC<ButtonProps> = (props: ButtonProps) => {\n const platform = usePlatform();\n const {\n size,\n mode,\n appearance,\n stretched,\n align,\n children,\n before,\n after,\n getRootRef,\n sizeY,\n Component = \"button\",\n loading,\n onClick,\n ...restProps\n } = props;\n const hasIcons = Boolean(before || after);\n const { resolvedMode, resolvedAppearance } = resolveButtonAppearance(\n appearance,\n mode\n );\n const hasNewTokens = React.useContext(ConfigProviderContext).hasNewTokens;\n\n return (\n <Tappable\n {...restProps}\n Component={restProps.href ? \"a\" : Component}\n onClick={loading ? undefined : onClick}\n focusVisibleMode=\"outside\"\n vkuiClass={classNames(\n \"Button\",\n `Button--sz-${size}`,\n `Button--lvl-${resolvedMode}`,\n `Button--clr-${resolvedAppearance}`,\n `Button--aln-${align}`,\n `Button--sizeY-${sizeY}`,\n {\n [\"Button--stretched\"]: stretched,\n [\"Button--with-icon\"]: hasIcons,\n [\"Button--singleIcon\"]: Boolean(\n (!children && !after && before) || (!children && after && !before)\n ),\n }\n )}\n getRootRef={getRootRef}\n hoverMode={hasNewTokens ? \"Button--hover\" : \"background\"}\n activeMode={hasNewTokens ? \"Button--active\" : \"opacity\"}\n >\n {loading && <Spinner size=\"small\" vkuiClass=\"Button__spinner\" />}\n <span vkuiClass=\"Button__in\">\n {before && <span vkuiClass=\"Button__before\">{before}</span>}\n {children && (\n <ButtonTypography\n size={size}\n sizeY={sizeY}\n platform={platform}\n vkuiClass=\"Button__content\"\n Component=\"span\"\n >\n {children}\n </ButtonTypography>\n )}\n {after && <span vkuiClass=\"Button__after\">{after}</span>}\n </span>\n </Tappable>\n );\n};\n\nButton.defaultProps = {\n mode: \"primary\",\n align: \"center\",\n size: \"s\",\n stretched: false,\n stopPropagation: true,\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default withAdaptivity(Button, {\n sizeY: true,\n});\n"],"file":"Button.js"}
|
|
@@ -1 +1,6 @@
|
|
|
1
|
-
.vkuiCard{position:relative;background:#f5f5f5;background:var(--content_tint_background
|
|
1
|
+
.vkuiCard{position:relative;background:#f5f5f5;background:var(--content_tint_background,
|
|
2
|
+
var(--vkui--color_background_secondary)
|
|
3
|
+
);border-radius:8px;border-radius:var(--vkui--size_card_border_radius--regular)}.vkuiCard__in{position:relative;z-index:2;border-radius:inherit}.vkuiCard--md-shadow{box-shadow:0 0 4px rgba(0,0,0,.08),0 8px 8px rgba(0,0,0,.16);box-shadow:var(--vkui--elevation3,
|
|
4
|
+
0 2px 24px 0 rgba(0, 0, 0, 0.08),
|
|
5
|
+
0 0 2px 0 rgba(0, 0, 0, 0.08)
|
|
6
|
+
);background:#fff;background:var(--modal_card_background, var(--vkui--color_background_modal))}.vkuiCard--md-outline{background:#fff;background:var(--modal_card_background, var(--vkui--color_background_modal))}.vkuiCard--md-outline::before{position:absolute;left:0;top:0;width:100%;height:100%;content:"";display:block;border:1px solid #e1e3e6;border:var(--thin-border) solid var(--input_border, var(--vkui--color_image_border_alpha));z-index:1;box-sizing:border-box;border-radius:inherit}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vkuiCardScroll__in{display:flex;align-items:stretch}.vkuiCardScroll .vkuiCard{margin-right:8px;flex-shrink:0}.vkuiCardScroll__gap{display:block;flex-shrink:0}.vkuiCardScroll+.vkuiCardScroll{margin-top:16px}.vkuiCardScroll .vkuiCard:last-of-type{margin-right:0}.vkuiCardScroll--s .vkuiCard{width:40%}.vkuiCardScroll--m .vkuiCard{width:62%}.vkuiCardScroll--l .vkuiCard{width:100%}.vkuiCardScroll--
|
|
1
|
+
.vkuiCardScroll__in{display:flex;align-items:stretch}.vkuiCardScroll .vkuiCard{margin-right:8px;margin-right:var(--vkui--size_cardgrid_padding--regular);flex-shrink:0}.vkuiCardScroll__gap{display:block;flex-shrink:0}.vkuiCardScroll+.vkuiCardScroll{margin-top:16px}.vkuiCardScroll .vkuiCard:last-of-type{margin-right:0}.vkuiCardScroll--s .vkuiCard{width:40%}.vkuiCardScroll--m .vkuiCard{width:62%}.vkuiCardScroll--l .vkuiCard{width:100%}.vkuiCardScroll--withSpaces .vkuiCardScroll__gap{width:16px;width:var(--vkui--size_base_padding_horizontal--regular)}.vkuiSplitCol--spaced .vkuiCardScroll--withSpaces .vkuiCardScroll{margin-left:-16px;margin-right:-16px}.vkuiSplitCol--spaced .vkuiCardScroll--withSpaces .vkuiCardScroll__gap{width:16px}.vkuiSplitCol--spaced .vkuiCardScroll--l .vkuiCard{width:calc(100% - 32px)}.vkuiSplitCol--spaced .vkuiCardScroll--l .vkuiCard:not(:last-of-type){margin-right:16px}.vkuiGroup--card .vkuiCardScroll--withSpaces{margin-left:-8px;margin-right:-8px}.vkuiGroup--card .vkuiCardScroll--l .vkuiCard{width:calc(100% - 32px)}.vkuiGroup--card .vkuiCardScroll--l .vkuiCard:not(:last-of-type){margin-right:16px}.vkuiGroup--card .vkuiCardScroll--withSpaces:first-child{padding-top:8px;padding-top:var(--vkui--size_cardgrid_padding_vertical--regular)}.vkuiGroup--card .vkuiCardScroll--withSpaces:last-child{padding-bottom:8px;padding-bottom:var(--vkui--size_cardgrid_padding_vertical--regular)}
|