{"version":3,"sources":["webpack:///resources/js/src/app/components/item/OrderPropertyList.vue","webpack:///resources/js/src/app/components/item/OrderPropertyListGroup.vue","webpack:///resources/js/src/app/components/item/OrderPropertyListItem.vue","webpack:///./node_modules/core-js/internals/object-to-array.js","webpack:///./node_modules/core-js/modules/es.object.values.js","webpack:///./resources/js/src/app/components/item/OrderPropertyList.vue?a7e5","webpack:///./resources/js/src/app/components/item/OrderPropertyListGroup.vue?380b","webpack:///./resources/js/src/app/components/item/OrderPropertyListItem.vue?5410","webpack:///./resources/js/src/app/components/item/OrderPropertyList.vue","webpack:///./resources/js/src/app/components/item/OrderPropertyList.vue?6753","webpack:///./resources/js/src/app/components/item/OrderPropertyList.vue?bc2a","webpack:///./resources/js/src/app/components/item/OrderPropertyListGroup.vue","webpack:///./resources/js/src/app/components/item/OrderPropertyListGroup.vue?a99d","webpack:///./resources/js/src/app/components/item/OrderPropertyListGroup.vue?55f4","webpack:///./resources/js/src/app/components/item/OrderPropertyListItem.vue","webpack:///./resources/js/src/app/components/item/OrderPropertyListItem.vue?4847","webpack:///./resources/js/src/app/components/item/OrderPropertyListItem.vue?c3d8"],"names":[],"mappings":"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wBAqDA;AACA,kEACA;AACA;AACA;;AACA;AACA,KA3DA;AA6DA,aA7DA,uBA8DA;AACA,8BACA;AACA,qFACA;AACA;AACA,SAHA,MAIA,iBACA;AACA;AACA;AACA;AACA,KA1EA;AA4EA,qBA5EA,+BA6EA;AACA,uFACA;AACA;AACA;AACA,KAlFA;AAoFA,uBApFA,iCAqFA;AACA,2IACA;AACA;AACA;;AAEA;AAEA;AACA,KA9FA;AAgGA,8BAhGA,wCAiGA;AACA;AACA,KAnGA;AAqGA,kCArGA,4CAqGA;AACA;AACA,KAvGA;AAyGA,iBAzGA,2BAyGA;AACA;AACA;AA3GA,KA6GA;AACA;AAAA;AAAA;AADA,IA7GA,CAzDA;AA2KA;AAEA,uBAFA,+BAEA,KAFA,EAGA;AACA,oCACA;AACA;AACA,OAHA,MAIA,gCACA;AACA;AACA,OAHA,MAIA,mCACA;AACA,oBACA;AACA;AACA;AACA,OANA,MAOA,oCACA;AACA,kHACA;AACA;AACA;AACA,OANA,MAOA,+BACA;AACA,0BACA;AACA;AACA;AACA;;AAEA;AACA;AAAA;AAAA;AAAA;AACA,KApCA;AAsCA,eAtCA,uBAsCA,KAtCA,EAuCA;AACA;;AAEA,wBACA;AACA;AACA;;AAEA;AAEA;AACA,KAlDA;AAoDA,iBApDA,yBAoDA,KApDA,EAqDA;AACA;AAEA;AACA;AACA;;AAEA,4BACA;AACA;AACA;;AAEA;;AAEA,wBACA;AACA;AACA,OAHA,MAKA;AACA,mEACA;AACA;AACA;;AAEA;AACA;;AAEA;AAEA;AACA,KApFA;AAsFA,6BAtFA,qCAsFA,aAtFA,EAsFA;AACA;AACA,KAxFA;AA0FA,mBA1FA,2BA0FA,KA1FA,EA2FA;AACA,+EACA;AACA;AACA;AACA;AACA,KAjGA;AAmGA,sBAnGA,8BAmGA,IAnGA,EAoGA;AAAA;;AACA;AACA;AAEA;AAEA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SACA,IADA,CACA,oBACA;AACA;AAAA;AAAA;AAAA;AACA,OAJA,EAKA,IALA,CAKA,iBACA;AACA;;AACA;AACA,OATA,EAUA,MAVA,CAUA,oBACA;AACA;;AACA;AACA,OAdA;AAeA,KA3HA;AA6HA,qBA7HA,+BA8HA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA,KAlIA;AAoIA,2BApIA,mCAoIA,KApIA,EAqIA;AACA,qDACA;AACA,oHACA;AADA;AAEA;AACA;AACA;;AAEA,2EACA;AACA,kCACA;AAAA;AAAA,UADA;AAGA;AACA;AApJA,KAsJA,4DACA,oBADA,EAtJA;AA3KA,G;;;;;;;;;;;ACvIA,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,2BAA2B,mBAAO,CAAC,qHAA4C;;AAE/E,YAAY,kBAAkB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC/BA,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,cAAc,mBAAO,CAAC,yFAA8B;;AAEpD;AACA;AACA,GAAG,+BAA+B;AAClC;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACTD;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA,iBAAiB,4CAA4C;AAC7D;AACA;AACA;AACA;AACA,oBAAoB;AACpB,WAAW;AACX;AACA;AACA;AACA,eAAe,qBAAqB,oCAAoC,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,+BAA+B,oCAAoC;AACnE;AACA;AACA;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA,oCAAoC,wCAAwC;AAC5E;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,+BAA+B,qCAAqC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC/HA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,sBAAsB;AACjC;AACA;AACA;AACA;AACA,mBAAmB,4DAA4D;AAC/E;AACA,+BAA+B,oBAAoB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,sCAAsC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;AC9DA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,mCAAmC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kDAAkD;AACxE,sBAAsB;AACtB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,2BAA2B,wBAAwB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA,2BAA2B,wBAAwB;AACnD,4BAA4B,+BAA+B;AAC3D;AACA;AACA;AACA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,oCAAoC,sBAAsB,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA,gCAAgC,wCAAwC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,8BAA8B,2BAA2B;AACzD;AACA;AACA;AACA;AACA;AACA,qBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS,oCAAoC,EAAE;AAC5D;AACA;AACA;AACA;AACA,gCAAgC,wCAAwC;AACxE;AACA,0BAA0B,kDAAkD;AAC5E;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB,YAAY,8BAA8B,EAAE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,qBAAqB;AACrB;AACA,kCAAkC,+BAA+B;AACjE;AACA;AACA;AACA;AACA;AACA,yBAAyB,sBAAsB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,sBAAsB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,wBAAwB;AACrC;AACA;AACA;AACA;AACA,gCAAgC,wCAAwC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,qBAAqB;AACrB;AACA;AACA;AACA,8BAA8B,yCAAyC;AACvE,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,gCAAgC;AAClE,iCAAiC,kCAAkC;AACnE;AACA;AACA;AACA;AACA;AACA,kCAAkC,wBAAwB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,kCAAkC,6BAA6B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,wBAAwB,sBAAsB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,uBAAuB;AACvB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACxjBA;AAAA;AAAA;AAAA;AAAgG;AAC3B;AACL;;;AAGhE;AACsG;AACtG,gBAAgB,2GAAU;AAC1B,EAAE,uFAAM;AACR,EAAE,4FAAM;AACR,EAAE,qGAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACtCf;AAAA;AAAA,wCAAyM,CAAgB,qPAAG,EAAC,C;;;;;;;;;;;;ACA7N;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAqG;AAC3B;AACL;;;AAGrE;AACsG;AACtG,gBAAgB,2GAAU;AAC1B,EAAE,4FAAM;AACR,EAAE,iGAAM;AACR,EAAE,0GAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACtCf;AAAA;AAAA,wCAA8M,CAAgB,0PAAG,EAAC,C;;;;;;;;;;;;ACAlO;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAoG;AAC3B;AACL;;;AAGpE;AACsG;AACtG,gBAAgB,2GAAU;AAC1B,EAAE,2FAAM;AACR,EAAE,gGAAM;AACR,EAAE,yGAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;ACtCf;AAAA;AAAA,wCAA6M,CAAgB,yPAAG,EAAC,C;;;;;;;;;;;;ACAjO;AAAA;AAAA;AAAA;AAAA;AAAA","file":"chunks/ceres-4.js","sourcesContent":["<template>\n <div class=\"order-property-slider mb-3\" v-if=\"renderOrderPropertyList\">\n <div class=\"order-property-slider-inner\" :style=\"{transform: 'translateX(-' + (activeSlide * 100) + '%)'}\">\n <div v-for=\"(propertyGroup, index) in sortedGroupedProperties\" :class=\"{'active': index === activeSlide}\" :key=\"index\">\n <order-property-list-group\n :padding-classes=\"paddingClasses\"\n :padding-inline-styles=\"paddingInlineStyles\"\n :key=\"propertyGroup.id\"\n :property-group=\"propertyGroup\">\n </order-property-list-group>\n </div>\n </div>\n\n <div class=\"order-property-slider-controls\" :class=\"paddingClasses\" :style=\"paddingInlineStyles\" v-if=\"sortedGroupedProperties.length > 1\">\n <div\n class=\"btn shadow-none\"\n @click=\"slideTo(activeSlide - 1)\"\n :class=\"{'btn-primary': activeSlide > 0, 'btn-secondary disabled': activeSlide === 0}\"\n tabindex=\"0\"\n data-testing=\"order-property-previous-slide\">\n <span class=\"fa fa-chevron-left\"></span>\n </div>\n\n <div class=\"slider-nav\">\n <span v-for=\"(propertyGroup, index) in sortedGroupedProperties\"\n :class=\"{ 'active': index === activeSlide, 'highlight': !touchedSlides[index], 'error': propertyGroup.hasError }\"\n @click=\"slideTo(index)\"\n :key=\"index\"\n v-tooltip\n data-toggle=\"tooltip\"\n data-placement=\"top\"\n :title=\"propertyGroup.group ? propertyGroup.group.names.name : $translate('Ceres::Template.singleItemPropertiesWithoutGroup')\">\n </span>\n </div>\n\n <div\n class=\"btn float-right shadow-none\"\n @click=\"slideTo(activeSlide + 1)\"\n :class=\"{'btn-primary': activeSlide < sortedGroupedProperties.length - 1, 'btn-secondary disabled': activeSlide >= sortedGroupedProperties.length - 1 }\"\n tabindex=\"0\"\n data-testing=\"order-property-next-slide\">\n <span class=\"fa fa-chevron-right\"></span>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport OrderPropertyListGroup from \"./OrderPropertyListGroup.vue\";\n\nexport default {\n name: \"order-property-list\",\n\n components:\n {\n \"order-property-list-group\": OrderPropertyListGroup\n },\n\n props:\n {\n paddingClasses:\n {\n type: String,\n default: null\n },\n paddingInlineStyles:\n {\n type: String,\n default: null\n },\n },\n\n inject: {\n itemId: {\n default: null\n }\n },\n\n data()\n {\n return {\n activeSlide: 0,\n touchedSlides: { 0: true }\n };\n },\n\n mounted()\n {\n if (App.useVariationOrderProperties)\n {\n // go to first side, because variation order properties could differ between variations\n document.addEventListener(\"onVariationChanged\", () => {\n this.activeSlide = 0;\n });\n }\n },\n\n computed:\n {\n sortedGroupedProperties()\n {\n const groupedProperties = JSON.parse(JSON.stringify(this.variationGroupedProperties));\n\n for (const group of groupedProperties)\n {\n this.sortGroupProperties(group);\n }\n\n return this.getSortedGroups(groupedProperties);\n },\n\n missingPropertyGroupIds()\n {\n if (this.variationMarkInvalidProperties)\n {\n return [...new Set(this.variationMissingProperties.map(property => property.group && property.group.id))];\n }\n\n return [];\n },\n\n variationGroupedProperties()\n {\n return this.$store.getters[`${this.itemId}/variationGroupedProperties`];\n },\n\n renderOrderPropertyList()\n {\n return this.variationGroupedProperties.length || App.isShopBuilder;\n },\n\n variationMissingProperties()\n {\n return this.$store.getters[`${this.itemId}/variationMissingProperties`];\n },\n\n variationMarkInvalidProperties() {\n return this.$store.state.items[this.itemId] && this.$store.state.items[this.itemId].variationMarkInvalidProperties;\n }\n },\n\n methods:\n {\n sortGroupProperties(group)\n {\n return group.properties.sort((prev, current) =>\n {\n if (prev.position > current.position)\n {\n return 1;\n }\n if (prev.position < current.position)\n {\n return -1;\n }\n\n return 0;\n });\n },\n\n getSortedGroups(groups)\n {\n for (const group of groups)\n {\n const lowestPosition = group.properties.reduce((prev, current) => (prev.position < current.position) ? prev : current);\n\n group.lowestPosition = lowestPosition.position;\n\n const groupId = group.group ? group.group.id : null;\n\n if (this.variationMarkInvalidProperties && this.missingPropertyGroupIds.includes(groupId))\n {\n group.hasError = true;\n }\n }\n\n return groups.sort((prev, current) =>\n {\n if (prev.lowestPosition > current.lowestPosition)\n {\n return 1;\n }\n if (prev.lowestPosition < current.lowestPosition)\n {\n return -1;\n }\n\n return 0;\n });\n },\n\n slideTo(position)\n {\n if (position >= 0 && position < this.sortedGroupedProperties.length)\n {\n this.activeSlide = position;\n this.touchedSlides[this.activeSlide] = true;\n }\n }\n }\n}\n</script>\n","<template>\n <div>\n <div v-if=\"isShownOnItemPageCount\" class=\"pt-2\">\n <div v-if=\"propertyGroup.group\" :class=\"paddingClasses\" :style=\"paddingInlineStyles\">\n <div class=\"h4\">\n {{ propertyGroup.group.names.name }}:\n </div>\n <p class=\"text-muted text-wrap\">\n {{ propertyGroup.group.names.description }}\n </p>\n </div>\n\n <div v-for=\"property in propertyGroup.properties\" :key=\"property.id\" :class=\"paddingClasses\" :style=\"paddingInlineStyles\">\n <order-property-list-item v-if=\"property.isShownOnItemPage\" :group=\"propertyGroup.group\" :property=\"property\"></order-property-list-item>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport OrderPropertyListItem from \"./OrderPropertyListItem.vue\";\n\nexport default {\n name: \"order-property-list-group\",\n\n components:\n {\n OrderPropertyListItem\n },\n\n props:\n {\n paddingClasses:\n {\n type: String,\n default: null\n },\n paddingInlineStyles:\n {\n type: String,\n default: null\n },\n propertyGroup: Object\n },\n\n computed:\n {\n isShownOnItemPageCount()\n {\n const properties = this.propertyGroup.properties.filter(property => property.isShownOnItemPage);\n\n return properties.length;\n }\n }\n}\n</script>\n","<template>\n <div class=\"position-relative\">\n <div v-if=\"inputType === 'text' || inputType === 'float' || inputType === 'int'\" class=\"input-unit order-property-input\" :class=\"{ 'active': property.value, 'error': hasError }\" data-validate=\"text\">\n <input\n type=\"text\"\n @input=\"onInputValueChanged($event.target.value)\"\n v-model=\"inputValue\"\n v-tooltip\n data-toggle=\"tooltip\"\n :title=\"property.names.description\"\n :data-testing=\"'order-property-input-' + inputType\">\n <label class=\"d-flex\">\n <span class=\"text-truncate\">{{ property.names.name }}</span>\n <strong class=\"ml-1\">\n <template v-if=\"surcharge > 0\">({{ inclOrPlus }} {{ surcharge | currency }})</template>\n <span>{{ footnotes }} {{ requiredFootnotes }}</span>\n </strong>\n </label>\n </div>\n\n <div v-else-if=\"inputType === 'checkbox' || inputType === 'radio'\" class=\"form-check\" :class=\"{ 'error': hasError }\">\n <input v-if=\"inputType === 'checkbox' && !(property.isRequired && property.isPreSelected)\"\n type=\"checkbox\"\n :name=\"group ? group.id : 'check' + _uid\"\n :id=\"'check' + _uid\"\n :value=\"property.id\"\n :checked=\"property.value\"\n @change=\"onInputValueChanged($event.target.checked)\"\n class=\"form-check-input\"\n data-testing=\"order-property-input-checkbox\">\n <input v-else-if=\"inputType === 'radio'\"\n type=\"radio\"\n :name=\"group ? group.id : 'check' + _uid\"\n :id=\"'check' + _uid\"\n :value=\"property.id\"\n @change=\"onInputValueChanged($event.target.value)\"\n class=\"form-check-input\"\n :checked=\"property.value\"\n data-testing=\"order-property-input-radio\">\n\n <label class=\"form-check-label text-appearance d-flex\"\n :for=\"'check' + _uid\"\n v-tooltip data-toggle=\"tooltip\"\n :title=\"property.names.description\"\n :data-testing=\"'order-property-label-' + inputType\">\n <span class=\"text-wrap\">{{ property.names.name }}</span>\n <strong class=\"ml-1\">\n <template v-if=\"surcharge > 0\">({{ inclOrPlus }} {{ surcharge | currency }})</template>\n <span>{{ footnotes }} {{ requiredFootnotes }}</span>\n </strong>\n </label>\n </div>\n\n <div v-else-if=\"inputType === 'selection'\" :class=\"{ 'd-flex': selectedDescription }\">\n <div\n class=\"input-unit order-property-input\"\n :class=\"{ 'active': property.value, 'error': hasError }\"\n v-tooltip\n data-toggle=\"tooltip\"\n :title=\"property.names.description\">\n <select id=\"order-property-input-select\" v-model=\"selectionValue\" @change=\"onInputValueChanged($event.target.value)\" class=\"custom-select\" data-testing=\"order-property-selection\">\n <option :selected=\"true\" :value=\"null\">{{ $translate(\"Ceres::Template.singleItemPleaseSelect\") }}</option>\n <option :selected=\"property.id === id\" :value=\"id\" v-for=\"(value, id) in property.selectionValues\" :key=\"id\" data-testing=\"order-property-selection-option\">{{ value.name }}</option>\n </select>\n <label class=\"d-flex w-100\" for=\"order-property-input-select\">\n <span class=\"text-truncate\">{{ property.names.name }}</span>\n <strong class=\"ml-1\">\n <template v-if=\"surcharge > 0\">({{ inclOrPlus }} {{ surcharge | currency }})</template>\n <span>{{ footnotes }} {{ requiredFootnotes }}</span>\n </strong>\n </label>\n </div>\n\n <popper class=\"order-property-selection-info-popper\" v-cloak v-if=\"selectedDescription\" placement=\"bottom\">\n <template #handle>\n <button class=\"btn btn-icon btn-circle btn-default btn-appearance font-weight-bold\">?</button>\n </template>\n <template #content>\n {{ selectedDescription }}\n </template>\n </popper>\n </div>\n\n <div v-else-if=\"inputType === 'file'\" class=\"d-flex\">\n <label class=\"input-unit file-input order-property-input component-loading with-icon sending\" :class=\"{ 'active': property.value, 'is-loading': waiting, 'error': hasError }\" v-tooltip data-toggle=\"tooltip\" :title=\"property.names.description\">\n <span class=\"input-unit-preview\" :class=\"{ 'disabled': waiting }\">{{selectedFileName}}</span>\n <span class=\"input-unit-label d-flex\">\n <span class=\"text-truncate\">{{ property.names.name }}</span>\n <strong class=\"ml-1\">\n <template v-if=\"surcharge > 0\">({{ inclOrPlus }} {{ surcharge | currency }})</template>\n <span>{{ footnotes }} {{ requiredFootnotes }}</span>\n </strong>\n </span>\n <span class=\"input-unit-btn\" v-if=\"!selectedFile\">\n <i class=\"fa fa-ellipsis-h\"></i>\n </span>\n <span class=\"input-unit-btn\" v-else :disabled=\"waiting\" @click.prevent=\"clearSelectedFile()\">\n <i class=\"fa fa-times\"></i>\n </span>\n <input :disabled=\"waiting\" ref=\"fileInput\" type=\"file\" size=\"50\" @change=\"setPropertyFile($event)\" data-testing=\"order-property-input-file\">\n </label>\n\n <client-only>\n <popper class=\"order-property-selection-info-popper\" v-cloak v-if=\"isTouchDevice && property.names.description\" placement=\"bottom\">\n <template #handle>\n <button class=\"btn btn-icon btn-circle btn-default btn-appearance font-weight-bold\">?</button>\n </template>\n <template #content>\n {{ property.names.description }}\n </template>\n </popper>\n </client-only>\n </div>\n\n <client-only>\n <popper class=\"order-property-selection-info-popper position-absolute\" :class=\"{ 'checkbox-or-radio': inputType === 'checkbox' || inputType === 'radio'}\" v-cloak v-if=\"isTouchDevice && inputType !== 'selection' && inputType !== 'file' && property.names.description\" placement=\"bottom\">\n <template #handle>\n <button class=\"btn btn-icon btn-circle btn-default btn-appearance font-weight-bold\">?</button>\n </template>\n <template #content>\n {{ property.names.description }}\n </template>\n </popper>\n </client-only>\n </div>\n</template>\n\n<script>\nconst ApiService = require(\"../../services/ApiService\");\nconst NotificationService = require(\"../../services/NotificationService\");\n\nimport { isNullOrUndefined } from \"../../helper/utils\";\nimport { mapState, mapMutations } from \"vuex\";\nimport TranslationService from '../../services/TranslationService';\n\nexport default {\n\n name: \"order-property-list-item\",\n\n props:\n {\n group: Object,\n property: Object\n },\n\n inject: {\n itemId: {\n default: null\n }\n },\n\n data()\n {\n return {\n inputValue: \"\",\n selectedFile: null,\n waiting: false,\n selectionValue: null\n };\n },\n\n mounted()\n {\n document.addEventListener(\"onVariationChanged\", event =>\n {\n if (event.detail.itemId === this.itemId)\n {\n // clear type specific bindings\n if (this.property.valueType === \"selection\")\n {\n this.selectionValue = this.property.value || null;\n }\n else if (this.property.valueType === \"file\")\n {\n if (this.property.value && this.property.value.length)\n {\n NotificationService.warn(\n TranslationService.translate(\"Ceres::Template.singleItemOrderPropertyFileHasReset\",\n { propertyName: this.property.names.name })\n ).closeAfter(5000);\n }\n\n this.clearSelectedFile();\n }\n else\n {\n this.inputValue = this.property.value || \"\";\n }\n }\n });\n },\n\n computed:\n {\n inputType()\n {\n const orderPropertyGroupingType = this.group ? this.group.orderPropertyGroupingType : null;\n const valueType = this.property.valueType;\n\n if (valueType === \"empty\")\n {\n if (!orderPropertyGroupingType || orderPropertyGroupingType === \"none\" || orderPropertyGroupingType === \"multi\")\n {\n return \"checkbox\";\n }\n\n return \"radio\";\n }\n\n return valueType;\n },\n\n selectedFileName()\n {\n if (this.selectedFile)\n {\n return this.selectedFile.name;\n }\n\n return \"\";\n },\n\n hasError()\n {\n const isRequired = this.property.isRequired || App.config.item.requireOrderProperties;\n\n if (isRequired && this.variationMarkInvalidProperties && this.inputType === \"radio\")\n {\n return this.variationMissingProperties.find(property => property.property.id === this.property.id);\n }\n\n return isRequired && this.variationMarkInvalidProperties && !this.property.value;\n },\n\n surcharge()\n {\n return this.property.itemSurcharge || this.property.surcharge;\n },\n\n hasTax()\n {\n return this.property.vatId !== \"none\" && this.property.vatId !== null;\n },\n\n inclOrPlus()\n {\n if(this.property.isShownAsAdditionalCosts || !this.hasTax)\n {\n return this.$translate(\"Ceres::Template.basketPlusAbbr\")\n }\n return this.$translate(\"Ceres::Template.basketIncludeAbbr\");\n },\n\n footnotes()\n {\n if (this.surcharge > 0)\n {\n if (this.property.isRequired && !this.property.isPreSelected && this.hasTax)\n {\n return this.$translate(\"Ceres::Template.singleItemFootnote12\");\n }\n else if(this.hasTax)\n {\n return this.$translate(\"Ceres::Template.singleItemFootnote1\");\n }\n }\n },\n\n requiredFootnotes()\n {\n if (this.property.isRequired && !this.property.isPreSelected && !this.footnotes)\n {\n return this.$translate(\"Ceres::Template.singleItemFootnote2\");\n }\n },\n\n selectedDescription()\n {\n if (this.inputType !== \"selection\" || isNullOrUndefined(this.selectionValue))\n {\n return null;\n }\n\n const selectedProperty = this.property.selectionValues[this.selectionValue];\n\n return selectedProperty.description;\n },\n\n variationMissingProperties()\n {\n return this.$store.getters[`${this.itemId}/variationMissingProperties`];\n },\n\n variationMarkInvalidProperties() {\n return this.$store.state.items[this.itemId] && this.$store.state.items[this.itemId].variationMarkInvalidProperties;\n },\n\n isTouchDevice() {\n return !App.isSSR ? document.body.classList.contains(\"touch\"): false;\n },\n\n ...mapState({\n isBasketLoading: state => state.basket.isBasketLoading,\n })\n },\n\n methods:\n {\n onInputValueChanged(value)\n {\n if (this.inputType === \"int\")\n {\n value = this.validateInt(value);\n }\n else if (this.inputType === \"float\")\n {\n value = this.validateFloat(value);\n }\n else if (this.inputType === \"checkbox\")\n {\n if (!value)\n {\n value = null;\n }\n }\n else if (this.inputType === \"selection\")\n {\n if (isNullOrUndefined(value) || value.length <= 0)\n {\n value = null;\n }\n }\n else if (this.inputType === \"text\")\n {\n if(value === \"\")\n {\n value = null;\n }\n }\n\n this.$store.commit(`${this.itemId}/setVariationPropertySurcharges`, this.$store.getters[`${this.itemId}/variationBasePrice`]);\n this.setVariationOrderProperty({ propertyId: this.property.id, value: value });\n },\n\n validateInt(value)\n {\n value = parseInt(value);\n\n if (isNaN(value))\n {\n value = null;\n }\n\n this.inputValue = value;\n\n return value;\n },\n\n validateFloat(value)\n {\n const lastChar = value.slice(-1);\n\n const str = value.replace(App.decimalSeparator, \".\");\n const arr = str.split(\".\");\n let toFixedLength = 0;\n\n if (arr.length === 2)\n {\n toFixedLength = arr[1].length;\n }\n\n value = parseFloat(str).toFixed(toFixedLength);\n\n if (isNaN(value))\n {\n value = null;\n }\n else\n {\n if (lastChar === \".\" || lastChar === App.decimalSeparator)\n {\n value += lastChar;\n }\n\n value = value.toString().replace(\".\", App.decimalSeparator);\n }\n\n this.inputValue = value;\n\n return value;\n },\n\n setVariationOrderProperty(orderProperty) {\n return this.$store.commit(`${this.itemId}/setVariationOrderProperty`, orderProperty);\n },\n\n setPropertyFile(event)\n {\n if (event.target && event.target.files && event.target.files.length > 0)\n {\n this.selectedFile = event.target.files[0];\n this.uploadPropertyFile(this.selectedFile);\n }\n },\n\n uploadPropertyFile(file)\n {\n this.setIsBasketLoading(true);\n this.waiting = true;\n\n const fileData = new FormData();\n\n fileData.append(\"fileData\", file);\n\n ApiService.post(\"/rest/io/order/property/file\", fileData, { processData: false, contentType: false, cache: false, async: true, timeout: 60000, supressNotifications: true })\n .done(response =>\n {\n this.setVariationOrderProperty({ propertyId: this.property.id, value: response });\n })\n .fail(error =>\n {\n this.clearSelectedFile();\n this._handleValidationErrors(error);\n })\n .always(response =>\n {\n this.setIsBasketLoading(false);\n this.waiting = false;\n });\n },\n\n clearSelectedFile()\n {\n this.selectedFile = null;\n this.setVariationOrderProperty({ propertyId: this.property.id, value: null });\n this.$refs.fileInput.value = \"\";\n },\n\n _handleValidationErrors(error)\n {\n if (error.hasOwnProperty(\"validation_errors\"))\n {\n for (const err of Object.values(error.validation_errors))\n {\n NotificationService.error(err[0]);\n }\n }\n\n if (error.error.message && error.error.message === \"Post too large\")\n {\n NotificationService.error(\n this.$translate(\"Ceres::Template.errorPostTooLarge\" , { maxSize: error.error.maxSize })\n );\n }\n },\n\n ...mapMutations([\n \"setIsBasketLoading\"\n ]),\n }\n}\n</script>\n","var DESCRIPTORS = require('../internals/descriptors');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n var O = toIndexedObject(it);\n var keys = objectKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n result.push(TO_ENTRIES ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n\nmodule.exports = {\n // `Object.entries` method\n // https://tc39.es/ecma262/#sec-object.entries\n entries: createMethod(true),\n // `Object.values` method\n // https://tc39.es/ecma262/#sec-object.values\n values: createMethod(false)\n};\n","var $ = require('../internals/export');\nvar $values = require('../internals/object-to-array').values;\n\n// `Object.values` method\n// https://tc39.es/ecma262/#sec-object.values\n$({ target: 'Object', stat: true }, {\n values: function values(O) {\n return $values(O);\n }\n});\n","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _vm.renderOrderPropertyList\n ? _c(\"div\", { staticClass: \"order-property-slider mb-3\" }, [\n _c(\n \"div\",\n {\n staticClass: \"order-property-slider-inner\",\n style: { transform: \"translateX(-\" + _vm.activeSlide * 100 + \"%)\" }\n },\n _vm._l(_vm.sortedGroupedProperties, function(propertyGroup, index) {\n return _c(\n \"div\",\n { key: index, class: { active: index === _vm.activeSlide } },\n [\n _c(\"order-property-list-group\", {\n key: propertyGroup.id,\n attrs: {\n \"padding-classes\": _vm.paddingClasses,\n \"padding-inline-styles\": _vm.paddingInlineStyles,\n \"property-group\": propertyGroup\n }\n })\n ],\n 1\n )\n }),\n 0\n ),\n _vm._v(\" \"),\n _vm.sortedGroupedProperties.length > 1\n ? _c(\n \"div\",\n {\n staticClass: \"order-property-slider-controls\",\n class: _vm.paddingClasses,\n style: _vm.paddingInlineStyles\n },\n [\n _c(\n \"div\",\n {\n staticClass: \"btn shadow-none\",\n class: {\n \"btn-primary\": _vm.activeSlide > 0,\n \"btn-secondary disabled\": _vm.activeSlide === 0\n },\n attrs: {\n tabindex: \"0\",\n \"data-testing\": \"order-property-previous-slide\"\n },\n on: {\n click: function($event) {\n return _vm.slideTo(_vm.activeSlide - 1)\n }\n }\n },\n [_c(\"span\", { staticClass: \"fa fa-chevron-left\" })]\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"slider-nav\" },\n _vm._l(_vm.sortedGroupedProperties, function(\n propertyGroup,\n index\n ) {\n return _c(\"span\", {\n directives: [{ name: \"tooltip\", rawName: \"v-tooltip\" }],\n key: index,\n class: {\n active: index === _vm.activeSlide,\n highlight: !_vm.touchedSlides[index],\n error: propertyGroup.hasError\n },\n attrs: {\n \"data-toggle\": \"tooltip\",\n \"data-placement\": \"top\",\n title: propertyGroup.group\n ? propertyGroup.group.names.name\n : _vm.$translate(\n \"Ceres::Template.singleItemPropertiesWithoutGroup\"\n )\n },\n on: {\n click: function($event) {\n return _vm.slideTo(index)\n }\n }\n })\n }),\n 0\n ),\n _vm._v(\" \"),\n _c(\n \"div\",\n {\n staticClass: \"btn float-right shadow-none\",\n class: {\n \"btn-primary\":\n _vm.activeSlide <\n _vm.sortedGroupedProperties.length - 1,\n \"btn-secondary disabled\":\n _vm.activeSlide >=\n _vm.sortedGroupedProperties.length - 1\n },\n attrs: {\n tabindex: \"0\",\n \"data-testing\": \"order-property-next-slide\"\n },\n on: {\n click: function($event) {\n return _vm.slideTo(_vm.activeSlide + 1)\n }\n }\n },\n [_c(\"span\", { staticClass: \"fa fa-chevron-right\" })]\n )\n ]\n )\n : _vm._e()\n ])\n : _vm._e()\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.isShownOnItemPageCount\n ? _c(\n \"div\",\n { staticClass: \"pt-2\" },\n [\n _vm.propertyGroup.group\n ? _c(\n \"div\",\n { class: _vm.paddingClasses, style: _vm.paddingInlineStyles },\n [\n _c(\"div\", { staticClass: \"h4\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.propertyGroup.group.names.name) +\n \":\\n \"\n )\n ]),\n _vm._v(\" \"),\n _c(\"p\", { staticClass: \"text-muted text-wrap\" }, [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.propertyGroup.group.names.description) +\n \"\\n \"\n )\n ])\n ]\n )\n : _vm._e(),\n _vm._v(\" \"),\n _vm._l(_vm.propertyGroup.properties, function(property) {\n return _c(\n \"div\",\n {\n key: property.id,\n class: _vm.paddingClasses,\n style: _vm.paddingInlineStyles\n },\n [\n property.isShownOnItemPage\n ? _c(\"order-property-list-item\", {\n attrs: {\n group: _vm.propertyGroup.group,\n property: property\n }\n })\n : _vm._e()\n ],\n 1\n )\n })\n ],\n 2\n )\n : _vm._e()\n ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\n \"div\",\n { staticClass: \"position-relative\" },\n [\n _vm.inputType === \"text\" ||\n _vm.inputType === \"float\" ||\n _vm.inputType === \"int\"\n ? _c(\n \"div\",\n {\n staticClass: \"input-unit order-property-input\",\n class: { active: _vm.property.value, error: _vm.hasError },\n attrs: { \"data-validate\": \"text\" }\n },\n [\n _c(\"input\", {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.inputValue,\n expression: \"inputValue\"\n },\n { name: \"tooltip\", rawName: \"v-tooltip\" }\n ],\n attrs: {\n type: \"text\",\n \"data-toggle\": \"tooltip\",\n title: _vm.property.names.description,\n \"data-testing\": \"order-property-input-\" + _vm.inputType\n },\n domProps: { value: _vm.inputValue },\n on: {\n input: [\n function($event) {\n if ($event.target.composing) {\n return\n }\n _vm.inputValue = $event.target.value\n },\n function($event) {\n return _vm.onInputValueChanged($event.target.value)\n }\n ]\n }\n }),\n _vm._v(\" \"),\n _c(\"label\", { staticClass: \"d-flex\" }, [\n _c(\"span\", { staticClass: \"text-truncate\" }, [\n _vm._v(_vm._s(_vm.property.names.name))\n ]),\n _vm._v(\" \"),\n _c(\n \"strong\",\n { staticClass: \"ml-1\" },\n [\n _vm.surcharge > 0\n ? [\n _vm._v(\n \"(\" +\n _vm._s(_vm.inclOrPlus) +\n \" \" +\n _vm._s(_vm._f(\"currency\")(_vm.surcharge)) +\n \")\"\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n _vm._s(_vm.footnotes) +\n \" \" +\n _vm._s(_vm.requiredFootnotes)\n )\n ])\n ],\n 2\n )\n ])\n ]\n )\n : _vm.inputType === \"checkbox\" || _vm.inputType === \"radio\"\n ? _c(\n \"div\",\n { staticClass: \"form-check\", class: { error: _vm.hasError } },\n [\n _vm.inputType === \"checkbox\" &&\n !(_vm.property.isRequired && _vm.property.isPreSelected)\n ? _c(\"input\", {\n staticClass: \"form-check-input\",\n attrs: {\n type: \"checkbox\",\n name: _vm.group ? _vm.group.id : \"check\" + _vm._uid,\n id: \"check\" + _vm._uid,\n \"data-testing\": \"order-property-input-checkbox\"\n },\n domProps: {\n value: _vm.property.id,\n checked: _vm.property.value\n },\n on: {\n change: function($event) {\n return _vm.onInputValueChanged($event.target.checked)\n }\n }\n })\n : _vm.inputType === \"radio\"\n ? _c(\"input\", {\n staticClass: \"form-check-input\",\n attrs: {\n type: \"radio\",\n name: _vm.group ? _vm.group.id : \"check\" + _vm._uid,\n id: \"check\" + _vm._uid,\n \"data-testing\": \"order-property-input-radio\"\n },\n domProps: {\n value: _vm.property.id,\n checked: _vm.property.value\n },\n on: {\n change: function($event) {\n return _vm.onInputValueChanged($event.target.value)\n }\n }\n })\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n directives: [{ name: \"tooltip\", rawName: \"v-tooltip\" }],\n staticClass: \"form-check-label text-appearance d-flex\",\n attrs: {\n for: \"check\" + _vm._uid,\n \"data-toggle\": \"tooltip\",\n title: _vm.property.names.description,\n \"data-testing\": \"order-property-label-\" + _vm.inputType\n }\n },\n [\n _c(\"span\", { staticClass: \"text-wrap\" }, [\n _vm._v(_vm._s(_vm.property.names.name))\n ]),\n _vm._v(\" \"),\n _c(\n \"strong\",\n { staticClass: \"ml-1\" },\n [\n _vm.surcharge > 0\n ? [\n _vm._v(\n \"(\" +\n _vm._s(_vm.inclOrPlus) +\n \" \" +\n _vm._s(_vm._f(\"currency\")(_vm.surcharge)) +\n \")\"\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n _vm._s(_vm.footnotes) +\n \" \" +\n _vm._s(_vm.requiredFootnotes)\n )\n ])\n ],\n 2\n )\n ]\n )\n ]\n )\n : _vm.inputType === \"selection\"\n ? _c(\n \"div\",\n { class: { \"d-flex\": _vm.selectedDescription } },\n [\n _c(\n \"div\",\n {\n directives: [{ name: \"tooltip\", rawName: \"v-tooltip\" }],\n staticClass: \"input-unit order-property-input\",\n class: { active: _vm.property.value, error: _vm.hasError },\n attrs: {\n \"data-toggle\": \"tooltip\",\n title: _vm.property.names.description\n }\n },\n [\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.selectionValue,\n expression: \"selectionValue\"\n }\n ],\n staticClass: \"custom-select\",\n attrs: {\n id: \"order-property-input-select\",\n \"data-testing\": \"order-property-selection\"\n },\n on: {\n change: [\n function($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function(o) {\n return o.selected\n })\n .map(function(o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.selectionValue = $event.target.multiple\n ? $$selectedVal\n : $$selectedVal[0]\n },\n function($event) {\n return _vm.onInputValueChanged($event.target.value)\n }\n ]\n }\n },\n [\n _c(\n \"option\",\n { domProps: { selected: true, value: null } },\n [\n _vm._v(\n _vm._s(\n _vm.$translate(\n \"Ceres::Template.singleItemPleaseSelect\"\n )\n )\n )\n ]\n ),\n _vm._v(\" \"),\n _vm._l(_vm.property.selectionValues, function(value, id) {\n return _c(\n \"option\",\n {\n key: id,\n attrs: {\n \"data-testing\": \"order-property-selection-option\"\n },\n domProps: {\n selected: _vm.property.id === id,\n value: id\n }\n },\n [_vm._v(_vm._s(value.name))]\n )\n })\n ],\n 2\n ),\n _vm._v(\" \"),\n _c(\n \"label\",\n {\n staticClass: \"d-flex w-100\",\n attrs: { for: \"order-property-input-select\" }\n },\n [\n _c(\"span\", { staticClass: \"text-truncate\" }, [\n _vm._v(_vm._s(_vm.property.names.name))\n ]),\n _vm._v(\" \"),\n _c(\n \"strong\",\n { staticClass: \"ml-1\" },\n [\n _vm.surcharge > 0\n ? [\n _vm._v(\n \"(\" +\n _vm._s(_vm.inclOrPlus) +\n \" \" +\n _vm._s(_vm._f(\"currency\")(_vm.surcharge)) +\n \")\"\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n _vm._s(_vm.footnotes) +\n \" \" +\n _vm._s(_vm.requiredFootnotes)\n )\n ])\n ],\n 2\n )\n ]\n )\n ]\n ),\n _vm._v(\" \"),\n _vm.selectedDescription\n ? _c(\"popper\", {\n staticClass: \"order-property-selection-info-popper\",\n attrs: { placement: \"bottom\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"handle\",\n fn: function() {\n return [\n _c(\n \"button\",\n {\n staticClass:\n \"btn btn-icon btn-circle btn-default btn-appearance font-weight-bold\"\n },\n [_vm._v(\"?\")]\n )\n ]\n },\n proxy: true\n },\n {\n key: \"content\",\n fn: function() {\n return [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.selectedDescription) +\n \"\\n \"\n )\n ]\n },\n proxy: true\n }\n ],\n null,\n false,\n 2730731730\n )\n })\n : _vm._e()\n ],\n 1\n )\n : _vm.inputType === \"file\"\n ? _c(\n \"div\",\n { staticClass: \"d-flex\" },\n [\n _c(\n \"label\",\n {\n directives: [{ name: \"tooltip\", rawName: \"v-tooltip\" }],\n staticClass:\n \"input-unit file-input order-property-input component-loading with-icon sending\",\n class: {\n active: _vm.property.value,\n \"is-loading\": _vm.waiting,\n error: _vm.hasError\n },\n attrs: {\n \"data-toggle\": \"tooltip\",\n title: _vm.property.names.description\n }\n },\n [\n _c(\n \"span\",\n {\n staticClass: \"input-unit-preview\",\n class: { disabled: _vm.waiting }\n },\n [_vm._v(_vm._s(_vm.selectedFileName))]\n ),\n _vm._v(\" \"),\n _c(\"span\", { staticClass: \"input-unit-label d-flex\" }, [\n _c(\"span\", { staticClass: \"text-truncate\" }, [\n _vm._v(_vm._s(_vm.property.names.name))\n ]),\n _vm._v(\" \"),\n _c(\n \"strong\",\n { staticClass: \"ml-1\" },\n [\n _vm.surcharge > 0\n ? [\n _vm._v(\n \"(\" +\n _vm._s(_vm.inclOrPlus) +\n \" \" +\n _vm._s(_vm._f(\"currency\")(_vm.surcharge)) +\n \")\"\n )\n ]\n : _vm._e(),\n _vm._v(\" \"),\n _c(\"span\", [\n _vm._v(\n _vm._s(_vm.footnotes) +\n \" \" +\n _vm._s(_vm.requiredFootnotes)\n )\n ])\n ],\n 2\n )\n ]),\n _vm._v(\" \"),\n !_vm.selectedFile\n ? _c(\"span\", { staticClass: \"input-unit-btn\" }, [\n _c(\"i\", { staticClass: \"fa fa-ellipsis-h\" })\n ])\n : _c(\n \"span\",\n {\n staticClass: \"input-unit-btn\",\n attrs: { disabled: _vm.waiting },\n on: {\n click: function($event) {\n $event.preventDefault()\n return _vm.clearSelectedFile()\n }\n }\n },\n [_c(\"i\", { staticClass: \"fa fa-times\" })]\n ),\n _vm._v(\" \"),\n _c(\"input\", {\n ref: \"fileInput\",\n attrs: {\n disabled: _vm.waiting,\n type: \"file\",\n size: \"50\",\n \"data-testing\": \"order-property-input-file\"\n },\n on: {\n change: function($event) {\n return _vm.setPropertyFile($event)\n }\n }\n })\n ]\n ),\n _vm._v(\" \"),\n _c(\n \"client-only\",\n [\n _vm.isTouchDevice && _vm.property.names.description\n ? _c(\"popper\", {\n staticClass: \"order-property-selection-info-popper\",\n attrs: { placement: \"bottom\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"handle\",\n fn: function() {\n return [\n _c(\n \"button\",\n {\n staticClass:\n \"btn btn-icon btn-circle btn-default btn-appearance font-weight-bold\"\n },\n [_vm._v(\"?\")]\n )\n ]\n },\n proxy: true\n },\n {\n key: \"content\",\n fn: function() {\n return [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.property.names.description) +\n \"\\n \"\n )\n ]\n },\n proxy: true\n }\n ],\n null,\n false,\n 1618376136\n )\n })\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n : _vm._e(),\n _vm._v(\" \"),\n _c(\n \"client-only\",\n [\n _vm.isTouchDevice &&\n _vm.inputType !== \"selection\" &&\n _vm.inputType !== \"file\" &&\n _vm.property.names.description\n ? _c(\"popper\", {\n staticClass:\n \"order-property-selection-info-popper position-absolute\",\n class: {\n \"checkbox-or-radio\":\n _vm.inputType === \"checkbox\" || _vm.inputType === \"radio\"\n },\n attrs: { placement: \"bottom\" },\n scopedSlots: _vm._u(\n [\n {\n key: \"handle\",\n fn: function() {\n return [\n _c(\n \"button\",\n {\n staticClass:\n \"btn btn-icon btn-circle btn-default btn-appearance font-weight-bold\"\n },\n [_vm._v(\"?\")]\n )\n ]\n },\n proxy: true\n },\n {\n key: \"content\",\n fn: function() {\n return [\n _vm._v(\n \"\\n \" +\n _vm._s(_vm.property.names.description) +\n \"\\n \"\n )\n ]\n },\n proxy: true\n }\n ],\n null,\n false,\n 1214237640\n )\n })\n : _vm._e()\n ],\n 1\n )\n ],\n 1\n )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./OrderPropertyList.vue?vue&type=template&id=fe8a0bd2&\"\nimport script from \"./OrderPropertyList.vue?vue&type=script&lang=js&\"\nexport * from \"./OrderPropertyList.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/runner/work/plugin-ceres/plugin-ceres/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('fe8a0bd2')) {\n api.createRecord('fe8a0bd2', component.options)\n } else {\n api.reload('fe8a0bd2', component.options)\n }\n module.hot.accept(\"./OrderPropertyList.vue?vue&type=template&id=fe8a0bd2&\", function () {\n api.rerender('fe8a0bd2', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"resources/js/src/app/components/item/OrderPropertyList.vue\"\nexport default component.exports","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderPropertyList.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderPropertyList.vue?vue&type=script&lang=js&\"","export * from \"-!../../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderPropertyList.vue?vue&type=template&id=fe8a0bd2&\"","import { render, staticRenderFns } from \"./OrderPropertyListGroup.vue?vue&type=template&id=65a40158&\"\nimport script from \"./OrderPropertyListGroup.vue?vue&type=script&lang=js&\"\nexport * from \"./OrderPropertyListGroup.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/runner/work/plugin-ceres/plugin-ceres/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('65a40158')) {\n api.createRecord('65a40158', component.options)\n } else {\n api.reload('65a40158', component.options)\n }\n module.hot.accept(\"./OrderPropertyListGroup.vue?vue&type=template&id=65a40158&\", function () {\n api.rerender('65a40158', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"resources/js/src/app/components/item/OrderPropertyListGroup.vue\"\nexport default component.exports","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderPropertyListGroup.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderPropertyListGroup.vue?vue&type=script&lang=js&\"","export * from \"-!../../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderPropertyListGroup.vue?vue&type=template&id=65a40158&\"","import { render, staticRenderFns } from \"./OrderPropertyListItem.vue?vue&type=template&id=6fc17f6c&\"\nimport script from \"./OrderPropertyListItem.vue?vue&type=script&lang=js&\"\nexport * from \"./OrderPropertyListItem.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\n/* hot reload */\nif (module.hot) {\n var api = require(\"/home/runner/work/plugin-ceres/plugin-ceres/node_modules/vue-hot-reload-api/dist/index.js\")\n api.install(require('vue'))\n if (api.compatible) {\n module.hot.accept()\n if (!api.isRecorded('6fc17f6c')) {\n api.createRecord('6fc17f6c', component.options)\n } else {\n api.reload('6fc17f6c', component.options)\n }\n module.hot.accept(\"./OrderPropertyListItem.vue?vue&type=template&id=6fc17f6c&\", function () {\n api.rerender('6fc17f6c', {\n render: render,\n staticRenderFns: staticRenderFns\n })\n })\n }\n}\ncomponent.options.__file = \"resources/js/src/app/components/item/OrderPropertyListItem.vue\"\nexport default component.exports","import mod from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderPropertyListItem.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderPropertyListItem.vue?vue&type=script&lang=js&\"","export * from \"-!../../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./OrderPropertyListItem.vue?vue&type=template&id=6fc17f6c&\""],"sourceRoot":""}