hemfixarna-web-components 1.2.0 → 1.2.1

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 (39) hide show
  1. package/dist/cjs/hemfixarna-address_20.cjs.entry.js +29 -15
  2. package/dist/cjs/hemfixarna-address_20.cjs.entry.js.map +1 -1
  3. package/dist/cjs/hemfixarna-components.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/collection/components/hemfixarna-breadcrumbs/hemfixarna-breadcrumbs.js +20 -1
  6. package/dist/collection/components/hemfixarna-breadcrumbs/hemfixarna-breadcrumbs.js.map +1 -1
  7. package/dist/collection/components/hemfixarna-byggmax/hemfixarna-byggmax.js +11 -10
  8. package/dist/collection/components/hemfixarna-byggmax/hemfixarna-byggmax.js.map +1 -1
  9. package/dist/collection/components/hemfixarna-checkout/hemfixarna-checkout.js +2 -2
  10. package/dist/collection/components/hemfixarna-checkout/hemfixarna-checkout.js.map +1 -1
  11. package/dist/collection/components/hemfixarna-component/hemfixarna-component.js +48 -1
  12. package/dist/collection/components/hemfixarna-component/hemfixarna-component.js.map +1 -1
  13. package/dist/collection/components/hemfixarna-demo/hemfixarna-demo.js +1 -1
  14. package/dist/collection/components/hemfixarna-demo/hemfixarna-demo.js.map +1 -1
  15. package/dist/collection/components/hemfixarna-hornbach/hemfixarna-hornbach.js +28 -8
  16. package/dist/collection/components/hemfixarna-hornbach/hemfixarna-hornbach.js.map +1 -1
  17. package/dist/collection/components/hemfixarna-kund/hemfixarna-kund.js +9 -8
  18. package/dist/collection/components/hemfixarna-kund/hemfixarna-kund.js.map +1 -1
  19. package/dist/collection/components/hemfixarna-skanska/hemfixarna-skanska.js +20 -1
  20. package/dist/collection/components/hemfixarna-skanska/hemfixarna-skanska.js.map +1 -1
  21. package/dist/collection/components/hemfixarna-string/hemfixarna-string-furniture.js +9 -8
  22. package/dist/collection/components/hemfixarna-string/hemfixarna-string-furniture.js.map +1 -1
  23. package/dist/esm/hemfixarna-address_20.entry.js +29 -15
  24. package/dist/esm/hemfixarna-address_20.entry.js.map +1 -1
  25. package/dist/esm/hemfixarna-components.js +1 -1
  26. package/dist/esm/loader.js +1 -1
  27. package/dist/hemfixarna-components/hemfixarna-components.esm.js +1 -1
  28. package/dist/hemfixarna-components/p-5ae727bd.entry.js +2 -0
  29. package/dist/types/components/hemfixarna-breadcrumbs/hemfixarna-breadcrumbs.d.ts +1 -0
  30. package/dist/types/components/hemfixarna-byggmax/hemfixarna-byggmax.d.ts +1 -1
  31. package/dist/types/components/hemfixarna-component/hemfixarna-component.d.ts +2 -0
  32. package/dist/types/components/hemfixarna-hornbach/hemfixarna-hornbach.d.ts +2 -1
  33. package/dist/types/components/hemfixarna-kund/hemfixarna-kund.d.ts +1 -1
  34. package/dist/types/components/hemfixarna-skanska/hemfixarna-skanska.d.ts +1 -0
  35. package/dist/types/components/hemfixarna-string/hemfixarna-string-furniture.d.ts +1 -1
  36. package/dist/types/components.d.ts +18 -8
  37. package/package.json +1 -1
  38. package/dist/hemfixarna-components/p-8b5cb9c4.entry.js +0 -2
  39. /package/dist/hemfixarna-components/{p-8b5cb9c4.entry.js.map → p-5ae727bd.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"hemfixarna-component.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-component/hemfixarna-component.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Listen, Prop, State, Watch, getAssetPath, h } from '@stencil/core';\nimport state from '../../store';\nimport { Business, Category, Product, Service, TopCategory } from '../../types';\nimport { getCustomer, getOptions, getRot, getRut, getTaxonomy } from '../../utils/api';\nimport { getProductPriceWithRotAndRut } from '../../utils/calc';\nimport { scrollToTop } from '../../utils/scroll';\n\n@Component({\n tag: 'hemfixarna-component',\n styleUrl: 'hemfixarna.scss',\n shadow: true,\n assetsDirs: ['assets'],\n})\nexport class HemfixarnaComponent {\n @State() modal: boolean = false;\n @State() showModal: boolean = false;\n @State() tree: Category | null = null;\n @State() product: Product | null = null;\n @State() proppedProduct: Product | null = null;\n\n @Element() private el: HTMLElement;\n\n @Prop() slug?: string;\n @Prop() id?: string;\n @Prop() business: Business;\n @Prop() topCategory?: TopCategory;\n @Prop() forceOldTree?: boolean = false;\n\n loadCategoryOrProduct(id: string) {\n this.proppedProduct = null;\n if (id.startsWith('c-')) {\n const categories = [...state.customer.categories, ...state.customer.categories.map(c => c.sub_categories ?? [])].flat();\n const category = categories.find(c => c && c.id === id.replace('c-', ''));\n if (category) {\n state.selectedCustomerCategory = category;\n state.step = 2;\n }\n } else {\n const products = state.customer.categories\n .map(c => (c.show_products ? c.products : c.sub_categories ? c.sub_categories.map(c => c.products) : []))\n .flat()\n .flat();\n const product = products.find(p => p && p.fields.ID === parseInt(id));\n if (product) {\n state.selectedProduct = product.fields;\n state.step = 4;\n this.proppedProduct = product.fields;\n }\n }\n }\n\n @Watch('slug')\n async watchSlugChange(newValue: string) {\n if (this.slugIsOldFormat(newValue)) {\n this.fetchNewTaxonomy(newValue);\n } else if (state.customer && newValue) {\n this.loadCategoryOrProduct(newValue);\n }\n }\n\n @Watch('id')\n async watchIdChange(id: string) {\n if (id && state.customer) {\n this.loadCategoryOrProduct(id);\n }\n }\n\n async fetchNewTaxonomy(slug: string) {\n state.selectedCategory = null;\n state.selectedProduct = null;\n state.selectedService = null;\n\n const res = await getTaxonomy(slug);\n if (res?.code === 'not_found' || res?.code === 'rest_no_route') {\n console.log('taxonomy not found');\n } else if (res) {\n this.setTaxonomy(res);\n if ((res as Product)?.post_type === 'ikea_product') {\n this.product = res as Product;\n }\n }\n }\n\n slugIsOldFormat = (slug?: string) => {\n if (!slug) return false;\n return ['product', 'service', 'category'].some(str => slug.includes(str));\n };\n\n async componentWillLoad() {\n state.business = this.business;\n const cart = window.sessionStorage.getItem(`hemfixarna-${this.business}-cart`);\n if (cart) {\n state.cart = JSON.parse(cart);\n }\n const user = window.sessionStorage.getItem(`hemfixarna-${this.business}-user`);\n if (user) {\n state.user = JSON.parse(user);\n }\n\n const [tree, res, options, rut, rot] = await Promise.all([\n this.topCategory ? getTaxonomy(this.topCategory) : null,\n this.slug ? getTaxonomy(this.slug) : Promise.resolve(null),\n getOptions(),\n getRut(),\n getRot(),\n ]);\n\n if ((!this.slug || !this.slugIsOldFormat(this.slug)) && !this.forceOldTree) {\n try {\n const customer = await getCustomer(this.business);\n if (customer?.code === 'not_found') {\n console.warn('customer not found');\n } else if (customer) {\n state.customer = customer;\n if (this.id) {\n this.loadCategoryOrProduct(this.id);\n } else if (this.slug && !this.slugIsOldFormat(this.slug)) {\n this.loadCategoryOrProduct(this.slug);\n }\n }\n } catch (error) {\n console.warn('customer not found');\n }\n }\n\n if (tree?.code === 'not_found') {\n // console.warn('tree not found');\n } else if (tree) {\n this.tree = tree;\n }\n\n if (res?.code === 'not_found') {\n console.log('taxonomy not found');\n } else if (res) {\n this.setTaxonomy(res);\n if ((res as Product)?.post_type === 'ikea_product') {\n this.product = res as Product;\n }\n }\n\n state.rotOptions = rot;\n state.rutOptions = rut;\n state.options = options;\n }\n\n triggerScrollTotop = () => {\n const el = this.el.shadowRoot.querySelector('.hemfixarna_content');\n scrollToTop(el);\n };\n\n setTaxonomy(taxonomy: Category | Service | Product) {\n if (taxonomy) {\n if ((taxonomy as Category)?.taxonomy === 'service_cat') {\n state.selectedCategory = taxonomy as Category;\n state.step = 2;\n } else if ((taxonomy as Service)?.post_type === 'service') {\n state.selectedService = taxonomy as Service;\n state.selectedCategory = this.tree.sub_cats.find(c => c.services.find(s => s.ID === (taxonomy as Service).ID));\n state.step = 3;\n } else if ((taxonomy as Product)?.post_type === 'ikea_product') {\n state.selectedProduct = taxonomy as Product;\n state.selectedService = this.tree.sub_cats\n .map(c => c.services)\n .flat()\n .find(s => s.products.find(p => p.ID === state.selectedProduct.ID));\n state.selectedCategory = this.tree.sub_cats.find(c => c.services.find(s => s.ID === state.selectedService.ID));\n state.step = 4;\n }\n this.triggerScrollTotop();\n }\n }\n\n // Open close modal && click outside event\n openModal() {\n this.modal = true;\n setTimeout(() => {\n this.showModal = true;\n }, 50);\n }\n closeModal() {\n this.showModal = false;\n setTimeout(() => {\n this.modal = false;\n }, 200);\n }\n @Listen('click')\n handleClick(e: Event) {\n const el = this.el.shadowRoot.querySelector('.hemfixarna_modal');\n if (el) {\n const isClickInside = el.contains(e.composedPath()[0] as HTMLInputElement);\n if (!isClickInside) {\n this.closeModal();\n }\n }\n const infomodal = this.el.shadowRoot.querySelector('.hemfixarna_infomodal');\n if (infomodal) {\n const isClickInside = infomodal.contains(e.composedPath()[0] as HTMLInputElement);\n if (!isClickInside) {\n state.modal = null;\n }\n }\n }\n\n getCartLength() {\n return state.cart.reduce((acc, curr) => acc + curr.amount, 0);\n }\n\n render() {\n const logo = getAssetPath(`./assets/hemfixarna.svg`);\n\n return (\n <div class=\"hemfixarna\">\n <div class=\"hemfixarna_box\">\n <div>\n <div>\n <p>\n {this.product?.post_title || this.proppedProduct?.post_title || (\n <span>\n Montering\n <wbr />\n /Installation på plats - <strong>se priser här</strong>\n </span>\n )}\n {(this.product && this.slug?.includes('product')) || this.proppedProduct ? (\n <span>\n {' från'} <strong>{getProductPriceWithRotAndRut(this.proppedProduct || this.product)}kr</strong>\n </span>\n ) : null}\n </p>\n </div>\n <img src={logo} width={104} />\n </div>\n <button onClick={() => this.openModal()} class=\"hemfixarna_btn\">\n Till montering\n {this.getCartLength() > 0 && <span>{this.getCartLength()}</span>}\n </button>\n </div>\n {this.modal && (\n <div>\n <div class={`hemfixarna_modal ${this.showModal ? 'hemfixarna_modal--open' : ''}`}>\n {state.modal && (\n <div class=\"hemfixarna_infomodal\">\n {state.modal.title && <h2>{state.modal.title}</h2>}\n {state.modal.text.map((t: string) => (\n <p innerHTML={t}></p>\n ))}\n <div>\n <button onClick={() => (state.modal = null)}>Stäng</button>\n </div>\n </div>\n )}\n {(this.tree || state.customer) && <hemfixarna-breadcrumbs closeModal={() => this.closeModal()} tree={this.tree} />}\n {!state.customer || this.slugIsOldFormat(this.slug) ? (\n <div class={`hemfixarna_content hemfixarna_content--${state.step}`}>\n {/* // IF AT TOP LEVEL (step 1) */}\n {state.step === 1 && this.tree && <hemfixarna-start tree={this.tree} />}\n {/* // IF SELECTED CATEGORY (step 2) */}\n {state.step === 2 && state.selectedCategory && <hemfixarna-category />}\n {/* // IF SELECTED SERVICE (step 3) */}\n {state.step === 3 && state.selectedService && <hemfixarna-service />}\n {/* // IF SELECTED PRODUCT (step 4) */}\n {state.step === 4 && state.selectedProduct && <hemfixarna-product />}\n {/* // IF CHECKOUT (step 5) */}\n {state.step === 5 && <hemfixarna-cart tree={this.tree} />}\n {/* // IF ORDER CONFIRM (step 6) */}\n {state.step === 6 && <hemfixarna-order tree={this.tree} />}\n </div>\n ) : (\n <div class={`hemfixarna_content hemfixarna_content--${state.step}`}>\n {state.step < 4 && <hemfixarna-start />}\n {/* // IF SELECTED PRODUCT (step 4) */}\n {state.step === 4 && state.selectedProduct && <hemfixarna-product />}\n {/* // IF CHECKOUT (step 5) */}\n {state.step === 5 && <hemfixarna-cart tree={this.tree} />}\n {/* // IF ORDER CONFIRM (step 6) */}\n {state.step === 6 && <hemfixarna-order tree={this.tree} />}\n </div>\n )}\n </div>\n <div class={`hemfixarna_backdrop ${this.showModal ? 'hemfixarna_backdrop--open' : ''}`}></div>\n </div>\n )}\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"hemfixarna-component.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-component/hemfixarna-component.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Listen, Prop, State, Watch, getAssetPath, h } from '@stencil/core';\nimport state from '../../store';\nimport { Business, Category, Product, Service, TopCategory } from '../../types';\nimport { getCustomer, getOptions, getRot, getRut, getTaxonomy } from '../../utils/api';\nimport { getProductPriceWithRotAndRut } from '../../utils/calc';\nimport { scrollToTop } from '../../utils/scroll';\n\n@Component({\n tag: 'hemfixarna-component',\n styleUrl: 'hemfixarna.scss',\n shadow: true,\n assetsDirs: ['assets'],\n})\nexport class HemfixarnaComponent {\n @State() modal: boolean = false;\n @State() showModal: boolean = false;\n @State() tree: Category | null = null;\n @State() product: Product | null = null;\n @State() proppedProduct: Product | null = null;\n\n @Element() private el: HTMLElement;\n\n @Prop() slug?: string;\n @Prop() id?: string;\n @Prop() business: Business;\n @Prop() topCategory?: TopCategory;\n @Prop() forceOldTree?: boolean = false;\n @Prop() loadFromQuery?: boolean = false;\n @Prop() isDemo?: boolean = false;\n\n loadCategoryOrProduct(id: string) {\n this.proppedProduct = null;\n if (id.startsWith('c-')) {\n const categories = [...state.customer.categories, ...state.customer.categories.map(c => c.sub_categories ?? [])].flat();\n const category = categories.find(c => c && c.id === id.replace('c-', ''));\n if (category) {\n state.selectedCustomerCategory = category;\n state.step = 2;\n }\n } else {\n const products = state.customer.categories\n .map(c => (c.show_products ? c.products : c.sub_categories ? c.sub_categories.map(c => c.products) : []))\n .flat()\n .flat();\n const product = products.find(p => p && p.fields.ID === parseInt(id));\n if (product) {\n state.selectedProduct = product.fields;\n state.step = 4;\n this.proppedProduct = product.fields;\n }\n }\n }\n\n @Watch('slug')\n async watchSlugChange(newValue: string) {\n if (this.slugIsOldFormat(newValue)) {\n this.fetchNewTaxonomy(newValue);\n } else if (state.customer && newValue) {\n this.loadCategoryOrProduct(newValue);\n }\n }\n\n @Watch('id')\n async watchIdChange(id: string) {\n if (id && state.customer) {\n this.loadCategoryOrProduct(id);\n }\n }\n\n async fetchNewTaxonomy(slug: string) {\n state.selectedCategory = null;\n state.selectedProduct = null;\n state.selectedService = null;\n\n const res = await getTaxonomy(slug);\n if (res?.code === 'not_found' || res?.code === 'rest_no_route') {\n console.log('taxonomy not found');\n } else if (res) {\n this.setTaxonomy(res);\n if ((res as Product)?.post_type === 'ikea_product') {\n this.product = res as Product;\n }\n }\n }\n\n slugIsOldFormat = (slug?: string) => {\n if (!slug) return false;\n return ['product', 'service', 'category'].some(str => slug.includes(str));\n };\n\n async componentWillLoad() {\n state.business = this.business;\n const cart = window.sessionStorage.getItem(`hemfixarna-${this.business}-cart`);\n if (cart) {\n state.cart = JSON.parse(cart);\n }\n const user = window.sessionStorage.getItem(`hemfixarna-${this.business}-user`);\n if (user) {\n state.user = JSON.parse(user);\n }\n\n const [tree, res, options, rut, rot] = await Promise.all([\n this.topCategory ? getTaxonomy(this.topCategory) : null,\n this.slug ? getTaxonomy(this.slug) : Promise.resolve(null),\n getOptions(),\n getRut(),\n getRot(),\n ]);\n\n if ((!this.slug || !this.slugIsOldFormat(this.slug)) && !this.forceOldTree) {\n try {\n const customer = await getCustomer(this.business);\n if (customer?.code === 'not_found') {\n console.warn('customer not found');\n } else if (customer) {\n state.customer = customer;\n if (this.id) {\n this.loadCategoryOrProduct(this.id);\n } else if (this.slug && !this.slugIsOldFormat(this.slug)) {\n this.loadCategoryOrProduct(this.slug);\n }\n }\n } catch (error) {\n console.warn('customer not found');\n }\n }\n\n if (tree?.code === 'not_found') {\n // console.warn('tree not found');\n } else if (tree) {\n this.tree = tree;\n }\n\n if (res?.code === 'not_found') {\n console.log('taxonomy not found');\n } else if (res) {\n this.setTaxonomy(res);\n if ((res as Product)?.post_type === 'ikea_product') {\n this.product = res as Product;\n }\n }\n\n if (this.loadFromQuery) {\n const params = new URL(document.location.toString()).searchParams;\n this.id = params.get('id');\n if (!this.isDemo) {\n this.openModal();\n }\n }\n\n state.rotOptions = rot;\n state.rutOptions = rut;\n state.options = options;\n }\n\n triggerScrollTotop = () => {\n const el = this.el.shadowRoot.querySelector('.hemfixarna_content');\n scrollToTop(el);\n };\n\n setTaxonomy(taxonomy: Category | Service | Product) {\n if (taxonomy) {\n if ((taxonomy as Category)?.taxonomy === 'service_cat') {\n state.selectedCategory = taxonomy as Category;\n state.step = 2;\n } else if ((taxonomy as Service)?.post_type === 'service') {\n state.selectedService = taxonomy as Service;\n state.selectedCategory = this.tree.sub_cats.find(c => c.services.find(s => s.ID === (taxonomy as Service).ID));\n state.step = 3;\n } else if ((taxonomy as Product)?.post_type === 'ikea_product') {\n state.selectedProduct = taxonomy as Product;\n state.selectedService = this.tree.sub_cats\n .map(c => c.services)\n .flat()\n .find(s => s.products.find(p => p.ID === state.selectedProduct.ID));\n state.selectedCategory = this.tree.sub_cats.find(c => c.services.find(s => s.ID === state.selectedService.ID));\n state.step = 4;\n }\n this.triggerScrollTotop();\n }\n }\n\n // Open close modal && click outside event\n openModal() {\n this.modal = true;\n setTimeout(() => {\n this.showModal = true;\n }, 50);\n }\n closeModal() {\n this.showModal = false;\n setTimeout(() => {\n this.modal = false;\n }, 200);\n }\n @Listen('click')\n handleClick(e: Event) {\n if (this.loadFromQuery && !this.isDemo) return;\n const el = this.el.shadowRoot.querySelector('.hemfixarna_modal');\n if (el) {\n const isClickInside = el.contains(e.composedPath()[0] as HTMLInputElement);\n if (!isClickInside) {\n this.closeModal();\n }\n }\n const infomodal = this.el.shadowRoot.querySelector('.hemfixarna_infomodal');\n if (infomodal) {\n const isClickInside = infomodal.contains(e.composedPath()[0] as HTMLInputElement);\n if (!isClickInside) {\n state.modal = null;\n }\n }\n }\n\n getCartLength() {\n return state.cart.reduce((acc, curr) => acc + curr.amount, 0);\n }\n\n render() {\n const logo = getAssetPath(`./assets/hemfixarna.svg`);\n\n return (\n <div class=\"hemfixarna\">\n {!this.loadFromQuery || this.isDemo ? (\n <div class=\"hemfixarna_box\">\n <div>\n <div>\n <p>\n {this.product?.post_title || this.proppedProduct?.post_title || (\n <span>\n Montering\n <wbr />\n /Installation på plats - <strong>se priser här</strong>\n </span>\n )}\n {(this.product && this.slug?.includes('product')) || this.proppedProduct ? (\n <span>\n {' från'} <strong>{getProductPriceWithRotAndRut(this.proppedProduct || this.product)}kr</strong>\n </span>\n ) : null}\n </p>\n </div>\n <img src={logo} width={104} />\n </div>\n <button onClick={() => this.openModal()} class=\"hemfixarna_btn\">\n Till montering\n {this.getCartLength() > 0 && <span>{this.getCartLength()}</span>}\n </button>\n </div>\n ) : null}\n {this.modal && (\n <div>\n <div class={`hemfixarna_modal ${this.showModal ? 'hemfixarna_modal--open' : ''}`}>\n {state.modal && (\n <div class=\"hemfixarna_infomodal\">\n {state.modal.title && <h2>{state.modal.title}</h2>}\n {state.modal.text.map((t: string) => (\n <p innerHTML={t}></p>\n ))}\n <div>\n <button onClick={() => (state.modal = null)}>Stäng</button>\n </div>\n </div>\n )}\n {(this.tree || state.customer) && <hemfixarna-breadcrumbs loadFromQuery={this.loadFromQuery} closeModal={() => this.closeModal()} tree={this.tree} />}\n {!state.customer || this.slugIsOldFormat(this.slug) ? (\n <div class={`hemfixarna_content hemfixarna_content--${state.step}`}>\n {/* // IF AT TOP LEVEL (step 1) */}\n {state.step === 1 && this.tree && <hemfixarna-start tree={this.tree} />}\n {/* // IF SELECTED CATEGORY (step 2) */}\n {state.step === 2 && state.selectedCategory && <hemfixarna-category />}\n {/* // IF SELECTED SERVICE (step 3) */}\n {state.step === 3 && state.selectedService && <hemfixarna-service />}\n {/* // IF SELECTED PRODUCT (step 4) */}\n {state.step === 4 && state.selectedProduct && <hemfixarna-product />}\n {/* // IF CHECKOUT (step 5) */}\n {state.step === 5 && <hemfixarna-cart tree={this.tree} />}\n {/* // IF ORDER CONFIRM (step 6) */}\n {state.step === 6 && <hemfixarna-order tree={this.tree} />}\n </div>\n ) : (\n <div class={`hemfixarna_content hemfixarna_content--${state.step}`}>\n {state.step < 4 && <hemfixarna-start />}\n {/* // IF SELECTED PRODUCT (step 4) */}\n {state.step === 4 && state.selectedProduct && <hemfixarna-product />}\n {/* // IF CHECKOUT (step 5) */}\n {state.step === 5 && <hemfixarna-cart tree={this.tree} />}\n {/* // IF ORDER CONFIRM (step 6) */}\n {state.step === 6 && <hemfixarna-order tree={this.tree} />}\n </div>\n )}\n </div>\n <div class={`hemfixarna_backdrop ${this.showModal ? 'hemfixarna_backdrop--open' : ''}`}></div>\n </div>\n )}\n </div>\n );\n }\n}\n"]}
@@ -61,7 +61,7 @@ export class MyComponent {
61
61
  }
62
62
  render() {
63
63
  const copy = getAssetPath(`./assets/copy.png`);
64
- return (h("div", null, h("div", null, h("div", { onClick: () => this.copyExample(), class: "hemfixarna_example" }, h("p", null, this.getExample()), h("img", { src: copy, height: 20 }), h("span", { class: "hemfixarna_example--tooltip" }, this.tooltipText)), process.env.BUSINESS === Business.byggmax && (h("hemfixarna-byggmax", { forceOldTree: Boolean(process.env.FORCE_OLD_TREE), slug: this.selectedSlug, id: this.selectedID })), process.env.BUSINESS === Business.skanska && h("hemfixarna-skanska", { id: this.selectedID }), process.env.BUSINESS === Business.string && h("hemfixarna-string-furniture", { id: this.selectedID }), process.env.BUSINESS === Business.hornbach && h("hemfixarna-hornbach", { id: this.selectedID }), process.env.BUSINESS === Business.kund && h("hemfixarna-kund", { id: this.selectedID }), h("div", { class: "hemfixarna_install" }, h("div", { onClick: () => this.copyCdn(), class: "hemfixarna_example" }, h("p", null, this.cdnLink), h("span", { class: "hemfixarna_example--tooltip" }, this.tooltipText), h("img", { src: copy, height: 20 })))), h("ul", { class: "hemfixarna_categories" }, this.customer ? (h("div", null, this.customer.categories.map(c => (h("li", null, h("div", { class: "hemfixarna_categories--label hemfixarna_categories--label--big" }, h("div", null, h("p", null, c.name), h("span", null, `c-${c.id}`)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(`c-${c.id}`) }, "Kopiera ID"), h("button", { onClick: () => (this.selectedID = `c-${c.id}`) }, "Ladda kategori"))), c.show_products && c.products ? (h("ul", null, c.products.map(p => (h("li", null, h("div", { class: "hemfixarna_categories--label hemfixarna_product--label" }, h("div", null, h("p", null, p.fields.post_title), h("span", null, p.fields.ID)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(String(p.fields.ID)) }, "Kopiera ID"), h("button", { onClick: () => (this.selectedID = String(p.fields.ID)) }, "Ladda produkt")))))))) : (h("ul", null, c.sub_categories &&
64
+ return (h("div", null, h("div", null, h("div", { onClick: () => this.copyExample(), class: "hemfixarna_example" }, h("p", null, this.getExample()), h("img", { src: copy, height: 20 }), h("span", { class: "hemfixarna_example--tooltip" }, this.tooltipText)), process.env.BUSINESS === Business.byggmax && (h("hemfixarna-byggmax", { forceOldTree: Boolean(process.env.FORCE_OLD_TREE), slug: this.selectedSlug, id: this.selectedID })), process.env.BUSINESS === Business.skanska && h("hemfixarna-skanska", { id: this.selectedID }), process.env.BUSINESS === Business.string && h("hemfixarna-string-furniture", { id: this.selectedID }), process.env.BUSINESS === Business.hornbach && h("hemfixarna-hornbach", { isDemo: true, id: this.selectedID }), process.env.BUSINESS === Business.kund && h("hemfixarna-kund", { id: this.selectedID }), h("div", { class: "hemfixarna_install" }, h("div", { onClick: () => this.copyCdn(), class: "hemfixarna_example" }, h("p", null, this.cdnLink), h("span", { class: "hemfixarna_example--tooltip" }, this.tooltipText), h("img", { src: copy, height: 20 })))), h("ul", { class: "hemfixarna_categories" }, this.customer ? (h("div", null, this.customer.categories.map(c => (h("li", null, h("div", { class: "hemfixarna_categories--label hemfixarna_categories--label--big" }, h("div", null, h("p", null, c.name), h("span", null, `c-${c.id}`)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(`c-${c.id}`) }, "Kopiera ID"), h("button", { onClick: () => (this.selectedID = `c-${c.id}`) }, "Ladda kategori"))), c.show_products && c.products ? (h("ul", null, c.products.map(p => (h("li", null, h("div", { class: "hemfixarna_categories--label hemfixarna_product--label" }, h("div", null, h("p", null, p.fields.post_title), h("span", null, p.fields.ID)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(String(p.fields.ID)) }, "Kopiera ID"), h("button", { onClick: () => (this.selectedID = String(p.fields.ID)) }, "Ladda produkt")))))))) : (h("ul", null, c.sub_categories &&
65
65
  c.sub_categories.map(sc => (h("li", null, h("div", { class: "hemfixarna_categories--label" }, h("div", null, h("p", null, sc.name), h("span", null, `c-${sc.id}`)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(`c-${sc.id}`) }, "Kopiera ID"), h("button", { onClick: () => (this.selectedID = `c-${sc.id}`) }, "Ladda kategori"))), h("ul", null, sc.products.map(p => (h("li", null, h("div", { class: "hemfixarna_categories--label hemfixarna_product--label" }, h("div", null, h("p", null, p.fields.post_title), h("span", null, p.fields.ID)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(String(p.fields.ID)) }, "Kopiera ID"), h("button", { onClick: () => (this.selectedID = String(p.fields.ID)) }, "Ladda produkt"))))))))))))))))) : (h("div", null, this.tree.sub_cats.map(c => (h("li", null, h("div", { class: "hemfixarna_categories--label hemfixarna_categories--label--big" }, h("div", null, h("p", null, c.name), h("span", null, `category/${c.slug}`)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(`category/${c.slug}`) }, "Kopiera slug"), h("button", { onClick: () => (this.selectedSlug = `category/${c.slug}`) }, "Ladda kategori"))), h("ul", null, c.services.map(sc => (h("li", null, h("div", { class: "hemfixarna_categories--label" }, h("div", null, h("p", null, sc.post_title), h("span", null, `service/${sc.post_name}`)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(`service/${sc.post_name}`) }, "Kopiera slug"), h("button", { onClick: () => (this.selectedSlug = `service/${sc.post_name}`) }, "Ladda kategori"))), h("ul", null, sc.products.map(sc => (h("li", null, h("div", { class: "hemfixarna_categories--label" }, h("div", null, h("p", null, sc.post_title), h("span", null, `product/${sc.post_name}`)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(`product/${sc.post_name}`) }, "Kopiera slug"), h("button", { onClick: () => (this.selectedSlug = `product/${sc.post_name}`) }, "Ladda kategori")))))))))))))))))));
66
66
  }
67
67
  static get is() { return "hemfixarna-demo"; }
@@ -1 +1 @@
1
- {"version":3,"file":"hemfixarna-demo.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-demo/hemfixarna-demo.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, State, getAssetPath, h } from '@stencil/core';\nimport { Business, Category, Customer, TopCategory } from '../../types';\nimport { getCustomer, getTaxonomy } from '../../utils/api';\n\n@Component({\n tag: 'hemfixarna-demo',\n styleUrl: 'hemfixarna-demo.scss',\n shadow: true,\n})\nexport class MyComponent {\n @State() selectedSlug: string;\n @State() selectedID: string;\n @State() tooltipText: string = 'Kopiera till urklipp';\n @State() tree: Category | null = null;\n @State() customer: Customer | null = null;\n\n getTopLevelCategory() {\n switch (process.env.BUSINESS as Business) {\n case Business.byggmax:\n return TopCategory.byggmax;\n default:\n return '';\n }\n }\n\n async componentWillLoad() {\n if (process.env.FORCE_OLD_TREE) {\n const tree = await getTaxonomy(this.getTopLevelCategory());\n if (tree?.code === 'not_found') {\n // console.warn('tree not found');\n } else if (tree) {\n this.tree = tree;\n }\n } else {\n const customer = await getCustomer(process.env.BUSINESS);\n if (customer.code !== 'not_found' && customer) {\n this.customer = customer;\n }\n }\n }\n\n getExample() {\n return `<hemfixarna-${process.env.BUSINESS}${this.selectedSlug ? ` slug=\"${this.selectedSlug}\" ` : ''}${this.selectedID ? ` id=\"${this.selectedID}\" ` : ''}></hemfixarna-${\n process.env.BUSINESS\n }>`;\n }\n\n copyExample() {\n navigator.clipboard.writeText(this.getExample());\n this.tooltipText = 'Snippet kopierad';\n setTimeout(() => {\n this.tooltipText = 'Kopiera till urklipp';\n }, 2000);\n }\n\n cdnLink = '<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm//hemfixarna-web-components@latest/dist/hemfixarna-components/hemfixarna-components.esm.js\"></script>';\n\n copyCdn() {\n navigator.clipboard.writeText(this.cdnLink);\n this.tooltipText = 'Text kopierad';\n setTimeout(() => {\n this.tooltipText = 'Kopiera till urklipp';\n }, 2000);\n }\n\n copyNpmInstall() {\n navigator.clipboard.writeText('npm i hemfixarna-web-components');\n this.tooltipText = 'Text kopierad';\n setTimeout(() => {\n this.tooltipText = 'Kopiera till urklipp';\n }, 2000);\n }\n\n render() {\n const copy = getAssetPath(`./assets/copy.png`);\n\n return (\n <div>\n <div>\n <div onClick={() => this.copyExample()} class=\"hemfixarna_example\">\n <p>{this.getExample()}</p>\n <img src={copy} height={20} />\n <span class=\"hemfixarna_example--tooltip\">{this.tooltipText}</span>\n </div>\n {(process.env.BUSINESS as Business) === Business.byggmax && (\n <hemfixarna-byggmax forceOldTree={Boolean(process.env.FORCE_OLD_TREE)} slug={this.selectedSlug} id={this.selectedID} />\n )}\n {(process.env.BUSINESS as Business) === Business.skanska && <hemfixarna-skanska id={this.selectedID} />}\n {(process.env.BUSINESS as Business) === Business.string && <hemfixarna-string-furniture id={this.selectedID} />}\n {(process.env.BUSINESS as Business) === Business.hornbach && <hemfixarna-hornbach id={this.selectedID} />}\n {(process.env.BUSINESS as Business) === Business.kund && <hemfixarna-kund id={this.selectedID} />}\n <div class=\"hemfixarna_install\">\n <div onClick={() => this.copyCdn()} class=\"hemfixarna_example\">\n <p>{this.cdnLink}</p>\n <span class=\"hemfixarna_example--tooltip\">{this.tooltipText}</span>\n <img src={copy} height={20} />\n </div>\n </div>\n </div>\n <ul class=\"hemfixarna_categories\">\n {this.customer ? (\n <div>\n {this.customer.categories.map(c => (\n <li>\n <div class=\"hemfixarna_categories--label hemfixarna_categories--label--big\">\n <div>\n <p>{c.name}</p>\n <span>{`c-${c.id}`}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(`c-${c.id}`)}>Kopiera ID</button>\n <button onClick={() => (this.selectedID = `c-${c.id}`)}>Ladda kategori</button>\n </div>\n </div>\n {c.show_products && c.products ? (\n <ul>\n {c.products.map(p => (\n <li>\n <div class=\"hemfixarna_categories--label hemfixarna_product--label\">\n <div>\n <p>{p.fields.post_title}</p>\n <span>{p.fields.ID}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(String(p.fields.ID))}>Kopiera ID</button>\n <button onClick={() => (this.selectedID = String(p.fields.ID))}>Ladda produkt</button>\n </div>\n </div>\n </li>\n ))}\n </ul>\n ) : (\n <ul>\n {c.sub_categories &&\n c.sub_categories.map(sc => (\n <li>\n <div class=\"hemfixarna_categories--label\">\n <div>\n <p>{sc.name}</p>\n <span>{`c-${sc.id}`}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(`c-${sc.id}`)}>Kopiera ID</button>\n <button onClick={() => (this.selectedID = `c-${sc.id}`)}>Ladda kategori</button>\n </div>\n </div>\n <ul>\n {sc.products.map(p => (\n <li>\n <div class=\"hemfixarna_categories--label hemfixarna_product--label\">\n <div>\n <p>{p.fields.post_title}</p>\n <span>{p.fields.ID}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(String(p.fields.ID))}>Kopiera ID</button>\n <button onClick={() => (this.selectedID = String(p.fields.ID))}>Ladda produkt</button>\n </div>\n </div>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n )}\n </li>\n ))}\n </div>\n ) : (\n <div>\n {this.tree.sub_cats.map(c => (\n <li>\n <div class=\"hemfixarna_categories--label hemfixarna_categories--label--big\">\n <div>\n <p>{c.name}</p>\n <span>{`category/${c.slug}`}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(`category/${c.slug}`)}>Kopiera slug</button>\n <button onClick={() => (this.selectedSlug = `category/${c.slug}`)}>Ladda kategori</button>\n </div>\n </div>\n <ul>\n {c.services.map(sc => (\n <li>\n <div class=\"hemfixarna_categories--label\">\n <div>\n <p>{sc.post_title}</p>\n <span>{`service/${sc.post_name}`}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(`service/${sc.post_name}`)}>Kopiera slug</button>\n <button onClick={() => (this.selectedSlug = `service/${sc.post_name}`)}>Ladda kategori</button>\n </div>\n </div>\n <ul>\n {sc.products.map(sc => (\n <li>\n <div class=\"hemfixarna_categories--label\">\n <div>\n <p>{sc.post_title}</p>\n <span>{`product/${sc.post_name}`}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(`product/${sc.post_name}`)}>Kopiera slug</button>\n <button onClick={() => (this.selectedSlug = `product/${sc.post_name}`)}>Ladda kategori</button>\n </div>\n </div>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </div>\n )}\n </ul>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"hemfixarna-demo.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-demo/hemfixarna-demo.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, State, getAssetPath, h } from '@stencil/core';\nimport { Business, Category, Customer, TopCategory } from '../../types';\nimport { getCustomer, getTaxonomy } from '../../utils/api';\n\n@Component({\n tag: 'hemfixarna-demo',\n styleUrl: 'hemfixarna-demo.scss',\n shadow: true,\n})\nexport class MyComponent {\n @State() selectedSlug: string;\n @State() selectedID: string;\n @State() tooltipText: string = 'Kopiera till urklipp';\n @State() tree: Category | null = null;\n @State() customer: Customer | null = null;\n\n getTopLevelCategory() {\n switch (process.env.BUSINESS as Business) {\n case Business.byggmax:\n return TopCategory.byggmax;\n default:\n return '';\n }\n }\n\n async componentWillLoad() {\n if (process.env.FORCE_OLD_TREE) {\n const tree = await getTaxonomy(this.getTopLevelCategory());\n if (tree?.code === 'not_found') {\n // console.warn('tree not found');\n } else if (tree) {\n this.tree = tree;\n }\n } else {\n const customer = await getCustomer(process.env.BUSINESS);\n if (customer.code !== 'not_found' && customer) {\n this.customer = customer;\n }\n }\n }\n\n getExample() {\n return `<hemfixarna-${process.env.BUSINESS}${this.selectedSlug ? ` slug=\"${this.selectedSlug}\" ` : ''}${this.selectedID ? ` id=\"${this.selectedID}\" ` : ''}></hemfixarna-${\n process.env.BUSINESS\n }>`;\n }\n\n copyExample() {\n navigator.clipboard.writeText(this.getExample());\n this.tooltipText = 'Snippet kopierad';\n setTimeout(() => {\n this.tooltipText = 'Kopiera till urklipp';\n }, 2000);\n }\n\n cdnLink = '<script type=\"module\" src=\"https://cdn.jsdelivr.net/npm//hemfixarna-web-components@latest/dist/hemfixarna-components/hemfixarna-components.esm.js\"></script>';\n\n copyCdn() {\n navigator.clipboard.writeText(this.cdnLink);\n this.tooltipText = 'Text kopierad';\n setTimeout(() => {\n this.tooltipText = 'Kopiera till urklipp';\n }, 2000);\n }\n\n copyNpmInstall() {\n navigator.clipboard.writeText('npm i hemfixarna-web-components');\n this.tooltipText = 'Text kopierad';\n setTimeout(() => {\n this.tooltipText = 'Kopiera till urklipp';\n }, 2000);\n }\n\n render() {\n const copy = getAssetPath(`./assets/copy.png`);\n\n return (\n <div>\n <div>\n <div onClick={() => this.copyExample()} class=\"hemfixarna_example\">\n <p>{this.getExample()}</p>\n <img src={copy} height={20} />\n <span class=\"hemfixarna_example--tooltip\">{this.tooltipText}</span>\n </div>\n {(process.env.BUSINESS as Business) === Business.byggmax && (\n <hemfixarna-byggmax forceOldTree={Boolean(process.env.FORCE_OLD_TREE)} slug={this.selectedSlug} id={this.selectedID} />\n )}\n {(process.env.BUSINESS as Business) === Business.skanska && <hemfixarna-skanska id={this.selectedID} />}\n {(process.env.BUSINESS as Business) === Business.string && <hemfixarna-string-furniture id={this.selectedID} />}\n {(process.env.BUSINESS as Business) === Business.hornbach && <hemfixarna-hornbach isDemo id={this.selectedID} />}\n {(process.env.BUSINESS as Business) === Business.kund && <hemfixarna-kund id={this.selectedID} />}\n <div class=\"hemfixarna_install\">\n <div onClick={() => this.copyCdn()} class=\"hemfixarna_example\">\n <p>{this.cdnLink}</p>\n <span class=\"hemfixarna_example--tooltip\">{this.tooltipText}</span>\n <img src={copy} height={20} />\n </div>\n </div>\n </div>\n <ul class=\"hemfixarna_categories\">\n {this.customer ? (\n <div>\n {this.customer.categories.map(c => (\n <li>\n <div class=\"hemfixarna_categories--label hemfixarna_categories--label--big\">\n <div>\n <p>{c.name}</p>\n <span>{`c-${c.id}`}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(`c-${c.id}`)}>Kopiera ID</button>\n <button onClick={() => (this.selectedID = `c-${c.id}`)}>Ladda kategori</button>\n </div>\n </div>\n {c.show_products && c.products ? (\n <ul>\n {c.products.map(p => (\n <li>\n <div class=\"hemfixarna_categories--label hemfixarna_product--label\">\n <div>\n <p>{p.fields.post_title}</p>\n <span>{p.fields.ID}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(String(p.fields.ID))}>Kopiera ID</button>\n <button onClick={() => (this.selectedID = String(p.fields.ID))}>Ladda produkt</button>\n </div>\n </div>\n </li>\n ))}\n </ul>\n ) : (\n <ul>\n {c.sub_categories &&\n c.sub_categories.map(sc => (\n <li>\n <div class=\"hemfixarna_categories--label\">\n <div>\n <p>{sc.name}</p>\n <span>{`c-${sc.id}`}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(`c-${sc.id}`)}>Kopiera ID</button>\n <button onClick={() => (this.selectedID = `c-${sc.id}`)}>Ladda kategori</button>\n </div>\n </div>\n <ul>\n {sc.products.map(p => (\n <li>\n <div class=\"hemfixarna_categories--label hemfixarna_product--label\">\n <div>\n <p>{p.fields.post_title}</p>\n <span>{p.fields.ID}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(String(p.fields.ID))}>Kopiera ID</button>\n <button onClick={() => (this.selectedID = String(p.fields.ID))}>Ladda produkt</button>\n </div>\n </div>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n )}\n </li>\n ))}\n </div>\n ) : (\n <div>\n {this.tree.sub_cats.map(c => (\n <li>\n <div class=\"hemfixarna_categories--label hemfixarna_categories--label--big\">\n <div>\n <p>{c.name}</p>\n <span>{`category/${c.slug}`}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(`category/${c.slug}`)}>Kopiera slug</button>\n <button onClick={() => (this.selectedSlug = `category/${c.slug}`)}>Ladda kategori</button>\n </div>\n </div>\n <ul>\n {c.services.map(sc => (\n <li>\n <div class=\"hemfixarna_categories--label\">\n <div>\n <p>{sc.post_title}</p>\n <span>{`service/${sc.post_name}`}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(`service/${sc.post_name}`)}>Kopiera slug</button>\n <button onClick={() => (this.selectedSlug = `service/${sc.post_name}`)}>Ladda kategori</button>\n </div>\n </div>\n <ul>\n {sc.products.map(sc => (\n <li>\n <div class=\"hemfixarna_categories--label\">\n <div>\n <p>{sc.post_title}</p>\n <span>{`product/${sc.post_name}`}</span>\n </div>\n <div>\n <button onClick={() => navigator.clipboard.writeText(`product/${sc.post_name}`)}>Kopiera slug</button>\n <button onClick={() => (this.selectedSlug = `product/${sc.post_name}`)}>Ladda kategori</button>\n </div>\n </div>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </div>\n )}\n </ul>\n </div>\n );\n }\n}\n"]}
@@ -3,10 +3,11 @@ import { Business } from '../../types';
3
3
  export class MyComponent {
4
4
  constructor() {
5
5
  this.id = undefined;
6
- this.customer = undefined;
6
+ this.loadFromQuery = true;
7
+ this.isDemo = false;
7
8
  }
8
9
  render() {
9
- return h("hemfixarna-component", { id: this.id, business: Business.hornbach });
10
+ return h("hemfixarna-component", { isDemo: this.isDemo, loadFromQuery: this.loadFromQuery, id: this.id, business: Business.hornbach });
10
11
  }
11
12
  static get is() { return "hemfixarna-hornbach"; }
12
13
  static get encapsulation() { return "shadow"; }
@@ -39,12 +40,12 @@ export class MyComponent {
39
40
  "attribute": "id",
40
41
  "reflect": false
41
42
  },
42
- "customer": {
43
- "type": "string",
43
+ "loadFromQuery": {
44
+ "type": "boolean",
44
45
  "mutable": false,
45
46
  "complexType": {
46
- "original": "string",
47
- "resolved": "string",
47
+ "original": "boolean",
48
+ "resolved": "boolean",
48
49
  "references": {}
49
50
  },
50
51
  "required": false,
@@ -53,8 +54,27 @@ export class MyComponent {
53
54
  "tags": [],
54
55
  "text": ""
55
56
  },
56
- "attribute": "customer",
57
- "reflect": false
57
+ "attribute": "load-from-query",
58
+ "reflect": false,
59
+ "defaultValue": "true"
60
+ },
61
+ "isDemo": {
62
+ "type": "boolean",
63
+ "mutable": false,
64
+ "complexType": {
65
+ "original": "boolean",
66
+ "resolved": "boolean",
67
+ "references": {}
68
+ },
69
+ "required": false,
70
+ "optional": true,
71
+ "docs": {
72
+ "tags": [],
73
+ "text": ""
74
+ },
75
+ "attribute": "is-demo",
76
+ "reflect": false,
77
+ "defaultValue": "false"
58
78
  }
59
79
  };
60
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hemfixarna-hornbach.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-hornbach/hemfixarna-hornbach.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,MAAM,OAAO,WAAW;;;;;EAItB,MAAM;IACJ,OAAO,4BAAsB,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAyB,CAAC;EACjG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business } from '../../types';\n\n@Component({\n tag: 'hemfixarna-hornbach',\n styleUrl: 'hemfixarna-hornbach.scss',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() customer?: string;\n\n render() {\n return <hemfixarna-component id={this.id} business={Business.hornbach}></hemfixarna-component>;\n }\n}\n"]}
1
+ {"version":3,"file":"hemfixarna-hornbach.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-hornbach/hemfixarna-hornbach.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,MAAM,OAAO,WAAW;;;yBAEY,IAAI;kBACX,KAAK;;EAEhC,MAAM;IACJ,OAAO,4BAAsB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAAyB,CAAC;EACzJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business } from '../../types';\n\n@Component({\n tag: 'hemfixarna-hornbach',\n styleUrl: 'hemfixarna-hornbach.scss',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() loadFromQuery?: boolean = true;\n @Prop() isDemo?: boolean = false;\n\n render() {\n return <hemfixarna-component isDemo={this.isDemo} loadFromQuery={this.loadFromQuery} id={this.id} business={Business.hornbach}></hemfixarna-component>;\n }\n}\n"]}
@@ -3,10 +3,10 @@ import { Business } from '../../types';
3
3
  export class MyComponent {
4
4
  constructor() {
5
5
  this.id = undefined;
6
- this.customer = undefined;
6
+ this.loadFromQuery = false;
7
7
  }
8
8
  render() {
9
- return h("hemfixarna-component", { id: this.id, business: Business.kund });
9
+ return h("hemfixarna-component", { loadFromQuery: this.loadFromQuery, id: this.id, business: Business.kund });
10
10
  }
11
11
  static get is() { return "hemfixarna-kund"; }
12
12
  static get encapsulation() { return "shadow"; }
@@ -29,12 +29,12 @@ export class MyComponent {
29
29
  "attribute": "id",
30
30
  "reflect": false
31
31
  },
32
- "customer": {
33
- "type": "string",
32
+ "loadFromQuery": {
33
+ "type": "boolean",
34
34
  "mutable": false,
35
35
  "complexType": {
36
- "original": "string",
37
- "resolved": "string",
36
+ "original": "boolean",
37
+ "resolved": "boolean",
38
38
  "references": {}
39
39
  },
40
40
  "required": false,
@@ -43,8 +43,9 @@ export class MyComponent {
43
43
  "tags": [],
44
44
  "text": ""
45
45
  },
46
- "attribute": "customer",
47
- "reflect": false
46
+ "attribute": "load-from-query",
47
+ "reflect": false,
48
+ "defaultValue": "false"
48
49
  }
49
50
  };
50
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hemfixarna-kund.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-kund/hemfixarna-kund.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMvC,MAAM,OAAO,WAAW;;;;;EAItB,MAAM;IACJ,OAAO,4BAAsB,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAyB,CAAC;EAC7F,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business } from '../../types';\n\n@Component({\n tag: 'hemfixarna-kund',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() customer?: string;\n\n render() {\n return <hemfixarna-component id={this.id} business={Business.kund}></hemfixarna-component>;\n }\n}\n"]}
1
+ {"version":3,"file":"hemfixarna-kund.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-kund/hemfixarna-kund.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMvC,MAAM,OAAO,WAAW;;;yBAEY,KAAK;;EAEvC,MAAM;IACJ,OAAO,4BAAsB,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,GAAyB,CAAC;EAChI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business } from '../../types';\n\n@Component({\n tag: 'hemfixarna-kund',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() loadFromQuery?: boolean = false;\n\n render() {\n return <hemfixarna-component loadFromQuery={this.loadFromQuery} id={this.id} business={Business.kund}></hemfixarna-component>;\n }\n}\n"]}
@@ -4,9 +4,10 @@ export class MyComponent {
4
4
  constructor() {
5
5
  this.id = undefined;
6
6
  this.customer = undefined;
7
+ this.loadFromQuery = false;
7
8
  }
8
9
  render() {
9
- return h("hemfixarna-component", { id: this.id, business: Business.skanska });
10
+ return h("hemfixarna-component", { loadFromQuery: this.loadFromQuery, id: this.id, business: Business.skanska });
10
11
  }
11
12
  static get is() { return "hemfixarna-skanska"; }
12
13
  static get encapsulation() { return "shadow"; }
@@ -55,6 +56,24 @@ export class MyComponent {
55
56
  },
56
57
  "attribute": "customer",
57
58
  "reflect": false
59
+ },
60
+ "loadFromQuery": {
61
+ "type": "boolean",
62
+ "mutable": false,
63
+ "complexType": {
64
+ "original": "boolean",
65
+ "resolved": "boolean",
66
+ "references": {}
67
+ },
68
+ "required": false,
69
+ "optional": true,
70
+ "docs": {
71
+ "tags": [],
72
+ "text": ""
73
+ },
74
+ "attribute": "load-from-query",
75
+ "reflect": false,
76
+ "defaultValue": "false"
58
77
  }
59
78
  };
60
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hemfixarna-skanska.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-skanska/hemfixarna-skanska.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,MAAM,OAAO,WAAW;;;;;EAItB,MAAM;IACJ,OAAO,4BAAsB,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,GAAyB,CAAC;EAChG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business } from '../../types';\n\n@Component({\n tag: 'hemfixarna-skanska',\n styleUrl: 'hemfixarna-skanska.scss',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() customer?: string;\n\n render() {\n return <hemfixarna-component id={this.id} business={Business.skanska}></hemfixarna-component>;\n }\n}\n"]}
1
+ {"version":3,"file":"hemfixarna-skanska.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-skanska/hemfixarna-skanska.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,MAAM,OAAO,WAAW;;;;yBAGY,KAAK;;EAEvC,MAAM;IACJ,OAAO,4BAAsB,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,GAAyB,CAAC;EACnI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business } from '../../types';\n\n@Component({\n tag: 'hemfixarna-skanska',\n styleUrl: 'hemfixarna-skanska.scss',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() customer?: string;\n @Prop() loadFromQuery?: boolean = false;\n\n render() {\n return <hemfixarna-component loadFromQuery={this.loadFromQuery} id={this.id} business={Business.skanska}></hemfixarna-component>;\n }\n}\n"]}
@@ -3,10 +3,10 @@ import { Business } from '../../types';
3
3
  export class MyComponent {
4
4
  constructor() {
5
5
  this.id = undefined;
6
- this.customer = undefined;
6
+ this.loadFromQuery = false;
7
7
  }
8
8
  render() {
9
- return h("hemfixarna-component", { id: this.id, business: Business.string });
9
+ return h("hemfixarna-component", { loadFromQuery: this.loadFromQuery, id: this.id, business: Business.string });
10
10
  }
11
11
  static get is() { return "hemfixarna-string-furniture"; }
12
12
  static get encapsulation() { return "shadow"; }
@@ -39,12 +39,12 @@ export class MyComponent {
39
39
  "attribute": "id",
40
40
  "reflect": false
41
41
  },
42
- "customer": {
43
- "type": "string",
42
+ "loadFromQuery": {
43
+ "type": "boolean",
44
44
  "mutable": false,
45
45
  "complexType": {
46
- "original": "string",
47
- "resolved": "string",
46
+ "original": "boolean",
47
+ "resolved": "boolean",
48
48
  "references": {}
49
49
  },
50
50
  "required": false,
@@ -53,8 +53,9 @@ export class MyComponent {
53
53
  "tags": [],
54
54
  "text": ""
55
55
  },
56
- "attribute": "customer",
57
- "reflect": false
56
+ "attribute": "load-from-query",
57
+ "reflect": false,
58
+ "defaultValue": "false"
58
59
  }
59
60
  };
60
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hemfixarna-string-furniture.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-string/hemfixarna-string-furniture.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,MAAM,OAAO,WAAW;;;;;EAItB,MAAM;IACJ,OAAO,4BAAsB,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAyB,CAAC;EAC/F,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business } from '../../types';\n\n@Component({\n tag: 'hemfixarna-string-furniture',\n styleUrl: 'hemfixarna-string.scss',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() customer?: string;\n\n render() {\n return <hemfixarna-component id={this.id} business={Business.string}></hemfixarna-component>;\n }\n}\n"]}
1
+ {"version":3,"file":"hemfixarna-string-furniture.js","sourceRoot":"","sources":["../../../src/components/hemfixarna-string/hemfixarna-string-furniture.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAOvC,MAAM,OAAO,WAAW;;;yBAEY,KAAK;;EAEvC,MAAM;IACJ,OAAO,4BAAsB,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAyB,CAAC;EAClI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h } from '@stencil/core';\nimport { Business } from '../../types';\n\n@Component({\n tag: 'hemfixarna-string-furniture',\n styleUrl: 'hemfixarna-string.scss',\n shadow: true,\n})\nexport class MyComponent {\n @Prop() id?: string;\n @Prop() loadFromQuery?: boolean = false;\n\n render() {\n return <hemfixarna-component loadFromQuery={this.loadFromQuery} id={this.id} business={Business.string}></hemfixarna-component>;\n }\n}\n"]}
@@ -459,6 +459,7 @@ const HemfixarnaBreadcrumbs = class {
459
459
  };
460
460
  this.tree = undefined;
461
461
  this.closeModal = undefined;
462
+ this.loadFromQuery = false;
462
463
  }
463
464
  getCartLength() {
464
465
  return state.cart.reduce((acc, curr) => acc + curr.amount, 0);
@@ -486,7 +487,7 @@ const HemfixarnaBreadcrumbs = class {
486
487
  const close = getAssetPath(`./assets/close.svg`);
487
488
  const cart = getAssetPath(`./assets/cart.svg`);
488
489
  const back = getAssetPath(`./assets/back.svg`);
489
- return (h("div", null, h("div", { class: "hemfixarna_crumbs" }, h("div", { class: "hemfixarna_crumbs--links" }, h("img", { onClick: () => this.handleHomePageClick(), src: logo, width: 110 }), h("img", { onClick: () => this.closeModal(), class: "close", src: close, width: 32 }), h("div", null, h("button", { onClick: () => this.handleHomePageClick() }, "Alla tj\u00E4nster"))), h("div", { onClick: () => this.handleCartClick(), class: `cart ${this.getCartLength() > 0 ? 'cart_active' : ''}` }, h("img", { src: cart, width: 24 }), h("span", null, this.getCartLength()))), [3, 4].includes(state.step) && !state.customer && (h("button", { class: "hemfixarna_crumbs--back", onClick: () => {
490
+ return (h("div", null, h("div", { class: "hemfixarna_crumbs" }, h("div", { class: "hemfixarna_crumbs--links" }, h("img", { onClick: () => this.handleHomePageClick(), src: logo, width: 110 }), !this.loadFromQuery ? h("img", { onClick: () => this.closeModal(), class: "close", src: close, width: 32 }) : null, h("div", null, h("button", { onClick: () => this.handleHomePageClick() }, "Alla tj\u00E4nster"))), h("div", { onClick: () => this.handleCartClick(), class: `cart ${this.getCartLength() > 0 ? 'cart_active' : ''}` }, h("img", { src: cart, width: 24 }), h("span", null, this.getCartLength()))), [3, 4].includes(state.step) && !state.customer && (h("button", { class: "hemfixarna_crumbs--back", onClick: () => {
490
491
  state.step = state.step === 4 ? 3 : 2;
491
492
  } }, h("img", { width: 24, src: back, alt: "back arrow" }), h("span", null, "Se allt ", state.step === 4 ? state.selectedService.post_title : state.selectedCategory.name))), state.parentCategory && state.step < 5 && (h("button", { class: "hemfixarna_crumbs--back", onClick: () => {
492
493
  state.step = 1;
@@ -518,11 +519,11 @@ const MyComponent$5 = class {
518
519
  this.tree = null;
519
520
  this.slug = undefined;
520
521
  this.id = undefined;
521
- this.customer = undefined;
522
522
  this.forceOldTree = false;
523
+ this.loadFromQuery = false;
523
524
  }
524
525
  render() {
525
- return (h("hemfixarna-component", { forceOldTree: this.forceOldTree, id: this.id, slug: this.slug, business: Business.byggmax, topCategory: TopCategory.byggmax }));
526
+ return (h("hemfixarna-component", { loadFromQuery: this.loadFromQuery, forceOldTree: this.forceOldTree, id: this.id, slug: this.slug, business: Business.byggmax, topCategory: TopCategory.byggmax }));
526
527
  }
527
528
  };
528
529
  MyComponent$5.style = hemfixarnaByggmaxCss;
@@ -733,6 +734,8 @@ const HemfixarnaComponent = class {
733
734
  this.business = undefined;
734
735
  this.topCategory = undefined;
735
736
  this.forceOldTree = false;
737
+ this.loadFromQuery = false;
738
+ this.isDemo = false;
736
739
  }
737
740
  loadCategoryOrProduct(id) {
738
741
  this.proppedProduct = null;
@@ -835,6 +838,13 @@ const HemfixarnaComponent = class {
835
838
  this.product = res;
836
839
  }
837
840
  }
841
+ if (this.loadFromQuery) {
842
+ const params = new URL(document.location.toString()).searchParams;
843
+ this.id = params.get('id');
844
+ if (!this.isDemo) {
845
+ this.openModal();
846
+ }
847
+ }
838
848
  state.rotOptions = rot;
839
849
  state.rutOptions = rut;
840
850
  state.options = options;
@@ -876,6 +886,8 @@ const HemfixarnaComponent = class {
876
886
  }, 200);
877
887
  }
878
888
  handleClick(e) {
889
+ if (this.loadFromQuery && !this.isDemo)
890
+ return;
879
891
  const el = this.el.shadowRoot.querySelector('.hemfixarna_modal');
880
892
  if (el) {
881
893
  const isClickInside = el.contains(e.composedPath()[0]);
@@ -897,7 +909,7 @@ const HemfixarnaComponent = class {
897
909
  render() {
898
910
  var _a, _b, _c;
899
911
  const logo = getAssetPath(`./assets/hemfixarna.svg`);
900
- return (h("div", { class: "hemfixarna" }, h("div", { class: "hemfixarna_box" }, h("div", null, h("div", null, h("p", null, ((_a = this.product) === null || _a === void 0 ? void 0 : _a.post_title) || ((_b = this.proppedProduct) === null || _b === void 0 ? void 0 : _b.post_title) || (h("span", null, "Montering", h("wbr", null), "/Installation p\u00E5 plats - ", h("strong", null, "se priser h\u00E4r"))), (this.product && ((_c = this.slug) === null || _c === void 0 ? void 0 : _c.includes('product'))) || this.proppedProduct ? (h("span", null, ' från', " ", h("strong", null, getProductPriceWithRotAndRut(this.proppedProduct || this.product), "kr"))) : null)), h("img", { src: logo, width: 104 })), h("button", { onClick: () => this.openModal(), class: "hemfixarna_btn" }, "Till montering", this.getCartLength() > 0 && h("span", null, this.getCartLength()))), this.modal && (h("div", null, h("div", { class: `hemfixarna_modal ${this.showModal ? 'hemfixarna_modal--open' : ''}` }, state.modal && (h("div", { class: "hemfixarna_infomodal" }, state.modal.title && h("h2", null, state.modal.title), state.modal.text.map((t) => (h("p", { innerHTML: t }))), h("div", null, h("button", { onClick: () => (state.modal = null) }, "St\u00E4ng")))), (this.tree || state.customer) && h("hemfixarna-breadcrumbs", { closeModal: () => this.closeModal(), tree: this.tree }), !state.customer || this.slugIsOldFormat(this.slug) ? (h("div", { class: `hemfixarna_content hemfixarna_content--${state.step}` }, state.step === 1 && this.tree && h("hemfixarna-start", { tree: this.tree }), state.step === 2 && state.selectedCategory && h("hemfixarna-category", null), state.step === 3 && state.selectedService && h("hemfixarna-service", null), state.step === 4 && state.selectedProduct && h("hemfixarna-product", null), state.step === 5 && h("hemfixarna-cart", { tree: this.tree }), state.step === 6 && h("hemfixarna-order", { tree: this.tree }))) : (h("div", { class: `hemfixarna_content hemfixarna_content--${state.step}` }, state.step < 4 && h("hemfixarna-start", null), state.step === 4 && state.selectedProduct && h("hemfixarna-product", null), state.step === 5 && h("hemfixarna-cart", { tree: this.tree }), state.step === 6 && h("hemfixarna-order", { tree: this.tree })))), h("div", { class: `hemfixarna_backdrop ${this.showModal ? 'hemfixarna_backdrop--open' : ''}` })))));
912
+ return (h("div", { class: "hemfixarna" }, !this.loadFromQuery || this.isDemo ? (h("div", { class: "hemfixarna_box" }, h("div", null, h("div", null, h("p", null, ((_a = this.product) === null || _a === void 0 ? void 0 : _a.post_title) || ((_b = this.proppedProduct) === null || _b === void 0 ? void 0 : _b.post_title) || (h("span", null, "Montering", h("wbr", null), "/Installation p\u00E5 plats - ", h("strong", null, "se priser h\u00E4r"))), (this.product && ((_c = this.slug) === null || _c === void 0 ? void 0 : _c.includes('product'))) || this.proppedProduct ? (h("span", null, ' från', " ", h("strong", null, getProductPriceWithRotAndRut(this.proppedProduct || this.product), "kr"))) : null)), h("img", { src: logo, width: 104 })), h("button", { onClick: () => this.openModal(), class: "hemfixarna_btn" }, "Till montering", this.getCartLength() > 0 && h("span", null, this.getCartLength())))) : null, this.modal && (h("div", null, h("div", { class: `hemfixarna_modal ${this.showModal ? 'hemfixarna_modal--open' : ''}` }, state.modal && (h("div", { class: "hemfixarna_infomodal" }, state.modal.title && h("h2", null, state.modal.title), state.modal.text.map((t) => (h("p", { innerHTML: t }))), h("div", null, h("button", { onClick: () => (state.modal = null) }, "St\u00E4ng")))), (this.tree || state.customer) && h("hemfixarna-breadcrumbs", { loadFromQuery: this.loadFromQuery, closeModal: () => this.closeModal(), tree: this.tree }), !state.customer || this.slugIsOldFormat(this.slug) ? (h("div", { class: `hemfixarna_content hemfixarna_content--${state.step}` }, state.step === 1 && this.tree && h("hemfixarna-start", { tree: this.tree }), state.step === 2 && state.selectedCategory && h("hemfixarna-category", null), state.step === 3 && state.selectedService && h("hemfixarna-service", null), state.step === 4 && state.selectedProduct && h("hemfixarna-product", null), state.step === 5 && h("hemfixarna-cart", { tree: this.tree }), state.step === 6 && h("hemfixarna-order", { tree: this.tree }))) : (h("div", { class: `hemfixarna_content hemfixarna_content--${state.step}` }, state.step < 4 && h("hemfixarna-start", null), state.step === 4 && state.selectedProduct && h("hemfixarna-product", null), state.step === 5 && h("hemfixarna-cart", { tree: this.tree }), state.step === 6 && h("hemfixarna-order", { tree: this.tree })))), h("div", { class: `hemfixarna_backdrop ${this.showModal ? 'hemfixarna_backdrop--open' : ''}` })))));
901
913
  }
902
914
  static get assetsDirs() { return ["assets"]; }
903
915
  get el() { return getElement(this); }
@@ -921,7 +933,7 @@ const MyComponent$4 = class {
921
933
  this.customer = null;
922
934
  }
923
935
  getTopLevelCategory() {
924
- switch ("byggmax") {
936
+ switch ("hornbach") {
925
937
  case Business.byggmax:
926
938
  return TopCategory.byggmax;
927
939
  default:
@@ -937,14 +949,14 @@ const MyComponent$4 = class {
937
949
  }
938
950
  }
939
951
  else {
940
- const customer = await getCustomer("byggmax");
952
+ const customer = await getCustomer("hornbach");
941
953
  if (customer.code !== 'not_found' && customer) {
942
954
  this.customer = customer;
943
955
  }
944
956
  }
945
957
  }
946
958
  getExample() {
947
- return `<hemfixarna-${"byggmax"}${this.selectedSlug ? ` slug="${this.selectedSlug}" ` : ''}${this.selectedID ? ` id="${this.selectedID}" ` : ''}></hemfixarna-${"byggmax"}>`;
959
+ return `<hemfixarna-${"hornbach"}${this.selectedSlug ? ` slug="${this.selectedSlug}" ` : ''}${this.selectedID ? ` id="${this.selectedID}" ` : ''}></hemfixarna-${"hornbach"}>`;
948
960
  }
949
961
  copyExample() {
950
962
  navigator.clipboard.writeText(this.getExample());
@@ -969,7 +981,7 @@ const MyComponent$4 = class {
969
981
  }
970
982
  render() {
971
983
  const copy = getAssetPath(`./assets/copy.png`);
972
- return (h("div", null, h("div", null, h("div", { onClick: () => this.copyExample(), class: "hemfixarna_example" }, h("p", null, this.getExample()), h("img", { src: copy, height: 20 }), h("span", { class: "hemfixarna_example--tooltip" }, this.tooltipText)), "byggmax" === Business.byggmax && (h("hemfixarna-byggmax", { forceOldTree: Boolean(process.env.FORCE_OLD_TREE), slug: this.selectedSlug, id: this.selectedID })), "byggmax" === Business.skanska && h("hemfixarna-skanska", { id: this.selectedID }), "byggmax" === Business.string && h("hemfixarna-string-furniture", { id: this.selectedID }), "byggmax" === Business.hornbach && h("hemfixarna-hornbach", { id: this.selectedID }), "byggmax" === Business.kund && h("hemfixarna-kund", { id: this.selectedID }), h("div", { class: "hemfixarna_install" }, h("div", { onClick: () => this.copyCdn(), class: "hemfixarna_example" }, h("p", null, this.cdnLink), h("span", { class: "hemfixarna_example--tooltip" }, this.tooltipText), h("img", { src: copy, height: 20 })))), h("ul", { class: "hemfixarna_categories" }, this.customer ? (h("div", null, this.customer.categories.map(c => (h("li", null, h("div", { class: "hemfixarna_categories--label hemfixarna_categories--label--big" }, h("div", null, h("p", null, c.name), h("span", null, `c-${c.id}`)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(`c-${c.id}`) }, "Kopiera ID"), h("button", { onClick: () => (this.selectedID = `c-${c.id}`) }, "Ladda kategori"))), c.show_products && c.products ? (h("ul", null, c.products.map(p => (h("li", null, h("div", { class: "hemfixarna_categories--label hemfixarna_product--label" }, h("div", null, h("p", null, p.fields.post_title), h("span", null, p.fields.ID)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(String(p.fields.ID)) }, "Kopiera ID"), h("button", { onClick: () => (this.selectedID = String(p.fields.ID)) }, "Ladda produkt")))))))) : (h("ul", null, c.sub_categories &&
984
+ return (h("div", null, h("div", null, h("div", { onClick: () => this.copyExample(), class: "hemfixarna_example" }, h("p", null, this.getExample()), h("img", { src: copy, height: 20 }), h("span", { class: "hemfixarna_example--tooltip" }, this.tooltipText)), "hornbach" === Business.byggmax && (h("hemfixarna-byggmax", { forceOldTree: Boolean(process.env.FORCE_OLD_TREE), slug: this.selectedSlug, id: this.selectedID })), "hornbach" === Business.skanska && h("hemfixarna-skanska", { id: this.selectedID }), "hornbach" === Business.string && h("hemfixarna-string-furniture", { id: this.selectedID }), "hornbach" === Business.hornbach && h("hemfixarna-hornbach", { isDemo: true, id: this.selectedID }), "hornbach" === Business.kund && h("hemfixarna-kund", { id: this.selectedID }), h("div", { class: "hemfixarna_install" }, h("div", { onClick: () => this.copyCdn(), class: "hemfixarna_example" }, h("p", null, this.cdnLink), h("span", { class: "hemfixarna_example--tooltip" }, this.tooltipText), h("img", { src: copy, height: 20 })))), h("ul", { class: "hemfixarna_categories" }, this.customer ? (h("div", null, this.customer.categories.map(c => (h("li", null, h("div", { class: "hemfixarna_categories--label hemfixarna_categories--label--big" }, h("div", null, h("p", null, c.name), h("span", null, `c-${c.id}`)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(`c-${c.id}`) }, "Kopiera ID"), h("button", { onClick: () => (this.selectedID = `c-${c.id}`) }, "Ladda kategori"))), c.show_products && c.products ? (h("ul", null, c.products.map(p => (h("li", null, h("div", { class: "hemfixarna_categories--label hemfixarna_product--label" }, h("div", null, h("p", null, p.fields.post_title), h("span", null, p.fields.ID)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(String(p.fields.ID)) }, "Kopiera ID"), h("button", { onClick: () => (this.selectedID = String(p.fields.ID)) }, "Ladda produkt")))))))) : (h("ul", null, c.sub_categories &&
973
985
  c.sub_categories.map(sc => (h("li", null, h("div", { class: "hemfixarna_categories--label" }, h("div", null, h("p", null, sc.name), h("span", null, `c-${sc.id}`)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(`c-${sc.id}`) }, "Kopiera ID"), h("button", { onClick: () => (this.selectedID = `c-${sc.id}`) }, "Ladda kategori"))), h("ul", null, sc.products.map(p => (h("li", null, h("div", { class: "hemfixarna_categories--label hemfixarna_product--label" }, h("div", null, h("p", null, p.fields.post_title), h("span", null, p.fields.ID)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(String(p.fields.ID)) }, "Kopiera ID"), h("button", { onClick: () => (this.selectedID = String(p.fields.ID)) }, "Ladda produkt"))))))))))))))))) : (h("div", null, this.tree.sub_cats.map(c => (h("li", null, h("div", { class: "hemfixarna_categories--label hemfixarna_categories--label--big" }, h("div", null, h("p", null, c.name), h("span", null, `category/${c.slug}`)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(`category/${c.slug}`) }, "Kopiera slug"), h("button", { onClick: () => (this.selectedSlug = `category/${c.slug}`) }, "Ladda kategori"))), h("ul", null, c.services.map(sc => (h("li", null, h("div", { class: "hemfixarna_categories--label" }, h("div", null, h("p", null, sc.post_title), h("span", null, `service/${sc.post_name}`)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(`service/${sc.post_name}`) }, "Kopiera slug"), h("button", { onClick: () => (this.selectedSlug = `service/${sc.post_name}`) }, "Ladda kategori"))), h("ul", null, sc.products.map(sc => (h("li", null, h("div", { class: "hemfixarna_categories--label" }, h("div", null, h("p", null, sc.post_title), h("span", null, `product/${sc.post_name}`)), h("div", null, h("button", { onClick: () => navigator.clipboard.writeText(`product/${sc.post_name}`) }, "Kopiera slug"), h("button", { onClick: () => (this.selectedSlug = `product/${sc.post_name}`) }, "Ladda kategori")))))))))))))))))));
974
986
  }
975
987
  };
@@ -1703,10 +1715,11 @@ const MyComponent$3 = class {
1703
1715
  constructor(hostRef) {
1704
1716
  registerInstance(this, hostRef);
1705
1717
  this.id = undefined;
1706
- this.customer = undefined;
1718
+ this.loadFromQuery = true;
1719
+ this.isDemo = false;
1707
1720
  }
1708
1721
  render() {
1709
- return h("hemfixarna-component", { id: this.id, business: Business.hornbach });
1722
+ return h("hemfixarna-component", { isDemo: this.isDemo, loadFromQuery: this.loadFromQuery, id: this.id, business: Business.hornbach });
1710
1723
  }
1711
1724
  };
1712
1725
  MyComponent$3.style = hemfixarnaHornbachCss;
@@ -1734,10 +1747,10 @@ const MyComponent$2 = class {
1734
1747
  constructor(hostRef) {
1735
1748
  registerInstance(this, hostRef);
1736
1749
  this.id = undefined;
1737
- this.customer = undefined;
1750
+ this.loadFromQuery = false;
1738
1751
  }
1739
1752
  render() {
1740
- return h("hemfixarna-component", { id: this.id, business: Business.kund });
1753
+ return h("hemfixarna-component", { loadFromQuery: this.loadFromQuery, id: this.id, business: Business.kund });
1741
1754
  }
1742
1755
  };
1743
1756
 
@@ -1956,9 +1969,10 @@ const MyComponent$1 = class {
1956
1969
  registerInstance(this, hostRef);
1957
1970
  this.id = undefined;
1958
1971
  this.customer = undefined;
1972
+ this.loadFromQuery = false;
1959
1973
  }
1960
1974
  render() {
1961
- return h("hemfixarna-component", { id: this.id, business: Business.skanska });
1975
+ return h("hemfixarna-component", { loadFromQuery: this.loadFromQuery, id: this.id, business: Business.skanska });
1962
1976
  }
1963
1977
  };
1964
1978
  MyComponent$1.style = hemfixarnaSkanskaCss;
@@ -1994,10 +2008,10 @@ const MyComponent = class {
1994
2008
  constructor(hostRef) {
1995
2009
  registerInstance(this, hostRef);
1996
2010
  this.id = undefined;
1997
- this.customer = undefined;
2011
+ this.loadFromQuery = false;
1998
2012
  }
1999
2013
  render() {
2000
- return h("hemfixarna-component", { id: this.id, business: Business.string });
2014
+ return h("hemfixarna-component", { loadFromQuery: this.loadFromQuery, id: this.id, business: Business.string });
2001
2015
  }
2002
2016
  };
2003
2017
  MyComponent.style = hemfixarnaStringCss;