{"version":3,"file":"static/js/e3ce4998df1d02b5fcbf.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.\n * All rights reserved. See LICENSE 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 \n );\n const textBlockViewProps = {\n ...this.props,\n paragraph: text,\n className: classnames('ms-text-block', className)\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.\n * All rights reserved. See LICENSE 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","truncateTextFunction","inputText","letterLimit","startIndex","i","length","stack","letterCount","slice","push","pop","colorOfText","React","className","id","renderModuleAttributes","classname","ReactHtmlParser","onClick","binding","modules","dataActions","c","require","$type","da","iNM","ns","n","p","pdp","md","window","__bindings__","_objectSpread","viewDictionary","cn","TextBlock","constructor","handleTextChange","event","this","target","value","render","MsDyn365","editProps","onEdit","requestContext","context","request","textBlockViewProps","classnames","renderView","module","exports","ReactDOM"],"sourceRoot":""}