{"version":3,"file":"static/js/9f8a68db73bcd2822646.bundle.js","mappings":"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","sources":["webpack://Msdyn365.Commerce.Online/./src/actions/get-attributes-for-selected-variant.ts?32ae","webpack://Msdyn365.Commerce.Online/./src/modules/dlvry-product-specification/components/dlvry-product-specification-table-stucture.tsx?9c32","webpack://Msdyn365.Commerce.Online/./src/modules/dlvry-product-specification/dlvry-product-specification.props.autogenerated.ts?76c1","webpack://Msdyn365.Commerce.Online/./src/modules/dlvry-product-specification/components/dlvry-product-specification-table-structure-allergen.tsx?f7a1","webpack://Msdyn365.Commerce.Online/./src/modules/dlvry-product-specification/dlvry-product-specification.tsx?a025","webpack://Msdyn365.Commerce.Online/./src/modules/dlvry-product-specification/dlvry-product-specification.view.tsx?ef40","webpack://Msdyn365.Commerce.Online/./lib/dlvry-product-specification/module-registration.js?22d7","webpack://Msdyn365.Commerce.Online/external var \"React\"?0d3b","webpack://Msdyn365.Commerce.Online/external var \"ReactDOM\"?853b"],"sourcesContent":["/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\nimport {\r\n CacheType,\r\n createObservableDataAction,\r\n getCatalogId,\r\n IAction,\r\n IActionContext,\r\n IActionInput,\r\n IAny,\r\n ICreateActionContext,\r\n IGeneric\r\n} from '@msdyn365-commerce/core';\r\nimport { AttributeValue, ProductsDataActions, SimpleProduct, StoreOperationsDataActions, QueryResultSettings } from '@msdyn365-commerce/retail-proxy';\r\nimport {\r\n getAttributeValuesByConfiguration,\r\n getSelectedProductIdFromActionInput,\r\n getSelectedVariant,\r\n SelectedVariantInput\r\n} from '@msdyn365-commerce-modules/retail-actions';\r\n\r\n/**\r\n * Chains getting the SelectedVariant with GetActivePrice.\r\n */\r\nexport class AttributesForSelectedVariantInput implements IActionInput {\r\n public locale: string;\r\n\r\n public productId: number;\r\n\r\n public channelId: number;\r\n\r\n public catalogId: number;\r\n\r\n public selectedProduct: SimpleProduct | undefined;\r\n\r\n constructor(locale: string, productId: number, channelId: number, selectedProduct?: SimpleProduct, catalogId?: number) {\r\n this.locale = locale;\r\n this.productId = productId;\r\n this.channelId = channelId;\r\n this.selectedProduct = selectedProduct;\r\n this.catalogId = catalogId || 0;\r\n }\r\n\r\n public getCacheKey = () => `AttributesForSelectedVariant-Locale:${this.locale.toLowerCase()}-ChannelId:${this.channelId}-CatalogId:${this.catalogId}-ProductId:${this.productId}`;\r\n\r\n public getCacheObjectType = () => 'ProductAttributeValue';\r\n\r\n public dataCacheType = (): CacheType => 'application';\r\n}\r\n\r\nexport const createAttributesForSelectedVariantInput = (\r\n inputData: ICreateActionContext>\r\n): AttributesForSelectedVariantInput => {\r\n const productId = getSelectedProductIdFromActionInput(inputData);\r\n const catalogId = getCatalogId(inputData.requestContext);\r\n\r\n if (productId) {\r\n return new AttributesForSelectedVariantInput(inputData.requestContext.locale, +productId, +inputData.requestContext.apiSettings.channelId, undefined, catalogId);\r\n }\r\n throw new Error('Unable to create PriceForSelectedVariantInput, no productId found on module config or query');\r\n};\r\n\r\n/**\r\n * Calls the Retail API a get a list of dimension values for a given product.\r\n * @param input - The input.\r\n * @param context - The context.\r\n * @returns The attribute values.\r\n */\r\nexport async function getAttributesForSelectedVariantAction(\r\n input: AttributesForSelectedVariantInput,\r\n context: IActionContext\r\n): Promise {\r\n return Promise.resolve()\r\n .then(() => {\r\n const activeProduct: SimpleProduct | undefined = input.selectedProduct;\r\n\r\n if (!activeProduct) {\r\n const selectedVariantInput = new SelectedVariantInput(\r\n input.productId,\r\n input.channelId,\r\n undefined,\r\n undefined,\r\n context.requestContext\r\n );\r\n\r\n return getSelectedVariant(selectedVariantInput, context);\r\n }\r\n\r\n return activeProduct;\r\n })\r\n .then((productResult: SimpleProduct | null) => {\r\n const activeProduct: SimpleProduct | undefined = productResult;\r\n\r\n if (activeProduct) {\r\n const queryResultSettings = {\r\n Paging: undefined,\r\n Sorting: undefined\r\n } as QueryResultSettings;\r\n return ProductsDataActions.getAttributeValuesAsync(\r\n {\r\n callerContext: context,\r\n queryResultSettings: queryResultSettings\r\n },\r\n activeProduct.RecordId,\r\n input.channelId,\r\n input.catalogId\r\n );\r\n }\r\n\r\n return null;\r\n })\r\n .then(async (attributeValues: AttributeValue[] | null) => {\r\n const channelInventoryConfiguration = await StoreOperationsDataActions.getInventoryConfigurationAsync({\r\n callerContext: context\r\n });\r\n\r\n return { attributeValues, channelInventoryConfiguration };\r\n })\r\n .then(result => {\r\n return getAttributeValuesByConfiguration(result.attributeValues, result.channelInventoryConfiguration);\r\n })\r\n .catch((error: Error) => {\r\n context.trace(error.message);\r\n throw new Error('[getPriceForSelectedVariantAction]Error executing action');\r\n });\r\n}\r\n\r\nexport default createObservableDataAction({\r\n id: '@msdyn365-commerce-modules/product-info/get-attributes-for-selected-variant',\r\n action: >getAttributesForSelectedVariantAction,\r\n input: createAttributesForSelectedVariantInput\r\n});\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { getRichTextHtml } from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\n\r\n/**\r\n * Product specification table row.\r\n */\r\nexport interface IProductSpecificationTableRow {\r\n productName?: string;\r\n cellData?: React.ReactNode;\r\n className?: string;\r\n sortOrder?: number;\r\n}\r\n\r\n/**\r\n * Product specification table row component.\r\n * @param props - For product specification table row.\r\n * @param props.productName - Product name.\r\n * @param props.cellData - Cell data.\r\n * @param props.className - Class name.\r\n * @returns - Returns JSX element.\r\n */\r\nexport const ProductSpecificationTableRow: React.FC = ({ productName, cellData, className, sortOrder }) => (\r\n \r\n \r\n {/* eslint-disable-next-line react/no-danger */}\r\n \r\n \r\n {cellData}\r\n \r\n);\r\n","/**\r\n * Copyright (c) Microsoft Corporation\r\n * All rights reserved. See License.txt in the project root for license information.\r\n * IDlvryProductSpecification contentModule Interface Properties\r\n * THIS FILE IS AUTO-GENERATED - MANUAL MODIFICATIONS WILL BE LOST\r\n */\r\n\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\n\r\nexport const enum displayStyle {\r\n accordion = 'accordion',\r\n table = 'table'\r\n}\r\n\r\nexport interface IDlvryProductSpecificationConfig extends Msdyn365.IModuleConfig {\r\n heading?: IHeadingData;\r\n displayStyle?: displayStyle;\r\n className?: string;\r\n clientRender?: boolean;\r\n}\r\n\r\nexport interface IDlvryProductSpecificationResources {\r\n trueValueText: string;\r\n falseValueText: string;\r\n productSpecificationFooterText: string;\r\n}\r\n\r\nexport const enum HeadingTag {\r\n h1 = 'h1',\r\n h2 = 'h2',\r\n h3 = 'h3',\r\n h4 = 'h4',\r\n h5 = 'h5',\r\n h6 = 'h6'\r\n}\r\n\r\nexport interface IHeadingData {\r\n text: string;\r\n tag?: HeadingTag;\r\n}\r\n\r\nexport interface IDlvryProductSpecificationProps extends Msdyn365.IModule {\r\n resources: IDlvryProductSpecificationResources;\r\n config: IDlvryProductSpecificationConfig;\r\n}\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport { getRichTextHtml } from '@msdyn365-commerce/core';\r\nimport * as React from 'react';\r\nimport { getAttributesLocale } from '../../../shared-utils/attributes';\r\n\r\n/**\r\n * Product specification table row.\r\n */\r\nexport interface IProductSpecificationTableAllergenRow {\r\n locale: string;\r\n productName?: string;\r\n value?: string;\r\n className?: string;\r\n sortOrder?: number;\r\n}\r\n\r\n/**\r\n * Product specification table row component.\r\n * @param props - For product specification table row.\r\n * @param props.productName - Product name.\r\n * @param props.cellData - Cell data.\r\n * @param props.className - Class name.\r\n * @returns - Returns JSX element.\r\n */\r\nexport const ProductSpecificationTableAllergenRow: React.FC = ({ locale, productName, value, className, sortOrder }) => {\r\n const attributeLocale = getAttributesLocale(locale);\r\n const fontWeight = value && value === 'Ja' || value === 'Kan inneholde' ? 'bold' : 'normal';\r\n\r\n if (productName?.startsWith('\\t')) {\r\n productName = productName.replace('\\t', ' ');\r\n }\r\n\r\n return (\r\n \r\n \r\n {/* eslint-disable-next-line react/no-danger */}\r\n \r\n \r\n \r\n {value && value === attributeLocale.labels.yes && (\r\n
\r\n )}\r\n \r\n \r\n {value && value === attributeLocale.labels.canContains && (\r\n
\r\n )}\r\n \r\n \r\n );\r\n};\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\nimport * as Msdyn365 from '@msdyn365-commerce/core';\r\nimport { AttributeValue } from '@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g';\r\nimport { Drawer, IModuleProps, INodeProps, Module } from '@msdyn365-commerce-modules/utilities';\r\nimport classnames from 'classnames';\r\nimport { reaction } from 'mobx';\r\nimport { observer } from 'mobx-react';\r\nimport * as React from 'react';\r\nimport { ProductSpecificationTableRow } from './components/dlvry-product-specification-table-stucture';\r\nimport { IDlvryProductSpecificationData } from './dlvry-product-specification.data';\r\nimport { displayStyle, IDlvryProductSpecificationProps } from './dlvry-product-specification.props.autogenerated';\r\nimport { getAttributeString, getAttributeStringOrDefault, getAttributesLocale, parseAttributesMap } from '../../shared-utils/attributes';\r\nimport { AttributesForSelectedVariantInput, getAttributesForSelectedVariantAction } from '../../actions/get-attributes-for-selected-variant';\r\nimport { ProductSpecificationTableAllergenRow } from './components/dlvry-product-specification-table-structure-allergen';\r\n\r\n/**\r\n * Maintain Drawer State.\r\n */\r\nexport interface IProductSpecificationState {\r\n isDrawerOpen: boolean;\r\n drawerListId: number | undefined;\r\n}\r\n\r\n/**\r\n * Product specification view props.\r\n */\r\nexport interface IProductSpecificationViewProps extends IDlvryProductSpecificationProps<{}> {\r\n ProductSpecification: IModuleProps;\r\n ProductSpecificationTableProps: INodeProps;\r\n ProductSpecificationTableBodyProps: INodeProps;\r\n productSpecificationResult?: (JSX.Element | null)[];\r\n title?: React.ReactNode;\r\n isAccrodion?: boolean;\r\n handleText?(event: Msdyn365.ContentEditableEvent): void;\r\n ingredients: React.ReactNode;\r\n footer: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Check for display style either accordion or table.\r\n */\r\nexport interface IProductSpecificationExtentedProps extends IDlvryProductSpecificationProps {\r\n displayStyle?: displayStyle;\r\n}\r\n\r\n/**\r\n *\r\n * ProductSpecification component.\r\n * @extends {React.Component>}\r\n */\r\n@observer\r\nclass ProductSpecification extends React.Component {\r\n public constructor(props: IProductSpecificationExtentedProps) {\r\n super(props);\r\n this.state = {\r\n isDrawerOpen: false,\r\n drawerListId: undefined\r\n };\r\n }\r\n\r\n public async componentDidMount(): Promise {\r\n const { context, data, telemetry } = this.props;\r\n const catalogId = Msdyn365.getCatalogId(this.props.context.request);\r\n reaction(\r\n () => (data.product.result ? data.product.result.RecordId : null),\r\n () => {\r\n if (context && data.product.result) {\r\n const actionInput = new AttributesForSelectedVariantInput(\r\n context.request.locale,\r\n data.product.result.RecordId,\r\n +context.actionContext.requestContext.apiSettings.channelId,\r\n data.product.result,\r\n catalogId\r\n );\r\n\r\n getAttributesForSelectedVariantAction(actionInput, this.props.context.actionContext).catch((error: Error) => {\r\n telemetry.error(error.message);\r\n telemetry.debug('Unable to update attributes for Product');\r\n telemetry.error(error.message);\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: IProductSpecificationExtentedProps, nextState: IProductSpecificationState): boolean {\r\n if (this.state === nextState && this.props.data === nextProps.data) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n public render(): JSX.Element | null {\r\n let data: IDlvryProductSpecificationData;\r\n try {\r\n data = this.props.data;\r\n } catch (error) {\r\n this.props.telemetry.error(`Something went wrong ------${error}`);\r\n return
{error}
;\r\n }\r\n\r\n if (!data.productSpecificationData.result || data.productSpecificationData.result.length <= 0) {\r\n this.props.telemetry.error('Product specification content is empty, module wont render.');\r\n return null;\r\n }\r\n\r\n const { heading, className } = this.props.config;\r\n const { productSpecificationData } = this.props.data;\r\n const attributesLocale = getAttributesLocale(this.props.context.request.locale);\r\n const isAccrodion = this.props.config.displayStyle === displayStyle.accordion;\r\n const viewProps = {\r\n ...this.props,\r\n handleText: this.handleHeadingChange,\r\n ProductSpecification: {\r\n moduleProps: this.props,\r\n className: classnames('ms-product-specification', className)\r\n },\r\n ProductSpecificationTableProps: isAccrodion\r\n ? {\r\n moduleProps: this.props,\r\n className: classnames('ms-product-specification__accordion', className)\r\n }\r\n : {\r\n className: classnames('ms-product-specification__table table-striped table-bordered'),\r\n tag: 'table'\r\n },\r\n isAccrodion,\r\n ProductSpecificationTableBodyProps: isAccrodion\r\n ? {}\r\n : {\r\n className: '',\r\n tag: 'tbody'\r\n },\r\n title: heading?.text && (\r\n \r\n ),\r\n\r\n productSpecificationResult: isAccrodion\r\n ? productSpecificationData.result && this._createDrawerBody(data)\r\n : productSpecificationData.result && this._createTableBody(data),\r\n ingredients: getAttributeStringOrDefault(productSpecificationData.result, attributesLocale.ingredients, undefined)\r\n ?
\r\n

{attributesLocale.ingredients}

\r\n
\r\n {getAttributeString(productSpecificationData.result, attributesLocale.ingredients)}\r\n
\r\n
\r\n : null,\r\n footer: getAttributeStringOrDefault(productSpecificationData.result, attributesLocale.manufacturer, '')\r\n ?
\r\n {this.props.resources.productSpecificationFooterText?.replace('{manufacturer}', getAttributeStringOrDefault(productSpecificationData.result, attributesLocale.manufacturer, ''))}\r\n
\r\n : null\r\n } as IProductSpecificationViewProps;\r\n\r\n return this.props.renderView(viewProps) as React.ReactElement;\r\n }\r\n\r\n /**\r\n * Handle Heading Text Change.\r\n * @param event - Current event.\r\n */\r\n public handleHeadingChange = (event: Msdyn365.ContentEditableEvent): void => {\r\n this.props.config.heading!.text = event.target.value;\r\n };\r\n\r\n private _createTableBody(content: IDlvryProductSpecificationData): { heading: any; tableData: any }[] {\r\n const productSpecificationData = content.productSpecificationData.result;\r\n const attributesMap = parseAttributesMap(this.props.context, productSpecificationData);\r\n const tables: {\r\n heading: JSX.Element;\r\n subHeader: JSX.Element | null;\r\n tableData: (JSX.Element | null)[];\r\n modelVersion?: string;\r\n }[] = [];\r\n\r\n attributesMap.forEach((group) => {\r\n const attributeLocale = getAttributesLocale(this.props.context.request.locale);\r\n const table = group.attributes.map((attribute: { name: string; value: string }, index: number) => {\r\n if (group.type === 'allergens') {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n {attribute.value}
}\r\n />\r\n );\r\n });\r\n\r\n let subHeader: JSX.Element | null = null;\r\n\r\n if (group.type === 'allergens') {\r\n subHeader = (\r\n
\r\n {attributeLocale.values.contains}\r\n {attributeLocale.values.canContainTraces}\r\n
\r\n );\r\n }\r\n\r\n tables.push({\r\n heading:\r\n ,\r\n subHeader,\r\n tableData: table,\r\n modelVersion: group.modelVersion\r\n });\r\n });\r\n\r\n return tables;\r\n }\r\n\r\n private _createDrawerBody(content: IDlvryProductSpecificationData): (JSX.Element | null)[] {\r\n const accordionItemContainer: IModuleProps = {\r\n moduleProps: this.props,\r\n className: 'ms-product-specification-title'\r\n };\r\n return content.productSpecificationData.result!.map(product => {\r\n const cellData: JSX.Element | null = this._renderProductCell(product);\r\n if (!cellData) {\r\n return null;\r\n }\r\n return (\r\n \r\n \r\n
{cellData}
\r\n \r\n
\r\n );\r\n });\r\n }\r\n\r\n private readonly _toggle = (drawerListId: number | undefined) => (): void => {\r\n if (this.state.drawerListId !== drawerListId) {\r\n this.setState({ drawerListId, isDrawerOpen: true });\r\n } else {\r\n this.setState({ drawerListId: undefined, isDrawerOpen: false });\r\n }\r\n };\r\n\r\n private _renderProductCell(product: AttributeValue): JSX.Element | null {\r\n switch (product.DataTypeValue) {\r\n case 0: // None\r\n // Return span here instead of null so the row still shows\r\n return ;\r\n case 1: // Currency\r\n return this._renderCurrencyCell(product);\r\n case 2: // DateTime\r\n return this._renderDateTimeCell(product);\r\n case 3: // Decimal\r\n return this._renderDecimalCell(product);\r\n case 4: // Integer\r\n return this._renderIntegerCell(product);\r\n case 5: // Text\r\n return this._renderTextCell(product);\r\n case 6: // TrueFalse\r\n return this._renderTrueFalseCell(product);\r\n case 40: // Video\r\n this.props.telemetry.warning('Got video specification type, not supported yet so skipping line');\r\n return null;\r\n case 41: // Image\r\n this.props.telemetry.warning('Got image specification type, not supported yet so skipping line');\r\n return null;\r\n default:\r\n this.props.telemetry.warning(`Got unknown specification type ${product.DataTypeValue} so skipping line`);\r\n return null;\r\n }\r\n }\r\n\r\n private _renderCurrencyCell(product: AttributeValue): JSX.Element | null {\r\n if (product.CurrencyValue !== null && product.CurrencyValue !== undefined) {\r\n return (\r\n \r\n {product.CurrencyCode}\r\n {product.CurrencyValue}\r\n \r\n );\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _renderDateTimeCell(product: AttributeValue): JSX.Element | null {\r\n if (product.DateTimeOffsetValue?.toUTCString) {\r\n return {product.DateTimeOffsetValue.toUTCString()};\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _renderIntegerCell(product: AttributeValue): JSX.Element | null {\r\n if (product.IntegerValue !== null && product.IntegerValue !== undefined) {\r\n return {product.IntegerValue};\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _renderDecimalCell(product: AttributeValue): JSX.Element | null {\r\n if (product.FloatValue !== null && product.FloatValue !== undefined) {\r\n return {product.FloatValue};\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _renderTextCell(product: AttributeValue): JSX.Element | null {\r\n if (product.TextValue !== null && product.TextValue !== undefined) {\r\n // eslint-disable-next-line react/no-danger\r\n return ;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private _renderTrueFalseCell(product: AttributeValue): JSX.Element | null {\r\n // TODO 20369885 setting to default value is needed to work around a platform bug where\r\n // config string value does not get its default value.\r\n if (product.BooleanValue) {\r\n return {this.props.resources.trueValueText ? this.props.resources.trueValueText : 'Yes'};\r\n }\r\n return {this.props.resources.falseValueText ? this.props.resources.falseValueText : 'No'};\r\n }\r\n}\r\n\r\nexport default ProductSpecification;\r\n","/*!\r\n * Copyright (c) Microsoft Corporation.\r\n * All rights reserved. See LICENSE in the project root for license information.\r\n */\r\n\r\n/* eslint-disable no-duplicate-imports */\r\n//import { ArrayExtensions, ObjectExtensions } from '@msdyn365-commerce-modules/retail-actions';\r\nimport { Module, Node } from '@msdyn365-commerce-modules/utilities';\r\nimport * as React from 'react';\r\n\r\nimport { IProductSpecificationViewProps } from './dlvry-product-specification';\r\n\r\nconst ProductSpecificationView: React.FC = (props) => {\r\n const {\r\n ProductSpecification,\r\n ProductSpecificationTableProps,\r\n ProductSpecificationTableBodyProps,\r\n productSpecificationResult,\r\n ingredients,\r\n footer\r\n } = props;\r\n\r\n const classNameBase = 'ms-product-specification';\r\n\r\n if (!productSpecificationResult) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {ingredients}\r\n
\r\n {productSpecificationResult.map((table: any, index: number) => {\r\n if (!table || table.tableData.length === 0) {\r\n return null;\r\n }\r\n\r\n const heading = table.heading;\r\n\r\n return (\r\n
\r\n {table.heading}\r\n {table.subHeader}\r\n \r\n {table.tableData}\r\n \r\n
\r\n );\r\n })}\r\n
\r\n {footer}\r\n
\r\n );\r\n};\r\n\r\nexport default ProductSpecificationView;\r\n","const binding = { modules: {}, dataActions: {} };\n\n const registerActionId = (actionPath) => {\n if (binding.dataActions[actionPath] &&\n binding.dataActions[actionPath].default &&\n binding.dataActions[actionPath].default.prototype &&\n binding.dataActions[actionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[actionPath].default.prototype.id] = binding.dataActions[actionPath];\n } else {\n Object.keys(binding.dataActions[actionPath] || {}).forEach(exportName => {\n if (binding.dataActions[actionPath][exportName] &&\n binding.dataActions[actionPath][exportName].prototype &&\n binding.dataActions[actionPath][exportName].prototype.Action) {\n binding.dataActions[binding.dataActions[actionPath][exportName].prototype.id] = binding.dataActions[actionPath][exportName];\n }\n })\n }\n };\n\n const registerSanitizedActionPath = (sanitizedActionPath, dataAction) => {\n if (process.env.NODE_ENV === 'development') {\n if (!dataAction.default) {\n throw new Error('Data action path does not have a default export');\n }\n if (!(dataAction.default.prototype.id && binding.dataActions[dataAction.default.prototype.id]) || !binding.dataActions[sanitizedActionPath]) {\n binding.dataActions[sanitizedActionPath] = dataAction;\n }\n } else {\n binding.dataActions[sanitizedActionPath] = dataAction;\n if (!binding.dataActions[sanitizedActionPath].default) {\n throw new Error('Data action path ' + sanitizedActionPath + ' does not have a default export');\n }\n binding.dataActions[sanitizedActionPath].default.prototype.RegistrationId = sanitizedActionPath;\n if (binding.dataActions[sanitizedActionPath].default.prototype.id) {\n binding.dataActions[binding.dataActions[sanitizedActionPath].default.prototype.id] = sanitizedActionPath;\n }\n }\n };\n \n\n (binding.modules['dlvry-product-specification'] = {\n c: () => require('partner/modules/dlvry-product-specification/dlvry-product-specification.tsx'),\n $type: 'contentModule',\n da: [{name:'product', path:'@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant', runOn: 0},{name:'productSpecificationData', path:'actions/get-attributes-for-selected-variant', runOn: 0}],\n \n iNM: false,\n ns: '__local__',\n n: 'dlvry-product-specification',\n p: '__local__',\n \n pdp: '',\n \n \n md: 'src/modules/dlvry-product-specification'\n });\n \n\n {\n const sanitizedActionPath = '@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant';\n let dataAction = require('@msdyn365-commerce-modules/retail-actions/dist/lib/get-selected-variant');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\n }\n \n\n {\n const sanitizedActionPath = 'actions/get-attributes-for-selected-variant';\n let dataAction = require('partner/actions/get-attributes-for-selected-variant');\n registerSanitizedActionPath(sanitizedActionPath, dataAction);\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__|modules|dlvry-product-specification|dlvry-product-specification'] = {\n c: () => require('partner/modules/dlvry-product-specification/dlvry-product-specification.view.tsx'),\n cn: '__local__-__local__-dlvry-product-specification'\n };\nwindow.__bindings__ = window.__bindings__ || {};\nwindow.__bindings__.viewDictionary = {\n ...window.__bindings__.viewDictionary || {},\n ...viewDictionary\n };","module.exports = React;","module.exports = ReactDOM;"],"names":["AttributesForSelectedVariantInput","constructor","locale","productId","channelId","selectedProduct","catalogId","getCacheKey","this","toLowerCase","getCacheObjectType","dataCacheType","createAttributesForSelectedVariantInput","inputData","getSelectedProductIdFromActionInput","getCatalogId","requestContext","apiSettings","undefined","Error","async","getAttributesForSelectedVariantAction","input","context","Promise","resolve","then","activeProduct","selectedVariantInput","SelectedVariantInput","getSelectedVariant","productResult","queryResultSettings","Paging","Sorting","ProductsDataActions","callerContext","RecordId","attributeValues","channelInventoryConfiguration","StoreOperationsDataActions","result","getAttributeValuesByConfiguration","catch","error","trace","message","createObservableDataAction","id","action","ProductSpecificationTableRow","_ref","productName","cellData","className","sortOrder","React","scope","dangerouslySetInnerHTML","getRichTextHtml","displayStyle","HeadingTag","ProductSpecificationTableAllergenRow","_productName","value","attributeLocale","getAttributesLocale","fontWeight","startsWith","replace","style","width","labels","yes","canContains","ProductSpecification","props","super","handleHeadingChange","event","config","heading","text","target","_toggle","drawerListId","state","setState","isDrawerOpen","data","telemetry","Msdyn365","request","reaction","product","actionInput","actionContext","debug","shouldComponentUpdate","nextProps","nextState","render","_heading$tag","_this$props$resources","productSpecificationData","length","attributesLocale","isAccrodion","accordion","viewProps","_objectSpread","handleText","moduleProps","classnames","ProductSpecificationTableProps","tag","ProductSpecificationTableBodyProps","title","editProps","onEdit","productSpecificationResult","_createDrawerBody","_createTableBody","ingredients","getAttributeStringOrDefault","getAttributeString","footer","manufacturer","resources","productSpecificationFooterText","renderView","content","attributesMap","parseAttributesMap","tables","forEach","group","_this$props$config$he","table","attributes","map","attribute","index","type","key","name","subHeader","values","contains","canContainTraces","push","tableData","modelVersion","accordionItemContainer","_product$Name","_renderProductCell","Module","Object","assign","Drawer","collapseProps","timeout","isOpen","openGlyph","closeGlyph","glyphPlacement","toggleButtonText","Name","onToggle","DataTypeValue","_renderCurrencyCell","_renderDateTimeCell","_renderDecimalCell","_renderIntegerCell","_renderTextCell","_renderTrueFalseCell","warning","CurrencyValue","CurrencyCode","_product$DateTimeOffs","DateTimeOffsetValue","toUTCString","IntegerValue","FloatValue","TextValue","BooleanValue","trueValueText","falseValueText","__decorate","observer","classNameBase","Node","binding","modules","dataActions","registerSanitizedActionPath","sanitizedActionPath","dataAction","default","prototype","RegistrationId","c","require","$type","da","path","runOn","iNM","ns","n","p","pdp","md","window","__bindings__","viewDictionary","cn","module","exports","ReactDOM"],"sourceRoot":""}