@gravity-ui/page-constructor 5.31.2 → 6.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/README.md +6 -0
  2. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
  3. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.js +3 -6
  4. package/build/cjs/blocks/Header/Header.css +15 -10
  5. package/build/cjs/blocks/Header/Header.js +8 -4
  6. package/build/cjs/blocks/HeaderSlider/HeaderSlider.css +0 -10
  7. package/build/cjs/blocks/HeaderSlider/HeaderSlider.js +2 -2
  8. package/build/cjs/blocks/HeaderSlider/schema.d.ts +9 -1
  9. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
  10. package/build/cjs/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +5 -3
  11. package/build/cjs/blocks/Slider/Arrow/Arrow.css +22 -21
  12. package/build/cjs/blocks/Slider/Arrow/Arrow.d.ts +5 -2
  13. package/build/cjs/blocks/Slider/Arrow/Arrow.js +5 -4
  14. package/build/cjs/blocks/Slider/Slider.css +549 -329
  15. package/build/cjs/blocks/Slider/Slider.d.ts +6 -6
  16. package/build/cjs/blocks/Slider/Slider.js +40 -282
  17. package/build/cjs/blocks/Slider/i18n/en.json +1 -1
  18. package/build/cjs/blocks/Slider/i18n/ru.json +1 -1
  19. package/build/cjs/blocks/Slider/models.d.ts +2 -2
  20. package/build/cjs/blocks/Slider/models.js +1 -1
  21. package/build/cjs/blocks/Slider/schema.d.ts +18 -1
  22. package/build/cjs/blocks/Slider/schema.js +9 -0
  23. package/build/cjs/blocks/{SliderNew → Slider}/useSlider.d.ts +1 -0
  24. package/build/cjs/blocks/{SliderNew → Slider}/useSlider.js +4 -0
  25. package/build/cjs/blocks/Slider/utils.d.ts +7 -27
  26. package/build/cjs/blocks/Slider/utils.js +26 -108
  27. package/build/cjs/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +15 -12
  28. package/build/cjs/blocks/SliderOld/Arrow/Arrow.d.ts +9 -0
  29. package/build/cjs/blocks/{SliderNew → SliderOld}/Arrow/Arrow.js +3 -3
  30. package/build/cjs/blocks/SliderOld/SliderOld.css +703 -0
  31. package/build/cjs/blocks/SliderOld/SliderOld.d.ts +17 -0
  32. package/build/cjs/blocks/SliderOld/SliderOld.js +301 -0
  33. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  34. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  35. package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  36. package/build/cjs/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  37. package/build/cjs/blocks/{SliderNew → SliderOld}/models.js +1 -1
  38. package/build/cjs/blocks/{SliderNew → SliderOld}/schema.d.ts +5 -21
  39. package/build/cjs/blocks/{SliderNew → SliderOld}/schema.js +6 -14
  40. package/build/cjs/blocks/SliderOld/utils.d.ts +36 -0
  41. package/build/cjs/blocks/SliderOld/utils.js +125 -0
  42. package/build/cjs/blocks/index.d.ts +1 -0
  43. package/build/cjs/blocks/index.js +3 -1
  44. package/build/cjs/blocks/validators.d.ts +1 -0
  45. package/build/cjs/blocks/validators.js +1 -0
  46. package/build/cjs/components/ContentList/ContentList.css +5 -4
  47. package/build/cjs/components/ContentList/ContentList.js +1 -1
  48. package/build/cjs/components/FullscreenImage/FullscreenImage.css +96 -18
  49. package/build/cjs/components/FullscreenImage/FullscreenImage.d.ts +5 -0
  50. package/build/cjs/components/FullscreenImage/FullscreenImage.js +19 -5
  51. package/build/cjs/components/HTML/HTML.d.ts +16 -9
  52. package/build/cjs/components/HTML/HTML.js +16 -11
  53. package/build/cjs/components/Media/Image/Image.d.ts +1 -0
  54. package/build/cjs/components/Media/Image/Image.js +7 -5
  55. package/build/cjs/components/Media/Media.css +4 -0
  56. package/build/cjs/components/Media/Media.d.ts +1 -0
  57. package/build/cjs/components/Media/Media.js +3 -2
  58. package/build/cjs/components/MetaInfo/MetaInfo.css +1 -1
  59. package/build/cjs/components/MetaInfo/MetaInfo.js +1 -1
  60. package/build/cjs/components/Table/Table.css +2 -1
  61. package/build/cjs/components/Table/Table.js +4 -2
  62. package/build/cjs/components/Title/TitleItem.css +6 -4
  63. package/build/cjs/components/Title/TitleItem.js +3 -1
  64. package/build/cjs/components/YFMWrapper/YFMWrapper.d.ts +4 -2
  65. package/build/cjs/components/YFMWrapper/YFMWrapper.js +4 -1
  66. package/build/cjs/constructor-items.d.ts +2 -2
  67. package/build/cjs/constructor-items.js +2 -4
  68. package/build/cjs/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  69. package/build/cjs/models/common.d.ts +1 -0
  70. package/build/cjs/models/constructor-items/blocks.d.ts +17 -15
  71. package/build/cjs/models/constructor-items/blocks.js +3 -2
  72. package/build/cjs/schema/constants.d.ts +0 -1
  73. package/build/cjs/schema/constants.js +3 -1
  74. package/build/cjs/schema/validators/blocks.d.ts +2 -2
  75. package/build/cjs/schema/validators/blocks.js +2 -2
  76. package/build/cjs/sub-blocks/BannerCard/BannerCard.css +10 -8
  77. package/build/cjs/sub-blocks/BannerCard/BannerCard.js +4 -3
  78. package/build/cjs/sub-blocks/Content/Content.js +1 -1
  79. package/build/cjs/sub-blocks/PriceCard/PriceCard.css +2 -1
  80. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +1 -1
  81. package/build/cjs/sub-blocks/Quote/Quote.css +8 -4
  82. package/build/cjs/sub-blocks/Quote/Quote.js +2 -4
  83. package/build/cjs/text-transform/config.js +1 -1
  84. package/build/cjs/utils/blocks.d.ts +10 -2
  85. package/build/cjs/utils/blocks.js +10 -4
  86. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.css +11 -6
  87. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.js +4 -7
  88. package/build/esm/blocks/Header/Header.css +15 -10
  89. package/build/esm/blocks/Header/Header.js +9 -5
  90. package/build/esm/blocks/HeaderSlider/HeaderSlider.css +0 -10
  91. package/build/esm/blocks/HeaderSlider/HeaderSlider.js +1 -1
  92. package/build/esm/blocks/HeaderSlider/schema.d.ts +9 -1
  93. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.css +43 -21
  94. package/build/esm/blocks/Questions/QuestionBlockItem/QuestionBlockItem.js +6 -4
  95. package/build/esm/blocks/Slider/Arrow/Arrow.css +22 -21
  96. package/build/esm/blocks/Slider/Arrow/Arrow.d.ts +5 -2
  97. package/build/esm/blocks/Slider/Arrow/Arrow.js +5 -4
  98. package/build/esm/blocks/Slider/Slider.css +549 -329
  99. package/build/esm/blocks/Slider/Slider.d.ts +6 -6
  100. package/build/esm/blocks/Slider/Slider.js +42 -284
  101. package/build/esm/blocks/Slider/i18n/en.json +1 -1
  102. package/build/esm/blocks/Slider/i18n/ru.json +1 -1
  103. package/build/esm/blocks/Slider/models.d.ts +2 -2
  104. package/build/esm/blocks/Slider/models.js +1 -1
  105. package/build/esm/blocks/Slider/schema.d.ts +18 -1
  106. package/build/esm/blocks/Slider/schema.js +9 -0
  107. package/build/esm/blocks/{SliderNew → Slider}/useSlider.d.ts +1 -0
  108. package/build/esm/blocks/{SliderNew → Slider}/useSlider.js +5 -1
  109. package/build/esm/blocks/Slider/utils.d.ts +7 -27
  110. package/build/esm/blocks/Slider/utils.js +24 -103
  111. package/build/esm/blocks/{SliderNew → SliderOld}/Arrow/Arrow.css +15 -12
  112. package/build/esm/blocks/SliderOld/Arrow/Arrow.d.ts +10 -0
  113. package/build/esm/blocks/{SliderNew → SliderOld}/Arrow/Arrow.js +3 -3
  114. package/build/esm/blocks/SliderOld/SliderOld.css +703 -0
  115. package/build/esm/blocks/SliderOld/SliderOld.d.ts +18 -0
  116. package/build/esm/blocks/SliderOld/SliderOld.js +297 -0
  117. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/en.json +1 -1
  118. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.js +1 -1
  119. package/build/esm/blocks/{SliderNew → SliderOld}/i18n/ru.json +1 -1
  120. package/build/esm/blocks/{SliderNew → SliderOld}/models.d.ts +2 -2
  121. package/build/esm/blocks/{SliderNew → SliderOld}/models.js +1 -1
  122. package/build/esm/blocks/{SliderNew → SliderOld}/schema.d.ts +5 -21
  123. package/build/esm/blocks/{SliderNew → SliderOld}/schema.js +5 -13
  124. package/build/esm/blocks/SliderOld/utils.d.ts +36 -0
  125. package/build/esm/blocks/SliderOld/utils.js +115 -0
  126. package/build/esm/blocks/index.d.ts +1 -0
  127. package/build/esm/blocks/index.js +1 -0
  128. package/build/esm/blocks/validators.d.ts +1 -0
  129. package/build/esm/blocks/validators.js +1 -0
  130. package/build/esm/components/ContentList/ContentList.css +5 -4
  131. package/build/esm/components/ContentList/ContentList.js +1 -1
  132. package/build/esm/components/FullscreenImage/FullscreenImage.css +96 -18
  133. package/build/esm/components/FullscreenImage/FullscreenImage.d.ts +5 -0
  134. package/build/esm/components/FullscreenImage/FullscreenImage.js +20 -6
  135. package/build/esm/components/HTML/HTML.d.ts +16 -9
  136. package/build/esm/components/HTML/HTML.js +18 -12
  137. package/build/esm/components/Media/Image/Image.d.ts +1 -0
  138. package/build/esm/components/Media/Image/Image.js +7 -5
  139. package/build/esm/components/Media/Media.css +4 -0
  140. package/build/esm/components/Media/Media.d.ts +1 -0
  141. package/build/esm/components/Media/Media.js +3 -2
  142. package/build/esm/components/MetaInfo/MetaInfo.css +1 -1
  143. package/build/esm/components/MetaInfo/MetaInfo.js +1 -1
  144. package/build/esm/components/Table/Table.css +2 -1
  145. package/build/esm/components/Table/Table.js +5 -3
  146. package/build/esm/components/Title/TitleItem.css +6 -4
  147. package/build/esm/components/Title/TitleItem.js +4 -2
  148. package/build/esm/components/YFMWrapper/YFMWrapper.d.ts +4 -2
  149. package/build/esm/components/YFMWrapper/YFMWrapper.js +5 -1
  150. package/build/esm/constructor-items.d.ts +2 -2
  151. package/build/esm/constructor-items.js +3 -5
  152. package/build/esm/editor/data/templates/{slider-new-block.json → slider-old-block.json} +2 -2
  153. package/build/esm/models/common.d.ts +1 -0
  154. package/build/esm/models/constructor-items/blocks.d.ts +17 -15
  155. package/build/esm/models/constructor-items/blocks.js +3 -2
  156. package/build/esm/schema/constants.d.ts +0 -1
  157. package/build/esm/schema/constants.js +4 -2
  158. package/build/esm/schema/validators/blocks.d.ts +2 -2
  159. package/build/esm/schema/validators/blocks.js +2 -2
  160. package/build/esm/sub-blocks/BannerCard/BannerCard.css +10 -8
  161. package/build/esm/sub-blocks/BannerCard/BannerCard.js +5 -4
  162. package/build/esm/sub-blocks/Content/Content.js +1 -1
  163. package/build/esm/sub-blocks/PriceCard/PriceCard.css +2 -1
  164. package/build/esm/sub-blocks/PriceCard/PriceCard.js +2 -2
  165. package/build/esm/sub-blocks/Quote/Quote.css +8 -4
  166. package/build/esm/sub-blocks/Quote/Quote.js +3 -5
  167. package/build/esm/text-transform/config.js +1 -1
  168. package/build/esm/utils/blocks.d.ts +10 -2
  169. package/build/esm/utils/blocks.js +8 -2
  170. package/package.json +2 -2
  171. package/schema/index.js +1 -1
  172. package/server/models/common.d.ts +1 -0
  173. package/server/models/constructor-items/blocks.d.ts +17 -15
  174. package/server/models/constructor-items/blocks.js +3 -2
  175. package/server/text-transform/config.js +1 -1
  176. package/server/utils/blocks.d.ts +10 -2
  177. package/server/utils/blocks.js +10 -4
  178. package/styles/fonts.scss +1 -0
  179. package/styles/styles.css +0 -1
  180. package/styles/styles.scss +0 -1
  181. package/styles/variables.scss +1 -0
  182. package/widget/index.js +1 -1
  183. package/build/cjs/blocks/SliderNew/Arrow/Arrow.d.ts +0 -11
  184. package/build/cjs/blocks/SliderNew/Slider.css +0 -834
  185. package/build/cjs/blocks/SliderNew/Slider.d.ts +0 -13
  186. package/build/cjs/blocks/SliderNew/Slider.js +0 -56
  187. package/build/cjs/blocks/SliderNew/utils.d.ts +0 -16
  188. package/build/cjs/blocks/SliderNew/utils.js +0 -43
  189. package/build/cjs/blocks/unstable.d.ts +0 -1
  190. package/build/cjs/blocks/unstable.js +0 -8
  191. package/build/esm/blocks/SliderNew/Arrow/Arrow.d.ts +0 -12
  192. package/build/esm/blocks/SliderNew/Slider.css +0 -834
  193. package/build/esm/blocks/SliderNew/Slider.d.ts +0 -14
  194. package/build/esm/blocks/SliderNew/Slider.js +0 -52
  195. package/build/esm/blocks/SliderNew/utils.d.ts +0 -16
  196. package/build/esm/blocks/SliderNew/utils.js +0 -36
  197. package/build/esm/blocks/unstable.d.ts +0 -1
  198. package/build/esm/blocks/unstable.js +0 -1
  199. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  200. /package/build/cjs/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  201. /package/build/cjs/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +0 -0
  202. /package/build/cjs/blocks/{Slider → SliderOld}/slick.css +0 -0
  203. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.d.ts +0 -0
  204. /package/build/esm/blocks/{SliderNew → Slider}/useSliderPagination.js +0 -0
  205. /package/build/esm/blocks/{SliderNew → SliderOld}/i18n/index.d.ts +0 -0
  206. /package/build/esm/blocks/{Slider → SliderOld}/slick.css +0 -0
@@ -1,4 +1,4 @@
1
- .pc-QuestionsBlockItem__title {
1
+ .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title {
2
2
  margin: 0;
3
3
  }
4
4
 
@@ -11,45 +11,55 @@ unpredictable css rules order in build */
11
11
  .pc-QuestionsBlockItem + .pc-QuestionsBlockItem {
12
12
  padding-top: 32px;
13
13
  }
14
- .pc-QuestionsBlockItem__title {
15
- display: inline-block;
16
- margin: 0;
17
- padding: 0;
18
- font: inherit;
19
- border: none;
20
- outline: none;
21
- color: inherit;
22
- background: none;
23
- cursor: pointer;
14
+ .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title {
24
15
  font-size: var(--g-text-header-1-font-size);
25
16
  line-height: var(--g-text-header-1-line-height);
26
17
  color: var(--pc-text-header-color);
27
18
  font-weight: var(--g-text-accent-font-weight);
28
- position: relative;
29
- display: block;
30
- width: 100%;
31
- padding-right: 24px;
32
- text-align: start;
33
19
  cursor: pointer;
34
20
  border-radius: var(--g-focus-border-radius);
35
21
  }
36
- .pc-QuestionsBlockItem__title:focus {
22
+ .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title:focus {
37
23
  outline: 2px solid var(--g-color-line-focus);
38
24
  outline-offset: 0;
39
25
  }
40
- .pc-QuestionsBlockItem__title:focus:not(:focus-visible) {
26
+ .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title:focus:not(:focus-visible) {
41
27
  outline: 0;
42
28
  }
43
- .pc-QuestionsBlockItem__title a {
29
+ .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title a {
44
30
  outline: none;
45
31
  color: var(--g-color-text-link);
46
32
  text-decoration: none;
47
33
  cursor: pointer;
48
34
  }
49
- .utilityfocus .pc-QuestionsBlockItem__title a:focus {
35
+ .utilityfocus .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title a:focus {
50
36
  outline: 2px solid #ffdb4d;
51
37
  }
52
- .pc-QuestionsBlockItem__title a:hover, .pc-QuestionsBlockItem__title a:active {
38
+ .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title a:hover, .pc-QuestionsBlockItem__title.pc-QuestionsBlockItem__title a:active {
39
+ --pc-text-header-color: var(--g-color-text-link-hover);
40
+ color: var(--g-color-text-link-hover);
41
+ }
42
+
43
+ .pc-QuestionsBlockItem__title-container {
44
+ margin: 0;
45
+ position: relative;
46
+ display: block;
47
+ width: 100%;
48
+ padding-right: 24px;
49
+ text-align: start;
50
+ cursor: pointer;
51
+ border-radius: var(--g-focus-border-radius);
52
+ }
53
+ .pc-QuestionsBlockItem__title-container a {
54
+ outline: none;
55
+ color: var(--g-color-text-link);
56
+ text-decoration: none;
57
+ cursor: pointer;
58
+ }
59
+ .utilityfocus .pc-QuestionsBlockItem__title-container a:focus {
60
+ outline: 2px solid #ffdb4d;
61
+ }
62
+ .pc-QuestionsBlockItem__title-container a:hover, .pc-QuestionsBlockItem__title-container a:active {
53
63
  --pc-text-header-color: var(--g-color-text-link-hover);
54
64
  color: var(--g-color-text-link-hover);
55
65
  }
@@ -75,4 +85,16 @@ unpredictable css rules order in build */
75
85
  font-size: var(--g-text-body-2-font-size);
76
86
  line-height: var(--g-text-body-2-line-height);
77
87
  margin-top: 12px;
88
+ }
89
+ .pc-QuestionsBlockItem__button {
90
+ display: inline-block;
91
+ margin: 0;
92
+ padding: 0;
93
+ font: inherit;
94
+ border: none;
95
+ outline: none;
96
+ color: inherit;
97
+ background: none;
98
+ cursor: pointer;
99
+ width: 100%;
78
100
  }
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { useActionHandlers } from '@gravity-ui/uikit';
3
- import { Foldable, HTML, ToggleArrow, YFMWrapper } from '../../../components';
3
+ import { Foldable, ToggleArrow, YFMWrapper } from '../../../components';
4
4
  import Link from '../../../components/Link/Link';
5
5
  import { block } from '../../../utils';
6
6
  import { FaqMicrodataValues } from '../models';
@@ -9,9 +9,11 @@ const b = block('QuestionsBlockItem');
9
9
  export const QuestionBlockItem = ({ title: itemTitle, text: itemText, link, listStyle = 'dash', isOpened, onClick, }) => {
10
10
  const { onKeyDown } = useActionHandlers(onClick);
11
11
  return (React.createElement("div", { className: b(), itemScope: true, itemProp: FaqMicrodataValues.QuestionProp, itemType: FaqMicrodataValues.QuestionType, role: 'listitem' },
12
- React.createElement("button", { className: b('title'), onClick: onClick, "aria-expanded": isOpened, onKeyDown: onKeyDown },
13
- React.createElement(HTML, { itemProp: FaqMicrodataValues.QuestionNameProp }, itemTitle),
14
- React.createElement(ToggleArrow, { open: isOpened, size: 16, type: 'vertical', iconType: "navigation", className: b('arrow') })),
12
+ React.createElement("button", { className: b('button'), onClick: onClick, "aria-expanded": isOpened, onKeyDown: onKeyDown },
13
+ React.createElement(YFMWrapper, { tagName: "h3", className: b('title-container'), contentClassName: b('title'), itemProp: FaqMicrodataValues.QuestionNameProp, content: itemTitle, modifiers: {
14
+ constructor: true,
15
+ }, onClick: onClick, tabIndex: 0 },
16
+ React.createElement(ToggleArrow, { open: isOpened, size: 16, type: 'vertical', iconType: "navigation", className: b('arrow') }))),
15
17
  React.createElement(Foldable, { isOpened: isOpened },
16
18
  React.createElement("div", { className: b('text'), itemScope: true, itemProp: FaqMicrodataValues.AnswerProp, itemType: FaqMicrodataValues.AnswerType, "aria-hidden": !isOpened },
17
19
  React.createElement(YFMWrapper, { content: itemText, modifiers: {
@@ -1,36 +1,25 @@
1
- .pc-slider-block-arrow__button {
1
+ .pc-slider-block-arrow__inner {
2
2
  box-shadow: 0px 4px 24px var(--pc-color-sfx-shadow), 0px 2px 8px var(--pc-color-sfx-shadow);
3
3
  }
4
4
 
5
- .pc-slider-block-arrow__button:hover {
5
+ .pc-slider-block-arrow__inner:hover {
6
6
  box-shadow: 0px 4px 24px var(--g-color-sfx-shadow), 0px 2px 8px var(--g-color-sfx-shadow);
7
7
  cursor: pointer;
8
8
  }
9
9
 
10
10
  /* use this for style redefinitions to awoid problems with
11
11
  unpredictable css rules order in build */
12
- .pc-slider-block-arrow__icon-wrapper, .pc-slider-block-arrow__button, .pc-slider-block-arrow {
12
+ .pc-slider-block-arrow__icon-wrapper, .pc-slider-block-arrow__inner, .pc-slider-block-arrow {
13
13
  display: flex;
14
14
  align-items: center;
15
15
  justify-content: center;
16
16
  }
17
17
 
18
- .pc-slider-block-arrow {
19
- width: 42px;
20
- height: 42px;
21
- cursor: pointer;
22
- }
23
18
  @media (max-width: 576px) {
24
19
  .pc-slider-block-arrow {
25
20
  display: none;
26
21
  }
27
22
  }
28
- .pc-slider-block-arrow_type_left {
29
- margin-right: 16px;
30
- }
31
- .pc-slider-block-arrow_type_left .pc-slider-block-arrow__icon-wrapper {
32
- transform: rotate(180deg);
33
- }
34
23
  .pc-slider-block-arrow__button {
35
24
  display: inline-block;
36
25
  margin: 0;
@@ -41,6 +30,15 @@ unpredictable css rules order in build */
41
30
  color: inherit;
42
31
  background: none;
43
32
  cursor: pointer;
33
+ }
34
+ .pc-slider-block-arrow__button:focus {
35
+ outline: 2px solid var(--g-color-line-focus);
36
+ outline-offset: 0;
37
+ }
38
+ .pc-slider-block-arrow__button:focus:not(:focus-visible) {
39
+ outline: 0;
40
+ }
41
+ .pc-slider-block-arrow__inner {
44
42
  width: 42px;
45
43
  height: 42px;
46
44
  color: var(--g-color-text-secondary);
@@ -49,17 +47,20 @@ unpredictable css rules order in build */
49
47
  box-shadow: 0 4px 24px var(--pc-color-sfx-shadow), 0 2px 8px var(--pc-color-sfx-shadow);
50
48
  transition: box-shadow 0.3s cubic-bezier(0.22, 0.61, 0.36, 1), color 1s cubic-bezier(0.22, 0.61, 0.36, 1);
51
49
  }
52
- .pc-slider-block-arrow__button:focus {
53
- outline: 2px solid var(--g-color-line-focus);
54
- outline-offset: 0;
55
- }
56
- .pc-slider-block-arrow__button:focus:not(:focus-visible) {
57
- outline: 0;
50
+ .pc-slider-block-arrow__inner_type_left .pc-slider-block-arrow__icon-wrapper {
51
+ transform: rotate(180deg);
58
52
  }
59
- .pc-slider-block-arrow:hover .pc-slider-block-arrow__button {
53
+ .pc-slider-block-arrow__inner:hover {
60
54
  color: var(--g-color-text-primary);
61
55
  box-shadow: 0 2px 12px var(--pc-color-sfx-shadow), 0 4px 24px var(--pc-color-sfx-shadow);
62
56
  }
57
+ .pc-slider-block-arrow__inner_transparent {
58
+ background-color: transparent;
59
+ box-shadow: none;
60
+ }
61
+ .pc-slider-block-arrow__inner_transparent:hover {
62
+ box-shadow: none;
63
+ }
63
64
  .pc-slider-block-arrow__icon {
64
65
  position: relative;
65
66
  }
@@ -1,10 +1,13 @@
1
+ import React from 'react';
1
2
  import { ClassNameProps } from '../../../models';
2
3
  import './Arrow.css';
3
4
  export type ArrowType = 'left' | 'right';
4
5
  export interface ArrowProps {
5
6
  type: ArrowType;
6
- handleClick?: (direction: ArrowType) => void;
7
+ transparent?: boolean;
8
+ onClick?: () => void;
7
9
  size?: number;
10
+ extraProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;
8
11
  }
9
- declare const Arrow: ({ type, handleClick, className, size }: ArrowProps & ClassNameProps) => JSX.Element;
12
+ declare const Arrow: ({ type, transparent, onClick, className, size, extraProps, }: ArrowProps & ClassNameProps) => JSX.Element;
10
13
  export default Arrow;
@@ -4,8 +4,9 @@ import { block } from '../../../utils';
4
4
  import { i18n } from '../i18n';
5
5
  import './Arrow.css';
6
6
  const b = block('slider-block-arrow');
7
- const Arrow = ({ type, handleClick, className, size = 16 }) => (React.createElement("div", { className: b({ type }, className) },
8
- React.createElement("button", { className: b('button'), onClick: () => handleClick && handleClick(type), "aria-label": i18n(`arrow-${type}`) },
9
- React.createElement("span", { className: b('icon-wrapper') },
10
- React.createElement(ToggleArrow, { size: size, type: 'horizontal', iconType: "navigation", className: b('icon') })))));
7
+ const Arrow = ({ type, transparent, onClick, className, size = 16, extraProps, }) => (React.createElement("div", { className: b(null, className) },
8
+ React.createElement("button", Object.assign({ className: b('button'), onClick: onClick, "aria-label": i18n(`arrow-${type}`) }, extraProps),
9
+ React.createElement("div", { className: b('inner', { type, transparent }) },
10
+ React.createElement("span", { className: b('icon-wrapper') },
11
+ React.createElement(ToggleArrow, { size: size, type: 'horizontal', iconType: "navigation", className: b('icon') }))))));
11
12
  export default Arrow;