@gravity-ui/page-constructor 6.0.0-beta.6 → 6.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/blocks/CardLayout/CardLayout.js +1 -1
- package/build/cjs/blocks/CardLayout/CardLayout.js.map +1 -1
- package/build/cjs/blocks/Form/schema.js +1 -1
- package/build/cjs/blocks/Form/schema.js.map +1 -1
- package/build/cjs/blocks/HeaderSlider/schema.js +1 -1
- package/build/cjs/blocks/HeaderSlider/schema.js.map +1 -1
- package/build/cjs/blocks/Info/schema.js +1 -1
- package/build/cjs/blocks/Info/schema.js.map +1 -1
- package/build/cjs/blocks/Media/schema.js +1 -1
- package/build/cjs/blocks/Media/schema.js.map +1 -1
- package/build/cjs/blocks/Questions/schema.js +1 -1
- package/build/cjs/blocks/Questions/schema.js.map +1 -1
- package/build/cjs/blocks/Slider/Slider.js +3 -3
- package/build/cjs/blocks/Slider/Slider.js.map +1 -1
- package/build/cjs/blocks/Slider/utils.js +1 -1
- package/build/cjs/blocks/Slider/utils.js.map +1 -1
- package/build/cjs/blocks/SliderNew/Slider.d.ts +1 -1
- package/build/cjs/blocks/SliderNew/Slider.js +3 -3
- package/build/cjs/blocks/SliderNew/Slider.js.map +1 -1
- package/build/cjs/blocks/SliderNew/utils.js +2 -2
- package/build/cjs/blocks/SliderNew/utils.js.map +1 -1
- package/build/cjs/blocks/Tabs/schema.js +1 -1
- package/build/cjs/blocks/Tabs/schema.js.map +1 -1
- package/build/cjs/components/BalancedMasonry/BalancedMasonry.js +3 -3
- package/build/cjs/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
- package/build/cjs/components/FullWidthBackground/FullWidthBackground.js +1 -1
- package/build/cjs/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
- package/build/cjs/components/Map/GoogleMap.js +1 -1
- package/build/cjs/components/Map/GoogleMap.js.map +1 -1
- package/build/cjs/components/Map/YMap/YandexMap.js +1 -1
- package/build/cjs/components/Map/YMap/YandexMap.js.map +1 -1
- package/build/cjs/components/Media/Image/Image.js +1 -1
- package/build/cjs/components/Media/Image/Image.js.map +1 -1
- package/build/cjs/components/OutsideClick/OutsideClick.js +1 -1
- package/build/cjs/components/OutsideClick/OutsideClick.js.map +1 -1
- package/build/cjs/components/OverflowScroller/OverflowScroller.js +1 -1
- package/build/cjs/components/OverflowScroller/OverflowScroller.js.map +1 -1
- package/build/cjs/components/ReactPlayer/ReactPlayer.js +1 -1
- package/build/cjs/components/ReactPlayer/ReactPlayer.js.map +1 -1
- package/build/cjs/components/VideoBlock/VideoBlock.js +1 -1
- package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
- package/build/cjs/containers/PageConstructor/PageConstructor.d.ts +1 -1
- package/build/cjs/containers/PageConstructor/PageConstructor.js +1 -1
- package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
- package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
- package/build/cjs/editor/components/BlockForm/BlockForm.js +2 -2
- package/build/cjs/editor/components/BlockForm/BlockForm.js.map +1 -1
- package/build/cjs/editor/components/CodeEditor/CodeEditor.js +1 -1
- package/build/cjs/editor/components/CodeEditor/CodeEditor.js.map +1 -1
- package/build/cjs/editor/components/PageSettings/PageSettings.js +1 -1
- package/build/cjs/editor/components/PageSettings/PageSettings.js.map +1 -1
- package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +1 -1
- package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
- package/build/cjs/editor/dynamic-forms-custom/config.js +1 -1
- package/build/cjs/editor/dynamic-forms-custom/config.js.map +1 -1
- package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +2 -2
- package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
- package/build/cjs/editor/store/main/utils.js +1 -1
- package/build/cjs/editor/store/main/utils.js.map +1 -1
- package/build/cjs/editor/utils/index.js +1 -1
- package/build/cjs/editor/utils/index.js.map +1 -1
- package/build/cjs/editor/utils/validation.js +1 -1
- package/build/cjs/editor/utils/validation.js.map +1 -1
- package/build/cjs/hooks/useFocus.js +1 -1
- package/build/cjs/hooks/useFocus.js.map +1 -1
- package/build/cjs/hooks/useHeightCalculator.js +1 -1
- package/build/cjs/hooks/useHeightCalculator.js.map +1 -1
- package/build/cjs/hooks/useWindowBreakpoint.js +1 -1
- package/build/cjs/hooks/useWindowBreakpoint.js.map +1 -1
- package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +1 -1
- package/build/cjs/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
- package/build/cjs/navigation/components/NavigationItem/hooks/useNavigationItemMap.js +1 -1
- package/build/cjs/navigation/components/NavigationItem/hooks/useNavigationItemMap.js.map +1 -1
- package/build/cjs/navigation/hooks/useShowBorder.js +1 -1
- package/build/cjs/navigation/hooks/useShowBorder.js.map +1 -1
- package/build/cjs/navigation/schema.js +1 -1
- package/build/cjs/navigation/schema.js.map +1 -1
- package/build/cjs/sub-blocks/BackgroundCard/schema.js +1 -1
- package/build/cjs/sub-blocks/BackgroundCard/schema.js.map +1 -1
- package/build/cjs/sub-blocks/BasicCard/schema.js +1 -1
- package/build/cjs/sub-blocks/BasicCard/schema.js.map +1 -1
- package/build/cjs/sub-blocks/ImageCard/schema.js +1 -1
- package/build/cjs/sub-blocks/ImageCard/schema.js.map +1 -1
- package/build/cjs/sub-blocks/LayoutItem/schema.js +1 -1
- package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
- package/build/cjs/sub-blocks/PriceCard/PriceCard.js +2 -3
- package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
- package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +1 -1
- package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map +1 -1
- package/build/cjs/text-transform/transformers.js +2 -2
- package/build/cjs/text-transform/transformers.js.map +1 -1
- package/build/cjs/utils/blocks.js +2 -2
- package/build/cjs/utils/blocks.js.map +1 -1
- package/build/esm/blocks/CardLayout/CardLayout.js +1 -1
- package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
- package/build/esm/blocks/Form/schema.js +1 -1
- package/build/esm/blocks/Form/schema.js.map +1 -1
- package/build/esm/blocks/HeaderSlider/schema.js +1 -1
- package/build/esm/blocks/HeaderSlider/schema.js.map +1 -1
- package/build/esm/blocks/Info/schema.js +1 -1
- package/build/esm/blocks/Info/schema.js.map +1 -1
- package/build/esm/blocks/Media/schema.js +1 -1
- package/build/esm/blocks/Media/schema.js.map +1 -1
- package/build/esm/blocks/Questions/schema.js +1 -1
- package/build/esm/blocks/Questions/schema.js.map +1 -1
- package/build/esm/blocks/Slider/Slider.js +3 -3
- package/build/esm/blocks/Slider/Slider.js.map +1 -1
- package/build/esm/blocks/Slider/utils.js +1 -1
- package/build/esm/blocks/Slider/utils.js.map +1 -1
- package/build/esm/blocks/SliderNew/Slider.d.ts +1 -1
- package/build/esm/blocks/SliderNew/Slider.js +1 -1
- package/build/esm/blocks/SliderNew/Slider.js.map +1 -1
- package/build/esm/blocks/SliderNew/utils.js +2 -2
- package/build/esm/blocks/SliderNew/utils.js.map +1 -1
- package/build/esm/blocks/Tabs/schema.js +1 -1
- package/build/esm/blocks/Tabs/schema.js.map +1 -1
- package/build/esm/components/BalancedMasonry/BalancedMasonry.js +3 -3
- package/build/esm/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
- package/build/esm/components/FullWidthBackground/FullWidthBackground.js +1 -1
- package/build/esm/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
- package/build/esm/components/Map/GoogleMap.js +1 -1
- package/build/esm/components/Map/GoogleMap.js.map +1 -1
- package/build/esm/components/Map/YMap/YandexMap.js +1 -1
- package/build/esm/components/Map/YMap/YandexMap.js.map +1 -1
- package/build/esm/components/Media/Image/Image.js +1 -1
- package/build/esm/components/Media/Image/Image.js.map +1 -1
- package/build/esm/components/OutsideClick/OutsideClick.js +1 -1
- package/build/esm/components/OutsideClick/OutsideClick.js.map +1 -1
- package/build/esm/components/OverflowScroller/OverflowScroller.js +1 -1
- package/build/esm/components/OverflowScroller/OverflowScroller.js.map +1 -1
- package/build/esm/components/ReactPlayer/ReactPlayer.js +1 -1
- package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
- package/build/esm/components/VideoBlock/VideoBlock.js +1 -1
- package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
- package/build/esm/containers/PageConstructor/PageConstructor.d.ts +1 -1
- package/build/esm/containers/PageConstructor/PageConstructor.js +1 -1
- package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
- package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
- package/build/esm/editor/components/BlockForm/BlockForm.js +2 -2
- package/build/esm/editor/components/BlockForm/BlockForm.js.map +1 -1
- package/build/esm/editor/components/CodeEditor/CodeEditor.js +1 -1
- package/build/esm/editor/components/CodeEditor/CodeEditor.js.map +1 -1
- package/build/esm/editor/components/PageSettings/PageSettings.js +1 -1
- package/build/esm/editor/components/PageSettings/PageSettings.js.map +1 -1
- package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +1 -1
- package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
- package/build/esm/editor/dynamic-forms-custom/config.js +1 -1
- package/build/esm/editor/dynamic-forms-custom/config.js.map +1 -1
- package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +2 -2
- package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
- package/build/esm/editor/store/main/utils.js +1 -1
- package/build/esm/editor/store/main/utils.js.map +1 -1
- package/build/esm/editor/utils/index.js +1 -1
- package/build/esm/editor/utils/index.js.map +1 -1
- package/build/esm/editor/utils/validation.js +1 -1
- package/build/esm/editor/utils/validation.js.map +1 -1
- package/build/esm/hooks/useFocus.js +1 -1
- package/build/esm/hooks/useFocus.js.map +1 -1
- package/build/esm/hooks/useHeightCalculator.js +1 -1
- package/build/esm/hooks/useHeightCalculator.js.map +1 -1
- package/build/esm/hooks/useWindowBreakpoint.js +1 -1
- package/build/esm/hooks/useWindowBreakpoint.js.map +1 -1
- package/build/esm/navigation/components/NavigationItem/NavigationItem.js +1 -1
- package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
- package/build/esm/navigation/components/NavigationItem/hooks/useNavigationItemMap.js +1 -1
- package/build/esm/navigation/components/NavigationItem/hooks/useNavigationItemMap.js.map +1 -1
- package/build/esm/navigation/hooks/useShowBorder.js +1 -1
- package/build/esm/navigation/hooks/useShowBorder.js.map +1 -1
- package/build/esm/navigation/schema.js +1 -1
- package/build/esm/navigation/schema.js.map +1 -1
- package/build/esm/sub-blocks/BackgroundCard/schema.js +1 -1
- package/build/esm/sub-blocks/BackgroundCard/schema.js.map +1 -1
- package/build/esm/sub-blocks/BasicCard/schema.js +1 -1
- package/build/esm/sub-blocks/BasicCard/schema.js.map +1 -1
- package/build/esm/sub-blocks/ImageCard/schema.js +1 -1
- package/build/esm/sub-blocks/ImageCard/schema.js.map +1 -1
- package/build/esm/sub-blocks/LayoutItem/schema.js +1 -1
- package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
- package/build/esm/sub-blocks/PriceCard/PriceCard.js +1 -1
- package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
- package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +1 -1
- package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map +1 -1
- package/build/esm/text-transform/transformers.js +2 -2
- package/build/esm/text-transform/transformers.js.map +1 -1
- package/build/esm/utils/blocks.js +2 -2
- package/build/esm/utils/blocks.js.map +1 -1
- package/package.json +5 -5
- package/widget/2957.index.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OneOfCustom.js","sourceRoot":"../../../../../../src","sources":["editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EACH,UAAU,EAGV,WAAW,EAGX,SAAS,EAET,eAAe,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,OAAO,
|
|
1
|
+
{"version":3,"file":"OneOfCustom.js","sourceRoot":"../../../../../../src","sources":["editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {\n Controller,\n FieldObjectValue,\n FieldValue,\n GroupIndent,\n ObjectIndependentInputProps,\n ObjectSpec,\n SpecTypes,\n ValidateError,\n transformArrOut,\n} from '@gravity-ui/dynamic-forms';\nimport Ajv from 'ajv';\nimport isEmpty from 'lodash/isEmpty';\n\nimport {block} from '../../../../utils';\nimport {getSpecTypeDefaultValue, useOneOf} from '../../hooks/useOneOf';\nimport {SpecCustomProps} from '../../parser/types';\n\nimport './OneOfCustom.scss';\n\nconst b = block('one-of-custom');\n\nconst ajv = new Ajv({\n $data: true,\n strict: false,\n strictSchema: false,\n strictTypes: false,\n strictRequired: false,\n});\n\nconst getOneOfCustomSpecDefaultType = (spec: ObjectSpec) =>\n spec.viewSpec?.order?.[0] || Object.keys(spec.properties || {})[0];\n\n// dynamic-forms pass {} as default value for required properties of all types\n// this function replaces {} with default value accordingly to selected OneOf option spec type\nconst getControllerDefautValue = (value: FieldValue, valueSpecType?: SpecTypes) => {\n const isDefaultValue = typeof value === 'object' && isEmpty(value);\n const defaultValue = valueSpecType ? getSpecTypeDefaultValue(valueSpecType) : undefined;\n\n return isDefaultValue ? (defaultValue as FieldValue) : value;\n};\n\n/**\n * Customization of @gravity-ui/dynamic-forms OneOf component\n *\n * Main differences from original component:\n *\n * 1. Custom component can detect initial data type by it's json schema passed it __schema property of spec and\n * shows according input\n *\n * 2. Custom component doesn't create additional nested level of data for each OneOf option and doesn't wraps data value, e.g.\n *\n * custom component: {propertyName: propertyValue}\n * original component: {propertyName: {option1: {value: propertyValue}}}\n *\n * @param {ObjectIndependentInputProps} props - props of original OneOf component\n * @returns {React.FC<ObjectIndependentInputProps>}\n */\nexport const OneOfCustom: React.FC<ObjectIndependentInputProps> = (props) => {\n const {spec, input, name} = props;\n const {properties} = spec;\n\n //getting oneOf option type from initial value\n const valueType = React.useMemo(\n () =>\n (properties &&\n Object.keys(properties)?.find((key) => {\n const fieldSchema = (properties?.[key] as SpecCustomProps).__schema;\n\n return fieldSchema && ajv.validate(fieldSchema, transformArrOut(input.value));\n })) ||\n getOneOfCustomSpecDefaultType(spec),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n const {oneOfValue, specProperties, toggler} = useOneOf({\n props: {\n ...props,\n input: {\n ...input,\n value: valueType ? {[valueType]: input.value} : input.value,\n },\n },\n });\n\n const parentOnChange = React.useCallback(\n (\n _childName: string,\n childValue: FieldValue,\n childErrors?: Record<string, ValidateError>,\n ) => {\n input.onChange(childValue as FieldObjectValue, childErrors);\n },\n [input],\n );\n\n const parentOnUnmount = React.useCallback(\n (childName: string) => input.onChange((currentValue) => currentValue, {[childName]: false}),\n [input],\n );\n\n const valueSpecType = specProperties[oneOfValue]?.type || SpecTypes.Object;\n\n return (\n <div className={b()}>\n <div>{toggler}</div>\n {specProperties[oneOfValue] && (\n <GroupIndent>\n <Controller\n value={getControllerDefautValue(input.value, valueSpecType)}\n name={name}\n spec={specProperties[oneOfValue]}\n parentOnChange={parentOnChange}\n parentOnUnmount={parentOnUnmount}\n key={`${name}.${oneOfValue}`}\n />\n </GroupIndent>\n )}\n </div>\n );\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { dynamicConfig as libConfig } from '@gravity-ui/dynamic-forms';
|
|
2
|
-
import cloneDeep from
|
|
2
|
+
import cloneDeep from "lodash/cloneDeep.js";
|
|
3
3
|
import { OneOfCustom } from "./components/OneOfCustom/OneOfCustom.js";
|
|
4
4
|
const getDynamicConfig = () => {
|
|
5
5
|
const dynamicConfig = cloneDeep(libConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"../../../../src","sources":["editor/dynamic-forms-custom/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,aAAa,IAAI,SAAS,EAAC,MAAM,2BAA2B,CAAC;AACxF,OAAO,SAAS,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"../../../../src","sources":["editor/dynamic-forms-custom/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,aAAa,IAAI,SAAS,EAAC,MAAM,2BAA2B,CAAC;AACxF,OAAO,SAAS,4BAAyB;AAEzC,OAAO,EAAC,WAAW,EAAC,gDAA6C;AAEjE,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC1B,MAAM,aAAa,GAAsB,SAAS,CAAC,SAAS,CAAC,CAAC;IAE9D,aAAa;IACb,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAC,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAC,CAAC;IAE1F,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC","sourcesContent":["import {DynamicFormConfig, dynamicConfig as libConfig} from '@gravity-ui/dynamic-forms';\nimport cloneDeep from 'lodash/cloneDeep';\n\nimport {OneOfCustom} from './components/OneOfCustom/OneOfCustom';\n\nconst getDynamicConfig = () => {\n const dynamicConfig: DynamicFormConfig = cloneDeep(libConfig);\n\n // @ts-ignore\n dynamicConfig.object.inputs['oneof_custom'] = {Component: OneOfCustom, independent: true};\n\n return dynamicConfig;\n};\n\nexport const dynamicConfig = getDynamicConfig();\n"]}
|
|
@@ -2,8 +2,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { SpecTypes, } from '@gravity-ui/dynamic-forms';
|
|
4
4
|
import { SegmentedRadioGroup, Select } from '@gravity-ui/uikit';
|
|
5
|
-
import isObjectLike from
|
|
6
|
-
import some from
|
|
5
|
+
import isObjectLike from "lodash/isObjectLike.js";
|
|
6
|
+
import some from "lodash/some.js";
|
|
7
7
|
const MAX_TAB_TITLE_LENGTH = 20;
|
|
8
8
|
export const getSpecTypeDefaultValue = (type) => {
|
|
9
9
|
switch (type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOneOf.js","sourceRoot":"../../../../../src","sources":["editor/dynamic-forms-custom/hooks/useOneOf.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAIH,SAAS,GACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,mBAAmB,EAAE,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAC9D,OAAO,YAAY
|
|
1
|
+
{"version":3,"file":"useOneOf.js","sourceRoot":"../../../../../src","sources":["editor/dynamic-forms-custom/hooks/useOneOf.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport {\n FieldObjectValue,\n ObjectIndependentInputProps,\n Spec,\n SpecTypes,\n} from '@gravity-ui/dynamic-forms';\nimport {SegmentedRadioGroup, Select} from '@gravity-ui/uikit';\nimport isObjectLike from 'lodash/isObjectLike';\nimport some from 'lodash/some';\n\nconst MAX_TAB_TITLE_LENGTH = 20;\n\nexport interface UseOneOfParams {\n props: ObjectIndependentInputProps;\n onTogglerChange?: (value: string) => void;\n}\n\nexport const getSpecTypeDefaultValue = (type: SpecTypes) => {\n switch (type) {\n case SpecTypes.Array:\n return [];\n case SpecTypes.Boolean:\n case SpecTypes.Number:\n case SpecTypes.String:\n return undefined;\n default:\n return {};\n }\n};\n\nexport const useOneOf = ({props, onTogglerChange}: UseOneOfParams) => {\n const {name, input, spec, Layout} = props;\n const {order, disabled, oneOfParams} = spec.viewSpec;\n\n const specProperties = React.useMemo(\n () => (isObjectLike(spec.properties) ? (spec.properties as Record<string, Spec>) : {}),\n [spec.properties],\n );\n\n const [oneOfValue, setOneOfValue] = React.useState(() => {\n let valueKeys: string[] | undefined;\n\n if (isObjectLike(input.value)) {\n const keys = Object.keys(input.value);\n\n if (keys.length) {\n valueKeys = keys;\n }\n }\n\n return (valueKeys || order || Object.keys(specProperties))[0];\n });\n\n const onOneOfChange = React.useCallback(\n ([newValue]: string[]) => {\n if (newValue !== oneOfValue) {\n const specType = specProperties[newValue]?.type || SpecTypes.Object;\n input.onChange(getSpecTypeDefaultValue(specType) as FieldObjectValue);\n setOneOfValue(newValue);\n onTogglerChange?.(newValue);\n }\n },\n [setOneOfValue, input, oneOfValue, specProperties, onTogglerChange],\n );\n\n const options = React.useMemo(\n () =>\n (order || Object.keys(specProperties)).map((value) => {\n const title =\n spec.description?.[value] ||\n specProperties[value]?.viewSpec.layoutTitle ||\n value ||\n '';\n\n return {\n value,\n title,\n content: title,\n };\n }),\n [spec.description, order, specProperties],\n );\n\n const togglerInput = React.useMemo(() => {\n if (\n oneOfParams?.toggler !== 'radio' &&\n (oneOfParams?.toggler === 'select' ||\n options.length > 3 ||\n some(options, ({title}) => title.length > MAX_TAB_TITLE_LENGTH))\n ) {\n return (\n <Select\n width=\"max\"\n value={[oneOfValue]}\n onUpdate={onOneOfChange}\n options={options}\n disabled={disabled}\n filterable={options.length > 7}\n qa={name}\n />\n );\n }\n\n return (\n <SegmentedRadioGroup\n value={oneOfValue}\n onChange={(event) => onOneOfChange([event.target.value])}\n disabled={disabled}\n qa={name}\n >\n {options.map(({value, title}) => (\n <SegmentedRadioGroup.Option key={value} value={value}>\n {title}\n </SegmentedRadioGroup.Option>\n ))}\n </SegmentedRadioGroup>\n );\n }, [options, oneOfValue, onOneOfChange, name, oneOfParams?.toggler, disabled]);\n\n const toggler = React.useMemo(() => {\n if (Layout) {\n return <Layout {...props}>{togglerInput}</Layout>;\n }\n\n return togglerInput;\n }, [Layout, togglerInput, props]);\n\n return {oneOfValue, specProperties, toggler, togglerInput};\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"../../../../../src","sources":["editor/store/main/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"../../../../../src","sources":["editor/store/main/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,4BAAyB;AAMzC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC7B,KAAyB,EACzB,QAAgB,EAChB,QAAgB,EAClB,EAAE;IACA,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAEpC,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAyB,EAAE,KAAa,EAAE,EAAE;IACvE,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAiB,EAAE,kBAA0B,EAAE,EAAE;IAC9E,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACZ,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED,iCAAiC;IACjC,OAAO,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAyB,EAAE,KAAuB,EAAE,KAAa,EAAE,EAAE;IAC1F,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;IAE/B,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,OAAoB,EAAE,EAAE;IACnD,uCAAW,OAAO,KAAE,QAAQ,EAAE,KAAK,IAAE;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACvD,SAAS,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC","sourcesContent":["import cloneDeep from 'lodash/cloneDeep';\n\nimport {ConstructorBlock, PageContent} from '../../../models';\n\nimport {EditorBlockId} from './reducer';\n\nexport const changeBlocksOrder = (\n array: ConstructorBlock[],\n oldIndex: number,\n newIndex: number,\n) => {\n const result = [...array];\n const element = result.splice(oldIndex, 1)[0];\n result.splice(newIndex, 0, element);\n\n return result;\n};\n\nexport const duplicateBlock = (array: ConstructorBlock[], index: number) => {\n const result = [...array];\n result.splice(index + 1, 0, cloneDeep(result[index]));\n\n return result;\n};\n\nexport const getNewBlockIndex = (id: EditorBlockId, orderedBlocksCount: number) => {\n if (id === -1) {\n return orderedBlocksCount;\n }\n\n // id === 'string' - header block\n return typeof id === 'string' ? 0 : id + 1;\n};\n\nexport const addBlock = (array: ConstructorBlock[], block: ConstructorBlock, index: number) => {\n const result = [...array];\n result.splice(index, 0, block);\n\n return result;\n};\n\nexport const addEditorProps = (content: PageContent) => {\n return {...content, animated: false};\n};\n\nexport const getErrorBoundaryState = (prevState: number) =>\n prevState === Number.MAX_SAFE_INTEGER ? 0 : prevState + 1;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import capitalize from
|
|
1
|
+
import capitalize from "lodash/capitalize.js";
|
|
2
2
|
import { ViewModeItem } from "../types/index.js";
|
|
3
3
|
export const formatBlockName = (name) => capitalize(name).replace(/(block|-)/g, ' ');
|
|
4
4
|
export const addCustomDecorator = (decorators, custom = {}) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["editor/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["editor/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,6BAA0B;AAG3C,OAAO,EAAC,YAAY,EAAC,0BAAiB;AAEtC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAE7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAA4B,EAAE,SAAS,EAAkB,EAAE,EAAE;IAC5F,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAEjD,uCACO,MAAM,KACT,UAAU,kCACH,gBAAgB,KACnB,KAAK,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,UAAU,CAAC,OAE/D;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAC,KAAK,EAAE,IAAI,EAAuB,EAAE,EAAE,CAC9D,GAAG,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAsB,EAAE,EAAE,CACpD,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC","sourcesContent":["import capitalize from 'lodash/capitalize';\n\nimport {BlockDecorationProps, BlockDecorator, CustomConfig} from '../../models';\nimport {ViewModeItem} from '../types';\n\nexport const formatBlockName = (name: string) => capitalize(name).replace(/(block|-)/g, ' ');\n\nexport const addCustomDecorator = (decorators: BlockDecorator[], custom = {} as CustomConfig) => {\n const customDecorators = custom.decorators || {};\n\n return {\n ...custom,\n decorators: {\n ...customDecorators,\n block: [...(customDecorators.block || []), ...decorators],\n },\n };\n};\n\nexport const getBlockId = ({index, type}: BlockDecorationProps) =>\n `${type}${index === undefined ? '' : `-${index}`}`;\n\nexport const checkIsMobile = (viewMode: ViewModeItem) =>\n [ViewModeItem.Mobile, ViewModeItem.Tablet].includes(viewMode);\n"]}
|
|
@@ -2,7 +2,7 @@ import Ajv from 'ajv';
|
|
|
2
2
|
import ajvKeywords from 'ajv-keywords';
|
|
3
3
|
import yaml from 'js-yaml';
|
|
4
4
|
import SourceMap from 'js-yaml-source-map';
|
|
5
|
-
import isArray from
|
|
5
|
+
import isArray from "lodash/isArray.js";
|
|
6
6
|
const SUCCESS_MESSAGE = 'Valid';
|
|
7
7
|
export var CodeEditorMessageStatus;
|
|
8
8
|
(function (CodeEditorMessageStatus) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"../../../../src","sources":["editor/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,GAAoC,MAAM,KAAK,CAAC;AACvD,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,OAAO,OAAO,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"../../../../src","sources":["editor/utils/validation.ts"],"names":[],"mappings":"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","sourcesContent":["import Ajv, {ErrorObject, ValidateFunction} from 'ajv';\nimport ajvKeywords from 'ajv-keywords';\nimport yaml from 'js-yaml';\nimport SourceMap from 'js-yaml-source-map';\nimport {JSONSchema4} from 'json-schema';\nimport isArray from 'lodash/isArray';\n\nconst SUCCESS_MESSAGE = 'Valid';\nexport interface CodeEditorMessageProps {\n text: string;\n status: CodeEditorMessageStatus;\n}\n\nexport enum CodeEditorMessageStatus {\n SUCCESS = 'success',\n WARNING = 'warning',\n ERROR = 'error',\n}\n\nexport function createValidator(schema: JSONSchema4) {\n const ajv = new Ajv({$data: true, allErrors: true, schemas: [schema], strict: false});\n // TODO: select is deprecated, replace with discriminator:\n // https://github.com/ajv-validator/ajv-keywords#selectselectcasesselectdefault\n ajvKeywords(ajv, 'select');\n\n return ajv.compile(schema);\n}\n\nexport function validate(content: string, validator: ValidateFunction) {\n let result: CodeEditorMessageProps;\n\n if (!content) {\n return {status: CodeEditorMessageStatus.SUCCESS, text: SUCCESS_MESSAGE};\n }\n\n try {\n const jsYamlMap = new SourceMap();\n const data = yaml.load(content, {listener: jsYamlMap.listen()});\n\n validator(data);\n\n if (validator.errors) {\n const messages = validator.errors.map(\n ({instancePath, schemaPath, message, params}: ErrorObject) => {\n const pointer = jsYamlMap.lookup(instancePath.split('/').filter(Boolean));\n const stringParams = Object.entries(params).map(([key, value]) => {\n if (isArray(value)) {\n return `${key}: ${value.join(' | ')}`;\n }\n return `${key}: ${value}`;\n });\n const ref = pointer ? `${pointer.line}: ` : '';\n return `${ref}${instancePath || schemaPath}: ${message}\\n${stringParams.join(\n '\\n',\n )}`;\n },\n );\n result = {status: CodeEditorMessageStatus.WARNING, text: messages.join('\\n\\n')};\n } else {\n result = {status: CodeEditorMessageStatus.SUCCESS, text: SUCCESS_MESSAGE};\n }\n } catch (e) {\n const {message} = e as {message: string};\n result = {status: CodeEditorMessageStatus.ERROR, text: message as string};\n }\n\n return result;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFocus.js","sourceRoot":"../../../src","sources":["hooks/useFocus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"useFocus.js","sourceRoot":"../../../src","sources":["hooks/useFocus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EAAC,aAAa,EAAC,0CAAiC;AAEvD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,OAAqB;IAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAEjD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAEnE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,QAAQ,EAAE,CAAC;gBACX,OAAO,CAAC,gBAAgB,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,QAAQ,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;gBAClE,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAU,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;YACxE,CAAC;YAED,OAAO,GAAG,EAAE;gBACR,IAAI,QAAQ,EAAE,CAAC;oBACX,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;oBACpD,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBAC1D,CAAC;YACL,CAAC,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9C,OAAO;QACH,QAAQ;QACR,QAAQ;QACR,UAAU;KACb,CAAC;AACN,CAAC","sourcesContent":["import * as React from 'react';\n\nimport noop from 'lodash/noop';\n\nimport {MobileContext} from '../context/mobileContext';\n\nexport default function useFocus(element?: HTMLElement) {\n const isMobile = React.useContext(MobileContext);\n\n const [hasFocus, setHasFocus] = React.useState(false);\n const setFocus = React.useCallback(() => setHasFocus(true), []);\n const unsetFocus = React.useCallback(() => setHasFocus(false), []);\n\n React.useEffect(() => {\n if (element) {\n if (isMobile) {\n element.addEventListener('pointerdown', setFocus, {passive: true});\n } else {\n element.addEventListener('mouseenter', setFocus, {passive: true});\n element.addEventListener('mouseleave', unsetFocus, {passive: true});\n }\n\n return () => {\n if (isMobile) {\n element.removeEventListener('pointerdown', setFocus);\n } else {\n element.removeEventListener('mouseenter', setFocus);\n element.removeEventListener('mouseleave', unsetFocus);\n }\n };\n }\n\n return noop;\n }, [element, isMobile, setFocus, unsetFocus]);\n\n return {\n hasFocus,\n setFocus,\n unsetFocus,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHeightCalculator.js","sourceRoot":"../../../src","sources":["hooks/useHeightCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAAQ,
|
|
1
|
+
{"version":3,"file":"useHeightCalculator.js","sourceRoot":"../../../src","sources":["hooks/useHeightCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAAQ,2BAAwB;AAMvC,MAAM,mCAAmC,GAAG,IAAI,CAAC;AACjD,MAAM,eAAe,GAAG;IACpB,wBAAwB,EAAE,mCAAmC;CAChE,CAAC;AAEF,MAAM,mBAAmB,GAGC,CAAC,YAAY,EAAE,OAAO,GAAG,eAAe,EAAE,EAAE;IAClE,MAAM,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAClE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAE5F,MAAM,wBAAwB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACpD,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,OAAO,CAAC,YAAY,KAAK,eAAe;YAC7E,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAExD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,MAAM,YAAY,GAAG,QAAQ,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAC;QAElF,YAAY,EAAE,CAAC;QAEf,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QACjE,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,wBAAwB,EAAE,wBAAwB,CAAC,CAAC,CAAC;IAEzD,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\n\ntype HeightCalculatorOptions = {\n recalculateOnResizeDelay: number;\n};\n\nconst DEFAULT_RECALCULATE_ON_RESIZE_DELAY = 1000;\nconst DEFAULT_OPTIONS = {\n recalculateOnResizeDelay: DEFAULT_RECALCULATE_ON_RESIZE_DELAY,\n};\n\nconst useHeightCalculator: (\n containerRef: React.RefObject<HTMLElement>,\n options?: HeightCalculatorOptions,\n) => number | undefined = (containerRef, options = DEFAULT_OPTIONS) => {\n const recalculateOnResizeDelay = options.recalculateOnResizeDelay;\n const [containerHeight, setContainerHeight] = React.useState<number | undefined>(undefined);\n\n const calculateContainerHeight = React.useCallback(() => {\n if (containerRef.current && containerRef.current.offsetHeight !== containerHeight)\n setContainerHeight(containerRef.current.offsetHeight);\n }, [containerRef, containerHeight, setContainerHeight]);\n\n React.useEffect(() => {\n const handleResize = debounce(calculateContainerHeight, recalculateOnResizeDelay);\n\n handleResize();\n\n window.addEventListener('resize', handleResize, {passive: true});\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [calculateContainerHeight, recalculateOnResizeDelay]);\n\n return containerHeight;\n};\n\nexport default useHeightCalculator;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import debounce from
|
|
2
|
+
import debounce from "lodash/debounce.js";
|
|
3
3
|
import { BREAKPOINTS } from "../constants.js";
|
|
4
4
|
function calculate(windowWidth) {
|
|
5
5
|
const breakpointsSorted = Object.values(BREAKPOINTS).sort((b1, b2) => b1 - b2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWindowBreakpoint.js","sourceRoot":"../../../src","sources":["hooks/useWindowBreakpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAAQ,
|
|
1
|
+
{"version":3,"file":"useWindowBreakpoint.js","sourceRoot":"../../../src","sources":["hooks/useWindowBreakpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAAQ,2BAAwB;AAEvC,OAAO,EAAC,WAAW,EAAC,wBAAqB;AAEzC,SAAS,SAAS,CAAC,WAAmB;IAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAE/E,IAAI,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAElC,KAAK,MAAM,UAAU,IAAI,iBAAiB,EAAE,CAAC;QACzC,IAAI,WAAW,IAAI,UAAU,EAAE,CAAC;YAC5B,MAAM,GAAG,UAAU,CAAC;QACxB,CAAC;aAAM,CAAC;YACJ,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB;IACvC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAEnE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAE5C,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE;YACzB,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAChD,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,MAAM,EAAE,CAAC;QAET,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QAE3D,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,UAAU,CAAC;AACtB,CAAC","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\n\nimport {BREAKPOINTS} from '../constants';\n\nfunction calculate(windowWidth: number) {\n const breakpointsSorted = Object.values(BREAKPOINTS).sort((b1, b2) => b1 - b2);\n\n let result = breakpointsSorted[0];\n\n for (const breakpoint of breakpointsSorted) {\n if (windowWidth >= breakpoint) {\n result = breakpoint;\n } else {\n return result;\n }\n }\n\n return result;\n}\n\nexport default function useWindowBreakpoint() {\n const [breakpoint, setBreakpoint] = React.useState(BREAKPOINTS.sm);\n\n React.useEffect(() => {\n setBreakpoint(calculate(window.innerWidth));\n\n const detect = debounce(() => {\n setBreakpoint(calculate(window.innerWidth));\n }, 100);\n\n detect();\n\n window.addEventListener('resize', detect, {passive: true});\n\n return () => window.removeEventListener('resize', detect);\n }, []);\n\n return breakpoint;\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import * as React from 'react';
|
|
4
|
-
import omit from
|
|
4
|
+
import omit from "lodash/omit.js";
|
|
5
5
|
import { BlockIdContext } from "../../../context/blockIdContext/index.js";
|
|
6
6
|
import { NavigationItemType, NavigationItemTypes } from "../../../models/index.js";
|
|
7
7
|
import { block } from "../../../utils/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationItem.js","sourceRoot":"../../../../../src","sources":["navigation/components/NavigationItem/NavigationItem.tsx"],"names":[],"mappings":";;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"NavigationItem.js","sourceRoot":"../../../../../src","sources":["navigation/components/NavigationItem/NavigationItem.tsx"],"names":[],"mappings":";;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EAAC,cAAc,EAAC,iDAAwC;AAC/D,OAAO,EAAa,kBAAkB,EAAE,mBAAmB,EAAC,iCAAwB;AACpF,OAAO,EAAC,KAAK,EAAC,gCAAuB;AAGrC,OAAO,EAAC,oBAAoB,EAAC,wCAAqC;AAElE,OAAO,sBAAsB,CAAC;AAE9B,MAAM,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAEnC,MAAM,YAAY,GAAG,YAAY,CAAC;AAElC,MAAM,6BAA6B,GAAG,mBAAmB,CAAC,MAAM,CAC5D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,kBAAkB,CAAC,QAAQ,CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAKxC,EAAE,EAAE;QALoC,EAC1D,IAAI,EACJ,SAAS,EACT,UAAU,OAEQ,EADf,KAAK,cAJkD,mCAK7D,CADW;IAER,MAAM,EAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,EAAC,GAAG,IAAI,CAAC;IAC9C,MAAM,UAAU,GAAG,oBAAoB,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAe,CAAC;IACjD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,MAAM,mBAAmB,mCAClB,IAAI,GACJ,KAAK,CACX,CAAC;QAEF,IACI,6BAA6B,CAAC,QAAQ,CAClC,IAAsD,CACzD,EACH,CAAC;YACC,OAAO,IAAI,CAAC,mBAAmB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC;YACrC,CAAC,CAAC,mBAAmB;YACrB,CAAC,iCAAK,mBAAmB,KAAE,UAAU,GAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAEpC,OAAO,CACH,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YACxC,aAAI,SAAS,EAAE,CAAC,CAAC,EAAC,aAAa,EAAE,UAAU,EAAC,EAAE,SAAS,CAAC,YACpD,KAAC,SAAS,oBAAK,cAAc,IAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,IAAI,GACjE,GACiB,CAC7B,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["import * as React from 'react';\n\nimport omit from 'lodash/omit';\n\nimport {BlockIdContext} from '../../../context/blockIdContext';\nimport {CustomItem, NavigationItemType, NavigationItemTypes} from '../../../models';\nimport {block} from '../../../utils';\nimport {NavigationItemProps} from '../../models';\n\nimport {useNavigationItemMap} from './hooks/useNavigationItemMap';\n\nimport './NavigationItem.scss';\n\nconst b = block('navigation-item');\n\nconst ANALYTICS_ID = 'navigation';\n\nconst nonComplexNavigationItemTypes = NavigationItemTypes.filter(\n (type) => type !== NavigationItemType.Dropdown,\n);\n\nexport const NavigationItem: React.FC<NavigationItemProps> = ({\n data,\n className,\n menuLayout,\n ...props\n}: NavigationItemProps) => {\n const {type = NavigationItemType.Link} = data;\n const navItemMap = useNavigationItemMap();\n const Component = navItemMap[type] as CustomItem;\n const componentProps = React.useMemo(() => {\n const componentProperties = {\n ...data,\n ...props,\n };\n\n if (\n nonComplexNavigationItemTypes.includes(\n type as (typeof nonComplexNavigationItemTypes)[number],\n )\n ) {\n return omit(componentProperties, 'hidePopup', 'isActive');\n }\n\n return NavigationItemTypes.includes(type)\n ? componentProperties\n : {...componentProperties, menuLayout};\n }, [data, props, type, menuLayout]);\n\n return (\n <BlockIdContext.Provider value={ANALYTICS_ID}>\n <li className={b({'menu-layout': menuLayout}, className)}>\n <Component {...componentProps} className={b('content', {type})} />\n </li>\n </BlockIdContext.Provider>\n );\n};\n\nexport default NavigationItem;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import isEmpty from
|
|
2
|
+
import isEmpty from "lodash/isEmpty.js";
|
|
3
3
|
import { navItemMap as NavItemMapDefault } from "../../../../constructor-items.js";
|
|
4
4
|
import { InnerContext } from "../../../../context/innerContext/index.js";
|
|
5
5
|
export const useNavigationItemMap = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigationItemMap.js","sourceRoot":"../../../../../../src","sources":["navigation/components/NavigationItem/hooks/useNavigationItemMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,OAAO,
|
|
1
|
+
{"version":3,"file":"useNavigationItemMap.js","sourceRoot":"../../../../../../src","sources":["navigation/components/NavigationItem/hooks/useNavigationItemMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,OAAO,0BAAuB;AAErC,OAAO,EAAC,UAAU,IAAI,iBAAiB,EAAC,yCAAsC;AAC9E,OAAO,EAAC,YAAY,EAAC,kDAAyC;AAE9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACrC,MAAM,EAAC,UAAU,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IAEpD,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAU,CAAC;AAChE,CAAC,CAAC","sourcesContent":["import * as React from 'react';\n\nimport isEmpty from 'lodash/isEmpty';\n\nimport {navItemMap as NavItemMapDefault} from '../../../../constructor-items';\nimport {InnerContext} from '../../../../context/innerContext';\n\nexport const useNavigationItemMap = () => {\n const {navItemMap} = React.useContext(InnerContext);\n\n return isEmpty(navItemMap) ? NavItemMapDefault : navItemMap;\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import debounce from
|
|
2
|
+
import debounce from "lodash/debounce.js";
|
|
3
3
|
const useShowBorder = (withBorder, withBorderOnScroll) => {
|
|
4
4
|
const [showBorder, setShowBorder] = React.useState(withBorder);
|
|
5
5
|
React.useEffect(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useShowBorder.js","sourceRoot":"../../../../src","sources":["navigation/hooks/useShowBorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAAQ,
|
|
1
|
+
{"version":3,"file":"useShowBorder.js","sourceRoot":"../../../../src","sources":["navigation/hooks/useShowBorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,QAAQ,2BAAwB;AAEvC,MAAM,aAAa,GAAG,CAAC,UAAmB,EAAE,kBAA2B,EAAE,EAAE;IACvE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE/D,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,IAAI,CAAC,kBAAkB;YAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAEzC,MAAM,kBAAkB,GAAG,GAAG,EAAE;YAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,aAAa,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACtC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,QAAQ,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAEvD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;QAClE,OAAO,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,UAAU,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC","sourcesContent":["import * as React from 'react';\n\nimport debounce from 'lodash/debounce';\n\nconst useShowBorder = (withBorder: boolean, withBorderOnScroll: boolean) => {\n const [showBorder, setShowBorder] = React.useState(withBorder);\n\n React.useEffect(() => {\n if (!withBorderOnScroll) return () => {};\n\n const showBorderOnScroll = () => {\n if (!withBorder) {\n setShowBorder(window.scrollY > 0);\n }\n };\n\n const scrollHandler = debounce(showBorderOnScroll, 20);\n\n window.addEventListener('scroll', scrollHandler, {passive: true});\n return () => window.removeEventListener('scroll', scrollHandler);\n });\n\n return [showBorder];\n};\n\nexport default useShowBorder;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import omit from
|
|
1
|
+
import omit from "lodash/omit.js";
|
|
2
2
|
import { ImageProps, imageUrlPattern } from "../components/Image/schema.js";
|
|
3
3
|
import { ButtonProps } from "../schema/validators/common.js";
|
|
4
4
|
import { filteredArray } from "../schema/validators/utils.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"../../../src","sources":["navigation/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"../../../src","sources":["navigation/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EAAC,UAAU,EAAE,eAAe,EAAC,sCAAmC;AACvE,OAAO,EAAC,WAAW,EAAC,uCAAoC;AACxD,OAAO,EAAC,aAAa,EAAC,sCAAmC;AAEzD,MAAM,kBAAkB,GAAG;IACvB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC;CACvC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,UAAU,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE;YACF,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,MAAM;SACtB;QACD,GAAG,EAAE;YACD,IAAI,EAAE,QAAQ;SACjB;KACJ;CACJ,CAAC;AAEF,MAAM,uBAAuB,GAAG;IAC5B,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,MAAM;KACtB;IACD,GAAG,EAAE;QACD,IAAI,EAAE,QAAQ;KACjB;IACD,IAAI,EAAE;QACF,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,eAAe;KAC3B;IACD,QAAQ,EAAE;QACN,IAAI,EAAE,QAAQ;KACjB;CACJ,CAAC;AAEF,MAAM,2BAA2B,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAE3E,MAAM,uBAAuB,GAAG;IAC5B,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IAC1B,UAAU,kCACH,2BAA2B,KAC9B,IAAI,oBAAM,kBAAkB,GAC5B,GAAG,EAAE;YACD,IAAI,EAAE,QAAQ;SACjB,EACD,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;SACjB,EACD,KAAK,EAAE;YACH,IAAI,EAAE,SAAS;SAClB,GACJ;CACJ,CAAC;AAEF,MAAM,yBAAyB,GAAG;IAC9B,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACjC,UAAU,kCACH,WAAW,KACd,IAAI,oBAAM,kBAAkB,IAC/B;CACJ,CAAC;AAEF,MAAM,2BAA2B,GAAG;IAChC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;IAC3B,UAAU,kCACH,uBAAuB,KAC1B,IAAI,oBAAM,kBAAkB,GAC5B,KAAK,EAAE,aAAa,CAAC,uBAAuB,CAAC,GAChD;CACJ,CAAC;AAEF,MAAM,mBAAmB,GAAG;IACxB,KAAK,EAAE;QACH,aAAa,CAAC,uBAAuB,CAAC;QACtC,aAAa,CAAC,yBAAyB,CAAC;QACxC,aAAa,CAAC,2BAA2B,CAAC;KAC7C;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,WAAW,CAAC;IACvB,UAAU,EAAE;QACR,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE;YACN,IAAI,EAAE,QAAQ;SACjB;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {ImageProps, imageUrlPattern} from '../components/Image/schema';\nimport {ButtonProps} from '../schema/validators/common';\nimport {filteredArray} from '../schema/validators/utils';\n\nconst NavigationItemType = {\n type: 'string',\n enum: ['link', 'button', 'dropdown'],\n};\n\nexport const LogoProps = {\n type: 'object',\n additionalProperties: false,\n required: ['icon'],\n properties: {\n icon: ImageProps,\n text: {\n type: 'string',\n contentType: 'text',\n },\n url: {\n type: 'string',\n },\n },\n};\n\nconst NavigationItemBaseProps = {\n text: {\n type: 'string',\n contentType: 'text',\n },\n url: {\n type: 'string',\n },\n icon: {\n type: 'string',\n pattern: imageUrlPattern,\n },\n iconSize: {\n type: 'number',\n },\n};\n\nconst NavigationItemBaseLinkProps = omit(NavigationItemBaseProps, ['url']);\n\nconst NavigationLinkItemProps = {\n type: 'object',\n additionalProperties: false,\n required: ['type', 'text'],\n properties: {\n ...NavigationItemBaseLinkProps,\n type: {...NavigationItemType},\n url: {\n type: 'string',\n },\n target: {\n type: 'string',\n },\n arrow: {\n type: 'boolean',\n },\n },\n};\n\nconst NavigationButtonItemProps = {\n type: 'object',\n additionalProperties: false,\n required: ['type', 'text', 'url'],\n properties: {\n ...ButtonProps,\n type: {...NavigationItemType},\n },\n};\n\nconst NavigationDropdownItemProps = {\n type: 'object',\n additionalProperties: false,\n required: ['type', 'items'],\n properties: {\n ...NavigationItemBaseProps,\n type: {...NavigationItemType},\n items: filteredArray(NavigationLinkItemProps),\n },\n};\n\nconst NavigationItemProps = {\n oneOf: [\n filteredArray(NavigationLinkItemProps),\n filteredArray(NavigationButtonItemProps),\n filteredArray(NavigationDropdownItemProps),\n ],\n};\n\nexport const NavigationHeaderProps = {\n type: 'object',\n additionalProperties: false,\n required: ['leftItems'],\n properties: {\n leftItems: NavigationItemProps,\n rightItems: NavigationItemProps,\n iconSize: {\n type: 'number',\n },\n },\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import omit from
|
|
1
|
+
import omit from "lodash/omit.js";
|
|
2
2
|
import { ImageObjectProps } from "../../components/Image/schema.js";
|
|
3
3
|
import { BaseProps, CardBase, CardLayoutProps, withTheme } from "../../schema/validators/common.js";
|
|
4
4
|
import { AnalyticsEventSchema } from "../../schema/validators/event.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["sub-blocks/BackgroundCard/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["sub-blocks/BackgroundCard/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EAAC,gBAAgB,EAAC,yCAAsC;AAC/D,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAC,0CAAuC;AAC/F,OAAO,EAAC,oBAAoB,EAAC,yCAAsC;AACnE,OAAO,EAAC,WAAW,EAAC,6BAA0B;AAE9C,MAAM,0BAA0B,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAElF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC1B,iBAAiB,EAAE;QACf,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;QAC3B,UAAU,4EACH,SAAS,GACT,QAAQ,GACR,eAAe,GACf,0BAA0B,KAC7B,GAAG,EAAE;gBACD,IAAI,EAAE,QAAQ;aACjB,EACD,QAAQ,EAAE;gBACN,IAAI,EAAE,QAAQ;aACjB,EACD,UAAU,EAAE,SAAS,CAAC,gBAAgB,CAAC,EACvC,eAAe,EAAE;gBACb,IAAI,EAAE,QAAQ;aACjB,EACD,aAAa,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC;aAC9B,EACD,eAAe,EAAE;gBACb,KAAK,EAAE;oDAEI,oBAAoB,KACvB,UAAU,EAAE,QAAQ;oBAExB;wBACI,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,oBAAoB;wBAC3B,UAAU,EAAE,MAAM;qBACrB;iBACJ;aACJ,EACD,eAAe,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;aAC9B,GACJ;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {ImageObjectProps} from '../../components/Image/schema';\nimport {BaseProps, CardBase, CardLayoutProps, withTheme} from '../../schema/validators/common';\nimport {AnalyticsEventSchema} from '../../schema/validators/event';\nimport {ContentBase} from '../Content/schema';\n\nconst BackgroundCardContentProps = omit(ContentBase, ['size', 'controlPosition']);\n\nexport const BackgroundCard = {\n 'background-card': {\n additionalProperties: false,\n required: ['title', 'text'],\n properties: {\n ...BaseProps,\n ...CardBase,\n ...CardLayoutProps,\n ...BackgroundCardContentProps,\n url: {\n type: 'string',\n },\n urlTitle: {\n type: 'string',\n },\n background: withTheme(ImageObjectProps),\n backgroundColor: {\n type: 'string',\n },\n paddingBottom: {\n type: 'string',\n enum: ['s', 'm', 'l', 'xl'],\n },\n analyticsEvents: {\n oneOf: [\n {\n ...AnalyticsEventSchema,\n optionName: 'single',\n },\n {\n type: 'array',\n items: AnalyticsEventSchema,\n optionName: 'list',\n },\n ],\n },\n controlPosition: {\n type: 'string',\n enum: ['content', 'footer'],\n },\n },\n },\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import omit from
|
|
1
|
+
import omit from "lodash/omit.js";
|
|
2
2
|
import { ImageProps } from "../../components/Image/schema.js";
|
|
3
3
|
import { BaseProps, CardBase, CardLayoutProps } from "../../schema/validators/common.js";
|
|
4
4
|
import { ContentBase } from "../Content/schema.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["sub-blocks/BasicCard/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["sub-blocks/BasicCard/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EAAC,UAAU,EAAC,yCAAsC;AACzD,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAC,0CAAuC;AACpF,OAAO,EAAC,WAAW,EAAC,6BAA0B;AAE9C,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAEtF,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,YAAY,EAAE;QACV,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,EAAE;QACZ,UAAU,4EACH,SAAS,GACT,QAAQ,GACR,eAAe,GACf,qBAAqB,KACxB,GAAG,EAAE;gBACD,IAAI,EAAE,QAAQ;aACjB,EACD,QAAQ,EAAE;gBACN,IAAI,EAAE,QAAQ;aACjB,EACD,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC;aAC/C,EACD,YAAY,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;aACxB,EACD,eAAe,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC;aAC9B,GACJ;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {ImageProps} from '../../components/Image/schema';\nimport {BaseProps, CardBase, CardLayoutProps} from '../../schema/validators/common';\nimport {ContentBase} from '../Content/schema';\n\nconst BasicCardContentProps = omit(ContentBase, ['size', 'theme', 'controlPosition']);\n\nexport const BasicCard = {\n 'basic-card': {\n additionalProperties: false,\n required: [],\n properties: {\n ...BaseProps,\n ...CardBase,\n ...CardLayoutProps,\n ...BasicCardContentProps,\n url: {\n type: 'string',\n },\n urlTitle: {\n type: 'string',\n },\n icon: ImageProps,\n target: {\n type: 'string',\n enum: ['_blank', '_parent', '_top', '_self'],\n },\n iconPosition: {\n type: 'string',\n enum: ['top', 'left'],\n },\n controlPosition: {\n type: 'string',\n enum: ['content', 'footer'],\n },\n },\n },\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import omit from
|
|
1
|
+
import omit from "lodash/omit.js";
|
|
2
2
|
import { BaseProps, CardBase, CardLayoutProps } from "../../schema/validators/common.js";
|
|
3
3
|
import { ImageProps } from "../../schema/validators/components.js";
|
|
4
4
|
import { ContentBase } from "../Content/schema.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["sub-blocks/ImageCard/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["sub-blocks/ImageCard/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,uBAAoB;AAE/B,OAAO,EAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAC,0CAAuC;AACpF,OAAO,EAAC,UAAU,EAAC,8CAA2C;AAC9D,OAAO,EAAC,WAAW,EAAC,6BAA0B;AAE9C,MAAM,0BAA0B,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAElG,MAAM,CAAC,MAAM,SAAS,GAAG;IACrB,YAAY,EAAE;QACV,oBAAoB,EAAE,KAAK;QAC3B,QAAQ,EAAE,CAAC,OAAO,CAAC;QACnB,UAAU,4EACH,SAAS,GACT,QAAQ,GACR,eAAe,GACf,0BAA0B,KAC7B,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;aAC9B,EACD,OAAO,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;aACnB,EACD,eAAe,EAAE;gBACb,IAAI,EAAE,QAAQ;aACjB,EACD,GAAG,EAAE;gBACD,IAAI,EAAE,QAAQ;aACjB,EACD,QAAQ,EAAE;gBACN,IAAI,EAAE,QAAQ;aACjB,GACJ;KACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport {BaseProps, CardBase, CardLayoutProps} from '../../schema/validators/common';\nimport {ImageProps} from '../../schema/validators/components';\nimport {ContentBase} from '../Content/schema';\n\nconst ImageCardBlockContentProps = omit(ContentBase, ['centered', 'colSizes', 'controlPosition']);\n\nexport const ImageCard = {\n 'image-card': {\n additionalProperties: false,\n required: ['image'],\n properties: {\n ...BaseProps,\n ...CardBase,\n ...CardLayoutProps,\n ...ImageCardBlockContentProps,\n image: ImageProps,\n direction: {\n type: 'string',\n enum: ['direct', 'reverse'],\n },\n margins: {\n type: 'string',\n enum: ['s', 'm'],\n },\n backgroundColor: {\n type: 'string',\n },\n url: {\n type: 'string',\n },\n urlTitle: {\n type: 'string',\n },\n },\n },\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import omit from
|
|
1
|
+
import omit from "lodash/omit.js";
|
|
2
2
|
import metaInfo from "../../components/MetaInfo/schema.js";
|
|
3
3
|
import { BaseProps, CardLayoutProps, MediaProps } from "../../schema/validators/common.js";
|
|
4
4
|
import { AnalyticsEventSchema } from "../../schema/validators/event.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["sub-blocks/LayoutItem/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"../../../../src","sources":["sub-blocks/LayoutItem/schema.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,uBAAoB;AAE/B,OAAO,QAAQ,4CAAyC;AACxD,OAAO,EAAC,SAAS,EAAE,eAAe,EAAE,UAAU,EAAC,0CAAuC;AACtF,OAAO,EAAC,oBAAoB,EAAC,yCAAsC;AACnE,OAAO,EAAC,WAAW,EAAC,6BAAwC;AAE5D,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC;IAC9B,UAAU,gDACH,SAAS,GACT,eAAe,KAClB,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,EAC3D,aAAa,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;YAChB,OAAO,EAAE,GAAG;SACf,EACD,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE;YACJ,IAAI,EAAE,SAAS;SAClB,EACD,UAAU,EAAE;YACR,IAAI,EAAE,SAAS;SAClB,EACD,eAAe,EAAE;YACb,KAAK,EAAE;gDAEI,oBAAoB,KACvB,UAAU,EAAE,QAAQ;gBAExB;oBACI,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,oBAAoB;oBAC3B,UAAU,EAAE,MAAM;iBACrB;aACJ;SACJ,GACJ;CACJ,CAAC","sourcesContent":["import omit from 'lodash/omit';\n\nimport metaInfo from '../../components/MetaInfo/schema';\nimport {BaseProps, CardLayoutProps, MediaProps} from '../../schema/validators/common';\nimport {AnalyticsEventSchema} from '../../schema/validators/event';\nimport {ContentBase} from '../../sub-blocks/Content/schema';\n\nexport const LayoutItem = {\n type: 'object',\n additionalProperties: false,\n required: ['content', 'media'],\n properties: {\n ...BaseProps,\n ...CardLayoutProps,\n media: MediaProps,\n content: omit(ContentBase, ['colSize', 'size', 'centered']),\n contentMargin: {\n type: 'string',\n enum: ['m', 'l'],\n default: 'm',\n },\n metaInfo: metaInfo,\n border: {\n type: 'boolean',\n },\n fullscreen: {\n type: 'boolean',\n },\n analyticsEvents: {\n oneOf: [\n {\n ...AnalyticsEventSchema,\n optionName: 'single',\n },\n {\n type: 'array',\n items: AnalyticsEventSchema,\n optionName: 'list',\n },\n ],\n },\n },\n};\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import Check from '@gravity-ui/icons
|
|
2
|
+
import { Check } from '@gravity-ui/icons';
|
|
3
3
|
import { BackgroundImage, Buttons, CardBase, ContentList, HTML, Links } from "../../components/index.js";
|
|
4
4
|
import { block } from "../../utils/index.js";
|
|
5
5
|
import './PriceCard.css';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PriceCard.js","sourceRoot":"../../../../src","sources":["sub-blocks/PriceCard/PriceCard.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"PriceCard.js","sourceRoot":"../../../../src","sources":["sub-blocks/PriceCard/PriceCard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAExC,OAAO,EAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAC,kCAAyB;AAE9F,OAAO,EAAC,KAAK,EAAC,6BAAoB;AAElC,OAAO,iBAAiB,CAAC;AAEzB,MAAM,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;AAE9B,MAAM,SAAS,GAAG,CAAC,KAAqB,EAAE,EAAE;IACxC,MAAM,EACF,MAAM,EACN,KAAK,EACL,KAAK,EACL,WAAW,EACX,YAAY,EACZ,KAAK,EACL,WAAW,EACX,IAAI,EACJ,OAAO,EACP,KAAK,EACL,eAAe,GAClB,GAAG,KAAK,CAAC;IACV,OAAO,CACH,KAAC,QAAQ,IAAC,SAAS,EAAE,CAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAE,MAAM,EAAE,MAAM,YAC3C,MAAC,QAAQ,CAAC,OAAO,eACb,KAAC,eAAe,IAAC,SAAS,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,EAAC,eAAe,EAAC,GAAI,EACzE,eAAK,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,KAAK,EAAC,CAAC,aACjC,eAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,aACrB,KAAC,IAAI,IAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,YAAG,KAAK,GAAQ,EAC3C,eAAK,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,aACtB,0BACI,eAAM,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,YAAG,KAAK,GAAQ,EAChD,WAAW,IAAI,CACZ,gBAAM,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,mBAAK,WAAW,IAAQ,CAC7D,IACC,EACL,YAAY,IAAI,CACb,cAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,YAAG,YAAY,GAAO,CAC3D,IACC,EACL,WAAW,IAAI,cAAK,SAAS,EAAE,CAAC,CAAC,aAAa,CAAC,YAAG,WAAW,GAAO,EACpE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAC,CAAC,CAAC,CACZ,cAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,KAAC,WAAW,IACR,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;4CACtB,IAAI,EAAE,KAAK;4CACX,IAAI,EAAE,IAAI;yCACb,CAAC,CAAC,EACH,IAAI,EAAC,GAAG,GACV,GACA,CACT,CAAC,CAAC,CAAC,IAAI,IACN,EACN,KAAC,OAAO,IAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,GAAG,GAAG,EAC/D,KAAC,KAAK,IAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,GAAG,GAAG,IACrD,KA/BY,SAAS,CAgCZ,GACZ,CACd,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import {Check} from '@gravity-ui/icons';\n\nimport {BackgroundImage, Buttons, CardBase, ContentList, HTML, Links} from '../../components';\nimport {PriceCardProps} from '../../models';\nimport {block} from '../../utils';\n\nimport './PriceCard.scss';\n\nconst b = block('price-card');\n\nconst PriceCard = (props: PriceCardProps) => {\n const {\n border,\n title,\n price,\n pricePeriod,\n priceDetails,\n theme,\n description,\n list,\n buttons,\n links,\n backgroundColor,\n } = props;\n return (\n <CardBase className={b({theme})} border={border}>\n <CardBase.Content key=\"content\">\n <BackgroundImage className={b('background')} style={{backgroundColor}} />\n <div className={b('content', {theme})}>\n <div className={b('info')}>\n <HTML className={b('title')}>{title}</HTML>\n <div className={b('price')}>\n <div>\n <span className={b('price-value')}>{price}</span>\n {pricePeriod && (\n <span className={b('price-period')}>/ {pricePeriod}</span>\n )}\n </div>\n {priceDetails && (\n <div className={b('price-details')}>{priceDetails}</div>\n )}\n </div>\n {description && <div className={b('description')}>{description}</div>}\n {list?.length ? (\n <div className={b('list')}>\n <ContentList\n list={list.map((item) => ({\n icon: Check,\n text: item,\n }))}\n size=\"s\"\n />\n </div>\n ) : null}\n </div>\n <Buttons className={b('buttons')} buttons={buttons} size=\"s\" />\n <Links className={b('links')} links={links} size=\"s\" />\n </div>\n </CardBase.Content>\n </CardBase>\n );\n};\n\nexport default PriceCard;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import chunk from
|
|
3
|
+
import chunk from "lodash/chunk.js";
|
|
4
4
|
import { CardBase } from "../../../components/index.js";
|
|
5
5
|
import { BREAKPOINTS } from "../../../constants.js";
|
|
6
6
|
import { Col, Grid, GridColumnSize, Row } from "../../../grid/index.js";
|
package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CombinedPriceDetailed.js","sourceRoot":"../../../../../src","sources":["sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"CombinedPriceDetailed.js","sourceRoot":"../../../../../src","sources":["sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport chunk from 'lodash/chunk';\n\nimport {CardBase} from '../../../components';\nimport {BREAKPOINTS} from '../../../constants';\nimport {Col, Grid, GridColumnSize, Row} from '../../../grid';\nimport {\n AnalyticsEventsBase,\n CardBorder,\n PriceDescriptionProps,\n PriceDetailsListProps,\n PriceDetailsSettingsProps,\n PriceItemProps,\n} from '../../../models';\nimport {block} from '../../../utils';\n\nimport './CombinedPriceDetailed.scss';\n\nconst b = block('combined-price-detailed-block');\n\nconst CombinedPricesGroupSize = {\n [GridColumnSize.Sm]: 1,\n [GridColumnSize.Md]: 2,\n [GridColumnSize.Lg]: 3,\n};\n\ninterface CombinedPriceDetailedProps extends AnalyticsEventsBase {\n items: PriceItemProps[];\n numberGroupItems: number;\n useMixedView?: boolean;\n getDescriptionComponent: (priceDescription: PriceDescriptionProps) => JSX.Element;\n getDetailsComponent: (\n priceDetails?: PriceDetailsSettingsProps[] | PriceDetailsListProps[],\n ) => JSX.Element;\n border?: CardBorder;\n}\n\nconst CombinedPriceDetailed = (props: CombinedPriceDetailedProps) => {\n const {\n items,\n numberGroupItems,\n border,\n useMixedView,\n getDescriptionComponent,\n getDetailsComponent,\n analyticsEvents,\n } = props;\n\n const [groupItemsSize, setGroupItemsSize] = React.useState<number>(numberGroupItems);\n\n const updateGroupItemsSize = React.useCallback(\n (windowWidth: number) => {\n if (windowWidth >= BREAKPOINTS.lg) {\n setGroupItemsSize(numberGroupItems);\n } else if (BREAKPOINTS.lg > windowWidth && windowWidth >= BREAKPOINTS.md) {\n setGroupItemsSize(CombinedPricesGroupSize[GridColumnSize.Lg]);\n } else if (BREAKPOINTS.md > windowWidth && windowWidth >= BREAKPOINTS.sm) {\n setGroupItemsSize(CombinedPricesGroupSize[GridColumnSize.Md]);\n } else {\n setGroupItemsSize(CombinedPricesGroupSize[GridColumnSize.Sm]);\n }\n },\n [numberGroupItems],\n );\n\n React.useEffect(() => {\n function handleResize() {\n updateGroupItemsSize(window.innerWidth);\n }\n\n handleResize();\n\n window.addEventListener('resize', handleResize, {passive: true});\n return () => window.removeEventListener('resize', handleResize);\n }, [updateGroupItemsSize]);\n\n const getPrice = (groupPrices: PriceItemProps[]) => {\n const descriptionComponents: JSX.Element[] = Array(groupItemsSize);\n const detailsComponents: JSX.Element[] = Array(groupItemsSize);\n\n for (let id = 0; id < groupItemsSize; id++) {\n const price = groupPrices[id];\n\n descriptionComponents[id] = (\n <Col key={`card_${id}`}>{price && getDescriptionComponent(price)}</Col>\n );\n detailsComponents[id] = (\n <Col key={`details_${id}`} className={price ? '' : b('empty-column')}>\n {price && getDetailsComponent(price.items)}\n </Col>\n );\n }\n\n return (\n <React.Fragment>\n <div>{descriptionComponents}</div>\n <div className={b('description', {delimiter: useMixedView})}>\n {detailsComponents}\n </div>\n </React.Fragment>\n );\n };\n\n const chunkedItems = chunk(items, groupItemsSize);\n\n return (\n <CardBase className={b()} border={border} analyticsEvents={analyticsEvents}>\n <CardBase.Content>\n <Grid>\n {chunkedItems.map((item: PriceItemProps[], id) => {\n return (\n <Row key={id} className={b('row')}>\n {getPrice(item)}\n </Row>\n );\n })}\n </Grid>\n </CardBase.Content>\n </CardBase>\n );\n};\n\nexport default CombinedPriceDetailed;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import cloneDeep from
|
|
2
|
-
import shuffle from
|
|
1
|
+
import cloneDeep from "lodash/cloneDeep.js";
|
|
2
|
+
import shuffle from "lodash/shuffle.js";
|
|
3
3
|
import { config } from "./config.js";
|
|
4
4
|
import { filterContent } from "./filter.js";
|
|
5
5
|
function transformBlocks(blocks, lang, customConfig = {}, options = {}) {
|