@gravity-ui/page-constructor 4.47.0-beta.0 → 4.47.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 (121) hide show
  1. package/README.md +2 -2
  2. package/build/cjs/blocks/CardLayout/CardLayout.css +277 -0
  3. package/build/cjs/blocks/CardLayout/CardLayout.js +2 -1
  4. package/build/cjs/blocks/CardLayout/schema.d.ts +134 -62
  5. package/build/cjs/blocks/CardLayout/schema.js +6 -1
  6. package/build/cjs/blocks/ContentLayout/schema.d.ts +123 -65
  7. package/build/cjs/blocks/ContentLayout/schema.js +1 -1
  8. package/build/cjs/blocks/ExtendedFeatures/ExtendedFeatures.css +270 -0
  9. package/build/cjs/blocks/Header/schema.d.ts +3 -33
  10. package/build/cjs/blocks/HeaderSlider/schema.d.ts +1 -11
  11. package/build/cjs/blocks/Map/Map.css +14 -0
  12. package/build/cjs/blocks/Map/Map.d.ts +1 -1
  13. package/build/cjs/blocks/Map/Map.js +9 -2
  14. package/build/cjs/blocks/Map/schema.d.ts +4 -0
  15. package/build/cjs/blocks/Media/Media.css +14 -0
  16. package/build/cjs/blocks/Media/Media.js +8 -2
  17. package/build/cjs/blocks/Media/schema.d.ts +16 -22
  18. package/build/cjs/blocks/Media/schema.js +9 -2
  19. package/build/cjs/blocks/PromoFeaturesBlock/PromoFeaturesBlock.css +270 -0
  20. package/build/cjs/blocks/PromoFeaturesBlock/schema.d.ts +1 -11
  21. package/build/cjs/blocks/Slider/Slider.css +270 -0
  22. package/build/cjs/blocks/Tabs/schema.d.ts +1 -11
  23. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js +1 -1
  24. package/build/cjs/components/Image/schema.d.ts +102 -1
  25. package/build/cjs/components/Image/schema.js +9 -3
  26. package/build/cjs/components/Map/GoogleMap.js +2 -2
  27. package/build/cjs/components/Map/YMap/YandexMap.js +2 -2
  28. package/build/cjs/components/Media/Iframe/Iframe.css +4 -0
  29. package/build/cjs/components/Media/Iframe/Iframe.js +4 -64
  30. package/build/cjs/components/MediaBase/MediaBase.css +6 -0
  31. package/build/cjs/components/MediaBase/MediaBase.js +2 -2
  32. package/build/cjs/constructor-items.d.ts +1 -1
  33. package/build/cjs/editor/data/templates/banner-block.json +1 -2
  34. package/build/cjs/editor/data/templates/card-layout-block.json +3 -3
  35. package/build/cjs/editor/data/templates/companies-block.json +3 -9
  36. package/build/cjs/editor/data/templates/extended-features-block.json +3 -6
  37. package/build/cjs/editor/data/templates/filter-block.json +3 -3
  38. package/build/cjs/editor/data/templates/form-block.json +1 -1
  39. package/build/cjs/editor/data/templates/header-slider-block.json +2 -12
  40. package/build/cjs/editor/data/templates/icons-block.json +5 -5
  41. package/build/cjs/editor/data/templates/media-block.json +1 -4
  42. package/build/cjs/editor/data/templates/promo-features-block.json +5 -5
  43. package/build/cjs/editor/data/templates/slider-block.json +5 -5
  44. package/build/cjs/editor/data/templates/tabs-block.json +9 -42
  45. package/build/cjs/grid/Col/Col.d.ts +1 -1
  46. package/build/cjs/models/constructor-items/blocks.d.ts +6 -5
  47. package/build/cjs/models/constructor-items/common.d.ts +12 -5
  48. package/build/cjs/schema/constants.d.ts +2 -12
  49. package/build/cjs/schema/validators/common.d.ts +5 -11
  50. package/build/cjs/schema/validators/common.js +7 -10
  51. package/build/cjs/sub-blocks/BackgroundCard/schema.d.ts +1 -1
  52. package/build/cjs/sub-blocks/LayoutItem/schema.d.ts +1 -11
  53. package/build/cjs/sub-blocks/MediaCard/schema.d.ts +1 -11
  54. package/build/cjs/utils/borderSelector.d.ts +7 -0
  55. package/build/cjs/utils/borderSelector.js +18 -0
  56. package/build/esm/blocks/CardLayout/CardLayout.css +277 -0
  57. package/build/esm/blocks/CardLayout/CardLayout.js +3 -1
  58. package/build/esm/blocks/CardLayout/schema.d.ts +134 -62
  59. package/build/esm/blocks/CardLayout/schema.js +8 -3
  60. package/build/esm/blocks/ContentLayout/schema.d.ts +123 -65
  61. package/build/esm/blocks/ContentLayout/schema.js +2 -2
  62. package/build/esm/blocks/ExtendedFeatures/ExtendedFeatures.css +270 -0
  63. package/build/esm/blocks/Header/schema.d.ts +3 -33
  64. package/build/esm/blocks/HeaderSlider/schema.d.ts +1 -11
  65. package/build/esm/blocks/Map/Map.css +14 -0
  66. package/build/esm/blocks/Map/Map.d.ts +2 -1
  67. package/build/esm/blocks/Map/Map.js +10 -2
  68. package/build/esm/blocks/Map/schema.d.ts +4 -0
  69. package/build/esm/blocks/Media/Media.css +14 -0
  70. package/build/esm/blocks/Media/Media.d.ts +1 -0
  71. package/build/esm/blocks/Media/Media.js +10 -3
  72. package/build/esm/blocks/Media/schema.d.ts +16 -22
  73. package/build/esm/blocks/Media/schema.js +9 -2
  74. package/build/esm/blocks/PromoFeaturesBlock/PromoFeaturesBlock.css +270 -0
  75. package/build/esm/blocks/PromoFeaturesBlock/schema.d.ts +1 -11
  76. package/build/esm/blocks/Slider/Slider.css +270 -0
  77. package/build/esm/blocks/Tabs/schema.d.ts +1 -11
  78. package/build/esm/components/BalancedMasonry/BalancedMasonry.js +1 -1
  79. package/build/esm/components/Image/schema.d.ts +102 -1
  80. package/build/esm/components/Image/schema.js +8 -2
  81. package/build/esm/components/Map/GoogleMap.js +2 -2
  82. package/build/esm/components/Map/YMap/YandexMap.js +2 -2
  83. package/build/esm/components/Media/Iframe/Iframe.css +4 -0
  84. package/build/esm/components/Media/Iframe/Iframe.js +4 -64
  85. package/build/esm/components/MediaBase/MediaBase.css +6 -0
  86. package/build/esm/components/MediaBase/MediaBase.js +2 -2
  87. package/build/esm/constructor-items.d.ts +1 -1
  88. package/build/esm/editor/data/templates/banner-block.json +1 -2
  89. package/build/esm/editor/data/templates/card-layout-block.json +3 -3
  90. package/build/esm/editor/data/templates/companies-block.json +3 -9
  91. package/build/esm/editor/data/templates/extended-features-block.json +3 -6
  92. package/build/esm/editor/data/templates/filter-block.json +3 -3
  93. package/build/esm/editor/data/templates/form-block.json +1 -1
  94. package/build/esm/editor/data/templates/header-slider-block.json +2 -12
  95. package/build/esm/editor/data/templates/icons-block.json +5 -5
  96. package/build/esm/editor/data/templates/media-block.json +1 -4
  97. package/build/esm/editor/data/templates/promo-features-block.json +5 -5
  98. package/build/esm/editor/data/templates/slider-block.json +5 -5
  99. package/build/esm/editor/data/templates/tabs-block.json +9 -42
  100. package/build/esm/grid/Col/Col.d.ts +1 -1
  101. package/build/esm/models/constructor-items/blocks.d.ts +6 -5
  102. package/build/esm/models/constructor-items/common.d.ts +12 -5
  103. package/build/esm/schema/constants.d.ts +2 -12
  104. package/build/esm/schema/validators/common.d.ts +5 -11
  105. package/build/esm/schema/validators/common.js +6 -9
  106. package/build/esm/sub-blocks/BackgroundCard/schema.d.ts +1 -1
  107. package/build/esm/sub-blocks/LayoutItem/schema.d.ts +1 -11
  108. package/build/esm/sub-blocks/MediaCard/schema.d.ts +1 -11
  109. package/build/esm/utils/borderSelector.d.ts +7 -0
  110. package/build/esm/utils/borderSelector.js +14 -0
  111. package/package.json +2 -4
  112. package/server/models/constructor-items/blocks.d.ts +6 -5
  113. package/server/models/constructor-items/common.d.ts +12 -5
  114. package/styles/mixins.scss +30 -10
  115. package/widget/index.js +1 -1
  116. package/build/cjs/editor/data/templates/preview-block.json +0 -38
  117. package/build/cjs/editor/data/templates/security-block.json +0 -36
  118. package/build/cjs/editor/data/templates/simple-block.json +0 -7
  119. package/build/esm/editor/data/templates/preview-block.json +0 -38
  120. package/build/esm/editor/data/templates/security-block.json +0 -36
  121. package/build/esm/editor/data/templates/simple-block.json +0 -7
@@ -3,7 +3,7 @@ import { ButtonSize } from '@gravity-ui/uikit';
3
3
  import { GridColumnSize, GridColumnSizesType, IndentValue } from '../../grid/types';
4
4
  import { ThemeSupporting } from '../../utils';
5
5
  import { AnalyticsEventsBase } from '../common';
6
- import { AnchorProps, Animatable, BackgroundImageProps, ButtonProps, ContentSize, ContentTextSize, ContentTheme, FileLinkProps, HeaderBreadCrumbsProps, HeaderImageSize, HeaderOffset, HeaderWidth, ImageDeviceProps, ImageProps, Justify, LegendTableMarkerType, LinkProps, MapProps, MediaDirection, MediaProps, TextSize, TextTheme, ThemedImage, ThemedMediaProps, ThemedMediaVideoProps, TitleItemBaseProps, TitleItemProps, YandexFormProps } from './common';
6
+ import { AnchorProps, Animatable, BackgroundImageProps, ButtonProps, CardBorder, ContentSize, ContentTextSize, ContentTheme, FileLinkProps, HeaderBreadCrumbsProps, HeaderImageSize, HeaderOffset, HeaderWidth, ImageDeviceProps, ImageProps, Justify, LegendTableMarkerType, LinkProps, MapProps, MediaDirection, MediaProps, TextSize, TextTheme, ThemedImage, ThemedMediaProps, ThemedMediaVideoProps, TitleItemBaseProps, TitleItemProps, WithBorder, YandexFormProps } from './common';
7
7
  import { BannerCardProps, HubspotFormProps, SubBlock, SubBlockModels } from './sub-blocks';
8
8
  export declare enum BlockType {
9
9
  PromoFeaturesBlock = "promo-features-block",
@@ -166,7 +166,6 @@ export interface MediaBaseBlockProps extends Animatable, MediaContentProps {
166
166
  mobileDirection?: MediaDirection;
167
167
  largeMedia?: boolean;
168
168
  mediaOnly?: boolean;
169
- disableShadow?: boolean;
170
169
  mediaOnlyColSizes?: GridColumnSizesType;
171
170
  }
172
171
  export interface MediaContentProps extends Omit<ContentBlockProps, 'colSizes' | 'text' | 'title' | 'theme' | 'centered'> {
@@ -175,10 +174,10 @@ export interface MediaContentProps extends Omit<ContentBlockProps, 'colSizes' |
175
174
  /** @deprecated Use array of buttons from ContentBlockProps instead**/
176
175
  button?: ButtonProps;
177
176
  }
178
- export interface MediaBlockProps extends MediaBaseBlockProps {
177
+ export interface MediaBlockProps extends MediaBaseBlockProps, WithBorder {
179
178
  media: ThemeSupporting<MediaProps>;
180
179
  }
181
- export interface MapBlockProps extends MediaBaseBlockProps {
180
+ export interface MapBlockProps extends MediaBaseBlockProps, WithBorder {
182
181
  map: MapProps;
183
182
  }
184
183
  export interface InfoBlockProps {
@@ -234,7 +233,9 @@ export interface CardLayoutBlockProps extends Childable, Animatable, LoadableChi
234
233
  titleClassName?: string;
235
234
  description?: string;
236
235
  colSizes?: GridColumnSizesType;
237
- background?: BackgroundImageProps;
236
+ background?: BackgroundImageProps & {
237
+ border?: CardBorder;
238
+ };
238
239
  }
239
240
  export type FilterTag = {
240
241
  id: string;
@@ -215,6 +215,7 @@ export interface BackgroundMediaProps extends MediaProps, Animatable, QAProps {
215
215
  export type Coordinate = number[];
216
216
  export interface MapBaseProps {
217
217
  zoom?: number;
218
+ className?: string;
218
219
  }
219
220
  export interface GMapProps extends MapBaseProps {
220
221
  address: string;
@@ -257,14 +258,12 @@ export interface DataLensObjectProps {
257
258
  id: string;
258
259
  theme: 'dark' | 'light';
259
260
  }
260
- export type JustifyValues = 'left' | 'right' | 'center';
261
261
  export interface IframeProps {
262
262
  src: string;
263
- width?: number | string;
264
- height?: number | string;
263
+ width?: number;
264
+ height?: number;
265
265
  title?: string;
266
266
  name?: string;
267
- justifyContent?: JustifyValues;
268
267
  }
269
268
  export type DataLensProps = string | DataLensObjectProps;
270
269
  export interface AuthorItem {
@@ -294,7 +293,8 @@ export interface TitleItemBaseProps {
294
293
  custom?: string | ReactNode;
295
294
  onClick?: () => void;
296
295
  }
297
- export type CardBorder = 'shadow' | 'line' | 'none';
296
+ export type MediaBorder = 'shadow' | 'line' | 'none';
297
+ export type CardBorder = MediaBorder;
298
298
  export interface CardBaseProps {
299
299
  border?: CardBorder;
300
300
  }
@@ -370,4 +370,11 @@ export interface YandexFormProps extends AnalyticsEventsBase {
370
370
  metrikaGoals?: string | string[];
371
371
  pixelEvents?: string | string[] | PixelEvent | PixelEvent[];
372
372
  }
373
+ export interface WithBorder {
374
+ border?: MediaBorder;
375
+ /**
376
+ * @deprecated use custom class for media-component
377
+ */
378
+ disableShadow?: boolean;
379
+ }
373
380
  export {};
@@ -252,15 +252,7 @@
252
252
  border-radius: $borderRadius;
253
253
  }
254
254
 
255
- @mixin card($hover: false) {
256
- min-height: 248px;
257
- height: 100%;
258
- overflow-x: hidden;
259
- border-radius: $borderRadius;
260
- background-color: var(--g-color-base-float);
261
-
262
- transition: box-shadow 0.3s $ease-out-cubic;
263
-
255
+ @mixin card-border($hover: false) {
264
256
  &_border_line {
265
257
  border: 1px solid var(--g-color-line-generic);
266
258
  }
@@ -283,6 +275,17 @@
283
275
  }
284
276
  }
285
277
 
278
+ @mixin card($hover: false) {
279
+ min-height: 248px;
280
+ height: 100%;
281
+ overflow-x: hidden;
282
+ border-radius: $borderRadius;
283
+ background-color: var(--g-color-base-float);
284
+
285
+ transition: box-shadow 0.3s $ease-out-cubic;
286
+ @include card-border($hover);
287
+ }
288
+
286
289
  @mixin card-image {
287
290
  margin: $imagePadding;
288
291
  border-radius: calc(#{$borderRadius} - #{$imagePadding});
@@ -351,7 +354,7 @@
351
354
  transition: top $transition, opacity $transition;
352
355
  }
353
356
 
354
- @for $i from 0 through 9 {
357
+ @for $i from 0 through 99 {
355
358
  #{$item-class}:nth-child(#{$i}) {
356
359
  transition-delay: $i * 0.1s + $delay;
357
360
  }
@@ -616,3 +619,20 @@ unpredictable css rules order in build */
616
619
  }
617
620
  }
618
621
  }
622
+
623
+ @mixin media-border() {
624
+ &_border {
625
+ &_shadow {
626
+ @include image-shadow();
627
+ }
628
+
629
+ &_line {
630
+ border-radius: $borderRadius;
631
+ border: 1px solid var(--g-color-line-generic);
632
+ }
633
+
634
+ &_none {
635
+ border-radius: $borderRadius;
636
+ }
637
+ }
638
+ }