{"version":3,"sources":["webpack:///../../../src/components/VSkeletonLoader/VSkeletonLoader.ts","webpack:///./src/views/StaticContent.vue","webpack:///src/views/StaticContent.vue","webpack:///./src/views/StaticContent.vue?6c5f","webpack:///./src/views/StaticContent.vue?6e7a","webpack:///../../../src/components/VGrid/VCol.ts"],"names":["mixins","Elevatable","Measurable","Themeable","extend","name","props","boilerplate","Boolean","loading","tile","transition","String","type","types","Object","default","computed","attrs","this","isLoading","role","$attrs","classes","themeClasses","elevationClasses","$scopedSlots","rootTypes","actions","article","avatar","button","card","chip","heading","image","paragraph","sentences","table","text","methods","genBone","children","$createElement","staticClass","genBones","bone","length","split","generator","genStructure","Array","from","map","indexOf","mapBones","push","genSkeleton","getSlot","on","afterEnter","resetStyles","beforeEnter","onBeforeEnter","beforeLeave","onBeforeLeave","leaveCancelled","bones","replace","el","_initialStyle","display","style","setProperty","render","h","$listeners","class","measurableStyles","undefined","_c","domProps","staticRenderFns","components","metaInfo","title","data","staticContent","console","watch","$route","staticContentId","translateFromPayload","component","breakpoints","breakpointProps","reduce","val","Number","offsetProps","upperFirst","orderProps","propMap","col","keys","offset","order","breakpointClass","prop","className","breakpoint","toLowerCase","cache","Map","Vue","functional","cols","alignSelf","validator","str","includes","tag","parent","cacheKey","classList","get","forEach","value","hasColClasses","some","startsWith","set","mergeData"],"mappings":"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","file":"js/static-content.7b862d8a.js","sourcesContent":["// Styles\nimport './VSkeletonLoader.sass'\n\n// Mixins\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\nimport { PropValidator } from 'vue/types/options'\n\nexport interface HTMLSkeletonLoaderElement extends HTMLElement {\n  _initialStyle?: {\n    display: string | null\n    transition: string\n  }\n}\n\n/* @vue/component */\nexport default mixins(\n  Elevatable,\n  Measurable,\n  Themeable,\n).extend({\n  name: 'VSkeletonLoader',\n\n  props: {\n    boilerplate: Boolean,\n    loading: Boolean,\n    tile: Boolean,\n    transition: String,\n    type: String,\n    types: {\n      type: Object,\n      default: () => ({}),\n    } as PropValidator<Record<string, string>>,\n  },\n\n  computed: {\n    attrs (): object {\n      if (!this.isLoading) return this.$attrs\n\n      return !this.boilerplate ? {\n        'aria-busy': true,\n        'aria-live': 'polite',\n        role: 'alert',\n        ...this.$attrs,\n      } : {}\n    },\n    classes (): object {\n      return {\n        'v-skeleton-loader--boilerplate': this.boilerplate,\n        'v-skeleton-loader--is-loading': this.isLoading,\n        'v-skeleton-loader--tile': this.tile,\n        ...this.themeClasses,\n        ...this.elevationClasses,\n      }\n    },\n    isLoading (): boolean {\n      return !('default' in this.$scopedSlots) || this.loading\n    },\n    rootTypes (): Record<string, string> {\n      return {\n        actions: 'button@2',\n        article: 'heading, paragraph',\n        avatar: 'avatar',\n        button: 'button',\n        card: 'image, card-heading',\n        'card-avatar': 'image, list-item-avatar',\n        'card-heading': 'heading',\n        chip: 'chip',\n        'date-picker': 'list-item, card-heading, divider, date-picker-options, date-picker-days, actions',\n        'date-picker-options': 'text, avatar@2',\n        'date-picker-days': 'avatar@28',\n        heading: 'heading',\n        image: 'image',\n        'list-item': 'text',\n        'list-item-avatar': 'avatar, text',\n        'list-item-two-line': 'sentences',\n        'list-item-avatar-two-line': 'avatar, sentences',\n        'list-item-three-line': 'paragraph',\n        'list-item-avatar-three-line': 'avatar, paragraph',\n        paragraph: 'text@3',\n        sentences: 'text@2',\n        table: 'table-heading, table-thead, table-tbody, table-tfoot',\n        'table-heading': 'heading, text',\n        'table-thead': 'heading@6',\n        'table-tbody': 'table-row-divider@6',\n        'table-row-divider': 'table-row, divider',\n        'table-row': 'table-cell@6',\n        'table-cell': 'text',\n        'table-tfoot': 'text@2, avatar@2',\n        text: 'text',\n        ...this.types,\n      }\n    },\n  },\n\n  methods: {\n    genBone (text: string, children: VNode[]) {\n      return this.$createElement('div', {\n        staticClass: `v-skeleton-loader__${text} v-skeleton-loader__bone`,\n      }, children)\n    },\n    genBones (bone: string): VNode[] {\n      // e.g. 'text@3'\n      const [type, length] = bone.split('@') as [string, number]\n      const generator = () => this.genStructure(type)\n\n      // Generate a length array based upon\n      // value after @ in the bone string\n      return Array.from({ length }).map(generator)\n    },\n    // Fix type when this is merged\n    // https://github.com/microsoft/TypeScript/pull/33050\n    genStructure (type?: string): any {\n      let children = []\n      type = type || this.type || ''\n      const bone = this.rootTypes[type] || ''\n\n      // End of recursion, do nothing\n      /* eslint-disable-next-line no-empty, brace-style */\n      if (type === bone) {}\n      // Array of values - e.g. 'heading, paragraph, text@2'\n      else if (type.indexOf(',') > -1) return this.mapBones(type)\n      // Array of values - e.g. 'paragraph@4'\n      else if (type.indexOf('@') > -1) return this.genBones(type)\n      // Array of values - e.g. 'card@2'\n      else if (bone.indexOf(',') > -1) children = this.mapBones(bone)\n      // Array of values - e.g. 'list-item@2'\n      else if (bone.indexOf('@') > -1) children = this.genBones(bone)\n      // Single value - e.g. 'card-heading'\n      else if (bone) children.push(this.genStructure(bone))\n\n      return [this.genBone(type, children)]\n    },\n    genSkeleton () {\n      const children = []\n\n      if (!this.isLoading) children.push(getSlot(this))\n      else children.push(this.genStructure())\n\n      /* istanbul ignore else */\n      if (!this.transition) return children\n\n      /* istanbul ignore next */\n      return this.$createElement('transition', {\n        props: {\n          name: this.transition,\n        },\n        // Only show transition when\n        // content has been loaded\n        on: {\n          afterEnter: this.resetStyles,\n          beforeEnter: this.onBeforeEnter,\n          beforeLeave: this.onBeforeLeave,\n          leaveCancelled: this.resetStyles,\n        },\n      }, children)\n    },\n    mapBones (bones: string) {\n      // Remove spaces and return array of structures\n      return bones.replace(/\\s/g, '').split(',').map(this.genStructure)\n    },\n    onBeforeEnter (el: HTMLSkeletonLoaderElement) {\n      this.resetStyles(el)\n\n      if (!this.isLoading) return\n\n      el._initialStyle = {\n        display: el.style.display,\n        transition: el.style.transition,\n      }\n\n      el.style.setProperty('transition', 'none', 'important')\n    },\n    onBeforeLeave (el: HTMLSkeletonLoaderElement) {\n      el.style.setProperty('display', 'none', 'important')\n    },\n    resetStyles (el: HTMLSkeletonLoaderElement) {\n      if (!el._initialStyle) return\n\n      el.style.display = el._initialStyle.display || ''\n      el.style.transition = el._initialStyle.transition\n\n      delete el._initialStyle\n    },\n  },\n\n  render (h): VNode {\n    return h('div', {\n      staticClass: 'v-skeleton-loader',\n      attrs: this.attrs,\n      on: this.$listeners,\n      class: this.classes,\n      style: this.isLoading ? this.measurableStyles : undefined,\n    }, [this.genSkeleton()])\n  },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',[(_vm.staticContent == null)?_c('v-row',[_c('v-col',{attrs:{\"sm\":\"12\"}},[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"type\":\"card\"}})],1)],1):_vm._e(),(_vm.staticContent != null)?_c('v-row',[_c('v-col',{attrs:{\"sm\":\"12\",\"md\":\"10\"}},[_c('v-row',[_c('v-col',{attrs:{\"sm\":\"12\"}},[_c('h2',{staticClass:\"text-h2\",domProps:{\"innerHTML\":_vm._s(_vm.translateFromPayload(_vm.staticContent.title))}})])],1),_c('v-row',[_c('v-col',{attrs:{\"sm\":\"12\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.staticContent.content)}})])],1)],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <v-container>\n    <v-row v-if=\"staticContent == null\">\n      <v-col sm=\"12\">\n        <v-skeleton-loader class=\"mx-auto\" type=\"card\"></v-skeleton-loader>\n      </v-col>\n    </v-row>\n    <v-row v-if=\"staticContent != null\">\n      <v-col sm=\"12\" md=\"10\">\n        <v-row>\n          <v-col sm=\"12\">\n            <h2 class=\"text-h2\" v-html=\"translateFromPayload(staticContent.title)\">\n            </h2>\n          </v-col>\n        </v-row>\n\n        <v-row>\n          <v-col sm=\"12\">\n            <div v-html=\"staticContent.content\"></div>\n          </v-col>\n        </v-row>\n      </v-col>\n    </v-row>\n  </v-container>\n</template>\n\n<script>\nimport APIAdapter from \"../store/APIAdapter\";\nimport LocaleUtil from \"@/libs/LocaleUtil\";\n\nexport default {\n  components: {},\n\n  metaInfo() {\n    return {\n      title: \"\",\n    };\n  },\n\n  data() {\n    return {\n      staticContent: null,\n    };\n  },\n\n  async mounted() {\n    console.log(\"mounted -- checkout-contacts\");\n    this.loadStaticContent();\n  },\n\n  watch: {\n    $route() {\n      this.loadStaticContent();\n    },\n  },\n\n  computed: {\n    staticContentId() {\n      return this.$route.params.staticContentId;\n    },\n  },\n\n  methods: {\n    async loadStaticContent() {\n      console.log(\"loadStaticContent -- ID:\");\n      console.log(this.staticContentId);\n      this.staticContent = null;\n      if (this.staticContentId != null) {\n        this.staticContent = await APIAdapter.getStaticContent(\n          this.staticContentId\n        );\n        console.log(\"nacteno:\");\n        console.log(this.staticContent);\n      } else {\n        this.staticContent = null;\n      }\n    },\n\n    translateFromPayload(payload) {\n      return LocaleUtil.translateFromPayload(payload, this.$i18n.locale);\n    },\n  },\n};\n</script>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StaticContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StaticContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./StaticContent.vue?vue&type=template&id=118084f2&\"\nimport script from \"./StaticContent.vue?vue&type=script&lang=js&\"\nexport * from \"./StaticContent.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n  return breakpoints.reduce((props, val) => {\n    props[val] = {\n      type: [Boolean, String, Number],\n      default: false,\n    }\n    return props\n  }, {} as Dictionary<PropOptions>)\n})()\n\nconst offsetProps = (() => {\n  return breakpoints.reduce((props, val) => {\n    props['offset' + upperFirst(val)] = {\n      type: [String, Number],\n      default: null,\n    }\n    return props\n  }, {} as Dictionary<PropOptions>)\n})()\n\nconst orderProps = (() => {\n  return breakpoints.reduce((props, val) => {\n    props['order' + upperFirst(val)] = {\n      type: [String, Number],\n      default: null,\n    }\n    return props\n  }, {} as Dictionary<PropOptions>)\n})()\n\nconst propMap = {\n  col: Object.keys(breakpointProps),\n  offset: Object.keys(offsetProps),\n  order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n  let className = type\n  if (val == null || val === false) {\n    return undefined\n  }\n  if (prop) {\n    const breakpoint = prop.replace(type, '')\n    className += `-${breakpoint}`\n  }\n  // Handling the boolean style prop when accepting [Boolean, String, Number]\n  // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n  // Since the default is false, an empty string indicates the prop's presence.\n  if (type === 'col' && (val === '' || val === true)) {\n    // .col-md\n    return className.toLowerCase()\n  }\n  // .order-md-6\n  className += `-${val}`\n  return className.toLowerCase()\n}\n\nconst cache = new Map<string, any[]>()\n\nexport default Vue.extend({\n  name: 'v-col',\n  functional: true,\n  props: {\n    cols: {\n      type: [Boolean, String, Number],\n      default: false,\n    },\n    ...breakpointProps,\n    offset: {\n      type: [String, Number],\n      default: null,\n    },\n    ...offsetProps,\n    order: {\n      type: [String, Number],\n      default: null,\n    },\n    ...orderProps,\n    alignSelf: {\n      type: String,\n      default: null,\n      validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n    },\n    tag: {\n      type: String,\n      default: 'div',\n    },\n  },\n  render (h, { props, data, children, parent }): VNode {\n    // Super-fast memoization based on props, 5x faster than JSON.stringify\n    let cacheKey = ''\n    for (const prop in props) {\n      cacheKey += String((props as any)[prop])\n    }\n    let classList = cache.get(cacheKey)\n\n    if (!classList) {\n      classList = []\n      // Loop through `col`, `offset`, `order` breakpoint props\n      let type: keyof typeof propMap\n      for (type in propMap) {\n        propMap[type].forEach(prop => {\n          const value: string | number | boolean = (props as any)[prop]\n          const className = breakpointClass(type, prop, value)\n          if (className) classList!.push(className)\n        })\n      }\n\n      const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n      classList.push({\n        // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n        col: !hasColClasses || !props.cols,\n        [`col-${props.cols}`]: props.cols,\n        [`offset-${props.offset}`]: props.offset,\n        [`order-${props.order}`]: props.order,\n        [`align-self-${props.alignSelf}`]: props.alignSelf,\n      })\n\n      cache.set(cacheKey, classList)\n    }\n\n    return h(props.tag, mergeData(data, { class: classList }), children)\n  },\n})\n"],"sourceRoot":""}