@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.
Files changed (194) hide show
  1. package/build/cjs/blocks/CardLayout/CardLayout.js +1 -1
  2. package/build/cjs/blocks/CardLayout/CardLayout.js.map +1 -1
  3. package/build/cjs/blocks/Form/schema.js +1 -1
  4. package/build/cjs/blocks/Form/schema.js.map +1 -1
  5. package/build/cjs/blocks/HeaderSlider/schema.js +1 -1
  6. package/build/cjs/blocks/HeaderSlider/schema.js.map +1 -1
  7. package/build/cjs/blocks/Info/schema.js +1 -1
  8. package/build/cjs/blocks/Info/schema.js.map +1 -1
  9. package/build/cjs/blocks/Media/schema.js +1 -1
  10. package/build/cjs/blocks/Media/schema.js.map +1 -1
  11. package/build/cjs/blocks/Questions/schema.js +1 -1
  12. package/build/cjs/blocks/Questions/schema.js.map +1 -1
  13. package/build/cjs/blocks/Slider/Slider.js +3 -3
  14. package/build/cjs/blocks/Slider/Slider.js.map +1 -1
  15. package/build/cjs/blocks/Slider/utils.js +1 -1
  16. package/build/cjs/blocks/Slider/utils.js.map +1 -1
  17. package/build/cjs/blocks/SliderNew/Slider.d.ts +1 -1
  18. package/build/cjs/blocks/SliderNew/Slider.js +3 -3
  19. package/build/cjs/blocks/SliderNew/Slider.js.map +1 -1
  20. package/build/cjs/blocks/SliderNew/utils.js +2 -2
  21. package/build/cjs/blocks/SliderNew/utils.js.map +1 -1
  22. package/build/cjs/blocks/Tabs/schema.js +1 -1
  23. package/build/cjs/blocks/Tabs/schema.js.map +1 -1
  24. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js +3 -3
  25. package/build/cjs/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  26. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js +1 -1
  27. package/build/cjs/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  28. package/build/cjs/components/Map/GoogleMap.js +1 -1
  29. package/build/cjs/components/Map/GoogleMap.js.map +1 -1
  30. package/build/cjs/components/Map/YMap/YandexMap.js +1 -1
  31. package/build/cjs/components/Map/YMap/YandexMap.js.map +1 -1
  32. package/build/cjs/components/Media/Image/Image.js +1 -1
  33. package/build/cjs/components/Media/Image/Image.js.map +1 -1
  34. package/build/cjs/components/OutsideClick/OutsideClick.js +1 -1
  35. package/build/cjs/components/OutsideClick/OutsideClick.js.map +1 -1
  36. package/build/cjs/components/OverflowScroller/OverflowScroller.js +1 -1
  37. package/build/cjs/components/OverflowScroller/OverflowScroller.js.map +1 -1
  38. package/build/cjs/components/ReactPlayer/ReactPlayer.js +1 -1
  39. package/build/cjs/components/ReactPlayer/ReactPlayer.js.map +1 -1
  40. package/build/cjs/components/VideoBlock/VideoBlock.js +1 -1
  41. package/build/cjs/components/VideoBlock/VideoBlock.js.map +1 -1
  42. package/build/cjs/containers/PageConstructor/PageConstructor.d.ts +1 -1
  43. package/build/cjs/containers/PageConstructor/PageConstructor.js +1 -1
  44. package/build/cjs/containers/PageConstructor/PageConstructor.js.map +1 -1
  45. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  46. package/build/cjs/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  47. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
  48. package/build/cjs/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  49. package/build/cjs/editor/components/BlockForm/BlockForm.js +2 -2
  50. package/build/cjs/editor/components/BlockForm/BlockForm.js.map +1 -1
  51. package/build/cjs/editor/components/CodeEditor/CodeEditor.js +1 -1
  52. package/build/cjs/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  53. package/build/cjs/editor/components/PageSettings/PageSettings.js +1 -1
  54. package/build/cjs/editor/components/PageSettings/PageSettings.js.map +1 -1
  55. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +1 -1
  56. package/build/cjs/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  57. package/build/cjs/editor/dynamic-forms-custom/config.js +1 -1
  58. package/build/cjs/editor/dynamic-forms-custom/config.js.map +1 -1
  59. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js +2 -2
  60. package/build/cjs/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  61. package/build/cjs/editor/store/main/utils.js +1 -1
  62. package/build/cjs/editor/store/main/utils.js.map +1 -1
  63. package/build/cjs/editor/utils/index.js +1 -1
  64. package/build/cjs/editor/utils/index.js.map +1 -1
  65. package/build/cjs/editor/utils/validation.js +1 -1
  66. package/build/cjs/editor/utils/validation.js.map +1 -1
  67. package/build/cjs/hooks/useFocus.js +1 -1
  68. package/build/cjs/hooks/useFocus.js.map +1 -1
  69. package/build/cjs/hooks/useHeightCalculator.js +1 -1
  70. package/build/cjs/hooks/useHeightCalculator.js.map +1 -1
  71. package/build/cjs/hooks/useWindowBreakpoint.js +1 -1
  72. package/build/cjs/hooks/useWindowBreakpoint.js.map +1 -1
  73. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js +1 -1
  74. package/build/cjs/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  75. package/build/cjs/navigation/components/NavigationItem/hooks/useNavigationItemMap.js +1 -1
  76. package/build/cjs/navigation/components/NavigationItem/hooks/useNavigationItemMap.js.map +1 -1
  77. package/build/cjs/navigation/hooks/useShowBorder.js +1 -1
  78. package/build/cjs/navigation/hooks/useShowBorder.js.map +1 -1
  79. package/build/cjs/navigation/schema.js +1 -1
  80. package/build/cjs/navigation/schema.js.map +1 -1
  81. package/build/cjs/sub-blocks/BackgroundCard/schema.js +1 -1
  82. package/build/cjs/sub-blocks/BackgroundCard/schema.js.map +1 -1
  83. package/build/cjs/sub-blocks/BasicCard/schema.js +1 -1
  84. package/build/cjs/sub-blocks/BasicCard/schema.js.map +1 -1
  85. package/build/cjs/sub-blocks/ImageCard/schema.js +1 -1
  86. package/build/cjs/sub-blocks/ImageCard/schema.js.map +1 -1
  87. package/build/cjs/sub-blocks/LayoutItem/schema.js +1 -1
  88. package/build/cjs/sub-blocks/LayoutItem/schema.js.map +1 -1
  89. package/build/cjs/sub-blocks/PriceCard/PriceCard.js +2 -3
  90. package/build/cjs/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  91. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +1 -1
  92. package/build/cjs/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map +1 -1
  93. package/build/cjs/text-transform/transformers.js +2 -2
  94. package/build/cjs/text-transform/transformers.js.map +1 -1
  95. package/build/cjs/utils/blocks.js +2 -2
  96. package/build/cjs/utils/blocks.js.map +1 -1
  97. package/build/esm/blocks/CardLayout/CardLayout.js +1 -1
  98. package/build/esm/blocks/CardLayout/CardLayout.js.map +1 -1
  99. package/build/esm/blocks/Form/schema.js +1 -1
  100. package/build/esm/blocks/Form/schema.js.map +1 -1
  101. package/build/esm/blocks/HeaderSlider/schema.js +1 -1
  102. package/build/esm/blocks/HeaderSlider/schema.js.map +1 -1
  103. package/build/esm/blocks/Info/schema.js +1 -1
  104. package/build/esm/blocks/Info/schema.js.map +1 -1
  105. package/build/esm/blocks/Media/schema.js +1 -1
  106. package/build/esm/blocks/Media/schema.js.map +1 -1
  107. package/build/esm/blocks/Questions/schema.js +1 -1
  108. package/build/esm/blocks/Questions/schema.js.map +1 -1
  109. package/build/esm/blocks/Slider/Slider.js +3 -3
  110. package/build/esm/blocks/Slider/Slider.js.map +1 -1
  111. package/build/esm/blocks/Slider/utils.js +1 -1
  112. package/build/esm/blocks/Slider/utils.js.map +1 -1
  113. package/build/esm/blocks/SliderNew/Slider.d.ts +1 -1
  114. package/build/esm/blocks/SliderNew/Slider.js +1 -1
  115. package/build/esm/blocks/SliderNew/Slider.js.map +1 -1
  116. package/build/esm/blocks/SliderNew/utils.js +2 -2
  117. package/build/esm/blocks/SliderNew/utils.js.map +1 -1
  118. package/build/esm/blocks/Tabs/schema.js +1 -1
  119. package/build/esm/blocks/Tabs/schema.js.map +1 -1
  120. package/build/esm/components/BalancedMasonry/BalancedMasonry.js +3 -3
  121. package/build/esm/components/BalancedMasonry/BalancedMasonry.js.map +1 -1
  122. package/build/esm/components/FullWidthBackground/FullWidthBackground.js +1 -1
  123. package/build/esm/components/FullWidthBackground/FullWidthBackground.js.map +1 -1
  124. package/build/esm/components/Map/GoogleMap.js +1 -1
  125. package/build/esm/components/Map/GoogleMap.js.map +1 -1
  126. package/build/esm/components/Map/YMap/YandexMap.js +1 -1
  127. package/build/esm/components/Map/YMap/YandexMap.js.map +1 -1
  128. package/build/esm/components/Media/Image/Image.js +1 -1
  129. package/build/esm/components/Media/Image/Image.js.map +1 -1
  130. package/build/esm/components/OutsideClick/OutsideClick.js +1 -1
  131. package/build/esm/components/OutsideClick/OutsideClick.js.map +1 -1
  132. package/build/esm/components/OverflowScroller/OverflowScroller.js +1 -1
  133. package/build/esm/components/OverflowScroller/OverflowScroller.js.map +1 -1
  134. package/build/esm/components/ReactPlayer/ReactPlayer.js +1 -1
  135. package/build/esm/components/ReactPlayer/ReactPlayer.js.map +1 -1
  136. package/build/esm/components/VideoBlock/VideoBlock.js +1 -1
  137. package/build/esm/components/VideoBlock/VideoBlock.js.map +1 -1
  138. package/build/esm/containers/PageConstructor/PageConstructor.d.ts +1 -1
  139. package/build/esm/containers/PageConstructor/PageConstructor.js +1 -1
  140. package/build/esm/containers/PageConstructor/PageConstructor.js.map +1 -1
  141. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js +1 -1
  142. package/build/esm/containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.js.map +1 -1
  143. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js +1 -1
  144. package/build/esm/containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.js.map +1 -1
  145. package/build/esm/editor/components/BlockForm/BlockForm.js +2 -2
  146. package/build/esm/editor/components/BlockForm/BlockForm.js.map +1 -1
  147. package/build/esm/editor/components/CodeEditor/CodeEditor.js +1 -1
  148. package/build/esm/editor/components/CodeEditor/CodeEditor.js.map +1 -1
  149. package/build/esm/editor/components/PageSettings/PageSettings.js +1 -1
  150. package/build/esm/editor/components/PageSettings/PageSettings.js.map +1 -1
  151. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js +1 -1
  152. package/build/esm/editor/dynamic-forms-custom/components/OneOfCustom/OneOfCustom.js.map +1 -1
  153. package/build/esm/editor/dynamic-forms-custom/config.js +1 -1
  154. package/build/esm/editor/dynamic-forms-custom/config.js.map +1 -1
  155. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js +2 -2
  156. package/build/esm/editor/dynamic-forms-custom/hooks/useOneOf.js.map +1 -1
  157. package/build/esm/editor/store/main/utils.js +1 -1
  158. package/build/esm/editor/store/main/utils.js.map +1 -1
  159. package/build/esm/editor/utils/index.js +1 -1
  160. package/build/esm/editor/utils/index.js.map +1 -1
  161. package/build/esm/editor/utils/validation.js +1 -1
  162. package/build/esm/editor/utils/validation.js.map +1 -1
  163. package/build/esm/hooks/useFocus.js +1 -1
  164. package/build/esm/hooks/useFocus.js.map +1 -1
  165. package/build/esm/hooks/useHeightCalculator.js +1 -1
  166. package/build/esm/hooks/useHeightCalculator.js.map +1 -1
  167. package/build/esm/hooks/useWindowBreakpoint.js +1 -1
  168. package/build/esm/hooks/useWindowBreakpoint.js.map +1 -1
  169. package/build/esm/navigation/components/NavigationItem/NavigationItem.js +1 -1
  170. package/build/esm/navigation/components/NavigationItem/NavigationItem.js.map +1 -1
  171. package/build/esm/navigation/components/NavigationItem/hooks/useNavigationItemMap.js +1 -1
  172. package/build/esm/navigation/components/NavigationItem/hooks/useNavigationItemMap.js.map +1 -1
  173. package/build/esm/navigation/hooks/useShowBorder.js +1 -1
  174. package/build/esm/navigation/hooks/useShowBorder.js.map +1 -1
  175. package/build/esm/navigation/schema.js +1 -1
  176. package/build/esm/navigation/schema.js.map +1 -1
  177. package/build/esm/sub-blocks/BackgroundCard/schema.js +1 -1
  178. package/build/esm/sub-blocks/BackgroundCard/schema.js.map +1 -1
  179. package/build/esm/sub-blocks/BasicCard/schema.js +1 -1
  180. package/build/esm/sub-blocks/BasicCard/schema.js.map +1 -1
  181. package/build/esm/sub-blocks/ImageCard/schema.js +1 -1
  182. package/build/esm/sub-blocks/ImageCard/schema.js.map +1 -1
  183. package/build/esm/sub-blocks/LayoutItem/schema.js +1 -1
  184. package/build/esm/sub-blocks/LayoutItem/schema.js.map +1 -1
  185. package/build/esm/sub-blocks/PriceCard/PriceCard.js +1 -1
  186. package/build/esm/sub-blocks/PriceCard/PriceCard.js.map +1 -1
  187. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js +1 -1
  188. package/build/esm/sub-blocks/PriceDetailed/CombinedPriceDetailed/CombinedPriceDetailed.js.map +1 -1
  189. package/build/esm/text-transform/transformers.js +2 -2
  190. package/build/esm/text-transform/transformers.js.map +1 -1
  191. package/build/esm/utils/blocks.js +2 -2
  192. package/build/esm/utils/blocks.js.map +1 -1
  193. package/package.json +5 -5
  194. package/widget/2957.index.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PageConstructor.js","sourceRoot":"../../../../src","sources":["containers/PageConstructor/PageConstructor.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport '@diplodoc/transform/dist/js/yfm';\n\nimport BackgroundMedia from '../../components/BackgroundMedia/BackgroundMedia';\nimport BrandFooter from '../../components/BrandFooter/BrandFooter';\nimport RootCn from '../../components/RootCn';\nimport {blockMap, navItemMap, subBlockMap} from '../../constructor-items';\nimport {AnimateContext} from '../../context/animateContext';\nimport {InnerContext} from '../../context/innerContext';\nimport {ProjectSettingsContext} from '../../context/projectSettingsContext';\nimport {useTheme} from '../../context/theme';\nimport {Grid} from '../../grid';\nimport {\n BlockType,\n BlockTypes,\n CustomConfig,\n CustomItems,\n HeaderBlockTypes,\n NavigationData,\n NavigationItemTypes,\n PageContent,\n ShouldRenderBlock,\n SubBlockTypes,\n} from '../../models';\nimport Layout from '../../navigation/containers/Layout/Layout';\nimport {\n block as cnBlock,\n getCustomItems,\n getCustomTypes,\n getHeaderBlock,\n getOrderedBlocks,\n getThemedValue,\n} from '../../utils';\n\nimport {ConstructorBlocks} from './components/ConstructorBlocks';\nimport {ConstructorHeader} from './components/ConstructorItem';\nimport {ConstructorRow} from './components/ConstructorRow';\n\nimport './PageConstructor.scss';\n\nconst b = cnBlock('page-constructor');\n\nexport type ItemMap = typeof blockMap & typeof subBlockMap & CustomItems;\n\nexport type NavItemMap = typeof navItemMap & CustomItems;\n\nexport interface PageConstructorProps {\n content?: PageContent;\n shouldRenderBlock?: ShouldRenderBlock;\n custom?: CustomConfig;\n renderMenu?: () => React.ReactNode;\n navigation?: NavigationData;\n isBranded?: boolean;\n microdata?: {\n contentUpdatedDate?: string;\n };\n}\n\nexport const Constructor = (props: PageConstructorProps) => {\n const {\n content: {blocks = [], background} = {},\n renderMenu,\n shouldRenderBlock,\n navigation,\n custom,\n isBranded,\n microdata,\n } = props;\n\n const {context} = React.useMemo(\n () => ({\n context: {\n blockTypes: [...BlockTypes, ...getCustomTypes(['blocks', 'headers'], custom)],\n subBlockTypes: [...SubBlockTypes, ...getCustomTypes(['subBlocks'], custom)],\n headerBlockTypes: [...HeaderBlockTypes, ...getCustomTypes(['headers'], custom)],\n navigationBlockTypes: [\n ...NavigationItemTypes,\n ...getCustomTypes(['navigation'], custom),\n ],\n itemMap: {\n ...blockMap,\n ...subBlockMap,\n ...getCustomItems(['blocks', 'headers', 'subBlocks'], custom),\n },\n navItemMap: {\n ...navItemMap,\n ...getCustomItems(['navigation'], custom),\n },\n loadables: custom?.loadable,\n shouldRenderBlock,\n customization: {\n decorators: custom?.decorators,\n },\n microdata,\n },\n }),\n [custom, shouldRenderBlock, microdata],\n );\n\n const theme = useTheme();\n\n const header = getHeaderBlock(blocks, context.headerBlockTypes);\n const restBlocks = getOrderedBlocks(blocks, context.headerBlockTypes);\n const themedBackground = getThemedValue(background, theme);\n\n return (\n <InnerContext.Provider value={context}>\n <RootCn className={b()}>\n <div className={b('wrapper')}>\n {themedBackground && (\n <BackgroundMedia {...themedBackground} className={b('background')} />\n )}\n <Layout navigation={navigation}>\n {renderMenu && renderMenu()}\n {header && (\n <ConstructorHeader data={header} blockKey={BlockType.HeaderBlock} />\n )}\n <Grid>\n {restBlocks && (\n <ConstructorRow>\n <ConstructorBlocks items={restBlocks} />\n </ConstructorRow>\n )}\n </Grid>\n </Layout>\n {isBranded && <BrandFooter />}\n </div>\n </RootCn>\n </InnerContext.Provider>\n );\n};\n\nexport const PageConstructor = (props: PageConstructorProps) => {\n const {isAnimationEnabled = true} = React.useContext(ProjectSettingsContext);\n const {content: {animated = isAnimationEnabled} = {}, ...rest} = props;\n\n return (\n <AnimateContext.Provider value={{animated}}>\n <Constructor content={props.content} {...rest} />\n </AnimateContext.Provider>\n );\n};\n"]}
1
+ {"version":3,"file":"PageConstructor.js","sourceRoot":"../../../../src","sources":["containers/PageConstructor/PageConstructor.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react';\n\nimport '@diplodoc/transform/dist/js/yfm.js';\n\nimport BackgroundMedia from '../../components/BackgroundMedia/BackgroundMedia';\nimport BrandFooter from '../../components/BrandFooter/BrandFooter';\nimport RootCn from '../../components/RootCn';\nimport {blockMap, navItemMap, subBlockMap} from '../../constructor-items';\nimport {AnimateContext} from '../../context/animateContext';\nimport {InnerContext} from '../../context/innerContext';\nimport {ProjectSettingsContext} from '../../context/projectSettingsContext';\nimport {useTheme} from '../../context/theme';\nimport {Grid} from '../../grid';\nimport {\n BlockType,\n BlockTypes,\n CustomConfig,\n CustomItems,\n HeaderBlockTypes,\n NavigationData,\n NavigationItemTypes,\n PageContent,\n ShouldRenderBlock,\n SubBlockTypes,\n} from '../../models';\nimport Layout from '../../navigation/containers/Layout/Layout';\nimport {\n block as cnBlock,\n getCustomItems,\n getCustomTypes,\n getHeaderBlock,\n getOrderedBlocks,\n getThemedValue,\n} from '../../utils';\n\nimport {ConstructorBlocks} from './components/ConstructorBlocks';\nimport {ConstructorHeader} from './components/ConstructorItem';\nimport {ConstructorRow} from './components/ConstructorRow';\n\nimport './PageConstructor.scss';\n\nconst b = cnBlock('page-constructor');\n\nexport type ItemMap = typeof blockMap & typeof subBlockMap & CustomItems;\n\nexport type NavItemMap = typeof navItemMap & CustomItems;\n\nexport interface PageConstructorProps {\n content?: PageContent;\n shouldRenderBlock?: ShouldRenderBlock;\n custom?: CustomConfig;\n renderMenu?: () => React.ReactNode;\n navigation?: NavigationData;\n isBranded?: boolean;\n microdata?: {\n contentUpdatedDate?: string;\n };\n}\n\nexport const Constructor = (props: PageConstructorProps) => {\n const {\n content: {blocks = [], background} = {},\n renderMenu,\n shouldRenderBlock,\n navigation,\n custom,\n isBranded,\n microdata,\n } = props;\n\n const {context} = React.useMemo(\n () => ({\n context: {\n blockTypes: [...BlockTypes, ...getCustomTypes(['blocks', 'headers'], custom)],\n subBlockTypes: [...SubBlockTypes, ...getCustomTypes(['subBlocks'], custom)],\n headerBlockTypes: [...HeaderBlockTypes, ...getCustomTypes(['headers'], custom)],\n navigationBlockTypes: [\n ...NavigationItemTypes,\n ...getCustomTypes(['navigation'], custom),\n ],\n itemMap: {\n ...blockMap,\n ...subBlockMap,\n ...getCustomItems(['blocks', 'headers', 'subBlocks'], custom),\n },\n navItemMap: {\n ...navItemMap,\n ...getCustomItems(['navigation'], custom),\n },\n loadables: custom?.loadable,\n shouldRenderBlock,\n customization: {\n decorators: custom?.decorators,\n },\n microdata,\n },\n }),\n [custom, shouldRenderBlock, microdata],\n );\n\n const theme = useTheme();\n\n const header = getHeaderBlock(blocks, context.headerBlockTypes);\n const restBlocks = getOrderedBlocks(blocks, context.headerBlockTypes);\n const themedBackground = getThemedValue(background, theme);\n\n return (\n <InnerContext.Provider value={context}>\n <RootCn className={b()}>\n <div className={b('wrapper')}>\n {themedBackground && (\n <BackgroundMedia {...themedBackground} className={b('background')} />\n )}\n <Layout navigation={navigation}>\n {renderMenu && renderMenu()}\n {header && (\n <ConstructorHeader data={header} blockKey={BlockType.HeaderBlock} />\n )}\n <Grid>\n {restBlocks && (\n <ConstructorRow>\n <ConstructorBlocks items={restBlocks} />\n </ConstructorRow>\n )}\n </Grid>\n </Layout>\n {isBranded && <BrandFooter />}\n </div>\n </RootCn>\n </InnerContext.Provider>\n );\n};\n\nexport const PageConstructor = (props: PageConstructorProps) => {\n const {isAnimationEnabled = true} = React.useContext(ProjectSettingsContext);\n const {content: {animated = isAnimationEnabled} = {}, ...rest} = props;\n\n return (\n <AnimateContext.Provider value={{animated}}>\n <Constructor content={props.content} {...rest} />\n </AnimateContext.Provider>\n );\n};\n"]}
@@ -4,7 +4,7 @@ exports.ConstructorBlock = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
- const pick_1 = tslib_1.__importDefault(require("lodash/pick"));
7
+ const pick_1 = tslib_1.__importDefault(require("lodash/pick.js"));
8
8
  const BlockBase_1 = tslib_1.__importDefault(require("../../../../components/BlockBase/BlockBase.js"));
9
9
  const BlockDecoration_1 = require("../../../../customization/BlockDecoration.js");
10
10
  const utils_1 = require("../../../../utils/index.js");
@@ -1 +1 @@
1
- {"version":3,"file":"ConstructorBlock.js","sourceRoot":"../../../../../../src","sources":["containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,+DAA+B;AAE/B,sGAAmE;AACnE,kFAA0E;AAE1E,sDAAwC;AAQxC,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,mBAAmB,CAAC,CAAC;AAE9B,MAAM,gBAAgB,GAAG,CAAC,EAC7B,KAAK,GAAG,CAAC,EACT,IAAI,EACJ,QAAQ,GACqC,EAAE,EAAE;IACjD,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC;IACpB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,IAAA,cAAI,EAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,EAClE,CAAC,IAAI,CAAC,CACT,CAAC;IAEF,OAAO,CACH,uBAAC,iCAAe,kBAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAM,cAAc,cACzD,uBAAC,mBAAS,kBAAC,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,IAAM,cAAc,cAC9C,QAAQ,IACD,IACE,CACrB,CAAC;AACN,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B","sourcesContent":["import * as React from 'react';\n\nimport pick from 'lodash/pick';\n\nimport BlockBase from '../../../../components/BlockBase/BlockBase';\nimport {BlockDecoration} from '../../../../customization/BlockDecoration';\nimport {BlockDecorationProps, ConstructorBlock as ConstructorBlockType} from '../../../../models';\nimport {block} from '../../../../utils';\n\nimport './ConstructorBlock.scss';\n\ninterface ConstructorBlockProps extends Pick<BlockDecorationProps, 'index'> {\n data: ConstructorBlockType;\n}\n\nconst b = block('constructor-block');\n\nexport const ConstructorBlock = ({\n index = 0,\n data,\n children,\n}: React.PropsWithChildren<ConstructorBlockProps>) => {\n const {type} = data;\n const blockBaseProps = React.useMemo(\n () => pick(data, ['anchor', 'visible', 'resetPaddings', 'indent']),\n [data],\n );\n\n return (\n <BlockDecoration type={type} index={index} {...blockBaseProps}>\n <BlockBase className={b({type})} {...blockBaseProps}>\n {children}\n </BlockBase>\n </BlockDecoration>\n );\n};\n"]}
1
+ {"version":3,"file":"ConstructorBlock.js","sourceRoot":"../../../../../../src","sources":["containers/PageConstructor/components/ConstructorBlock/ConstructorBlock.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,kEAA+B;AAE/B,sGAAmE;AACnE,kFAA0E;AAE1E,sDAAwC;AAQxC,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,mBAAmB,CAAC,CAAC;AAE9B,MAAM,gBAAgB,GAAG,CAAC,EAC7B,KAAK,GAAG,CAAC,EACT,IAAI,EACJ,QAAQ,GACqC,EAAE,EAAE;IACjD,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC;IACpB,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,IAAA,cAAI,EAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC,EAClE,CAAC,IAAI,CAAC,CACT,CAAC;IAEF,OAAO,CACH,uBAAC,iCAAe,kBAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,IAAM,cAAc,cACzD,uBAAC,mBAAS,kBAAC,SAAS,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAC,IAAM,cAAc,cAC9C,QAAQ,IACD,IACE,CACrB,CAAC;AACN,CAAC,CAAC;AAlBW,QAAA,gBAAgB,oBAkB3B","sourcesContent":["import * as React from 'react';\n\nimport pick from 'lodash/pick';\n\nimport BlockBase from '../../../../components/BlockBase/BlockBase';\nimport {BlockDecoration} from '../../../../customization/BlockDecoration';\nimport {BlockDecorationProps, ConstructorBlock as ConstructorBlockType} from '../../../../models';\nimport {block} from '../../../../utils';\n\nimport './ConstructorBlock.scss';\n\ninterface ConstructorBlockProps extends Pick<BlockDecorationProps, 'index'> {\n data: ConstructorBlockType;\n}\n\nconst b = block('constructor-block');\n\nexport const ConstructorBlock = ({\n index = 0,\n data,\n children,\n}: React.PropsWithChildren<ConstructorBlockProps>) => {\n const {type} = data;\n const blockBaseProps = React.useMemo(\n () => pick(data, ['anchor', 'visible', 'resetPaddings', 'indent']),\n [data],\n );\n\n return (\n <BlockDecoration type={type} index={index} {...blockBaseProps}>\n <BlockBase className={b({type})} {...blockBaseProps}>\n {children}\n </BlockBase>\n </BlockDecoration>\n );\n};\n"]}
@@ -4,7 +4,7 @@ exports.ConstructorBlocks = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
- const get_1 = tslib_1.__importDefault(require("lodash/get"));
7
+ const get_1 = tslib_1.__importDefault(require("lodash/get.js"));
8
8
  const innerContext_1 = require("../../../../context/innerContext/index.js");
9
9
  const BlockDecoration_1 = require("../../../../customization/BlockDecoration.js");
10
10
  const utils_1 = require("../../../../utils/index.js");
@@ -1 +1 @@
1
- {"version":3,"file":"ConstructorBlocks.js","sourceRoot":"../../../../../../src","sources":["containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,6DAA6B;AAE7B,4EAA8D;AAC9D,kFAA0E;AAO1E,sDAA8C;AAC9C,8EAAsE;AACtE,iEAAmD;AACnD,yEAA2D;AAMpD,MAAM,iBAAiB,GAAqC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;IAC3E,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,2BAAY,CAAC,CAAC;IAE3F,MAAM,QAAQ,GAAG,CACb,QAAQ,GAAG,EAAE,EACb,IAA0B,EAC1B,KAAa,EACY,EAAE;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACrB,uBAAC,iCAAe,IAAC,IAAI,EAAE,IAAI,CAAC,IAAiB,EAAE,KAAK,EAAE,KAAK,YACtD,IAAI,GACS,CACrB,CAAC;QACN,CAAC;QAED,IAAI,WAAW,CAAC;QAChB,MAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACtD,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,QAAyB,CAAC;YACnE,MAAM,MAAM,GAAG,IAAA,aAAG,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,WAAW,GAAG,CACV,uBAAC,yCAAmB,IAChB,KAAK,EAAE,IAAI,EAEX,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,IAJT,OAAO,CAKd,CACL,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,QAAQ,CAAC;YACb,IAAI,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtC,QAAQ,GAAI,IAAI,CAAC,QAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,CAAC;YAED,WAAW,GAAG,CACV,uBAAC,iCAAe,IAAC,IAAI,EAAE,IAAI,EAAgB,QAAQ,EAAE,OAAO,YACvD,QAAQ,IADqB,OAAO,CAEvB,CACrB,CAAC;QACN,CAAC;QAED,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,wEAAwE;QACxE,uGAAuG;QACvG,uBAAC,mCAAgB,IAAC,IAAI,EAAE,IAAI,EAAgB,KAAK,EAAE,KAAK,YACnD,WAAW,IADmB,OAAO,CAEvB,CACtB,CAAC,CAAC,CAAC,CACA,WAAW,CACd,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,uBAAC,KAAK,CAAC,QAAQ,cAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAkB,CAAC;AACjF,CAAC,CAAC;AAlEW,QAAA,iBAAiB,qBAkE5B","sourcesContent":["import * as React from 'react';\n\nimport get from 'lodash/get';\n\nimport {InnerContext} from '../../../../context/innerContext';\nimport {BlockDecoration} from '../../../../customization/BlockDecoration';\nimport {\n BlockType,\n ConstructorBlock as ConstructorBlockType,\n LoadableProps,\n SubBlock,\n} from '../../../../models';\nimport {getBlockKey} from '../../../../utils';\nimport {ConstructorBlock} from '../ConstructorBlock/ConstructorBlock';\nimport {ConstructorItem} from '../ConstructorItem';\nimport {ConstructorLoadable} from '../ConstructorLoadable';\n\nexport interface ConstructorBlocksProps {\n items: ConstructorBlockType[];\n}\n\nexport const ConstructorBlocks: React.FC<ConstructorBlocksProps> = ({items}) => {\n const {blockTypes, loadables, itemMap, shouldRenderBlock} = React.useContext(InnerContext);\n\n const renderer = (\n parentId = '',\n item: ConstructorBlockType,\n index: number,\n ): React.ReactElement | null => {\n if (!itemMap[item.type]) {\n return parentId ? null : (\n <BlockDecoration type={item.type as BlockType} index={index}>\n {null}\n </BlockDecoration>\n );\n }\n\n let itemElement;\n const key = getBlockKey(item, index);\n const blockId = parentId ? `${parentId}_${key}` : key;\n if (shouldRenderBlock && !shouldRenderBlock(item, blockId)) {\n return null;\n }\n\n if ('loadable' in item && item.loadable) {\n const {source, serviceId, params} = item.loadable as LoadableProps;\n const config = get(loadables, source);\n\n if (!config) {\n return null;\n }\n\n itemElement = (\n <ConstructorLoadable\n block={item}\n key={blockId}\n blockKey={blockId}\n config={config}\n serviceId={serviceId}\n params={params}\n />\n );\n } else {\n let children;\n if ('children' in item && item.children) {\n children = (item.children as SubBlock[]).map(renderer.bind(null, blockId));\n }\n\n itemElement = (\n <ConstructorItem data={item} key={blockId} blockKey={blockId}>\n {children}\n </ConstructorItem>\n );\n }\n\n return blockTypes.includes(item.type) ? (\n //TODO: replace ConstructorBlock (and delete it) with BlockBase when all\n // components relying on constructor inner structure like Slider or blog-constructor will be refactored\n <ConstructorBlock data={item} key={blockId} index={index}>\n {itemElement}\n </ConstructorBlock>\n ) : (\n itemElement\n );\n };\n\n return <React.Fragment>{items.map(renderer.bind(null, ''))}</React.Fragment>;\n};\n"]}
1
+ {"version":3,"file":"ConstructorBlocks.js","sourceRoot":"../../../../../../src","sources":["containers/PageConstructor/components/ConstructorBlocks/ConstructorBlocks.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,gEAA6B;AAE7B,4EAA8D;AAC9D,kFAA0E;AAO1E,sDAA8C;AAC9C,8EAAsE;AACtE,iEAAmD;AACnD,yEAA2D;AAMpD,MAAM,iBAAiB,GAAqC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;IAC3E,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,2BAAY,CAAC,CAAC;IAE3F,MAAM,QAAQ,GAAG,CACb,QAAQ,GAAG,EAAE,EACb,IAA0B,EAC1B,KAAa,EACY,EAAE;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACrB,uBAAC,iCAAe,IAAC,IAAI,EAAE,IAAI,CAAC,IAAiB,EAAE,KAAK,EAAE,KAAK,YACtD,IAAI,GACS,CACrB,CAAC;QACN,CAAC;QAED,IAAI,WAAW,CAAC;QAChB,MAAM,GAAG,GAAG,IAAA,mBAAW,EAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QACtD,IAAI,iBAAiB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,EAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAC,GAAG,IAAI,CAAC,QAAyB,CAAC;YACnE,MAAM,MAAM,GAAG,IAAA,aAAG,EAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAEtC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,WAAW,GAAG,CACV,uBAAC,yCAAmB,IAChB,KAAK,EAAE,IAAI,EAEX,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,IAJT,OAAO,CAKd,CACL,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,QAAQ,CAAC;YACb,IAAI,UAAU,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtC,QAAQ,GAAI,IAAI,CAAC,QAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YAC/E,CAAC;YAED,WAAW,GAAG,CACV,uBAAC,iCAAe,IAAC,IAAI,EAAE,IAAI,EAAgB,QAAQ,EAAE,OAAO,YACvD,QAAQ,IADqB,OAAO,CAEvB,CACrB,CAAC;QACN,CAAC;QAED,OAAO,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,wEAAwE;QACxE,uGAAuG;QACvG,uBAAC,mCAAgB,IAAC,IAAI,EAAE,IAAI,EAAgB,KAAK,EAAE,KAAK,YACnD,WAAW,IADmB,OAAO,CAEvB,CACtB,CAAC,CAAC,CAAC,CACA,WAAW,CACd,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,uBAAC,KAAK,CAAC,QAAQ,cAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAkB,CAAC;AACjF,CAAC,CAAC;AAlEW,QAAA,iBAAiB,qBAkE5B","sourcesContent":["import * as React from 'react';\n\nimport get from 'lodash/get';\n\nimport {InnerContext} from '../../../../context/innerContext';\nimport {BlockDecoration} from '../../../../customization/BlockDecoration';\nimport {\n BlockType,\n ConstructorBlock as ConstructorBlockType,\n LoadableProps,\n SubBlock,\n} from '../../../../models';\nimport {getBlockKey} from '../../../../utils';\nimport {ConstructorBlock} from '../ConstructorBlock/ConstructorBlock';\nimport {ConstructorItem} from '../ConstructorItem';\nimport {ConstructorLoadable} from '../ConstructorLoadable';\n\nexport interface ConstructorBlocksProps {\n items: ConstructorBlockType[];\n}\n\nexport const ConstructorBlocks: React.FC<ConstructorBlocksProps> = ({items}) => {\n const {blockTypes, loadables, itemMap, shouldRenderBlock} = React.useContext(InnerContext);\n\n const renderer = (\n parentId = '',\n item: ConstructorBlockType,\n index: number,\n ): React.ReactElement | null => {\n if (!itemMap[item.type]) {\n return parentId ? null : (\n <BlockDecoration type={item.type as BlockType} index={index}>\n {null}\n </BlockDecoration>\n );\n }\n\n let itemElement;\n const key = getBlockKey(item, index);\n const blockId = parentId ? `${parentId}_${key}` : key;\n if (shouldRenderBlock && !shouldRenderBlock(item, blockId)) {\n return null;\n }\n\n if ('loadable' in item && item.loadable) {\n const {source, serviceId, params} = item.loadable as LoadableProps;\n const config = get(loadables, source);\n\n if (!config) {\n return null;\n }\n\n itemElement = (\n <ConstructorLoadable\n block={item}\n key={blockId}\n blockKey={blockId}\n config={config}\n serviceId={serviceId}\n params={params}\n />\n );\n } else {\n let children;\n if ('children' in item && item.children) {\n children = (item.children as SubBlock[]).map(renderer.bind(null, blockId));\n }\n\n itemElement = (\n <ConstructorItem data={item} key={blockId} blockKey={blockId}>\n {children}\n </ConstructorItem>\n );\n }\n\n return blockTypes.includes(item.type) ? (\n //TODO: replace ConstructorBlock (and delete it) with BlockBase when all\n // components relying on constructor inner structure like Slider or blog-constructor will be refactored\n <ConstructorBlock data={item} key={blockId} index={index}>\n {itemElement}\n </ConstructorBlock>\n ) : (\n itemElement\n );\n };\n\n return <React.Fragment>{items.map(renderer.bind(null, ''))}</React.Fragment>;\n};\n"]}
@@ -5,8 +5,8 @@ const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
7
  const dynamic_forms_1 = require("@gravity-ui/dynamic-forms");
8
- const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
9
- const noop_1 = tslib_1.__importDefault(require("lodash/noop"));
8
+ const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual.js"));
9
+ const noop_1 = tslib_1.__importDefault(require("lodash/noop.js"));
10
10
  const react_final_form_1 = require("react-final-form");
11
11
  const config_1 = require("../../dynamic-forms-custom/config.js");
12
12
  const usePreviousValue_1 = tslib_1.__importDefault(require("../../hooks/usePreviousValue.js"));
@@ -1 +1 @@
1
- {"version":3,"file":"BlockForm.js","sourceRoot":"../../../../../src","sources":["editor/components/BlockForm/BlockForm.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,6DAAsF;AACtF,qEAAqC;AACrC,+DAA+B;AAC/B,uDAA4D;AAG5D,iEAAgE;AAEhE,+FAA4D;AAU/C,QAAA,SAAS,GAAG,KAAK,CAAC,IAAI,CAC/B,CAAC,EAAqF,EAAE,EAAE;QAAxF,YAAwB,EAAxB,EAAO,IAAI,OAAa,EAAR,OAAO,sBAAjB,QAAkB,CAAD,EAAxB,EAA2B,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,OAAiB;IAClF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CACtB,GAAG,EAAE,CAAC,iCACC,OAAO,KACV,QAAQ,kCACD,OAAO,CAAC,QAAQ,KACnB,UAAU,EAAE,MAAM,OAExB,EACF,CAAC,OAAO,EAAE,MAAM,CAAC,CACpB,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,CACH,uBAAC,uCAAuB,IACpB,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,EACxC,YAAY,EAAE,QAAQ,YAE4C,GAAG,GAC/C,CAC7B,CAAC;IACN,CAAC;IAED,OAAO,CACH,uBAAC,uBAAS,IAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAI,YAClD,GAAG,EAAE,CAAC,CACH,wBAAC,KAAK,CAAC,QAAQ,eACX,uBAAC,0BAAO,IACJ,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE;wBACnB,gEAAgE;wBAChE,IAAI,CAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;4BACxC,QAAQ,iBAAE,IAAI,IAAK,MAAM,CAAC,OAAO,EAAE,CAAC;wBACxC,CAAC;oBACL,CAAC,EACD,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,GAC9B,EACF,uBAAC,4BAAY,IACT,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,IAAY,EAClB,MAAM,EAAE,sBAAa,EACrB,uBAAuB,SACzB,IACW,CACpB,GACO,CACf,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,iBAAS,CAAC,WAAW,GAAG,WAAW,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {DynamicField, SimpleVerticalAccordeon, Spec} from '@gravity-ui/dynamic-forms';\nimport isEqual from 'lodash/isEqual';\nimport noop from 'lodash/noop';\nimport {Form as FinalForm, FormSpy} from 'react-final-form';\n\nimport {Block, ConstructorBlock} from '../../../models';\nimport {dynamicConfig} from '../../dynamic-forms-custom/config';\nimport {CustomSpec} from '../../dynamic-forms-custom/parser/types';\nimport usePreviousValue from '../../hooks/usePreviousValue';\n\ninterface BlockFormProps {\n data: ConstructorBlock;\n spec: CustomSpec;\n onChange: (data: Block) => void;\n onSelect: () => void;\n active?: boolean;\n}\n\nexport const BlockForm = React.memo(\n ({data: {type, ...content}, onChange, onSelect, active, spec: specRaw}: BlockFormProps) => {\n const initialValues = React.useMemo(() => ({content}), [content]);\n const prevContent = usePreviousValue(content);\n const spec = React.useMemo(\n () => ({\n ...specRaw,\n viewSpec: {\n ...specRaw.viewSpec,\n layoutOpen: active,\n },\n }),\n [specRaw, active],\n );\n\n if (!active) {\n return (\n <SimpleVerticalAccordeon\n open={false}\n name={type}\n title={spec.viewSpec.layoutTitle || type}\n onOpenChange={onSelect}\n >\n {/* SimpleVerticalAccordeon requires children, put dummy value*/}{' '}\n </SimpleVerticalAccordeon>\n );\n }\n\n return (\n <FinalForm initialValues={initialValues} onSubmit={noop}>\n {() => (\n <React.Fragment>\n <FormSpy\n onChange={({values}) => {\n // fix for FormSpy onChange called twice without content changes\n if (!isEqual(values.content, prevContent)) {\n onChange({type, ...values.content});\n }\n }}\n subscription={{values: true}}\n />\n <DynamicField\n name=\"content\"\n spec={spec as Spec}\n config={dynamicConfig}\n withoutInsertFFDebounce\n />\n </React.Fragment>\n )}\n </FinalForm>\n );\n },\n);\n\nBlockForm.displayName = 'BlockForm';\n"]}
1
+ {"version":3,"file":"BlockForm.js","sourceRoot":"../../../../../src","sources":["editor/components/BlockForm/BlockForm.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,6DAAsF;AACtF,wEAAqC;AACrC,kEAA+B;AAC/B,uDAA4D;AAG5D,iEAAgE;AAEhE,+FAA4D;AAU/C,QAAA,SAAS,GAAG,KAAK,CAAC,IAAI,CAC/B,CAAC,EAAqF,EAAE,EAAE;QAAxF,YAAwB,EAAxB,EAAO,IAAI,OAAa,EAAR,OAAO,sBAAjB,QAAkB,CAAD,EAAxB,EAA2B,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,OAAiB;IAClF,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAC,OAAO,EAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,MAAM,WAAW,GAAG,IAAA,0BAAgB,EAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CACtB,GAAG,EAAE,CAAC,iCACC,OAAO,KACV,QAAQ,kCACD,OAAO,CAAC,QAAQ,KACnB,UAAU,EAAE,MAAM,OAExB,EACF,CAAC,OAAO,EAAE,MAAM,CAAC,CACpB,CAAC;IAEF,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,OAAO,CACH,uBAAC,uCAAuB,IACpB,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,IAAI,EACxC,YAAY,EAAE,QAAQ,YAE4C,GAAG,GAC/C,CAC7B,CAAC;IACN,CAAC;IAED,OAAO,CACH,uBAAC,uBAAS,IAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAI,YAClD,GAAG,EAAE,CAAC,CACH,wBAAC,KAAK,CAAC,QAAQ,eACX,uBAAC,0BAAO,IACJ,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE;wBACnB,gEAAgE;wBAChE,IAAI,CAAC,IAAA,iBAAO,EAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;4BACxC,QAAQ,iBAAE,IAAI,IAAK,MAAM,CAAC,OAAO,EAAE,CAAC;wBACxC,CAAC;oBACL,CAAC,EACD,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,GAC9B,EACF,uBAAC,4BAAY,IACT,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,IAAY,EAClB,MAAM,EAAE,sBAAa,EACrB,uBAAuB,SACzB,IACW,CACpB,GACO,CACf,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,iBAAS,CAAC,WAAW,GAAG,WAAW,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {DynamicField, SimpleVerticalAccordeon, Spec} from '@gravity-ui/dynamic-forms';\nimport isEqual from 'lodash/isEqual';\nimport noop from 'lodash/noop';\nimport {Form as FinalForm, FormSpy} from 'react-final-form';\n\nimport {Block, ConstructorBlock} from '../../../models';\nimport {dynamicConfig} from '../../dynamic-forms-custom/config';\nimport {CustomSpec} from '../../dynamic-forms-custom/parser/types';\nimport usePreviousValue from '../../hooks/usePreviousValue';\n\ninterface BlockFormProps {\n data: ConstructorBlock;\n spec: CustomSpec;\n onChange: (data: Block) => void;\n onSelect: () => void;\n active?: boolean;\n}\n\nexport const BlockForm = React.memo(\n ({data: {type, ...content}, onChange, onSelect, active, spec: specRaw}: BlockFormProps) => {\n const initialValues = React.useMemo(() => ({content}), [content]);\n const prevContent = usePreviousValue(content);\n const spec = React.useMemo(\n () => ({\n ...specRaw,\n viewSpec: {\n ...specRaw.viewSpec,\n layoutOpen: active,\n },\n }),\n [specRaw, active],\n );\n\n if (!active) {\n return (\n <SimpleVerticalAccordeon\n open={false}\n name={type}\n title={spec.viewSpec.layoutTitle || type}\n onOpenChange={onSelect}\n >\n {/* SimpleVerticalAccordeon requires children, put dummy value*/}{' '}\n </SimpleVerticalAccordeon>\n );\n }\n\n return (\n <FinalForm initialValues={initialValues} onSubmit={noop}>\n {() => (\n <React.Fragment>\n <FormSpy\n onChange={({values}) => {\n // fix for FormSpy onChange called twice without content changes\n if (!isEqual(values.content, prevContent)) {\n onChange({type, ...values.content});\n }\n }}\n subscription={{values: true}}\n />\n <DynamicField\n name=\"content\"\n spec={spec as Spec}\n config={dynamicConfig}\n withoutInsertFFDebounce\n />\n </React.Fragment>\n )}\n </FinalForm>\n );\n },\n);\n\nBlockForm.displayName = 'BlockForm';\n"]}
@@ -6,7 +6,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
7
  const icons_1 = require("@gravity-ui/icons");
8
8
  const uikit_1 = require("@gravity-ui/uikit");
9
- const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
9
+ const debounce_1 = tslib_1.__importDefault(require("lodash/debounce.js"));
10
10
  const react_monaco_editor_1 = tslib_1.__importDefault(require("react-monaco-editor"));
11
11
  const models_1 = require("../../../models/index.js");
12
12
  const utils_1 = require("../../../utils/index.js");
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.js","sourceRoot":"../../../../../src","sources":["editor/components/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,6CAAiF;AACjF,6CAA+C;AAC/C,uEAAuC;AACvC,sFAA+C;AAE/C,qDAAmD;AACnD,mDAAqC;AACrC,8CAA4C;AAC5C,8CAA2C;AAG3C,8CAAoC;AAIpC,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,aAAa,CAAC,CAAC;AAE/B,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAW1B,QAAA,UAAU,GAAG,KAAK,CAAC,IAAI,CAChC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,IAAI,EAAkB,EAAE,EAAE;IACzF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,EAAC,KAAK,GAAG,cAAK,CAAC,KAAK,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,uBAAa,CAAC,CAAC;IAE9D,uDAAuD;IACvD,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAC5C,IAAA,kBAAQ,EAAC,CAAC,OAAe,EAAE,EAAE;QACzB,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC7B,QAAQ,CAAC,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;IACjC,CAAC,EAAE,0BAA0B,CAAC,EAC9B,CAAC,QAAQ,EAAE,SAAS,CAAC,CACxB,CAAC;IAEF,OAAO,CACH,iCAAK,SAAS,EAAE,CAAC,CAAC,EAAC,UAAU,EAAE,gBAAgB,EAAC,CAAC,aAC7C,gCAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,YACvB,uBAAC,cAAM,IACH,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC,gBAAgB,CAAC,YAE1D,uBAAC,YAAI,IACD,IAAI,EACA,gBAAgB,CAAC,CAAC,CAAC,+BAAuB,CAAC,CAAC,CAAC,6BAAqB,EAEtE,IAAI,EAAE,EAAE,GACV,GACG,GACP,EACN,gCAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,uBAAC,6BAAY,IAET,YAAY,EAAE,IAAI,EAClB,KAAK,EAAE,IAAI,EACX,QAAQ,EAAC,MAAM,EACf,OAAO,EAAE,mBAAO,EAChB,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,KAAK,KAAK,cAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IANzC,MAAM,CAAC,gBAAgB,CAAC,CAO/B,GACA,EACN,gCAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,YACtB,OAAO,IAAI,CACR,gCAAK,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,YAClC,gCAAK,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAC,CAAC,YACjD,OAAO,CAAC,IAAI,GACX,GACJ,CACT,GACC,IACJ,CACT,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,kBAAU,CAAC,WAAW,GAAG,YAAY,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ChevronsCollapseUpRight, ChevronsExpandUpRight} from '@gravity-ui/icons';\nimport {Button, Icon} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\nimport MonacoEditor from 'react-monaco-editor';\n\nimport {PageContent, Theme} from '../../../models';\nimport {block} from '../../../utils';\nimport {EditorContext} from '../../context';\nimport {parseCode} from '../../utils/code';\nimport {CodeEditorMessageProps} from '../../utils/validation';\n\nimport {options} from './constants';\n\nimport './CodeEditor.scss';\n\nconst b = block('code-editor');\n\nconst ON_CHANGE_DEBOUNCE_TIMEOUT = 300;\n\ninterface CodeEditorProps {\n code: string;\n fullscreenModeOn: boolean;\n validator: (code: string) => CodeEditorMessageProps;\n onFullscreenModeOnUpdate: (fullscreenModeOn: boolean) => void;\n onChange: (content: PageContent) => void;\n message?: CodeEditorMessageProps;\n}\n\nexport const CodeEditor = React.memo(\n ({onChange, validator, fullscreenModeOn, onFullscreenModeOnUpdate, code}: CodeEditorProps) => {\n const [message, setMessage] = React.useState(() => validator(code));\n const {theme = Theme.Light} = React.useContext(EditorContext);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const onChangeWithValidation = React.useCallback(\n debounce((newCode: string) => {\n const validationResult = validator(newCode);\n\n setMessage(validationResult);\n onChange(parseCode(newCode));\n }, ON_CHANGE_DEBOUNCE_TIMEOUT),\n [onChange, validator],\n );\n\n return (\n <div className={b({fullscreen: fullscreenModeOn})}>\n <div className={b('header')}>\n <Button\n view=\"flat-secondary\"\n onClick={() => onFullscreenModeOnUpdate(!fullscreenModeOn)}\n >\n <Icon\n data={\n fullscreenModeOn ? ChevronsCollapseUpRight : ChevronsExpandUpRight\n }\n size={16}\n />\n </Button>\n </div>\n <div className={b('code')}>\n <MonacoEditor\n key={String(fullscreenModeOn)}\n defaultValue={code}\n value={code}\n language=\"yaml\"\n options={options}\n onChange={onChangeWithValidation}\n theme={theme === Theme.Dark ? 'vs-dark' : 'vs'}\n />\n </div>\n <div className={b('footer')}>\n {message && (\n <div className={b('message-container')}>\n <div className={b('message', {status: message.status})}>\n {message.text}\n </div>\n </div>\n )}\n </div>\n </div>\n );\n },\n);\n\nCodeEditor.displayName = 'CodeEditor';\n"]}
1
+ {"version":3,"file":"CodeEditor.js","sourceRoot":"../../../../../src","sources":["editor/components/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,6CAAiF;AACjF,6CAA+C;AAC/C,0EAAuC;AACvC,sFAA+C;AAE/C,qDAAmD;AACnD,mDAAqC;AACrC,8CAA4C;AAC5C,8CAA2C;AAG3C,8CAAoC;AAIpC,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,aAAa,CAAC,CAAC;AAE/B,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAW1B,QAAA,UAAU,GAAG,KAAK,CAAC,IAAI,CAChC,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,IAAI,EAAkB,EAAE,EAAE;IACzF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,EAAC,KAAK,GAAG,cAAK,CAAC,KAAK,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,uBAAa,CAAC,CAAC;IAE9D,uDAAuD;IACvD,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAC5C,IAAA,kBAAQ,EAAC,CAAC,OAAe,EAAE,EAAE;QACzB,MAAM,gBAAgB,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAE5C,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAC7B,QAAQ,CAAC,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;IACjC,CAAC,EAAE,0BAA0B,CAAC,EAC9B,CAAC,QAAQ,EAAE,SAAS,CAAC,CACxB,CAAC;IAEF,OAAO,CACH,iCAAK,SAAS,EAAE,CAAC,CAAC,EAAC,UAAU,EAAE,gBAAgB,EAAC,CAAC,aAC7C,gCAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,YACvB,uBAAC,cAAM,IACH,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC,gBAAgB,CAAC,YAE1D,uBAAC,YAAI,IACD,IAAI,EACA,gBAAgB,CAAC,CAAC,CAAC,+BAAuB,CAAC,CAAC,CAAC,6BAAqB,EAEtE,IAAI,EAAE,EAAE,GACV,GACG,GACP,EACN,gCAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,uBAAC,6BAAY,IAET,YAAY,EAAE,IAAI,EAClB,KAAK,EAAE,IAAI,EACX,QAAQ,EAAC,MAAM,EACf,OAAO,EAAE,mBAAO,EAChB,QAAQ,EAAE,sBAAsB,EAChC,KAAK,EAAE,KAAK,KAAK,cAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IANzC,MAAM,CAAC,gBAAgB,CAAC,CAO/B,GACA,EACN,gCAAK,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,YACtB,OAAO,IAAI,CACR,gCAAK,SAAS,EAAE,CAAC,CAAC,mBAAmB,CAAC,YAClC,gCAAK,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAC,CAAC,YACjD,OAAO,CAAC,IAAI,GACX,GACJ,CACT,GACC,IACJ,CACT,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,kBAAU,CAAC,WAAW,GAAG,YAAY,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {ChevronsCollapseUpRight, ChevronsExpandUpRight} from '@gravity-ui/icons';\nimport {Button, Icon} from '@gravity-ui/uikit';\nimport debounce from 'lodash/debounce';\nimport MonacoEditor from 'react-monaco-editor';\n\nimport {PageContent, Theme} from '../../../models';\nimport {block} from '../../../utils';\nimport {EditorContext} from '../../context';\nimport {parseCode} from '../../utils/code';\nimport {CodeEditorMessageProps} from '../../utils/validation';\n\nimport {options} from './constants';\n\nimport './CodeEditor.scss';\n\nconst b = block('code-editor');\n\nconst ON_CHANGE_DEBOUNCE_TIMEOUT = 300;\n\ninterface CodeEditorProps {\n code: string;\n fullscreenModeOn: boolean;\n validator: (code: string) => CodeEditorMessageProps;\n onFullscreenModeOnUpdate: (fullscreenModeOn: boolean) => void;\n onChange: (content: PageContent) => void;\n message?: CodeEditorMessageProps;\n}\n\nexport const CodeEditor = React.memo(\n ({onChange, validator, fullscreenModeOn, onFullscreenModeOnUpdate, code}: CodeEditorProps) => {\n const [message, setMessage] = React.useState(() => validator(code));\n const {theme = Theme.Light} = React.useContext(EditorContext);\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n const onChangeWithValidation = React.useCallback(\n debounce((newCode: string) => {\n const validationResult = validator(newCode);\n\n setMessage(validationResult);\n onChange(parseCode(newCode));\n }, ON_CHANGE_DEBOUNCE_TIMEOUT),\n [onChange, validator],\n );\n\n return (\n <div className={b({fullscreen: fullscreenModeOn})}>\n <div className={b('header')}>\n <Button\n view=\"flat-secondary\"\n onClick={() => onFullscreenModeOnUpdate(!fullscreenModeOn)}\n >\n <Icon\n data={\n fullscreenModeOn ? ChevronsCollapseUpRight : ChevronsExpandUpRight\n }\n size={16}\n />\n </Button>\n </div>\n <div className={b('code')}>\n <MonacoEditor\n key={String(fullscreenModeOn)}\n defaultValue={code}\n value={code}\n language=\"yaml\"\n options={options}\n onChange={onChangeWithValidation}\n theme={theme === Theme.Dark ? 'vs-dark' : 'vs'}\n />\n </div>\n <div className={b('footer')}>\n {message && (\n <div className={b('message-container')}>\n <div className={b('message', {status: message.status})}>\n {message.text}\n </div>\n </div>\n )}\n </div>\n </div>\n );\n },\n);\n\nCodeEditor.displayName = 'CodeEditor';\n"]}
@@ -6,7 +6,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
7
  const dynamic_forms_1 = require("@gravity-ui/dynamic-forms");
8
8
  const uikit_1 = require("@gravity-ui/uikit");
9
- const noop_1 = tslib_1.__importDefault(require("lodash/noop"));
9
+ const noop_1 = tslib_1.__importDefault(require("lodash/noop.js"));
10
10
  const react_final_form_1 = require("react-final-form");
11
11
  const utils_1 = require("../../../utils/index.js");
12
12
  const config_1 = require("../../dynamic-forms-custom/config.js");
@@ -1 +1 @@
1
- {"version":3,"file":"PageSettings.js","sourceRoot":"../../../../../src","sources":["editor/components/PageSettings/PageSettings.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,6DAA6D;AAC7D,6CAA6C;AAE7C,+DAA+B;AAC/B,uDAA4D;AAG5D,mDAAqC;AACrC,iEAAgE;AAChE,qFAAkD;AAElD,0CAA4B;AAI5B,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,sBAAsB,CAAC,CAAC;AAQjC,MAAM,YAAY,GAAG,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAoB,EAAE,EAAE;IAC3E,MAAM,IAAI,GAAG,IAAA,qBAAW,EAAC,MAAM,CAAC,CAAC;IACjC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IAEpC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACnC,MAAM,KAAuB,OAAO,IAAI,EAAE,EAApC,EAAC,MAAM,EAAE,CAAC,OAA0B,EAArB,IAAI,sBAAnB,UAAoB,CAAgB,CAAC;QAE3C,OAAO,IAAI,CAAC;QACZ,uDAAuD;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,uBAAC,kBAAU,IAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,IAAA,WAAI,EAAC,qBAAqB,CAAC,EAAE,IAAI,EAAC,GAAG,YACjF,gCAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,uBAAC,uBAAS,IAAC,aAAa,EAAE,EAAC,OAAO,EAAE,WAAW,EAAC,EAAE,QAAQ,EAAE,cAAI,YAC3D,GAAG,EAAE,CAAC,CACH,4CACI,uBAAC,0BAAO,IACJ,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE,CAAC,QAAQ,iCAAK,OAAO,GAAK,MAAM,CAAC,OAAO,EAAE,EACjE,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,GAC9B,EACF,uBAAC,4BAAY,IACT,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,QAAgB,EACtB,MAAM,EAAE,sBAAa,GACvB,IACA,CACT,GACO,GACV,GACG,CAChB,CAAC;AACN,CAAC,CAAC;AAhCW,QAAA,YAAY,gBAgCvB;AAEF,oBAAY,CAAC,WAAW,GAAG,cAAc,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {DynamicField, Spec} from '@gravity-ui/dynamic-forms';\nimport {Disclosure} from '@gravity-ui/uikit';\nimport {JSONSchema4} from 'json-schema';\nimport noop from 'lodash/noop';\nimport {Form as FinalForm, FormSpy} from 'react-final-form';\n\nimport {PageContent} from '../../../models';\nimport {block} from '../../../utils';\nimport {dynamicConfig} from '../../dynamic-forms-custom/config';\nimport useFormSpec from '../../hooks/useFormSpec';\n\nimport {i18n} from './i18n';\n\nimport './PageSettings.scss';\n\nconst b = block('editor-page-settings');\n\nexport interface PageSettingsProps {\n content: PageContent;\n schema: JSONSchema4;\n onChange: (content: PageContent) => void;\n}\n\nexport const PageSettings = ({schema, content, onChange}: PageSettingsProps) => {\n const spec = useFormSpec(schema);\n const {page: pageSpec} = spec || {};\n\n const initialPage = React.useMemo(() => {\n const {blocks: _, ...page} = content || {};\n\n return page;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Disclosure className={b('container')} summary={i18n('page-settings-title')} size=\"l\">\n <div className={b('form')}>\n <FinalForm initialValues={{content: initialPage}} onSubmit={noop}>\n {() => (\n <div>\n <FormSpy\n onChange={({values}) => onChange({...content, ...values.content})}\n subscription={{values: true}}\n />\n <DynamicField\n name=\"content\"\n spec={pageSpec as Spec}\n config={dynamicConfig}\n />\n </div>\n )}\n </FinalForm>\n </div>\n </Disclosure>\n );\n};\n\nPageSettings.displayName = 'PageSettings';\n"]}
1
+ {"version":3,"file":"PageSettings.js","sourceRoot":"../../../../../src","sources":["editor/components/PageSettings/PageSettings.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,6DAA6D;AAC7D,6CAA6C;AAE7C,kEAA+B;AAC/B,uDAA4D;AAG5D,mDAAqC;AACrC,iEAAgE;AAChE,qFAAkD;AAElD,0CAA4B;AAI5B,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,sBAAsB,CAAC,CAAC;AAQjC,MAAM,YAAY,GAAG,CAAC,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAoB,EAAE,EAAE;IAC3E,MAAM,IAAI,GAAG,IAAA,qBAAW,EAAC,MAAM,CAAC,CAAC;IACjC,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,IAAI,IAAI,EAAE,CAAC;IAEpC,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACnC,MAAM,KAAuB,OAAO,IAAI,EAAE,EAApC,EAAC,MAAM,EAAE,CAAC,OAA0B,EAArB,IAAI,sBAAnB,UAAoB,CAAgB,CAAC;QAE3C,OAAO,IAAI,CAAC;QACZ,uDAAuD;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACH,uBAAC,kBAAU,IAAC,SAAS,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,IAAA,WAAI,EAAC,qBAAqB,CAAC,EAAE,IAAI,EAAC,GAAG,YACjF,gCAAK,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YACrB,uBAAC,uBAAS,IAAC,aAAa,EAAE,EAAC,OAAO,EAAE,WAAW,EAAC,EAAE,QAAQ,EAAE,cAAI,YAC3D,GAAG,EAAE,CAAC,CACH,4CACI,uBAAC,0BAAO,IACJ,QAAQ,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE,CAAC,QAAQ,iCAAK,OAAO,GAAK,MAAM,CAAC,OAAO,EAAE,EACjE,YAAY,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,GAC9B,EACF,uBAAC,4BAAY,IACT,IAAI,EAAC,SAAS,EACd,IAAI,EAAE,QAAgB,EACtB,MAAM,EAAE,sBAAa,GACvB,IACA,CACT,GACO,GACV,GACG,CAChB,CAAC;AACN,CAAC,CAAC;AAhCW,QAAA,YAAY,gBAgCvB;AAEF,oBAAY,CAAC,WAAW,GAAG,cAAc,CAAC","sourcesContent":["import * as React from 'react';\n\nimport {DynamicField, Spec} from '@gravity-ui/dynamic-forms';\nimport {Disclosure} from '@gravity-ui/uikit';\nimport {JSONSchema4} from 'json-schema';\nimport noop from 'lodash/noop';\nimport {Form as FinalForm, FormSpy} from 'react-final-form';\n\nimport {PageContent} from '../../../models';\nimport {block} from '../../../utils';\nimport {dynamicConfig} from '../../dynamic-forms-custom/config';\nimport useFormSpec from '../../hooks/useFormSpec';\n\nimport {i18n} from './i18n';\n\nimport './PageSettings.scss';\n\nconst b = block('editor-page-settings');\n\nexport interface PageSettingsProps {\n content: PageContent;\n schema: JSONSchema4;\n onChange: (content: PageContent) => void;\n}\n\nexport const PageSettings = ({schema, content, onChange}: PageSettingsProps) => {\n const spec = useFormSpec(schema);\n const {page: pageSpec} = spec || {};\n\n const initialPage = React.useMemo(() => {\n const {blocks: _, ...page} = content || {};\n\n return page;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <Disclosure className={b('container')} summary={i18n('page-settings-title')} size=\"l\">\n <div className={b('form')}>\n <FinalForm initialValues={{content: initialPage}} onSubmit={noop}>\n {() => (\n <div>\n <FormSpy\n onChange={({values}) => onChange({...content, ...values.content})}\n subscription={{values: true}}\n />\n <DynamicField\n name=\"content\"\n spec={pageSpec as Spec}\n config={dynamicConfig}\n />\n </div>\n )}\n </FinalForm>\n </div>\n </Disclosure>\n );\n};\n\nPageSettings.displayName = 'PageSettings';\n"]}
@@ -6,7 +6,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
7
  const dynamic_forms_1 = require("@gravity-ui/dynamic-forms");
8
8
  const ajv_1 = tslib_1.__importDefault(require("ajv"));
9
- const isEmpty_1 = tslib_1.__importDefault(require("lodash/isEmpty"));
9
+ const isEmpty_1 = tslib_1.__importDefault(require("lodash/isEmpty.js"));
10
10
  const utils_1 = require("../../../../utils/index.js");
11
11
  const useOneOf_1 = require("../../hooks/useOneOf.js");
12
12
  const b = (0, utils_1.block)('one-of-custom');
@@ -1 +1 @@
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
+ {"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"]}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dynamicConfig = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const dynamic_forms_1 = require("@gravity-ui/dynamic-forms");
6
- const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep"));
6
+ const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep.js"));
7
7
  const OneOfCustom_1 = require("./components/OneOfCustom/OneOfCustom.js");
8
8
  const getDynamicConfig = () => {
9
9
  const dynamicConfig = (0, cloneDeep_1.default)(dynamic_forms_1.dynamicConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"../../../../src","sources":["editor/dynamic-forms-custom/config.ts"],"names":[],"mappings":";;;;AAAA,6DAAwF;AACxF,yEAAyC;AAEzC,yEAAiE;AAEjE,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC1B,MAAM,aAAa,GAAsB,IAAA,mBAAS,EAAC,6BAAS,CAAC,CAAC;IAE9D,aAAa;IACb,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAC,SAAS,EAAE,yBAAW,EAAE,WAAW,EAAE,IAAI,EAAC,CAAC;IAE1F,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC;AAEW,QAAA,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"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"../../../../src","sources":["editor/dynamic-forms-custom/config.ts"],"names":[],"mappings":";;;;AAAA,6DAAwF;AACxF,4EAAyC;AAEzC,yEAAiE;AAEjE,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC1B,MAAM,aAAa,GAAsB,IAAA,mBAAS,EAAC,6BAAS,CAAC,CAAC;IAE9D,aAAa;IACb,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,EAAC,SAAS,EAAE,yBAAW,EAAE,WAAW,EAAE,IAAI,EAAC,CAAC;IAE1F,OAAO,aAAa,CAAC;AACzB,CAAC,CAAC;AAEW,QAAA,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"]}
@@ -6,8 +6,8 @@ const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
7
  const dynamic_forms_1 = require("@gravity-ui/dynamic-forms");
8
8
  const uikit_1 = require("@gravity-ui/uikit");
9
- const isObjectLike_1 = tslib_1.__importDefault(require("lodash/isObjectLike"));
10
- const some_1 = tslib_1.__importDefault(require("lodash/some"));
9
+ const isObjectLike_1 = tslib_1.__importDefault(require("lodash/isObjectLike.js"));
10
+ const some_1 = tslib_1.__importDefault(require("lodash/some.js"));
11
11
  const MAX_TAB_TITLE_LENGTH = 20;
12
12
  const getSpecTypeDefaultValue = (type) => {
13
13
  switch (type) {
@@ -1 +1 @@
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
+ {"version":3,"file":"useOneOf.js","sourceRoot":"../../../../../src","sources":["editor/dynamic-forms-custom/hooks/useOneOf.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,6DAKmC;AACnC,6CAA8D;AAC9D,kFAA+C;AAC/C,kEAA+B;AAE/B,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAOzB,MAAM,uBAAuB,GAAG,CAAC,IAAe,EAAE,EAAE;IACvD,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,yBAAS,CAAC,KAAK;YAChB,OAAO,EAAE,CAAC;QACd,KAAK,yBAAS,CAAC,OAAO,CAAC;QACvB,KAAK,yBAAS,CAAC,MAAM,CAAC;QACtB,KAAK,yBAAS,CAAC,MAAM;YACjB,OAAO,SAAS,CAAC;QACrB;YACI,OAAO,EAAE,CAAC;IAClB,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,uBAAuB,2BAWlC;AAEK,MAAM,QAAQ,GAAG,CAAC,EAAC,KAAK,EAAE,eAAe,EAAiB,EAAE,EAAE;IACjE,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAC,GAAG,KAAK,CAAC;IAC1C,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;IAErD,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAChC,GAAG,EAAE,CAAC,CAAC,IAAA,sBAAY,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAE,IAAI,CAAC,UAAmC,CAAC,CAAC,CAAC,EAAE,CAAC,EACtF,CAAC,IAAI,CAAC,UAAU,CAAC,CACpB,CAAC;IAEF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;QACpD,IAAI,SAA+B,CAAC;QAEpC,IAAI,IAAA,sBAAY,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEtC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACd,SAAS,GAAG,IAAI,CAAC;YACrB,CAAC;QACL,CAAC;QAED,OAAO,CAAC,SAAS,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CACnC,CAAC,CAAC,QAAQ,CAAW,EAAE,EAAE;;QACrB,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,CAAA,MAAA,cAAc,CAAC,QAAQ,CAAC,0CAAE,IAAI,KAAI,yBAAS,CAAC,MAAM,CAAC;YACpE,KAAK,CAAC,QAAQ,CAAC,IAAA,+BAAuB,EAAC,QAAQ,CAAqB,CAAC,CAAC;YACtE,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxB,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAG,QAAQ,CAAC,CAAC;QAChC,CAAC;IACL,CAAC,EACD,CAAC,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,CAAC,CACtE,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CACzB,GAAG,EAAE,CACD,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;;QACjD,MAAM,KAAK,GACP,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAG,KAAK,CAAC;aACzB,MAAA,cAAc,CAAC,KAAK,CAAC,0CAAE,QAAQ,CAAC,WAAW,CAAA;YAC3C,KAAK;YACL,EAAE,CAAC;QAEP,OAAO;YACH,KAAK;YACL,KAAK;YACL,OAAO,EAAE,KAAK;SACjB,CAAC;IACN,CAAC,CAAC,EACN,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,CAC5C,CAAC;IAEF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACpC,IACI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,MAAK,OAAO;YAChC,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,MAAK,QAAQ;gBAC9B,OAAO,CAAC,MAAM,GAAG,CAAC;gBAClB,IAAA,cAAI,EAAC,OAAO,EAAE,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAC,EACtE,CAAC;YACC,OAAO,CACH,uBAAC,cAAM,IACH,KAAK,EAAC,KAAK,EACX,KAAK,EAAE,CAAC,UAAU,CAAC,EACnB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,EAC9B,EAAE,EAAE,IAAI,GACV,CACL,CAAC;QACN,CAAC;QAED,OAAO,CACH,uBAAC,2BAAmB,IAChB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EACxD,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,IAAI,YAEP,OAAO,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,KAAK,EAAC,EAAE,EAAE,CAAC,CAC7B,uBAAC,2BAAmB,CAAC,MAAM,IAAa,KAAK,EAAE,KAAK,YAC/C,KAAK,IADuB,KAAK,CAET,CAChC,CAAC,GACgB,CACzB,CAAC;IACN,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE/E,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QAC/B,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,uBAAC,MAAM,oBAAK,KAAK,cAAG,YAAY,IAAU,CAAC;QACtD,CAAC;QAED,OAAO,YAAY,CAAC;IACxB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;IAElC,OAAO,EAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAC,CAAC;AAC/D,CAAC,CAAC;AAlGW,QAAA,QAAQ,YAkGnB","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"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getErrorBoundaryState = exports.addEditorProps = exports.addBlock = exports.getNewBlockIndex = exports.duplicateBlock = exports.changeBlocksOrder = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep"));
5
+ const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep.js"));
6
6
  const changeBlocksOrder = (array, oldIndex, newIndex) => {
7
7
  const result = [...array];
8
8
  const element = result.splice(oldIndex, 1)[0];
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"../../../../../src","sources":["editor/store/main/utils.ts"],"names":[],"mappings":";;;;AAAA,yEAAyC;AAMlC,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;AAVW,QAAA,iBAAiB,qBAU5B;AAEK,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,IAAA,mBAAS,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AALW,QAAA,cAAc,kBAKzB;AAEK,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;AAPW,QAAA,gBAAgB,oBAO3B;AAEK,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;AALW,QAAA,QAAQ,YAKnB;AAEK,MAAM,cAAc,GAAG,CAAC,OAAoB,EAAE,EAAE;IACnD,uCAAW,OAAO,KAAE,QAAQ,EAAE,KAAK,IAAE;AACzC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACvD,SAAS,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;AADjD,QAAA,qBAAqB,yBAC4B","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
+ {"version":3,"file":"utils.js","sourceRoot":"../../../../../src","sources":["editor/store/main/utils.ts"],"names":[],"mappings":";;;;AAAA,4EAAyC;AAMlC,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;AAVW,QAAA,iBAAiB,qBAU5B;AAEK,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,IAAA,mBAAS,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtD,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC;AALW,QAAA,cAAc,kBAKzB;AAEK,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;AAPW,QAAA,gBAAgB,oBAO3B;AAEK,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;AALW,QAAA,QAAQ,YAKnB;AAEK,MAAM,cAAc,GAAG,CAAC,OAAoB,EAAE,EAAE;IACnD,uCAAW,OAAO,KAAE,QAAQ,EAAE,KAAK,IAAE;AACzC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,MAAM,qBAAqB,GAAG,CAAC,SAAiB,EAAE,EAAE,CACvD,SAAS,KAAK,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;AADjD,QAAA,qBAAqB,yBAC4B","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"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkIsMobile = exports.getBlockId = exports.addCustomDecorator = exports.formatBlockName = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const capitalize_1 = tslib_1.__importDefault(require("lodash/capitalize"));
5
+ const capitalize_1 = tslib_1.__importDefault(require("lodash/capitalize.js"));
6
6
  const types_1 = require("../types/index.js");
7
7
  const formatBlockName = (name) => (0, capitalize_1.default)(name).replace(/(block|-)/g, ' ');
8
8
  exports.formatBlockName = formatBlockName;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["editor/utils/index.ts"],"names":[],"mappings":";;;;AAAA,2EAA2C;AAG3C,6CAAsC;AAE/B,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAAhF,QAAA,eAAe,mBAAiE;AAEtF,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;AAVW,QAAA,kBAAkB,sBAU7B;AAEK,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;AAD1C,QAAA,UAAU,cACgC;AAEhD,MAAM,aAAa,GAAG,CAAC,QAAsB,EAAE,EAAE,CACpD,CAAC,oBAAY,CAAC,MAAM,EAAE,oBAAY,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AADrD,QAAA,aAAa,iBACwC","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"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"../../../../src","sources":["editor/utils/index.ts"],"names":[],"mappings":";;;;AAAA,8EAA2C;AAG3C,6CAAsC;AAE/B,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAAhF,QAAA,eAAe,mBAAiE;AAEtF,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;AAVW,QAAA,kBAAkB,sBAU7B;AAEK,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;AAD1C,QAAA,UAAU,cACgC;AAEhD,MAAM,aAAa,GAAG,CAAC,QAAsB,EAAE,EAAE,CACpD,CAAC,oBAAY,CAAC,MAAM,EAAE,oBAAY,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AADrD,QAAA,aAAa,iBACwC","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"]}
@@ -8,7 +8,7 @@ const ajv_1 = tslib_1.__importDefault(require("ajv"));
8
8
  const ajv_keywords_1 = tslib_1.__importDefault(require("ajv-keywords"));
9
9
  const js_yaml_1 = tslib_1.__importDefault(require("js-yaml"));
10
10
  const js_yaml_source_map_1 = tslib_1.__importDefault(require("js-yaml-source-map"));
11
- const isArray_1 = tslib_1.__importDefault(require("lodash/isArray"));
11
+ const isArray_1 = tslib_1.__importDefault(require("lodash/isArray.js"));
12
12
  const SUCCESS_MESSAGE = 'Valid';
13
13
  var CodeEditorMessageStatus;
14
14
  (function (CodeEditorMessageStatus) {
@@ -1 +1 @@
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
+ {"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"]}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = useFocus;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
- const noop_1 = tslib_1.__importDefault(require("lodash/noop"));
6
+ const noop_1 = tslib_1.__importDefault(require("lodash/noop.js"));
7
7
  const mobileContext_1 = require("../context/mobileContext/index.js");
8
8
  function useFocus(element) {
9
9
  const isMobile = React.useContext(mobileContext_1.MobileContext);
@@ -1 +1 @@
1
- {"version":3,"file":"useFocus.js","sourceRoot":"../../../src","sources":["hooks/useFocus.ts"],"names":[],"mappings":";;AAMA,2BAkCC;;AAxCD,qDAA+B;AAE/B,+DAA+B;AAE/B,qEAAuD;AAEvD,SAAwB,QAAQ,CAAC,OAAqB;IAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,6BAAa,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,cAAI,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
+ {"version":3,"file":"useFocus.js","sourceRoot":"../../../src","sources":["hooks/useFocus.ts"],"names":[],"mappings":";;AAMA,2BAkCC;;AAxCD,qDAA+B;AAE/B,kEAA+B;AAE/B,qEAAuD;AAEvD,SAAwB,QAAQ,CAAC,OAAqB;IAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,6BAAa,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,cAAI,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"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const React = tslib_1.__importStar(require("react"));
5
- const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
5
+ const debounce_1 = tslib_1.__importDefault(require("lodash/debounce.js"));
6
6
  const DEFAULT_RECALCULATE_ON_RESIZE_DELAY = 1000;
7
7
  const DEFAULT_OPTIONS = {
8
8
  recalculateOnResizeDelay: DEFAULT_RECALCULATE_ON_RESIZE_DELAY,
@@ -1 +1 @@
1
- {"version":3,"file":"useHeightCalculator.js","sourceRoot":"../../../src","sources":["hooks/useHeightCalculator.ts"],"names":[],"mappings":";;;AAAA,qDAA+B;AAE/B,uEAAuC;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,IAAA,kBAAQ,EAAC,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,kBAAe,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
+ {"version":3,"file":"useHeightCalculator.js","sourceRoot":"../../../src","sources":["hooks/useHeightCalculator.ts"],"names":[],"mappings":";;;AAAA,qDAA+B;AAE/B,0EAAuC;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,IAAA,kBAAQ,EAAC,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,kBAAe,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"]}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = useWindowBreakpoint;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
- const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
6
+ const debounce_1 = tslib_1.__importDefault(require("lodash/debounce.js"));
7
7
  const constants_1 = require("../constants.js");
8
8
  function calculate(windowWidth) {
9
9
  const breakpointsSorted = Object.values(constants_1.BREAKPOINTS).sort((b1, b2) => b1 - b2);
@@ -1 +1 @@
1
- {"version":3,"file":"useWindowBreakpoint.js","sourceRoot":"../../../src","sources":["hooks/useWindowBreakpoint.ts"],"names":[],"mappings":";;AAsBA,sCAkBC;;AAxCD,qDAA+B;AAE/B,uEAAuC;AAEvC,+CAAyC;AAEzC,SAAS,SAAS,CAAC,WAAmB;IAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAW,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,SAAwB,mBAAmB;IACvC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,uBAAW,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,IAAA,kBAAQ,EAAC,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
+ {"version":3,"file":"useWindowBreakpoint.js","sourceRoot":"../../../src","sources":["hooks/useWindowBreakpoint.ts"],"names":[],"mappings":";;AAsBA,sCAkBC;;AAxCD,qDAA+B;AAE/B,0EAAuC;AAEvC,+CAAyC;AAEzC,SAAS,SAAS,CAAC,WAAmB;IAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAW,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,SAAwB,mBAAmB;IACvC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,uBAAW,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,IAAA,kBAAQ,EAAC,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"]}
@@ -4,7 +4,7 @@ exports.NavigationItem = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
7
- const omit_1 = tslib_1.__importDefault(require("lodash/omit"));
7
+ const omit_1 = tslib_1.__importDefault(require("lodash/omit.js"));
8
8
  const blockIdContext_1 = require("../../../context/blockIdContext/index.js");
9
9
  const models_1 = require("../../../models/index.js");
10
10
  const utils_1 = require("../../../utils/index.js");
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationItem.js","sourceRoot":"../../../../../src","sources":["navigation/components/NavigationItem/NavigationItem.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,+DAA+B;AAE/B,6EAA+D;AAC/D,qDAAoF;AACpF,mDAAqC;AAGrC,0EAAkE;AAIlE,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,iBAAiB,CAAC,CAAC;AAEnC,MAAM,YAAY,GAAG,YAAY,CAAC;AAElC,MAAM,6BAA6B,GAAG,4BAAmB,CAAC,MAAM,CAC5D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,2BAAkB,CAAC,QAAQ,CACjD,CAAC;AAEK,MAAM,cAAc,GAAkC,CAAC,EAKxC,EAAE,EAAE;QALoC,EAC1D,IAAI,EACJ,SAAS,EACT,UAAU,OAEQ,EADf,KAAK,sBAJkD,mCAK7D,CADW;IAER,MAAM,EAAC,IAAI,GAAG,2BAAkB,CAAC,IAAI,EAAC,GAAG,IAAI,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAA,2CAAoB,GAAE,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,IAAA,cAAI,EAAC,mBAAmB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,4BAAmB,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,uBAAC,+BAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YACxC,+BAAI,SAAS,EAAE,CAAC,CAAC,EAAC,aAAa,EAAE,UAAU,EAAC,EAAE,SAAS,CAAC,YACpD,uBAAC,SAAS,oBAAK,cAAc,IAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,IAAI,GACjE,GACiB,CAC7B,CAAC;AACN,CAAC,CAAC;AAnCW,QAAA,cAAc,kBAmCzB;AAEF,kBAAe,sBAAc,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
+ {"version":3,"file":"NavigationItem.js","sourceRoot":"../../../../../src","sources":["navigation/components/NavigationItem/NavigationItem.tsx"],"names":[],"mappings":";;;;;AAAA,qDAA+B;AAE/B,kEAA+B;AAE/B,6EAA+D;AAC/D,qDAAoF;AACpF,mDAAqC;AAGrC,0EAAkE;AAIlE,MAAM,CAAC,GAAG,IAAA,aAAK,EAAC,iBAAiB,CAAC,CAAC;AAEnC,MAAM,YAAY,GAAG,YAAY,CAAC;AAElC,MAAM,6BAA6B,GAAG,4BAAmB,CAAC,MAAM,CAC5D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,2BAAkB,CAAC,QAAQ,CACjD,CAAC;AAEK,MAAM,cAAc,GAAkC,CAAC,EAKxC,EAAE,EAAE;QALoC,EAC1D,IAAI,EACJ,SAAS,EACT,UAAU,OAEQ,EADf,KAAK,sBAJkD,mCAK7D,CADW;IAER,MAAM,EAAC,IAAI,GAAG,2BAAkB,CAAC,IAAI,EAAC,GAAG,IAAI,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAA,2CAAoB,GAAE,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,IAAA,cAAI,EAAC,mBAAmB,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,4BAAmB,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,uBAAC,+BAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YACxC,+BAAI,SAAS,EAAE,CAAC,CAAC,EAAC,aAAa,EAAE,UAAU,EAAC,EAAE,SAAS,CAAC,YACpD,uBAAC,SAAS,oBAAK,cAAc,IAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,IAAI,GACjE,GACiB,CAC7B,CAAC;AACN,CAAC,CAAC;AAnCW,QAAA,cAAc,kBAmCzB;AAEF,kBAAe,sBAAc,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"]}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useNavigationItemMap = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
- const isEmpty_1 = tslib_1.__importDefault(require("lodash/isEmpty"));
6
+ const isEmpty_1 = tslib_1.__importDefault(require("lodash/isEmpty.js"));
7
7
  const constructor_items_1 = require("../../../../constructor-items.js");
8
8
  const innerContext_1 = require("../../../../context/innerContext/index.js");
9
9
  const useNavigationItemMap = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigationItemMap.js","sourceRoot":"../../../../../../src","sources":["navigation/components/NavigationItem/hooks/useNavigationItemMap.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,qEAAqC;AAErC,wEAA8E;AAC9E,4EAA8D;AAEvD,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACrC,MAAM,EAAC,UAAU,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,2BAAY,CAAC,CAAC;IAEpD,OAAO,IAAA,iBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,8BAAiB,CAAC,CAAC,CAAC,UAAU,CAAC;AAChE,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B","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
+ {"version":3,"file":"useNavigationItemMap.js","sourceRoot":"../../../../../../src","sources":["navigation/components/NavigationItem/hooks/useNavigationItemMap.ts"],"names":[],"mappings":";;;;AAAA,qDAA+B;AAE/B,wEAAqC;AAErC,wEAA8E;AAC9E,4EAA8D;AAEvD,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACrC,MAAM,EAAC,UAAU,EAAC,GAAG,KAAK,CAAC,UAAU,CAAC,2BAAY,CAAC,CAAC;IAEpD,OAAO,IAAA,iBAAO,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,8BAAiB,CAAC,CAAC,CAAC,UAAU,CAAC;AAChE,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B","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"]}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const React = tslib_1.__importStar(require("react"));
5
- const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
5
+ const debounce_1 = tslib_1.__importDefault(require("lodash/debounce.js"));
6
6
  const useShowBorder = (withBorder, withBorderOnScroll) => {
7
7
  const [showBorder, setShowBorder] = React.useState(withBorder);
8
8
  React.useEffect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"useShowBorder.js","sourceRoot":"../../../../src","sources":["navigation/hooks/useShowBorder.ts"],"names":[],"mappings":";;;AAAA,qDAA+B;AAE/B,uEAAuC;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,IAAA,kBAAQ,EAAC,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,kBAAe,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
+ {"version":3,"file":"useShowBorder.js","sourceRoot":"../../../../src","sources":["navigation/hooks/useShowBorder.ts"],"names":[],"mappings":";;;AAAA,qDAA+B;AAE/B,0EAAuC;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,IAAA,kBAAQ,EAAC,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,kBAAe,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"]}