{"version":3,"file":"static/js/7967.6f47025d.chunk.js","mappings":"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","sources":["shared/_svgs/mini/Plus.js","shared/tag-list/tag-list.jsx","shared/tag-list/tag-list-module.js"],"sourcesContent":["import React from \"react\"\n\nconst SvgPlus = (props) => (\n  <svg viewBox=\"0 0 10 10\" {...props}>\n    <path d=\"M6 0v4h4v2H6v4H4V6H0V4h4V0h2z\" fillRule=\"evenodd\" />\n  </svg>\n)\n\nexport default SvgPlus\n","import React, { Component } from \"react\"\n// import measureElement from \"../utils/js/measureElement\";\n\n// eslint-disable-line no-unused-vars\nimport SvgPlus from \"../_svgs/mini/Plus\"\nimport { isBrowser } from \"react-device-detect\"\nimport qs from \"query-string\"\n\nimport Emitter from \"../../helpers/emitter\"\nimport * as emits from \"../../constants/emits\"\nimport * as trackingHelper from \"../../helpers/tracking\"\n\nimport \"./_tag-list.scss\"\n\nclass TagList extends Component {\n  static defaultProps = {\n    modifier: \"\",\n    tags: [\n      { label: \"Dagcreme\", amount: 12, url: \"#\" },\n      { label: \"Natcreme\", amount: 2, url: \"#\" },\n      { label: \"Øjenpleje\", amount: 465, url: \"#\" },\n      { label: \"Gaveæsker\", amount: 20, url: \"#\" },\n      { label: \"Ansigtsmasker\", amount: 1, url: \"#\" },\n      { label: \"Consectetur\", amount: 1, url: \"#\" },\n      { label: \"Lorem\", amount: 1, url: \"#\" },\n      { label: \"Ipsum\", amount: 1, url: \"#\" },\n      { label: \"Dolor\", amount: 1, url: \"#\" },\n      { label: \"Sit\", amount: 1, url: \"#\" },\n      { label: \"Amet\", amount: 1, url: \"#\" },\n      { label: \"Adipiscing\", amount: 1, url: \"#\" },\n      { label: \"Elit\", amount: 1, url: \"#\" },\n      { label: \"QUam\", amount: 1, url: \"#\" },\n    ],\n    headline: {},\n    description: {},\n    defaultHeadlineText: \"this is the headline\",\n    defaultDescriptionText: \"this is the description\",\n    expandLabelText: \"se flere\",\n  }\n\n  constructor(props) {\n    super(props)\n\n    this.tagListRef = React.createRef()\n\n    let isTablet = window.innerWidth > 750 && window.innerWidth < 950\n\n    let queryString = qs.parse(window.location.search)\n\n    const selectedTaxonomies = Array.isArray(queryString[\"t\"]) ? queryString[\"t\"] : queryString[\"t\"] ? [queryString[\"t\"]] : []\n\n    const selectedValues = this.props.tags.filter((tag) => selectedTaxonomies.find((tax) => tag.taxonomyFilter === tax))\n\n    this.state = {\n      tagMaxHeight: isTablet ? 80 : isBrowser ? 40 : 108,\n      measuredHeight: 0,\n      expanded: false,\n      tags: this.props.tags || [],\n      tagsShown: [],\n      tagsHidden: [...this.props.tags],\n      iterations: 0,\n      ready: false,\n      selectedValues,\n      activeTaxonomies: [],\n    }\n\n    //Tablet: 80 | 2 x (30h+5m+5m)\n    //Desktop: 40 | 1 x (30h+5m+5m)\n    //Mobile: 108 | 3 x (30h+3m+3m)\n\n    //console.log(\"tagMaxHeight:\"+this.state.tagMaxHeight)\n  }\n\n  expandAllHandler = () => {\n    this.setState({ expanded: true, ready: true })\n    this.setState({ tagsShown: this.state.tagsShown.concat(this.state.tagsHidden), tagsHidden: [] })\n  }\n\n  handleEvent(event) {\n    const { type } = event\n    switch (type) {\n      case emits.SEARCH_FACETS_UPDATED:\n        console.debug(emits.SEARCH_FACETS_UPDATED, event.facets)\n        this.setTagsAndTaxonomyData(event.facets)\n        break\n      default:\n      // ignore\n    }\n  }\n\n  componentDidMount() {\n    Emitter.on(\"*\", (event) => this.handleEvent(event))\n    this.injectTagRecursive()\n  }\n\n  setTagsAndTaxonomyData(facets) {\n    const taxonomyFacet = facets && facets.find((f) => f.id === \"AllTaxonomies_ss\")\n    if (taxonomyFacet) {\n      const { tags } = this.state\n      const selectedTaxonomies = taxonomyFacet.data.filter((tax) => tax.checked)\n      tags.map((tag) => {\n        const tagFilter = tag.taxonomyFilter.split(\"*\")[0]\n        const selectedTag = selectedTaxonomies.find((sTax) => sTax.filter.endsWith(tagFilter))\n        tag.checked = !!selectedTag\n        return tag\n      })\n      const selectedValues = tags.filter((tag) => tag.checked)\n      this.setState({ tags, activeTaxonomies: taxonomyFacet.data, selectedValues })\n    } else {\n      this.setState({ activeTaxonomies: [] })\n    }\n  }\n\n  injectTagRecursive = () => {\n    // let measuredHeight = measureElement(this.refs['tag-list']).height,\n    // let measuredHeight = document.querySelector('.tag-list').clientHeight,\n\n    let measuredHeight = this.tagListRef.current.clientHeight,\n      tagsShown = this.state.tagsShown,\n      tagsHidden = this.state.tagsHidden,\n      nextTag = tagsHidden[0]\n\n    if (this.state.iterations > 100) {\n      // INFINITE LOOP FAILSAFE\n      return false\n    }\n\n    //console.log(measuredHeight + \" > \"+this.state.tagMaxHeight+\" ?\")\n    if (!nextTag) {\n      this.setState({ expanded: true, ready: true })\n      // console.log(\"...all tags shown!\")\n    } else if (measuredHeight <= this.state.tagMaxHeight) {\n      tagsShown.push(nextTag)\n      tagsHidden.shift()\n      //console.log(\"...still room...\")\n      // console.log(\"tagsShown\"+tagsShown);\n      // console.log(\"tagsHidden\"+tagsHidden);\n\n      this.setState({ tagsShown: tagsShown, tagsHidden: tagsHidden }, () => {\n        this.injectTagRecursive()\n      })\n      // this.setState({tagsHidden:tagsHidden});\n\n      //console.table(this.state.tagsShown.length);\n    } else {\n      tagsHidden.unshift(tagsShown.pop())\n      this.setState({ tagsShown: tagsShown, tagsHidden: tagsHidden })\n      this.setState({ ready: true })\n\n      //console.log(\"...no more!\")\n    }\n    this.setState({ iterations: this.state.iterations + 1 })\n  }\n\n  onTagChange = (event) => {\n    const checkbox = event.target\n    let { selectedValues } = this.state\n    const currentTag = this.state.tags.find((t) => t.label === checkbox.name)\n    let queryString = qs.parse(window.location.search)\n    let taxonomies = queryString[\"t\"] || []\n    if (!Array.isArray(taxonomies)) taxonomies = [taxonomies]\n\n    if (checkbox.checked) {\n      selectedValues.push(currentTag)\n      taxonomies.push(currentTag.taxonomyFilter)\n      queryString[\"t\"] = taxonomies\n      if (selectedValues.length === 1) {\n        // single selection\n        window.history.replaceState({}, currentTag.label, currentTag.url + \"?\" + qs.stringify(queryString))\n        this.props.headline.innerText = currentTag.label\n        this.props.description.innerText = currentTag.description || \"\"\n      } else {\n        // multiple selections\n        // selectedValues.map(v => taxonomies.push(v.taxonomyFilter))\n        // queryString[\"f\"] = taxonomies\n        window.history.replaceState({}, this.props.defaultHeadlineText, this.props.defaultUrl + \"?\" + qs.stringify(queryString))\n        this.props.headline.innerText = this.props.defaultHeadlineText\n        this.props.description.innerText = this.props.defaultDescriptionText || \"\"\n      }\n      Emitter.emit(\"*\", {\n        type: emits.SEARCH_FILTER_ACTIVATED,\n        filter: currentTag,\n      })\n    } else {\n      selectedValues = selectedValues.filter((s) => s.label !== currentTag.label)\n      taxonomies = taxonomies.filter((f) => f !== currentTag.taxonomyFilter)\n      queryString[\"t\"] = taxonomies\n      if (selectedValues.length === 0) {\n        // no selections\n        window.history.replaceState({}, this.props.defaultHeadlineText, this.props.defaultUrl + \"?\" + qs.stringify(queryString))\n        this.props.headline.innerText = this.props.defaultHeadlineText\n        this.props.description.innerText = this.props.defaultDescriptionText || \"\"\n        // TODO clear taxonomies\n      } else if (selectedValues.length > 1) {\n        window.history.replaceState({}, this.props.defaultHeadlineText, this.props.defaultUrl + \"?\" + qs.stringify(queryString))\n        // still multiple\n        // no history change\n        // window.history.replaceState({},this.props.defaultHeadlineText,this.props.defaultUrl)\n      } else {\n        // down to exactly one find the selected one\n        const singleTag = selectedValues[0]\n        window.history.replaceState({}, singleTag.label, singleTag.url + \"?\" + qs.stringify(queryString))\n        this.props.headline.innerText = singleTag.label\n        this.props.description.innerText = singleTag.description || \"\"\n      }\n      Emitter.emit(\"*\", {\n        type: emits.SEARCH_FILTER_DEACTIVATED,\n        filter: currentTag,\n      })\n      console.debug(\"unselected:\", currentTag)\n    }\n\n    this.setState({ selectedValues })\n  }\n\n  async trackClick(filterTag) {\n    await trackingHelper.trackFilterClick(filterTag, \"filter products - tag\")\n  }\n\n  render() {\n    return (\n      <div className={`tag-list ${this.state.ready ? \"is-ready\" : \"\"}`} ref={this.tagListRef} data-responsive>\n        {this.state.tagsShown &&\n          this.state.tagsShown.map((item, index) => {\n            const { activeTaxonomies, selectedValues } = this.state\n            const isSelected = selectedValues.find((t) => t.taxonomyFilter === item.taxonomyFilter)\n            const activeTax = activeTaxonomies.find((at) => at.title + \"*\" === item.taxonomyFilter)\n            const count = activeTax && activeTax.count\n            return (\n              <div className=\"tag\" key={index}>\n                <input\n                  name={item.label}\n                  id={`tag-${index}`}\n                  type=\"checkbox\"\n                  onClick={() => this.trackClick(item.label)}\n                  key={index}\n                  onChange={this.onTagChange}\n                  defaultChecked={isSelected}\n                  value={isSelected}\n                />\n                <label className=\"tag__text\" htmlFor={`tag-${index}`}>\n                  {item.label} ({count || 0})\n                </label>\n              </div>\n            )\n          })}\n        {!this.state.expanded && (\n          <button className=\"tag\" onClick={this.expandAllHandler}>\n            <span className=\"tag__text\">\n              <span>{this.props.expandLabelText}</span> <SvgPlus />\n            </span>\n          </button>\n        )}\n      </div>\n    )\n  }\n}\n\nexport default TagList\n","import React from \"react\"\nimport ReactDOM from \"react-dom\"\nimport TagList from \"./tag-list\"\n\nexport default class TagListModule {\n  constructor(elem) {\n    const self = this\n    self.elem = elem\n    const subcategories = elem.dataset.subcategories && JSON.parse(elem.dataset.subcategories)\n    self.tags = []\n    subcategories &&\n      subcategories.forEach((subcategory) => {\n        self.tags.push({\n          label: subcategory.title,\n          description: subcategory.description,\n          amount: subcategory.productCount,\n          url: subcategory.url,\n          taxonomyFilter: subcategory.taxonomyFilter,\n          checked: false,\n        })\n      })\n\n    self.headline = elem.parentNode.querySelector(\"h1\")\n    self.description = elem.parentNode.querySelector(\"p\")\n    self.defaultHeadlineText = elem.dataset.mainCategoryTitle || self.headline.innerText\n    self.defaultDescriptionText = elem.dataset.mainCategoryDescription || self.description.innerText\n    self.defaultUrl = elem.dataset.mainCategoryUrl || window.location.pathname\n    self.textKeys = elem.dataset.textKeys || {}\n    self.init()\n    return self\n  }\n\n  init() {\n    const self = this\n    ReactDOM.unmountComponentAtNode(self.elem)\n    ReactDOM.render(\n      <TagList\n        modifier={self.elem.modifier}\n        tags={self.tags}\n        headline={self.headline}\n        description={self.description}\n        defaultHeadlineText={self.defaultHeadlineText}\n        defaultDescriptionText={self.defaultDescriptionText}\n        defaultUrl={self.defaultUrl}\n        expandLabelText={self.textKeys.showAllTagsLabel || \"se flere\"}\n      />,\n      self.elem,\n    )\n  }\n}\n"],"names":["props","_jsx","_objectSpread","viewBox","children","d","fillRule","TagList","_Component","_this","_classCallCheck","_callSuper","expandAllHandler","setState","expanded","ready","tagsShown","state","concat","tagsHidden","injectTagRecursive","measuredHeight","tagListRef","current","clientHeight","nextTag","iterations","tagMaxHeight","push","shift","unshift","pop","onTagChange","event","checkbox","target","selectedValues","currentTag","tags","find","t","label","name","queryString","qs","parse","window","location","search","taxonomies","Array","isArray","checked","taxonomyFilter","length","history","replaceState","url","stringify","headline","innerText","description","defaultHeadlineText","defaultUrl","defaultDescriptionText","Emitter","emit","type","emits","filter","s","f","singleTag","console","debug","React","isTablet","innerWidth","selectedTaxonomies","tag","tax","isBrowser","_toConsumableArray","activeTaxonomies","_inherits","_createClass","key","value","facets","this","setTagsAndTaxonomyData","_this2","on","handleEvent","taxonomyFacet","id","data","map","tagFilter","split","selectedTag","sTax","endsWith","_trackClick","_asyncToGenerator","_regeneratorRuntime","mark","_callee","filterTag","wrap","_context","prev","next","trackingHelper","stop","_x","apply","arguments","_this3","_jsxs","className","ref","item","index","_this3$state","isSelected","activeTax","at","title","count","onClick","trackClick","onChange","defaultChecked","htmlFor","expandLabelText","SvgPlus","Component","defaultProps","modifier","amount","TagListModule","elem","self","subcategories","dataset","JSON","forEach","subcategory","productCount","parentNode","querySelector","mainCategoryTitle","mainCategoryDescription","mainCategoryUrl","pathname","textKeys","init","ReactDOM","showAllTagsLabel"],"sourceRoot":""}