@gravity-ui/page-constructor 6.4.0 → 6.5.1

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 (56) hide show
  1. package/build/cjs/blocks/FoldableList/FoldableList.css +13 -0
  2. package/build/cjs/blocks/FoldableList/FoldableList.d.ts +3 -0
  3. package/build/cjs/blocks/FoldableList/FoldableList.js +31 -0
  4. package/build/cjs/blocks/FoldableList/FoldableList.js.map +1 -0
  5. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +78 -0
  6. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +2 -0
  7. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +20 -0
  8. package/build/cjs/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  9. package/build/cjs/blocks/FoldableList/schema.d.ts +140 -0
  10. package/build/cjs/blocks/FoldableList/schema.js +39 -0
  11. package/build/cjs/blocks/FoldableList/schema.js.map +1 -0
  12. package/build/cjs/blocks/index.d.ts +1 -0
  13. package/build/cjs/blocks/index.js +3 -1
  14. package/build/cjs/blocks/index.js.map +1 -1
  15. package/build/cjs/components/FullscreenImage/FullscreenImage.css +1 -1
  16. package/build/cjs/constructor-items.d.ts +1 -0
  17. package/build/cjs/constructor-items.js +1 -0
  18. package/build/cjs/constructor-items.js.map +1 -1
  19. package/build/cjs/models/constructor-items/blocks.d.ts +18 -1
  20. package/build/cjs/models/constructor-items/blocks.js +1 -0
  21. package/build/cjs/models/constructor-items/blocks.js.map +1 -1
  22. package/build/cjs/schema/constants.js +1 -0
  23. package/build/cjs/schema/constants.js.map +1 -1
  24. package/build/cjs/schema/validators/blocks.d.ts +1 -0
  25. package/build/cjs/schema/validators/blocks.js +1 -0
  26. package/build/cjs/schema/validators/blocks.js.map +1 -1
  27. package/build/esm/blocks/FoldableList/FoldableList.css +13 -0
  28. package/build/esm/blocks/FoldableList/FoldableList.d.ts +4 -0
  29. package/build/esm/blocks/FoldableList/FoldableList.js +29 -0
  30. package/build/esm/blocks/FoldableList/FoldableList.js.map +1 -0
  31. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.css +78 -0
  32. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.d.ts +3 -0
  33. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js +16 -0
  34. package/build/esm/blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.js.map +1 -0
  35. package/build/esm/blocks/FoldableList/schema.d.ts +140 -0
  36. package/build/esm/blocks/FoldableList/schema.js +35 -0
  37. package/build/esm/blocks/FoldableList/schema.js.map +1 -0
  38. package/build/esm/blocks/index.d.ts +1 -0
  39. package/build/esm/blocks/index.js +1 -0
  40. package/build/esm/blocks/index.js.map +1 -1
  41. package/build/esm/components/FullscreenImage/FullscreenImage.css +1 -1
  42. package/build/esm/constructor-items.d.ts +1 -0
  43. package/build/esm/constructor-items.js +2 -1
  44. package/build/esm/constructor-items.js.map +1 -1
  45. package/build/esm/models/constructor-items/blocks.d.ts +18 -1
  46. package/build/esm/models/constructor-items/blocks.js +1 -0
  47. package/build/esm/models/constructor-items/blocks.js.map +1 -1
  48. package/build/esm/schema/constants.js +2 -1
  49. package/build/esm/schema/constants.js.map +1 -1
  50. package/build/esm/schema/validators/blocks.d.ts +1 -0
  51. package/build/esm/schema/validators/blocks.js +1 -0
  52. package/build/esm/schema/validators/blocks.js.map +1 -1
  53. package/package.json +1 -1
  54. package/schema/index.js +1 -1
  55. package/server/models/constructor-items/blocks.d.ts +18 -1
  56. package/server/models/constructor-items/blocks.js +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"../../../src","sources":["schema/constants.ts"],"names":[],"mappings":";;;AAEA,mDAsB6B;AAC7B,2DASiC;AAEpB,QAAA,YAAY,GAA8B;IACnD,GAAG,oBAAO;IACV,GAAG,8BAAqB;IACxB,GAAG,2BAAkB;IACrB,GAAG,oBAAW;IACd,GAAG,uBAAc;IACjB,GAAG,oBAAW;IACd,GAAG,oBAAW;IACd,GAAG,uBAAc;IACjB,GAAG,mBAAU;IACb,GAAG,iBAAQ;IACX,GAAG,kBAAS;IACZ,GAAG,mBAAU;IACb,GAAG,kBAAS;IACZ,GAAG,0BAAiB;IACpB,GAAG,mBAAU;IACb,GAAG,wBAAe;IAClB,GAAG,2BAAkB;IACrB,GAAG,mBAAU;IACb,GAAG,oBAAW;IACd,GAAG,kBAAS;IACZ,GAAG,uBAAc;CACpB,CAAC;AAEW,QAAA,WAAW,GAAG;IACvB,GAAG,2BAAc;IACjB,GAAG,mBAAU;IACb,GAAG,+BAAkB;IACrB,GAAG,2BAAc;IACjB,GAAG,kBAAK;IACR,GAAG,sBAAS;IACZ,GAAG,2BAAc;IACjB,GAAG,sBAAS;CACf,CAAC;AAEW,QAAA,2BAA2B,GAAG;IACvC,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;IACd,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,aAAa;IACb,WAAW;IACX,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,wBAAwB;IACxB,aAAa;IACb,mBAAmB;IACnB,sBAAsB;IACtB,aAAa;IACb,cAAc;IACd,YAAY;CACf,CAAC;AAEW,QAAA,0BAA0B,GAAG;IACtC,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,OAAO;IACP,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,YAAY;CACf,CAAC","sourcesContent":["import {BlockType} from '../models';\n\nimport {\n BannerBlock,\n BannerCard,\n CardLayoutBlock,\n CompaniesBlock,\n ContentLayoutBlock,\n ExtendedFeaturesBlock,\n FilterBlock,\n FormBlock,\n HeaderBlock,\n HeaderSliderBlock,\n IconsBlock,\n InfoBlock,\n MapBlock,\n MediaBlock,\n PromoFeaturesBlock,\n QuestionsBlock,\n ShareBlock,\n SliderBlock,\n SliderNewBlock,\n TableBlock,\n TabsBlock,\n} from './validators/blocks';\nimport {\n BackgroundCard,\n BasicCard,\n Divider,\n ImageCard,\n MediaCardBlock,\n PriceCardBlock,\n PriceDetailedBlock,\n Quote,\n} from './validators/sub-blocks';\n\nexport const blockSchemas: Record<BlockType, object> = {\n ...Divider,\n ...ExtendedFeaturesBlock,\n ...PromoFeaturesBlock,\n ...SliderBlock,\n ...QuestionsBlock,\n ...HeaderBlock,\n ...BannerBlock,\n ...CompaniesBlock,\n ...MediaBlock,\n ...MapBlock,\n ...InfoBlock,\n ...TableBlock,\n ...TabsBlock,\n ...HeaderSliderBlock,\n ...IconsBlock,\n ...CardLayoutBlock,\n ...ContentLayoutBlock,\n ...ShareBlock,\n ...FilterBlock,\n ...FormBlock,\n ...SliderNewBlock,\n};\n\nexport const cardSchemas = {\n ...MediaCardBlock,\n ...BannerCard,\n ...PriceDetailedBlock,\n ...BackgroundCard,\n ...Quote,\n ...BasicCard,\n ...PriceCardBlock,\n ...ImageCard,\n};\n\nexport const constructorBlockSchemaNames = [\n 'divider',\n 'quote',\n 'event',\n 'post',\n 'extended-features-block',\n 'promo-features-block',\n 'slider-block',\n 'questions-block',\n 'header-block',\n 'banner-block',\n 'companies-block',\n 'media-block',\n 'map-block',\n 'info-block',\n 'table-block',\n 'tabs-block',\n /** @deprecated */\n 'price-detailed',\n 'header-slider-block',\n 'cards-with-image-block',\n 'icons-block',\n 'card-layout-block',\n 'content-layout-block',\n 'share-block',\n 'filter-block',\n 'form-block',\n];\n\nexport const constructorCardSchemaNames = [\n 'media-card',\n 'banner-card',\n /** @deprecated */\n 'price-detailed',\n 'background-card',\n 'quote',\n 'basic-card',\n 'layout-item',\n 'price-card',\n 'image-card',\n];\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"../../../src","sources":["schema/constants.ts"],"names":[],"mappings":";;;AAEA,mDAuB6B;AAC7B,2DASiC;AAEpB,QAAA,YAAY,GAA8B;IACnD,GAAG,oBAAO;IACV,GAAG,8BAAqB;IACxB,GAAG,2BAAkB;IACrB,GAAG,oBAAW;IACd,GAAG,uBAAc;IACjB,GAAG,0BAAiB;IACpB,GAAG,oBAAW;IACd,GAAG,oBAAW;IACd,GAAG,uBAAc;IACjB,GAAG,mBAAU;IACb,GAAG,iBAAQ;IACX,GAAG,kBAAS;IACZ,GAAG,mBAAU;IACb,GAAG,kBAAS;IACZ,GAAG,0BAAiB;IACpB,GAAG,mBAAU;IACb,GAAG,wBAAe;IAClB,GAAG,2BAAkB;IACrB,GAAG,mBAAU;IACb,GAAG,oBAAW;IACd,GAAG,kBAAS;IACZ,GAAG,uBAAc;CACpB,CAAC;AAEW,QAAA,WAAW,GAAG;IACvB,GAAG,2BAAc;IACjB,GAAG,mBAAU;IACb,GAAG,+BAAkB;IACrB,GAAG,2BAAc;IACjB,GAAG,kBAAK;IACR,GAAG,sBAAS;IACZ,GAAG,2BAAc;IACjB,GAAG,sBAAS;CACf,CAAC;AAEW,QAAA,2BAA2B,GAAG;IACvC,SAAS;IACT,OAAO;IACP,OAAO;IACP,MAAM;IACN,yBAAyB;IACzB,sBAAsB;IACtB,cAAc;IACd,iBAAiB;IACjB,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,aAAa;IACb,WAAW;IACX,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,wBAAwB;IACxB,aAAa;IACb,mBAAmB;IACnB,sBAAsB;IACtB,aAAa;IACb,cAAc;IACd,YAAY;CACf,CAAC;AAEW,QAAA,0BAA0B,GAAG;IACtC,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,iBAAiB;IACjB,OAAO;IACP,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,YAAY;CACf,CAAC","sourcesContent":["import {BlockType} from '../models';\n\nimport {\n BannerBlock,\n BannerCard,\n CardLayoutBlock,\n CompaniesBlock,\n ContentLayoutBlock,\n ExtendedFeaturesBlock,\n FilterBlock,\n FoldableListBlock,\n FormBlock,\n HeaderBlock,\n HeaderSliderBlock,\n IconsBlock,\n InfoBlock,\n MapBlock,\n MediaBlock,\n PromoFeaturesBlock,\n QuestionsBlock,\n ShareBlock,\n SliderBlock,\n SliderNewBlock,\n TableBlock,\n TabsBlock,\n} from './validators/blocks';\nimport {\n BackgroundCard,\n BasicCard,\n Divider,\n ImageCard,\n MediaCardBlock,\n PriceCardBlock,\n PriceDetailedBlock,\n Quote,\n} from './validators/sub-blocks';\n\nexport const blockSchemas: Record<BlockType, object> = {\n ...Divider,\n ...ExtendedFeaturesBlock,\n ...PromoFeaturesBlock,\n ...SliderBlock,\n ...QuestionsBlock,\n ...FoldableListBlock,\n ...HeaderBlock,\n ...BannerBlock,\n ...CompaniesBlock,\n ...MediaBlock,\n ...MapBlock,\n ...InfoBlock,\n ...TableBlock,\n ...TabsBlock,\n ...HeaderSliderBlock,\n ...IconsBlock,\n ...CardLayoutBlock,\n ...ContentLayoutBlock,\n ...ShareBlock,\n ...FilterBlock,\n ...FormBlock,\n ...SliderNewBlock,\n};\n\nexport const cardSchemas = {\n ...MediaCardBlock,\n ...BannerCard,\n ...PriceDetailedBlock,\n ...BackgroundCard,\n ...Quote,\n ...BasicCard,\n ...PriceCardBlock,\n ...ImageCard,\n};\n\nexport const constructorBlockSchemaNames = [\n 'divider',\n 'quote',\n 'event',\n 'post',\n 'extended-features-block',\n 'promo-features-block',\n 'slider-block',\n 'questions-block',\n 'header-block',\n 'banner-block',\n 'companies-block',\n 'media-block',\n 'map-block',\n 'info-block',\n 'table-block',\n 'tabs-block',\n /** @deprecated */\n 'price-detailed',\n 'header-slider-block',\n 'cards-with-image-block',\n 'icons-block',\n 'card-layout-block',\n 'content-layout-block',\n 'share-block',\n 'filter-block',\n 'form-block',\n];\n\nexport const constructorCardSchemaNames = [\n 'media-card',\n 'banner-card',\n /** @deprecated */\n 'price-detailed',\n 'background-card',\n 'quote',\n 'basic-card',\n 'layout-item',\n 'price-card',\n 'image-card',\n];\n"]}
@@ -7,6 +7,7 @@ export * from "../../blocks/Info/schema.js";
7
7
  export * from "../../blocks/Media/schema.js";
8
8
  export * from "../../blocks/Map/schema.js";
9
9
  export * from "../../blocks/Questions/schema.js";
10
+ export * from "../../blocks/FoldableList/schema.js";
10
11
  export * from "../../blocks/Slider/schema.js";
11
12
  export * from "../../blocks/Table/schema.js";
12
13
  export * from "../../blocks/Tabs/schema.js";
@@ -10,6 +10,7 @@ tslib_1.__exportStar(require("../../blocks/Info/schema.js"), exports);
10
10
  tslib_1.__exportStar(require("../../blocks/Media/schema.js"), exports);
11
11
  tslib_1.__exportStar(require("../../blocks/Map/schema.js"), exports);
12
12
  tslib_1.__exportStar(require("../../blocks/Questions/schema.js"), exports);
13
+ tslib_1.__exportStar(require("../../blocks/FoldableList/schema.js"), exports);
13
14
  tslib_1.__exportStar(require("../../blocks/Slider/schema.js"), exports);
14
15
  tslib_1.__exportStar(require("../../blocks/Table/schema.js"), exports);
15
16
  tslib_1.__exportStar(require("../../blocks/Tabs/schema.js"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"blocks.js","sourceRoot":"../../../../src","sources":["schema/validators/blocks.ts"],"names":[],"mappings":";;;AAAA,wEAA2C;AAC3C,2EAA8C;AAC9C,kFAAqD;AACrD,oFAAuD;AACvD,wEAA2C;AAC3C,sEAAyC;AACzC,uEAA0C;AAC1C,qEAAwC;AACxC,2EAA8C;AAC9C,wEAA2C;AAC3C,uEAA0C;AAC1C,sEAAyC;AACzC,8EAAiD;AACjD,uEAA0C;AAC1C,4EAA+C;AAC/C,+EAAkD;AAClD,uEAA0C;AAC1C,6EAAgD;AAChD,sEAAyC;AACzC,2EAA8C","sourcesContent":["export * from '../../blocks/Banner/schema';\nexport * from '../../blocks/Companies/schema';\nexport * from '../../blocks/ExtendedFeatures/schema';\nexport * from '../../blocks/PromoFeaturesBlock/schema';\nexport * from '../../blocks/Header/schema';\nexport * from '../../blocks/Info/schema';\nexport * from '../../blocks/Media/schema';\nexport * from '../../blocks/Map/schema';\nexport * from '../../blocks/Questions/schema';\nexport * from '../../blocks/Slider/schema';\nexport * from '../../blocks/Table/schema';\nexport * from '../../blocks/Tabs/schema';\nexport * from '../../blocks/HeaderSlider/schema';\nexport * from '../../blocks/Icons/schema';\nexport * from '../../blocks/CardLayout/schema';\nexport * from '../../blocks/ContentLayout/schema';\nexport * from '../../blocks/Share/schema';\nexport * from '../../blocks/FilterBlock/schema';\nexport * from '../../blocks/Form/schema';\nexport * from '../../blocks/SliderNew/schema';\n"]}
1
+ {"version":3,"file":"blocks.js","sourceRoot":"../../../../src","sources":["schema/validators/blocks.ts"],"names":[],"mappings":";;;AAAA,wEAA2C;AAC3C,2EAA8C;AAC9C,kFAAqD;AACrD,oFAAuD;AACvD,wEAA2C;AAC3C,sEAAyC;AACzC,uEAA0C;AAC1C,qEAAwC;AACxC,2EAA8C;AAC9C,8EAAiD;AACjD,wEAA2C;AAC3C,uEAA0C;AAC1C,sEAAyC;AACzC,8EAAiD;AACjD,uEAA0C;AAC1C,4EAA+C;AAC/C,+EAAkD;AAClD,uEAA0C;AAC1C,6EAAgD;AAChD,sEAAyC;AACzC,2EAA8C","sourcesContent":["export * from '../../blocks/Banner/schema';\nexport * from '../../blocks/Companies/schema';\nexport * from '../../blocks/ExtendedFeatures/schema';\nexport * from '../../blocks/PromoFeaturesBlock/schema';\nexport * from '../../blocks/Header/schema';\nexport * from '../../blocks/Info/schema';\nexport * from '../../blocks/Media/schema';\nexport * from '../../blocks/Map/schema';\nexport * from '../../blocks/Questions/schema';\nexport * from '../../blocks/FoldableList/schema';\nexport * from '../../blocks/Slider/schema';\nexport * from '../../blocks/Table/schema';\nexport * from '../../blocks/Tabs/schema';\nexport * from '../../blocks/HeaderSlider/schema';\nexport * from '../../blocks/Icons/schema';\nexport * from '../../blocks/CardLayout/schema';\nexport * from '../../blocks/ContentLayout/schema';\nexport * from '../../blocks/Share/schema';\nexport * from '../../blocks/FilterBlock/schema';\nexport * from '../../blocks/Form/schema';\nexport * from '../../blocks/SliderNew/schema';\n"]}
@@ -0,0 +1,13 @@
1
+ /* use this for style redefinitions to awoid problems with
2
+ unpredictable css rules order in build */
3
+ .pc-FoldableList__title {
4
+ top: calc(var(--header-height) + 32px);
5
+ position: sticky;
6
+ margin-bottom: 32px;
7
+ margin-right: 64px;
8
+ }
9
+ @media (max-width: 769px) {
10
+ .pc-FoldableList__title {
11
+ margin-right: 0;
12
+ }
13
+ }
@@ -0,0 +1,4 @@
1
+ import { FoldableListProps } from "../../models/index.js";
2
+ import './FoldableList.css';
3
+ declare const FoldableListBlock: (props: FoldableListProps) => import("react/jsx-runtime").JSX.Element;
4
+ export default FoldableListBlock;
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
3
+ import { Col, Row } from "../../grid/index.js";
4
+ import { Content } from "../../sub-blocks/index.js";
5
+ import { block } from "../../utils/index.js";
6
+ import { FoldableListBlockItem } from "./FoldableListBlockItem/FoldableListBlockItem.js";
7
+ import './FoldableList.css';
8
+ const b = block('FoldableList');
9
+ const FoldableListBlock = (props) => {
10
+ const { title, text, additionalInfo, links, buttons, items, list } = props;
11
+ const [opened, setOpened] = React.useState([0]);
12
+ const toggleItem = (index) => {
13
+ let newState;
14
+ if (opened.includes(index)) {
15
+ newState = opened.filter((itemIndex) => itemIndex !== index);
16
+ }
17
+ else {
18
+ newState = [...opened, index];
19
+ }
20
+ setOpened(newState);
21
+ };
22
+ return (_jsx("div", { className: b(), itemScope: true, children: _jsxs(Row, { children: [_jsx(Col, { sizes: { all: 12, md: 4 }, children: _jsx("div", { className: b('title'), children: _jsx(Content, { title: title, text: text, additionalInfo: additionalInfo, links: links, list: list, buttons: buttons, colSizes: { all: 12, md: 12 } }) }) }), _jsx(Col, { sizes: { all: 12, md: 8 }, role: 'list', children: items.map(({ title: itemTitle, text: itemText, link, listStyle = 'dash' }, index) => {
23
+ const isOpened = opened.includes(index);
24
+ const onClick = () => toggleItem(index);
25
+ return (_jsx(FoldableListBlockItem, { title: itemTitle, text: itemText, link: link, listStyle: listStyle, isOpened: isOpened, onClick: onClick }, itemTitle));
26
+ }) })] }) }));
27
+ };
28
+ export default FoldableListBlock;
29
+ //# sourceMappingURL=FoldableList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FoldableList.js","sourceRoot":"../../../../src","sources":["blocks/FoldableList/FoldableList.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAC,GAAG,EAAE,GAAG,EAAC,4BAAmB;AAEpC,OAAO,EAAC,OAAO,EAAC,kCAAyB;AACzC,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAElC,OAAO,EAAC,qBAAqB,EAAC,yDAAsD;AAEpF,OAAO,oBAAoB,CAAC;AAE5B,MAAM,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;AAEhC,MAAM,iBAAiB,GAAG,CAAC,KAAwB,EAAE,EAAE;IACnD,MAAM,EAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IACzE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1D,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;QACjC,IAAI,QAAQ,CAAC;QAEb,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QAED,SAAS,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,kBAC1B,MAAC,GAAG,eACA,KAAC,GAAG,IAAC,KAAK,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,YACxB,cAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YACtB,KAAC,OAAO,IACJ,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAC,GAC7B,GACA,GACJ,EACN,KAAC,GAAG,IAAC,KAAK,EAAE,EAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAC,EAAE,IAAI,EAAE,MAAM,YACrC,KAAK,CAAC,GAAG,CACN,CAAC,EAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,EAAC,EAAE,KAAK,EAAE,EAAE;wBACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBACxC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBAExC,OAAO,CACH,KAAC,qBAAqB,IAElB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,IANX,SAAS,CAOhB,CACL,CAAC;oBACN,CAAC,CACJ,GACC,IACJ,GACJ,CACT,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {Col, Row} from '../../grid';\nimport {FoldableListProps} from '../../models';\nimport {Content} from '../../sub-blocks';\nimport {block} from '../../utils';\n\nimport {FoldableListBlockItem} from './FoldableListBlockItem/FoldableListBlockItem';\n\nimport './FoldableList.scss';\n\nconst b = block('FoldableList');\n\nconst FoldableListBlock = (props: FoldableListProps) => {\n const {title, text, additionalInfo, links, buttons, items, list} = props;\n const [opened, setOpened] = React.useState<number[]>([0]);\n\n const toggleItem = (index: number) => {\n let newState;\n\n if (opened.includes(index)) {\n newState = opened.filter((itemIndex: number) => itemIndex !== index);\n } else {\n newState = [...opened, index];\n }\n\n setOpened(newState);\n };\n\n return (\n <div className={b()} itemScope>\n <Row>\n <Col sizes={{all: 12, md: 4}}>\n <div className={b('title')}>\n <Content\n title={title}\n text={text}\n additionalInfo={additionalInfo}\n links={links}\n list={list}\n buttons={buttons}\n colSizes={{all: 12, md: 12}}\n />\n </div>\n </Col>\n <Col sizes={{all: 12, md: 8}} role={'list'}>\n {items.map(\n ({title: itemTitle, text: itemText, link, listStyle = 'dash'}, index) => {\n const isOpened = opened.includes(index);\n const onClick = () => toggleItem(index);\n\n return (\n <FoldableListBlockItem\n key={itemTitle}\n title={itemTitle}\n text={itemText}\n link={link}\n listStyle={listStyle}\n isOpened={isOpened}\n onClick={onClick}\n />\n );\n },\n )}\n </Col>\n </Row>\n </div>\n );\n};\n\nexport default FoldableListBlock;\n"]}
@@ -0,0 +1,78 @@
1
+ .pc-FoldableListBlockItem__title {
2
+ margin: 0;
3
+ }
4
+
5
+ /* use this for style redefinitions to awoid problems with
6
+ unpredictable css rules order in build */
7
+ .pc-FoldableListBlockItem {
8
+ padding-bottom: 32px;
9
+ border-bottom: 1px solid var(--g-color-line-generic);
10
+ }
11
+ .pc-FoldableListBlockItem + .pc-FoldableListBlockItem {
12
+ padding-top: 32px;
13
+ }
14
+ .pc-FoldableListBlockItem__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;
24
+ font-size: var(--g-text-header-1-font-size);
25
+ line-height: var(--g-text-header-1-line-height);
26
+ color: var(--pc-text-header-color);
27
+ 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
+ cursor: pointer;
34
+ border-radius: var(--g-focus-border-radius);
35
+ }
36
+ .pc-FoldableListBlockItem__title:focus {
37
+ outline: 2px solid var(--g-color-line-focus);
38
+ outline-offset: 0;
39
+ }
40
+ .pc-FoldableListBlockItem__title:focus:not(:focus-visible) {
41
+ outline: 0;
42
+ }
43
+ .pc-FoldableListBlockItem__title a {
44
+ outline: none;
45
+ color: var(--g-color-text-link);
46
+ text-decoration: none;
47
+ cursor: pointer;
48
+ }
49
+ .utilityfocus .pc-FoldableListBlockItem__title a:focus {
50
+ outline: 2px solid #ffdb4d;
51
+ }
52
+ .pc-FoldableListBlockItem__title a:hover, .pc-FoldableListBlockItem__title a:active {
53
+ --pc-text-header-color: var(--g-color-text-link-hover);
54
+ color: var(--g-color-text-link-hover);
55
+ }
56
+ .pc-FoldableListBlockItem__arrow {
57
+ position: absolute;
58
+ right: 0;
59
+ top: 0;
60
+ bottom: 0;
61
+ margin: auto;
62
+ color: var(--g-color-text-primary);
63
+ }
64
+ .pc-FoldableListBlockItem__link {
65
+ font-size: var(--g-text-body-2-font-size);
66
+ line-height: var(--g-text-body-2-line-height);
67
+ }
68
+ .pc-FoldableListBlockItem__link.pc-FoldableListBlockItem__link a {
69
+ outline-offset: -2px;
70
+ border-radius: calc(var(--g-focus-border-radius) + 2px);
71
+ display: inline-block;
72
+ }
73
+
74
+ .pc-FoldableListBlockItem__text {
75
+ font-size: var(--g-text-body-2-font-size);
76
+ line-height: var(--g-text-body-2-line-height);
77
+ margin-top: 12px;
78
+ }
@@ -0,0 +1,3 @@
1
+ import { FoldableListBlockItemProps } from "../../../models/index.js";
2
+ import './FoldableListBlockItem.css';
3
+ export declare const FoldableListBlockItem: ({ title: itemTitle, text: itemText, link, listStyle, isOpened, onClick, }: FoldableListBlockItemProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useActionHandlers } from '@gravity-ui/uikit';
3
+ import { Foldable, HTML, ToggleArrow, YFMWrapper } from "../../../components/index.js";
4
+ import Link from "../../../components/Link/Link.js";
5
+ import { block } from "../../../utils/index.js";
6
+ import './FoldableListBlockItem.css';
7
+ const b = block('FoldableListBlockItem');
8
+ export const FoldableListBlockItem = ({ title: itemTitle, text: itemText, link, listStyle = 'dash', isOpened, onClick, }) => {
9
+ const { onKeyDown } = useActionHandlers(onClick);
10
+ return (_jsxs("div", { className: b(), itemScope: true, role: 'listitem', children: [_jsxs("button", { className: b('title'), onClick: onClick, "aria-expanded": isOpened, onKeyDown: onKeyDown, children: [_jsx(HTML, { children: itemTitle }), _jsx(ToggleArrow, { open: isOpened, size: 16, type: 'vertical', iconType: "navigation", className: b('arrow') })] }), _jsx(Foldable, { isOpened: isOpened, children: _jsxs("div", { className: b('text'), "aria-hidden": !isOpened, children: [_jsx(YFMWrapper, { content: itemText, modifiers: {
11
+ constructor: true,
12
+ constructorListStyle: true,
13
+ constructorListStyleDash: listStyle === 'dash',
14
+ } }), link && _jsx(Link, { ...link, tabIndex: isOpened ? 0 : -1, className: b('link') })] }) })] }));
15
+ };
16
+ //# sourceMappingURL=FoldableListBlockItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FoldableListBlockItem.js","sourceRoot":"../../../../../src","sources":["blocks/FoldableList/FoldableListBlockItem/FoldableListBlockItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAC,qCAA4B;AAC5E,OAAO,IAAI,yCAAsC;AAEjD,OAAO,EAAC,KAAK,EAAC,gCAAuB;AAErC,OAAO,6BAA6B,CAAC;AAErC,MAAM,CAAC,GAAG,KAAK,CAAC,uBAAuB,CAAC,CAAC;AAEzC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EAClC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,QAAQ,EACd,IAAI,EACJ,SAAS,GAAG,MAAM,EAClB,QAAQ,EACR,OAAO,GACkB,EAAE,EAAE;IAC7B,MAAM,EAAC,SAAS,EAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO,CACH,eAAK,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,QAAC,IAAI,EAAE,UAAU,aAC3C,kBACI,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EACrB,OAAO,EAAE,OAAO,mBACD,QAAQ,EACvB,SAAS,EAAE,SAAS,aAEpB,KAAC,IAAI,cAAE,SAAS,GAAQ,EACxB,KAAC,WAAW,IACR,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,EAAE,EACR,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAC,YAAY,EACrB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GACvB,IACG,EACT,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,YACxB,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAe,CAAC,QAAQ,aAC7C,KAAC,UAAU,IACP,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE;gCACP,WAAW,EAAE,IAAI;gCACjB,oBAAoB,EAAE,IAAI;gCAC1B,wBAAwB,EAAE,SAAS,KAAK,MAAM;6BACjD,GACH,EACD,IAAI,IAAI,KAAC,IAAI,OAAK,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,GAAI,IAC5E,GACC,IACT,CACT,CAAC;AACN,CAAC,CAAC","sourcesContent":["import {useActionHandlers} from '@gravity-ui/uikit';\n\nimport {Foldable, HTML, ToggleArrow, YFMWrapper} from '../../../components';\nimport Link from '../../../components/Link/Link';\nimport {FoldableListBlockItemProps} from '../../../models';\nimport {block} from '../../../utils';\n\nimport './FoldableListBlockItem.scss';\n\nconst b = block('FoldableListBlockItem');\n\nexport const FoldableListBlockItem = ({\n title: itemTitle,\n text: itemText,\n link,\n listStyle = 'dash',\n isOpened,\n onClick,\n}: FoldableListBlockItemProps) => {\n const {onKeyDown} = useActionHandlers(onClick);\n\n return (\n <div className={b()} itemScope role={'listitem'}>\n <button\n className={b('title')}\n onClick={onClick}\n aria-expanded={isOpened}\n onKeyDown={onKeyDown}\n >\n <HTML>{itemTitle}</HTML>\n <ToggleArrow\n open={isOpened}\n size={16}\n type={'vertical'}\n iconType=\"navigation\"\n className={b('arrow')}\n />\n </button>\n <Foldable isOpened={isOpened}>\n <div className={b('text')} aria-hidden={!isOpened}>\n <YFMWrapper\n content={itemText}\n modifiers={{\n constructor: true,\n constructorListStyle: true,\n constructorListStyleDash: listStyle === 'dash',\n }}\n />\n {link && <Link {...link} tabIndex={isOpened ? 0 : -1} className={b('link')} />}\n </div>\n </Foldable>\n </div>\n );\n};\n"]}
@@ -0,0 +1,140 @@
1
+ export declare const FoldableListBlock: {
2
+ 'foldable-list-block': {
3
+ additionalProperties: boolean;
4
+ required: string[];
5
+ properties: {
6
+ items: {
7
+ type: string;
8
+ items: {
9
+ type: string;
10
+ properties: {
11
+ when: {
12
+ type: string;
13
+ };
14
+ };
15
+ };
16
+ };
17
+ title: {
18
+ oneOf: ({
19
+ type: string;
20
+ contentType: string;
21
+ optionName: string;
22
+ } | {
23
+ optionName: string;
24
+ type: string;
25
+ additionalProperties: boolean;
26
+ required: string[];
27
+ properties: {
28
+ text: {
29
+ type: string;
30
+ contentType: string;
31
+ };
32
+ textSize: {
33
+ type: string;
34
+ enum: string[];
35
+ };
36
+ url: {
37
+ type: string;
38
+ };
39
+ urlTitle: {
40
+ type: string;
41
+ };
42
+ resetMargin: {
43
+ type: string;
44
+ };
45
+ };
46
+ contentType?: undefined;
47
+ })[];
48
+ };
49
+ text: {
50
+ type: string;
51
+ contentType: string;
52
+ inputType: string;
53
+ };
54
+ additionalInfo: {
55
+ type: string;
56
+ contentType: string;
57
+ };
58
+ links: {
59
+ type: string;
60
+ items: {
61
+ type: string;
62
+ properties: {
63
+ when: {
64
+ type: string;
65
+ };
66
+ };
67
+ };
68
+ };
69
+ buttons: {
70
+ type: string;
71
+ items: {
72
+ type: string;
73
+ properties: {
74
+ when: {
75
+ type: string;
76
+ };
77
+ };
78
+ };
79
+ };
80
+ list: {
81
+ type: string;
82
+ items: {
83
+ type: string;
84
+ properties: {
85
+ when: {
86
+ type: string;
87
+ };
88
+ };
89
+ };
90
+ };
91
+ controlPosition: {
92
+ type: string;
93
+ enum: string[];
94
+ };
95
+ anchor: {
96
+ type: string;
97
+ additionalProperties: boolean;
98
+ required: string[];
99
+ properties: {
100
+ text: {
101
+ type: string;
102
+ contentType: string;
103
+ };
104
+ url: {
105
+ type: string;
106
+ };
107
+ urlTitle: {
108
+ type: string;
109
+ };
110
+ };
111
+ };
112
+ visible: {
113
+ type: string;
114
+ enum: string[];
115
+ };
116
+ resetPaddings: {
117
+ type: string;
118
+ };
119
+ context: {
120
+ type: string;
121
+ };
122
+ indent: {
123
+ type: string;
124
+ additionalProperties: boolean;
125
+ properties: {
126
+ top: {
127
+ enum: string[];
128
+ };
129
+ bottom: {
130
+ enum: string[];
131
+ };
132
+ };
133
+ };
134
+ type: {};
135
+ when: {
136
+ type: string;
137
+ };
138
+ };
139
+ };
140
+ };
@@ -0,0 +1,35 @@
1
+ import omit from "lodash/omit.js";
2
+ import { BlockBaseProps, LinkProps } from "../../schema/validators/common.js";
3
+ import { filteredArray } from "../../schema/validators/utils.js";
4
+ import { ContentBase } from "../../sub-blocks/Content/schema.js";
5
+ const FoldableListBlockContentProps = omit(ContentBase, ['size', 'theme']);
6
+ export const FoldableListBlock = {
7
+ 'foldable-list-block': {
8
+ additionalProperties: false,
9
+ required: ['title', 'items'],
10
+ properties: {
11
+ ...BlockBaseProps,
12
+ ...FoldableListBlockContentProps,
13
+ items: filteredArray({
14
+ type: 'object',
15
+ required: ['title', 'text'],
16
+ properties: {
17
+ title: {
18
+ type: 'string',
19
+ contentType: 'text',
20
+ },
21
+ text: {
22
+ type: 'string',
23
+ contentType: 'yfm',
24
+ },
25
+ link: LinkProps,
26
+ listStyle: {
27
+ type: 'string',
28
+ enum: ['dash', 'disk'],
29
+ },
30
+ },
31
+ }),
32
+ },
33
+ },
34
+ };
35
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["blocks/FoldableList/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EAAC,cAAc,EAAE,SAAS,EAAC,0CAAuC;AACzE,OAAO,EAAC,aAAa,EAAC,yCAAsC;AAC5D,OAAO,EAAC,WAAW,EAAC,2CAAwC;AAE5D,MAAM,6BAA6B,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3E,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,qBAAqB,EAAE;QACnB,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC5B,UAAU,EAAE;YACR,GAAG,cAAc;YACjB,GAAG,6BAA6B;YAChC,KAAK,EAAE,aAAa,CAAC;gBACjB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;gBAC3B,UAAU,EAAE;oBACR,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,MAAM;qBACtB;oBACD,IAAI,EAAE;wBACF,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,KAAK;qBACrB;oBACD,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;qBACzB;iBACJ;aACJ,CAAC;SACL;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {BlockBaseProps, LinkProps} from '../../schema/validators/common';\nimport {filteredArray} from '../../schema/validators/utils';\nimport {ContentBase} from '../../sub-blocks/Content/schema';\n\nconst FoldableListBlockContentProps = omit(ContentBase, ['size', 'theme']);\n\nexport const FoldableListBlock = {\n 'foldable-list-block': {\n additionalProperties: false,\n required: ['title', 'items'],\n properties: {\n ...BlockBaseProps,\n ...FoldableListBlockContentProps,\n items: filteredArray({\n type: 'object',\n required: ['title', 'text'],\n properties: {\n title: {\n type: 'string',\n contentType: 'text',\n },\n text: {\n type: 'string',\n contentType: 'yfm',\n },\n link: LinkProps,\n listStyle: {\n type: 'string',\n enum: ['dash', 'disk'],\n },\n },\n }),\n },\n },\n};\n"]}
@@ -7,6 +7,7 @@ export { default as SliderBlock } from "./Slider/Slider.js";
7
7
  export { default as ExtendedFeaturesBlock } from "./ExtendedFeatures/ExtendedFeatures.js";
8
8
  export { default as PromoFeaturesBlock } from "./PromoFeaturesBlock/PromoFeaturesBlock.js";
9
9
  export { default as QuestionsBlock } from "./Questions/Questions.js";
10
+ export { default as FoldableListBlock } from "./FoldableList/FoldableList.js";
10
11
  export { default as TableBlock } from "./Table/Table.js";
11
12
  export { default as TabsBlock } from "./Tabs/Tabs.js";
12
13
  export { default as HeaderBlock } from "./Header/Header.js";
@@ -7,6 +7,7 @@ export { default as SliderBlock } from "./Slider/Slider.js";
7
7
  export { default as ExtendedFeaturesBlock } from "./ExtendedFeatures/ExtendedFeatures.js";
8
8
  export { default as PromoFeaturesBlock } from "./PromoFeaturesBlock/PromoFeaturesBlock.js";
9
9
  export { default as QuestionsBlock } from "./Questions/Questions.js";
10
+ export { default as FoldableListBlock } from "./FoldableList/FoldableList.js";
10
11
  export { default as TableBlock } from "./Table/Table.js";
11
12
  export { default as TabsBlock } from "./Tabs/Tabs.js";
12
13
  export { default as HeaderBlock } from "./Header/Header.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["blocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,2BAAwB;AACvD,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,iCAA8B;AAChE,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,uBAAoB;AACjD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,yBAAsB;AACpD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,qBAAkB;AAC9C,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,2BAAwB;AACvD,OAAO,EAAC,OAAO,IAAI,qBAAqB,EAAC,+CAA4C;AACrF,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,mDAAgD;AACtF,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,iCAA8B;AAChE,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,yBAAsB;AACpD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,uBAAoB;AACjD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,2BAAwB;AACvD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,yBAAsB;AACpD,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,uCAAoC;AACzE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,mCAAgC;AACnE,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,yCAAsC;AAC5E,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,yBAAsB;AACpD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,qCAAkC;AACjE,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,uBAAoB","sourcesContent":["export {default as BannerBlock} from './Banner/Banner';\nexport {default as CompaniesBlock} from './Companies/Companies';\nexport {default as InfoBlock} from './Info/Info';\nexport {default as MediaBlock} from './Media/Media';\nexport {default as MapBlock} from './Map/Map';\nexport {default as SliderBlock} from './Slider/Slider';\nexport {default as ExtendedFeaturesBlock} from './ExtendedFeatures/ExtendedFeatures';\nexport {default as PromoFeaturesBlock} from './PromoFeaturesBlock/PromoFeaturesBlock';\nexport {default as QuestionsBlock} from './Questions/Questions';\nexport {default as TableBlock} from './Table/Table';\nexport {default as TabsBlock} from './Tabs/Tabs';\nexport {default as HeaderBlock} from './Header/Header';\nexport {default as IconsBlock} from './Icons/Icons';\nexport {default as HeaderSliderBlock} from './HeaderSlider/HeaderSlider';\nexport {default as CardLayoutBlock} from './CardLayout/CardLayout';\nexport {default as ContentLayoutBlock} from './ContentLayout/ContentLayout';\nexport {default as ShareBlock} from './Share/Share';\nexport {default as FilterBlock} from './FilterBlock/FilterBlock';\nexport {default as FormBlock} from './Form/Form';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../src","sources":["blocks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,2BAAwB;AACvD,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,iCAA8B;AAChE,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,uBAAoB;AACjD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,yBAAsB;AACpD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,qBAAkB;AAC9C,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,2BAAwB;AACvD,OAAO,EAAC,OAAO,IAAI,qBAAqB,EAAC,+CAA4C;AACrF,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,mDAAgD;AACtF,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,iCAA8B;AAChE,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,uCAAoC;AACzE,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,yBAAsB;AACpD,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,uBAAoB;AACjD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,2BAAwB;AACvD,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,yBAAsB;AACpD,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,uCAAoC;AACzE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,mCAAgC;AACnE,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,yCAAsC;AAC5E,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,yBAAsB;AACpD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,qCAAkC;AACjE,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,uBAAoB","sourcesContent":["export {default as BannerBlock} from './Banner/Banner';\nexport {default as CompaniesBlock} from './Companies/Companies';\nexport {default as InfoBlock} from './Info/Info';\nexport {default as MediaBlock} from './Media/Media';\nexport {default as MapBlock} from './Map/Map';\nexport {default as SliderBlock} from './Slider/Slider';\nexport {default as ExtendedFeaturesBlock} from './ExtendedFeatures/ExtendedFeatures';\nexport {default as PromoFeaturesBlock} from './PromoFeaturesBlock/PromoFeaturesBlock';\nexport {default as QuestionsBlock} from './Questions/Questions';\nexport {default as FoldableListBlock} from './FoldableList/FoldableList';\nexport {default as TableBlock} from './Table/Table';\nexport {default as TabsBlock} from './Tabs/Tabs';\nexport {default as HeaderBlock} from './Header/Header';\nexport {default as IconsBlock} from './Icons/Icons';\nexport {default as HeaderSliderBlock} from './HeaderSlider/HeaderSlider';\nexport {default as CardLayoutBlock} from './CardLayout/CardLayout';\nexport {default as ContentLayoutBlock} from './ContentLayout/ContentLayout';\nexport {default as ShareBlock} from './Share/Share';\nexport {default as FilterBlock} from './FilterBlock/FilterBlock';\nexport {default as FormBlock} from './Form/Form';\n"]}
@@ -53,7 +53,7 @@ unpredictable css rules order in build */
53
53
  .pc-fullscreen-image__icon-wrapper:focus:not(:focus-visible) {
54
54
  outline: 0;
55
55
  }
56
- .pc-fullscreen-image__icon-wrapper:focus {
56
+ .pc-fullscreen-image__icon-wrapper_visible {
57
57
  opacity: 1;
58
58
  }
59
59
  .pc-fullscreen-image__icon {
@@ -3,6 +3,7 @@ export declare const blockMap: {
3
3
  "extended-features-block": ({ title, description, items, colSizes, animated, }: import("./models/index.js").ExtendedFeaturesProps) => import("react/jsx-runtime").JSX.Element;
4
4
  "promo-features-block": (props: import("./models/index.js").PromoFeaturesProps) => import("react/jsx-runtime").JSX.Element;
5
5
  "questions-block": (props: import("./models/index.js").QuestionsProps) => import("react/jsx-runtime").JSX.Element;
6
+ "foldable-list-block": (props: import("./models/index.js").FoldableListProps) => import("react/jsx-runtime").JSX.Element;
6
7
  "banner-block": (props: import("./models/index.js").BannerBlockProps) => import("react/jsx-runtime").JSX.Element;
7
8
  "companies-block": ({ title, description, images, animated }: import("./models/index.js").CompaniesBlockProps) => import("react/jsx-runtime").JSX.Element;
8
9
  "media-block": (props: import("./models/index.js").MediaBlockProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,4 @@
1
- import { BannerBlock, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, ExtendedFeaturesBlock, FilterBlock, FormBlock, HeaderBlock, HeaderSliderBlock, IconsBlock, InfoBlock, MapBlock, MediaBlock, PromoFeaturesBlock, QuestionsBlock, ShareBlock, SliderBlock, TableBlock, TabsBlock, } from "./blocks/index.js";
1
+ import { BannerBlock, CardLayoutBlock, CompaniesBlock, ContentLayoutBlock, ExtendedFeaturesBlock, FilterBlock, FoldableListBlock, FormBlock, HeaderBlock, HeaderSliderBlock, IconsBlock, InfoBlock, MapBlock, MediaBlock, PromoFeaturesBlock, QuestionsBlock, ShareBlock, SliderBlock, TableBlock, TabsBlock, } from "./blocks/index.js";
2
2
  import { SliderNewBlock } from "./blocks/unstable.js";
3
3
  import { BlockType, NavigationItemType, SubBlockType } from "./models/index.js";
4
4
  import { GithubButton, NavigationButton, NavigationDropdown, NavigationLink, } from "./navigation/components/NavigationItem/index.js";
@@ -9,6 +9,7 @@ export const blockMap = {
9
9
  [BlockType.ExtendedFeaturesBlock]: ExtendedFeaturesBlock,
10
10
  [BlockType.PromoFeaturesBlock]: PromoFeaturesBlock,
11
11
  [BlockType.QuestionsBlock]: QuestionsBlock,
12
+ [BlockType.FoldableListBlock]: FoldableListBlock,
12
13
  [BlockType.BannerBlock]: BannerBlock,
13
14
  [BlockType.CompaniesBlock]: CompaniesBlock,
14
15
  [BlockType.MediaBlock]: MediaBlock,
@@ -1 +1 @@
1
- {"version":3,"file":"constructor-items.js","sourceRoot":"../../src","sources":["constructor-items.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BannerBlock,\n CardLayoutBlock,\n CompaniesBlock,\n ContentLayoutBlock,\n ExtendedFeaturesBlock,\n FilterBlock,\n FormBlock,\n HeaderBlock,\n HeaderSliderBlock,\n IconsBlock,\n InfoBlock,\n MapBlock,\n MediaBlock,\n PromoFeaturesBlock,\n QuestionsBlock,\n ShareBlock,\n SliderBlock,\n TableBlock,\n TabsBlock,\n} from './blocks';\nimport {SliderNewBlock} from './blocks/unstable';\nimport {BlockType, NavigationItemType, SubBlockType} from './models';\nimport {\n GithubButton,\n NavigationButton,\n NavigationDropdown,\n NavigationLink,\n} from './navigation/components/NavigationItem';\nimport SocialIcon from './navigation/components/SocialIcon/SocialIcon';\nimport {\n BackgroundCard,\n BannerCard,\n BasicCard,\n Content,\n Divider,\n ImageCard,\n LayoutItem,\n MediaCard,\n PriceCard,\n PriceDetailed,\n Quote,\n} from './sub-blocks';\n\nexport const blockMap = {\n [BlockType.SliderBlock]: SliderBlock,\n [BlockType.ExtendedFeaturesBlock]: ExtendedFeaturesBlock,\n [BlockType.PromoFeaturesBlock]: PromoFeaturesBlock,\n [BlockType.QuestionsBlock]: QuestionsBlock,\n [BlockType.BannerBlock]: BannerBlock,\n [BlockType.CompaniesBlock]: CompaniesBlock,\n [BlockType.MediaBlock]: MediaBlock,\n [BlockType.InfoBlock]: InfoBlock,\n [BlockType.TableBlock]: TableBlock,\n [BlockType.TabsBlock]: TabsBlock,\n [BlockType.HeaderBlock]: HeaderBlock,\n [BlockType.IconsBlock]: IconsBlock,\n [BlockType.HeaderSliderBlock]: HeaderSliderBlock,\n [BlockType.CardLayoutBlock]: CardLayoutBlock,\n [BlockType.ContentLayoutBlock]: ContentLayoutBlock,\n [BlockType.ShareBlock]: ShareBlock,\n [BlockType.MapBlock]: MapBlock,\n [BlockType.FilterBlock]: FilterBlock,\n [BlockType.FormBlock]: FormBlock,\n // unstable\n [BlockType.SliderNewBlock]: SliderNewBlock,\n};\n\nexport const subBlockMap = {\n [SubBlockType.Divider]: Divider,\n [SubBlockType.PriceDetailed]: PriceDetailed,\n [SubBlockType.MediaCard]: MediaCard,\n [SubBlockType.BannerCard]: BannerCard,\n [SubBlockType.LayoutItem]: LayoutItem,\n [SubBlockType.BackgroundCard]: BackgroundCard,\n [SubBlockType.BasicCard]: BasicCard,\n [SubBlockType.Content]: Content,\n [SubBlockType.Quote]: Quote,\n [SubBlockType.PriceCard]: PriceCard,\n [SubBlockType.ImageCard]: ImageCard,\n};\n\nexport const navItemMap = {\n [NavigationItemType.Button]: NavigationButton,\n [NavigationItemType.Social]: SocialIcon,\n [NavigationItemType.Dropdown]: NavigationDropdown,\n [NavigationItemType.Link]: NavigationLink,\n [NavigationItemType.GithubButton]: GithubButton,\n};\n"]}
1
+ {"version":3,"file":"constructor-items.js","sourceRoot":"../../src","sources":["constructor-items.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n BannerBlock,\n CardLayoutBlock,\n CompaniesBlock,\n ContentLayoutBlock,\n ExtendedFeaturesBlock,\n FilterBlock,\n FoldableListBlock,\n FormBlock,\n HeaderBlock,\n HeaderSliderBlock,\n IconsBlock,\n InfoBlock,\n MapBlock,\n MediaBlock,\n PromoFeaturesBlock,\n QuestionsBlock,\n ShareBlock,\n SliderBlock,\n TableBlock,\n TabsBlock,\n} from './blocks';\nimport {SliderNewBlock} from './blocks/unstable';\nimport {BlockType, NavigationItemType, SubBlockType} from './models';\nimport {\n GithubButton,\n NavigationButton,\n NavigationDropdown,\n NavigationLink,\n} from './navigation/components/NavigationItem';\nimport SocialIcon from './navigation/components/SocialIcon/SocialIcon';\nimport {\n BackgroundCard,\n BannerCard,\n BasicCard,\n Content,\n Divider,\n ImageCard,\n LayoutItem,\n MediaCard,\n PriceCard,\n PriceDetailed,\n Quote,\n} from './sub-blocks';\n\nexport const blockMap = {\n [BlockType.SliderBlock]: SliderBlock,\n [BlockType.ExtendedFeaturesBlock]: ExtendedFeaturesBlock,\n [BlockType.PromoFeaturesBlock]: PromoFeaturesBlock,\n [BlockType.QuestionsBlock]: QuestionsBlock,\n [BlockType.FoldableListBlock]: FoldableListBlock,\n [BlockType.BannerBlock]: BannerBlock,\n [BlockType.CompaniesBlock]: CompaniesBlock,\n [BlockType.MediaBlock]: MediaBlock,\n [BlockType.InfoBlock]: InfoBlock,\n [BlockType.TableBlock]: TableBlock,\n [BlockType.TabsBlock]: TabsBlock,\n [BlockType.HeaderBlock]: HeaderBlock,\n [BlockType.IconsBlock]: IconsBlock,\n [BlockType.HeaderSliderBlock]: HeaderSliderBlock,\n [BlockType.CardLayoutBlock]: CardLayoutBlock,\n [BlockType.ContentLayoutBlock]: ContentLayoutBlock,\n [BlockType.ShareBlock]: ShareBlock,\n [BlockType.MapBlock]: MapBlock,\n [BlockType.FilterBlock]: FilterBlock,\n [BlockType.FormBlock]: FormBlock,\n // unstable\n [BlockType.SliderNewBlock]: SliderNewBlock,\n};\n\nexport const subBlockMap = {\n [SubBlockType.Divider]: Divider,\n [SubBlockType.PriceDetailed]: PriceDetailed,\n [SubBlockType.MediaCard]: MediaCard,\n [SubBlockType.BannerCard]: BannerCard,\n [SubBlockType.LayoutItem]: LayoutItem,\n [SubBlockType.BackgroundCard]: BackgroundCard,\n [SubBlockType.BasicCard]: BasicCard,\n [SubBlockType.Content]: Content,\n [SubBlockType.Quote]: Quote,\n [SubBlockType.PriceCard]: PriceCard,\n [SubBlockType.ImageCard]: ImageCard,\n};\n\nexport const navItemMap = {\n [NavigationItemType.Button]: NavigationButton,\n [NavigationItemType.Social]: SocialIcon,\n [NavigationItemType.Dropdown]: NavigationDropdown,\n [NavigationItemType.Link]: NavigationLink,\n [NavigationItemType.GithubButton]: GithubButton,\n};\n"]}
@@ -10,6 +10,7 @@ export declare enum BlockType {
10
10
  ExtendedFeaturesBlock = "extended-features-block",
11
11
  SliderBlock = "slider-block",
12
12
  QuestionsBlock = "questions-block",
13
+ FoldableListBlock = "foldable-list-block",
13
14
  BannerBlock = "banner-block",
14
15
  CompaniesBlock = "companies-block",
15
16
  MediaBlock = "media-block",
@@ -169,6 +170,19 @@ export interface QuestionBlockItemProps extends QuestionItem {
169
170
  isOpened: boolean;
170
171
  onClick: () => void;
171
172
  }
173
+ export interface FoldableListItem {
174
+ title: string;
175
+ text: string;
176
+ listStyle?: 'dash' | 'disk';
177
+ link?: LinkProps;
178
+ }
179
+ export interface FoldableListProps extends Omit<ContentBlockProps, 'colSizes' | 'centered' | 'size' | 'theme'> {
180
+ items: FoldableListItem[];
181
+ }
182
+ export interface FoldableListBlockItemProps extends FoldableListItem {
183
+ isOpened: boolean;
184
+ onClick: () => void;
185
+ }
172
186
  export interface BannerBlockProps extends BannerCardProps, Animatable {
173
187
  }
174
188
  export interface CompaniesBlockProps extends Animatable {
@@ -368,6 +382,9 @@ export type PromoFeaturesBlockModel = {
368
382
  export type QuestionsBlockModel = {
369
383
  type: BlockType.QuestionsBlock;
370
384
  } & QuestionsProps;
385
+ export type FoldableListBlockModel = {
386
+ type: BlockType.FoldableListBlock;
387
+ } & FoldableListProps;
371
388
  export type BannerBlockModel = {
372
389
  type: BlockType.BannerBlock;
373
390
  } & BannerBlockProps;
@@ -413,7 +430,7 @@ export type FormBlockModel = {
413
430
  export type SliderNewBlockModel = {
414
431
  type: BlockType.SliderNewBlock;
415
432
  } & SliderNewProps;
416
- type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | TabsBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel;
433
+ type BlockModels = SliderBlockModel | ExtendedFeaturesBlockModel | PromoFeaturesBlockModel | QuestionsBlockModel | FoldableListBlockModel | BannerBlockModel | CompaniesBlockModel | MediaBlockModel | MapBlockModel | InfoBlockModel | TableBlockModel | TabsBlockModel | HeaderBlockModel | IconsBlockModel | HeaderSliderBlockModel | CardLayoutBlockModel | ContentLayoutBlockModel | ShareBLockModel | FilterBlockModel | FormBlockModel;
417
434
  type UnstableBlockModels = SliderNewBlockModel;
418
435
  export type Block = (BlockModels | UnstableBlockModels) & BlockBaseProps;
419
436
  export {};
@@ -4,6 +4,7 @@ export var BlockType;
4
4
  BlockType["ExtendedFeaturesBlock"] = "extended-features-block";
5
5
  BlockType["SliderBlock"] = "slider-block";
6
6
  BlockType["QuestionsBlock"] = "questions-block";
7
+ BlockType["FoldableListBlock"] = "foldable-list-block";
7
8
  BlockType["BannerBlock"] = "banner-block";
8
9
  BlockType["CompaniesBlock"] = "companies-block";
9
10
  BlockType["MediaBlock"] = "media-block";