diff --git a/packages/Webkul/Velocity/package.json b/packages/Webkul/Velocity/package.json index cefbe5e70..44cc3860f 100644 --- a/packages/Webkul/Velocity/package.json +++ b/packages/Webkul/Velocity/package.json @@ -19,6 +19,7 @@ "vue-carousel": "^0.18.0" }, "dependencies": { + "accounting": "^0.4.1", "bootstrap-sass": "^3.4.1", "font-awesome": "^4.7.0", "material-icons": "^0.3.1", diff --git a/packages/Webkul/Velocity/publishable/assets/css/velocity.css b/packages/Webkul/Velocity/publishable/assets/css/velocity.css index 928d026f5..fa2114458 100644 --- a/packages/Webkul/Velocity/publishable/assets/css/velocity.css +++ b/packages/Webkul/Velocity/publishable/assets/css/velocity.css @@ -232,7 +232,7 @@ content: "\E92E"; } -.rango-eye-visible:before, .table .action .eye-icon:before { +.rango-eye-visible:before, .account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .action .eye-icon:before { content: "\E92F"; } @@ -886,7 +886,7 @@ background-color: #111111; } -.customer-rating .theme-btn.light, .customer-rating .cart-details .light.continue-shopping-btn, .cart-details .customer-rating .light.continue-shopping-btn, .customer-rating .account-content .account-layout .bottom-toolbar .pagination .page-item, .account-content .account-layout .bottom-toolbar .pagination .customer-rating .page-item { +.customer-rating .theme-btn.light, .customer-rating .cart-details .light.continue-shopping-btn, .cart-details .customer-rating .light.continue-shopping-btn, .customer-rating .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light.btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.light.btn, .customer-rating .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button.light, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity .customer-rating button.light, .customer-rating .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.light, .customer-rating .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .customer-rating button.page-item, .customer-rating .quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item, .quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.page-item, .customer-rating .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity .customer-rating button.page-item, .customer-rating .account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item, .account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.page-item, .customer-rating .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .customer-rating button.btn.page-item, .customer-rating .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item, .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.btn.page-item, .customer-rating .account-content .account-layout .bottom-toolbar .pagination .page-item, .account-content .account-layout .bottom-toolbar .pagination .customer-rating .page-item { margin-top: 10px; } @@ -1026,12 +1026,12 @@ } .product-card-new .product-image-container { + height: 225px; position: relative; } .product-card-new .product-image-container img { width: 100%; - height: 100%; } .product-card-new .card-current-price { @@ -1123,7 +1123,7 @@ height: 35px; border-radius: 0px; vertical-align: top; - padding: 0 10px !important; + padding: 0 6px !important; font-size: 24px !important; font-weight: 600 !important; color: #000000 !important; @@ -1136,7 +1136,7 @@ } .quantity input { - max-width: 28px; + max-width: 40px; cursor: default; font-size: 16px !important; border-left: 0px !important; @@ -1488,7 +1488,6 @@ .account-content .sidebar .customer-sidebar .navigation li { width: 100%; padding: 10px 15px; - margin-bottom: 10px; } .account-content .sidebar .customer-sidebar .navigation li:hover, .account-content .sidebar .customer-sidebar .navigation li.active { @@ -1598,10 +1597,10 @@ .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters { right: 0; + padding: 0; width: 220px; + border: unset; position: relative; - padding: 10px 15px; - border: 1px solid #CCCCCC; } .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .grid-dropdown-header { @@ -1612,13 +1611,73 @@ list-style: none; } -.account-content .account-layout .account-items-list.wishlist-container .col-3 { - padding-left: 0; +.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-toggle { + margin-right: 13px; + vertical-align: top; + display: inline-block; } -.account-content .account-layout .account-items-list.wishlist-container .col-3 .product-card-new { - margin: 0; - width: 22rem; +.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-toggle:after { + border: unset; +} + +.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container { + display: inline-block !important; +} + +.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button { + display: block; + font-size: 14px; + margin-top: 10px; + font-weight: 600; + padding: 5px 10px; +} + +.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container li:not(:last-child) { + margin-bottom: 10px; +} + +.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .control-group { + margin-bottom: 0; +} + +.account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .badge { + padding: 10px; + font-size: 12px; +} + +.account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .action .eye-icon { + font-size: 24px; + padding-left: 10px; +} + +.account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .action .eye-icon:hover { + color: #4D7EA8; +} + +.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters:nth-child(2) { + top: 25px; + width: 100%; + display: block; + padding-left: 30px; +} + +.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters:nth-child(2) .dropdown-container { + width: 100%; +} + +.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters:nth-child(2) .dropdown-container li { + width: 150px; + display: inline-block; +} + +.account-content .account-layout .account-items-list.wishlist-container { + width: 100%; + margin: 0 auto; +} + +.account-content .account-layout .account-items-list.wishlist-container .product-card-new { + width: 19rem; } .account-content .account-layout .max-sm-img-dimention { @@ -1672,6 +1731,69 @@ content: "\E907"; } +.account-content .account-layout .sale-container { + font-size: 16px; +} + +.account-content .account-layout .sale-container .tabs ul { + font-weight: 600; + font-size: 20px; + list-style-type: none; +} + +.account-content .account-layout .sale-container .tabs ul li { + padding: 10px 15px; + display: inline-block; + border-bottom: 2px solid transparent; +} + +.account-content .account-layout .sale-container .tabs ul li.active { + border-bottom: 2px solid #26A37C; +} + +.account-content .account-layout .sale-container .tabs-content .sale-section { + padding: 20px 0 10px 0; + border-bottom: 1px solid #CCCCCC; +} + +.account-content .account-layout .sale-container .tabs-content .sale-section .section-title { + font-size: 18px; + font-weight: 600; + padding-bottom: 10px; + color: #9e9e9e; +} + +.account-content .account-layout .sale-container .tabs-content .sale-section .section-content label + span { + font-weight: 600; + color: #9e9e9e; +} + +.account-content .account-layout .sale-container .tabs-content .sale-section .section-content .totals { + width: 100%; + display: inline-block; +} + +.account-content .account-layout .sale-container .tabs-content .sale-section .section-content .totals .sale-summary { + float: right; +} + +.account-content .account-layout .sale-container .order-box-container { + padding: 10px 0; +} + +.account-content .account-layout .sale-container .order-box-container .box { + width: 24%; + vertical-align: top; + display: inline-block; +} + +.account-content .account-layout .sale-container .order-box-container .box .box-title { + font-size: 18px; + padding: 10px 0; + font-weight: 600; + color: #9e9e9e; +} + .account-content .select-icon { left: 95%; top: -28px; @@ -1720,7 +1842,7 @@ padding-top: 25px; } -.checkout-process .order-summary-container .theme-btn, .checkout-process .order-summary-container .cart-details .continue-shopping-btn, .cart-details .checkout-process .order-summary-container .continue-shopping-btn, .checkout-process .order-summary-container .account-content .account-layout .bottom-toolbar .pagination .page-item, .account-content .account-layout .bottom-toolbar .pagination .checkout-process .order-summary-container .page-item { +.checkout-process .order-summary-container .theme-btn, .checkout-process .order-summary-container .cart-details .continue-shopping-btn, .cart-details .checkout-process .order-summary-container .continue-shopping-btn, .checkout-process .order-summary-container .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .checkout-process .order-summary-container button.btn, .checkout-process .order-summary-container .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity .checkout-process .order-summary-container button, .checkout-process .order-summary-container .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .checkout-process .order-summary-container button, .checkout-process .order-summary-container .account-content .account-layout .bottom-toolbar .pagination .page-item, .account-content .account-layout .bottom-toolbar .pagination .checkout-process .order-summary-container .page-item { display: none; } @@ -1908,15 +2030,6 @@ font-size: 16px; } -.table .badge { - padding: 10px; -} - -.table .action .eye-icon { - font-size: 24px; - padding-left: 10px; -} - .search-result-status { width: 100%; display: -webkit-box; @@ -3664,7 +3777,7 @@ body::after { background-position: right; } -.theme-btn, .cart-details .continue-shopping-btn, .account-content .account-layout .bottom-toolbar .pagination .page-item { +.theme-btn, .cart-details .continue-shopping-btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button, .account-content .account-layout .bottom-toolbar .pagination .page-item { border: none; cursor: pointer; font-weight: 600; @@ -3674,7 +3787,7 @@ body::after { background-color: #26A37C !important; } -.theme-btn.light, .cart-details .light.continue-shopping-btn, .account-content .account-layout .bottom-toolbar .pagination .page-item { +.theme-btn.light, .cart-details .light.continue-shopping-btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light.btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button.light, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item, .quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item, .account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item, .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item, .account-content .account-layout .bottom-toolbar .pagination .page-item { color: #26A37C !important; background-color: #FFFFFF !important; -webkit-box-shadow: 0 1px 0 0 #CFCFCF; @@ -3682,17 +3795,17 @@ body::after { border: 1px solid rgba(0, 0, 0, 0.12); } -.theme-btn.light:hover, .cart-details .light.continue-shopping-btn:hover, .account-content .account-layout .bottom-toolbar .pagination .page-item:hover { +.theme-btn.light:hover, .cart-details .light.continue-shopping-btn:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light.btn:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button.light:hover, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light:hover, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item:hover, .quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item:hover, .account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item:hover, .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item:hover, .account-content .account-layout .bottom-toolbar .pagination .page-item:hover { background-color: #f5f5f5 !important; } -.theme-btn:hover, .cart-details .continue-shopping-btn:hover, .account-content .account-layout .bottom-toolbar .pagination .page-item:hover, +.theme-btn:hover, .cart-details .continue-shopping-btn:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button:hover, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button:hover, .account-content .account-layout .bottom-toolbar .pagination .page-item:hover, .btn-add-to-cart:hover { border-color: #247959 !important; background-color: #247959 !important; } -.theme-btn:hover.light, .cart-details .continue-shopping-btn:hover.light, .account-content .account-layout .bottom-toolbar .pagination .page-item:hover, +.theme-btn:hover.light, .cart-details .continue-shopping-btn:hover.light, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn:hover.light, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button:hover.light, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button:hover.light, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item:hover, .quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item:hover, .account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item:hover, .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item:hover, .account-content .account-layout .bottom-toolbar .pagination .page-item:hover, .btn-add-to-cart:hover.light, .account-content .account-layout .bottom-toolbar .pagination .btn-add-to-cart.page-item:hover { border: 1px solid rgba(0, 0, 0, 0.12) !important; @@ -4038,7 +4151,7 @@ ul.circle-list li.circle:not(:last-child) { color: #4D7EA8; } -a.unset, .account-content .account-layout .bottom-toolbar .pagination a.page-item, .table .action a { +a.unset, .account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .action a, .account-content .account-layout .bottom-toolbar .pagination a.page-item { color: unset !important; text-decoration: none !important; } @@ -4167,9 +4280,9 @@ button[disabled] { vertical-align: middle; } -.rango-default, .account-content .sidebar .customer-sidebar .navigation li i.icon, .account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-right-icon, +.rango-default, .account-content .sidebar .customer-sidebar .navigation li i.icon, .account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .action .eye-icon, .account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-right-icon, .account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-left-icon, .account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-right-icon, -.account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-left-icon, .table .action .eye-icon, header #search-form .btn-group .selectdiv, header #search-form .quantity .selectdiv { +.account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-left-icon, header #search-form .btn-group .selectdiv, header #search-form .quantity .selectdiv { speak: none; line-height: 1; font-style: normal; @@ -13241,7 +13354,7 @@ body { position: absolute !important; } -#top #account + .account-modal .theme-btn, #top #account + .account-modal .cart-details .continue-shopping-btn, .cart-details #top #account + .account-modal .continue-shopping-btn, #top #account + .account-modal .account-content .account-layout .bottom-toolbar .pagination .page-item, .account-content .account-layout .bottom-toolbar .pagination #top #account + .account-modal .page-item { +#top #account + .account-modal .theme-btn, #top #account + .account-modal .cart-details .continue-shopping-btn, .cart-details #top #account + .account-modal .continue-shopping-btn, #top #account + .account-modal .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container #top #account + .account-modal button.btn, #top #account + .account-modal .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity #top #account + .account-modal button, #top #account + .account-modal .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container #top #account + .account-modal button, #top #account + .account-modal .account-content .account-layout .bottom-toolbar .pagination .page-item, .account-content .account-layout .bottom-toolbar .pagination #top #account + .account-modal .page-item { padding: .5rem .9rem; } diff --git a/packages/Webkul/Velocity/publishable/assets/js/velocity.js b/packages/Webkul/Velocity/publishable/assets/js/velocity.js index d5a0229a2..89a520979 100644 --- a/packages/Webkul/Velocity/publishable/assets/js/velocity.js +++ b/packages/Webkul/Velocity/publishable/assets/js/velocity.js @@ -1081,12 +1081,15 @@ module.exports = __webpack_require__(76); Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(4); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_carousel__ = __webpack_require__(16); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_carousel___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_carousel__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_toast_notification__ = __webpack_require__(17); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_toast_notification___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_vue_toast_notification__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_toast_notification_dist_index_css__ = __webpack_require__(18); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_toast_notification_dist_index_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_vue_toast_notification_dist_index_css__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_accounting__ = __webpack_require__(79); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_accounting___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_accounting__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_carousel__ = __webpack_require__(16); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_carousel___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_vue_carousel__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_toast_notification__ = __webpack_require__(17); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_toast_notification___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_vue_toast_notification__); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vue_toast_notification_dist_index_css__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vue_toast_notification_dist_index_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_vue_toast_notification_dist_index_css__); + @@ -1097,14 +1100,18 @@ window.VeeValidate = __webpack_require__(41); window.jQuery = window.$ = __webpack_require__(42); window.BootstrapSass = __webpack_require__(43); -__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(__WEBPACK_IMPORTED_MODULE_2_vue_toast_notification___default.a); +__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(__WEBPACK_IMPORTED_MODULE_3_vue_toast_notification___default.a); __WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(VeeValidate); -__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(__WEBPACK_IMPORTED_MODULE_1_vue_carousel___default.a); +__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(__WEBPACK_IMPORTED_MODULE_2_vue_carousel___default.a); __WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(BootstrapSass); __WEBPACK_IMPORTED_MODULE_0_vue___default.a.prototype.$http = axios; +__WEBPACK_IMPORTED_MODULE_0_vue___default.a.filter('currency', function (value, argument) { + return __WEBPACK_IMPORTED_MODULE_1_accounting___default.a.formatMoney(value, argument); +}); + window.Vue = __WEBPACK_IMPORTED_MODULE_0_vue___default.a; -window.Carousel = __WEBPACK_IMPORTED_MODULE_1_vue_carousel___default.a; +window.Carousel = __WEBPACK_IMPORTED_MODULE_2_vue_carousel___default.a; // UI components __WEBPACK_IMPORTED_MODULE_0_vue___default.a.component("vue-slider", __webpack_require__(44)); @@ -1229,7 +1236,7 @@ $(document).ready(function () { new __WEBPACK_IMPORTED_MODULE_0_vue___default.a({ el: "#app", - VueToast: __WEBPACK_IMPORTED_MODULE_2_vue_toast_notification___default.a, + VueToast: __WEBPACK_IMPORTED_MODULE_3_vue_toast_notification___default.a, data: function data() { return { @@ -1323,11 +1330,13 @@ $(document).ready(function () { }, addFlashMessages: function addFlashMessages() { - var flashes = this.$refs.flashes; + // const flashes = this.$refs.flashes; - flashMessages.forEach(function (flash) { - flashes.addFlash(flash); - }, this); + // flashMessages.forEach(function (flash) { + // flashes.addFlash(flash); + // }, this); + + if (window.flashMessages.alertMessage) window.alert(window.flashMessages.alertMessage); }, showModal: function showModal(id) { @@ -35833,7 +35842,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); // /* harmony default export */ __webpack_exports__["default"] = ({ - props: ['active'], + props: ['active', 'addClass'], data: function data() { return { isActive: this.active @@ -35852,7 +35861,7 @@ var render = function() { return _c( "i", { - class: "material-icons", + class: "material-icons " + _vm.addClass, on: { mouseover: function($event) { _vm.isActive ? (_vm.isActive = !_vm.isActive) : "" @@ -37034,5 +37043,426 @@ if (false) { // removed by extract-text-webpack-plugin +/***/ }), +/* 77 */, +/* 78 */, +/* 79 */ +/***/ (function(module, exports, __webpack_require__) { + +/*! + * accounting.js v0.4.1 + * Copyright 2014 Open Exchange Rates + * + * Freely distributable under the MIT license. + * Portions of accounting.js are inspired or borrowed from underscore.js + * + * Full details and documentation: + * http://openexchangerates.github.io/accounting.js/ + */ + +(function(root, undefined) { + + /* --- Setup --- */ + + // Create the local library object, to be exported or referenced globally later + var lib = {}; + + // Current version + lib.version = '0.4.1'; + + + /* --- Exposed settings --- */ + + // The library's settings configuration object. Contains default parameters for + // currency and number formatting + lib.settings = { + currency: { + symbol : "$", // default currency symbol is '$' + format : "%s%v", // controls output: %s = symbol, %v = value (can be object, see docs) + decimal : ".", // decimal point separator + thousand : ",", // thousands separator + precision : 2, // decimal places + grouping : 3 // digit grouping (not implemented yet) + }, + number: { + precision : 0, // default precision on numbers is 0 + grouping : 3, // digit grouping (not implemented yet) + thousand : ",", + decimal : "." + } + }; + + + /* --- Internal Helper Methods --- */ + + // Store reference to possibly-available ECMAScript 5 methods for later + var nativeMap = Array.prototype.map, + nativeIsArray = Array.isArray, + toString = Object.prototype.toString; + + /** + * Tests whether supplied parameter is a string + * from underscore.js + */ + function isString(obj) { + return !!(obj === '' || (obj && obj.charCodeAt && obj.substr)); + } + + /** + * Tests whether supplied parameter is a string + * from underscore.js, delegates to ECMA5's native Array.isArray + */ + function isArray(obj) { + return nativeIsArray ? nativeIsArray(obj) : toString.call(obj) === '[object Array]'; + } + + /** + * Tests whether supplied parameter is a true object + */ + function isObject(obj) { + return obj && toString.call(obj) === '[object Object]'; + } + + /** + * Extends an object with a defaults object, similar to underscore's _.defaults + * + * Used for abstracting parameter handling from API methods + */ + function defaults(object, defs) { + var key; + object = object || {}; + defs = defs || {}; + // Iterate over object non-prototype properties: + for (key in defs) { + if (defs.hasOwnProperty(key)) { + // Replace values with defaults only if undefined (allow empty/zero values): + if (object[key] == null) object[key] = defs[key]; + } + } + return object; + } + + /** + * Implementation of `Array.map()` for iteration loops + * + * Returns a new Array as a result of calling `iterator` on each array value. + * Defers to native Array.map if available + */ + function map(obj, iterator, context) { + var results = [], i, j; + + if (!obj) return results; + + // Use native .map method if it exists: + if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); + + // Fallback for native .map: + for (i = 0, j = obj.length; i < j; i++ ) { + results[i] = iterator.call(context, obj[i], i, obj); + } + return results; + } + + /** + * Check and normalise the value of precision (must be positive integer) + */ + function checkPrecision(val, base) { + val = Math.round(Math.abs(val)); + return isNaN(val)? base : val; + } + + + /** + * Parses a format string or object and returns format obj for use in rendering + * + * `format` is either a string with the default (positive) format, or object + * containing `pos` (required), `neg` and `zero` values (or a function returning + * either a string or object) + * + * Either string or format.pos must contain "%v" (value) to be valid + */ + function checkCurrencyFormat(format) { + var defaults = lib.settings.currency.format; + + // Allow function as format parameter (should return string or object): + if ( typeof format === "function" ) format = format(); + + // Format can be a string, in which case `value` ("%v") must be present: + if ( isString( format ) && format.match("%v") ) { + + // Create and return positive, negative and zero formats: + return { + pos : format, + neg : format.replace("-", "").replace("%v", "-%v"), + zero : format + }; + + // If no format, or object is missing valid positive value, use defaults: + } else if ( !format || !format.pos || !format.pos.match("%v") ) { + + // If defaults is a string, casts it to an object for faster checking next time: + return ( !isString( defaults ) ) ? defaults : lib.settings.currency.format = { + pos : defaults, + neg : defaults.replace("%v", "-%v"), + zero : defaults + }; + + } + // Otherwise, assume format was fine: + return format; + } + + + /* --- API Methods --- */ + + /** + * Takes a string/array of strings, removes all formatting/cruft and returns the raw float value + * Alias: `accounting.parse(string)` + * + * Decimal must be included in the regular expression to match floats (defaults to + * accounting.settings.number.decimal), so if the number uses a non-standard decimal + * separator, provide it as the second argument. + * + * Also matches bracketed negatives (eg. "$ (1.99)" => -1.99) + * + * Doesn't throw any errors (`NaN`s become 0) but this may change in future + */ + var unformat = lib.unformat = lib.parse = function(value, decimal) { + // Recursively unformat arrays: + if (isArray(value)) { + return map(value, function(val) { + return unformat(val, decimal); + }); + } + + // Fails silently (need decent errors): + value = value || 0; + + // Return the value as-is if it's already a number: + if (typeof value === "number") return value; + + // Default decimal point comes from settings, but could be set to eg. "," in opts: + decimal = decimal || lib.settings.number.decimal; + + // Build regex to strip out everything except digits, decimal point and minus sign: + var regex = new RegExp("[^0-9-" + decimal + "]", ["g"]), + unformatted = parseFloat( + ("" + value) + .replace(/\((.*)\)/, "-$1") // replace bracketed values with negatives + .replace(regex, '') // strip out any cruft + .replace(decimal, '.') // make sure decimal point is standard + ); + + // This will fail silently which may cause trouble, let's wait and see: + return !isNaN(unformatted) ? unformatted : 0; + }; + + + /** + * Implementation of toFixed() that treats floats more like decimals + * + * Fixes binary rounding issues (eg. (0.615).toFixed(2) === "0.61") that present + * problems for accounting- and finance-related software. + */ + var toFixed = lib.toFixed = function(value, precision) { + precision = checkPrecision(precision, lib.settings.number.precision); + var power = Math.pow(10, precision); + + // Multiply up by precision, round accurately, then divide and use native toFixed(): + return (Math.round(lib.unformat(value) * power) / power).toFixed(precision); + }; + + + /** + * Format a number, with comma-separated thousands and custom precision/decimal places + * Alias: `accounting.format()` + * + * Localise by overriding the precision and thousand / decimal separators + * 2nd parameter `precision` can be an object matching `settings.number` + */ + var formatNumber = lib.formatNumber = lib.format = function(number, precision, thousand, decimal) { + // Resursively format arrays: + if (isArray(number)) { + return map(number, function(val) { + return formatNumber(val, precision, thousand, decimal); + }); + } + + // Clean up number: + number = unformat(number); + + // Build options object from second param (if object) or all params, extending defaults: + var opts = defaults( + (isObject(precision) ? precision : { + precision : precision, + thousand : thousand, + decimal : decimal + }), + lib.settings.number + ), + + // Clean up precision + usePrecision = checkPrecision(opts.precision), + + // Do some calc: + negative = number < 0 ? "-" : "", + base = parseInt(toFixed(Math.abs(number || 0), usePrecision), 10) + "", + mod = base.length > 3 ? base.length % 3 : 0; + + // Format the number: + return negative + (mod ? base.substr(0, mod) + opts.thousand : "") + base.substr(mod).replace(/(\d{3})(?=\d)/g, "$1" + opts.thousand) + (usePrecision ? opts.decimal + toFixed(Math.abs(number), usePrecision).split('.')[1] : ""); + }; + + + /** + * Format a number into currency + * + * Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format) + * defaults: (0, "$", 2, ",", ".", "%s%v") + * + * Localise by overriding the symbol, precision, thousand / decimal separators and format + * Second param can be an object matching `settings.currency` which is the easiest way. + * + * To do: tidy up the parameters + */ + var formatMoney = lib.formatMoney = function(number, symbol, precision, thousand, decimal, format) { + // Resursively format arrays: + if (isArray(number)) { + return map(number, function(val){ + return formatMoney(val, symbol, precision, thousand, decimal, format); + }); + } + + // Clean up number: + number = unformat(number); + + // Build options object from second param (if object) or all params, extending defaults: + var opts = defaults( + (isObject(symbol) ? symbol : { + symbol : symbol, + precision : precision, + thousand : thousand, + decimal : decimal, + format : format + }), + lib.settings.currency + ), + + // Check format (returns object with pos, neg and zero): + formats = checkCurrencyFormat(opts.format), + + // Choose which format to use for this value: + useFormat = number > 0 ? formats.pos : number < 0 ? formats.neg : formats.zero; + + // Return with currency symbol added: + return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), checkPrecision(opts.precision), opts.thousand, opts.decimal)); + }; + + + /** + * Format a list of numbers into an accounting column, padding with whitespace + * to line up currency symbols, thousand separators and decimals places + * + * List should be an array of numbers + * Second parameter can be an object containing keys that match the params + * + * Returns array of accouting-formatted number strings of same length + * + * NB: `white-space:pre` CSS rule is required on the list container to prevent + * browsers from collapsing the whitespace in the output strings. + */ + lib.formatColumn = function(list, symbol, precision, thousand, decimal, format) { + if (!list) return []; + + // Build options object from second param (if object) or all params, extending defaults: + var opts = defaults( + (isObject(symbol) ? symbol : { + symbol : symbol, + precision : precision, + thousand : thousand, + decimal : decimal, + format : format + }), + lib.settings.currency + ), + + // Check format (returns object with pos, neg and zero), only need pos for now: + formats = checkCurrencyFormat(opts.format), + + // Whether to pad at start of string or after currency symbol: + padAfterSymbol = formats.pos.indexOf("%s") < formats.pos.indexOf("%v") ? true : false, + + // Store value for the length of the longest string in the column: + maxLength = 0, + + // Format the list according to options, store the length of the longest string: + formatted = map(list, function(val, i) { + if (isArray(val)) { + // Recursively format columns if list is a multi-dimensional array: + return lib.formatColumn(val, opts); + } else { + // Clean up the value + val = unformat(val); + + // Choose which format to use for this value (pos, neg or zero): + var useFormat = val > 0 ? formats.pos : val < 0 ? formats.neg : formats.zero, + + // Format this value, push into formatted list and save the length: + fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), checkPrecision(opts.precision), opts.thousand, opts.decimal)); + + if (fVal.length > maxLength) maxLength = fVal.length; + return fVal; + } + }); + + // Pad each number in the list and send back the column of numbers: + return map(formatted, function(val, i) { + // Only if this is a string (not a nested array, which would have already been padded): + if (isString(val) && val.length < maxLength) { + // Depending on symbol position, pad after symbol or at index 0: + return padAfterSymbol ? val.replace(opts.symbol, opts.symbol+(new Array(maxLength - val.length + 1).join(" "))) : (new Array(maxLength - val.length + 1).join(" ")) + val; + } + return val; + }); + }; + + + /* --- Module Definition --- */ + + // Export accounting for CommonJS. If being loaded as an AMD module, define it as such. + // Otherwise, just add `accounting` to the global object + if (true) { + if (typeof module !== 'undefined' && module.exports) { + exports = module.exports = lib; + } + exports.accounting = lib; + } else if (typeof define === 'function' && define.amd) { + // Return the library as an AMD module: + define([], function() { + return lib; + }); + } else { + // Use accounting.noConflict to restore `accounting` back to its original value. + // Returns a reference to the library's `accounting` object; + // e.g. `var numbers = accounting.noConflict();` + lib.noConflict = (function(oldAccounting) { + return function() { + // Reset the value of the root's `accounting` variable: + root.accounting = oldAccounting; + // Delete the noConflict method: + lib.noConflict = undefined; + // Return reference to the library to re-assign it: + return lib; + }; + })(root.accounting); + + // Declare `fx` on the root (global/window) object: + root['accounting'] = lib; + } + + // Root will be `window` in browser or `global` on the server: +}(this)); + + /***/ }) /******/ ]); \ No newline at end of file diff --git a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/wishlist.vue b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/wishlist.vue index 20dae9977..63e603487 100644 --- a/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/wishlist.vue +++ b/packages/Webkul/Velocity/src/Resources/assets/js/UI/components/wishlist.vue @@ -1,6 +1,6 @@