{"version":3,"file":"static/js/ab73b7e0b3a4f6bb12ff.bundle.js","mappings":"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","sources":["webpack://mattressfirm/./src/themes/mattressfirm/views/text-block.view.tsx?f4aa","webpack://mattressfirm/./lib/text-block/module-registration.js?a78c","webpack://mattressfirm/./src/modules/text-block/text-block.tsx?db84","webpack://mattressfirm/./src/modules/text-block/text-block.view.tsx?9307","webpack://mattressfirm/external var \"React\"?0d3b","webpack://mattressfirm/external var \"ReactDOM\"?853b"],"sourcesContent":["/*--------------------------------------------------------------\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * See License.txt in the project root for license information.\r\n *--------------------------------------------------------------*/\r\n\r\nimport classname from 'classnames';\r\nimport * as React from 'react';\r\nimport { useState } from 'react';\r\nimport ReactHtmlParser from 'react-html-parser';\r\n\r\nimport { ITextBlockViewProps } from '@msdyn365-commerce-modules/text-block/src/modules/text-block/./text-block';\r\n\r\nimport { ITextBlockProps } from '../definition-extensions/text-block.ext.props.autogenerated';\r\n\r\nconst TextBlockView: React.FC> = props => {\r\n const truncateText = props.config.truncateText || false;\r\n const {\r\n config: { textColor, textAlignment }\r\n } = props;\r\n const [displayTruncateParagraph, setDisplayTruncateParagraph ] = useState(truncateText);\r\n const onClick = () => setDisplayTruncateParagraph(!displayTruncateParagraph);\r\n const paragraphObject = Object.assign({props}, props.paragraph);\r\n const paragraphText = (Object.entries(paragraphObject))[0][1].text;\r\n\r\n const truncateTextFunction = (inputText:string, letterLimit: number) => {\r\n let startIndex = 0;\r\n for(let i = 1; i < inputText.length; i++){\r\n if(inputText[i] === '>'){\r\n startIndex = i+1;\r\n break;\r\n }\r\n }\r\n const stack = [];\r\n let letterCount = 0;\r\n for(let i = startIndex; i < inputText.length; i++){\r\n if(letterCount === letterLimit){\r\n return inputText.slice(startIndex, i+1);\r\n }\r\n else if(inputText[i] === '<'){\r\n stack.push(inputText[i]);\r\n }\r\n else if(inputText[i] === '>'){\r\n stack.pop();\r\n }\r\n else if(stack.length === 0){\r\n letterCount++;\r\n }\r\n }\r\n return '';\r\n };\r\n\r\n const htmlToDisplay = paragraphText && truncateTextFunction(paragraphText,180);\r\n const colorOfText = textColor ? `font-${textColor}` : '';\r\n return(\r\n
\r\n {(displayTruncateParagraph) ?\r\n
\r\n

\r\n {ReactHtmlParser(htmlToDisplay)}\r\n ...\r\n

\r\n
\r\n : {props.paragraph}\r\n }\r\n
\r\n );\r\n};\r\n\r\nexport default TextBlockView;\r\n","const binding = { modules: {}, dataActions: {} };\n\n (binding.modules['text-block'] = {\n c: () => require('@msdyn365-commerce-modules/text-block/dist/lib/modules/text-block/text-block'),\n $type: 'contentModule',\n da: [],\n \n iNM: true,\n ns: '@msdyn365-commerce-modules',\n n: 'text-block',\n p: 'text-block',\n \n pdp: '',\n \n \n md: 'node_modules/@msdyn365-commerce-modules/text-block/dist/lib/modules/text-block'\n });\n \n\n \n window.__bindings__ = window.__bindings__ || {};\n window.__bindings__.modules = {\n ...window.__bindings__.modules || {},\n ...binding.modules\n };\n \n window.__bindings__.dataActions = {\n ...window.__bindings__.dataActions || {},\n ...binding.dataActions\n };\n export const viewDictionary = {};\n viewDictionary['__local__|__local__|themes|mattressfirm|views|text-block'] = {\n c: () => require('partner/themes/mattressfirm/views/text-block.view.tsx'),\n cn: '__local__-__local__-text-block'\n };\nviewDictionary['@msdyn365-commerce-modules|text-block|modules|text-block|text-block'] = {\n c: () => require('@msdyn365-commerce-modules/text-block/dist/lib/modules/text-block/text-block.view.js'),\n cn: '@msdyn365-commerce-modules-text-block-text-block'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport * as MsDyn365 from '@msdyn365-commerce/core';\nimport classnames from 'classnames';\nimport * as React from 'react';\n\nimport { ITextBlockProps } from './text-block.props.autogenerated';\n\nexport interface ITextBlockViewProps extends ITextBlockProps<{}> {\n paragraph?: React.ReactNode;\n className?: string;\n}\n\n/**\n *\n * TextBlock component.\n */\nclass TextBlock extends React.PureComponent> {\n public render(): JSX.Element | null {\n const { paragraph, className } = this.props.config;\n const text = paragraph && ;\n const textBlockViewProps = {\n ...this.props,\n paragraph: text,\n className: classnames('ms-text-block', className)\n\n };\n return this.props.renderView(textBlockViewProps) as React.ReactElement;\n }\n\n public handleTextChange = (event: MsDyn365.ContentEditableEvent) => this.props.config.paragraph = event.target.value;\n}\nexport default TextBlock;\n","/*--------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * See License.txt in the project root for license information.\n *--------------------------------------------------------------*/\n\nimport * as React from 'react';\n\nimport { ITextBlockViewProps } from './text-block';\n\nconst TextBlockView: React.FC = props => (\n
\n {props.paragraph}\n
\n);\n\nexport default TextBlockView;\n","module.exports = React;","module.exports = ReactDOM;"],"names":["props","truncateText","config","textColor","textAlignment","displayTruncateParagraph","setDisplayTruncateParagraph","useState","paragraphObject","Object","assign","paragraph","paragraphText","entries","text","htmlToDisplay","inputText","letterLimit","startIndex","i","length","stack","letterCount","slice","push","pop","truncateTextFunction","colorOfText","React","className","id","renderModuleAttributes","classname","ReactHtmlParser","onClick","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","window","__bindings__","viewDictionary","cn","TextBlock","constructor","handleTextChange","event","this","target","value","render","MsDyn365","editProps","onEdit","requestContext","context","request","textBlockViewProps","classnames","renderView","module","exports","ReactDOM"],"sourceRoot":""}