{"version":3,"sources":["/__w/mevris-client-app-products/mevris-client-app-products/web-build/register-service-worker.js","/__w/mevris-client-app-products/mevris-client-app-products/build/expo/AppEntry.js","/__w/mevris-client-app-products/mevris-client-app-products/build/expo/App.js","/__w/mevris-client-app-products/mevris-client-app-products/bluebase/expo/bluebase.ts","/__w/mevris-client-app-products/mevris-client-app-products/bluebase/common/bluebase.ts","/__w/mevris-client-app-products/mevris-client-app-products/bluebase/common/plugins.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/index.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/version.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/components/index.web.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/filters/index.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/lang/index.web.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/routes/index.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/screens/index.web.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/components/exports.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/components/AppIcon/AppIcon.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/components/ProductSummary/ProductSummary.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/graphql/queries/index.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/graphql/queries/ProductDescriptionQuery/index.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/graphql/queries/ProductDescriptionQuery/mocks.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/graphql/queries/ProductNodeQuery/index.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/graphql/queries/ProductNodeQuery/mocks.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/components/ProductDescription/ProductDescription.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/components/Markdown/index.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/components/Markdown/Markdown.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/components/SkeletonDetailCard/SkeletonDetailCard.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/components/SkeletonCard/SkeletonCard.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/components/AppIcon/index.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/components/ProductSummary/index.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/graphql/index.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/graphql/queries/ProductDescriptionQuery/ProductDescriptionQuery.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/graphql/queries/ProductNodeQuery/ProductNodeQuery.ts","/__w/mevris-client-app-products/mevris-client-app-products/src/components/ProductDescription/index.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/components/SkeletonDetailCard/index.tsx","/__w/mevris-client-app-products/mevris-client-app-products/src/components/SkeletonCard/index.tsx"],"names":["navigator","window","addEventListener","serviceWorker","register","scope","then","info","catch","error","console","registerRootComponent","App","React","createElement","BlueBaseApp","bootConfig","merge","commonBootOptions","configs","title","uri","plugins","BlueBasePluginRnPlaceholder","CommiClientPluginUI","BlueBasePluginMaterialUI","BlueBasePluginReactRouter","MevrisClientPluginUserManagement","BlueBasePluginApollo","BlueBasePluginJsonSchemaComponents","BlueBasePluginLauncher","BlueBasePluginResponsiveGrid","BlueEastClientPluginUI","MaterialCommunityIcons","MevrisPluginUI","MaterialIcons","TaskBar","Plugin","createPlugin","description","key","name","version","VERSION","icon","component","type","components","screens","indexRoute","filters","lang","routes","DesktopProductPage","MobileProductPage","ProductDescription","ProductSummary","ProductsAppIcon","ProductsSkeletonCard","SkeletonDetailCard","schema","ctx","children","props","left","List","Icon","onPress","navigation","navigate","exact","path","screen","ProductInstallScreen","ProductProfileScreen","ProductsAppScreen","AppIcon","size","styles","View","style","root","height","width","DynamicIcon","color","iconColor","defaultStyles","_theme","alignItems","backgroundColor","borderRadius","justifyContent","getComponent","getParam","useNavigation","id","decodeURIComponent","useQuery","ProductNodeQuery","variables","data","loading","StatefulComponent","loadingComponent","testID","ResponsiveProductSummary","brand","summary","image","productId","inCard","installationComponent","callback","isMobile","ProductDescriptionQueryMocks","success","request","query","ProductDescriptionQuery","result","node","__typename","ProductNodeQueryMocks","avatar","faker","technics","card","Card","CardHeader","CardContent","Markdown","theme","padding","spacing","unit","cardContent","textAlign","deviceWidth","Dimensions","get","rules","heading1","_node","H1","heading2","H2","heading3","H3","heading4","H4","heading5","H5","heading6","H6","Image","alignSelf","source","attributes","src","MobileView","DesktopView","Placeholder","Animation","Fade","mobileRoot","PlaceholderLine","noMargin","container","content","marginTop","flex","desktopButtonSize","typography","h4","fontSize","mediaDesktop","mobileButtonSize","h5","mobileTitleSize","flexDirection","marginBottom","titleSize","descriptionSize","body1","imageView","lineMargin","marginVertical","MobileCard","DesktopCard","view","PlaceholderMedia","mediaMobile","mobileButtonStyle","firstDesktop","brandTitle","buttonStyle","brandSize","h6","buttonSize","firstMobile","marginHorizontal","gql"],"mappings":"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","file":"static/js/app.244d611a.chunk.js","sourcesContent":["/* eslint-env browser */\n\nif ('serviceWorker' in navigator) {\n  window.addEventListener('load', function() {\n    navigator.serviceWorker\n      .register('/expo-service-worker.js', { scope: '/' })\n      .then(function(info) {\n        // console.info('Registered service-worker', info);\n      })\n      .catch(function(error) {\n        console.info('Failed to register service-worker', error);\n      });\n  });\n}\n","import App from '././App';\nimport { activateKeepAwake } from 'expo-keep-awake';\nimport { registerRootComponent } from 'expo';\n\nif (__DEV__) {\n\tactivateKeepAwake();\n}\n\nregisterRootComponent(App);\n","import { BlueBaseApp } from '@bluebase/core';\nimport React from 'react';\nimport bootConfig from './../../bluebase/expo/bluebase.ts';\n\nconst App = () => React.createElement(BlueBaseApp, bootConfig);\n\nexport default App;\n","import { BootOptions, merge } from '@bluebase/core';\n\nimport commonBootOptions from '../common/bluebase';\n\nconst bootOptions: Partial<BootOptions> = {};\n\nexport default merge(commonBootOptions, bootOptions);\n","import { plugins } from './plugins';\n\nexport default {\n\tconfigs: {\n\t\ttitle: 'Mevris Products App Demo',\n\n\t\t// 'user.accessToken':\n\t\t// \t// tslint:disable-next-line: max-line-length\n\t\t// \t'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwZXJzb24iOnsiY3JlYXRlZEF0IjoiMjAxOS0wNS0xNVQwNzozNDoyMC40NjlaIiwidXBkYXRlZEF0IjoiMjAxOS0wNS0xNVQwNzozNDoyMS4yNTNaIiwiaWQiOiI1Y2RiYzBmZDA4NWIxYzIxOGVmZTQ5MWQiLCJmaXJzdE5hbWUiOiJBbWFhciIsImxhc3ROYW1lIjoiSGFzc2FuIiwiZW1haWwiOiJhbWFhcmhhc3NhbmNzQGdtYWlsLmNvbSIsImVtYWlsVmVyaWZpZWQiOnRydWUsImlzU29jaWFsIjpmYWxzZSwic29jaWFsUHJvdmlkZXIiOiIiLCJwaG9uZSI6IjAzMzY1Njg5ODc4IiwiYWNjZXNzVG9rZW4iOiIiLCJhdmF0YXIiOiJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vbWV2cmlzLWltYWdlLWNkbi9kZWZhdWx0LXByb2ZpbGUtYXZhdGFyLnBuZyIsIm1ldGFkYXRhIjpudWxsLCJzdGF0ZSI6bnVsbCwic3RhdGVNZXRhIjpudWxsLCJoZWFydGJlYXQiOiIiLCJ2ZXJpZmllZEF0IjoiMjAxOS0wNS0xNVQwNzozNDoyMC40NjlaIiwiaXNEZWxldGVkIjpmYWxzZSwiZGVsZXRlZEF0IjoiIiwibGVnYWN5QWNjb3VudElkIjoiIiwic2NoZW1hIjpudWxsLCJkZWxldGVkQnkiOm51bGwsInJvbGUiOiI1Y2FjOTBiNTg1N2U3ODU5MjNkMzJhYjAifSwiaWF0IjoxNTU3OTA1NzI3LCJleHAiOjE1NTc5MDcxNjcsImF1ZCI6Im1ldnJpcy5pbyIsImlzcyI6Im1ldnJpcy5pbyJ9.3LzorQezKKN-Lm86QKGqh23qLOrTVy1SEY3OUK0Pjdo',\n\t\t// 'user.id': 'UGVyc29uOjVjZGJjMGZkMDg1YjFjMjE4ZWZlNDkxZA==',\n\n\t\t// // Apollo Graphql Configs\n\t\t// 'plugin.apollo.httpLinkOptions': {\n\t\t// \turi: 'https://api-qa.mevris.io/graphql',\n\t\t// },\n\n\t\t'user.accessToken':\n\t\t\t// tslint:disable-next-line: max-line-length\n\t\t\t'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwZXJzb24iOnsiaWQiOiI1ZDI2ZDhmMzE4M2NlMDJmZTRmMWI0NjUifSwiaWF0IjoxNTc4OTMyNjQ4LCJleHAiOjE1Nzg5MzQwODgsImF1ZCI6Im1ldnJpcy5pbyIsImlzcyI6Im1ldnJpcy5pbyJ9.Ynh2karQakPadOEjbswUtZzBaK9s6LvnOpyhSVSHo4g',\n\t\t'user.id': 'UGVyc29uOjVkMjZkOGYzMTgzY2UwMmZlNGYxYjQ2NQ==',\n\n\t\t// Apollo Graphql Configs\n\t\t'plugin.apollo.httpLinkOptions': {\n\t\t\turi: 'https://api3.mevris.io/graphql',\n\t\t},\n\t},\n\n\tplugins,\n};\n","import { MaterialCommunityIcons, MaterialIcons } from '@bluebase/plugin-vector-icons';\n\nimport BlueBasePluginApollo from '@bluebase/plugin-apollo';\nimport BlueBasePluginJsonSchemaComponents from '@bluebase/plugin-json-schema-components';\nimport BlueBasePluginLauncher from '@bluebase/plugin-launcher';\nimport BlueBasePluginMaterialUI from '@bluebase/plugin-material-ui';\nimport BlueBasePluginReactRouter from '@bluebase/plugin-react-router';\nimport BlueBasePluginResponsiveGrid from '@bluebase/plugin-responsive-grid';\nimport BlueBasePluginRnPlaceholder from '@bluebase/plugin-rn-placeholder';\nimport BlueEastClientPluginUI from '@blueeast/client-plugin-ui';\nimport CommiClientPluginUI from '@commi/client-plugin-ui';\nimport MevrisClientPluginUserManagement from '@mevris/client-plugin-user-management';\nimport MevrisPluginUI from '@mevris/client-plugin-ui';\nimport Plugin from '../../src';\nimport TaskBar from '@mevris/client-plugin-taskbar';\n\nexport const plugins = [\n\tBlueBasePluginRnPlaceholder,\n\tCommiClientPluginUI,\n\tBlueBasePluginMaterialUI,\n\tBlueBasePluginReactRouter,\n\tMevrisClientPluginUserManagement,\n\tBlueBasePluginApollo,\n\tBlueBasePluginJsonSchemaComponents,\n\tBlueBasePluginLauncher,\n\tBlueBasePluginResponsiveGrid,\n\tBlueEastClientPluginUI,\n\tMaterialCommunityIcons,\n\tMevrisPluginUI,\n\tMaterialIcons,\n\tTaskBar,\n\tPlugin,\n];\n","import { VERSION } from './version';\nimport { components } from './components';\nimport { createPlugin } from '@bluebase/core';\nimport { filters } from './filters';\nimport { lang } from './lang';\nimport { routes } from './routes';\nimport { screens } from './screens';\n\nexport * from './components/exports';\n\nexport default createPlugin({\n\tdescription: 'Mevris Products App',\n\tkey: 'products',\n\tname: 'Products',\n\tversion: VERSION,\n\n\ticon: {\n\t\tcomponent: 'ProductsAppIcon',\n\t\ttype: 'component',\n\t},\n\n\tcomponents: {\n\t\t...components,\n\t\t...screens,\n\t},\n\tindexRoute: 'ProductsApp',\n\n\tfilters: {\n\t\t...filters,\n\t\t...lang,\n\t},\n\n\troutes,\n});\n","// THIS IS AN AUTO GENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\nexport const VERSION = '1.3.1';\n","export const components = {\n\tDesktopProductPage: import('./DesktopProductPage'),\n\tMobileProductPage: import('./MobileProductPage'),\n\tProductDescription: import('./ProductDescription'),\n\tProductSummary: import('./ProductSummary'),\n\tProductsAppIcon: import('./AppIcon'),\n\tProductsSkeletonCard: import('./SkeletonCard'),\n\tSkeletonDetailCard: import('./SkeletonDetailCard'),\n};\n","import { List } from '@bluebase/components';\nimport React from 'react';\nexport const filters = {\n\t'mevris.plugin.taskbar.list.first': (schema: any, ctx: any) => {\n\t\treturn {\n\t\t\t...schema,\n\t\t\tchildren: [\n\t\t\t\t...schema.children,\n\t\t\t\t{\n\t\t\t\t\tcomponent: 'ListItem',\n\t\t\t\t\tprops: {\n\t\t\t\t\t\tleft: <List.Icon name=\"store\" />,\n\t\t\t\t\t\tonPress: () => ctx.navigation.navigate('ProductsApp')\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n};","export const lang = {\n\t'bluebase.intl.messages.ur': import('./ur'),\n};\n","// import { Text } from 'react-native';\n\nexport const routes = () => {\n\treturn [\n\t\t// Home Page\n\t\t{\n\t\t\texact: true,\n\t\t\tname: 'ProductsApp',\n\t\t\tpath: '',\n\t\t\tscreen: 'ProductsAppScreen',\n\t\t},\n\n\t\t// Products Profile Page\n\t\t{\n\t\t\texact: true,\n\t\t\tname: 'ProductProfile',\n\t\t\tpath: ':productId',\n\t\t\t// screen: 'EmptyState',\n\t\t\tscreen: 'ProductProfileScreen',\n\t\t},\n\t\t// Products Installation Page\n\t\t{\n\t\t\texact: true,\n\t\t\tname: 'ProductInstall',\n\t\t\tpath: ':productId/install',\n\t\t\t// screen: 'EmptyState',\n\t\t\tscreen: 'ProductInstallScreen',\n\t\t},\n\t];\n};\n","export const screens = {\n\tProductInstallScreen: import('./ProductInstallScreen'),\n\tProductProfileScreen: import('./ProductProfileScreen'),\n\tProductsAppScreen: import('./ProductsAppScreen'),\n};\n","// This exists so we can export props and other interfaces from this module\nexport * from './AppIcon';\nexport * from './ProductSummary';\nexport * from './ProductDescription';\nexport * from './SkeletonDetailCard';\nexport * from './SkeletonCard';\n","import { DynamicIcon, View } from '@bluebase/components';\nimport { StyleProp, TextStyle, ViewStyle } from 'react-native';\n\nimport React from 'react';\nimport { Theme } from '@bluebase/core';\n\nexport interface AppIconStyles {\n\ticonColor: { color: TextStyle['color'] };\n\troot: StyleProp<ViewStyle>;\n}\n\nexport interface AppIconProps {\n\tsize: number;\n\tstyles?: Partial<AppIconStyles>;\n}\n\nexport const AppIcon = ({ size, styles: _styles }: AppIconProps) => {\n\tconst styles = _styles as AppIconStyles;\n\n\treturn (\n\t\t<View style={[styles.root, { height: size, width: size }]}>\n\t\t\t<DynamicIcon type=\"icon\" name=\"store\" color={styles.iconColor.color} size={size * 0.75} />\n\t\t</View>\n\t);\n};\n\nAppIcon.defaultStyles = (_theme: Theme) => ({\n\ticonColor: {\n\t\tcolor: '#fff',\n\t},\n\troot: {\n\t\talignItems: 'center',\n\t\tbackgroundColor: '#EC6262',\n\t\tborderRadius: 10,\n\t\tjustifyContent: 'center',\n\t},\n});\n","import { StatefulComponent, View } from '@bluebase/components';\nimport { getComponent, isMobile, useNavigation } from '@bluebase/core';\n\nimport { ProductNodeQuery } from '../../graphql';\nimport React from 'react';\nimport get from 'lodash.get';\nimport { useQuery } from '@apollo/react-hooks';\n\nconst MobileProductPage = getComponent('MobileProductPage');\nconst DesktopProductPage = getComponent('DesktopProductPage');\nconst ProductsSkeletonCard = getComponent('ProductsSkeletonCard');\n\nexport interface ProductSummaryProps {\n\tinCard?: boolean;\n\tcallback: (installationComponent: string) => void;\n}\nexport interface ResponsiveProductSummaryProps {\n\tinCard?: boolean;\n\tbrand: string;\n\tproductId: string;\n\ttitle: string;\n\tsummary: string;\n\timage: string;\n\tcallback: (installationComponent: string) => void;\n\tinstallationComponent: string;\n}\n\nexport const ProductSummary = (props: ProductSummaryProps) => {\n\tconst { getParam } = useNavigation();\n\tconst id = decodeURIComponent(getParam('productId', null));\n\n\tconst { data, error, loading } = useQuery(ProductNodeQuery, { variables: { id } });\n\n\treturn (\n\t\t<StatefulComponent\n\t\t\tdata={get(data, 'node')}\n\t\t\tloading={loading}\n\t\t\terror={error}\n\t\t\tloadingComponent={ProductsSkeletonCard}\n\t\t>\n\t\t\t<View testID=\"PlatformView\">\n\t\t\t\t<ResponsiveProductSummary\n\t\t\t\t\tbrand={get(data, 'node.brand.name')}\n\t\t\t\t\ttitle={get(data, 'node.name')}\n\t\t\t\t\tsummary={get(data, 'node.summary')}\n\t\t\t\t\timage={get(data, 'node.avatar')}\n\t\t\t\t\tproductId={id}\n\t\t\t\t\tinCard={props.inCard}\n\t\t\t\t\tinstallationComponent={get(data, 'node.installationComponent')}\n\t\t\t\t\tcallback={props.callback}\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</StatefulComponent>\n\t);\n};\n\nexport const ResponsiveProductSummary = (props: ResponsiveProductSummaryProps) => {\n\treturn (\n\t\t<>\n\t\t\t{isMobile() ? <MobileProductPage {...props} /> : <DesktopProductPage {...props} />}\n\t\t</>\n\t);\n};\n","export * from './ProductDescriptionQuery';\nexport * from './ProductNodeQuery';\nexport * from './ProductDescriptionQuery';\n","export * from './mocks';\nexport * from './ProductDescriptionQuery';\n","import { ProductDescriptionQuery } from './ProductDescriptionQuery';\n\nexport const ProductDescriptionQueryMocks = {\n\tsuccess: {\n\t\trequest: {\n\t\t\tquery: ProductDescriptionQuery,\n\t\t\tvariables: {\n\t\t\t\tid: '123',\n\t\t\t},\n\t\t},\n\t\tresult: {\n\t\t\tdata: {\n\t\t\t\tnode: {\n\t\t\t\t\t__typename: 'Product',\n\t\t\t\t\tid: '123',\n\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t// tslint:disable-next-line: max-line-length quotemark\n\t\t\t\t\t\t\"# heading 1 \\n ## heading 2 \\n ### heading3  \\n #### heading 4 \\n ##### heading 5  \\n ###### heading 6  Foobar \\n is a Python library for dealing with word pluralization. \\n ## Installation \\n Use the package manager ![pip](https://pip.pypa.io/en/stable/) to install foobar. \\n ```bash \\n pip install foobar \\n ``` \\n ## Usage \\n ```python \\n import foobar \\n foobar.pluralize('word') # returns 'words' \\n foobar.pluralize('goose') # returns 'geese' \\n foobar.singularize('phenomena') # returns 'phenomenon' \\n ``` \\n ## Contributing \\n Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. \\n Please make sure to update tests as appropriate. \\n ## License \\n ![MIT](https://cdn.shopify.com/s/files/1/2459/1583/products/Ultron-Royal.jpg?v=1553673013)\",\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n};\n","export * from './mocks';\nexport * from './ProductNodeQuery';\n","import { ProductNodeQuery } from './ProductNodeQuery';\nimport faker from 'faker';\n\nexport const ProductNodeQueryMocks = {\n\tsuccess: {\n\t\trequest: {\n\t\t\tquery: ProductNodeQuery,\n\t\t\tvariables: {\n\t\t\t\tid: '123',\n\t\t\t},\n\t\t},\n\t\tresult: {\n\t\t\tdata: {\n\t\t\t\tnode: {\n\t\t\t\t\t__typename: 'Product',\n\t\t\t\t\tid: '123',\n\n\t\t\t\t\tavatar: faker.image.technics(100, 100),\n\t\t\t\t\tbrand: {\n\t\t\t\t\t\t__typename: 'Brand',\n\t\t\t\t\t\tid: 'orient',\n\t\t\t\t\t\tname: 'Orient',\n\t\t\t\t\t},\n\t\t\t\t\tinstallationComponent: 'installationComponent',\n\t\t\t\t\tname: 'Orient Ultron X500',\n\t\t\t\t\tsummary:\n\t\t\t\t\t\t// tslint:disable-next-line: max-line-length\n\t\t\t\t\t\t'The Puma 32 HD Black is the perfect choice for people looking for a beastly dynamic, feature-packed and economical LED TV. The Puma offers vivid image production, crystal clear sound and handy options like HDMI ports, USB support and a headphone jack',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n};\n","import { Card, CardContent, CardHeader, StatefulComponent } from '@bluebase/components';\nimport { Theme, getComponent, isMobile, useNavigation } from '@bluebase/core';\n\nimport { Markdown } from '../Markdown';\nimport { ProductDescriptionQuery } from '../../graphql';\nimport React from 'react';\nimport { ViewStyle } from 'react-native';\nimport get from 'lodash.get';\nimport { useQuery } from '@apollo/react-hooks';\n\nconst SkeletonDetailCard = getComponent('SkeletonDetailCard');\n\nexport interface ProductDescriptionStyles {\n\tcardContent: any;\n\tcard: ViewStyle;\n}\nexport interface ProductDescriptionProps {\n\tstyles?: Partial<ProductDescriptionStyles>;\n}\n\nexport const ProductDescription = (props: ProductDescriptionProps) => {\n\tconst { card } = props.styles as ProductDescriptionStyles;\n\n\tconst { getParam } = useNavigation();\n\tconst id = decodeURIComponent(getParam('productId', null));\n\n\tconst { data, error, loading } = useQuery(ProductDescriptionQuery, { variables: { id } });\n\n\treturn (\n\t\t<StatefulComponent\n\t\t\tdata={get(data, 'node')}\n\t\t\tloading={loading}\n\t\t\terror={error}\n\t\t\tloadingComponent={SkeletonDetailCard}\n\t\t>\n\t\t\t<Card style={card}>\n\t\t\t\t<CardHeader title=\"Product Features\" />\n\t\t\t\t<CardContent>\n\t\t\t\t\t<Markdown>{get(data, 'node.description')}</Markdown>\n\t\t\t\t</CardContent>\n\t\t\t</Card>\n\t\t</StatefulComponent>\n\t);\n};\n\nProductDescription.defaultStyles = (theme: Theme): ProductDescriptionStyles => ({\n\tcard: {\n\t\tpadding: isMobile() ? 0 : theme.spacing.unit * 4,\n\t},\n\tcardContent: {\n\t\tjustifyContent: 'center',\n\t\ttextAlign: 'center',\n\t},\n});\n","export * from './Markdown';\n","import { Dimensions, Image } from 'react-native';\nimport { H1, H2, H3, H4, H5, H6 } from '@bluebase/components';\nimport MarkdownComponent, { MarkdownProps } from 'react-native-markdown-renderer';\n\nimport React from 'react';\nimport { isMobile } from '@bluebase/core';\n\nconst deviceWidth = Dimensions.get('screen').width;\n\nconst rules = {\n\theading1: (_node: React.ReactNode, data: React.ReactNode) => <H1>{data}</H1>,\n\theading2: (_node: React.ReactNode, data: React.ReactNode) => <H2>{data}</H2>,\n\theading3: (_node: React.ReactNode, data: React.ReactNode) => <H3>{data}</H3>,\n\theading4: (_node: React.ReactNode, data: React.ReactNode) => <H4>{data}</H4>,\n\theading5: (_node: React.ReactNode, data: React.ReactNode) => <H5>{data}</H5>,\n\theading6: (_node: React.ReactNode, data: React.ReactNode) => <H6>{data}</H6>,\n\timage: (node: { attributes: { src: string } }) => {\n\t\treturn (\n\t\t\t<Image\n\t\t\t\tstyle={{\n\t\t\t\t\talignSelf: 'center',\n\t\t\t\t\theight: isMobile() ? deviceWidth - 32 : deviceWidth / 2,\n\t\t\t\t\twidth: isMobile() ? deviceWidth - 32 : deviceWidth / 2,\n\t\t\t\t}}\n\t\t\t\tsource={{\n\t\t\t\t\turi: node.attributes.src,\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t},\n};\n\nexport const Markdown: React.FunctionComponent<MarkdownProps> = (props: MarkdownProps) => {\n\treturn <MarkdownComponent rules={rules} {...props} />;\n};\n","import { Fade, Placeholder, PlaceholderLine } from 'rn-placeholder';\nimport { TextStyle, View, ViewStyle } from 'react-native';\nimport { Theme, isMobile } from '@bluebase/core';\n\nimport { Card } from '@bluebase/components';\nimport React from 'react';\n\nexport interface SkeletonDetailCardStyles {\n\tcontainer: ViewStyle;\n\troot: ViewStyle;\n\tcontent: TextStyle;\n\tmobileRoot: ViewStyle;\n\timageView: ViewStyle;\n\tlineMargin: ViewStyle;\n\tmediaDesktop: TextStyle;\n\ttitle: TextStyle;\n\tmobileTitleSize: number;\n\ttitleSize: number;\n\tdesktopButtonSize?: number;\n\tmobileButtonSize?: number;\n\tdescriptionSize: number;\n}\n\nexport interface SkeletonDetailCardProps {\n\tstyles?: SkeletonDetailCardStyles;\n}\n\nexport const SkeletonDetailCard = (props: SkeletonDetailCardProps) => {\n\treturn isMobile() ? <MobileView {...props} /> : <DesktopView {...props} />;\n};\n\nexport const MobileView = (props: SkeletonDetailCardProps) => {\n\tconst styles = props.styles as SkeletonDetailCardStyles;\n\n\treturn (\n\t\t<Placeholder Animation={Fade}>\n\t\t\t<View style={styles.mobileRoot} testID=\"MobileSkeletonCard\">\n\t\t\t\t<PlaceholderLine width={40} style={styles.title} noMargin />\n\t\t\t\t<PlaceholderLine width={20} style={styles.title} noMargin />\n\t\t\t\t<PlaceholderLine width={20} style={styles.title} noMargin />\n\t\t\t\t<PlaceholderLine width={20} style={styles.title} noMargin />\n\t\t\t\t<PlaceholderLine width={20} style={styles.title} noMargin />\n\t\t\t\t<PlaceholderLine width={20} style={styles.title} noMargin />\n\t\t\t\t<PlaceholderLine width={20} style={styles.title} noMargin />\n\t\t\t</View>\n\t\t</Placeholder>\n\t);\n};\n\nexport const DesktopView = (props: SkeletonDetailCardProps) => {\n\tconst styles = props.styles as SkeletonDetailCardStyles;\n\n\treturn (\n\t\t<Card style={styles.container}>\n\t\t\t<Placeholder Animation={Fade}>\n\t\t\t\t<View style={styles.root} testID=\"DesktopSkeletonCard\">\n\t\t\t\t\t<View style={styles.content}>\n\t\t\t\t\t\t<PlaceholderLine height={40} width={20} style={styles.title} />\n\t\t\t\t\t\t<PlaceholderLine style={styles.title} noMargin />\n\t\t\t\t\t\t<PlaceholderLine style={styles.title} noMargin />\n\t\t\t\t\t\t<PlaceholderLine style={styles.title} noMargin />\n\t\t\t\t\t\t<PlaceholderLine style={styles.title} noMargin />\n\t\t\t\t\t\t<PlaceholderLine style={styles.title} noMargin />\n\t\t\t\t\t\t<PlaceholderLine style={styles.title} noMargin />\n\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</Placeholder>\n\t\t</Card>\n\t);\n};\n\nSkeletonDetailCard.defaultStyles = (theme: Theme): SkeletonDetailCardStyles => ({\n\tcontainer: {\n\t\tmarginTop: theme.spacing.unit * 3.5,\n\t\tpadding: theme.spacing.unit * 6,\n\t},\n\tcontent: {\n\t\tflex: 1,\n\t\tjustifyContent: 'center',\n\t},\n\tdesktopButtonSize: theme.typography.h4.fontSize!,\n\n\tmediaDesktop: {\n\t\talignSelf: 'flex-end',\n\t},\n\tmobileButtonSize: theme.typography.h5.fontSize!,\n\tmobileRoot: {\n\t\tpadding: theme.spacing.unit * 1,\n\t},\n\tmobileTitleSize: theme.typography.h5.fontSize!,\n\n\troot: {\n\t\tflex: 1,\n\t\tflexDirection: 'row',\n\t\tjustifyContent: 'space-between',\n\t},\n\n\ttitle: {\n\t\tflex: 1,\n\t\tmarginBottom: theme.spacing.unit * 3,\n\t},\n\ttitleSize: theme.typography.h5.fontSize!,\n\n\tdescriptionSize: theme.typography.body1.fontSize!,\n\n\timageView: {\n\t\tmarginBottom: theme.spacing.unit * 2,\n\t},\n\tlineMargin: {\n\t\tmarginVertical: theme.spacing.unit * 2,\n\t},\n});","import { Fade, Placeholder, PlaceholderLine, PlaceholderMedia } from 'rn-placeholder';\nimport { TextStyle, View, ViewStyle } from 'react-native';\nimport { Theme, isMobile } from '@bluebase/core';\n\nimport { Card } from '@bluebase/components';\nimport React from 'react';\n\nexport interface SkeletonCardStyles {\n\tfirstDesktop: ViewStyle;\n\tview: ViewStyle;\n\troot: ViewStyle;\n\tcontent: TextStyle;\n\tbuttonStyle: ViewStyle;\n\tfirstMobile: ViewStyle;\n\tmediaMobile: ViewStyle;\n\timageView: ViewStyle;\n\tlineMargin: ViewStyle;\n\tmediaDesktop: TextStyle;\n\ttitle: TextStyle;\n\tbrandTitle: any;\n\ttitleSize: number;\n\tbrandSize: number;\n\tbuttonSize: number;\n\tdesktopButtonSize?: number;\n\tmobileButtonStyle: ViewStyle;\n\tdescriptionSize: number;\n}\n\nexport interface SkeletonCardProps {\n\tstyles?: SkeletonCardStyles;\n}\n\nexport const ProductsSkeletonCard = (props: SkeletonCardProps) => {\n\treturn isMobile() ? <MobileCard {...props} /> : <DesktopCard {...props} />;\n};\n\nexport const MobileCard = (props: SkeletonCardProps) => {\n\tconst styles = props.styles as SkeletonCardStyles;\n\n\treturn (\n\t\t<Placeholder Animation={Fade}>\n\t\t\t<View style={styles.view} testID=\"MobileSkeletonView\">\n\t\t\t\t<View style={styles.imageView}>\n\t\t\t\t\t<PlaceholderMedia style={styles.mediaMobile} size={400} />\n\t\t\t\t</View>\n\t\t\t\t<PlaceholderLine width={20} style={styles.lineMargin} noMargin />\n\t\t\t\t<PlaceholderLine width={50} style={styles.lineMargin} noMargin />\n\t\t\t\t<PlaceholderLine\n\t\t\t\t\twidth={25}\n\t\t\t\t\tstyle={styles.mobileButtonStyle}\n\t\t\t\t\tnoMargin\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</Placeholder>\n\t);\n};\n\nexport const DesktopCard = (props: SkeletonCardProps) => {\n\tconst styles = props.styles as SkeletonCardStyles;\n\n\treturn (\n\t\t<Card style={styles.firstDesktop}>\n\t\t\t<Placeholder Animation={Fade}>\n\t\t\t\t<View style={styles.root} testID=\"DesktopSkeletonView\">\n\t\t\t\t\t<View style={styles.content}>\n\t\t\t\t\t\t<PlaceholderLine width={30} style={styles.title} noMargin />\n\t\t\t\t\t\t<PlaceholderLine width={38} style={styles.brandTitle} noMargin />\n\t\t\t\t\t\t{/* <Paragraph\n\t\t\t\t\t\t\tlineNumber={3}\n\t\t\t\t\t\t\ttextSize={styles.descriptionSize}\n\t\t\t\t\t\t\twidth=\"85%\"\n\t\t\t\t\t\t\tfirstLineWidth=\"85%\"\n\t\t\t\t\t\t\tlastLineWidth=\"25%\"\n\t\t\t\t\t\t\tisReady={false}\n\t\t\t\t\t\t\tlineSpacing={9}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{''}\n\t\t\t\t\t\t</Paragraph> */}\n\t\t\t\t\t\t<PlaceholderLine\n\t\t\t\t\t\t\twidth={26}\n\t\t\t\t\t\t\tstyle={styles.buttonStyle}\n\t\t\t\t\t\t\tnoMargin\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t\t<View style={styles.imageView}>\n\t\t\t\t\t\t<PlaceholderMedia style={styles.mediaDesktop} size={480} />\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</Placeholder>\n\t\t</Card>\n\t);\n};\n\nProductsSkeletonCard.defaultStyles = (theme: Theme): SkeletonCardStyles => ({\n\tbrandSize: theme.typography.h6.fontSize!,\n\tbrandTitle: {\n\t\tmarginBottom: theme.spacing.unit * 4,\n\t},\n\tbuttonSize: theme.spacing.unit * 4,\n\tbuttonStyle: {\n\t\tborderRadius: 0,\n\t\tmarginTop: theme.spacing.unit * 2,\n\t},\n\tcontent: {\n\t\tflex: 1,\n\t\tpadding: theme.spacing.unit * 6,\n\n\t},\n\tdesktopButtonSize: theme.spacing.unit * 6,\n\n\tfirstDesktop: {\n\t\t// flex: 1,\n\t\t// padding: theme.spacing.unit * 6,\n\t},\n\tfirstMobile: {\n\t\tflex: 1,\n\t\tpadding: theme.spacing.unit * 2,\n\t},\n\tmediaMobile: {\n\t\talignSelf: 'flex-start',\n\t},\n\n\tmobileButtonStyle: {\n\t\tborderRadius: 0,\n\t\tmarginVertical: theme.spacing.unit * 2,\n\t},\n\troot: {\n\t\tflexDirection: 'row',\n\t\tjustifyContent: 'space-between',\n\t},\n\n\tmediaDesktop: {\n\t\talignSelf: 'flex-end',\n\t},\n\ttitle: {\n\t\tmarginBottom: theme.spacing.unit * 2,\n\t},\n\ttitleSize: theme.typography.h5.fontSize!,\n\n\tdescriptionSize: theme.typography.body1.fontSize!,\n\n\timageView: {\n\t\tmarginBottom: theme.spacing.unit * 2,\n\t},\n\tlineMargin: {\n\t\tmarginVertical: theme.spacing.unit * 2,\n\t},\n\tview: {\n\t\tmarginBottom: theme.spacing.unit * 2,\n\t\tmarginHorizontal: theme.spacing.unit * 1,\n\t},\n});\n","export * from './AppIcon';\nexport { AppIcon as default } from './AppIcon';\n","export * from './ProductSummary';\nexport { ProductSummary as default } from './ProductSummary';\n","export * from './queries';\n","import gql from 'graphql-tag';\n\nexport const ProductDescriptionQuery = gql`\n\tquery ProductDescriptionQuery($id: ID) {\n\t\tnode(id: $id) {\n\t\t\t... on Product {\n\t\t\t\tid\n\t\t\t\tdescription\n\t\t\t}\n\t\t}\n\t}\n`;\n","import gql from 'graphql-tag';\n\nexport const ProductNodeQuery = gql`\n\tquery ProductNodeQuery($id: ID) {\n\t\tnode(id: $id) {\n\t\t\t... on Product {\n\t\t\t\tid\n\t\t\t\tname\n\t\t\t\tsummary\n\t\t\t\tinstallationComponent\n\t\t\t\tbrand {\n\t\t\t\t\tname\n\t\t\t\t}\n\t\t\t\tavatar\n\t\t\t}\n\t\t}\n\t}\n`;\n","export * from './ProductDescription';\nexport { ProductDescription as default } from './ProductDescription';\n","export * from './SkeletonDetailCard';\nexport { SkeletonDetailCard as default } from './SkeletonDetailCard';\n","export * from './SkeletonCard';\nexport { ProductsSkeletonCard as default } from './SkeletonCard';\n"],"sourceRoot":""}