@vkontakte/vkui 4.27.1 → 4.27.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/.cache/.eslintcache +1 -1
  2. package/.cache/.stylelintcache +1 -1
  3. package/.cache/.tsbuildinfo +47 -27
  4. package/.cache/ts/src/components/ConfigProvider/ConfigProviderContext.d.ts +0 -7
  5. package/.cache/ts/src/components/Typography/Subhead/Subhead.d.ts +4 -1
  6. package/.cache/ts/src/tokenized/index.d.ts +4 -0
  7. package/CSS_GUIDE.md +145 -0
  8. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js +0 -1
  9. package/dist/cjs/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  10. package/dist/cjs/components/Banner/Banner.js +1 -3
  11. package/dist/cjs/components/Banner/Banner.js.map +1 -1
  12. package/dist/cjs/components/Button/Button.js +3 -3
  13. package/dist/cjs/components/Button/Button.js.map +1 -1
  14. package/dist/cjs/components/ConfigProvider/ConfigProvider.js +33 -20
  15. package/dist/cjs/components/ConfigProvider/ConfigProvider.js.map +1 -1
  16. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.d.ts +0 -7
  17. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js +3 -5
  18. package/dist/cjs/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  19. package/dist/cjs/components/FormItem/FormItem.js +0 -1
  20. package/dist/cjs/components/FormItem/FormItem.js.map +1 -1
  21. package/dist/cjs/components/Header/Header.js +2 -6
  22. package/dist/cjs/components/Header/Header.js.map +1 -1
  23. package/dist/cjs/components/HorizontalCell/HorizontalCell.js +1 -3
  24. package/dist/cjs/components/HorizontalCell/HorizontalCell.js.map +1 -1
  25. package/dist/cjs/components/InfoRow/InfoRow.js +1 -2
  26. package/dist/cjs/components/InfoRow/InfoRow.js.map +1 -1
  27. package/dist/cjs/components/Removable/Removable.js +8 -4
  28. package/dist/cjs/components/Removable/Removable.js.map +1 -1
  29. package/dist/cjs/components/RichCell/RichCell.js +0 -1
  30. package/dist/cjs/components/RichCell/RichCell.js.map +1 -1
  31. package/dist/cjs/components/SimpleCell/SimpleCell.js +0 -1
  32. package/dist/cjs/components/SimpleCell/SimpleCell.js.map +1 -1
  33. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js +1 -3
  34. package/dist/cjs/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  35. package/dist/cjs/components/TextTooltip/TextTooltip.js +1 -2
  36. package/dist/cjs/components/TextTooltip/TextTooltip.js.map +1 -1
  37. package/dist/cjs/components/Tooltip/Tooltip.js +1 -2
  38. package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
  39. package/dist/cjs/components/Typography/Subhead/Subhead.d.ts +4 -1
  40. package/dist/cjs/components/Typography/Subhead/Subhead.js +15 -8
  41. package/dist/cjs/components/Typography/Subhead/Subhead.js.map +1 -1
  42. package/dist/cjs/components/Typography/Title/Title.js +1 -1
  43. package/dist/cjs/components/Typography/Title/Title.js.map +1 -1
  44. package/dist/cjs/components/UsersStack/UsersStack.js +0 -1
  45. package/dist/cjs/components/UsersStack/UsersStack.js.map +1 -1
  46. package/dist/cjs/tokenized/index.d.ts +4 -0
  47. package/dist/cjs/tokenized/index.js +16 -0
  48. package/dist/cjs/tokenized/index.js.map +1 -1
  49. package/dist/components/ActionSheetItem/ActionSheetItem.js +0 -1
  50. package/dist/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  51. package/dist/components/Banner/Banner.js +1 -3
  52. package/dist/components/Banner/Banner.js.map +1 -1
  53. package/dist/components/Button/Button.js +3 -3
  54. package/dist/components/Button/Button.js.map +1 -1
  55. package/dist/components/ConfigProvider/ConfigProvider.js +30 -19
  56. package/dist/components/ConfigProvider/ConfigProvider.js.map +1 -1
  57. package/dist/components/ConfigProvider/ConfigProviderContext.d.ts +0 -7
  58. package/dist/components/ConfigProvider/ConfigProviderContext.js +2 -3
  59. package/dist/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  60. package/dist/components/FormItem/FormItem.js +0 -1
  61. package/dist/components/FormItem/FormItem.js.map +1 -1
  62. package/dist/components/Header/Header.js +2 -6
  63. package/dist/components/Header/Header.js.map +1 -1
  64. package/dist/components/HorizontalCell/HorizontalCell.js +1 -3
  65. package/dist/components/HorizontalCell/HorizontalCell.js.map +1 -1
  66. package/dist/components/InfoRow/InfoRow.js +1 -2
  67. package/dist/components/InfoRow/InfoRow.js.map +1 -1
  68. package/dist/components/Removable/Removable.js +8 -4
  69. package/dist/components/Removable/Removable.js.map +1 -1
  70. package/dist/components/RichCell/RichCell.js +0 -1
  71. package/dist/components/RichCell/RichCell.js.map +1 -1
  72. package/dist/components/SimpleCell/SimpleCell.js +0 -1
  73. package/dist/components/SimpleCell/SimpleCell.js.map +1 -1
  74. package/dist/components/SubnavigationButton/SubnavigationButton.js +1 -3
  75. package/dist/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  76. package/dist/components/TextTooltip/TextTooltip.js +1 -2
  77. package/dist/components/TextTooltip/TextTooltip.js.map +1 -1
  78. package/dist/components/Tooltip/Tooltip.js +1 -2
  79. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  80. package/dist/components/Typography/Subhead/Subhead.d.ts +4 -1
  81. package/dist/components/Typography/Subhead/Subhead.js +13 -7
  82. package/dist/components/Typography/Subhead/Subhead.js.map +1 -1
  83. package/dist/components/Typography/Title/Title.js +1 -1
  84. package/dist/components/Typography/Title/Title.js.map +1 -1
  85. package/dist/components/UsersStack/UsersStack.js +0 -1
  86. package/dist/components/UsersStack/UsersStack.js.map +1 -1
  87. package/dist/components.css +1 -1
  88. package/dist/components.css.map +1 -1
  89. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js +0 -1
  90. package/dist/cssm/components/ActionSheetItem/ActionSheetItem.js.map +1 -1
  91. package/dist/cssm/components/Banner/Banner.js +1 -3
  92. package/dist/cssm/components/Banner/Banner.js.map +1 -1
  93. package/dist/cssm/components/Button/Button.js +3 -3
  94. package/dist/cssm/components/Button/Button.js.map +1 -1
  95. package/dist/cssm/components/ConfigProvider/ConfigProvider.js +30 -19
  96. package/dist/cssm/components/ConfigProvider/ConfigProvider.js.map +1 -1
  97. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.d.ts +0 -7
  98. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js +2 -3
  99. package/dist/cssm/components/ConfigProvider/ConfigProviderContext.js.map +1 -1
  100. package/dist/cssm/components/FormItem/FormItem.js +0 -1
  101. package/dist/cssm/components/FormItem/FormItem.js.map +1 -1
  102. package/dist/cssm/components/Header/Header.js +2 -6
  103. package/dist/cssm/components/Header/Header.js.map +1 -1
  104. package/dist/cssm/components/HorizontalCell/HorizontalCell.js +1 -3
  105. package/dist/cssm/components/HorizontalCell/HorizontalCell.js.map +1 -1
  106. package/dist/cssm/components/InfoRow/InfoRow.js +1 -2
  107. package/dist/cssm/components/InfoRow/InfoRow.js.map +1 -1
  108. package/dist/cssm/components/Removable/Removable.js +8 -4
  109. package/dist/cssm/components/Removable/Removable.js.map +1 -1
  110. package/dist/cssm/components/RichCell/RichCell.js +0 -1
  111. package/dist/cssm/components/RichCell/RichCell.js.map +1 -1
  112. package/dist/cssm/components/SimpleCell/SimpleCell.js +0 -1
  113. package/dist/cssm/components/SimpleCell/SimpleCell.js.map +1 -1
  114. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js +1 -3
  115. package/dist/cssm/components/SubnavigationButton/SubnavigationButton.js.map +1 -1
  116. package/dist/cssm/components/TextTooltip/TextTooltip.js +1 -2
  117. package/dist/cssm/components/TextTooltip/TextTooltip.js.map +1 -1
  118. package/dist/cssm/components/Tooltip/Tooltip.js +1 -2
  119. package/dist/cssm/components/Tooltip/Tooltip.js.map +1 -1
  120. package/dist/cssm/components/Typography/Subhead/Subhead.css +1 -1
  121. package/dist/cssm/components/Typography/Subhead/Subhead.d.ts +4 -1
  122. package/dist/cssm/components/Typography/Subhead/Subhead.js +13 -7
  123. package/dist/cssm/components/Typography/Subhead/Subhead.js.map +1 -1
  124. package/dist/cssm/components/Typography/Title/Title.js +1 -1
  125. package/dist/cssm/components/Typography/Title/Title.js.map +1 -1
  126. package/dist/cssm/components/UsersStack/UsersStack.js +0 -1
  127. package/dist/cssm/components/UsersStack/UsersStack.js.map +1 -1
  128. package/dist/cssm/styles/components.css +1 -1
  129. package/dist/cssm/tokenized/index.d.ts +4 -0
  130. package/dist/cssm/tokenized/index.js +2 -0
  131. package/dist/cssm/tokenized/index.js.map +1 -1
  132. package/dist/tokenized/index.d.ts +4 -0
  133. package/dist/tokenized/index.js +2 -0
  134. package/dist/tokenized/index.js.map +1 -1
  135. package/dist/vkui.css +1 -1
  136. package/dist/vkui.css.map +1 -1
  137. package/package.json +1 -1
  138. package/src/components/ActionSheetItem/ActionSheetItem.tsx +1 -3
  139. package/src/components/Banner/Banner.tsx +1 -1
  140. package/src/components/Button/Button.tsx +3 -6
  141. package/src/components/ConfigProvider/ConfigProvider.tsx +25 -15
  142. package/src/components/ConfigProvider/ConfigProviderContext.tsx +9 -13
  143. package/src/components/FormItem/FormItem.tsx +1 -5
  144. package/src/components/Header/Header.tsx +2 -2
  145. package/src/components/HorizontalCell/HorizontalCell.tsx +1 -3
  146. package/src/components/InfoRow/InfoRow.tsx +1 -1
  147. package/src/components/Removable/Removable.tsx +9 -7
  148. package/src/components/RichCell/RichCell.tsx +1 -5
  149. package/src/components/SimpleCell/SimpleCell.tsx +1 -5
  150. package/src/components/SubnavigationButton/SubnavigationButton.tsx +1 -1
  151. package/src/components/TextTooltip/TextTooltip.tsx +2 -6
  152. package/src/components/Tooltip/Tooltip.tsx +2 -6
  153. package/src/components/Typography/Subhead/Readme.md +18 -24
  154. package/src/components/Typography/Subhead/Subhead.css +22 -7
  155. package/src/components/Typography/Subhead/Subhead.tsx +23 -7
  156. package/src/components/Typography/Title/Title.tsx +1 -1
  157. package/src/components/UsersStack/Readme.md +1 -1
  158. package/src/components/UsersStack/UsersStack.tsx +1 -1
  159. package/src/tokenized/index.ts +6 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"names":["ActionSheetItemComponent","children","autoclose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","sizeY","onImmediateClick","restProps","platform","React","useContext","ActionSheetContext","onItemClick","noop","isDesktop","Component","href","isCompact","Boolean","SizeType","COMPACT","ANDROID","disabled","VKCOM","ActionSheetItem"],"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 Headline from \"../Typography/Headline/Headline\";\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 ActionSheetItemComponent: 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 {platform === ANDROID ? (\n <Headline weight={mode === \"cancel\" ? \"medium\" : \"regular\"}>\n {children}\n </Headline>\n ) : (\n <Title\n weight={mode === \"cancel\" ? \"2\" : \"3\"}\n level={isCompact || hasReactNode(before) ? \"3\" : \"2\"}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Title>\n )}\n {hasReactNode(meta) &&\n (platform === ANDROID ? (\n <Headline weight={mode === \"cancel\" ? \"medium\" : \"regular\"}>\n {children}\n </Headline>\n ) : (\n <Title\n weight=\"3\"\n level={isCompact || hasReactNode(before) ? \"3\" : \"2\"}\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\nexport const ActionSheetItem = withAdaptivity(ActionSheetItemComponent, {\n sizeY: true,\n});\n"],"file":"ActionSheetItem.js"}
1
+ {"version":3,"sources":["../../../../src/components/ActionSheetItem/ActionSheetItem.tsx"],"names":["ActionSheetItemComponent","children","autoclose","mode","meta","subtitle","before","selectable","value","name","checked","defaultChecked","onChange","onClick","sizeY","onImmediateClick","restProps","platform","React","useContext","ActionSheetContext","onItemClick","noop","isDesktop","Component","href","isCompact","Boolean","SizeType","COMPACT","ANDROID","disabled","VKCOM","ActionSheetItem"],"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 Headline from \"../Typography/Headline/Headline\";\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 ActionSheetItemComponent: 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 {platform === ANDROID ? (\n <Headline weight={mode === \"cancel\" ? \"medium\" : \"regular\"}>\n {children}\n </Headline>\n ) : (\n <Title\n weight={mode === \"cancel\" ? \"2\" : \"3\"}\n level={isCompact || hasReactNode(before) ? \"3\" : \"2\"}\n vkuiClass=\"ActionSheetItem__children\"\n >\n {children}\n </Title>\n )}\n {hasReactNode(meta) &&\n (platform === ANDROID ? (\n <Headline weight={mode === \"cancel\" ? \"medium\" : \"regular\"}>\n {children}\n </Headline>\n ) : (\n <Title\n weight=\"3\"\n level={isCompact || hasReactNode(before) ? \"3\" : \"2\"}\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 vkuiClass=\"ActionSheetItem__subtitle\">{subtitle}</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\nexport const ActionSheetItem = withAdaptivity(ActionSheetItemComponent, {\n sizeY: true,\n});\n"],"file":"ActionSheetItem.js"}
@@ -61,9 +61,7 @@ var BannerSubheader = function BannerSubheader(_ref2) {
61
61
  restProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
62
62
  return size === "m" ? (0, _jsxRuntime.createScopedElement)(_Text.default, (0, _extends2.default)({
63
63
  weight: "regular"
64
- }, restProps)) : (0, _jsxRuntime.createScopedElement)(_Subhead.default, (0, _extends2.default)({
65
- weight: "regular"
66
- }, restProps));
64
+ }, restProps)) : (0, _jsxRuntime.createScopedElement)(_Subhead.default, restProps);
67
65
  };
68
66
 
69
67
  var Banner = function Banner(props) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Banner/Banner.tsx"],"names":["BannerHeader","size","restProps","BannerSubheader","Banner","props","platform","mode","imageTheme","before","asideMode","header","subheader","text","children","background","actions","onDismiss","dismissLabel","IOS","undefined","React","Children","count","ANDROID","VKCOM","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAmEA,IAAMA,YAA6C,GAAG,SAAhDA,YAAgD,OAGhD;AAAA,MAFJC,IAEI,QAFJA,IAEI;AAAA,MADDC,SACC;AACJ,SAAOD,IAAI,KAAK,GAAT,GACL,qCAAC,cAAD;AAAO,IAAA,KAAK,EAAC,GAAb;AAAiB,IAAA,MAAM,EAAC;AAAxB,KAAgCC,SAAhC,EADK,GAGL,qCAAC,iBAAD;AAAU,IAAA,MAAM,EAAC;AAAjB,KAA8BA,SAA9B,EAHF;AAKD,CATD;;AAWA,IAAMC,eAAgD,GAAG,SAAnDA,eAAmD,QAGnD;AAAA,MAFJF,IAEI,SAFJA,IAEI;AAAA,MADDC,SACC;AACJ,SAAOD,IAAI,KAAK,GAAT,GACL,qCAAC,aAAD;AAAM,IAAA,MAAM,EAAC;AAAb,KAA2BC,SAA3B,EADK,GAGL,qCAAC,gBAAD;AAAS,IAAA,MAAM,EAAC;AAAhB,KAA8BA,SAA9B,EAHF;AAKD,CATD;;AAWA,IAAME,MAA6B,GAAG,SAAhCA,MAAgC,CAACC,KAAD,EAAwB;AAC5D,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MACEC,IADF,GAeIF,KAfJ,CACEE,IADF;AAAA,MAEEC,UAFF,GAeIH,KAfJ,CAEEG,UAFF;AAAA,MAGEP,IAHF,GAeII,KAfJ,CAGEJ,IAHF;AAAA,MAIEQ,MAJF,GAeIJ,KAfJ,CAIEI,MAJF;AAAA,MAKEC,SALF,GAeIL,KAfJ,CAKEK,SALF;AAAA,MAMEC,MANF,GAeIN,KAfJ,CAMEM,MANF;AAAA,MAOEC,SAPF,GAeIP,KAfJ,CAOEO,SAPF;AAAA,MAQEC,IARF,GAeIR,KAfJ,CAQEQ,IARF;AAAA,MASEC,QATF,GAeIT,KAfJ,CASES,QATF;AAAA,MAUEC,UAVF,GAeIV,KAfJ,CAUEU,UAVF;AAAA,MAWEC,OAXF,GAeIX,KAfJ,CAWEW,OAXF;AAAA,MAYEC,SAZF,GAeIZ,KAfJ,CAYEY,SAZF;AAAA,MAaEC,YAbF,GAeIb,KAfJ,CAaEa,YAbF;AAAA,MAcKhB,SAdL,0CAeIG,KAfJ;AAiBA,SACE,2EACMH,SADN;AAEE,IAAA,SAAS,EAAE,4BACT,gCAAa,QAAb,EAAuBI,QAAvB,CADS,uBAEKC,IAFL,wBAGKN,IAHL,GAIT;AACE,0BAAoBM,IAAI,KAAK,OAAT,IAAoBC,UAAU,KAAK;AADzD,KAJS;AAFb,MAWE,qCAAC,iBAAD;AACE,IAAA,SAAS,EAAC,YADZ;AAEE,IAAA,UAAU,EAAEF,QAAQ,KAAKa,aAAb,GAAmB,SAAnB,GAA+B,YAF7C;AAGE,IAAA,QAAQ,EAAET,SAAS,KAAK,QAH1B;AAIE,IAAA,IAAI,EAAEA,SAAS,KAAK,QAAd,GAAyB,QAAzB,GAAoCU;AAJ5C,KAMGb,IAAI,KAAK,OAAT,IAAoBQ,UAApB,IACC;AAAK,mBAAY,MAAjB;AAAwB,IAAA,SAAS,EAAC;AAAlC,KACGA,UADH,CAPJ,EAYGN,MAAM,IAAI;AAAK,IAAA,SAAS,EAAC;AAAf,KAAiCA,MAAjC,CAZb,EAcE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,yBAAaE,MAAb,KACC,qCAAC,YAAD;AACE,IAAA,IAAI,EAAEV,IADR;AAEE,IAAA,SAAS,EAAC,MAFZ;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGU,MALH,CAFJ,EAUG,yBAAaC,SAAb,KACC,qCAAC,eAAD;AACE,IAAA,SAAS,EAAC,MADZ;AAEE,IAAA,IAAI,EAAEX,IAFR;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGW,SALH,CAXJ,EAmBG,yBAAaC,IAAb,KACC,qCAAC,aAAD;AAAM,IAAA,MAAM,EAAC,SAAb;AAAuB,IAAA,SAAS,EAAC;AAAjC,KACGA,IADH,CApBJ,EAwBG,yBAAaG,OAAb,KAAyBK,KAAK,CAACC,QAAN,CAAeC,KAAf,CAAqBP,OAArB,IAAgC,CAAzD,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAkCA,OAAlC,CAzBJ,CAdF,EA2CG,CAAC,CAACN,SAAF,IACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGA,SAAS,KAAK,QAAd,IAA0B,qCAAC,oBAAD,OAD7B,EAGGA,SAAS,KAAK,SAAd,IACC,qCAAC,mBAAD;AACE,kBAAYQ,YADd;AAEE,IAAA,SAAS,EAAC,iBAFZ;AAGE,IAAA,OAAO,EAAED,SAHX;AAIE,IAAA,SAAS,EAAC,SAJZ;AAKE,IAAA,SAAS,EAAE;AALb,KAOG,CAACX,QAAQ,KAAKkB,iBAAb,IAAwBlB,QAAQ,KAAKmB,eAAtC,KACC,qCAAC,mBAAD,OARJ,EAUGnB,QAAQ,KAAKa,aAAb,KACEZ,IAAI,KAAK,OAAT,GACC,qCAAC,wBAAD,OADD,GAGC,qCAAC,6BAAD,OAJH,CAVH,CAJJ,CA5CJ,CAXF,CADF;AAmFD,CAtGD;;AAwGAH,MAAM,CAACsB,YAAP,GAAsB;AACpBR,EAAAA,YAAY,EAAE,QADM;AAEpBX,EAAAA,IAAI,EAAE,MAFc;AAGpBN,EAAAA,IAAI,EAAE,GAHc;AAIpBO,EAAAA,UAAU,EAAE;AAJQ,CAAtB,C,CAOA;;eACeJ,M","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../types\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { ANDROID, IOS, VKCOM } from \"../../lib/platform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport {\n Icon24Chevron,\n Icon24DismissSubstract,\n Icon24DismissDark,\n Icon24Cancel,\n} from \"@vkontakte/icons\";\nimport Tappable from \"../Tappable/Tappable\";\nimport IconButton from \"../IconButton/IconButton\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Text from \"../Typography/Text/Text\";\nimport Title from \"../Typography/Title/Title\";\nimport \"./Banner.css\";\n\nexport interface BannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Тип баннера.\n */\n mode?: \"tint\" | \"image\";\n size?: \"s\" | \"m\";\n /**\n * Тип действия в правой части баннера.\n *\n * - `dismiss` – отображается иконка крестика, при клике на неё сработает свойство `onDismiss`.\n * - `expand` – отображается иконка шеврона, которая подразумевает, что при клике на баннер можно куда-то перейти.\n */\n asideMode?: \"dismiss\" | \"expand\";\n /**\n * Срабатывает при клике на иконку крестика при `asideMode=\"dismiss\"`.\n */\n onDismiss?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * `aria-label` для кнопки при `asideMode=\"dismiss\". Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n /**\n * Содержимое, отображаемое в левой части баннера.\n */\n before?: React.ReactNode;\n /**\n * Заголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n header?: React.ReactNode;\n /**\n * Подзаголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n subheader?: React.ReactNode;\n /**\n * Текст баннера. <br />\n * Это свойство следует использовать без указания `header` и `subheader`.\n */\n text?: React.ReactNode;\n /**\n * При использовании `mode=\"image\"`.\n *\n * - `light` – в качестве фона используется светлое изображение, цвет текста в баннере будет тёмным.\n * - `dark` – в качестве фона используется тёмное изображение, цвет текста будет светлым.\n */\n imageTheme?: \"light\" | \"dark\";\n /**\n * При использовании `mode=\"image\"`.\n *\n * Элемент, который нужно стилизовать цветом и/или фоном. Этот элемент будет растянут на 100% ширины и высоты баннера.\n */\n background?: React.ReactNode;\n /**\n * Кнопки, отображаемые в баннере.\n *\n * - В режиме `tint` или в `image` со светлым фоном рекомендуется использовать только `<Button mode=\"primary\" />` или `<Button mode=\"tertiary\" hasHover={false} />`.\n * - В режиме `image` с тёмным фоном – `<Button mode=\"overlay_primary\" />`.\n */\n actions?: React.ReactNode;\n}\n\ntype BannerTypographyProps = Pick<BannerProps, \"size\"> & HasComponent;\n\nconst BannerHeader: React.FC<BannerTypographyProps> = ({\n size,\n ...restProps\n}) => {\n return size === \"m\" ? (\n <Title level=\"2\" weight=\"2\" {...restProps} />\n ) : (\n <Headline weight=\"medium\" {...restProps} />\n );\n};\n\nconst BannerSubheader: React.FC<BannerTypographyProps> = ({\n size,\n ...restProps\n}) => {\n return size === \"m\" ? (\n <Text weight=\"regular\" {...restProps} />\n ) : (\n <Subhead weight=\"regular\" {...restProps} />\n );\n};\n\nconst Banner: React.FC<BannerProps> = (props: BannerProps) => {\n const platform = usePlatform();\n const {\n mode,\n imageTheme,\n size,\n before,\n asideMode,\n header,\n subheader,\n text,\n children,\n background,\n actions,\n onDismiss,\n dismissLabel,\n ...restProps\n } = props;\n\n return (\n <section\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"Banner\", platform),\n `Banner--md-${mode}`,\n `Banner--sz-${size}`,\n {\n \"Banner--inverted\": mode === \"image\" && imageTheme === \"dark\",\n }\n )}\n >\n <Tappable\n vkuiClass=\"Banner__in\"\n activeMode={platform === IOS ? \"opacity\" : \"background\"}\n disabled={asideMode !== \"expand\"}\n role={asideMode === \"expand\" ? \"button\" : undefined}\n >\n {mode === \"image\" && background && (\n <div aria-hidden=\"true\" vkuiClass=\"Banner__bg\">\n {background}\n </div>\n )}\n\n {before && <div vkuiClass=\"Banner__before\">{before}</div>}\n\n <div vkuiClass=\"Banner__content\">\n {hasReactNode(header) && (\n <BannerHeader\n size={size}\n Component=\"span\"\n vkuiClass=\"Banner__header\"\n >\n {header}\n </BannerHeader>\n )}\n {hasReactNode(subheader) && (\n <BannerSubheader\n Component=\"span\"\n size={size}\n vkuiClass=\"Banner__subheader\"\n >\n {subheader}\n </BannerSubheader>\n )}\n {hasReactNode(text) && (\n <Text weight=\"regular\" vkuiClass=\"Banner__text\">\n {text}\n </Text>\n )}\n {hasReactNode(actions) && React.Children.count(actions) > 0 && (\n <div vkuiClass=\"Banner__actions\">{actions}</div>\n )}\n </div>\n\n {!!asideMode && (\n <div vkuiClass=\"Banner__aside\">\n {asideMode === \"expand\" && <Icon24Chevron />}\n\n {asideMode === \"dismiss\" && (\n <IconButton\n aria-label={dismissLabel}\n vkuiClass=\"Banner__dismiss\"\n onClick={onDismiss}\n hoverMode=\"opacity\"\n hasActive={false}\n >\n {(platform === ANDROID || platform === VKCOM) && (\n <Icon24Cancel />\n )}\n {platform === IOS &&\n (mode === \"image\" ? (\n <Icon24DismissDark />\n ) : (\n <Icon24DismissSubstract />\n ))}\n </IconButton>\n )}\n </div>\n )}\n </Tappable>\n </section>\n );\n};\n\nBanner.defaultProps = {\n dismissLabel: \"Скрыть\",\n mode: \"tint\",\n size: \"s\",\n imageTheme: \"dark\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Banner;\n"],"file":"Banner.js"}
1
+ {"version":3,"sources":["../../../../src/components/Banner/Banner.tsx"],"names":["BannerHeader","size","restProps","BannerSubheader","Banner","props","platform","mode","imageTheme","before","asideMode","header","subheader","text","children","background","actions","onDismiss","dismissLabel","IOS","undefined","React","Children","count","ANDROID","VKCOM","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { HasComponent } from \"../../types\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { ANDROID, IOS, VKCOM } from \"../../lib/platform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport {\n Icon24Chevron,\n Icon24DismissSubstract,\n Icon24DismissDark,\n Icon24Cancel,\n} from \"@vkontakte/icons\";\nimport Tappable from \"../Tappable/Tappable\";\nimport IconButton from \"../IconButton/IconButton\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Text from \"../Typography/Text/Text\";\nimport Title from \"../Typography/Title/Title\";\nimport \"./Banner.css\";\n\nexport interface BannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * Тип баннера.\n */\n mode?: \"tint\" | \"image\";\n size?: \"s\" | \"m\";\n /**\n * Тип действия в правой части баннера.\n *\n * - `dismiss` – отображается иконка крестика, при клике на неё сработает свойство `onDismiss`.\n * - `expand` – отображается иконка шеврона, которая подразумевает, что при клике на баннер можно куда-то перейти.\n */\n asideMode?: \"dismiss\" | \"expand\";\n /**\n * Срабатывает при клике на иконку крестика при `asideMode=\"dismiss\"`.\n */\n onDismiss?: React.MouseEventHandler<HTMLButtonElement>;\n /**\n * `aria-label` для кнопки при `asideMode=\"dismiss\". Необходим, чтобы кнопка была доступной.\n */\n dismissLabel?: string;\n /**\n * Содержимое, отображаемое в левой части баннера.\n */\n before?: React.ReactNode;\n /**\n * Заголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n header?: React.ReactNode;\n /**\n * Подзаголовок. <br />\n * При использовании этого свойства рекомендуется не указывать `text`.\n */\n subheader?: React.ReactNode;\n /**\n * Текст баннера. <br />\n * Это свойство следует использовать без указания `header` и `subheader`.\n */\n text?: React.ReactNode;\n /**\n * При использовании `mode=\"image\"`.\n *\n * - `light` – в качестве фона используется светлое изображение, цвет текста в баннере будет тёмным.\n * - `dark` – в качестве фона используется тёмное изображение, цвет текста будет светлым.\n */\n imageTheme?: \"light\" | \"dark\";\n /**\n * При использовании `mode=\"image\"`.\n *\n * Элемент, который нужно стилизовать цветом и/или фоном. Этот элемент будет растянут на 100% ширины и высоты баннера.\n */\n background?: React.ReactNode;\n /**\n * Кнопки, отображаемые в баннере.\n *\n * - В режиме `tint` или в `image` со светлым фоном рекомендуется использовать только `<Button mode=\"primary\" />` или `<Button mode=\"tertiary\" hasHover={false} />`.\n * - В режиме `image` с тёмным фоном – `<Button mode=\"overlay_primary\" />`.\n */\n actions?: React.ReactNode;\n}\n\ntype BannerTypographyProps = Pick<BannerProps, \"size\"> & HasComponent;\n\nconst BannerHeader: React.FC<BannerTypographyProps> = ({\n size,\n ...restProps\n}) => {\n return size === \"m\" ? (\n <Title level=\"2\" weight=\"2\" {...restProps} />\n ) : (\n <Headline weight=\"medium\" {...restProps} />\n );\n};\n\nconst BannerSubheader: React.FC<BannerTypographyProps> = ({\n size,\n ...restProps\n}) => {\n return size === \"m\" ? (\n <Text weight=\"regular\" {...restProps} />\n ) : (\n <Subhead {...restProps} />\n );\n};\n\nconst Banner: React.FC<BannerProps> = (props: BannerProps) => {\n const platform = usePlatform();\n const {\n mode,\n imageTheme,\n size,\n before,\n asideMode,\n header,\n subheader,\n text,\n children,\n background,\n actions,\n onDismiss,\n dismissLabel,\n ...restProps\n } = props;\n\n return (\n <section\n {...restProps}\n vkuiClass={classNames(\n getClassName(\"Banner\", platform),\n `Banner--md-${mode}`,\n `Banner--sz-${size}`,\n {\n \"Banner--inverted\": mode === \"image\" && imageTheme === \"dark\",\n }\n )}\n >\n <Tappable\n vkuiClass=\"Banner__in\"\n activeMode={platform === IOS ? \"opacity\" : \"background\"}\n disabled={asideMode !== \"expand\"}\n role={asideMode === \"expand\" ? \"button\" : undefined}\n >\n {mode === \"image\" && background && (\n <div aria-hidden=\"true\" vkuiClass=\"Banner__bg\">\n {background}\n </div>\n )}\n\n {before && <div vkuiClass=\"Banner__before\">{before}</div>}\n\n <div vkuiClass=\"Banner__content\">\n {hasReactNode(header) && (\n <BannerHeader\n size={size}\n Component=\"span\"\n vkuiClass=\"Banner__header\"\n >\n {header}\n </BannerHeader>\n )}\n {hasReactNode(subheader) && (\n <BannerSubheader\n Component=\"span\"\n size={size}\n vkuiClass=\"Banner__subheader\"\n >\n {subheader}\n </BannerSubheader>\n )}\n {hasReactNode(text) && (\n <Text weight=\"regular\" vkuiClass=\"Banner__text\">\n {text}\n </Text>\n )}\n {hasReactNode(actions) && React.Children.count(actions) > 0 && (\n <div vkuiClass=\"Banner__actions\">{actions}</div>\n )}\n </div>\n\n {!!asideMode && (\n <div vkuiClass=\"Banner__aside\">\n {asideMode === \"expand\" && <Icon24Chevron />}\n\n {asideMode === \"dismiss\" && (\n <IconButton\n aria-label={dismissLabel}\n vkuiClass=\"Banner__dismiss\"\n onClick={onDismiss}\n hoverMode=\"opacity\"\n hasActive={false}\n >\n {(platform === ANDROID || platform === VKCOM) && (\n <Icon24Cancel />\n )}\n {platform === IOS &&\n (mode === \"image\" ? (\n <Icon24DismissDark />\n ) : (\n <Icon24DismissSubstract />\n ))}\n </IconButton>\n )}\n </div>\n )}\n </Tappable>\n </section>\n );\n};\n\nBanner.defaultProps = {\n dismissLabel: \"Скрыть\",\n mode: \"tint\",\n size: \"s\",\n imageTheme: \"dark\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Banner;\n"],"file":"Banner.js"}
@@ -75,7 +75,7 @@ var ButtonTypography = function ButtonTypography(props) {
75
75
  case "m":
76
76
  if (isCompact) {
77
77
  return (0, _jsxRuntime.createScopedElement)(_Subhead.default, (0, _extends2.default)({
78
- weight: platform === _platform.VKCOM ? "regular" : "medium"
78
+ weight: platform === _platform.VKCOM ? "3" : "2"
79
79
  }, restProps));
80
80
  }
81
81
 
@@ -87,7 +87,7 @@ var ButtonTypography = function ButtonTypography(props) {
87
87
  default:
88
88
  if (platform === _platform.IOS) {
89
89
  return (0, _jsxRuntime.createScopedElement)(_Subhead.default, (0, _extends2.default)({
90
- weight: "medium"
90
+ weight: "2"
91
91
  }, restProps));
92
92
  }
93
93
 
@@ -106,7 +106,7 @@ var ButtonTypography = function ButtonTypography(props) {
106
106
  }
107
107
 
108
108
  return (0, _jsxRuntime.createScopedElement)(_Subhead.default, (0, _extends2.default)({
109
- weight: "medium"
109
+ weight: "2"
110
110
  }, restProps));
111
111
  }
112
112
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"names":["ButtonTypography","props","size","sizeY","platform","restProps","isCompact","SizeType","COMPACT","ANDROID","VKCOM","IOS","resolveButtonAppearance","appearance","mode","resolvedAppearance","resolvedMode","undefined","Button","stretched","align","children","before","after","getRootRef","Component","loading","onClick","hasIcons","Boolean","hasNewTokens","React","useContext","ConfigProviderContext","href","defaultProps","stopPropagation"],"mappings":"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","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 { PlatformType, IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport Spinner from \"../Spinner/Spinner\";\nimport Headline from \"../Typography/Headline/Headline\";\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 if (platform === ANDROID) {\n return <Headline weight=\"medium\" {...restProps} />;\n }\n return <Title level=\"3\" weight=\"2\" {...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
+ {"version":3,"sources":["../../../../src/components/Button/Button.tsx"],"names":["ButtonTypography","props","size","sizeY","platform","restProps","isCompact","SizeType","COMPACT","ANDROID","VKCOM","IOS","resolveButtonAppearance","appearance","mode","resolvedAppearance","resolvedMode","undefined","Button","stretched","align","children","before","after","getRootRef","Component","loading","onClick","hasIcons","Boolean","hasNewTokens","React","useContext","ConfigProviderContext","href","defaultProps","stopPropagation"],"mappings":"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","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 { PlatformType, IOS, VKCOM, ANDROID } from \"../../lib/platform\";\nimport Spinner from \"../Spinner/Spinner\";\nimport Headline from \"../Typography/Headline/Headline\";\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 if (platform === ANDROID) {\n return <Headline weight=\"medium\" {...restProps} />;\n }\n return <Title level=\"3\" weight=\"2\" {...restProps} />;\n case \"m\":\n if (isCompact) {\n return (\n <Subhead weight={platform === VKCOM ? \"3\" : \"2\"} {...restProps} />\n );\n }\n\n return <Text weight=\"medium\" {...restProps} />;\n case \"s\":\n default:\n if (platform === IOS) {\n return <Subhead weight=\"2\" {...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=\"2\" {...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,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
3
  var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
6
4
 
5
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -11,14 +11,12 @@ exports.default = void 0;
11
11
 
12
12
  var _jsxRuntime = require("../../lib/jsxRuntime");
13
13
 
14
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
15
-
16
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
-
18
14
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
15
 
20
16
  var React = _interopRequireWildcard(require("react"));
21
17
 
18
+ var _vkBridge = _interopRequireDefault(require("@vkontakte/vk-bridge"));
19
+
22
20
  var _dom = require("../../lib/dom");
23
21
 
24
22
  var _ConfigProviderContext = require("./ConfigProviderContext");
@@ -35,7 +33,8 @@ var _scheme2 = require("../../helpers/scheme");
35
33
 
36
34
  var _AppearanceProvider = require("../AppearanceProvider/AppearanceProvider");
37
35
 
38
- var _excluded = ["children"];
36
+ var _platform = require("../../lib/platform");
37
+
39
38
  var warn = (0, _warnOnce.warnOnce)("ConfigProvider");
40
39
 
41
40
  function useSchemeDetector(node, _scheme) {
@@ -79,12 +78,20 @@ var deriveAppearance = function deriveAppearance(scheme) {
79
78
 
80
79
  var ConfigProvider = function ConfigProvider(_ref) {
81
80
  var children = _ref.children,
82
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
83
- var config = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, _ConfigProviderContext.defaultConfigProviderProps), props);
84
- var platform = config.platform,
85
- appearance = config.appearance;
86
- var scheme = (0, _scheme2.normalizeScheme)({
87
- scheme: config.scheme,
81
+ _ref$webviewType = _ref.webviewType,
82
+ webviewType = _ref$webviewType === void 0 ? _ConfigProviderContext.WebviewType.VKAPPS : _ref$webviewType,
83
+ _ref$isWebView = _ref.isWebView,
84
+ isWebView = _ref$isWebView === void 0 ? _vkBridge.default.isWebView() : _ref$isWebView,
85
+ _ref$transitionMotion = _ref.transitionMotionEnabled,
86
+ transitionMotionEnabled = _ref$transitionMotion === void 0 ? true : _ref$transitionMotion,
87
+ _ref$platform = _ref.platform,
88
+ platform = _ref$platform === void 0 ? (0, _platform.platform)() : _ref$platform,
89
+ _ref$hasNewTokens = _ref.hasNewTokens,
90
+ hasNewTokens = _ref$hasNewTokens === void 0 ? false : _ref$hasNewTokens,
91
+ appearance = _ref.appearance,
92
+ scheme = _ref.scheme;
93
+ var normalizedScheme = (0, _scheme2.normalizeScheme)({
94
+ scheme: scheme,
88
95
  platform: platform,
89
96
  appearance: appearance
90
97
  });
@@ -94,7 +101,7 @@ var ConfigProvider = function ConfigProvider(_ref) {
94
101
 
95
102
  var target = document === null || document === void 0 ? void 0 : document.body;
96
103
  (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
97
- if (scheme === "inherit") {
104
+ if (normalizedScheme === "inherit") {
98
105
  return _utils.noop;
99
106
  }
100
107
 
@@ -102,12 +109,12 @@ var ConfigProvider = function ConfigProvider(_ref) {
102
109
  warn('<body scheme> was set before VKUI mount - did you forget scheme="inherit"?');
103
110
  }
104
111
 
105
- target === null || target === void 0 ? void 0 : target.setAttribute("scheme", scheme);
112
+ target === null || target === void 0 ? void 0 : target.setAttribute("scheme", normalizedScheme);
106
113
  return function () {
107
114
  return target === null || target === void 0 ? void 0 : target.removeAttribute("scheme");
108
115
  };
109
- }, [scheme]);
110
- var realScheme = useSchemeDetector(target, scheme);
116
+ }, [normalizedScheme]);
117
+ var realScheme = useSchemeDetector(target, normalizedScheme);
111
118
  var derivedAppearance = deriveAppearance(realScheme);
112
119
  (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(function () {
113
120
  var VKUITokensClassName = (0, _AppearanceProvider.generateVKUITokensClassName)(platform, derivedAppearance);
@@ -116,9 +123,15 @@ var ConfigProvider = function ConfigProvider(_ref) {
116
123
  target === null || target === void 0 ? void 0 : target.classList.remove(VKUITokensClassName);
117
124
  };
118
125
  }, [platform, derivedAppearance]);
119
- var configContext = (0, _useObjectMemo.useObjectMemo)((0, _objectSpread2.default)({
120
- appearance: derivedAppearance
121
- }, config));
126
+ var configContext = (0, _useObjectMemo.useObjectMemo)({
127
+ webviewType: webviewType,
128
+ isWebView: isWebView,
129
+ transitionMotionEnabled: transitionMotionEnabled,
130
+ hasNewTokens: hasNewTokens,
131
+ platform: platform,
132
+ scheme: scheme,
133
+ appearance: appearance || derivedAppearance
134
+ });
122
135
  return (0, _jsxRuntime.createScopedElement)(_ConfigProviderContext.ConfigProviderContext.Provider, {
123
136
  value: configContext
124
137
  }, (0, _jsxRuntime.createScopedElement)(_AppearanceProvider.AppearanceProvider, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ConfigProvider/ConfigProvider.tsx"],"names":["warn","useSchemeDetector","node","_scheme","inherit","getScheme","React","useCallback","canUseDOM","undefined","getAttribute","useState","resolvedScheme","setScheme","useEffect","noop","observer","MutationObserver","observe","attributes","attributeFilter","disconnect","deriveAppearance","scheme","Scheme","SPACE_GRAY","VKCOM_DARK","ConfigProvider","children","props","config","defaultConfigProviderProps","platform","appearance","document","target","body","process","env","NODE_ENV","hasAttribute","setAttribute","removeAttribute","realScheme","derivedAppearance","VKUITokensClassName","classList","add","remove","configContext"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { canUseDOM, useDOM } from \"../../lib/dom\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n defaultConfigProviderProps,\n} from \"./ConfigProviderContext\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useObjectMemo } from \"../../hooks/useObjectMemo\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport {\n normalizeScheme,\n AppearanceScheme,\n Scheme,\n} from \"../../helpers/scheme\";\nimport {\n AppearanceProvider,\n generateVKUITokensClassName,\n} from \"../AppearanceProvider/AppearanceProvider\";\n\nexport interface ConfigProviderProps\n extends Partial<ConfigProviderContextInterface> {\n /**\n * @deprecated будет удалено в 5.0.0, устанавливать тему следует через appearance\n * Цветовая схема приложения\n */\n scheme?: AppearanceScheme;\n}\n\nconst warn = warnOnce(\"ConfigProvider\");\n\nfunction useSchemeDetector(\n node: HTMLElement | undefined | null,\n _scheme: Scheme | \"inherit\"\n) {\n const inherit = _scheme === \"inherit\";\n const getScheme = React.useCallback(() => {\n if (!inherit || !canUseDOM || !node) {\n return undefined;\n }\n return node.getAttribute(\"scheme\") as Scheme;\n }, [inherit, node]);\n const [resolvedScheme, setScheme] = React.useState(getScheme());\n\n React.useEffect(() => {\n if (!inherit || !node) {\n return noop;\n }\n setScheme(getScheme());\n const observer = new MutationObserver(() => setScheme(getScheme()));\n observer.observe(node, { attributes: true, attributeFilter: [\"scheme\"] });\n return () => observer.disconnect();\n }, [getScheme, inherit, node]);\n\n return _scheme === \"inherit\" ? resolvedScheme : _scheme;\n}\n\nconst deriveAppearance = (scheme: Scheme | undefined): AppearanceType =>\n scheme === Scheme.SPACE_GRAY || scheme === Scheme.VKCOM_DARK\n ? \"dark\"\n : \"light\";\n\nconst ConfigProvider: React.FC<ConfigProviderProps> = ({\n children,\n ...props\n}) => {\n const config = { ...defaultConfigProviderProps, ...props };\n const { platform, appearance } = config;\n const scheme = normalizeScheme({\n scheme: config.scheme,\n platform: platform,\n appearance: appearance,\n });\n const { document } = useDOM();\n const target = document?.body;\n\n useIsomorphicLayoutEffect(() => {\n if (scheme === \"inherit\") {\n return noop;\n }\n if (\n process.env.NODE_ENV === \"development\" &&\n target?.hasAttribute(\"scheme\")\n ) {\n warn(\n '<body scheme> was set before VKUI mount - did you forget scheme=\"inherit\"?'\n );\n }\n target?.setAttribute(\"scheme\", scheme);\n return () => target?.removeAttribute(\"scheme\");\n }, [scheme]);\n\n const realScheme = useSchemeDetector(target, scheme);\n const derivedAppearance = deriveAppearance(realScheme);\n\n useIsomorphicLayoutEffect(() => {\n const VKUITokensClassName = generateVKUITokensClassName(\n platform,\n derivedAppearance\n );\n\n target?.classList.add(VKUITokensClassName);\n\n return () => {\n target?.classList.remove(VKUITokensClassName);\n };\n }, [platform, derivedAppearance]);\n\n const configContext = useObjectMemo({\n appearance: derivedAppearance,\n ...config,\n });\n\n return (\n <ConfigProviderContext.Provider value={configContext}>\n <AppearanceProvider appearance={configContext.appearance}>\n {children}\n </AppearanceProvider>\n </ConfigProviderContext.Provider>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ConfigProvider;\n"],"file":"ConfigProvider.js"}
1
+ {"version":3,"sources":["../../../../src/components/ConfigProvider/ConfigProvider.tsx"],"names":["warn","useSchemeDetector","node","_scheme","inherit","getScheme","React","useCallback","canUseDOM","undefined","getAttribute","useState","resolvedScheme","setScheme","useEffect","noop","observer","MutationObserver","observe","attributes","attributeFilter","disconnect","deriveAppearance","scheme","Scheme","SPACE_GRAY","VKCOM_DARK","ConfigProvider","children","webviewType","WebviewType","VKAPPS","isWebView","vkBridge","transitionMotionEnabled","platform","hasNewTokens","appearance","normalizedScheme","document","target","body","process","env","NODE_ENV","hasAttribute","setAttribute","removeAttribute","realScheme","derivedAppearance","VKUITokensClassName","classList","add","remove","configContext"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport vkBridge, { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { canUseDOM, useDOM } from \"../../lib/dom\";\nimport {\n ConfigProviderContext,\n ConfigProviderContextInterface,\n WebviewType,\n} from \"./ConfigProviderContext\";\nimport { useIsomorphicLayoutEffect } from \"../../lib/useIsomorphicLayoutEffect\";\nimport { useObjectMemo } from \"../../hooks/useObjectMemo\";\nimport { noop } from \"../../lib/utils\";\nimport { warnOnce } from \"../../lib/warnOnce\";\nimport {\n normalizeScheme,\n AppearanceScheme,\n Scheme,\n} from \"../../helpers/scheme\";\nimport {\n AppearanceProvider,\n generateVKUITokensClassName,\n} from \"../AppearanceProvider/AppearanceProvider\";\nimport { platform as resolvePlatform } from \"../../lib/platform\";\n\nexport interface ConfigProviderProps\n extends Partial<ConfigProviderContextInterface> {\n /**\n * @deprecated будет удалено в 5.0.0, устанавливать тему следует через appearance\n * Цветовая схема приложения\n */\n scheme?: AppearanceScheme;\n}\n\nconst warn = warnOnce(\"ConfigProvider\");\n\nfunction useSchemeDetector(\n node: HTMLElement | undefined | null,\n _scheme: Scheme | \"inherit\"\n) {\n const inherit = _scheme === \"inherit\";\n const getScheme = React.useCallback(() => {\n if (!inherit || !canUseDOM || !node) {\n return undefined;\n }\n return node.getAttribute(\"scheme\") as Scheme;\n }, [inherit, node]);\n const [resolvedScheme, setScheme] = React.useState(getScheme());\n\n React.useEffect(() => {\n if (!inherit || !node) {\n return noop;\n }\n setScheme(getScheme());\n const observer = new MutationObserver(() => setScheme(getScheme()));\n observer.observe(node, { attributes: true, attributeFilter: [\"scheme\"] });\n return () => observer.disconnect();\n }, [getScheme, inherit, node]);\n\n return _scheme === \"inherit\" ? resolvedScheme : _scheme;\n}\n\nconst deriveAppearance = (scheme: Scheme | undefined): AppearanceType =>\n scheme === Scheme.SPACE_GRAY || scheme === Scheme.VKCOM_DARK\n ? \"dark\"\n : \"light\";\n\nconst ConfigProvider: React.FC<ConfigProviderProps> = ({\n children,\n webviewType = WebviewType.VKAPPS,\n isWebView = vkBridge.isWebView(),\n transitionMotionEnabled = true,\n platform = resolvePlatform(),\n hasNewTokens = false,\n appearance,\n scheme,\n}) => {\n const normalizedScheme = normalizeScheme({\n scheme,\n platform,\n appearance,\n });\n const { document } = useDOM();\n const target = document?.body;\n\n useIsomorphicLayoutEffect(() => {\n if (normalizedScheme === \"inherit\") {\n return noop;\n }\n if (\n process.env.NODE_ENV === \"development\" &&\n target?.hasAttribute(\"scheme\")\n ) {\n warn(\n '<body scheme> was set before VKUI mount - did you forget scheme=\"inherit\"?'\n );\n }\n target?.setAttribute(\"scheme\", normalizedScheme);\n return () => target?.removeAttribute(\"scheme\");\n }, [normalizedScheme]);\n\n const realScheme = useSchemeDetector(target, normalizedScheme);\n const derivedAppearance = deriveAppearance(realScheme);\n\n useIsomorphicLayoutEffect(() => {\n const VKUITokensClassName = generateVKUITokensClassName(\n platform,\n derivedAppearance\n );\n\n target?.classList.add(VKUITokensClassName);\n\n return () => {\n target?.classList.remove(VKUITokensClassName);\n };\n }, [platform, derivedAppearance]);\n\n const configContext = useObjectMemo({\n webviewType,\n isWebView,\n transitionMotionEnabled,\n hasNewTokens,\n platform,\n scheme,\n appearance: appearance || derivedAppearance,\n });\n\n return (\n <ConfigProviderContext.Provider value={configContext}>\n <AppearanceProvider appearance={configContext.appearance}>\n {children}\n </AppearanceProvider>\n </ConfigProviderContext.Provider>\n );\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default ConfigProvider;\n"],"file":"ConfigProvider.js"}
@@ -33,11 +33,4 @@ export interface ConfigProviderContextInterface {
33
33
  platform: PlatformType;
34
34
  hasNewTokens: boolean;
35
35
  }
36
- export declare const defaultConfigProviderProps: {
37
- webviewType: WebviewType;
38
- isWebView: boolean;
39
- transitionMotionEnabled: boolean;
40
- platform: string;
41
- hasNewTokens: boolean;
42
- };
43
36
  export declare const ConfigProviderContext: React.Context<ConfigProviderContextInterface>;
@@ -7,7 +7,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.defaultConfigProviderProps = exports.WebviewType = exports.ConfigProviderContext = void 0;
10
+ exports.WebviewType = exports.ConfigProviderContext = void 0;
11
11
 
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
 
@@ -23,7 +23,7 @@ exports.WebviewType = WebviewType;
23
23
  WebviewType["INTERNAL"] = "internal";
24
24
  })(WebviewType || (exports.WebviewType = WebviewType = {}));
25
25
 
26
- var defaultConfigProviderProps = {
26
+ var ConfigProviderContext = /*#__PURE__*/React.createContext({
27
27
  webviewType: WebviewType.VKAPPS,
28
28
  isWebView: _vkBridge.default.isWebView(),
29
29
  transitionMotionEnabled: true,
@@ -31,8 +31,6 @@ var defaultConfigProviderProps = {
31
31
  hasNewTokens: false // appearance is auto-detected by default
32
32
  // appearance: Appearance.LIGHT,
33
33
 
34
- };
35
- exports.defaultConfigProviderProps = defaultConfigProviderProps;
36
- var ConfigProviderContext = /*#__PURE__*/React.createContext(defaultConfigProviderProps);
34
+ });
37
35
  exports.ConfigProviderContext = ConfigProviderContext;
38
36
  //# sourceMappingURL=ConfigProviderContext.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ConfigProvider/ConfigProviderContext.tsx"],"names":["WebviewType","defaultConfigProviderProps","webviewType","VKAPPS","isWebView","vkBridge","transitionMotionEnabled","platform","hasNewTokens","ConfigProviderContext","React","createContext"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;IAEYA,W;;;WAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;GAAAA,W,2BAAAA,W;;AAkCL,IAAMC,0BAA0B,GAAG;AACxCC,EAAAA,WAAW,EAAEF,WAAW,CAACG,MADe;AAExCC,EAAAA,SAAS,EAAEC,kBAASD,SAAT,EAF6B;AAGxCE,EAAAA,uBAAuB,EAAE,IAHe;AAIxCC,EAAAA,QAAQ,EAAE,yBAJ8B;AAKxCC,EAAAA,YAAY,EAAE,KAL0B,CAMxC;AACA;;AAPwC,CAAnC;;AAUA,IAAMC,qBAAqB,gBAChCC,KAAK,CAACC,aAAN,CACEV,0BADF,CADK","sourcesContent":["import * as React from \"react\";\nimport vkBridge, { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { PlatformType, platform } from \"../../lib/platform\";\n\nexport enum WebviewType {\n VKAPPS = \"vkapps\",\n INTERNAL = \"internal\",\n}\n\nexport interface ConfigProviderContextInterface {\n /**\n * Подсказывает приложению, обёрнутому в `ConfigProvider`, где открыто приложение: внутри webview или в мобильном браузере\n */\n isWebView: boolean;\n /**\n * Тип вебвью.<br>\n * В случае `WebviewType.VKAPPS` интерфейс будет адаптирован для отображения в вебвью Mini Apps (системные контролы в правой части шапки)\n */\n webviewType: WebviewType.INTERNAL | WebviewType.VKAPPS;\n /**\n * Тип приложения\n */\n app?: string;\n /**\n * Тип цветовой схемы – `light` или `dark`\n */\n appearance?: AppearanceType;\n /**\n * Включена ли анимация переходов между экранами в `Root` и `View`\n */\n transitionMotionEnabled: boolean;\n /**\n * Платформа\n */\n platform: PlatformType;\n hasNewTokens: boolean;\n}\n\nexport const defaultConfigProviderProps = {\n webviewType: WebviewType.VKAPPS,\n isWebView: vkBridge.isWebView(),\n transitionMotionEnabled: true,\n platform: platform(),\n hasNewTokens: false,\n // appearance is auto-detected by default\n // appearance: Appearance.LIGHT,\n};\n\nexport const ConfigProviderContext =\n React.createContext<ConfigProviderContextInterface>(\n defaultConfigProviderProps\n );\n"],"file":"ConfigProviderContext.js"}
1
+ {"version":3,"sources":["../../../../src/components/ConfigProvider/ConfigProviderContext.tsx"],"names":["WebviewType","ConfigProviderContext","React","createContext","webviewType","VKAPPS","isWebView","vkBridge","transitionMotionEnabled","platform","hasNewTokens"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;IAEYA,W;;;WAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;GAAAA,W,2BAAAA,W;;AAkCL,IAAMC,qBAAqB,gBAChCC,KAAK,CAACC,aAAN,CAAoD;AAClDC,EAAAA,WAAW,EAAEJ,WAAW,CAACK,MADyB;AAElDC,EAAAA,SAAS,EAAEC,kBAASD,SAAT,EAFuC;AAGlDE,EAAAA,uBAAuB,EAAE,IAHyB;AAIlDC,EAAAA,QAAQ,EAAE,yBAJwC;AAKlDC,EAAAA,YAAY,EAAE,KALoC,CAMlD;AACA;;AAPkD,CAApD,CADK","sourcesContent":["import * as React from \"react\";\nimport vkBridge, { AppearanceType } from \"@vkontakte/vk-bridge\";\nimport { PlatformType, platform } from \"../../lib/platform\";\n\nexport enum WebviewType {\n VKAPPS = \"vkapps\",\n INTERNAL = \"internal\",\n}\n\nexport interface ConfigProviderContextInterface {\n /**\n * Подсказывает приложению, обёрнутому в `ConfigProvider`, где открыто приложение: внутри webview или в мобильном браузере\n */\n isWebView: boolean;\n /**\n * Тип вебвью.<br>\n * В случае `WebviewType.VKAPPS` интерфейс будет адаптирован для отображения в вебвью Mini Apps (системные контролы в правой части шапки)\n */\n webviewType: WebviewType.INTERNAL | WebviewType.VKAPPS;\n /**\n * Тип приложения\n */\n app?: string;\n /**\n * Тип цветовой схемы – `light` или `dark`\n */\n appearance?: AppearanceType;\n /**\n * Включена ли анимация переходов между экранами в `Root` и `View`\n */\n transitionMotionEnabled: boolean;\n /**\n * Платформа\n */\n platform: PlatformType;\n hasNewTokens: boolean;\n}\n\nexport const ConfigProviderContext =\n React.createContext<ConfigProviderContextInterface>({\n webviewType: WebviewType.VKAPPS,\n isWebView: vkBridge.isWebView(),\n transitionMotionEnabled: true,\n platform: platform(),\n hasNewTokens: false,\n // appearance is auto-detected by default\n // appearance: Appearance.LIGHT,\n });\n"],"file":"ConfigProviderContext.js"}
@@ -60,7 +60,6 @@ var FormItem = function FormItem(_ref) {
60
60
  sizeY = _useAdaptivity.sizeY;
61
61
 
62
62
  var wrappedChildren = (0, _jsxRuntime.createScopedElement)(React.Fragment, null, (0, _utils.hasReactNode)(top) && (0, _jsxRuntime.createScopedElement)(_Subhead.default, {
63
- weight: "regular",
64
63
  vkuiClass: "FormItem__top"
65
64
  }, top), children, (0, _utils.hasReactNode)(bottom) && (0, _jsxRuntime.createScopedElement)(_Caption.default, {
66
65
  level: "1",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/FormItem/FormItem.tsx"],"names":["FormItem","children","top","bottom","status","Component","removable","onRemove","noop","removePlaceholder","getRootRef","restProps","platform","rootEl","sizeY","wrappedChildren","e","current"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAiBO,IAAMA,QAAiC,GAAG,SAApCA,QAAoC,OAW5B;AAAA,MAVnBC,QAUmB,QAVnBA,QAUmB;AAAA,MATnBC,GASmB,QATnBA,GASmB;AAAA,MARnBC,MAQmB,QARnBA,MAQmB;AAAA,yBAPnBC,MAOmB;AAAA,MAPnBA,MAOmB,4BAPV,SAOU;AAAA,4BANnBC,SAMmB;AAAA,MANnBA,SAMmB,+BANP,KAMO;AAAA,MALnBC,SAKmB,QALnBA,SAKmB;AAAA,2BAJnBC,QAImB;AAAA,MAJnBA,SAImB,8BAJRC,WAIQ;AAAA,mCAHnBC,iBAGmB;AAAA,MAHnBA,iBAGmB,sCAHC,SAGD;AAAA,MAFnBC,UAEmB,QAFnBA,UAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,MAAM,GAAG,gCAAaH,UAAb,CAAf;;AACA,uBAAkB,oCAAlB;AAAA,MAAQI,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,eAAe,GACnB,qCAAC,KAAD,CAAO,QAAP,QACG,yBAAab,GAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,MAAM,EAAC,SAAhB;AAA0B,IAAA,SAAS,EAAC;AAApC,KACGA,GADH,CAFJ,EAMGD,QANH,EAOG,yBAAaE,MAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,KAAK,EAAC,GAAf;AAAmB,IAAA,MAAM,EAAC,SAA1B;AAAoC,IAAA,SAAS,EAAC;AAA9C,KACGA,MADH,CARJ,CADF;AAgBA,SACE,qCAAC,SAAD,6BACMQ,SADN;AAEE,IAAA,GAAG,EAAEE,MAFP;AAGE,IAAA,SAAS,EAAE,4BACT,gCAAa,UAAb,EAAyBD,QAAzB,CADS,sBAEIR,MAFJ,6BAGUU,KAHV,GAIT;AACE,2BAAqB,yBAAaZ,GAAb,CADvB;AAEE,6BAAuBI;AAFzB,KAJS;AAHb,MAaGA,SAAS,GACR,qCAAC,oBAAD;AACE,IAAA,KAAK,EAAC,OADR;AAEE,IAAA,QAAQ,EAAE,kBAACU,CAAD,EAAO;AACf,UAAIH,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEI,OAAZ,EAAqB;AACnBV,QAAAA,SAAQ,CAACS,CAAD,EAAIH,MAAM,CAACI,OAAX,CAAR;AACD;AACF,KANH;AAOE,IAAA,iBAAiB,EAAER;AAPrB,KASE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCM,eAAtC,CATF,CADQ,GAaRA,eA1BJ,CADF;AA+BD,CA/DM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { Removable, RemovableProps } from \"../Removable/Removable\";\nimport \"./FormItem.css\";\n\nexport interface FormItemProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent,\n RemovableProps {\n top?: React.ReactNode;\n bottom?: React.ReactNode;\n status?: \"default\" | \"error\" | \"valid\";\n /**\n * Дает возможность удалить `FormItem`. Рекомендуется использовать только для `Input` или `Select`.\n */\n removable?: boolean;\n}\n\nexport const FormItem: React.FC<FormItemProps> = ({\n children,\n top,\n bottom,\n status = \"default\",\n Component = \"div\",\n removable,\n onRemove = noop,\n removePlaceholder = \"Удалить\",\n getRootRef,\n ...restProps\n}: FormItemProps) => {\n const platform = usePlatform();\n const rootEl = useExternRef(getRootRef);\n const { sizeY } = useAdaptivity();\n\n const wrappedChildren = (\n <React.Fragment>\n {hasReactNode(top) && (\n <Subhead weight=\"regular\" vkuiClass=\"FormItem__top\">\n {top}\n </Subhead>\n )}\n {children}\n {hasReactNode(bottom) && (\n <Caption level=\"1\" weight=\"regular\" vkuiClass=\"FormItem__bottom\">\n {bottom}\n </Caption>\n )}\n </React.Fragment>\n );\n\n return (\n <Component\n {...restProps}\n ref={rootEl}\n vkuiClass={classNames(\n getClassName(\"FormItem\", platform),\n `FormItem--${status}`,\n `FormItem--sizeY-${sizeY}`,\n {\n \"FormItem--withTop\": hasReactNode(top),\n \"FormItem--removable\": removable,\n }\n )}\n >\n {removable ? (\n <Removable\n align=\"start\"\n onRemove={(e) => {\n if (rootEl?.current) {\n onRemove(e, rootEl.current);\n }\n }}\n removePlaceholder={removePlaceholder}\n >\n <div vkuiClass=\"FormItem__removable\">{wrappedChildren}</div>\n </Removable>\n ) : (\n wrappedChildren\n )}\n </Component>\n );\n};\n"],"file":"FormItem.js"}
1
+ {"version":3,"sources":["../../../../src/components/FormItem/FormItem.tsx"],"names":["FormItem","children","top","bottom","status","Component","removable","onRemove","noop","removePlaceholder","getRootRef","restProps","platform","rootEl","sizeY","wrappedChildren","e","current"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAiBO,IAAMA,QAAiC,GAAG,SAApCA,QAAoC,OAW5B;AAAA,MAVnBC,QAUmB,QAVnBA,QAUmB;AAAA,MATnBC,GASmB,QATnBA,GASmB;AAAA,MARnBC,MAQmB,QARnBA,MAQmB;AAAA,yBAPnBC,MAOmB;AAAA,MAPnBA,MAOmB,4BAPV,SAOU;AAAA,4BANnBC,SAMmB;AAAA,MANnBA,SAMmB,+BANP,KAMO;AAAA,MALnBC,SAKmB,QALnBA,SAKmB;AAAA,2BAJnBC,QAImB;AAAA,MAJnBA,SAImB,8BAJRC,WAIQ;AAAA,mCAHnBC,iBAGmB;AAAA,MAHnBA,iBAGmB,sCAHC,SAGD;AAAA,MAFnBC,UAEmB,QAFnBA,UAEmB;AAAA,MADhBC,SACgB;;AACnB,MAAMC,QAAQ,GAAG,+BAAjB;AACA,MAAMC,MAAM,GAAG,gCAAaH,UAAb,CAAf;;AACA,uBAAkB,oCAAlB;AAAA,MAAQI,KAAR,kBAAQA,KAAR;;AAEA,MAAMC,eAAe,GACnB,qCAAC,KAAD,CAAO,QAAP,QACG,yBAAab,GAAb,KAAqB,qCAAC,gBAAD;AAAS,IAAA,SAAS,EAAC;AAAnB,KAAoCA,GAApC,CADxB,EAEGD,QAFH,EAGG,yBAAaE,MAAb,KACC,qCAAC,gBAAD;AAAS,IAAA,KAAK,EAAC,GAAf;AAAmB,IAAA,MAAM,EAAC,SAA1B;AAAoC,IAAA,SAAS,EAAC;AAA9C,KACGA,MADH,CAJJ,CADF;AAYA,SACE,qCAAC,SAAD,6BACMQ,SADN;AAEE,IAAA,GAAG,EAAEE,MAFP;AAGE,IAAA,SAAS,EAAE,4BACT,gCAAa,UAAb,EAAyBD,QAAzB,CADS,sBAEIR,MAFJ,6BAGUU,KAHV,GAIT;AACE,2BAAqB,yBAAaZ,GAAb,CADvB;AAEE,6BAAuBI;AAFzB,KAJS;AAHb,MAaGA,SAAS,GACR,qCAAC,oBAAD;AACE,IAAA,KAAK,EAAC,OADR;AAEE,IAAA,QAAQ,EAAE,kBAACU,CAAD,EAAO;AACf,UAAIH,MAAJ,aAAIA,MAAJ,eAAIA,MAAM,CAAEI,OAAZ,EAAqB;AACnBV,QAAAA,SAAQ,CAACS,CAAD,EAAIH,MAAM,CAACI,OAAX,CAAR;AACD;AACF,KANH;AAOE,IAAA,iBAAiB,EAAER;AAPrB,KASE;AAAK,IAAA,SAAS,EAAC;AAAf,KAAsCM,eAAtC,CATF,CADQ,GAaRA,eA1BJ,CADF;AA+BD,CA3DM","sourcesContent":["import * as React from \"react\";\nimport { HasComponent, HasRootRef } from \"../../types\";\nimport { classNames } from \"../../lib/classNames\";\nimport { useExternRef } from \"../../hooks/useExternRef\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { hasReactNode, noop } from \"../../lib/utils\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport { useAdaptivity } from \"../../hooks/useAdaptivity\";\nimport { Removable, RemovableProps } from \"../Removable/Removable\";\nimport \"./FormItem.css\";\n\nexport interface FormItemProps\n extends React.AllHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement>,\n HasComponent,\n RemovableProps {\n top?: React.ReactNode;\n bottom?: React.ReactNode;\n status?: \"default\" | \"error\" | \"valid\";\n /**\n * Дает возможность удалить `FormItem`. Рекомендуется использовать только для `Input` или `Select`.\n */\n removable?: boolean;\n}\n\nexport const FormItem: React.FC<FormItemProps> = ({\n children,\n top,\n bottom,\n status = \"default\",\n Component = \"div\",\n removable,\n onRemove = noop,\n removePlaceholder = \"Удалить\",\n getRootRef,\n ...restProps\n}: FormItemProps) => {\n const platform = usePlatform();\n const rootEl = useExternRef(getRootRef);\n const { sizeY } = useAdaptivity();\n\n const wrappedChildren = (\n <React.Fragment>\n {hasReactNode(top) && <Subhead vkuiClass=\"FormItem__top\">{top}</Subhead>}\n {children}\n {hasReactNode(bottom) && (\n <Caption level=\"1\" weight=\"regular\" vkuiClass=\"FormItem__bottom\">\n {bottom}\n </Caption>\n )}\n </React.Fragment>\n );\n\n return (\n <Component\n {...restProps}\n ref={rootEl}\n vkuiClass={classNames(\n getClassName(\"FormItem\", platform),\n `FormItem--${status}`,\n `FormItem--sizeY-${sizeY}`,\n {\n \"FormItem--withTop\": hasReactNode(top),\n \"FormItem--removable\": removable,\n }\n )}\n >\n {removable ? (\n <Removable\n align=\"start\"\n onRemove={(e) => {\n if (rootEl?.current) {\n onRemove(e, rootEl.current);\n }\n }}\n removePlaceholder={removePlaceholder}\n >\n <div vkuiClass=\"FormItem__removable\">{wrappedChildren}</div>\n </Removable>\n ) : (\n wrappedChildren\n )}\n </Component>\n );\n};\n"],"file":"FormItem.js"}
@@ -98,9 +98,7 @@ var HeaderContent = function HeaderContent(_ref) {
98
98
  var HeaderAside = function HeaderAside(_ref2) {
99
99
  var platform = _ref2.platform,
100
100
  restProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
101
- return platform === _platform.Platform.VKCOM ? (0, _jsxRuntime.createScopedElement)(_Subhead.default, (0, _extends2.default)({
102
- weight: "regular"
103
- }, restProps)) : (0, _jsxRuntime.createScopedElement)(_Text.default, (0, _extends2.default)({
101
+ return platform === _platform.Platform.VKCOM ? (0, _jsxRuntime.createScopedElement)(_Subhead.default, restProps) : (0, _jsxRuntime.createScopedElement)(_Text.default, (0, _extends2.default)({
104
102
  weight: "regular"
105
103
  }, restProps));
106
104
  };
@@ -108,9 +106,7 @@ var HeaderAside = function HeaderAside(_ref2) {
108
106
  var HeaderSubtitle = function HeaderSubtitle(_ref3) {
109
107
  var mode = _ref3.mode,
110
108
  restProps = (0, _objectWithoutProperties2.default)(_ref3, _excluded3);
111
- return mode === "secondary" ? (0, _jsxRuntime.createScopedElement)(_Subhead.default, (0, _extends2.default)({
112
- weight: "regular"
113
- }, restProps)) : (0, _jsxRuntime.createScopedElement)(_Caption.default, (0, _extends2.default)({
109
+ return mode === "secondary" ? (0, _jsxRuntime.createScopedElement)(_Subhead.default, restProps) : (0, _jsxRuntime.createScopedElement)(_Caption.default, (0, _extends2.default)({
114
110
  weight: "regular",
115
111
  level: "1"
116
112
  }, restProps));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Header/Header.tsx"],"names":["HeaderContent","platform","mode","restProps","Platform","IOS","VKCOM","HeaderAside","HeaderSubtitle","Header","children","subtitle","indicator","aside","getRootRef","multiline","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { HasComponent, HasPlatform, HasRootRef } from \"../../types\";\nimport { hasReactNode, isPrimitiveReactNode } from \"../../lib/utils\";\nimport { Platform } from \"../../lib/platform\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport \"./Header.css\";\n\nexport interface HeaderProps\n extends React.HTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement> {\n mode?: \"primary\" | \"secondary\" | \"tertiary\";\n subtitle?: React.ReactNode;\n /**\n * Допускаются иконки, текст, Link\n */\n aside?: React.ReactNode;\n /**\n * Допускаются текст, Indicator\n */\n indicator?: React.ReactNode;\n multiline?: boolean;\n}\n\ntype HeaderContentProps = Pick<HeaderProps, \"children\" | \"mode\"> &\n HasPlatform &\n HasComponent;\n\nconst HeaderContent: React.FC<HeaderContentProps> = ({\n platform,\n mode,\n ...restProps\n}) => {\n if (platform === Platform.IOS) {\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Title weight=\"1\" level=\"3\" {...restProps} />;\n case \"secondary\":\n return <Caption level=\"1\" weight=\"semibold\" caps {...restProps} />;\n }\n }\n\n if (platform === Platform.VKCOM) {\n switch (mode) {\n case \"primary\":\n return <Headline weight=\"regular\" {...restProps} />;\n case \"secondary\":\n case \"tertiary\":\n return <Caption level=\"1\" weight=\"regular\" {...restProps} />;\n }\n }\n\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Headline weight=\"medium\" {...restProps} />;\n case \"secondary\":\n return <Caption level=\"1\" weight=\"medium\" caps {...restProps} />;\n }\n\n return null;\n};\n\ntype HeaderAsideProps = Pick<HeaderProps, \"aside\"> & HasPlatform & HasComponent;\n\nconst HeaderAside: React.FC<HeaderAsideProps> = ({\n platform,\n ...restProps\n}) => {\n return platform === Platform.VKCOM ? (\n <Subhead weight=\"regular\" {...restProps} />\n ) : (\n <Text weight=\"regular\" {...restProps} />\n );\n};\n\ntype HeaderSubtitleProps = Pick<HeaderProps, \"subtitle\" | \"mode\"> &\n HasComponent;\n\nconst HeaderSubtitle: React.FC<HeaderSubtitleProps> = ({\n mode,\n ...restProps\n}) => {\n return mode === \"secondary\" ? (\n <Subhead weight=\"regular\" {...restProps} />\n ) : (\n <Caption weight=\"regular\" level=\"1\" {...restProps} />\n );\n};\n\nconst Header: React.FC<HeaderProps> = ({\n mode,\n children,\n subtitle,\n indicator,\n aside,\n getRootRef,\n multiline,\n ...restProps\n}: HeaderProps) => {\n const platform = usePlatform();\n\n return (\n <header\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Header\", platform),\n `Header--mode-${mode}`,\n { \"Header--pi\": isPrimitiveReactNode(indicator) }\n )}\n >\n <div vkuiClass=\"Header__main\">\n <HeaderContent\n vkuiClass=\"Header__content\"\n Component=\"span\"\n mode={mode}\n platform={platform}\n >\n <span\n vkuiClass={classNames(\"Header__content-in\", {\n \"Header__content-in--multiline\": multiline,\n })}\n >\n {children}\n </span>\n {hasReactNode(indicator) && (\n <Caption\n vkuiClass=\"Header__indicator\"\n weight={\n mode === \"primary\" || mode === \"secondary\"\n ? \"medium\"\n : \"regular\"\n }\n level=\"1\"\n >\n {indicator}\n </Caption>\n )}\n </HeaderContent>\n\n {hasReactNode(subtitle) && (\n <HeaderSubtitle vkuiClass=\"Header__subtitle\" Component=\"span\">\n {subtitle}\n </HeaderSubtitle>\n )}\n </div>\n\n {hasReactNode(aside) && (\n <HeaderAside\n vkuiClass=\"Header__aside\"\n Component=\"span\"\n platform={platform}\n >\n {aside}\n </HeaderAside>\n )}\n </header>\n );\n};\n\nHeader.defaultProps = {\n mode: \"primary\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Header;\n"],"file":"Header.js"}
1
+ {"version":3,"sources":["../../../../src/components/Header/Header.tsx"],"names":["HeaderContent","platform","mode","restProps","Platform","IOS","VKCOM","HeaderAside","HeaderSubtitle","Header","children","subtitle","indicator","aside","getRootRef","multiline","defaultProps"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { classNames } from \"../../lib/classNames\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { HasComponent, HasPlatform, HasRootRef } from \"../../types\";\nimport { hasReactNode, isPrimitiveReactNode } from \"../../lib/utils\";\nimport { Platform } from \"../../lib/platform\";\nimport Headline from \"../Typography/Headline/Headline\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Title from \"../Typography/Title/Title\";\nimport Text from \"../Typography/Text/Text\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport \"./Header.css\";\n\nexport interface HeaderProps\n extends React.HTMLAttributes<HTMLElement>,\n HasRootRef<HTMLElement> {\n mode?: \"primary\" | \"secondary\" | \"tertiary\";\n subtitle?: React.ReactNode;\n /**\n * Допускаются иконки, текст, Link\n */\n aside?: React.ReactNode;\n /**\n * Допускаются текст, Indicator\n */\n indicator?: React.ReactNode;\n multiline?: boolean;\n}\n\ntype HeaderContentProps = Pick<HeaderProps, \"children\" | \"mode\"> &\n HasPlatform &\n HasComponent;\n\nconst HeaderContent: React.FC<HeaderContentProps> = ({\n platform,\n mode,\n ...restProps\n}) => {\n if (platform === Platform.IOS) {\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Title weight=\"1\" level=\"3\" {...restProps} />;\n case \"secondary\":\n return <Caption level=\"1\" weight=\"semibold\" caps {...restProps} />;\n }\n }\n\n if (platform === Platform.VKCOM) {\n switch (mode) {\n case \"primary\":\n return <Headline weight=\"regular\" {...restProps} />;\n case \"secondary\":\n case \"tertiary\":\n return <Caption level=\"1\" weight=\"regular\" {...restProps} />;\n }\n }\n\n switch (mode) {\n case \"primary\":\n case \"tertiary\":\n return <Headline weight=\"medium\" {...restProps} />;\n case \"secondary\":\n return <Caption level=\"1\" weight=\"medium\" caps {...restProps} />;\n }\n\n return null;\n};\n\ntype HeaderAsideProps = Pick<HeaderProps, \"aside\"> & HasPlatform & HasComponent;\n\nconst HeaderAside: React.FC<HeaderAsideProps> = ({\n platform,\n ...restProps\n}) => {\n return platform === Platform.VKCOM ? (\n <Subhead {...restProps} />\n ) : (\n <Text weight=\"regular\" {...restProps} />\n );\n};\n\ntype HeaderSubtitleProps = Pick<HeaderProps, \"subtitle\" | \"mode\"> &\n HasComponent;\n\nconst HeaderSubtitle: React.FC<HeaderSubtitleProps> = ({\n mode,\n ...restProps\n}) => {\n return mode === \"secondary\" ? (\n <Subhead {...restProps} />\n ) : (\n <Caption weight=\"regular\" level=\"1\" {...restProps} />\n );\n};\n\nconst Header: React.FC<HeaderProps> = ({\n mode,\n children,\n subtitle,\n indicator,\n aside,\n getRootRef,\n multiline,\n ...restProps\n}: HeaderProps) => {\n const platform = usePlatform();\n\n return (\n <header\n {...restProps}\n ref={getRootRef}\n vkuiClass={classNames(\n getClassName(\"Header\", platform),\n `Header--mode-${mode}`,\n { \"Header--pi\": isPrimitiveReactNode(indicator) }\n )}\n >\n <div vkuiClass=\"Header__main\">\n <HeaderContent\n vkuiClass=\"Header__content\"\n Component=\"span\"\n mode={mode}\n platform={platform}\n >\n <span\n vkuiClass={classNames(\"Header__content-in\", {\n \"Header__content-in--multiline\": multiline,\n })}\n >\n {children}\n </span>\n {hasReactNode(indicator) && (\n <Caption\n vkuiClass=\"Header__indicator\"\n weight={\n mode === \"primary\" || mode === \"secondary\"\n ? \"medium\"\n : \"regular\"\n }\n level=\"1\"\n >\n {indicator}\n </Caption>\n )}\n </HeaderContent>\n\n {hasReactNode(subtitle) && (\n <HeaderSubtitle vkuiClass=\"Header__subtitle\" Component=\"span\">\n {subtitle}\n </HeaderSubtitle>\n )}\n </div>\n\n {hasReactNode(aside) && (\n <HeaderAside\n vkuiClass=\"Header__aside\"\n Component=\"span\"\n platform={platform}\n >\n {aside}\n </HeaderAside>\n )}\n </header>\n );\n};\n\nHeader.defaultProps = {\n mode: \"primary\",\n};\n\n// eslint-disable-next-line import/no-default-export\nexport default Header;\n"],"file":"Header.js"}
@@ -39,9 +39,7 @@ var CellTypography = function CellTypography(_ref) {
39
39
  return size === "s" ? (0, _jsxRuntime.createScopedElement)(_Caption.default, (0, _extends2.default)({
40
40
  level: "2",
41
41
  weight: "regular"
42
- }, restProps), children) : (0, _jsxRuntime.createScopedElement)(_Subhead.default, (0, _extends2.default)({
43
- weight: "regular"
44
- }, restProps), children);
42
+ }, restProps), children) : (0, _jsxRuntime.createScopedElement)(_Subhead.default, restProps, children);
45
43
  };
46
44
 
47
45
  var HorizontalCell = function HorizontalCell(_ref2) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/HorizontalCell/HorizontalCell.tsx"],"names":["CellTypography","size","children","restProps","HorizontalCell","className","header","style","subtitle","getRootRef","getRef","platform"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;AAQA,IAAMA,cAA6C,GAAG,SAAhDA,cAAgD,OAI3B;AAAA,MAHzBC,IAGyB,QAHzBA,IAGyB;AAAA,MAFzBC,QAEyB,QAFzBA,QAEyB;AAAA,MADtBC,SACsB;AACzB,SAAOF,IAAI,KAAK,GAAT,GACL,qCAAC,gBAAD;AAAS,IAAA,KAAK,EAAC,GAAf;AAAmB,IAAA,MAAM,EAAC;AAA1B,KAAwCE,SAAxC,GACGD,QADH,CADK,GAKL,qCAAC,gBAAD;AAAS,IAAA,MAAM,EAAC;AAAhB,KAA8BC,SAA9B,GACGD,QADH,CALF;AASD,CAdD;;AA2BO,IAAME,cAA6C,GAAG,SAAhDA,cAAgD,QAUlC;AAAA,MATzBC,SASyB,SATzBA,SASyB;AAAA,MARzBC,MAQyB,SARzBA,MAQyB;AAAA,MAPzBC,KAOyB,SAPzBA,KAOyB;AAAA,MANzBC,QAMyB,SANzBA,QAMyB;AAAA,yBALzBP,IAKyB;AAAA,MALzBA,IAKyB,2BALlB,GAKkB;AAAA,6BAJzBC,QAIyB;AAAA,MAJzBA,QAIyB,+BAJd,qCAAC,eAAD;AAAQ,IAAA,IAAI,EAAE;AAAd,IAIc;AAAA,MAHzBO,UAGyB,SAHzBA,UAGyB;AAAA,MAFzBC,MAEyB,SAFzBA,MAEyB;AAAA,MADtBP,SACsB;AACzB,MAAMQ,QAAQ,GAAG,+BAAjB;AAEA,SACE;AACE,IAAA,SAAS,EAAE,4BACT,gCAAa,gBAAb,EAA+BA,QAA/B,CADS,4BAEUV,IAFV,EADb;AAKE,IAAA,GAAG,EAAEQ,UALP;AAME,IAAA,KAAK,EAAEF,KANT;AAOE,IAAA,SAAS,EAAEF;AAPb,KASE,qCAAC,iBAAD;AACE,IAAA,SAAS,EAAC,sBADZ;AAEE,IAAA,UAAU,EAAEK;AAFd,KAGMP,SAHN,GAKG,yBAAaD,QAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAwCA,QAAxC,CANJ,EAQE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,yBAAaI,MAAb,KACC,qCAAC,cAAD;AAAgB,IAAA,IAAI,EAAEL,IAAtB;AAA4B,IAAA,SAAS,EAAC;AAAtC,KACGK,MADH,CAFJ,EAMG,yBAAaE,QAAb,KACC,qCAAC,gBAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,KAAK,EAAC,GAFR;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGA,QALH,CAPJ,CARF,CATF,CADF;AAqCD,CAlDM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Tappable from \"../Tappable/Tappable\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Avatar from \"../Avatar/Avatar\";\nimport { HasComponent, HasRef, HasRootRef } from \"../../types\";\nimport \"./HorizontalCell.css\";\n\ninterface CellTypographyProps extends React.HTMLAttributes<HTMLDivElement> {\n size: HorizontalCellProps[\"size\"];\n}\n\nconst CellTypography: React.FC<CellTypographyProps> = ({\n size,\n children,\n ...restProps\n}: CellTypographyProps) => {\n return size === \"s\" ? (\n <Caption level=\"2\" weight=\"regular\" {...restProps}>\n {children}\n </Caption>\n ) : (\n <Subhead weight=\"regular\" {...restProps}>\n {children}\n </Subhead>\n );\n};\n\nexport interface HorizontalCellProps\n extends React.AnchorHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasComponent {\n size?: \"s\" | \"m\" | \"l\";\n header?: React.ReactNode;\n subtitle?: React.ReactNode;\n disabled?: boolean;\n}\n\nexport const HorizontalCell: React.FC<HorizontalCellProps> = ({\n className,\n header,\n style,\n subtitle,\n size = \"s\",\n children = <Avatar size={56} />,\n getRootRef,\n getRef,\n ...restProps\n}: HorizontalCellProps) => {\n const platform = usePlatform();\n\n return (\n <div\n vkuiClass={classNames(\n getClassName(\"HorizontalCell\", platform),\n `HorizontalCell--${size}`\n )}\n ref={getRootRef}\n style={style}\n className={className}\n >\n <Tappable\n vkuiClass=\"HorizontalCell__body\"\n getRootRef={getRef}\n {...restProps}\n >\n {hasReactNode(children) && (\n <div vkuiClass=\"HorizontalCell__image\">{children}</div>\n )}\n <div vkuiClass=\"HorizontalCell__content\">\n {hasReactNode(header) && (\n <CellTypography size={size} vkuiClass=\"HorizontalCell__title\">\n {header}\n </CellTypography>\n )}\n {hasReactNode(subtitle) && (\n <Caption\n weight=\"regular\"\n level=\"1\"\n vkuiClass=\"HorizontalCell__subtitle\"\n >\n {subtitle}\n </Caption>\n )}\n </div>\n </Tappable>\n </div>\n );\n};\n"],"file":"HorizontalCell.js"}
1
+ {"version":3,"sources":["../../../../src/components/HorizontalCell/HorizontalCell.tsx"],"names":["CellTypography","size","children","restProps","HorizontalCell","className","header","style","subtitle","getRootRef","getRef","platform"],"mappings":";;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;AAQA,IAAMA,cAA6C,GAAG,SAAhDA,cAAgD,OAI3B;AAAA,MAHzBC,IAGyB,QAHzBA,IAGyB;AAAA,MAFzBC,QAEyB,QAFzBA,QAEyB;AAAA,MADtBC,SACsB;AACzB,SAAOF,IAAI,KAAK,GAAT,GACL,qCAAC,gBAAD;AAAS,IAAA,KAAK,EAAC,GAAf;AAAmB,IAAA,MAAM,EAAC;AAA1B,KAAwCE,SAAxC,GACGD,QADH,CADK,GAKL,qCAAC,gBAAD,EAAaC,SAAb,EAAyBD,QAAzB,CALF;AAOD,CAZD;;AAyBO,IAAME,cAA6C,GAAG,SAAhDA,cAAgD,QAUlC;AAAA,MATzBC,SASyB,SATzBA,SASyB;AAAA,MARzBC,MAQyB,SARzBA,MAQyB;AAAA,MAPzBC,KAOyB,SAPzBA,KAOyB;AAAA,MANzBC,QAMyB,SANzBA,QAMyB;AAAA,yBALzBP,IAKyB;AAAA,MALzBA,IAKyB,2BALlB,GAKkB;AAAA,6BAJzBC,QAIyB;AAAA,MAJzBA,QAIyB,+BAJd,qCAAC,eAAD;AAAQ,IAAA,IAAI,EAAE;AAAd,IAIc;AAAA,MAHzBO,UAGyB,SAHzBA,UAGyB;AAAA,MAFzBC,MAEyB,SAFzBA,MAEyB;AAAA,MADtBP,SACsB;AACzB,MAAMQ,QAAQ,GAAG,+BAAjB;AAEA,SACE;AACE,IAAA,SAAS,EAAE,4BACT,gCAAa,gBAAb,EAA+BA,QAA/B,CADS,4BAEUV,IAFV,EADb;AAKE,IAAA,GAAG,EAAEQ,UALP;AAME,IAAA,KAAK,EAAEF,KANT;AAOE,IAAA,SAAS,EAAEF;AAPb,KASE,qCAAC,iBAAD;AACE,IAAA,SAAS,EAAC,sBADZ;AAEE,IAAA,UAAU,EAAEK;AAFd,KAGMP,SAHN,GAKG,yBAAaD,QAAb,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KAAwCA,QAAxC,CANJ,EAQE;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,yBAAaI,MAAb,KACC,qCAAC,cAAD;AAAgB,IAAA,IAAI,EAAEL,IAAtB;AAA4B,IAAA,SAAS,EAAC;AAAtC,KACGK,MADH,CAFJ,EAMG,yBAAaE,QAAb,KACC,qCAAC,gBAAD;AACE,IAAA,MAAM,EAAC,SADT;AAEE,IAAA,KAAK,EAAC,GAFR;AAGE,IAAA,SAAS,EAAC;AAHZ,KAKGA,QALH,CAPJ,CARF,CATF,CADF;AAqCD,CAlDM","sourcesContent":["import * as React from \"react\";\nimport { classNames } from \"../../lib/classNames\";\nimport { getClassName } from \"../../helpers/getClassName\";\nimport { usePlatform } from \"../../hooks/usePlatform\";\nimport { hasReactNode } from \"../../lib/utils\";\nimport Caption from \"../Typography/Caption/Caption\";\nimport Tappable from \"../Tappable/Tappable\";\nimport Subhead from \"../Typography/Subhead/Subhead\";\nimport Avatar from \"../Avatar/Avatar\";\nimport { HasComponent, HasRef, HasRootRef } from \"../../types\";\nimport \"./HorizontalCell.css\";\n\ninterface CellTypographyProps extends React.HTMLAttributes<HTMLDivElement> {\n size: HorizontalCellProps[\"size\"];\n}\n\nconst CellTypography: React.FC<CellTypographyProps> = ({\n size,\n children,\n ...restProps\n}: CellTypographyProps) => {\n return size === \"s\" ? (\n <Caption level=\"2\" weight=\"regular\" {...restProps}>\n {children}\n </Caption>\n ) : (\n <Subhead {...restProps}>{children}</Subhead>\n );\n};\n\nexport interface HorizontalCellProps\n extends React.AnchorHTMLAttributes<HTMLElement>,\n HasRootRef<HTMLDivElement>,\n HasRef<HTMLDivElement>,\n HasComponent {\n size?: \"s\" | \"m\" | \"l\";\n header?: React.ReactNode;\n subtitle?: React.ReactNode;\n disabled?: boolean;\n}\n\nexport const HorizontalCell: React.FC<HorizontalCellProps> = ({\n className,\n header,\n style,\n subtitle,\n size = \"s\",\n children = <Avatar size={56} />,\n getRootRef,\n getRef,\n ...restProps\n}: HorizontalCellProps) => {\n const platform = usePlatform();\n\n return (\n <div\n vkuiClass={classNames(\n getClassName(\"HorizontalCell\", platform),\n `HorizontalCell--${size}`\n )}\n ref={getRootRef}\n style={style}\n className={className}\n >\n <Tappable\n vkuiClass=\"HorizontalCell__body\"\n getRootRef={getRef}\n {...restProps}\n >\n {hasReactNode(children) && (\n <div vkuiClass=\"HorizontalCell__image\">{children}</div>\n )}\n <div vkuiClass=\"HorizontalCell__content\">\n {hasReactNode(header) && (\n <CellTypography size={size} vkuiClass=\"HorizontalCell__title\">\n {header}\n </CellTypography>\n )}\n {hasReactNode(subtitle) && (\n <Caption\n weight=\"regular\"\n level=\"1\"\n vkuiClass=\"HorizontalCell__subtitle\"\n >\n {subtitle}\n </Caption>\n )}\n </div>\n </Tappable>\n </div>\n );\n};\n"],"file":"HorizontalCell.js"}
@@ -35,8 +35,7 @@ var InfoRow = function InfoRow(_ref) {
35
35
  weight: "regular"
36
36
  }), (0, _utils.hasReactNode)(header) && (0, _jsxRuntime.createScopedElement)(_Subhead.default, {
37
37
  Component: "span",
38
- vkuiClass: "InfoRow__header",
39
- weight: "regular"
38
+ vkuiClass: "InfoRow__header"
40
39
  }, header), children);
41
40
  }; // eslint-disable-next-line import/no-default-export
42
41