Changeset 2709284
- Timestamp:
- 04/13/2022 03:57:42 PM (4 years ago)
- Location:
- orderable
- Files:
-
- 6 added
- 2 deleted
- 68 edited
- 1 copied
-
tags/1.3.0 (copied) (copied from orderable/trunk)
-
tags/1.3.0/assets/admin/css/main.css (modified) (1 diff)
-
tags/1.3.0/assets/admin/css/main.min.css (modified) (1 diff)
-
tags/1.3.0/assets/admin/js/main.js (modified) (3 diffs)
-
tags/1.3.0/assets/admin/js/main.min.js (modified) (1 diff)
-
tags/1.3.0/assets/frontend/css/main.css (modified) (21 diffs)
-
tags/1.3.0/assets/frontend/css/main.min.css (modified) (1 diff)
-
tags/1.3.0/assets/frontend/js/main.js (modified) (15 diffs)
-
tags/1.3.0/assets/frontend/js/main.min.js (modified) (1 diff)
-
tags/1.3.0/inc/class-admin-notices.php (modified) (1 diff)
-
tags/1.3.0/inc/class-ajax.php (modified) (2 diffs)
-
tags/1.3.0/inc/class-assets.php (modified) (2 diffs)
-
tags/1.3.0/inc/class-modules.php (modified) (1 diff)
-
tags/1.3.0/inc/class-products.php (modified) (10 diffs)
-
tags/1.3.0/inc/class-settings.php (modified) (2 diffs)
-
tags/1.3.0/inc/modules/addons/class-addons.php (modified) (1 diff)
-
tags/1.3.0/inc/modules/custom-order-status (added)
-
tags/1.3.0/inc/modules/custom-order-status/class-custom-order-status.php (added)
-
tags/1.3.0/inc/modules/drawer/class-drawer-ajax.php (modified) (2 diffs)
-
tags/1.3.0/inc/modules/drawer/class-drawer-settings.php (modified) (7 diffs)
-
tags/1.3.0/inc/modules/drawer/class-drawer.php (modified) (3 diffs)
-
tags/1.3.0/inc/modules/drawer/templates/drawer.php (modified) (1 diff)
-
tags/1.3.0/inc/modules/layouts/assets/admin/css/layouts.css (modified) (13 diffs)
-
tags/1.3.0/inc/modules/layouts/assets/admin/css/layouts.min.css (modified) (1 diff)
-
tags/1.3.0/inc/modules/layouts/assets/admin/js/main.min.js (modified) (1 diff)
-
tags/1.3.0/inc/modules/layouts/class-layouts.php (modified) (11 diffs)
-
tags/1.3.0/inc/modules/layouts/templates/admin/layout-settings-metabox.php (modified) (1 diff)
-
tags/1.3.0/inc/modules/layouts/templates/product.php (modified) (1 diff)
-
tags/1.3.0/inc/modules/live-view/class-live-view.php (modified) (6 diffs)
-
tags/1.3.0/inc/modules/timed-products/class-timed-products.php (modified) (1 diff)
-
tags/1.3.0/inc/modules/timings/class-timings-order.php (modified) (4 diffs)
-
tags/1.3.0/languages/orderable.pot (modified) (10 diffs)
-
tags/1.3.0/orderable.php (modified) (2 diffs)
-
tags/1.3.0/readme.txt (modified) (2 diffs)
-
tags/1.3.0/templates/product/accordion.php (added)
-
tags/1.3.0/templates/product/hero-title.php (deleted)
-
tags/1.3.0/templates/product/hero.php (modified) (1 diff)
-
tags/1.3.0/templates/product/options.php (modified) (2 diffs)
-
tags/1.3.0/woocommerce/cart/mini-cart.php (modified) (1 diff)
-
trunk/assets/admin/css/main.css (modified) (1 diff)
-
trunk/assets/admin/css/main.min.css (modified) (1 diff)
-
trunk/assets/admin/js/main.js (modified) (3 diffs)
-
trunk/assets/admin/js/main.min.js (modified) (1 diff)
-
trunk/assets/frontend/css/main.css (modified) (21 diffs)
-
trunk/assets/frontend/css/main.min.css (modified) (1 diff)
-
trunk/assets/frontend/js/main.js (modified) (15 diffs)
-
trunk/assets/frontend/js/main.min.js (modified) (1 diff)
-
trunk/inc/class-admin-notices.php (modified) (1 diff)
-
trunk/inc/class-ajax.php (modified) (2 diffs)
-
trunk/inc/class-assets.php (modified) (2 diffs)
-
trunk/inc/class-modules.php (modified) (1 diff)
-
trunk/inc/class-products.php (modified) (10 diffs)
-
trunk/inc/class-settings.php (modified) (2 diffs)
-
trunk/inc/modules/addons/class-addons.php (modified) (1 diff)
-
trunk/inc/modules/custom-order-status (added)
-
trunk/inc/modules/custom-order-status/class-custom-order-status.php (added)
-
trunk/inc/modules/drawer/class-drawer-ajax.php (modified) (2 diffs)
-
trunk/inc/modules/drawer/class-drawer-settings.php (modified) (7 diffs)
-
trunk/inc/modules/drawer/class-drawer.php (modified) (3 diffs)
-
trunk/inc/modules/drawer/templates/drawer.php (modified) (1 diff)
-
trunk/inc/modules/layouts/assets/admin/css/layouts.css (modified) (13 diffs)
-
trunk/inc/modules/layouts/assets/admin/css/layouts.min.css (modified) (1 diff)
-
trunk/inc/modules/layouts/assets/admin/js/main.min.js (modified) (1 diff)
-
trunk/inc/modules/layouts/class-layouts.php (modified) (11 diffs)
-
trunk/inc/modules/layouts/templates/admin/layout-settings-metabox.php (modified) (1 diff)
-
trunk/inc/modules/layouts/templates/product.php (modified) (1 diff)
-
trunk/inc/modules/live-view/class-live-view.php (modified) (6 diffs)
-
trunk/inc/modules/timed-products/class-timed-products.php (modified) (1 diff)
-
trunk/inc/modules/timings/class-timings-order.php (modified) (4 diffs)
-
trunk/languages/orderable.pot (modified) (10 diffs)
-
trunk/orderable.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/templates/product/accordion.php (added)
-
trunk/templates/product/hero-title.php (deleted)
-
trunk/templates/product/hero.php (modified) (1 diff)
-
trunk/templates/product/options.php (modified) (2 diffs)
-
trunk/woocommerce/cart/mini-cart.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
orderable/tags/1.3.0/assets/admin/css/main.css
r2666071 r2709284 107 107 width: 50px !important; 108 108 text-align: center; 109 }110 111 .orderable-table__row:first-child .orderable-table__column--remove .orderable-table__remove-row {112 display: none;113 109 } 114 110 -
orderable/tags/1.3.0/assets/admin/css/main.min.css
r2666071 r2709284 1 .orderable-table{table-layout:fixed;max-width:712px;border-collapse:collapse;border-radius:8px;background:#f4f5f6;border:none;width:100%}.orderable-table td,.orderable-table th{width:auto;vertical-align:middle!important}.orderable-table th{padding-top:12px!important;padding-bottom:12px!important}.orderable-table thead,.orderable-table tr{border-bottom:1px solid #d8dbdf}.orderable-table>tbody th{padding-left:14px;border-right:1px solid #d8dbdf}.orderable-table tr.orderable-table__row--last,.orderable-table tr:last-child{border:none}.orderable-table__row--hidden .orderable-table__column:not(.orderable-table__column--always-visible){position:relative}.orderable-table__row--hidden .orderable-table__column:not(.orderable-table__column--always-visible):after{content:'';position:absolute;top:0;left:0;right:0;bottom:0}.orderable-table__row--hidden .orderable-table__column:not(.orderable-table__column--always-visible)>*{opacity:.3}.orderable-table .orderable-table__row--repeatable{border-bottom-color:#fff;border-bottom-width:8px}.orderable-table__column{padding:8px 14px!important;vertical-align:middle!important;text-align:left;border-left:none;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-table__column--checkbox{width:36px!important;padding-right:0!important;border-right:none}.orderable-table__column--label{padding-left:4px!important;width:100px!important}@media (max-width:782px){.orderable-table__column--label{width:auto!important}}.orderable-table__column--medium{width:156px!important}@media (max-width:782px){.orderable-table__column--medium{width:auto!important}}.orderable-table__column--time{width:190px!important}@media (max-width:782px){.orderable-table__column--time{width:auto!important} }.orderable-table__column--remove{width:50px!important;text-align:center}.orderable-table__row:first-child .orderable-table__column--remove .orderable-table__remove-row{display:none}.orderable-table__column--last{width:auto}.orderable-table__column input,.orderable-table__column select{max-width:100%}.orderable-table__no-td-border{border-bottom:none!important}.orderable-table__no-td-border th{border-bottom:1px solid #d8dbdf}.orderable-table__cell--no-padding{padding:0!important}.orderable-table__cell .orderable-table__cell-column{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 14px}.orderable-table__cell .orderable-table__cell-column--first{padding-left:0}.orderable-table__cell .orderable-table__cell-column--last{padding-right:0}.orderable-table__cell--2-col{overflow:hidden}@media (max-width:782px){.orderable-table__cell,.orderable-table__column--remove{display:table-cell!important}}.orderable-table__fieldset{display:inline-block;margin:0 15px 0 0}.orderable-table__fieldset legend{font-weight:600;margin:0 0 4px;padding:0;color:#23282d}.orderable-table__fieldset--nowrap{white-space:nowrap}.orderable-table__rwd-labels{display:none;margin:0 0 4px;min-width:160px}.orderable-table--child{border-radius:0;background:0 0}.orderable-table--child td:last-child,.orderable-table--child th:last-child{border-right:1px solid #d8dbdf}.orderable-table--compact td,.orderable-table--compact th{padding:8px 14px!important}@media (max-width:782px){.orderable-table--compact th{padding-bottom:4px!important}.orderable-table--compact td{padding-top:0!important}.orderable-table--compact tr:first-child th{padding-top:10px!important}.orderable-table--compact tr.orderable-table__row--last td{padding-bottom:15px!important}}@media (max-width:1210px){.orderable-table--open-hours thead{display:none}.orderable-table--open-hours td,.orderable-table--open-hours th{display:block;width:100%!important;height:auto;margin:0}.orderable-table--open-hours .orderable-table__column--checkbox,.orderable-table--open-hours .orderable-table__column--label{padding-top:20px!important}.orderable-table--open-hours .orderable-table__column--checkbox{width:36px!important;float:left}.orderable-table--open-hours .orderable-table__column--label{float:left;width:auto!important;font-weight:700}.orderable-table--open-hours .orderable-table__column--time{clear:both}.orderable-table--open-hours .orderable-table__column--last{padding-bottom:20px!important}.orderable-table--open-hours .orderable-table__rwd-labels{display:inline-block}}@media (max-width:782px){.orderable-table--open-hours .orderable-table__column--checkbox{width:45px!important}.orderable-table--open-hours .orderable-table__column--label{line-height:21px}.orderable-table--open-hours .orderable-table__rwd-labels{display:block}}.orderable-admin-button,body .submit .button-primary{background:#2271b6;border:none;padding:8px 15px;border-radius:8px;line-height:1.3;font-weight:600;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;margin:0;text-decoration:none;display:inline-block;color:#fff;font-size:14px}.orderable-admin-button:active,.orderable-admin-button:focus,.orderable-admin-button:hover,body .submit .button-primary:active,body .submit .button-primary:focus,body .submit .button-primary:hover{background:#164975;color:#fff}.orderable-admin-button:focus,body .submit .button-primary:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}.orderable-admin-button.orderable-trigger-element--active,body .submit .button-primary.orderable-trigger-element--active{background:#0A2135;color:#fff;cursor:default}.orderable-admin-button .dashicons,body .submit .button-primary .dashicons{width:16px;height:16px;font-size:16px;vertical-align:middle}.orderable-admin-button--pro .dashicons{line-height:12px}.orderable-toolbar{margin:0 0 15px;display:block;overflow:hidden}.orderable-toolbar .orderable-admin-button{margin-right:4px}.orderable-toolbar__actions{display:inline-block}.multi-select-container{display:inline-block;position:relative;width:100%;max-width:100%}.multi-select-menu{position:absolute;left:0;top:17px;z-index:1;float:left;min-width:100%;background:#fff;margin:1em 0;border:1px solid #aaa;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2);display:none;padding:4px 0}.multi-select-menuitem{display:block;font-size:14px;padding:4px 10px 4px 36px;white-space:nowrap;position:relative}.multi-select-menuitem--none{padding-left:10px}@media (max-width:782px){.multi-select-menu{top:27px}.multi-select-menuitem{min-height:32px;line-height:32px;padding-left:44px}}.multi-select-menuitem--titled:before{display:block;font-weight:700;content:attr(data-group-title);margin:0 0 .25em -20px}.multi-select-menuitem--titledsr:before{display:block;font-weight:700;content:attr(data-group-title);border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.multi-select-presets{border-bottom:1px solid #ddd}.multi-select-menuitem input{position:absolute;left:10px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:0!important}.multi-select-button{display:inline-block;font-size:14px;padding:0 28px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:-.5em;background-color:#fff;border:1px solid #7e8993;border-radius:4px;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;cursor:pointer;line-height:2;min-height:30px;position:relative;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}@media (max-width:782px){.multi-select-button{min-height:40px;height:40px;line-height:38px}}.multi-select-button:focus,.multi-select-container--open .multi-select-button{border-color:#007cba;-webkit-box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px #007cba;outline:transparent solid 2px}.multi-select-button:after{content:"";display:inline-block;width:0;height:0;border-style:solid;border-width:6px 6px 0;border-color:#999 transparent transparent;vertical-align:.1em;position:absolute;right:8px;top:50%;-webkit-transform:translateY(-48%);transform:translateY(-48%)}.multi-select-container--open .multi-select-menu{display:block}.multi-select-container--open .multi-select-button:after{border-width:0 .4em .4em;border-color:transparent transparent #999}.multi-select-container--positioned .multi-select-menu{-webkit-box-sizing:border-box;box-sizing:border-box}.multi-select-container--positioned .multi-select-menu label{white-space:normal}.orderable-toggle-wrapper{display:none}.orderable-toggle-wrapper--active{display:inline-block}.orderable-element--disabled{opacity:.3;position:relative}.orderable-element--disabled:after{content:'';position:absolute;top:0;left:0;right:0;bottom:0}.iconic-onboard-modal-setting__field-section{margin:1em 0}.orderable-time{white-space:nowrap}.orderable-time__select{display:inline-block!important;width:auto!important}#orderable_settings_store_general_service_hours_pickup_same_label{margin:5px 4px 20px;display:inline-block}.wpsf-section .form-table td p{margin:0 0 15px}.wpsf-section .form-table td p:last-child{margin-bottom:0}body .wpsf-tab .postbox h2{background:#0A2135}body input.datepicker{background-color:#fff!important}.wpsf-section-description--getting_started+table th{display:none}.orderable-ui-hide{display:none!important}[v-cloak]{display:none}.orderable-fields-row{background:#fff;border:1px solid #d8dbdf;border-radius:8px;margin-bottom:15px;overflow:visible}.orderable-fields-row:after{content:"";display:table}.orderable-fields-row:hover .orderable-fields-row__header-action{visibility:visible}.orderable-fields-row__header{padding:12px 15px;display:grid;grid-template-columns:34px auto 68px;-ms-user-select:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-fields-row__header-title{cursor:pointer}.orderable-fields-row__header-title h3{margin-top:0;margin-bottom:0;font-size:14px;min-height:19px}.orderable-fields-row__header-title span{font-size:12px;opacity:.8}.orderable-fields-row__header-action{visibility:hidden;text-align:right}.orderable-fields-row__body{display:none;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0;-webkit-transition:.5s all;transition:.5s all}.orderable-fields-row__body-row{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #d8dbdf;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.orderable-fields-row__body-row:last-child{border-bottom:none}.orderable-fields-row__body-row-left{background:#f4f5f6;padding:15px;width:20%;-ms-flex-negative:0;flex-shrink:0}.orderable-fields-row__body-row-left h3{margin-top:0;margin-bottom:5px;font-size:14px}.orderable-fields-row__body-row-left p{margin:0}.orderable-fields-row__body-row-right{padding:0 25px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:visible;-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-fields-row__body-row-right *{min-width:0}.orderable-fields-row__body-row-right--empty{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.orderable-fields-row--open{border:none}.orderable-fields-row--open .orderable-fields-row__body{display:block;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:1;border:1px solid #d8dbdf;border-top:none;border-radius:0 0 8px 8px;overflow:hidden}.orderable-fields-row--open .orderable-fields-row__header-action .orderable-dashicons:hover{color:#fff!important;opacity:.6}.orderable-fields-row--open .orderable-fields-row__header{background:#0A2135;border:1px solid #0A2135;border-bottom:none;border-radius:8px 8px 0 0}.orderable-fields-row--open .orderable-fields-row__header,.orderable-fields-row--open .orderable-fields-row__header h3{color:#fff}.orderable-fields-row--meta{border:none;padding:0;border-radius:0;margin:-6px -12px -12px}.orderable-fields-row--meta .orderable-fields-row__body{display:block;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:1}.orderable-fields-row--meta .orderable-fields-row__body-row{grid-template-columns:30% 70%}.orderable-fields-row--empty{padding:30px 15px;text-align:center}.orderable-fields-row--empty p:last-child{margin-bottom:0}.orderable-fields-row textarea{margin:20px 0;min-height:100px;min-width:300px}.orderable-fields-options{width:100%;margin:20px 0;overflow-x:scroll}.orderable-fields-options__row{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:0 0 15px;background:#F4F5F6;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-fields-options__row input[type=text],.orderable-fields-options__row input[type=number],.orderable-fields-options__row select{max-width:100%;width:100%}.orderable-fields-options__row input[type=checkbox],.orderable-fields-options__row input[type=radio]{margin:-2px 4px 0 0}.orderable-fields-options__row-fields{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-fields-options__row-fields-row{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;-ms-flex-preferred-size:50%;flex-basis:50%}@media (max-width:1090px){.orderable-fields-options__row-fields-row{-webkit-box-align:normal;-ms-flex-align:normal;align-items:normal;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media (max-width:1440px){.orderable-fields-options__row-fields-row{-ms-flex-preferred-size:100%;flex-basis:100%;border-bottom:1px solid #d8dbdf;border-right:none}.orderable-fields-options__row-fields-row:last-child{border-bottom:none}}.orderable-fields-options__row-field{-ms-flex-preferred-size:50%;flex-basis:50%;margin:0;padding:8px 8px 10px;border-right:1px solid #d8dbdf}.orderable-fields-options__row-fields-row:last-child .orderable-fields-options__row-field:last-child{border-right:none}.orderable-fields-options__row-field-spacer{height:30px;line-height:30px}.orderable-fields-options__row-field--visual{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.orderable-fields-options__row-field--full{-ms-flex-preferred-size:100%;flex-basis:100%}@media (max-width:1440px){.orderable-fields-options__row-field--full,.orderable-fields-options__row-field:last-child{border-right:none}}@media (max-width:1090px){.orderable-fields-options__row-field{border-right:none;border-bottom:1px solid #d8dbdf}.orderable-fields-options__row-field--full,.orderable-fields-options__row-field:last-child{border-bottom:none}}.orderable-fields-options__row-field-label{font-weight:600;display:block;margin:0 0 4px}.orderable-fields-options__row-field-label--inline{margin:0}.orderable-fields-options__row-type{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.orderable-fields-options__row-visual{margin:0 0 -4px 10px}@media (max-width:782px){.orderable-fields-options__row-field-spacer{height:40px;line-height:40px}.orderable-fields-options__row-visual{margin-bottom:0}}.orderable-fields-options__row-action,.orderable-fields-options__row-drag{min-width:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 10px;-webkit-box-sizing:content-box;box-sizing:content-box}.orderable-fields-options__row-drag{border-right:1px solid #d8dbdf}.orderable-fields-options__row-action{border-left:1px solid #d8dbdf}.orderable-fields-options__grid{display:grid;grid-template-columns:20px 1fr 80px 45px 1fr 70px 20px;grid-auto-columns:1fr;grid-auto-flow:column;grid-gap:20px}.orderable-fields-options__grid--select{grid-template-columns:20px repeat(2,1fr) 70px 20px}.orderable-fields-options__header{font-weight:700;margin-bottom:15px}.orderable-fields-options__bullets{margin:0}.orderable-fields-options__bullets li:last-child{margin-bottom:0}.orderable-fields-option__empty{display:inline-block;width:40px;height:40px}input[type=color].orderable-fields-option-color{width:40px;max-width:40px;border:1px solid #d8dbdf;border-radius:8px;padding:3px;height:40px;display:block;margin:0;cursor:pointer}input[type=color].orderable-fields-option-color::-webkit-color-swatch-wrapper{padding:0}input[type=color].orderable-fields-option-color::-webkit-color-swatch{border:none;border-radius:5px}input[type=color].orderable-fields-option-color:focus,input[type=color].orderable-fields-option-color:hover{outline:0;border-color:#7E8993;-webkit-box-shadow:none;box-shadow:none}.orderable-fields-option-img__dummy{position:relative;width:40px;text-align:center;height:40px;line-height:40px;font-size:24px;color:#0073aa;border:1px solid #d8dbdf;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-fields-option-img__dummy:hover{color:#006799;border-color:#7E8993}.orderable-fields-option-img__img-wrapper{position:relative;width:40px;max-width:40px;border:1px solid #d8dbdf;border-radius:8px;padding:3px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-fields-option-img__img{width:100%;height:auto;border-radius:5px;display:block}.orderable-fields-option-img__delete{position:absolute;top:-6px;right:-6px;color:#fff;background:#dc3232;border-radius:100%;padding:4px;font-size:14px;line-height:14px;width:14px;height:14px;border:3px solid #fff;-webkit-box-sizing:content-box;box-sizing:content-box}.orderable-fields-option-img__delete:hover{background:#a00;color:#fff!important}.orderable-pro-modal{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.orderable-pro-modal__content{text-align:center;padding:20px;margin:auto 0}.orderable-pointer .wp-pointer-content h3{background:#F5F0FE;border-radius:8px 8px 0 0;color:#1d2327;border-color:#BF9EF9;padding-left:50px}.orderable-pointer .wp-pointer-content h3:before{background-color:#7031F5;color:#fff;font-size:16px;height:26px;width:26px;line-height:26px;top:12px}.orderable-pointer.wp-pointer-bottom .wp-pointer-arrow,.orderable-pointer.wp-pointer-top .wp-pointer-arrow,.orderable-pointer.wp-pointer-undefined .wp-pointer-arrow{left:30px}.orderable-pointer.wp-pointer-top .wp-pointer-arrow,.orderable-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#bf9ff9}.orderable-pointer.wp-pointer-top .wp-pointer-arrow-inner,.orderable-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#F5F0FE}.orderable-pointer .wp-pointer-content{border-radius:8px}.wp-core-ui .orderable-pointer .button-secondary{margin-right:.5em}1 .orderable-table{table-layout:fixed;max-width:712px;border-collapse:collapse;border-radius:8px;background:#f4f5f6;border:none;width:100%}.orderable-table td,.orderable-table th{width:auto;vertical-align:middle!important}.orderable-table th{padding-top:12px!important;padding-bottom:12px!important}.orderable-table thead,.orderable-table tr{border-bottom:1px solid #d8dbdf}.orderable-table>tbody th{padding-left:14px;border-right:1px solid #d8dbdf}.orderable-table tr.orderable-table__row--last,.orderable-table tr:last-child{border:none}.orderable-table__row--hidden .orderable-table__column:not(.orderable-table__column--always-visible){position:relative}.orderable-table__row--hidden .orderable-table__column:not(.orderable-table__column--always-visible):after{content:'';position:absolute;top:0;left:0;right:0;bottom:0}.orderable-table__row--hidden .orderable-table__column:not(.orderable-table__column--always-visible)>*{opacity:.3}.orderable-table .orderable-table__row--repeatable{border-bottom-color:#fff;border-bottom-width:8px}.orderable-table__column{padding:8px 14px!important;vertical-align:middle!important;text-align:left;border-left:none;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-table__column--checkbox{width:36px!important;padding-right:0!important;border-right:none}.orderable-table__column--label{padding-left:4px!important;width:100px!important}@media (max-width:782px){.orderable-table__column--label{width:auto!important}}.orderable-table__column--medium{width:156px!important}@media (max-width:782px){.orderable-table__column--medium{width:auto!important}}.orderable-table__column--time{width:190px!important}@media (max-width:782px){.orderable-table__column--time{width:auto!important}.orderable-table__column--remove{display:table-cell!important}}.orderable-table__column--remove{width:50px!important;text-align:center}.orderable-table__column--last{width:auto}.orderable-table__column input,.orderable-table__column select{max-width:100%}.orderable-table__no-td-border{border-bottom:none!important}.orderable-table__no-td-border th{border-bottom:1px solid #d8dbdf}.orderable-table__cell--no-padding{padding:0!important}.orderable-table__cell .orderable-table__cell-column{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 14px}.orderable-table__cell .orderable-table__cell-column--first{padding-left:0}.orderable-table__cell .orderable-table__cell-column--last{padding-right:0}.orderable-table__cell--2-col{overflow:hidden}@media (max-width:782px){.orderable-table__cell{display:table-cell!important}}.orderable-table__fieldset{display:inline-block;margin:0 15px 0 0}.orderable-table__fieldset legend{font-weight:600;margin:0 0 4px;padding:0;color:#23282d}.orderable-table__fieldset--nowrap{white-space:nowrap}.orderable-table__rwd-labels{display:none;margin:0 0 4px;min-width:160px}.orderable-table--child{border-radius:0;background:0 0}.orderable-table--child td:last-child,.orderable-table--child th:last-child{border-right:1px solid #d8dbdf}.orderable-table--compact td,.orderable-table--compact th{padding:8px 14px!important}@media (max-width:782px){.orderable-table--compact th{padding-bottom:4px!important}.orderable-table--compact td{padding-top:0!important}.orderable-table--compact tr:first-child th{padding-top:10px!important}.orderable-table--compact tr.orderable-table__row--last td{padding-bottom:15px!important}}@media (max-width:1210px){.orderable-table--open-hours thead{display:none}.orderable-table--open-hours td,.orderable-table--open-hours th{display:block;width:100%!important;height:auto;margin:0}.orderable-table--open-hours .orderable-table__column--checkbox,.orderable-table--open-hours .orderable-table__column--label{padding-top:20px!important}.orderable-table--open-hours .orderable-table__column--checkbox{width:36px!important;float:left}.orderable-table--open-hours .orderable-table__column--label{float:left;width:auto!important;font-weight:700}.orderable-table--open-hours .orderable-table__column--time{clear:both}.orderable-table--open-hours .orderable-table__column--last{padding-bottom:20px!important}.orderable-table--open-hours .orderable-table__rwd-labels{display:inline-block}}@media (max-width:782px){.orderable-table--open-hours .orderable-table__column--checkbox{width:45px!important}.orderable-table--open-hours .orderable-table__column--label{line-height:21px}.orderable-table--open-hours .orderable-table__rwd-labels{display:block}}.orderable-admin-button,body .submit .button-primary{background:#2271b6;border:none;padding:8px 15px;border-radius:8px;line-height:1.3;font-weight:600;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;margin:0;text-decoration:none;display:inline-block;color:#fff;font-size:14px}.orderable-admin-button:active,.orderable-admin-button:focus,.orderable-admin-button:hover,body .submit .button-primary:active,body .submit .button-primary:focus,body .submit .button-primary:hover{background:#164975;color:#fff}.orderable-admin-button:focus,body .submit .button-primary:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}.orderable-admin-button.orderable-trigger-element--active,body .submit .button-primary.orderable-trigger-element--active{background:#0A2135;color:#fff;cursor:default}.orderable-admin-button .dashicons,body .submit .button-primary .dashicons{width:16px;height:16px;font-size:16px;vertical-align:middle}.orderable-admin-button--pro .dashicons{line-height:12px}.orderable-toolbar{margin:0 0 15px;display:block;overflow:hidden}.orderable-toolbar .orderable-admin-button{margin-right:4px}.orderable-toolbar__actions{display:inline-block}.multi-select-container{display:inline-block;position:relative;width:100%;max-width:100%}.multi-select-menu{position:absolute;left:0;top:17px;z-index:1;float:left;min-width:100%;background:#fff;margin:1em 0;border:1px solid #aaa;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2);display:none;padding:4px 0}.multi-select-menuitem{display:block;font-size:14px;padding:4px 10px 4px 36px;white-space:nowrap;position:relative}.multi-select-menuitem--none{padding-left:10px}@media (max-width:782px){.multi-select-menu{top:27px}.multi-select-menuitem{min-height:32px;line-height:32px;padding-left:44px}}.multi-select-menuitem--titled:before{display:block;font-weight:700;content:attr(data-group-title);margin:0 0 .25em -20px}.multi-select-menuitem--titledsr:before{display:block;font-weight:700;content:attr(data-group-title);border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.multi-select-presets{border-bottom:1px solid #ddd}.multi-select-menuitem input{position:absolute;left:10px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:0!important}.multi-select-button{display:inline-block;font-size:14px;padding:0 28px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:-.5em;background-color:#fff;border:1px solid #7e8993;border-radius:4px;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;cursor:pointer;line-height:2;min-height:30px;position:relative;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}@media (max-width:782px){.multi-select-button{min-height:40px;height:40px;line-height:38px}}.multi-select-button:focus,.multi-select-container--open .multi-select-button{border-color:#007cba;-webkit-box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px #007cba;outline:transparent solid 2px}.multi-select-button:after{content:"";display:inline-block;width:0;height:0;border-style:solid;border-width:6px 6px 0;border-color:#999 transparent transparent;vertical-align:.1em;position:absolute;right:8px;top:50%;-webkit-transform:translateY(-48%);transform:translateY(-48%)}.multi-select-container--open .multi-select-menu{display:block}.multi-select-container--open .multi-select-button:after{border-width:0 .4em .4em;border-color:transparent transparent #999}.multi-select-container--positioned .multi-select-menu{-webkit-box-sizing:border-box;box-sizing:border-box}.multi-select-container--positioned .multi-select-menu label{white-space:normal}.orderable-toggle-wrapper{display:none}.orderable-toggle-wrapper--active{display:inline-block}.orderable-element--disabled{opacity:.3;position:relative}.orderable-element--disabled:after{content:'';position:absolute;top:0;left:0;right:0;bottom:0}.iconic-onboard-modal-setting__field-section{margin:1em 0}.orderable-time{white-space:nowrap}.orderable-time__select{display:inline-block!important;width:auto!important}#orderable_settings_store_general_service_hours_pickup_same_label{margin:5px 4px 20px;display:inline-block}.wpsf-section .form-table td p{margin:0 0 15px}.wpsf-section .form-table td p:last-child{margin-bottom:0}body .wpsf-tab .postbox h2{background:#0A2135}body input.datepicker{background-color:#fff!important}.wpsf-section-description--getting_started+table th{display:none}.orderable-ui-hide{display:none!important}[v-cloak]{display:none}.orderable-fields-row{background:#fff;border:1px solid #d8dbdf;border-radius:8px;margin-bottom:15px;overflow:visible}.orderable-fields-row:after{content:"";display:table}.orderable-fields-row:hover .orderable-fields-row__header-action{visibility:visible}.orderable-fields-row__header{padding:12px 15px;display:grid;grid-template-columns:34px auto 68px;-ms-user-select:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-fields-row__header-title{cursor:pointer}.orderable-fields-row__header-title h3{margin-top:0;margin-bottom:0;font-size:14px;min-height:19px}.orderable-fields-row__header-title span{font-size:12px;opacity:.8}.orderable-fields-row__header-action{visibility:hidden;text-align:right}.orderable-fields-row__body{display:none;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0;-webkit-transition:.5s all;transition:.5s all}.orderable-fields-row__body-row{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #d8dbdf;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.orderable-fields-row__body-row:last-child{border-bottom:none}.orderable-fields-row__body-row-left{background:#f4f5f6;padding:15px;width:20%;-ms-flex-negative:0;flex-shrink:0}.orderable-fields-row__body-row-left h3{margin-top:0;margin-bottom:5px;font-size:14px}.orderable-fields-row__body-row-left p{margin:0}.orderable-fields-row__body-row-right{padding:0 25px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:visible;-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-fields-row__body-row-right *{min-width:0}.orderable-fields-row__body-row-right--empty{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.orderable-fields-row--open{border:none}.orderable-fields-row--open .orderable-fields-row__body{display:block;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:1;border:1px solid #d8dbdf;border-top:none;border-radius:0 0 8px 8px;overflow:hidden}.orderable-fields-row--open .orderable-fields-row__header-action .orderable-dashicons:hover{color:#fff!important;opacity:.6}.orderable-fields-row--open .orderable-fields-row__header{background:#0A2135;border:1px solid #0A2135;border-bottom:none;border-radius:8px 8px 0 0}.orderable-fields-row--open .orderable-fields-row__header,.orderable-fields-row--open .orderable-fields-row__header h3{color:#fff}.orderable-fields-row--meta{border:none;padding:0;border-radius:0;margin:-6px -12px -12px}.orderable-fields-row--meta .orderable-fields-row__body{display:block;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:1}.orderable-fields-row--meta .orderable-fields-row__body-row{grid-template-columns:30% 70%}.orderable-fields-row--empty{padding:30px 15px;text-align:center}.orderable-fields-row--empty p:last-child{margin-bottom:0}.orderable-fields-row textarea{margin:20px 0;min-height:100px;min-width:300px}.orderable-fields-options{width:100%;margin:20px 0;overflow-x:scroll}.orderable-fields-options__row{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:0 0 15px;background:#F4F5F6;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-fields-options__row input[type=text],.orderable-fields-options__row input[type=number],.orderable-fields-options__row select{max-width:100%;width:100%}.orderable-fields-options__row input[type=checkbox],.orderable-fields-options__row input[type=radio]{margin:-2px 4px 0 0}.orderable-fields-options__row-fields{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-fields-options__row-fields-row{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;-ms-flex-preferred-size:50%;flex-basis:50%}@media (max-width:1090px){.orderable-fields-options__row-fields-row{-webkit-box-align:normal;-ms-flex-align:normal;align-items:normal;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media (max-width:1440px){.orderable-fields-options__row-fields-row{-ms-flex-preferred-size:100%;flex-basis:100%;border-bottom:1px solid #d8dbdf;border-right:none}.orderable-fields-options__row-fields-row:last-child{border-bottom:none}}.orderable-fields-options__row-field{-ms-flex-preferred-size:50%;flex-basis:50%;margin:0;padding:8px 8px 10px;border-right:1px solid #d8dbdf}.orderable-fields-options__row-fields-row:last-child .orderable-fields-options__row-field:last-child{border-right:none}.orderable-fields-options__row-field-spacer{height:30px;line-height:30px}.orderable-fields-options__row-field--visual{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.orderable-fields-options__row-field--full{-ms-flex-preferred-size:100%;flex-basis:100%}@media (max-width:1440px){.orderable-fields-options__row-field--full,.orderable-fields-options__row-field:last-child{border-right:none}}@media (max-width:1090px){.orderable-fields-options__row-field{border-right:none;border-bottom:1px solid #d8dbdf}.orderable-fields-options__row-field--full,.orderable-fields-options__row-field:last-child{border-bottom:none}}.orderable-fields-options__row-field-label{font-weight:600;display:block;margin:0 0 4px}.orderable-fields-options__row-field-label--inline{margin:0}.orderable-fields-options__row-type{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.orderable-fields-options__row-visual{margin:0 0 -4px 10px}@media (max-width:782px){.orderable-fields-options__row-field-spacer{height:40px;line-height:40px}.orderable-fields-options__row-visual{margin-bottom:0}}.orderable-fields-options__row-action,.orderable-fields-options__row-drag{min-width:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 10px;-webkit-box-sizing:content-box;box-sizing:content-box}.orderable-fields-options__row-drag{border-right:1px solid #d8dbdf}.orderable-fields-options__row-action{border-left:1px solid #d8dbdf}.orderable-fields-options__grid{display:grid;grid-template-columns:20px 1fr 80px 45px 1fr 70px 20px;grid-auto-columns:1fr;grid-auto-flow:column;grid-gap:20px}.orderable-fields-options__grid--select{grid-template-columns:20px repeat(2,1fr) 70px 20px}.orderable-fields-options__header{font-weight:700;margin-bottom:15px}.orderable-fields-options__bullets{margin:0}.orderable-fields-options__bullets li:last-child{margin-bottom:0}.orderable-fields-option__empty{display:inline-block;width:40px;height:40px}input[type=color].orderable-fields-option-color{width:40px;max-width:40px;border:1px solid #d8dbdf;border-radius:8px;padding:3px;height:40px;display:block;margin:0;cursor:pointer}input[type=color].orderable-fields-option-color::-webkit-color-swatch-wrapper{padding:0}input[type=color].orderable-fields-option-color::-webkit-color-swatch{border:none;border-radius:5px}input[type=color].orderable-fields-option-color:focus,input[type=color].orderable-fields-option-color:hover{outline:0;border-color:#7E8993;-webkit-box-shadow:none;box-shadow:none}.orderable-fields-option-img__dummy{position:relative;width:40px;text-align:center;height:40px;line-height:40px;font-size:24px;color:#0073aa;border:1px solid #d8dbdf;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-fields-option-img__dummy:hover{color:#006799;border-color:#7E8993}.orderable-fields-option-img__img-wrapper{position:relative;width:40px;max-width:40px;border:1px solid #d8dbdf;border-radius:8px;padding:3px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-fields-option-img__img{width:100%;height:auto;border-radius:5px;display:block}.orderable-fields-option-img__delete{position:absolute;top:-6px;right:-6px;color:#fff;background:#dc3232;border-radius:100%;padding:4px;font-size:14px;line-height:14px;width:14px;height:14px;border:3px solid #fff;-webkit-box-sizing:content-box;box-sizing:content-box}.orderable-fields-option-img__delete:hover{background:#a00;color:#fff!important}.orderable-pro-modal{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.orderable-pro-modal__content{text-align:center;padding:20px;margin:auto 0}.orderable-pointer .wp-pointer-content h3{background:#F5F0FE;border-radius:8px 8px 0 0;color:#1d2327;border-color:#BF9EF9;padding-left:50px}.orderable-pointer .wp-pointer-content h3:before{background-color:#7031F5;color:#fff;font-size:16px;height:26px;width:26px;line-height:26px;top:12px}.orderable-pointer.wp-pointer-bottom .wp-pointer-arrow,.orderable-pointer.wp-pointer-top .wp-pointer-arrow,.orderable-pointer.wp-pointer-undefined .wp-pointer-arrow{left:30px}.orderable-pointer.wp-pointer-top .wp-pointer-arrow,.orderable-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#bf9ff9}.orderable-pointer.wp-pointer-top .wp-pointer-arrow-inner,.orderable-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#F5F0FE}.orderable-pointer .wp-pointer-content{border-radius:8px}.wp-core-ui .orderable-pointer .button-secondary{margin-right:.5em} -
orderable/tags/1.3.0/assets/admin/js/main.js
r2641784 r2709284 522 522 * On remove row. 523 523 */ 524 $( document.body ).on( 'orderable-remove-row', function ( e, data ) {524 $( document.body ).on( 'orderable-remove-row', function ( e, data ) { 525 525 var $button = $( data.trigger_element ), 526 $row = $button.closest( 'tr' ); 527 528 $row.remove(); 526 $row = $button.closest( 'tr' ), 527 $tbody = $button.closest( 'tbody' ), 528 row_count = $tbody.find( '>tr' ).length; 529 530 if ( row_count === 1 ) { 531 $row.find( 'input' ).val( '' ); 532 $row.find( 'input[type="checkbox"], input[type="radio"]' ).prop( 'checked', false ); 533 534 $row.find( 'select' ).each(function() { 535 if ( $( this ).hasClass( 'orderable-select--multi-select' ) ) { 536 return; 537 } 538 539 this.selectedIndex = 0; 540 $( this ).trigger( 'change' ); 541 } ); 542 543 $row.find( '.multi-select-container input[type="checkbox"]' ).trigger( 'change' ); 544 } else { 545 $row.remove(); 546 } 529 547 530 548 $( document ).trigger( 'orderable-add-last-row-class' ); … … 561 579 selected = $trigger_element.val(); 562 580 563 if ( $parent.length <= 0 || typeof targets [ selected ] === 'undefined' ) {581 if ( $parent.length <= 0 || typeof targets === 'undefined' || typeof targets[ selected ] === 'undefined' ) { 564 582 return; 565 583 } … … 618 636 $last_rows.removeClass( last_row_class ); 619 637 $last_row.addClass( last_row_class ); 620 } 638 }, 621 639 }; 622 640 -
orderable/tags/1.3.0/assets/admin/js/main.min.js
r2641784 r2709284 1 !function(n,e){"use strict";var t=function(){n(e.body).on("change",".orderable-table--product-lists input, .orderable-table--product-lists select",function(e){var t=n(this).closest(".orderable-table__row--repeatable"),r=t.find(".orderable-field--product-list-shortcode"),o={categories:"",layout:"grid",images:"true"},t={categories:t.find(".orderable-select--categories").val().toString(),layout:t.find(".orderable-select--layout").val().toString(),images:t.find(".orderable-checkbox--images").is(":checked").toString()},a="[orderable";n.each(t,function(e,t){t!==o[e]&&(a+=" "+e+'="'+t+'"')}),a+="]",r.val(a)})};n(e).ready(t)}(jQuery,document),function(n,e){"use strict";var r={on_ready:function(){r.init(n(".orderable-select--multi-select")),n(e).on("orderable-init-multiselects",function(e,t){void 0!==t.selects&&r.init(t.selects)}),n(e).on("orderable-destroy-multiselects",function(e,t){void 0!==t.selects&&r.destroy(t.selects)})},init:function(e){e.multiSelect(),e.each(function(e,t){var r=n(t),o=r.siblings(".multi-select-container"),a=o.find(".multi-select-menuitem--none"),t=r.data("orderable-select-none-option");a.remove();r=o.find(".multi-select-menuitem"),a=o.find(".multi-select-menuitems input:disabled").parent();r.show(),a.hide(),r.length===a.length&&t&&o.find(".multi-select-menuitems").append('<span class="multi-select-menuitem multi-select-menuitem--none">'+t+"</span>")})},destroy:function(e){e.siblings(".multi-select-container").remove(),e.data("plugin_multiSelect",!1)}};n(e).ready(r.on_ready)}(jQuery,document),function(a,e){"use strict";var r={on_ready:function(){a(e.body).on("iconic_onboard_wait_complete",r.init.woo_installed)},init:{woo_installed:function(e,t){void 0!==t&&"install_plugin"===t.wait_event&&"woocommerce"===t.json.plugin_data["repo-slug"]&&r.populate_woo_fields()}},populate_woo_fields:function(){var e={default_country:{type:"select",selector:"select#iconic_onboard_default_country"},business_name:{type:"text",selector:"input#iconic_onboard_business_name"},business_address:{type:"text",selector:"input#iconic_onboard_business_address"},business_address_2:{type:"text",selector:"input#iconic_onboard_business_address_2"},business_city:{type:"text",selector:"input#iconic_onboard_business_city"},business_postcode:{type:"text",selector:"input#iconic_onboard_business_postcode"}};a.post(ajaxurl,{action:"orderable_get_onboard_woo_fields",fields:e}).done(function(o){try{o.success&&a.each(e,function(e,t){var r=a(t.selector);r.length<=0||void 0===o.data[e]||("select"===t.type?r.html(o.data[e]):r.val(o.data[e]))})}catch(e){console.log(o),console.log(e),alert("Couldn't save.")}}).fail(function(){alert("Couldn't save. Are you connected to the internet? ")}).always(function(){})}};a(e).ready(r.on_ready)}(jQuery,document),jQuery(document).ready(function(){setTimeout(function(){"undefined"!=typeof orderable_pointers&&jQuery.each(orderable_pointers.pointers,function(e){return function e(t){var r,o,n=orderable_pointers.pointers[t];void 0!==n&&(r=jQuery.extend(n.options,{pointerClass:"wp-pointer wc-pointer orderable-pointer",close:function(){jQuery.post(orderable_pointers.ajax_url,{pointer:t,action:"dismiss-wp-pointer"}),n&&n.next&&orderable_pointers.pointers[n.next]&&setTimeout(function(){e(n.next)},250)},skip:function(){var e=document.querySelectorAll(".wp-pointer.orderable-pointer");Array.from(e).forEach(function(e){e.remove()}),jQuery.post(orderable_pointers.ajax_url,{pointer:"orderable-tour-dismissed",action:"dismiss-wp-pointer"})},buttons:function(e,t){var r=n&&n.next&&orderable_pointers.pointers[n.next]?orderable_pointers.i18n.next:orderable_pointers.i18n.close,o=jQuery('<a class="button button-primary" href="#">'+r+"</a>"),a=jQuery('<div class="wc-pointer-buttons" />'),r=orderable_pointers.i18n.skip,r=jQuery('<a class="button button-secondary" href="#">'+r+"</a>");return o.bind("click.pointer",function(e){e.preventDefault(),t.element.pointer("close")}),r.bind("click.pointer",function(e){e.preventDefault(),n.options.skip()}),a.append(o),a.append(r),a}}),(o=jQuery(n.target).pointer(r)).pointer("open"),n.next_trigger&&jQuery(n.next_trigger.target).on(n.next_trigger.event,function(){setTimeout(function(){o.pointer("close")},400)}))}(e),!1})},800)}),function(e,t){"use strict";var r={on_ready:function(){e(t.body).on("orderable-pro-modal",r.trigger_pro_modal)},trigger_pro_modal:function(){console.log("Pro only."),tb_show("Pro Feature","#TB_inline?inlineId=orderable-pro-modal")}};e(t).ready(r.on_ready)}(jQuery,document),function(l,i){"use strict";var e=function(){l(i.body).on("change",".orderable-enable-day",function(e){var t=l(this),r=t.data("orderable-day"),o=t.is(":checked"),t=l(".orderable-select--days");t.find('option[value="'+r+'"]').attr("disabled",!o).attr("selected",!1),l(i).trigger("orderable-destroy-multiselects",{selects:t}),l(i).trigger("orderable-init-multiselects",{selects:t})}),l(i.body).on("change",'[name*="\\[store_general_services\\]"]',function(e){var t=l(this),r=t.val(),o=t.is(":checked"),a=l(".orderable-toggle-wrapper--"+r+', button[data-orderable-wrapper="'+r+'"]'),t="orderable-ui-hide",r=l(".orderable-notice--select-service");o?a.removeClass(t):a.addClass(t);a=l('[name*="\\[store_general_services\\]"]:checked');a.length<=0?r.removeClass(t):(r.addClass(t),n=a.eq(0).val(),l('button[data-orderable-wrapper="'+n+'"]').click());var r=l("#orderable_settings_store_general_service_hours_pickup_same"),n=r.data("default-state");void 0===n&&(n=r.is(":checked"),r.data("default-state",n)),1===a.length&&"pickup"===a.val()?(r.prop("checked",!1).parent().addClass(t),l(i.body).trigger("orderable-toggle-element",{trigger_element:r[0],add_class:!1})):(r.prop("checked",n).parent().removeClass(t),l(i.body).trigger("orderable-toggle-element",{trigger_element:r[0],add_class:n})),l(i).trigger("orderable-add-last-row-class")}),l(i.body).on("change","#orderable_settings_store_general_service_hours_pickup_same",function(e){l(this).data("default-state",l(this).is(":checked"))}),l(".orderable-enable-day").on("change",function(){jQuery(this).closest("tr").toggleClass("orderable-table__row--hidden",!this.checked)})};l(i).ready(e)}(jQuery,document),function(a,n){"use strict";var e={on_ready:function(){a(n.body).on("click change","[data-orderable-trigger]",function(e){var t=a(this),r=t.data("orderable-trigger");"click"===e.type&&(t.is("select")||t.is("input")||t.is("label"))||((t.is("button")||t.is("a"))&&e.preventDefault(),a(n.body).trigger("orderable-"+r,{trigger_element:t}))}),a(n.body).on("orderable-new-row",function(e,t){var r=a(t.trigger_element),o=a(r.data("orderable-target")).find(".orderable-table__body"),t=o.find(".orderable-table__row--repeatable:last-child"),r=parseInt(t.data("orderable-index"))+1,r=t[0].outerHTML.replace(/\[\d+\]/gm,"["+r+"]").replace(/data-orderable-index="\d+"/gm,'data-orderable-index="'+r+'"');o.append(r);r=o.find(".orderable-table__row--repeatable:last-child");r.find("input").not('input[type="checkbox"]').val(""),r.find(".hasDatepicker").each(function(e,t){a(t).removeClass("hasDatepicker").attr("id","")}),r.find("select").each(function(e,t){var r=a(t),o=r.find('option[value=""]'),t=r.hasClass("orderable-select--multi-select"),o=o.length||t?"":r.find("option:first-child").val();r.val(o),t&&r.change()}),r.find('input[type="checkbox"]').prop("checked",!1),r.find(".multi-select-container").remove(),a(n).trigger("orderable-init-multiselects",{selects:o.find(".orderable-select--multi-select")}),o.find('[data-orderable-trigger="toggle-element-select"]').change(),a(n).trigger("orderable-add-last-row-class")}),a(n.body).on("orderable-remove-row",function(e,t){a(t.trigger_element).closest("tr").remove(),a(n).trigger("orderable-add-last-row-class")}),a(n.body).on("orderable-toggle-element",function(e,t){t.add_class=void 0!==t.add_class?t.add_class:null;var r=a(t.trigger_element),o=a(r.data("orderable-target")),r=r.data("orderable-toggle-class");null===t.add_class?o.toggleClass(r):!0===t.add_class?o.addClass(r):!1===t.add_class&&o.removeClass(r),a(n).trigger("orderable-add-last-row-class")}),a(n.body).on("orderable-toggle-element-select",function(e,t){var r=a(t.trigger_element),o=r.closest(r.data("orderable-parent")),t=r.data("orderable-target"),r=r.val();o.length<=0||void 0===t[r]||(a.each(t[r],function(e,t){t=o.find(t);"show"===e?t.show():"hide"===e&&t.hide()}),a(n).trigger("orderable-add-last-row-class"))}),a(n.body).on("orderable-toggle-wrapper",function(e,t){var r=a(t.trigger_element),o=r.data("orderable-wrapper"),t=r.data("orderable-wrapper-group"),r=a(".orderable-toggle-wrapper--"+o+'[data-orderable-wrapper-group="'+t+'"]');a('.orderable-toggle-wrapper[data-orderable-wrapper-group="'+t+'"]').removeClass("orderable-toggle-wrapper--active"),r.addClass("orderable-toggle-wrapper--active"),a('[data-orderable-wrapper-group="'+t+'"]').removeClass("orderable-trigger-element--active"),a('[data-orderable-wrapper="'+o+'"]').addClass("orderable-trigger-element--active"),a(n).trigger("orderable-add-last-row-class")}),a(n).on("orderable-add-last-row-class",e.add_last_row_class),a(n).trigger("orderable-add-last-row-class")},add_last_row_class:function(){var e=a(".orderable-table"),t="orderable-table__row--last",r=e.find("."+t),e=e.find("tbody > tr:visible:last");r.removeClass(t),e.addClass(t)}};a(n).ready(e.on_ready)}(jQuery,document);1 !function(n,e){"use strict";var t=function(){n(e.body).on("change",".orderable-table--product-lists input, .orderable-table--product-lists select",function(e){var t=n(this).closest(".orderable-table__row--repeatable"),r=t.find(".orderable-field--product-list-shortcode"),o={categories:"",layout:"grid",images:"true"},t={categories:t.find(".orderable-select--categories").val().toString(),layout:t.find(".orderable-select--layout").val().toString(),images:t.find(".orderable-checkbox--images").is(":checked").toString()},a="[orderable";n.each(t,function(e,t){t!==o[e]&&(a+=" "+e+'="'+t+'"')}),a+="]",r.val(a)})};n(e).ready(t)}(jQuery,document),function(n,e){"use strict";var r={on_ready:function(){r.init(n(".orderable-select--multi-select")),n(e).on("orderable-init-multiselects",function(e,t){void 0!==t.selects&&r.init(t.selects)}),n(e).on("orderable-destroy-multiselects",function(e,t){void 0!==t.selects&&r.destroy(t.selects)})},init:function(e){e.multiSelect(),e.each(function(e,t){var t=n(t),r=t.siblings(".multi-select-container"),o=r.find(".multi-select-menuitem--none"),t=t.data("orderable-select-none-option"),o=(o.remove(),r.find(".multi-select-menuitem")),a=r.find(".multi-select-menuitems input:disabled").parent();o.show(),a.hide(),o.length===a.length&&t&&r.find(".multi-select-menuitems").append('<span class="multi-select-menuitem multi-select-menuitem--none">'+t+"</span>")})},destroy:function(e){e.siblings(".multi-select-container").remove(),e.data("plugin_multiSelect",!1)}};n(e).ready(r.on_ready)}(jQuery,document),function(a,e){"use strict";var r={on_ready:function(){a(e.body).on("iconic_onboard_wait_complete",r.init.woo_installed)},init:{woo_installed:function(e,t){void 0!==t&&"install_plugin"===t.wait_event&&"woocommerce"===t.json.plugin_data["repo-slug"]&&r.populate_woo_fields()}},populate_woo_fields:function(){var e={default_country:{type:"select",selector:"select#iconic_onboard_default_country"},business_name:{type:"text",selector:"input#iconic_onboard_business_name"},business_address:{type:"text",selector:"input#iconic_onboard_business_address"},business_address_2:{type:"text",selector:"input#iconic_onboard_business_address_2"},business_city:{type:"text",selector:"input#iconic_onboard_business_city"},business_postcode:{type:"text",selector:"input#iconic_onboard_business_postcode"}};a.post(ajaxurl,{action:"orderable_get_onboard_woo_fields",fields:e}).done(function(o){try{o.success&&a.each(e,function(e,t){var r=a(t.selector);r.length<=0||void 0===o.data[e]||("select"===t.type?r.html(o.data[e]):r.val(o.data[e]))})}catch(e){console.log(o),console.log(e),alert("Couldn't save.")}}).fail(function(){alert("Couldn't save. Are you connected to the internet? ")}).always(function(){})}};a(e).ready(r.on_ready)}(jQuery,document),jQuery(document).ready(function(){setTimeout(function(){"undefined"!=typeof orderable_pointers&&jQuery.each(orderable_pointers.pointers,function(e){return function e(t){var r,o,n=orderable_pointers.pointers[t];void 0!==n&&(r=jQuery.extend(n.options,{pointerClass:"wp-pointer wc-pointer orderable-pointer",close:function(){jQuery.post(orderable_pointers.ajax_url,{pointer:t,action:"dismiss-wp-pointer"}),n&&n.next&&orderable_pointers.pointers[n.next]&&setTimeout(function(){e(n.next)},250)},skip:function(){var e=document.querySelectorAll(".wp-pointer.orderable-pointer");Array.from(e).forEach(function(e){e.remove()}),jQuery.post(orderable_pointers.ajax_url,{pointer:"orderable-tour-dismissed",action:"dismiss-wp-pointer"})},buttons:function(e,t){var r=n&&n.next&&orderable_pointers.pointers[n.next]?orderable_pointers.i18n.next:orderable_pointers.i18n.close,r=jQuery('<a class="button button-primary" href="#">'+r+"</a>"),o=jQuery('<div class="wc-pointer-buttons" />'),a=orderable_pointers.i18n.skip,a=jQuery('<a class="button button-secondary" href="#">'+a+"</a>");return r.bind("click.pointer",function(e){e.preventDefault(),t.element.pointer("close")}),a.bind("click.pointer",function(e){e.preventDefault(),n.options.skip()}),o.append(r),o.append(a),o}}),(o=jQuery(n.target).pointer(r)).pointer("open"),n.next_trigger&&jQuery(n.next_trigger.target).on(n.next_trigger.event,function(){setTimeout(function(){o.pointer("close")},400)}))}(e),!1})},800)}),function(e,t){"use strict";var r={on_ready:function(){e(t.body).on("orderable-pro-modal",r.trigger_pro_modal)},trigger_pro_modal:function(){console.log("Pro only."),tb_show("Pro Feature","#TB_inline?inlineId=orderable-pro-modal")}};e(t).ready(r.on_ready)}(jQuery,document),function(n,l){"use strict";var e=function(){n(l.body).on("change",".orderable-enable-day",function(e){var t=n(this),r=t.data("orderable-day"),t=t.is(":checked"),o=n(".orderable-select--days");o.find('option[value="'+r+'"]').attr("disabled",!t).attr("selected",!1),n(l).trigger("orderable-destroy-multiselects",{selects:o}),n(l).trigger("orderable-init-multiselects",{selects:o})}),n(l.body).on("change",'[name*="\\[store_general_services\\]"]',function(e){var t=n(this),r=t.val(),t=t.is(":checked"),r=n(".orderable-toggle-wrapper--"+r+', button[data-orderable-wrapper="'+r+'"]'),o="orderable-ui-hide",a=n(".orderable-notice--select-service"),t=(t?r.removeClass(o):r.addClass(o),n('[name*="\\[store_general_services\\]"]:checked')),a=(t.length<=0?a.removeClass(o):(a.addClass(o),r=t.eq(0).val(),n('button[data-orderable-wrapper="'+r+'"]').click()),n("#orderable_settings_store_general_service_hours_pickup_same")),r=a.data("default-state");void 0===r&&(r=a.is(":checked"),a.data("default-state",r)),1===t.length&&"pickup"===t.val()?(a.prop("checked",!1).parent().addClass(o),n(l.body).trigger("orderable-toggle-element",{trigger_element:a[0],add_class:!1})):(a.prop("checked",r).parent().removeClass(o),n(l.body).trigger("orderable-toggle-element",{trigger_element:a[0],add_class:r})),n(l).trigger("orderable-add-last-row-class")}),n(l.body).on("change","#orderable_settings_store_general_service_hours_pickup_same",function(e){n(this).data("default-state",n(this).is(":checked"))}),n(".orderable-enable-day").on("change",function(){jQuery(this).closest("tr").toggleClass("orderable-table__row--hidden",!this.checked)})};n(l).ready(e)}(jQuery,document),function(a,n){"use strict";var e={on_ready:function(){a(n.body).on("click change","[data-orderable-trigger]",function(e){var t=a(this),r=t.data("orderable-trigger");"click"===e.type&&(t.is("select")||t.is("input")||t.is("label"))||((t.is("button")||t.is("a"))&&e.preventDefault(),a(n.body).trigger("orderable-"+r,{trigger_element:t}))}),a(n.body).on("orderable-new-row",function(e,t){var t=a(t.trigger_element),t=a(t.data("orderable-target")).find(".orderable-table__body"),r=t.find(".orderable-table__row--repeatable:last-child"),o=parseInt(r.data("orderable-index"))+1,r=r[0].outerHTML.replace(/\[\d+\]/gm,"["+o+"]").replace(/data-orderable-index="\d+"/gm,'data-orderable-index="'+o+'"'),o=(t.append(r),t.find(".orderable-table__row--repeatable:last-child"));o.find("input").not('input[type="checkbox"]').val(""),o.find(".hasDatepicker").each(function(e,t){a(t).removeClass("hasDatepicker").attr("id","")}),o.find("select").each(function(e,t){var t=a(t),r=t.find('option[value=""]'),o=t.hasClass("orderable-select--multi-select"),r=r.length||o?"":t.find("option:first-child").val();t.val(r),o&&t.change()}),o.find('input[type="checkbox"]').prop("checked",!1),o.find(".multi-select-container").remove(),a(n).trigger("orderable-init-multiselects",{selects:t.find(".orderable-select--multi-select")}),t.find('[data-orderable-trigger="toggle-element-select"]').change(),a(n).trigger("orderable-add-last-row-class")}),a(n.body).on("orderable-remove-row",function(e,t){var t=a(t.trigger_element),r=t.closest("tr");1===t.closest("tbody").find(">tr").length?(r.find("input").val(""),r.find('input[type="checkbox"], input[type="radio"]').prop("checked",!1),r.find("select").each(function(){a(this).hasClass("orderable-select--multi-select")||(this.selectedIndex=0,a(this).trigger("change"))}),r.find('.multi-select-container input[type="checkbox"]').trigger("change")):r.remove(),a(n).trigger("orderable-add-last-row-class")}),a(n.body).on("orderable-toggle-element",function(e,t){t.add_class=void 0!==t.add_class?t.add_class:null;var r=a(t.trigger_element),o=a(r.data("orderable-target")),r=r.data("orderable-toggle-class");null===t.add_class?o.toggleClass(r):!0===t.add_class?o.addClass(r):!1===t.add_class&&o.removeClass(r),a(n).trigger("orderable-add-last-row-class")}),a(n.body).on("orderable-toggle-element-select",function(e,t){var t=a(t.trigger_element),r=t.closest(t.data("orderable-parent")),o=t.data("orderable-target"),t=t.val();r.length<=0||void 0===o||void 0===o[t]||(a.each(o[t],function(e,t){t=r.find(t);"show"===e?t.show():"hide"===e&&t.hide()}),a(n).trigger("orderable-add-last-row-class"))}),a(n.body).on("orderable-toggle-wrapper",function(e,t){var t=a(t.trigger_element),r=t.data("orderable-wrapper"),t=t.data("orderable-wrapper-group"),o=a(".orderable-toggle-wrapper--"+r+'[data-orderable-wrapper-group="'+t+'"]');a('.orderable-toggle-wrapper[data-orderable-wrapper-group="'+t+'"]').removeClass("orderable-toggle-wrapper--active"),o.addClass("orderable-toggle-wrapper--active"),a('[data-orderable-wrapper-group="'+t+'"]').removeClass("orderable-trigger-element--active"),a('[data-orderable-wrapper="'+r+'"]').addClass("orderable-trigger-element--active"),a(n).trigger("orderable-add-last-row-class")}),a(n).on("orderable-add-last-row-class",e.add_last_row_class),a(n).trigger("orderable-add-last-row-class")},add_last_row_class:function(){var e=a(".orderable-table"),t="orderable-table__row--last",r=e.find("."+t),e=e.find("tbody > tr:visible:last");r.removeClass(t),e.addClass(t)}};a(n).ready(e.on_ready)}(jQuery,document); -
orderable/tags/1.3.0/assets/frontend/css/main.css
r2641784 r2709284 87 87 } 88 88 89 .orderable-main--sections-side_tabs{90 display: -webkit-box;91 display: -ms-flexbox;92 display: flex;93 } 94 95 .orderable-main--sections-side_tabs .orderable-main__tabs {96 margin: 0 24px 0 0 !important;97 }98 99 .orderable-main--sections-side_tabs .orderable-main__sections { 100 -webkit-box-flex: 1;101 -ms-flex: 1;102 flex: 1;89 @media screen and (min-width: 620px) { 90 .orderable-main--sections-side_tabs { 91 display: -webkit-box; 92 display: -ms-flexbox; 93 display: flex; 94 } 95 .orderable-main--sections-side_tabs .orderable-main__tabs { 96 margin: 0 24px 0 0 !important; 97 } 98 .orderable-main--sections-side_tabs .orderable-main__sections { 99 -webkit-box-flex: 1; 100 -ms-flex: 1; 101 flex: 1; 102 } 103 103 } 104 104 … … 206 206 } 207 207 208 .orderable-button--icon { 209 padding: 10px !important; 210 width: 44px; 211 height: 44px; 212 line-height: 24px; 213 border: none; 214 background: none !important; 215 } 216 217 body .orderable-button--icon:hover, 218 body .orderable-button--icon:focus, 219 body .orderable-button--icon:active { 220 background: none !important; 221 opacity: 0.6; 222 } 223 224 .orderable-button--icon svg { 225 width: 24px; 226 height: 24px; 227 border-radius: 12px; 228 overflow: hidden; 229 -webkit-transition: opacity 250ms ease-in-out; 230 transition: opacity 250ms ease-in-out; 231 } 232 233 .orderable-button--icon.orderable-button--loading:after { 234 display: none; 235 } 236 208 237 /* Block */ 209 238 /* Modifiers */ … … 465 494 466 495 .orderable-product__options { 467 margin: 12px0 24px;496 margin: 0 0 24px; 468 497 padding: 0; 469 498 border-radius: 6px; 470 }471 472 .orderable-product__options:last-child {473 margin-bottom: 0;474 499 } 475 500 … … 483 508 484 509 .orderable-product__options th { 485 font-size: 18px;486 510 line-height: 22px; 487 511 } … … 529 553 .orderable-product__actions-button { 530 554 margin: 0 0 0 auto; 555 } 556 557 .orderable-product__tabs { 558 margin: 24px 0; 559 } 560 561 .orderable-product__tabs-section { 562 display: none; 563 } 564 565 .orderable-product__tabs-section:first-child { 566 display: block; 567 } 568 569 .orderable-product__tabs-section *:last-child { 570 margin-bottom: 0; 531 571 } 532 572 … … 544 584 } 545 585 586 .orderable-product--options .orderable-product__hero { 587 margin: -24px -24px 0; 588 } 589 590 .orderable-product--options .orderable-product__title { 591 text-align: left; 592 margin: 24px 0 !important; 593 } 594 546 595 .orderable-product--options .orderable-product__actions { 547 596 margin-top: auto; … … 553 602 } 554 603 555 .orderable-product--clickable { 604 .orderable-product--add-to-cart, 605 .orderable-product--product-options, 606 .orderable-product--view-product { 556 607 cursor: pointer; 557 608 } 558 609 559 .orderable-product __hero--title{610 .orderable-product--image-cropped .orderable-product__hero { 560 611 overflow: hidden; 561 padding: 24px 24px 0; 562 margin: -24px -24px 24px; 612 padding: 0; 563 613 text-align: center; 564 614 -webkit-box-flex: 0; 565 615 -ms-flex: 0 0 auto; 566 616 flex: 0 0 auto; 567 } 568 569 .orderable-product__hero--title:before { 570 background: #fff; 571 top: auto; 572 left: -10px; 573 right: -10px; 574 bottom: -10px; 575 position: absolute; 576 height: 24px; 577 z-index: 5; 578 -webkit-transform: rotate(-1.5deg); 579 transform: rotate(-1.5deg); 580 } 581 582 .orderable-product__hero--title:after { 583 content: ""; 584 position: absolute; 585 top: 0; 586 left: 0; 587 right: 0; 588 bottom: 0; 589 background: -webkit-gradient(linear, left bottom, left top, from(rgba(24, 33, 37, 0.8)), to(rgba(24, 33, 37, 0.3))); 590 background: linear-gradient(0deg, rgba(24, 33, 37, 0.8), rgba(24, 33, 37, 0.3)); 591 z-index: 1; 592 mix-blend-mode: multiply; 593 } 594 595 .orderable-product__hero--title .orderable-product__image { 617 height: 72px; 618 } 619 620 .orderable-product--image-cropped .orderable-product__image { 596 621 -o-object-fit: cover; 597 622 object-fit: cover; … … 602 627 left: 0; 603 628 top: 0; 604 }605 606 .orderable-product__hero--title .orderable-product__title {607 color: #fff;608 position: relative;609 z-index: 10;610 629 } 611 630 … … 636 655 width: 100%; 637 656 min-width: 60px; 638 max-width: 80px;657 max-width: 95px; 639 658 border-radius: 6px; 640 659 overflow: hidden; … … 756 775 -ms-flex-preferred-size: 100%; 757 776 flex-basis: 100%; 777 margin-bottom: -1px; 758 778 } 759 779 … … 768 788 } 769 789 770 .orderable-drawer__cart . widget_shopping_cart_content{790 .orderable-drawer__cart .orderable-mini-cart-wrapper { 771 791 height: 100%; 772 792 display: -webkit-box; … … 886 906 background: #fce9e9; 887 907 color: #dc2323; 888 padding: 6px 12px ;908 padding: 6px 12px 6px 28px !important; 889 909 text-align: center; 890 910 margin: 0 0 6px; … … 899 919 .orderable-drawer__cart .orderable-mini-cart__notices .button { 900 920 display: none; 921 } 922 923 .orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-message::before, .orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error::before, .orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-info::before { 924 left: 12px; 901 925 } 902 926 … … 1025 1049 1026 1050 .orderable-drawer__close:focus:before, .orderable-drawer__close:focus:after, .orderable-drawer__close:active:before, .orderable-drawer__close:active:after, .orderable-drawer__close:hover:before, .orderable-drawer__close:hover:after { 1027 background-color: # fff;1051 background-color: #405763; 1028 1052 } 1029 1053 … … 1190 1214 1191 1215 .orderable-tabs { 1192 margin: 0 0 24px !important; 1216 margin: 0 0 24px; 1217 position: relative; 1218 } 1219 1220 .orderable-tabs__list { 1221 margin: 0 1px 0 0 !important; 1193 1222 padding: 0 !important; 1194 1223 list-style: none none outside; 1195 } 1196 1197 .orderable-main--sections-side_tabs .orderable-tabs { 1198 -webkit-box-flex: 0; 1199 -ms-flex: 0 1 auto; 1200 flex: 0 1 auto; 1224 position: relative; 1225 display: -webkit-box; 1226 display: -ms-flexbox; 1227 display: flex; 1228 -ms-flex-wrap: nowrap; 1229 flex-wrap: nowrap; 1230 -webkit-box-flex: 1; 1231 -ms-flex: 1 1 auto; 1232 flex: 1 1 auto; 1233 overflow-x: auto; 1234 overflow-y: hidden; 1235 overflow: -moz-scrollbars-none; 1236 scrollbar-base-color: transparent; 1237 -webkit-overflow-scrolling: touch; 1238 } 1239 1240 .orderable-tabs__list::-webkit-scrollbar { 1241 display: none; 1242 } 1243 1244 @media screen and (min-width: 620px) { 1245 .orderable-main--sections-side_tabs .orderable-tabs__list { 1246 -webkit-box-flex: 0; 1247 -ms-flex: 0 1 auto; 1248 flex: 0 1 auto; 1249 -webkit-box-orient: vertical; 1250 -webkit-box-direction: normal; 1251 -ms-flex-direction: column; 1252 flex-direction: column; 1253 height: auto; 1254 } 1201 1255 } 1202 1256 1203 1257 .orderable-tabs__item { 1204 1258 display: inline-block; 1205 margin: 0 ;1259 margin: 0 10px 0 0; 1206 1260 padding: 0; 1207 1261 } 1208 1262 1209 .orderable-main--sections-side_tabs .orderable-tabs__item { 1210 margin: 0 0 6px; 1211 display: block; 1212 } 1213 1214 .orderable-main--sections-side_tabs .orderable-tabs__item:last-child { 1215 margin: 0; 1263 .orderable-tabs__item:last-child { 1264 margin-right: 0; 1265 } 1266 1267 @media screen and (min-width: 620px) { 1268 .orderable-main--sections-side_tabs .orderable-tabs__item { 1269 margin: 0 0 12px; 1270 display: block; 1271 } 1272 .orderable-main--sections-side_tabs .orderable-tabs__item:last-child { 1273 margin: 0; 1274 } 1216 1275 } 1217 1276 … … 1222 1281 white-space: nowrap; 1223 1282 line-height: 40px; 1224 color: # 000;1283 color: #405763; 1225 1284 font-weight: 400; 1226 1285 border-radius: 20px; 1227 -webkit-transition: none; 1228 transition: none; 1286 -webkit-transition: all 150ms ease-out; 1287 transition: all 150ms ease-out; 1288 background: #ecf1f3; 1229 1289 } 1230 1290 … … 1236 1296 1237 1297 a.orderable-tabs__link:hover, a.orderable-tabs__link:active, a.orderable-tabs__link:focus { 1238 color: # 000;1298 color: #405763; 1239 1299 text-decoration: none; 1240 background: # ecf1f3;1300 background: #c7d4db; 1241 1301 } 1242 1302 … … 1248 1308 .orderable--button-style-square a.orderable-tabs__link { 1249 1309 border-radius: 0; 1310 } 1311 1312 .orderable-tabs__arrow { 1313 background: #fff; 1314 -webkit-box-shadow: 0 0.4px 1.3px rgba(0, 0, 0, 0.05), 0 1.3px 4.5px rgba(0, 0, 0, 0.06), 0 6px 16px rgba(0, 0, 0, 0.07); 1315 box-shadow: 0 0.4px 1.3px rgba(0, 0, 0, 0.05), 0 1.3px 4.5px rgba(0, 0, 0, 0.06), 0 6px 16px rgba(0, 0, 0, 0.07); 1316 border: none; 1317 width: 40px !important; 1318 height: 40px !important; 1319 padding: 0 !important; 1320 margin: 0 !important; 1321 border-radius: 20px !important; 1322 position: absolute; 1323 top: 0; 1324 right: 0; 1325 text-align: center; 1326 line-height: 40px; 1327 display: none; 1328 } 1329 1330 .orderable-tabs__arrow:hover, .orderable-tabs__arrow:focus, .orderable-tabs__arrow:active { 1331 background: #fff; 1332 outline: none; 1333 } 1334 1335 .orderable-tabs__arrow svg { 1336 width: 21px; 1337 height: 24px; 1338 margin: 8px 0; 1339 } 1340 1341 /** 1342 * Accordion. 1343 */ 1344 .orderable-accordion { 1345 margin: 24px 0; 1346 background: #f6f8f9; 1347 padding: 0 24px; 1348 border-radius: 6px; 1349 } 1350 1351 .orderable-product__options + .orderable-accordion, 1352 .orderable-product-fields-group-wrap + .orderable-accordion { 1353 margin-top: 36px; 1354 } 1355 1356 .orderable-accordion__item { 1357 border-top: 1px solid #E6ECEF; 1358 } 1359 1360 .orderable-accordion__item:first-child { 1361 border-top: none; 1362 } 1363 1364 .orderable-accordion__item-link { 1365 display: block; 1366 padding: 18px 0; 1367 margin: 0; 1368 color: inherit; 1369 position: relative; 1370 } 1371 1372 .orderable-accordion__item-link--active, .orderable-accordion__item-link:hover, .orderable-accordion__item-link:active, .orderable-accordion__item-link:focus { 1373 color: #000; 1374 border: none; 1375 outline: none; 1376 } 1377 1378 .orderable-accordion__item-link--active:before, .orderable-accordion__item-link--active:after, .orderable-accordion__item-link:hover:before, .orderable-accordion__item-link:hover:after, .orderable-accordion__item-link:active:before, .orderable-accordion__item-link:active:after, .orderable-accordion__item-link:focus:before, .orderable-accordion__item-link:focus:after { 1379 background-color: #405763 !important; 1380 } 1381 1382 .orderable-accordion__item-link:before, .orderable-accordion__item-link:after { 1383 position: absolute; 1384 right: 5px; 1385 content: ' '; 1386 height: 11px; 1387 width: 2px; 1388 background-color: #c7d4db; 1389 top: 50%; 1390 display: block; 1391 margin: -4px 0 0; 1392 } 1393 1394 .orderable-accordion__item-link:before { 1395 -webkit-transform: rotate(45deg); 1396 transform: rotate(45deg); 1397 } 1398 1399 .orderable-accordion__item-link:after { 1400 -webkit-transform: rotate(-45deg); 1401 transform: rotate(-45deg); 1402 right: 12px; 1403 } 1404 1405 .orderable-accordion__item-link--active:before { 1406 right: 12px; 1407 } 1408 1409 .orderable-accordion__item-link--active:after { 1410 right: 5px; 1411 } 1412 1413 .orderable-accordion__item-content { 1414 display: none; 1415 } 1416 1417 .orderable-accordion__item-content--active { 1418 display: block; 1419 } 1420 1421 .orderable-accordion__item-content:after { 1422 content: ""; 1423 display: table; 1424 clear: both; 1250 1425 } 1251 1426 … … 1374 1549 .orderable-quantity-roller__button:hover, .orderable-quantity-roller__button:focus, .orderable-quantity-roller__button:visited { 1375 1550 background-color: #c7d4db; 1376 color: # fff;1551 color: #405763; 1377 1552 -webkit-box-shadow: none; 1378 1553 box-shadow: none; … … 1382 1557 1383 1558 .orderable-quantity-roller__button:hover:before, .orderable-quantity-roller__button:hover:after, .orderable-quantity-roller__button:focus:before, .orderable-quantity-roller__button:focus:after, .orderable-quantity-roller__button:visited:before, .orderable-quantity-roller__button:visited:after { 1384 background: # fff;1559 background: #405763; 1385 1560 } 1386 1561 … … 1409 1584 padding: 0 6px; 1410 1585 min-width: 24px; 1586 outline: none; 1411 1587 } 1412 1588 -
orderable/tags/1.3.0/assets/frontend/css/main.min.css
r2641784 r2709284 1 @-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}@keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}.orderable-main__group{margin:0 0 36px}.orderable-main--sections-tabs .orderable-main__group{display:none}.orderable-main--sections-tabs .orderable-main__group:first-of-type{display:block} .orderable-main--sections-side_tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.orderable-main--sections-side_tabs .orderable-main__tabs{margin:0 24px 0 0!important}.orderable-main--sections-side_tabs .orderable-main__sections{-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-button,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout,.orderable-drawer__close{display:inline-block;border:2px solid #000;background:0 0;padding:0 24px!important;height:40px;line-height:36px;white-space:nowrap;border-radius:20px;color:#000;text-transform:none;margin:0;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;-webkit-box-shadow:none;box-shadow:none;cursor:pointer}.orderable-button:active,.orderable-button:focus,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:active,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:focus,.orderable-drawer__close:active,.orderable-drawer__close:focus{outline:0}.orderable-button--active,.orderable-button--hover,.orderable-button:active,.orderable-button:focus,.orderable-button:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:active,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:focus,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:hover,.orderable-drawer__close:active,.orderable-drawer__close:focus,.orderable-drawer__close:hover{border-color:#000;background:#000;color:#fff;text-decoration:none;-webkit-box-shadow:none;box-shadow:none}.orderable-button--filled,.orderable-button--filled--hover,.orderable-button--filled:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:hover{background:#000!important;color:#fff}.orderable-button--full{width:100%}.orderable-button--loading{position:relative;padding-right:48px!important}.orderable-button--loading:after{content:'';display:block;width:16px;height:16px;position:absolute;top:10px;right:22px;background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:2px solid #000;border-left:2px solid #000;border-right:2px solid transparent;border-bottom:2px solid transparent;border-radius:100%;-webkit-animation:spin .6s ease-out infinite;animation:spin .6s ease-out infinite}.orderable-button--filled .orderable-button--loading:after,.orderable-button--loading.orderable-button--hover:after,.orderable-button--loading:active:after,.orderable-button--loading:focus:after,.orderable-button--loading:hover:after,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout .orderable-button--loading:after{border-top-color:#fff;border-left-color:#fff}.orderable-button--out-of-stock.orderable-button--hover.orderable-drawer__close,.orderable-button--out-of-stock.orderable-drawer__close,.orderable-button--out-of-stock.orderable-drawer__close:active,.orderable-button--out-of-stock.orderable-drawer__close:focus,.orderable-button--out-of-stock.orderable-drawer__close:hover,.orderable-button.orderable-button--out-of-stock,.orderable-button.orderable-button--out-of-stock.orderable-button--hover,.orderable-button.orderable-button--out-of-stock:active,.orderable-button.orderable-button--out-of-stock:focus,.orderable-button.orderable-button--out-of-stock:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout:active,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout:focus,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.orderable-button--hover.button.checkout{cursor:not-allowed;border-color:#c7d4db;color:#a8bdc7;background:0 0!important}.orderable--button-style-square .orderable-button,.orderable--button-style-square .orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout,.orderable--button-style-square .orderable-drawer__close,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable--button-style-square .button.checkout{border-radius:0}.orderable-input--select,select.orderable-input--select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:10px;border:2px solid #E6ECEF;border-radius:8px;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23c1cfd7'><polygon points='0,0 100,0 50,50'/></svg>");background-size:16px;background-position:calc(100% - 14px) 19px;background-repeat:no-repeat;cursor:pointer}.orderable-input--select:focus,select.orderable-input--select:focus{outline:0;border-color:#000;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23000000'><polygon points='0,0 100,0 50,50'/></svg>")}.orderable-input.orderable-input--text{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:10px;border:2px solid #E6ECEF;border-radius:8px;width:100%;background-color:#fff;-webkit-box-shadow:none;box-shadow:none}.orderable-floating-cart__button,.orderable-products-list__item .orderable-product{-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07)}.orderable-input.orderable-input--text:focus{outline:0;border-color:#000;background-color:#fff}.orderable-category-heading{margin:0 0 24px}.orderable-products-list{margin-bottom:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list *{-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list:last-child{margin-bottom:0}@media screen and (min-width:480px){.orderable-products-list .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 200px;flex:0 0 200px}.orderable-products-list .orderable-product__hero{width:200px}.orderable-products-list .orderable-product__image{-o-object-fit:cover;object-fit:cover;width:100%!important;height:100%!important}.orderable-products-list .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}}.orderable-products-list .orderable-product__actions{padding:12px 24px 18px;margin-top:auto}.orderable-products-list__item{width:100%;margin:0 0 24px}@media screen and (max-width:480px){.orderable-products-list__item{padding:0 0 24px;border-bottom:1px solid #ecf1f3}.orderable-products-list__item:last-child{border-bottom:none}}@media screen and (min-width:540px){.orderable-products-list--grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-products-list__item{margin:0 0 24px;padding:0 12px;width:50%}.orderable-products-list--grid .orderable-product{padding:0 0 88px;display:block;margin:0;-webkit-box-flex:0;-ms-flex:none;flex:none}}@media screen and (min-width:1120px){.orderable-products-list--grid .orderable-products-list__item{width:33.33%}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-product__hero{width:auto}.orderable-products-list--grid .orderable-product__hero img{-o-object-fit:fill;object-fit:fill;width:100%;height:auto}.orderable-products-list--grid .orderable-product__content-wrap{-webkit-box-flex:0;-ms-flex:none;flex:none;display:block}.orderable-products-list--grid .orderable-product__actions{padding:0;margin-top:0;position:absolute;bottom:24px;left:24px;right:24px}}.orderable-product{overflow:hidden;position:relative}.orderable-product__hero{position:relative}.orderable-product__image{border-radius:0;margin:0;display:block;width:100%;height:auto!important;max-width:none!important}.orderable-product__content{padding:18px 24px 12px}.orderable-product__content :last-child{margin-bottom:0}.orderable-product__title{margin:0 0 12px!important}.orderable-product__description{margin:0}.orderable-product__tags{overflow:hidden;margin:0;padding:0;list-style:none}img+.orderable-product__tags{position:absolute;bottom:0;left:0;padding:12px;z-index:20}.orderable-product__tags li{margin:6px 0 0}.orderable-product__options{margin:12px 0 24px;padding:0;border-radius:6px}.orderable-product__actions:last-child,.orderable-product__options:last-child{margin-bottom:0}.orderable-product__options td,.orderable-product__options th{background-color:transparent!important;padding:0 0 12px;text-align:left;display:block;margin:0}.orderable-product__options th{font-size:18px;line-height:22px}.orderable-product__options td{padding-bottom:24px}.orderable-product__options tr{padding:0;margin:0}.orderable-product__options tr:last-child td{padding-bottom:0}.orderable-product__actions{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-product__actions-price{margin:0 4px 0 0}.orderable-product__actions-price .amount{white-space:nowrap;margin:0 6px 0 0;font-weight:700;color:#000;font-size:20px;line-height:24px}.orderable-product__actions-button{margin:0 0 0 auto}.orderable-product--options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:visible;height:100%}.orderable-product--options .orderable-product__actions{margin-top:auto;padding-top:24px;border-top:1px solid #E6ECEF;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.orderable-product--clickable{cursor:pointer}.orderable-product__hero--title{overflow:hidden;padding:24px 24px 0;margin:-24px -24px 24px;text-align:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.orderable-product__hero--title:before{background:#fff;top:auto;left:-10px;right:-10px;bottom:-10px;position:absolute;height:24px;z-index:5;-webkit-transform:rotate(-1.5deg);transform:rotate(-1.5deg)}.orderable-product__hero--title:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:-webkit-gradient(linear,left bottom,left top,from(rgba(24,33,37,.8)),to(rgba(24,33,37,.3)));background:linear-gradient(0deg,rgba(24,33,37,.8),rgba(24,33,37,.3));z-index:1;mix-blend-mode:multiply}.orderable-product__hero--title .orderable-product__image{-o-object-fit:cover;object-fit:cover;position:absolute;z-index:-1;width:100%;height:100%!important;left:0;top:0}.orderable-product__hero--title .orderable-product__title{color:#fff;position:relative;z-index:10}.orderable-products-list__item .orderable-product{height:100%;width:100%;box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);border-radius:6px}@media screen and (max-width:480px){.orderable-products-list__item .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.orderable-products-list__item .orderable-product__hero{width:100%;min-width:60px;max-width:80px;border-radius:6px;overflow:hidden}.orderable-products-list__item .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-products-list__item .orderable-product__content{padding:0 0 0 24px}.orderable-products-list__item .orderable-product__actions{padding:6px 0 0 24px}.orderable-products-list__item .orderable-product__title{margin:0 0 6px!important}}.orderable-tag{display:inline-block;background:#EDF2F6;border-radius:15px;height:30px;line-height:30px;white-space:nowrap;color:#495568;padding:0 12px;font-size:14px}body.orderable-drawer-open{overflow:hidden}.orderable-drawer-overlay{height:100%;z-index:999998;position:fixed;top:0;left:0;opacity:0;visibility:hidden;background-color:rgba(34,34,34,.6);-webkit-transition:opacity .2s linear,visibility .1s,width 1s ease-in;transition:opacity .2s linear,visibility .1s,width 1s ease-in}.orderable-drawer{width:100%;visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:all .2s;transition:all .2s;border-radius:0;-webkit-box-shadow:0 4px 56px -2px rgba(0,0,0,.2),0 3px 6px -1px rgba(0,0,0,.4);box-shadow:0 4px 56px -2px rgba(0,0,0,.2),0 3px 6px -1px rgba(0,0,0,.4);display:block;position:fixed;top:0;right:0;height:100%;z-index:999999;background-color:#fff;overflow:hidden;padding:24px}@media screen and (min-width:640px){.orderable-drawer{max-width:600px}}.orderable-drawer h3{margin:0 60px 24px!important;font-size:20px;line-height:24px;text-align:center}.orderable-drawer h4{font-size:18px;line-height:22px}.orderable-drawer__inner{padding:0;height:100%;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.orderable-drawer__cart,.orderable-drawer__cart .widget_shopping_cart_content{display:-webkit-box;display:-ms-flexbox;-webkit-box-orient:vertical;-webkit-box-direction:normal}.orderable-drawer__inner .orderable-sb-container{-ms-flex-preferred-size:100%;flex-basis:100%}.orderable-drawer__cart{display:flex;-ms-flex-direction:column;flex-direction:column}.orderable-drawer__cart .widget_shopping_cart_content{height:100%;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;border-top:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart{margin:0;padding:0;list-style:none;overflow:hidden;min-height:100%}.orderable-drawer__cart .orderable-mini-cart-item{margin:0;padding:10px 44px 10px 0;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-bottom:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart-item:last-child{border-bottom:none}.orderable-drawer__cart .orderable-mini-cart-item .variation{margin:7.5px 0}.orderable-drawer__cart .orderable-mini-cart-item .variation dd,.orderable-drawer__cart .orderable-mini-cart-item .variation dt,.orderable-drawer__cart .orderable-mini-cart-item .variation p{margin:0}.orderable-drawer__cart .orderable-mini-cart-item .blockOverlay{background:#fff!important;opacity:.8!important}.orderable-drawer__cart .orderable-mini-cart-item__remove{position:absolute;bottom:16px;right:0;z-index:20;color:#c7d4db;-webkit-box-shadow:none;box-shadow:none;height:40px;width:40px;text-indent:250%;white-space:nowrap;font-size:0;-webkit-transition:none;transition:none;-webkit-box-sizing:border-box;box-sizing:border-box;border:none}.orderable-drawer__cart .orderable-mini-cart-item__remove svg{display:block;height:20px;width:20px;position:absolute;left:50%;top:50%;-webkit-transition:none;transition:none;fill:#c7d4db;margin:-10px 0 0 -10px}.orderable-drawer__cart .orderable-mini-cart-item__remove:hover svg{opacity:.8}.orderable--button-style-square .orderable-drawer__cart .orderable-mini-cart-item__remove{border-radius:0}.orderable-drawer__cart .quantity{font-weight:700}.orderable-drawer__cart .orderable-mini-cart__notices{padding:15px 0;border-top:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error{margin:0;padding:0;list-style:none}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error li{border:1px solid #E34F4F;background:#fce9e9;color:#dc2323;padding:6px 12px;text-align:center;margin:0 0 6px;display:block;border-radius:8px}.orderable-drawer__cart .orderable-mini-cart__buttons .button,.orderable-drawer__cart .orderable-mini-cart__notices .button{display:none}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error li:last-child{margin-bottom:0}.orderable-drawer__cart .orderable-mini-cart__buttons,.orderable-drawer__cart .orderable-mini-cart__total{margin:0;padding:0;text-align:center}.orderable-drawer__cart .orderable-mini-cart__total{padding:15px 0;border-top:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout{display:block;width:100%}.orderable-drawer__cart .orderable-mini-cart__empty-message{margin:auto 0;text-align:center}.orderable-drawer__cart .orderable-services-selector__lookup,.orderable-drawer__cart .orderable-services-selector__selected{margin:0 0 15px}.orderable-drawer__cart .orderable-services-selector__lookup input{width:100%;margin:0 0 8px}.orderable-drawer__cart .orderable-services-selector__lookup-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.orderable-drawer__cart .orderable-services-selector__lookup-buttons button{display:block;width:100%}.orderable-drawer__cart .orderable-services-selector__lookup-buttons button:first-child{margin-right:4px}.orderable-drawer__cart .orderable-services-selector__lookup-buttons button:last-child{margin-left:4px}.orderable-drawer__actions{bottom:-24px;margin:auto 0 -24px;background:#fff;padding:24px 0;left:0;right:0;border-top:1px solid #F2F2F2}.orderable-drawer__actions--cart{border-top:none;padding-top:10px}.orderable-drawer__close{position:absolute;top:16px;left:24px;font-size:0;text-indent:250%!important;white-space:nowrap!important;overflow:hidden!important;padding:0!important;width:40px;height:40px;margin:0;z-index:100;border-color:#c7d4db}.orderable-drawer__close:after,.orderable-drawer__close:before{position:absolute;left:54%;content:' ';height:18px;width:2px;background-color:#c7d4db;top:50%;margin:-9px 0 0 -2px;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;display:block}.orderable-drawer__close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.orderable-drawer__close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.orderable-drawer__close:active,.orderable-drawer__close:focus,.orderable-drawer__close:hover{background-color:#c7d4db;border-color:#c7d4db}.orderable-drawer__close:active:after,.orderable-drawer__close:active:before,.orderable-drawer__close:focus:after,.orderable-drawer__close:focus:before,.orderable-drawer__close:hover:after,.orderable-drawer__close:hover:before{background-color:#fff}.orderable-drawer .orderable-product__content{padding:15px 0}.orderable-drawer-overlay--open{-webkit-transition:opacity .2s ease,width 0s;transition:opacity .2s ease,width 0s;opacity:1;width:100%;visibility:visible}.orderable-drawer--open{visibility:visible;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.orderable-floating-cart{position:fixed;z-index:20}.orderable-floating-cart__button{padding:0;width:60px;height:60px;border:none;border-radius:100%;display:block;margin:0;text-align:center;line-height:60px;background:#fff;box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);outline:0!important;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out,-webkit-transform 150ms ease-in-out}.orderable-floating-cart__button:hover{background:#fff;-webkit-animation:wobble-hor-bottom .8s both;animation:wobble-hor-bottom .8s both;-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07)}.orderable-floating-cart__button svg{width:24px;height:24px;display:block;margin:0 auto}.orderable-floating-cart__count{position:absolute;top:0;right:0;white-space:nowrap;padding:0 4px;background:#E52C23;color:#fff;height:22px;line-height:22px;font-size:13px;border-radius:11px;min-width:22px;text-align:center}.orderable-floating-cart--bl,.orderable-floating-cart--br{bottom:40px}.orderable-floating-cart--br,.orderable-floating-cart--tr{right:40px}.orderable-floating-cart--bl,.orderable-floating-cart--tl{left:40px}.orderable-floating-cart--tl,.orderable-floating-cart--tr{top:40px}.orderable-services-selector__selected p{margin:0}.orderable-services-selector__selected-change{padding:0;margin:0;font-size:inherit;background:0 0;display:inline;color:#333;-webkit-transition:none;transition:none;text-transform:none;-webkit-box-shadow:none;box-shadow:none}.orderable-services-selector__selected-change:active,.orderable-services-selector__selected-change:focus,.orderable-services-selector__selected-change:hover{padding:0;margin:0;background:0 0;color:#333;text-decoration:underline;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}.orderable-services-selector--selected .orderable-services-selector__lookup{display:none}.orderable-open-hours__date,.orderable-open-hours__service{margin:0 0 0 6px;padding:2px 6px;background:#000;color:#fff;border-radius:4px;display:inline-block;font-size:80%}.orderable-open-hours__service--closed{background-color:#E34F4F;display:none}.orderable-open-hours__date{margin:0 4px 0 0;text-align:center;min-width:30px;border:1px solid #E6ECEF;background:0 0;color:inherit}.orderable-tabs{margin:0 0 24px!important;padding:0!important;list-style:none}.orderable-main--sections-side_tabs .orderable-tabs{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.orderable-tabs__item{display:inline-block;margin:0;padding:0}.orderable-main--sections-side_tabs .orderable-tabs__item{margin:0 0 6px;display:block}.orderable-main--sections-side_tabs .orderable-tabs__item:last-child{margin:0}a.orderable-tabs__link{text-decoration:none!important;display:inline-block;padding:0 24px;white-space:nowrap;line-height:40px;color:#000;font-weight:400;border-radius:20px;-webkit-transition:none;transition:none}a.orderable-tabs__link:active,a.orderable-tabs__link:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}a.orderable-tabs__link:active,a.orderable-tabs__link:focus,a.orderable-tabs__link:hover{color:#000;text-decoration:none;background:#ecf1f3}.orderable-tabs__item--active a.orderable-tabs__link{background:#000;color:#fff}.orderable--button-style-square a.orderable-tabs__link{border-radius:0}.orderable-sb-container{position:relative;overflow:hidden;padding-right:25px}.orderable-sb-content{height:100%;width:120%;padding-right:20%;overflow-y:scroll;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-sb-scrollbar-container{position:absolute;right:0;bottom:10px;top:10px;width:10px}.orderable-sb-container-noscroll .orderable-sb-scrollbar-container{right:-20px}.orderable-sb-scrollbar{position:absolute;right:0;height:30px;width:10px;border-radius:10px;background:#d6e0e5}.orderable-sb-scrollbar:hover{background:#c7d4db}.orderable--button-style-square .orderable-sb-scrollbar{border-radius:0}.orderable-sb-container-noscroll{padding-right:0}.orderable-sb-container-noscroll .orderable-sb-content{width:100%;padding-right:0;overflow:hidden}.orderable-quantity-roller{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-quantity-roller *{-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-quantity-roller__roller{border:2px solid #c7d4db;border-radius:20px;height:40px;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex}.orderable--button-style-square .orderable-quantity-roller__roller{border-radius:0}.orderable-quantity-roller__button{height:36px;width:24px;background:0 0;border:none;border-radius:0;text-align:center;color:#c7d4db;line-height:36px;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;padding:0 6px;-webkit-box-sizing:content-box;box-sizing:content-box;position:relative;font-size:0;text-indent:250%;overflow:hidden;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out}.orderable-quantity-roller__button:after,.orderable-quantity-roller__button:before{content:"";position:absolute;display:block!important;height:2px;width:12px;background:#c7d4db;top:50%;left:50%;margin:-1px 0 0 -6px;-webkit-transition:background 150ms ease-out;transition:background 150ms ease-out}.orderable-quantity-roller__button:focus,.orderable-quantity-roller__button:hover,.orderable-quantity-roller__button:visited{background-color:#c7d4db;color:#fff;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;outline:0}.orderable-quantity-roller__button:focus:after,.orderable-quantity-roller__button:focus:before,.orderable-quantity-roller__button:hover:after,.orderable-quantity-roller__button:hover:before,.orderable-quantity-roller__button:visited:after,.orderable-quantity-roller__button:visited:before{background:#fff}.orderable-quantity-roller__button--decrease{padding-right:4px}.orderable-quantity-roller__button--decrease:after{display:none!important}.orderable-quantity-roller__button--increase{padding-left:4px}.orderable-quantity-roller__button--increase:after{height:12px;width:2px;margin:-6px 0 0 -1px}.orderable-quantity-roller__quantity{text-align:center;display:inline-block;line-height:36px;padding:0 6px;min-width:24px}.orderable-quantity-roller__price{margin-left:8px}.orderable-quantity-roller__price:before{content:"x";margin:0 8px;color:#c7d4db}.orderable-drawer__cart .orderable-quantity-roller{margin:12px 0 6px}1 @-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}@keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}.orderable-main__group{margin:0 0 36px}.orderable-main--sections-tabs .orderable-main__group{display:none}.orderable-main--sections-tabs .orderable-main__group:first-of-type{display:block}@media screen and (min-width:620px){.orderable-main--sections-side_tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.orderable-main--sections-side_tabs .orderable-main__tabs{margin:0 24px 0 0!important}.orderable-main--sections-side_tabs .orderable-main__sections{-webkit-box-flex:1;-ms-flex:1;flex:1}}.orderable-button,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout,.orderable-drawer__close{display:inline-block;border:2px solid #000;background:0 0;padding:0 24px!important;height:40px;line-height:36px;white-space:nowrap;border-radius:20px;color:#000;text-transform:none;margin:0;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;-webkit-box-shadow:none;box-shadow:none;cursor:pointer}.orderable-button:active,.orderable-button:focus,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:active,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:focus,.orderable-drawer__close:active,.orderable-drawer__close:focus{outline:0}.orderable-button--active,.orderable-button--hover,.orderable-button:active,.orderable-button:focus,.orderable-button:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:active,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:focus,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:hover,.orderable-drawer__close:active,.orderable-drawer__close:focus,.orderable-drawer__close:hover{border-color:#000;background:#000;color:#fff;text-decoration:none;-webkit-box-shadow:none;box-shadow:none}.orderable-button--filled,.orderable-button--filled--hover,.orderable-button--filled:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:hover{background:#000!important;color:#fff}.orderable-button--full{width:100%}.orderable-button--loading{position:relative;padding-right:48px!important}.orderable-button--loading:after{content:'';display:block;width:16px;height:16px;position:absolute;top:10px;right:22px;background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:2px solid #000;border-left:2px solid #000;border-right:2px solid transparent;border-bottom:2px solid transparent;border-radius:100%;-webkit-animation:spin .6s ease-out infinite;animation:spin .6s ease-out infinite}.orderable-button--filled .orderable-button--loading:after,.orderable-button--loading.orderable-button--hover:after,.orderable-button--loading:active:after,.orderable-button--loading:focus:after,.orderable-button--loading:hover:after,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout .orderable-button--loading:after{border-top-color:#fff;border-left-color:#fff}.orderable-button--out-of-stock.orderable-button--hover.orderable-drawer__close,.orderable-button--out-of-stock.orderable-drawer__close,.orderable-button--out-of-stock.orderable-drawer__close:active,.orderable-button--out-of-stock.orderable-drawer__close:focus,.orderable-button--out-of-stock.orderable-drawer__close:hover,.orderable-button.orderable-button--out-of-stock,.orderable-button.orderable-button--out-of-stock.orderable-button--hover,.orderable-button.orderable-button--out-of-stock:active,.orderable-button.orderable-button--out-of-stock:focus,.orderable-button.orderable-button--out-of-stock:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout:active,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout:focus,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.orderable-button--hover.button.checkout{cursor:not-allowed;border-color:#c7d4db;color:#a8bdc7;background:0 0!important}.orderable--button-style-square .orderable-button,.orderable--button-style-square .orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout,.orderable--button-style-square .orderable-drawer__close,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable--button-style-square .button.checkout{border-radius:0}.orderable-button--icon{padding:10px!important;width:44px;height:44px;line-height:24px;border:none;background:0 0!important}body .orderable-button--icon:active,body .orderable-button--icon:focus,body .orderable-button--icon:hover{background:0 0!important;opacity:.6}.orderable-button--icon svg{width:24px;height:24px;border-radius:12px;overflow:hidden;-webkit-transition:opacity 250ms ease-in-out;transition:opacity 250ms ease-in-out}.orderable-button--icon.orderable-button--loading:after{display:none}.orderable-input--select,select.orderable-input--select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:10px;border:2px solid #E6ECEF;border-radius:8px;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23c1cfd7'><polygon points='0,0 100,0 50,50'/></svg>");background-size:16px;background-position:calc(100% - 14px) 19px;background-repeat:no-repeat;cursor:pointer}.orderable-input--select:focus,select.orderable-input--select:focus{outline:0;border-color:#000;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23000000'><polygon points='0,0 100,0 50,50'/></svg>")}.orderable-input.orderable-input--text{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:10px;border:2px solid #E6ECEF;border-radius:8px;width:100%;background-color:#fff;-webkit-box-shadow:none;box-shadow:none}.orderable-floating-cart__button,.orderable-products-list__item .orderable-product{-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07)}.orderable-input.orderable-input--text:focus{outline:0;border-color:#000;background-color:#fff}.orderable-category-heading{margin:0 0 24px}.orderable-products-list{margin-bottom:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list *{-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list:last-child{margin-bottom:0}@media screen and (min-width:480px){.orderable-products-list .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 200px;flex:0 0 200px}.orderable-products-list .orderable-product__hero{width:200px}.orderable-products-list .orderable-product__image{-o-object-fit:cover;object-fit:cover;width:100%!important;height:100%!important}.orderable-products-list .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}}.orderable-products-list .orderable-product__actions{padding:12px 24px 18px;margin-top:auto}.orderable-products-list__item{width:100%;margin:0 0 24px}@media screen and (max-width:480px){.orderable-products-list__item{padding:0 0 24px;border-bottom:1px solid #ecf1f3}.orderable-products-list__item:last-child{border-bottom:none}}@media screen and (min-width:540px){.orderable-products-list--grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-products-list__item{margin:0 0 24px;padding:0 12px;width:50%}.orderable-products-list--grid .orderable-product{padding:0 0 88px;display:block;margin:0;-webkit-box-flex:0;-ms-flex:none;flex:none}}@media screen and (min-width:1120px){.orderable-products-list--grid .orderable-products-list__item{width:33.33%}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-product__hero{width:auto}.orderable-products-list--grid .orderable-product__hero img{-o-object-fit:fill;object-fit:fill;width:100%;height:auto}.orderable-products-list--grid .orderable-product__content-wrap{-webkit-box-flex:0;-ms-flex:none;flex:none;display:block}.orderable-products-list--grid .orderable-product__actions{padding:0;margin-top:0;position:absolute;bottom:24px;left:24px;right:24px}}.orderable-product{overflow:hidden;position:relative}.orderable-product__hero{position:relative}.orderable-product__image{border-radius:0;margin:0;display:block;width:100%;height:auto!important;max-width:none!important}.orderable-product__content{padding:18px 24px 12px}.orderable-product__content :last-child{margin-bottom:0}.orderable-product__title{margin:0 0 12px!important}.orderable-product__description{margin:0}.orderable-product__tags{overflow:hidden;margin:0;padding:0;list-style:none}img+.orderable-product__tags{position:absolute;bottom:0;left:0;padding:12px;z-index:20}.orderable-product__tags li{margin:6px 0 0}.orderable-product__options{margin:0 0 24px;padding:0;border-radius:6px}.orderable-product__options td,.orderable-product__options th{background-color:transparent!important;padding:0 0 12px;text-align:left;display:block;margin:0}.orderable-product__options th{line-height:22px}.orderable-product__options td{padding-bottom:24px}.orderable-product__options tr{padding:0;margin:0}.orderable-product__options tr:last-child td{padding-bottom:0}.orderable-product__actions{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-product__actions:last-child{margin-bottom:0}.orderable-product__actions-price{margin:0 4px 0 0}.orderable-product__actions-price .amount{white-space:nowrap;margin:0 6px 0 0;font-weight:700;color:#000;font-size:20px;line-height:24px}.orderable-product__actions-button{margin:0 0 0 auto}.orderable-product__tabs{margin:24px 0}.orderable-product__tabs-section{display:none}.orderable-product__tabs-section:first-child{display:block}.orderable-product__tabs-section :last-child{margin-bottom:0}.orderable-product--options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:visible;height:100%}.orderable-product--options .orderable-product__hero{margin:-24px -24px 0}.orderable-product--options .orderable-product__title{text-align:left;margin:24px 0!important}.orderable-product--options .orderable-product__actions{margin-top:auto;padding-top:24px;border-top:1px solid #E6ECEF;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.orderable-product--add-to-cart,.orderable-product--product-options,.orderable-product--view-product{cursor:pointer}.orderable-product--image-cropped .orderable-product__hero{overflow:hidden;padding:0;text-align:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;height:72px}.orderable-product--image-cropped .orderable-product__image{-o-object-fit:cover;object-fit:cover;position:absolute;z-index:-1;width:100%;height:100%!important;left:0;top:0}.orderable-products-list__item .orderable-product{height:100%;width:100%;box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);border-radius:6px}@media screen and (max-width:480px){.orderable-products-list__item .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.orderable-products-list__item .orderable-product__hero{width:100%;min-width:60px;max-width:95px;border-radius:6px;overflow:hidden}.orderable-products-list__item .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-products-list__item .orderable-product__content{padding:0 0 0 24px}.orderable-products-list__item .orderable-product__actions{padding:6px 0 0 24px}.orderable-products-list__item .orderable-product__title{margin:0 0 6px!important}}.orderable-tag{display:inline-block;background:#EDF2F6;border-radius:15px;height:30px;line-height:30px;white-space:nowrap;color:#495568;padding:0 12px;font-size:14px}body.orderable-drawer-open{overflow:hidden}.orderable-drawer-overlay{height:100%;z-index:999998;position:fixed;top:0;left:0;opacity:0;visibility:hidden;background-color:rgba(34,34,34,.6);-webkit-transition:opacity .2s linear,visibility .1s,width 1s ease-in;transition:opacity .2s linear,visibility .1s,width 1s ease-in}.orderable-drawer{width:100%;visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:all .2s;transition:all .2s;border-radius:0;-webkit-box-shadow:0 4px 56px -2px rgba(0,0,0,.2),0 3px 6px -1px rgba(0,0,0,.4);box-shadow:0 4px 56px -2px rgba(0,0,0,.2),0 3px 6px -1px rgba(0,0,0,.4);display:block;position:fixed;top:0;right:0;height:100%;z-index:999999;background-color:#fff;overflow:hidden;padding:24px}@media screen and (min-width:640px){.orderable-drawer{max-width:600px}}.orderable-drawer h3{margin:0 60px 24px!important;font-size:20px;line-height:24px;text-align:center}.orderable-drawer h4{font-size:18px;line-height:22px}.orderable-drawer__inner{padding:0;height:100%;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.orderable-drawer__cart,.orderable-drawer__cart .orderable-mini-cart-wrapper{display:-webkit-box;display:-ms-flexbox;-webkit-box-orient:vertical;-webkit-box-direction:normal}.orderable-drawer__inner .orderable-sb-container{-ms-flex-preferred-size:100%;flex-basis:100%;margin-bottom:-1px}.orderable-drawer__cart{display:flex;-ms-flex-direction:column;flex-direction:column}.orderable-drawer__cart .orderable-mini-cart-wrapper{height:100%;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;border-top:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart{margin:0;padding:0;list-style:none;overflow:hidden;min-height:100%}.orderable-drawer__cart .orderable-mini-cart-item{margin:0;padding:10px 44px 10px 0;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-bottom:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart-item:last-child{border-bottom:none}.orderable-drawer__cart .orderable-mini-cart-item .variation{margin:7.5px 0}.orderable-drawer__cart .orderable-mini-cart-item .variation dd,.orderable-drawer__cart .orderable-mini-cart-item .variation dt,.orderable-drawer__cart .orderable-mini-cart-item .variation p{margin:0}.orderable-drawer__cart .orderable-mini-cart-item .blockOverlay{background:#fff!important;opacity:.8!important}.orderable-drawer__cart .orderable-mini-cart-item__remove{position:absolute;bottom:16px;right:0;z-index:20;color:#c7d4db;-webkit-box-shadow:none;box-shadow:none;height:40px;width:40px;text-indent:250%;white-space:nowrap;font-size:0;-webkit-transition:none;transition:none;-webkit-box-sizing:border-box;box-sizing:border-box;border:none}.orderable-drawer__cart .orderable-mini-cart-item__remove svg{display:block;height:20px;width:20px;position:absolute;left:50%;top:50%;-webkit-transition:none;transition:none;fill:#c7d4db;margin:-10px 0 0 -10px}.orderable-drawer__cart .orderable-mini-cart-item__remove:hover svg{opacity:.8}.orderable--button-style-square .orderable-drawer__cart .orderable-mini-cart-item__remove{border-radius:0}.orderable-drawer__cart .quantity{font-weight:700}.orderable-drawer__cart .orderable-mini-cart__notices{padding:15px 0;border-top:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error{margin:0;padding:0;list-style:none}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error li{border:1px solid #E34F4F;background:#fce9e9;color:#dc2323;padding:6px 12px 6px 28px!important;text-align:center;margin:0 0 6px;display:block;border-radius:8px}.orderable-drawer__cart .orderable-mini-cart__buttons .button,.orderable-drawer__cart .orderable-mini-cart__notices .button{display:none}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error li:last-child{margin-bottom:0}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error::before,.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-info::before,.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-message::before{left:12px}.orderable-drawer__cart .orderable-mini-cart__buttons,.orderable-drawer__cart .orderable-mini-cart__total{margin:0;padding:0;text-align:center}.orderable-drawer__cart .orderable-mini-cart__total{padding:15px 0;border-top:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout{display:block;width:100%}.orderable-drawer__cart .orderable-mini-cart__empty-message{margin:auto 0;text-align:center}.orderable-drawer__cart .orderable-services-selector__lookup,.orderable-drawer__cart .orderable-services-selector__selected{margin:0 0 15px}.orderable-drawer__cart .orderable-services-selector__lookup input{width:100%;margin:0 0 8px}.orderable-drawer__cart .orderable-services-selector__lookup-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.orderable-drawer__cart .orderable-services-selector__lookup-buttons button{display:block;width:100%}.orderable-drawer__cart .orderable-services-selector__lookup-buttons button:first-child{margin-right:4px}.orderable-drawer__cart .orderable-services-selector__lookup-buttons button:last-child{margin-left:4px}.orderable-drawer__actions{bottom:-24px;margin:auto 0 -24px;background:#fff;padding:24px 0;left:0;right:0;border-top:1px solid #F2F2F2}.orderable-drawer__actions--cart{border-top:none;padding-top:10px}.orderable-drawer__close{position:absolute;top:16px;left:24px;font-size:0;text-indent:250%!important;white-space:nowrap!important;overflow:hidden!important;padding:0!important;width:40px;height:40px;margin:0;z-index:100;border-color:#c7d4db}.orderable-drawer__close:after,.orderable-drawer__close:before{position:absolute;left:54%;content:' ';height:18px;width:2px;background-color:#c7d4db;top:50%;margin:-9px 0 0 -2px;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;display:block}.orderable-drawer__close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.orderable-drawer__close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.orderable-drawer__close:active,.orderable-drawer__close:focus,.orderable-drawer__close:hover{background-color:#c7d4db;border-color:#c7d4db}.orderable-drawer__close:active:after,.orderable-drawer__close:active:before,.orderable-drawer__close:focus:after,.orderable-drawer__close:focus:before,.orderable-drawer__close:hover:after,.orderable-drawer__close:hover:before{background-color:#405763}.orderable-drawer .orderable-product__content{padding:15px 0}.orderable-drawer-overlay--open{-webkit-transition:opacity .2s ease,width 0s;transition:opacity .2s ease,width 0s;opacity:1;width:100%;visibility:visible}.orderable-drawer--open{visibility:visible;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.orderable-floating-cart{position:fixed;z-index:20}.orderable-floating-cart__button{padding:0;width:60px;height:60px;border:none;border-radius:100%;display:block;margin:0;text-align:center;line-height:60px;background:#fff;box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);outline:0!important;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out,-webkit-transform 150ms ease-in-out}.orderable-floating-cart__button:hover{background:#fff;-webkit-animation:wobble-hor-bottom .8s both;animation:wobble-hor-bottom .8s both;-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07)}.orderable-floating-cart__button svg{width:24px;height:24px;display:block;margin:0 auto}.orderable-floating-cart__count{position:absolute;top:0;right:0;white-space:nowrap;padding:0 4px;background:#E52C23;color:#fff;height:22px;line-height:22px;font-size:13px;border-radius:11px;min-width:22px;text-align:center}.orderable-floating-cart--bl,.orderable-floating-cart--br{bottom:40px}.orderable-floating-cart--br,.orderable-floating-cart--tr{right:40px}.orderable-floating-cart--bl,.orderable-floating-cart--tl{left:40px}.orderable-floating-cart--tl,.orderable-floating-cart--tr{top:40px}.orderable-services-selector__selected p{margin:0}.orderable-services-selector__selected-change{padding:0;margin:0;font-size:inherit;background:0 0;display:inline;color:#333;-webkit-transition:none;transition:none;text-transform:none;-webkit-box-shadow:none;box-shadow:none}.orderable-services-selector__selected-change:active,.orderable-services-selector__selected-change:focus,.orderable-services-selector__selected-change:hover{padding:0;margin:0;background:0 0;color:#333;text-decoration:underline;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}.orderable-services-selector--selected .orderable-services-selector__lookup{display:none}.orderable-open-hours__date,.orderable-open-hours__service{margin:0 0 0 6px;padding:2px 6px;background:#000;color:#fff;border-radius:4px;display:inline-block;font-size:80%}.orderable-open-hours__service--closed{background-color:#E34F4F;display:none}.orderable-open-hours__date{margin:0 4px 0 0;text-align:center;min-width:30px;border:1px solid #E6ECEF;background:0 0;color:inherit}.orderable-tabs{margin:0 0 24px;position:relative}.orderable-tabs__list{margin:0 1px 0 0!important;padding:0!important;list-style:none;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;overflow:-moz-scrollbars-none;scrollbar-base-color:transparent;-webkit-overflow-scrolling:touch}.orderable-tabs__list::-webkit-scrollbar{display:none}.orderable-tabs__item{display:inline-block;margin:0 10px 0 0;padding:0}.orderable-tabs__item:last-child{margin-right:0}@media screen and (min-width:620px){.orderable-main--sections-side_tabs .orderable-tabs__list{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto}.orderable-main--sections-side_tabs .orderable-tabs__item{margin:0 0 12px;display:block}.orderable-main--sections-side_tabs .orderable-tabs__item:last-child{margin:0}}a.orderable-tabs__link{text-decoration:none!important;display:inline-block;padding:0 24px;white-space:nowrap;line-height:40px;color:#405763;font-weight:400;border-radius:20px;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;background:#ecf1f3}a.orderable-tabs__link:active,a.orderable-tabs__link:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}a.orderable-tabs__link:active,a.orderable-tabs__link:focus,a.orderable-tabs__link:hover{color:#405763;text-decoration:none;background:#c7d4db}.orderable-tabs__item--active a.orderable-tabs__link{background:#000;color:#fff}.orderable--button-style-square a.orderable-tabs__link{border-radius:0}.orderable-tabs__arrow{background:#fff;-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);border:none;width:40px!important;height:40px!important;padding:0!important;margin:0!important;border-radius:20px!important;position:absolute;top:0;right:0;text-align:center;line-height:40px;display:none}.orderable-tabs__arrow:active,.orderable-tabs__arrow:focus,.orderable-tabs__arrow:hover{background:#fff;outline:0}.orderable-tabs__arrow svg{width:21px;height:24px;margin:8px 0}.orderable-accordion{margin:24px 0;background:#f6f8f9;padding:0 24px;border-radius:6px}.orderable-product-fields-group-wrap+.orderable-accordion,.orderable-product__options+.orderable-accordion{margin-top:36px}.orderable-accordion__item{border-top:1px solid #E6ECEF}.orderable-accordion__item:first-child{border-top:none}.orderable-accordion__item-link{display:block;padding:18px 0;margin:0;color:inherit;position:relative}.orderable-accordion__item-link--active,.orderable-accordion__item-link:active,.orderable-accordion__item-link:focus,.orderable-accordion__item-link:hover{color:#000;border:none;outline:0}.orderable-accordion__item-link--active:after,.orderable-accordion__item-link--active:before,.orderable-accordion__item-link:active:after,.orderable-accordion__item-link:active:before,.orderable-accordion__item-link:focus:after,.orderable-accordion__item-link:focus:before,.orderable-accordion__item-link:hover:after,.orderable-accordion__item-link:hover:before{background-color:#405763!important}.orderable-accordion__item-link:after,.orderable-accordion__item-link:before{position:absolute;right:5px;content:' ';height:11px;width:2px;background-color:#c7d4db;top:50%;display:block;margin:-4px 0 0}.orderable-accordion__item-link:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.orderable-accordion__item-link:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);right:12px}.orderable-accordion__item-link--active:before{right:12px}.orderable-accordion__item-link--active:after{right:5px}.orderable-accordion__item-content{display:none}.orderable-accordion__item-content--active{display:block}.orderable-accordion__item-content:after{content:"";display:table;clear:both}.orderable-sb-container{position:relative;overflow:hidden;padding-right:25px}.orderable-sb-content{height:100%;width:120%;padding-right:20%;overflow-y:scroll;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-sb-scrollbar-container{position:absolute;right:0;bottom:10px;top:10px;width:10px}.orderable-sb-container-noscroll .orderable-sb-scrollbar-container{right:-20px}.orderable-sb-scrollbar{position:absolute;right:0;height:30px;width:10px;border-radius:10px;background:#d6e0e5}.orderable-sb-scrollbar:hover{background:#c7d4db}.orderable--button-style-square .orderable-sb-scrollbar{border-radius:0}.orderable-sb-container-noscroll{padding-right:0}.orderable-sb-container-noscroll .orderable-sb-content{width:100%;padding-right:0;overflow:hidden}.orderable-quantity-roller{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-quantity-roller *{-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-quantity-roller__roller{border:2px solid #c7d4db;border-radius:20px;height:40px;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex}.orderable--button-style-square .orderable-quantity-roller__roller{border-radius:0}.orderable-quantity-roller__button{height:36px;width:24px;background:0 0;border:none;border-radius:0;text-align:center;color:#c7d4db;line-height:36px;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;padding:0 6px;-webkit-box-sizing:content-box;box-sizing:content-box;position:relative;font-size:0;text-indent:250%;overflow:hidden;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out}.orderable-quantity-roller__button:after,.orderable-quantity-roller__button:before{content:"";position:absolute;display:block!important;height:2px;width:12px;background:#c7d4db;top:50%;left:50%;margin:-1px 0 0 -6px;-webkit-transition:background 150ms ease-out;transition:background 150ms ease-out}.orderable-quantity-roller__button:focus,.orderable-quantity-roller__button:hover,.orderable-quantity-roller__button:visited{background-color:#c7d4db;color:#405763;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;outline:0}.orderable-quantity-roller__button:focus:after,.orderable-quantity-roller__button:focus:before,.orderable-quantity-roller__button:hover:after,.orderable-quantity-roller__button:hover:before,.orderable-quantity-roller__button:visited:after,.orderable-quantity-roller__button:visited:before{background:#405763}.orderable-quantity-roller__button--decrease{padding-right:4px}.orderable-quantity-roller__button--decrease:after{display:none!important}.orderable-quantity-roller__button--increase{padding-left:4px}.orderable-quantity-roller__button--increase:after{height:12px;width:2px;margin:-6px 0 0 -1px}.orderable-quantity-roller__quantity{text-align:center;display:inline-block;line-height:36px;padding:0 6px;min-width:24px;outline:0}.orderable-quantity-roller__price{margin-left:8px}.orderable-quantity-roller__price:before{content:"x";margin:0 8px;color:#c7d4db}.orderable-drawer__cart .orderable-quantity-roller{margin:12px 0 6px} -
orderable/tags/1.3.0/assets/frontend/js/main.js
r2666071 r2709284 3 3 "use strict"; 4 4 5 var orderable_accordion = { 6 /** 7 * On doc ready. 8 */ 9 on_ready: function() { 10 orderable_accordion.cache(); 11 orderable_accordion.watch(); 12 }, 13 14 /** 15 * Cache. 16 */ 17 cache: function() { 18 orderable_accordion.vars = { 19 classes: { 20 parent: 'orderable-accordion', 21 link: 'orderable-accordion__item-link', 22 content: 'orderable-accordion__item-content', 23 link_active: 'orderable-accordion__item-link--active', 24 content_active: 'orderable-accordion__item-content--active', 25 }, 26 }; 27 }, 28 29 /** 30 * Watch. 31 */ 32 watch: function() { 33 /** 34 * When click accordion link. 35 */ 36 $( document.body ).on( 'click', '.' + orderable_accordion.vars.classes.link, function( e ) { 37 e.preventDefault(); 38 39 var $link = $( this ), 40 $parent = $link.closest( '.' + orderable_accordion.vars.classes.parent ), 41 content_id = $link.attr( 'href' ), 42 $content = $( content_id ), 43 is_active = $link.hasClass( orderable_accordion.vars.classes.link_active ); 44 45 $parent.find( '.' + orderable_accordion.vars.classes.link ).removeClass( orderable_accordion.vars.classes.link_active ); 46 $parent.find( '.' + orderable_accordion.vars.classes.content ).removeClass( orderable_accordion.vars.classes.content_active ); 47 48 if ( ! is_active ) { 49 $link.addClass( orderable_accordion.vars.classes.link_active ); 50 $content.addClass( orderable_accordion.vars.classes.content_active ); 51 } 52 53 $( document.body ).trigger( 'orderable-accordion.toggled', { 54 'link': $link, 55 'content': $content 56 } ); 57 } ); 58 59 /** 60 * When drawer is opened. 61 */ 62 $( document.body ).on( 'orderable-scrollbar.created', function( e, args ) { 63 var $active_accordion = $( '.orderable-drawer .' + orderable_accordion.vars.classes.link_active ); 64 65 if ( $active_accordion.length <= 0 ) { 66 return; 67 } 68 69 var $scroll_content = args.content, 70 scroll_position = $scroll_content.scrollTop() - $scroll_content.offset().top + $active_accordion.offset().top; 71 72 $scroll_content.scrollTop( scroll_position ); 73 } ); 74 }, 75 }; 76 77 $( document ).ready( orderable_accordion.on_ready ); 78 }( jQuery, document )); 79 (function( $, document ) { 80 "use strict"; 81 5 82 var orderable_drawer = { 83 /** 84 * Delays invoking function 85 * 86 * @param {Function} func The function to debounce. 87 * @param {number} timeout The number of milliseconds to delay. 88 * @returns {Function} Returns the new debounced function. 89 */ 90 debounce: function (func, timeout = 700) { 91 let timer; 92 93 return (...args) => { 94 clearTimeout(timer); 95 timer = setTimeout(() => { func.apply(this, args); }, timeout); 96 }; 97 }, 98 99 /** 100 * Allow only number for events like keypress 101 * 102 * @param {Event} event 103 */ 104 allow_only_numbers: function (event) { 105 const value = String.fromCharCode(event.which); 106 107 if ( ! /^\d+$/.test(value) ) { 108 event.preventDefault(); 109 } 110 }, 111 112 /** 113 * Send a request to change the quantity. 114 * 115 * @param {Event} event 116 */ 117 on_change_quantity: function (event) { 118 const quantityElement = $(event.currentTarget); 119 120 const product_id = quantityElement.data( 'orderable-product-id' ); 121 const cart_item_key = quantityElement.data( 'orderable-cart-item-key' ); 122 const quantity = parseInt( quantityElement.text() ); 123 124 var data = { 125 'action': 'orderable_cart_quantity', 126 cart_item_key, 127 product_id, 128 quantity 129 }; 130 131 jQuery.post( 132 orderable_vars.ajax_url, 133 data, 134 function( response ) { 135 if ( ! response ) { 136 return; 137 } 138 139 $( document.body ).trigger( 'added_to_cart', [ response.fragments, response.cart_hash, quantityElement ] ); 140 $( document.body ).trigger( 'orderable-drawer.quantity-updated' ); 141 } 142 ); 143 }, 144 6 145 /** 7 146 * On doc ready. … … 10 149 orderable_drawer.cache(); 11 150 orderable_drawer.watch(); 151 152 /** 153 * Handle manually changing the quantity of a product. 154 */ 155 $( document.body ).on('keypress', '.orderable-quantity-roller__quantity', orderable_drawer.allow_only_numbers); 156 $( '.orderable-drawer__cart' ).on('input', '.orderable-quantity-roller__quantity', orderable_drawer.debounce(orderable_drawer.on_change_quantity)); 157 158 /** 159 * We turn off the click event for .add_to_cart_button elements 160 * to keep the AJAX behaviour only on Mini cart when the option 161 * "Enable AJAX add to cart buttons on archives" is disabled. 162 */ 163 if (orderable_vars && ! orderable_vars.woocommerce_enable_ajax_add_to_cart) { 164 $( document.body ).off('click', '.add_to_cart_button'); 165 } 12 166 }, 13 167 … … 138 292 139 293 jQuery.post( 140 wc_add_to_cart_params.ajax_url,294 orderable_vars.ajax_url, 141 295 data, 142 296 function( response ) { … … 158 312 "use strict"; 159 313 160 var orderable_layouts = {161 /**162 * On doc ready.163 */164 on_ready: function() {165 orderable_layouts.cache();166 orderable_layouts.watch();167 },168 169 /**170 * Cache.171 */172 cache: function() {173 orderable_layouts.vars = {174 classes: {175 main: 'orderable-main',176 tabs: 'orderable-tabs',177 tab_items: 'orderable-tabs__item',178 tab_item_active: 'orderable-tabs__item--active',179 tab_links: 'orderable-tabs__link',180 sections: 'orderable-main__group',181 },182 };183 184 orderable_layouts.elements = {};185 },186 187 /**188 * Watch.189 */190 watch: function() {191 $( document.body ).on( 'click mouseup touchend', '.' + orderable_layouts.vars.classes.tab_links, function( e ) {192 e.preventDefault();193 194 var $link = $( this ),195 section_id = $link.attr( 'href' ),196 $tab = $link.closest( '.' + orderable_layouts.vars.classes.tab_items ),197 $tabs = $link.closest( '.' + orderable_layouts.vars.classes.tabs ),198 $tab_items = $tabs.find( '.' + orderable_layouts.vars.classes.tab_items ),199 $main = $link.closest( '.' + orderable_layouts.vars.classes.main ),200 $sections = $main.find( '.' + orderable_layouts.vars.classes.sections ),201 $section = $main.find( section_id );202 203 $sections.hide();204 $section.show();205 206 $tab_items.removeClass( orderable_layouts.vars.classes.tab_item_active );207 $tab.addClass( orderable_layouts.vars.classes.tab_item_active );208 } );209 },210 };211 212 $( document ).ready( orderable_layouts.on_ready );213 }( jQuery, document ));214 (function( $, document ) {215 "use strict";216 217 314 var orderable_products = { 218 315 /** … … 230 327 orderable_products.vars = { 231 328 classes: { 232 clickable_product: 'orderable-product-- clickable',329 clickable_product: 'orderable-product--add-to-cart ', 233 330 add_to_order_button: 'orderable-product__add-to-order', 234 331 product_messages: 'orderable-product__messages', … … 252 349 $( document.body ).on( 'orderable-add-to-cart', orderable_products.click_add_to_order ); 253 350 $( document.body ).on( 'orderable-product-options', orderable_products.click_add_to_order ); 351 $( document.body ).on( 'orderable-view-product', orderable_products.view_product ); 254 352 $( document.body ).on( 'mouseenter mouseleave', '.' + orderable_products.vars.classes.clickable_product, orderable_products.simulate_add_to_order_hover ); 255 $( document.body ).on( 'click', '.' + orderable_products.vars.classes.clickable_product, orderable_products.click_add_to_order );256 353 }, 257 354 … … 311 408 orderable_products.get_product_options( 312 409 { 313 'product_id': product_id 410 'product_id': product_id, 411 'focus': $button.data( 'orderable-focus' ) 314 412 }, 315 413 function( response ) { … … 321 419 ); 322 420 } 421 }, 422 423 /** 424 * View product. 425 * 426 * @param event 427 * @param $element 428 */ 429 view_product: function( event, $element ) { 430 var product_id = $element.data( 'orderable-product-id' ), 431 args = { action: 'product-options' }; 432 433 orderable_products.get_product_options( 434 { 435 'product_id': product_id, 436 'focus': $element.data( 'orderable-focus' ) 437 }, 438 function( response ) { 439 args.html = response.html; 440 441 $( document.body ).trigger( 'orderable-drawer.open', args ); 442 } 443 ); 323 444 }, 324 445 … … 348 469 349 470 jQuery.post( 350 wc_add_to_cart_params.ajax_url,471 orderable_vars.ajax_url, 351 472 data, 352 473 function( response ) { … … 403 524 404 525 jQuery.post( 405 wc_add_to_cart_params.ajax_url,526 orderable_vars.ajax_url, 406 527 args, 407 528 function( response ) { … … 723 844 watch: function() { 724 845 $( document.body ).on( 'orderable-drawer.opened', orderable_scrollbar.trigger ); 846 $( document.body ).on( 'orderable-tabs.changed', orderable_scrollbar.trigger ); 847 $( document.body ).on( 'orderable-accordion.toggled', orderable_scrollbar.trigger ); 725 848 $( document.body ).on( 'wc_fragments_loaded', orderable_scrollbar.trigger ); 726 849 }, … … 753 876 } 754 877 } 878 879 $( document.body ).trigger( 'orderable-scrollbar.created', { 880 'element': $element, 881 'content': $content 882 } ); 755 883 } 756 884 } ); … … 824 952 825 953 jQuery.post( 826 wc_add_to_cart_params.ajax_url,954 orderable_vars.ajax_url, 827 955 data, 828 956 function( response ) { … … 849 977 850 978 $( document ).ready( orderable_services.on_ready ); 979 }( jQuery, document )); 980 (function( $, document ) { 981 "use strict"; 982 983 var orderable_tabs = { 984 /** 985 * On doc ready. 986 */ 987 on_ready: function() { 988 orderable_tabs.cache(); 989 orderable_tabs.watch(); 990 orderable_tabs.toggle_scroll(); 991 }, 992 993 /** 994 * On resize. 995 */ 996 on_resize: function() { 997 orderable_tabs.toggle_scroll(); 998 }, 999 1000 /** 1001 * Cache. 1002 */ 1003 cache: function() { 1004 orderable_tabs.vars = { 1005 classes: { 1006 tabs: 'orderable-tabs', 1007 tabs_list: 'orderable-tabs__list', 1008 tab_items: 'orderable-tabs__item', 1009 tab_item_active: 'orderable-tabs__item--active', 1010 tab_links: 'orderable-tabs__link', 1011 tab_arrow: 'orderable-tabs__arrow' 1012 }, 1013 dragging: false 1014 }; 1015 1016 orderable_tabs.elements = {}; 1017 }, 1018 1019 /** 1020 * Watch. 1021 */ 1022 watch: function() { 1023 $( 'body' ).on( 'touchstart', function() { 1024 orderable_tabs.vars.dragging = false; 1025 } ).on( 'touchmove', function() { 1026 orderable_tabs.vars.dragging = true; 1027 } ); 1028 1029 $( document.body ).on( 'click mouseup touchend', '.' + orderable_tabs.vars.classes.tab_links, function( e ) { 1030 if ( orderable_tabs.vars.dragging ) { 1031 return; 1032 } 1033 1034 e.preventDefault(); 1035 1036 var $link = $( this ), 1037 section_id = $link.attr( 'href' ), 1038 $tab = $link.closest( '.' + orderable_tabs.vars.classes.tab_items ), 1039 $tabs = $link.closest( '.' + orderable_tabs.vars.classes.tabs ), 1040 $tabs_list = $tabs.find( '.' + orderable_tabs.vars.classes.tabs_list ), 1041 $tab_items = $tabs.find( '.' + orderable_tabs.vars.classes.tab_items ), 1042 tabs_args = $tabs.data( 'orderable-tabs' ), 1043 $wrapper = $link.closest( tabs_args.wrapper ), 1044 $sections = $wrapper.find( tabs_args.sections ), 1045 $section = $wrapper.find( section_id ); 1046 1047 $sections.hide(); 1048 $section.show(); 1049 1050 $tab_items.removeClass( orderable_tabs.vars.classes.tab_item_active ); 1051 $tab.addClass( orderable_tabs.vars.classes.tab_item_active ); 1052 1053 $tabs_list.animate( { 1054 scrollLeft: $tabs_list.scrollLeft() + $tab.position().left 1055 } ); 1056 1057 $( document.body ).trigger( 'orderable-tabs.changed', { 1058 'tab': $tab 1059 } ); 1060 } ); 1061 1062 /** 1063 * Watch scroll position of tabs. 1064 */ 1065 $( '.' + orderable_tabs.vars.classes.tabs_list ).on( 'scroll', function( e ) { 1066 if ( $( this ).scrollLeft() > 0 ) { 1067 $( '.' + orderable_tabs.vars.classes.tab_arrow ).fadeOut(); 1068 } 1069 } ); 1070 1071 /** 1072 * Stop animated scroll if user manually scrolls. 1073 */ 1074 $( '.' + orderable_tabs.vars.classes.tabs_list ).on( "wheel DOMMouseScroll mousewheel touchmove", function() { 1075 $( this ).stop(); 1076 } ); 1077 1078 /** 1079 * Click tab arrow. 1080 */ 1081 $(document).on( 'click', '.' + orderable_tabs.vars.classes.tab_arrow, function( e ) { 1082 e.preventDefault(); 1083 1084 var $arrow = $( this ), 1085 $wrapper = $arrow.parent(), 1086 $list = $wrapper.find( '.' + orderable_tabs.vars.classes.tabs_list ); 1087 1088 $list.animate( { 1089 scrollLeft: $list.scrollLeft() + ( $wrapper.width() * 0.5 ) 1090 } ); 1091 1092 $arrow.fadeOut(); 1093 } ); 1094 }, 1095 1096 /** 1097 * Toggle scroll arrow. 1098 */ 1099 toggle_scroll: function() { 1100 $( '.' + orderable_tabs.vars.classes.tabs ).each( function( index, wrapper ){ 1101 var $tabs = $( this ), 1102 tabs_args = $tabs.data( 'orderable-tabs' ), 1103 $wrapper = $tabs.closest( tabs_args.wrapper ), 1104 $list = $wrapper.find( '.' + orderable_tabs.vars.classes.tabs_list ), 1105 $arrow = $wrapper.find( '.' + orderable_tabs.vars.classes.tab_arrow ), 1106 wrapper_width = $wrapper.outerWidth(), 1107 list_width = $list[0].scrollWidth; 1108 1109 if ( list_width > wrapper_width ) { 1110 $arrow.show(); 1111 } else { 1112 $arrow.hide(); 1113 } 1114 } ); 1115 } 1116 }; 1117 1118 $( document ).ready( orderable_tabs.on_ready ); 1119 $( window ).on( 'resize', orderable_tabs.on_resize ); 851 1120 }( jQuery, document )); 852 1121 var orderable_timings = {}; // Make this global so pro modules can access it. … … 1014 1283 * Fire trigger. 1015 1284 */ 1016 trigger: function() { 1285 trigger: function( e ) { 1286 // Prevent even bubbling up. 1287 e.stopImmediatePropagation(); 1288 1017 1289 var $trigger_element = $( this ), 1018 1290 trigger = $trigger_element.data( 'orderable-trigger' ); -
orderable/tags/1.3.0/assets/frontend/js/main.min.js
r2666071 r2709284 1 !function( n,i){"use strict";var r={on_ready:function(){r.cache(),r.watch()},cache:function(){r.vars={classes:{overlay:"orderable-drawer-overlay",drawer:"orderable-drawer",drawer_cart:"orderable-drawer__cart",drawer_html:"orderable-drawer__html",overlay_open:"orderable-drawer-overlay--open",drawer_open:"orderable-drawer--open",drawer_open_body:"orderable-drawer-open"}},r.elements={body:n("body"),overlay:n("."+r.vars.classes.overlay),drawer:n("."+r.vars.classes.drawer),drawer_cart:n("."+r.vars.classes.drawer_cart),drawer_html:n("."+r.vars.classes.drawer_html),floating_cart_button_class:".orderable-floating-cart__button"}},watch:function(){var e,t;void 0!==r.elements.drawer&&(n(i.body).on("orderable-drawer.open",r.open),n(i.body).on("orderable-drawer.close",r.close),n(i.body).on("click",r.elements.floating_cart_button_class,function(){n(i.body).trigger("orderable-drawer.open",{show_cart:!0})}),n(i.body).on("orderable-increase-quantity",r.cart.click_increase_decrease_quantity),n(i.body).on("orderable-decrease-quantity",r.cart.click_increase_decrease_quantity),e=i.querySelector("body:not( .rtl ) .orderable-drawer"),t=i.querySelector("body.rtl .orderable-drawer"),e&&e.addEventListener("swiped-right",function(e){r.close()}),t&&t.addEventListener("swiped-left",function(e){r.close()}))},open:function(e,t){t.html=t.html||!1,t.show_cart=t.show_cart||!1,r.elements.drawer_html.hide(),r.elements.drawer_cart.hide(),t.html&&(r.elements.drawer_html.html(t.html),r.elements.drawer_html.show()),t.show_cart&&(r.elements.drawer_html.html(""),r.elements.drawer_cart.show()),r.elements.overlay.addClass(r.vars.classes.overlay_open),r.elements.drawer.addClass(r.vars.classes.drawer_open),r.elements.body.addClass(r.vars.classes.drawer_open_body),n(i.body).trigger("orderable-drawer.opened",t)},close:function(){r.elements.overlay.removeClass(r.vars.classes.overlay_open),r.elements.drawer.removeClass(r.vars.classes.drawer_open),r.elements.body.removeClass(r.vars.classes.drawer_open_body),r.elements.drawer_html.html(""),n(i.body).trigger("orderable-drawer.closed")},cart:{click_increase_decrease_quantity:function(e,t){var r=t.data("orderable-product-id"),a=t.data("orderable-cart-item-key"),o=t.data("orderable-trigger"),s=parseInt(t.data("orderable-quantity"));jQuery.post(wc_add_to_cart_params.ajax_url,{action:"orderable_cart_quantity",cart_item_key:a,product_id:r,quantity:"increase-quantity"===o?s+1:s-1},function(e){e&&(n(i.body).trigger("added_to_cart",[e.fragments,e.cart_hash,t]),n(i.body).trigger("orderable-drawer.quantity-updated"))})}}};n(i).ready(r.on_ready)}(jQuery,document),function(s,e){"use strict";var n={on_ready:function(){n.cache(),n.watch()},cache:function(){n.vars={classes:{main:"orderable-main",tabs:"orderable-tabs",tab_items:"orderable-tabs__item",tab_item_active:"orderable-tabs__item--active",tab_links:"orderable-tabs__link",sections:"orderable-main__group"}},n.elements={}},watch:function(){s(e.body).on("click mouseup touchend","."+n.vars.classes.tab_links,function(e){e.preventDefault();var t=s(this),r=t.attr("href"),a=t.closest("."+n.vars.classes.tab_items),o=t.closest("."+n.vars.classes.tabs).find("."+n.vars.classes.tab_items),e=t.closest("."+n.vars.classes.main),t=e.find("."+n.vars.classes.sections),r=e.find(r);t.hide(),r.show(),o.removeClass(n.vars.classes.tab_item_active),a.addClass(n.vars.classes.tab_item_active)})}};s(e).ready(n.on_ready)}(jQuery,document),function(i,l){"use strict";var d={on_ready:function(){d.cache(),d.watch()},cache:function(){d.vars={classes:{clickable_product:"orderable-product--clickable",add_to_order_button:"orderable-product__add-to-order",product_messages:"orderable-product__messages",product_price:"orderable-product__actions-price",invalid_field:"orderable-field--invalid",option_select_td:"orderable-product__option-select",button_loading:"orderable-button--loading",out_of_stock:"orderable-button--out-of-stock"},parent_price:null},d.elements={}},watch:function(){i(l.body).on("orderable-drawer.opened",d.init_product_options),i(l.body).on("orderable-add-to-cart",d.click_add_to_order),i(l.body).on("orderable-product-options",d.click_add_to_order),i(l.body).on("mouseenter mouseleave","."+d.vars.classes.clickable_product,d.simulate_add_to_order_hover),i(l.body).on("click","."+d.vars.classes.clickable_product,d.click_add_to_order)},simulate_add_to_order_hover:function(e){i(this).find("."+d.vars.classes.add_to_order_button).toggleClass("orderable-button--hover","mouseenter"===e.type)},click_add_to_order:function(e,t){var r=(t=void 0!==t?t:i(this)).is("button")?t:t.find("."+d.vars.classes.add_to_order_button),a=r.data("orderable-trigger"),o=r.data("orderable-product-id"),s=r.data("orderable-variation-id"),t=r.data("orderable-variation-attributes"),n={action:a};r.hasClass(d.vars.classes.button_loading)||r.hasClass(d.vars.classes.out_of_stock)||(r.addClass(d.vars.classes.button_loading),"add-to-cart"===a?d.add_to_cart({product_id:o,variation_id:s,attributes:t},function(e){n.show_cart=!0,n.response=e,i(l.body).trigger("orderable-drawer.open",n),r.removeClass(d.vars.classes.button_loading)}):"product-options"===a&&d.get_product_options({product_id:o},function(e){n.html=e.html,i(l.body).trigger("orderable-drawer.open",n),r.removeClass(d.vars.classes.button_loading)}))},add_to_cart:function(e,t){var r;void 0!==e.product_id&&(r={action:"orderable_add_to_cart",product_id:e.product_id,variation_id:e.variation_id||!1,attributes:e.attributes||!1},i(".orderable-product-fields-group").length&&(e=jQuery(".orderable-product-fields-group :input").serializeArray(),e=d.convert_to_flat_object(e),jQuery.isEmptyObject(e)||(r=Object.assign(r,e))),jQuery.post(wc_add_to_cart_params.ajax_url,r,function(e){e&&(i(l.body).trigger("added_to_cart",[e.fragments,e.cart_hash]),"function"==typeof t&&t(e))}))},convert_to_flat_object:function(e){var a={};return e.forEach(function(e){var t="[]"===e.name.substr(-2)||Array.isArray(e.name),r=t?e.name.substr(0,e.name.length-2):e.name;t?(a[r]=void 0===a[r]?[]:a[r],a[r].push(e.value)):a[r]=e.value}),a},get_product_options:function(e,t){void 0!==e.product_id&&(e.action="orderable_get_product_options",jQuery.post(wc_add_to_cart_params.ajax_url,e,function(e){e.success&&"function"==typeof t&&t(e.data)}))},init_product_options:function(e,t){var r,a,o;void 0!==t.action&&"product-options"===t.action&&(r=i(t=".orderable-drawer .orderable-product__options input, .orderable-drawer .orderable-product__options select"),d.vars.parent_price=i(".orderable-drawer .orderable-product__actions-price").html(),d.product_options_change(r),d.update_button_state(),a=d.debounce(d.update_button_state,500),o=d.debounce(d.product_options_change,500),i(l).on("change keyup",t,function(){o(r),a()}))},product_options_change:function(e){var t=i(".orderable-drawer .orderable-product__add-to-order"),r=d.check_options(e),a=t.data("orderable-product-type");t.attr("data-orderable-trigger","add-to-cart"),i("."+d.vars.classes.product_messages).html(""),"variable"===a&&(r?(e=d.check_variation(e),d.set_variation(t,e)):d.clear_variation(t))},check_options:function(e){if(e.length<=0)return!1;var r=!0;return e.each(function(e,t){i(t).hasClass("orderable-input--validate")&&(""===i(t).val()?(i(t).addClass(d.vars.classes.invalid_field),r=!1):i(t).removeClass(d.vars.classes.invalid_field))}),r},check_variation:function(e){var t=e.closest(".orderable-drawer"),t=i.parseJSON(t.find(".orderable-product__variations").text()),e=d.serialize_object(e),t=d.find_matching_variations(t,e);if(d.is_empty(t))return!1;t=t.shift();return t.attributes=e,t.attributes_json=JSON.stringify(e),void 0!==t&&t},set_variation:function(e,t){var r=t.variation_id||"",a=t.attributes_json||"",o=t.price_html||d.vars.parent_price,s="";t&&""!==t.availability_html&&(s=t.availability_html),t&&!t.is_in_stock&&(s="<p>"+orderable_vars.i18n.out_of_stock+"</p>"),t&&!t.is_purchasable&&(s="<p>"+orderable_vars.i18n.unavailable+"</p>"),!1===t&&(s="<p>"+orderable_vars.i18n.no_exist+"</p>"),!t||t.is_purchasable&&t.is_in_stock||(a=r=""),""!==s&&i("."+d.vars.classes.product_messages).html(s),e.data("orderable-variation-id",r),e.data("orderable-variation-attributes",a),i(".orderable-drawer .orderable-product__actions-price").html(o),e.trigger("orderable_variation_set",{variation:t,variation_id:r,attributes:a,price:o})},clear_variation:function(e){d.set_variation(e,""),d.vars.parent_price&&i(".orderable-drawer .orderable-product__actions-price").html(d.vars.parent_price)},find_matching_variations:function(e,t){for(var r=[],a=0;a<e.length;a++){var o=e[a];d.is_matching_variation(o.attributes,t)&&r.push(o)}return r},is_matching_variation:function(e,t){var r,a,o,s=!0;for(r in e)e.hasOwnProperty(r)&&(a=e[r],o=t[r],void 0!==a&&void 0!==o&&0!==a.length&&0!==o.length&&a!==o&&(s=!1));return s},is_empty:function(e){return void 0===e||!1===e||e.length<=0||!e},serialize_object:function(e){for(var t=e.serializeArray(),r={},a=0;a<t.length;a++)r[t[a].name]=t[a].value;return r},update_button_state:function(){setTimeout(function(){var e=i(".orderable-drawer .orderable-product__add-to-order"),t=i(".orderable-drawer__html ."+d.vars.classes.invalid_field).length,r=!0;"variable"===e.data("orderable-product-type")&&(r=""!==e.data("orderable-variation-id")),e.prop("disabled",t||!r)},50)},debounce:function(a,o,s){var n;return function(){var e=this,t=arguments,r=s&&!n;clearTimeout(n),n=setTimeout(function(){n=null,s||a.apply(e,t)},o),r&&a.apply(e,t)}}};i(l).ready(d.on_ready)}(jQuery,document),function(a,e){"use strict";var o={on_ready:function(){o.cache(),o.watch()},cache:function(){o.vars={top:{}},o.elements={}},watch:function(){a(e.body).on("orderable-drawer.opened",o.trigger),a(e.body).on("wc_fragments_loaded",o.trigger)},trigger:function(){a(".orderable-sb-container").each(function(e,t){var r=a(t),t=r.data("orderable-scroll-id");o.has_scrollbar(r)||(r.scrollBox({containerClass:"orderable-sb-container",containerNoScrollClass:"orderable-sb-container-noscroll",contentClass:"orderable-sb-content",scrollbarContainerClass:"orderable-sb-scrollbar-container",scrollBarClass:"orderable-sb-scrollbar"}),0<(r=r.find(".orderable-sb-content")).length&&(r.on("scroll.scrollBox",o.log_top_position),void 0!==o.vars.top[t]&&r.scrollTop(o.vars.top[t])))}),a(window).trigger("resize.scrollBox")},has_scrollbar:function(e){return 0<e.find(".orderable-sb-content").length},log_top_position:function(e){var t=a(e.currentTarget).closest(".orderable-sb-container").data("orderable-scroll-id");o.vars.top[t]=a(e.currentTarget).scrollTop()}};a(e).ready(o.on_ready)}(jQuery,document),function(n,e){"use strict";var t={on_ready:function(){t.watch()},watch:function(){n(e.body).on("orderable-show-lookup-services",function(e,t){var r=t.closest(".orderable-services-selector").find(".orderable-services-selector__lookup");t.hide(),r.show()}),n(e.body).on("orderable-lookup-services",function(e,t){var r=t.closest(".orderable-services-selector"),a=r.find(".orderable-services-selector__lookup-message"),o=r.find(".orderable-services-selector__selected-change"),s=r.find(".orderable-services-selector__lookup-city").val(),r=r.find(".orderable-services-selector__lookup-postcode").val(),t=t.data("orderable-service");jQuery.post(wc_add_to_cart_params.ajax_url,{action:"orderable_lookup_service",postcode:r,city:s,service:t},function(e){e.success?(a.html(""),o.show(),void 0!==e.data.fragments&&n.each(e.data.fragments,function(e,t){n(e).html(t)}),console.log(e)):a.html("<p>"+e.data.message+"</p>")})})}};n(e).ready(t.on_ready)}(jQuery,document);var orderable_timings={};!function(i,a){"use strict";orderable_timings={on_ready:function(){orderable_timings.watch(),orderable_timings.set_date_and_time()},set_date_and_time:function(){var e,t=a.querySelector("#orderable-date"),r="";t&&(e=t.options[t.selectedIndex])&&!(r=e.value)&&t.options[t.selectedIndex+1]&&(t.options[t.selectedIndex+1].selected=!0,i(t).change()),"asap"!==r&&(t="",(r=a.querySelector("#orderable-time"))&&(t=r.options[r.selectedIndex])&&r.options[r.selectedIndex+1]&&(t.value||(r.options[r.selectedIndex+1].selected=!0,i(r).change())))},restore:function(){var e=orderable_timings.get_timings();e&&e.date&&(i(".orderable-order-timings__date").val(e.date),i(".orderable-order-timings__date").change(),e.time&&(i(".orderable-order-timings__time").val(e.time),i(".orderable-order-timings__time").change()))},watch:function(){i(a.body).on("wc_fragments_refreshed",function(){orderable_timings.restore(),orderable_timings.set_date_and_time()}),i(a.body).on("updated_checkout",function(){orderable_timings.restore(),orderable_timings.set_date_and_time()}),i(a.body).on("change",".orderable-order-timings__date",function(e){var t=i(this).find("option:selected").data("orderable-slots"),r=i(".orderable-order-timings--time"),a=i(".orderable-order-timings__time"),o=a.find("option").first(),s=a.find('option[value="asap"]').first(),n=orderable_timings.get_timings();if(n.date=i(".orderable-order-timings__date").val(),window.localStorage.setItem("orderable_timings",JSON.stringify(n)),a.html(o),s&&a.append(s),!t)return a.prop("disabled",!0),void r.hide();"all-day"===t[0].value?(r.hide(),a.prop("disabled",!0)):(a.prop("disabled",!1),r.show(),i.each(t,function(e,t){a.append(i("<option />").attr("value",t.value).text(t.formatted))}))}),i(a.body).on("change",".orderable-order-timings__time",function(e){var t=orderable_timings.get_timings();t.time=i(".orderable-order-timings__time").val(),window.localStorage.setItem("orderable_timings",JSON.stringify(t))})},get_timings:function(){return JSON.parse(window.localStorage.getItem("orderable_timings"))||{}}},i(a).ready(orderable_timings.on_ready)}(jQuery,document),function(r,a){"use strict";var e={on_ready:function(){e.watch()},watch:function(){r(a.body).on("click","[data-orderable-trigger]",e.trigger)},trigger:function(){var e=r(this),t=e.data("orderable-trigger");r(a.body).trigger("orderable-"+t,[e])}};r(a).ready(e.on_ready)}(jQuery,document),function(o,e,s){"use strict";var n="scrollBox",r={containerClass:"sb-container",containerNoScrollClass:"sb-container-noscroll",contentClass:"sb-content",scrollbarContainerClass:"sb-scrollbar-container",scrollBarClass:"sb-scrollbar"};function t(e,t){this.element=e,this.settings=o.extend({},r,t),this._defaults=r,this._name=n,this.init()}o.extend(t.prototype,{init:function(){this.addScrollbar(),this.addEvents(),this.onResize()},addScrollbar:function(){o(this.element).addClass(this.settings.containerClass),this.wrapper=o("<div class='"+this.settings.contentClass+"' />"),this.wrapper.append(o(this.element).contents()),o(this.element).append(this.wrapper),this.scollbarContainer=o("<div class='"+this.settings.scrollbarContainerClass+"' />"),this.scrollBar=o("<div class='"+this.settings.scrollBarClass+"' />"),this.scollbarContainer.append(this.scrollBar),o(this.element).prepend(this.scollbarContainer)},addEvents:function(){this.wrapper.on("scroll."+n,o.proxy(this.onScroll,this)),o(e).on("resize."+n,o.proxy(this.onResize,this)),this.scrollBar.on("mousedown."+n,o.proxy(this.onMousedown,this)),this.scrollBar.on("touchstart."+n,o.proxy(this.onTouchstart,this))},onTouchstart:function(t){var r=this;t.preventDefault();var a=r.scrollBar[0].offsetTop;o(s).on("touchmove."+n,function(e){e=e.touches[0].pageY-t.touches[0].pageY;r.scrollBar[0].style.top=Math.min(r.scollbarContainer[0].clientHeight-r.scrollBar[0].clientHeight,Math.max(0,a+e))+"px",r.wrapper[0].scrollTop=r.wrapper[0].scrollHeight*r.scrollBar[0].offsetTop/r.scollbarContainer[0].clientHeight}),o(s).on("touchend."+n,function(){o(s).off("touchmove."+n),o(s).off("touchend."+n)})},onMousedown:function(t){var r=this;t.preventDefault();var a=r.scrollBar[0].offsetTop;o(s).on("mousemove."+n,function(e){e=e.pageY-t.pageY;r.scrollBar[0].style.top=Math.min(r.scollbarContainer[0].clientHeight-r.scrollBar[0].clientHeight,Math.max(0,a+e))+"px",r.wrapper[0].scrollTop=r.wrapper[0].scrollHeight*r.scrollBar[0].offsetTop/r.scollbarContainer[0].clientHeight}),o(s).on("mouseup."+n,function(){o(s).off("mousemove."+n),o(s).off("mouseup."+n)})},onResize:function(){this.wrapper.css("max-height",o(this.element).height());var e=this.wrapper[0].clientHeight;this.scrollBar.css("height",this.scollbarContainer[0].clientHeight*e/this.wrapper[0].scrollHeight+"px"),this.scollbarContainer[0].clientHeight<=this.scrollBar[0].clientHeight?o(this.element).addClass(this.settings.containerNoScrollClass):o(this.element).removeClass(this.settings.containerNoScrollClass),this.onScroll()},onScroll:function(){this.scrollBar.css("top",Math.min(this.scollbarContainer[0].clientHeight-this.scrollBar[0].clientHeight,this.scollbarContainer[0].clientHeight*this.wrapper[0].scrollTop/this.wrapper[0].scrollHeight)+"px")}}),o.fn[n]=function(e){return this.each(function(){o.data(this,"plugin_"+n)||o.data(this,"plugin_"+n,new t(this,e))})}}(jQuery,window,document),function(e,o){"use strict";"function"!=typeof e.CustomEvent&&(e.CustomEvent=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var r=o.createEvent("CustomEvent");return r.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),r},e.CustomEvent.prototype=e.Event.prototype),o.addEventListener("touchstart",function(e){"true"!==e.target.getAttribute("data-swipe-ignore")&&(c=e.target,d=Date.now(),s=e.touches[0].clientX,n=e.touches[0].clientY,l=i=0)},!1),o.addEventListener("touchmove",function(e){var t;s&&n&&(t=e.touches[0].clientX,e=e.touches[0].clientY,i=s-t,l=n-e)},!1),o.addEventListener("touchend",function(e){var t,r,a,o;c===e.target&&(t=parseInt(_(c,"data-swipe-threshold","20"),10),r=parseInt(_(c,"data-swipe-timeout","500"),10),a=Date.now()-d,o="",e=e.changedTouches||e.touches||[],Math.abs(i)>Math.abs(l)?Math.abs(i)>t&&a<r&&(o=0<i?"swiped-left":"swiped-right"):Math.abs(l)>t&&a<r&&(o=0<l?"swiped-up":"swiped-down"),""!==o&&(e={dir:o.replace(/swiped-/,""),touchType:(e[0]||{}).touchType||"direct",xStart:parseInt(s,10),xEnd:parseInt((e[0]||{}).clientX||-1,10),yStart:parseInt(n,10),yEnd:parseInt((e[0]||{}).clientY||-1,10)},c.dispatchEvent(new CustomEvent("swiped",{bubbles:!0,cancelable:!0,detail:e})),c.dispatchEvent(new CustomEvent(o,{bubbles:!0,cancelable:!0,detail:e}))),d=n=s=null)},!1);var s=null,n=null,i=null,l=null,d=null,c=null;function _(e,t,r){for(;e&&e!==o.documentElement;){var a=e.getAttribute(t);if(a)return a;e=e.parentNode}return r}}(window,document);1 !function(o,s){"use strict";var n={on_ready:function(){n.cache(),n.watch()},cache:function(){n.vars={classes:{parent:"orderable-accordion",link:"orderable-accordion__item-link",content:"orderable-accordion__item-content",link_active:"orderable-accordion__item-link--active",content_active:"orderable-accordion__item-content--active"}}},watch:function(){o(s.body).on("click","."+n.vars.classes.link,function(e){e.preventDefault();var e=o(this),r=e.closest("."+n.vars.classes.parent),t=e.attr("href"),t=o(t),a=e.hasClass(n.vars.classes.link_active);r.find("."+n.vars.classes.link).removeClass(n.vars.classes.link_active),r.find("."+n.vars.classes.content).removeClass(n.vars.classes.content_active),a||(e.addClass(n.vars.classes.link_active),t.addClass(n.vars.classes.content_active)),o(s.body).trigger("orderable-accordion.toggled",{link:e,content:t})}),o(s.body).on("orderable-scrollbar.created",function(e,r){var t=o(".orderable-drawer ."+n.vars.classes.link_active);t.length<=0||(t=(r=r.content).scrollTop()-r.offset().top+t.offset().top,r.scrollTop(t))})}};o(s).ready(n.on_ready)}(jQuery,document),function(n,i){"use strict";var t={debounce:function(r,t=700){let a;return(...e)=>{clearTimeout(a),a=setTimeout(()=>{r.apply(this,e)},t)}},allow_only_numbers:function(e){var r=String.fromCharCode(e.which);/^\d+$/.test(r)||e.preventDefault()},on_change_quantity:function(e){const r=n(e.currentTarget);var e=r.data("orderable-product-id"),t=r.data("orderable-cart-item-key"),a=parseInt(r.text());jQuery.post(orderable_vars.ajax_url,{action:"orderable_cart_quantity",cart_item_key:t,product_id:e,quantity:a},function(e){e&&(n(i.body).trigger("added_to_cart",[e.fragments,e.cart_hash,r]),n(i.body).trigger("orderable-drawer.quantity-updated"))})},on_ready:function(){t.cache(),t.watch(),n(i.body).on("keypress",".orderable-quantity-roller__quantity",t.allow_only_numbers),n(".orderable-drawer__cart").on("input",".orderable-quantity-roller__quantity",t.debounce(t.on_change_quantity)),orderable_vars&&!orderable_vars.woocommerce_enable_ajax_add_to_cart&&n(i.body).off("click",".add_to_cart_button")},cache:function(){t.vars={classes:{overlay:"orderable-drawer-overlay",drawer:"orderable-drawer",drawer_cart:"orderable-drawer__cart",drawer_html:"orderable-drawer__html",overlay_open:"orderable-drawer-overlay--open",drawer_open:"orderable-drawer--open",drawer_open_body:"orderable-drawer-open"}},t.elements={body:n("body"),overlay:n("."+t.vars.classes.overlay),drawer:n("."+t.vars.classes.drawer),drawer_cart:n("."+t.vars.classes.drawer_cart),drawer_html:n("."+t.vars.classes.drawer_html),floating_cart_button_class:".orderable-floating-cart__button"}},watch:function(){var e,r;void 0!==t.elements.drawer&&(n(i.body).on("orderable-drawer.open",t.open),n(i.body).on("orderable-drawer.close",t.close),n(i.body).on("click",t.elements.floating_cart_button_class,function(){n(i.body).trigger("orderable-drawer.open",{show_cart:!0})}),n(i.body).on("orderable-increase-quantity",t.cart.click_increase_decrease_quantity),n(i.body).on("orderable-decrease-quantity",t.cart.click_increase_decrease_quantity),e=i.querySelector("body:not( .rtl ) .orderable-drawer"),r=i.querySelector("body.rtl .orderable-drawer"),e&&e.addEventListener("swiped-right",function(e){t.close()}),r&&r.addEventListener("swiped-left",function(e){t.close()}))},open:function(e,r){r.html=r.html||!1,r.show_cart=r.show_cart||!1,t.elements.drawer_html.hide(),t.elements.drawer_cart.hide(),r.html&&(t.elements.drawer_html.html(r.html),t.elements.drawer_html.show()),r.show_cart&&(t.elements.drawer_html.html(""),t.elements.drawer_cart.show()),t.elements.overlay.addClass(t.vars.classes.overlay_open),t.elements.drawer.addClass(t.vars.classes.drawer_open),t.elements.body.addClass(t.vars.classes.drawer_open_body),n(i.body).trigger("orderable-drawer.opened",r)},close:function(){t.elements.overlay.removeClass(t.vars.classes.overlay_open),t.elements.drawer.removeClass(t.vars.classes.drawer_open),t.elements.body.removeClass(t.vars.classes.drawer_open_body),t.elements.drawer_html.html(""),n(i.body).trigger("orderable-drawer.closed")},cart:{click_increase_decrease_quantity:function(e,r){var t=r.data("orderable-product-id"),a=r.data("orderable-cart-item-key"),o=r.data("orderable-trigger"),s=parseInt(r.data("orderable-quantity"));jQuery.post(orderable_vars.ajax_url,{action:"orderable_cart_quantity",cart_item_key:a,product_id:t,quantity:"increase-quantity"===o?s+1:s-1},function(e){e&&(n(i.body).trigger("added_to_cart",[e.fragments,e.cart_hash,r]),n(i.body).trigger("orderable-drawer.quantity-updated"))})}}};n(i).ready(t.on_ready)}(jQuery,document),function(i,l){"use strict";var d={on_ready:function(){d.cache(),d.watch()},cache:function(){d.vars={classes:{clickable_product:"orderable-product--add-to-cart ",add_to_order_button:"orderable-product__add-to-order",product_messages:"orderable-product__messages",product_price:"orderable-product__actions-price",invalid_field:"orderable-field--invalid",option_select_td:"orderable-product__option-select",button_loading:"orderable-button--loading",out_of_stock:"orderable-button--out-of-stock"},parent_price:null},d.elements={}},watch:function(){i(l.body).on("orderable-drawer.opened",d.init_product_options),i(l.body).on("orderable-add-to-cart",d.click_add_to_order),i(l.body).on("orderable-product-options",d.click_add_to_order),i(l.body).on("orderable-view-product",d.view_product),i(l.body).on("mouseenter mouseleave","."+d.vars.classes.clickable_product,d.simulate_add_to_order_hover)},simulate_add_to_order_hover:function(e){i(this).find("."+d.vars.classes.add_to_order_button).toggleClass("orderable-button--hover","mouseenter"===e.type)},click_add_to_order:function(e,r){var t=(r=void 0!==r?r:i(this)).is("button")?r:r.find("."+d.vars.classes.add_to_order_button),r=t.data("orderable-trigger"),a=t.data("orderable-product-id"),o=t.data("orderable-variation-id"),s=t.data("orderable-variation-attributes"),n={action:r};t.hasClass(d.vars.classes.button_loading)||t.hasClass(d.vars.classes.out_of_stock)||(t.addClass(d.vars.classes.button_loading),"add-to-cart"===r?d.add_to_cart({product_id:a,variation_id:o,attributes:s},function(e){n.show_cart=!0,n.response=e,i(l.body).trigger("orderable-drawer.open",n),t.removeClass(d.vars.classes.button_loading)}):"product-options"===r&&d.get_product_options({product_id:a,focus:t.data("orderable-focus")},function(e){n.html=e.html,i(l.body).trigger("orderable-drawer.open",n),t.removeClass(d.vars.classes.button_loading)}))},view_product:function(e,r){var t=r.data("orderable-product-id"),a={action:"product-options"};d.get_product_options({product_id:t,focus:r.data("orderable-focus")},function(e){a.html=e.html,i(l.body).trigger("orderable-drawer.open",a)})},add_to_cart:function(e,r){var t;void 0!==e.product_id&&(e={action:"orderable_add_to_cart",product_id:e.product_id,variation_id:e.variation_id||!1,attributes:e.attributes||!1},i(".orderable-product-fields-group").length&&(t=jQuery(".orderable-product-fields-group :input").serializeArray(),t=d.convert_to_flat_object(t),jQuery.isEmptyObject(t)||(e=Object.assign(e,t))),jQuery.post(orderable_vars.ajax_url,e,function(e){e&&(i(l.body).trigger("added_to_cart",[e.fragments,e.cart_hash]),"function"==typeof r&&r(e))}))},convert_to_flat_object:function(e){var a={};return e.forEach(function(e){var r="[]"===e.name.substr(-2)||Array.isArray(e.name),t=r?e.name.substr(0,e.name.length-2):e.name;r?(a[t]=void 0===a[t]?[]:a[t],a[t].push(e.value)):a[t]=e.value}),a},get_product_options:function(e,r){void 0!==e.product_id&&(e.action="orderable_get_product_options",jQuery.post(orderable_vars.ajax_url,e,function(e){e.success&&"function"==typeof r&&r(e.data)}))},init_product_options:function(e,r){var t,a,o;void 0!==r.action&&"product-options"===r.action&&(t=i(r=".orderable-drawer .orderable-product__options input, .orderable-drawer .orderable-product__options select"),d.vars.parent_price=i(".orderable-drawer .orderable-product__actions-price").html(),d.product_options_change(t),d.update_button_state(),a=d.debounce(d.update_button_state,500),o=d.debounce(d.product_options_change,500),i(l).on("change keyup",r,function(){o(t),a()}))},product_options_change:function(e){var r=i(".orderable-drawer .orderable-product__add-to-order"),t=d.check_options(e),a=r.data("orderable-product-type");r.attr("data-orderable-trigger","add-to-cart"),i("."+d.vars.classes.product_messages).html(""),"variable"===a&&(t?(a=d.check_variation(e),d.set_variation(r,a)):d.clear_variation(r))},check_options:function(e){if(e.length<=0)return!1;var t=!0;return e.each(function(e,r){i(r).hasClass("orderable-input--validate")&&(""===i(r).val()?(i(r).addClass(d.vars.classes.invalid_field),t=!1):i(r).removeClass(d.vars.classes.invalid_field))}),t},check_variation:function(e){var r=e.closest(".orderable-drawer"),r=i.parseJSON(r.find(".orderable-product__variations").text()),e=d.serialize_object(e),r=d.find_matching_variations(r,e);if(d.is_empty(r))return!1;r=r.shift();return r.attributes=e,r.attributes_json=JSON.stringify(e),void 0!==r&&r},set_variation:function(e,r){var t=r.variation_id||"",a=r.attributes_json||"",o=r.price_html||d.vars.parent_price,s="";r&&""!==r.availability_html&&(s=r.availability_html),r&&!r.is_in_stock&&(s="<p>"+orderable_vars.i18n.out_of_stock+"</p>"),r&&!r.is_purchasable&&(s="<p>"+orderable_vars.i18n.unavailable+"</p>"),!1===r&&(s="<p>"+orderable_vars.i18n.no_exist+"</p>"),!r||r.is_purchasable&&r.is_in_stock||(a=t=""),""!==s&&i("."+d.vars.classes.product_messages).html(s),e.data("orderable-variation-id",t),e.data("orderable-variation-attributes",a),i(".orderable-drawer .orderable-product__actions-price").html(o),e.trigger("orderable_variation_set",{variation:r,variation_id:t,attributes:a,price:o})},clear_variation:function(e){d.set_variation(e,""),d.vars.parent_price&&i(".orderable-drawer .orderable-product__actions-price").html(d.vars.parent_price)},find_matching_variations:function(e,r){for(var t=[],a=0;a<e.length;a++){var o=e[a];d.is_matching_variation(o.attributes,r)&&t.push(o)}return t},is_matching_variation:function(e,r){var t,a,o,s=!0;for(t in e)e.hasOwnProperty(t)&&(a=e[t],o=r[t],void 0!==a&&void 0!==o&&0!==a.length&&0!==o.length&&a!==o&&(s=!1));return s},is_empty:function(e){return void 0===e||!1===e||e.length<=0||!e},serialize_object:function(e){for(var r=e.serializeArray(),t={},a=0;a<r.length;a++)t[r[a].name]=r[a].value;return t},update_button_state:function(){setTimeout(function(){var e=i(".orderable-drawer .orderable-product__add-to-order"),r=i(".orderable-drawer__html ."+d.vars.classes.invalid_field).length,t=!0;"variable"===e.data("orderable-product-type")&&(t=""!==e.data("orderable-variation-id")),e.prop("disabled",r||!t)},50)},debounce:function(a,o,s){var n;return function(){var e=this,r=arguments,t=s&&!n;clearTimeout(n),n=setTimeout(function(){n=null,s||a.apply(e,r)},o),t&&a.apply(e,r)}}};i(l).ready(d.on_ready)}(jQuery,document),function(o,s){"use strict";var n={on_ready:function(){n.cache(),n.watch()},cache:function(){n.vars={top:{}},n.elements={}},watch:function(){o(s.body).on("orderable-drawer.opened",n.trigger),o(s.body).on("orderable-tabs.changed",n.trigger),o(s.body).on("orderable-accordion.toggled",n.trigger),o(s.body).on("wc_fragments_loaded",n.trigger)},trigger:function(){o(".orderable-sb-container").each(function(e,r){var t,r=o(r),a=r.data("orderable-scroll-id");n.has_scrollbar(r)||(r.scrollBox({containerClass:"orderable-sb-container",containerNoScrollClass:"orderable-sb-container-noscroll",contentClass:"orderable-sb-content",scrollbarContainerClass:"orderable-sb-scrollbar-container",scrollBarClass:"orderable-sb-scrollbar"}),0<(t=r.find(".orderable-sb-content")).length&&(t.on("scroll.scrollBox",n.log_top_position),void 0!==n.vars.top[a]&&t.scrollTop(n.vars.top[a])),o(s.body).trigger("orderable-scrollbar.created",{element:r,content:t}))}),o(window).trigger("resize.scrollBox")},has_scrollbar:function(e){return 0<e.find(".orderable-sb-content").length},log_top_position:function(e){var r=o(e.currentTarget).closest(".orderable-sb-container").data("orderable-scroll-id");n.vars.top[r]=o(e.currentTarget).scrollTop()}};o(s).ready(n.on_ready)}(jQuery,document),function(n,e){"use strict";var r={on_ready:function(){r.watch()},watch:function(){n(e.body).on("orderable-show-lookup-services",function(e,r){var t=r.closest(".orderable-services-selector").find(".orderable-services-selector__lookup");r.hide(),t.show()}),n(e.body).on("orderable-lookup-services",function(e,r){var t=r.closest(".orderable-services-selector"),a=t.find(".orderable-services-selector__lookup-message"),o=t.find(".orderable-services-selector__selected-change"),s=t.find(".orderable-services-selector__lookup-city").val(),t=t.find(".orderable-services-selector__lookup-postcode").val(),r=r.data("orderable-service");jQuery.post(orderable_vars.ajax_url,{action:"orderable_lookup_service",postcode:t,city:s,service:r},function(e){e.success?(a.html(""),o.show(),void 0!==e.data.fragments&&n.each(e.data.fragments,function(e,r){n(e).html(r)}),console.log(e)):a.html("<p>"+e.data.message+"</p>")})})}};n(e).ready(r.on_ready)}(jQuery,document),function(n,i){"use strict";var l={on_ready:function(){l.cache(),l.watch(),l.toggle_scroll()},on_resize:function(){l.toggle_scroll()},cache:function(){l.vars={classes:{tabs:"orderable-tabs",tabs_list:"orderable-tabs__list",tab_items:"orderable-tabs__item",tab_item_active:"orderable-tabs__item--active",tab_links:"orderable-tabs__link",tab_arrow:"orderable-tabs__arrow"},dragging:!1},l.elements={}},watch:function(){n("body").on("touchstart",function(){l.vars.dragging=!1}).on("touchmove",function(){l.vars.dragging=!0}),n(i.body).on("click mouseup touchend","."+l.vars.classes.tab_links,function(e){var r,t,a,o,s;l.vars.dragging||(e.preventDefault(),r=(e=n(this)).attr("href"),t=e.closest("."+l.vars.classes.tab_items),a=(s=e.closest("."+l.vars.classes.tabs)).find("."+l.vars.classes.tabs_list),o=s.find("."+l.vars.classes.tab_items),s=s.data("orderable-tabs"),s=(e=e.closest(s.wrapper)).find(s.sections),e=e.find(r),s.hide(),e.show(),o.removeClass(l.vars.classes.tab_item_active),t.addClass(l.vars.classes.tab_item_active),a.animate({scrollLeft:a.scrollLeft()+t.position().left}),n(i.body).trigger("orderable-tabs.changed",{tab:t}))}),n("."+l.vars.classes.tabs_list).on("scroll",function(e){0<n(this).scrollLeft()&&n("."+l.vars.classes.tab_arrow).fadeOut()}),n("."+l.vars.classes.tabs_list).on("wheel DOMMouseScroll mousewheel touchmove",function(){n(this).stop()}),n(i).on("click","."+l.vars.classes.tab_arrow,function(e){e.preventDefault();var e=n(this),r=e.parent(),t=r.find("."+l.vars.classes.tabs_list);t.animate({scrollLeft:t.scrollLeft()+.5*r.width()}),e.fadeOut()})},toggle_scroll:function(){n("."+l.vars.classes.tabs).each(function(e,r){var t=n(this),a=t.data("orderable-tabs"),t=t.closest(a.wrapper),a=t.find("."+l.vars.classes.tabs_list),o=t.find("."+l.vars.classes.tab_arrow);t.outerWidth()<a[0].scrollWidth?o.show():o.hide()})}};n(i).ready(l.on_ready),n(window).on("resize",l.on_resize)}(jQuery,document);var orderable_timings={};!function(i,a){"use strict";orderable_timings={on_ready:function(){orderable_timings.watch(),orderable_timings.set_date_and_time()},set_date_and_time:function(){var e,r=a.querySelector("#orderable-date"),t="";r&&(e=r.options[r.selectedIndex])&&!(t=e.value)&&r.options[r.selectedIndex+1]&&(r.options[r.selectedIndex+1].selected=!0,i(r).change()),"asap"!==t&&(e="",(r=a.querySelector("#orderable-time"))&&(e=r.options[r.selectedIndex])&&r.options[r.selectedIndex+1]&&(e.value||(r.options[r.selectedIndex+1].selected=!0,i(r).change())))},restore:function(){var e=orderable_timings.get_timings();e&&e.date&&(i(".orderable-order-timings__date").val(e.date),i(".orderable-order-timings__date").change(),e.time&&(i(".orderable-order-timings__time").val(e.time),i(".orderable-order-timings__time").change()))},watch:function(){i(a.body).on("wc_fragments_refreshed",function(){orderable_timings.restore(),orderable_timings.set_date_and_time()}),i(a.body).on("updated_checkout",function(){orderable_timings.restore(),orderable_timings.set_date_and_time()}),i(a.body).on("change",".orderable-order-timings__date",function(e){var r=i(this).find("option:selected").data("orderable-slots"),t=i(".orderable-order-timings--time"),a=i(".orderable-order-timings__time"),o=a.find("option").first(),s=a.find('option[value="asap"]').first(),n=orderable_timings.get_timings();if(n.date=i(".orderable-order-timings__date").val(),window.localStorage.setItem("orderable_timings",JSON.stringify(n)),a.html(o),s&&a.append(s),!r)return a.prop("disabled",!0),void t.hide();"all-day"===r[0].value?(t.hide(),a.prop("disabled",!0)):(a.prop("disabled",!1),t.show(),i.each(r,function(e,r){a.append(i("<option />").attr("value",r.value).text(r.formatted))}))}),i(a.body).on("change",".orderable-order-timings__time",function(e){var r=orderable_timings.get_timings();r.time=i(".orderable-order-timings__time").val(),window.localStorage.setItem("orderable_timings",JSON.stringify(r))})},get_timings:function(){return JSON.parse(window.localStorage.getItem("orderable_timings"))||{}}},i(a).ready(orderable_timings.on_ready)}(jQuery,document),function(t,a){"use strict";var e={on_ready:function(){e.watch()},watch:function(){t(a.body).on("click","[data-orderable-trigger]",e.trigger)},trigger:function(e){e.stopImmediatePropagation();var e=t(this),r=e.data("orderable-trigger");t(a.body).trigger("orderable-"+r,[e])}};t(a).ready(e.on_ready)}(jQuery,document),function(o,e,s){"use strict";var n="scrollBox",t={containerClass:"sb-container",containerNoScrollClass:"sb-container-noscroll",contentClass:"sb-content",scrollbarContainerClass:"sb-scrollbar-container",scrollBarClass:"sb-scrollbar"};function r(e,r){this.element=e,this.settings=o.extend({},t,r),this._defaults=t,this._name=n,this.init()}o.extend(r.prototype,{init:function(){this.addScrollbar(),this.addEvents(),this.onResize()},addScrollbar:function(){o(this.element).addClass(this.settings.containerClass),this.wrapper=o("<div class='"+this.settings.contentClass+"' />"),this.wrapper.append(o(this.element).contents()),o(this.element).append(this.wrapper),this.scollbarContainer=o("<div class='"+this.settings.scrollbarContainerClass+"' />"),this.scrollBar=o("<div class='"+this.settings.scrollBarClass+"' />"),this.scollbarContainer.append(this.scrollBar),o(this.element).prepend(this.scollbarContainer)},addEvents:function(){this.wrapper.on("scroll."+n,o.proxy(this.onScroll,this)),o(e).on("resize."+n,o.proxy(this.onResize,this)),this.scrollBar.on("mousedown."+n,o.proxy(this.onMousedown,this)),this.scrollBar.on("touchstart."+n,o.proxy(this.onTouchstart,this))},onTouchstart:function(r){var t=this,a=(r.preventDefault(),t.scrollBar[0].offsetTop);o(s).on("touchmove."+n,function(e){e=e.touches[0].pageY-r.touches[0].pageY;t.scrollBar[0].style.top=Math.min(t.scollbarContainer[0].clientHeight-t.scrollBar[0].clientHeight,Math.max(0,a+e))+"px",t.wrapper[0].scrollTop=t.wrapper[0].scrollHeight*t.scrollBar[0].offsetTop/t.scollbarContainer[0].clientHeight}),o(s).on("touchend."+n,function(){o(s).off("touchmove."+n),o(s).off("touchend."+n)})},onMousedown:function(r){var t=this,a=(r.preventDefault(),t.scrollBar[0].offsetTop);o(s).on("mousemove."+n,function(e){e=e.pageY-r.pageY;t.scrollBar[0].style.top=Math.min(t.scollbarContainer[0].clientHeight-t.scrollBar[0].clientHeight,Math.max(0,a+e))+"px",t.wrapper[0].scrollTop=t.wrapper[0].scrollHeight*t.scrollBar[0].offsetTop/t.scollbarContainer[0].clientHeight}),o(s).on("mouseup."+n,function(){o(s).off("mousemove."+n),o(s).off("mouseup."+n)})},onResize:function(){this.wrapper.css("max-height",o(this.element).height());var e=this.wrapper[0].clientHeight;this.scrollBar.css("height",this.scollbarContainer[0].clientHeight*e/this.wrapper[0].scrollHeight+"px"),this.scollbarContainer[0].clientHeight<=this.scrollBar[0].clientHeight?o(this.element).addClass(this.settings.containerNoScrollClass):o(this.element).removeClass(this.settings.containerNoScrollClass),this.onScroll()},onScroll:function(){this.scrollBar.css("top",Math.min(this.scollbarContainer[0].clientHeight-this.scrollBar[0].clientHeight,this.scollbarContainer[0].clientHeight*this.wrapper[0].scrollTop/this.wrapper[0].scrollHeight)+"px")}}),o.fn[n]=function(e){return this.each(function(){o.data(this,"plugin_"+n)||o.data(this,"plugin_"+n,new r(this,e))})}}(jQuery,window,document),function(e,o){"use strict";"function"!=typeof e.CustomEvent&&(e.CustomEvent=function(e,r){r=r||{bubbles:!1,cancelable:!1,detail:void 0};var t=o.createEvent("CustomEvent");return t.initCustomEvent(e,r.bubbles,r.cancelable,r.detail),t},e.CustomEvent.prototype=e.Event.prototype),o.addEventListener("touchstart",function(e){"true"!==e.target.getAttribute("data-swipe-ignore")&&(c=e.target,d=Date.now(),s=e.touches[0].clientX,n=e.touches[0].clientY,l=i=0)},!1),o.addEventListener("touchmove",function(e){var r;s&&n&&(r=e.touches[0].clientX,e=e.touches[0].clientY,i=s-r,l=n-e)},!1),o.addEventListener("touchend",function(e){var r,t,a,o;c===e.target&&(o=parseInt(u(c,"data-swipe-threshold","20"),10),r=parseInt(u(c,"data-swipe-timeout","500"),10),t=Date.now()-d,a="",e=e.changedTouches||e.touches||[],Math.abs(i)>Math.abs(l)?Math.abs(i)>o&&t<r&&(a=0<i?"swiped-left":"swiped-right"):Math.abs(l)>o&&t<r&&(a=0<l?"swiped-up":"swiped-down"),""!==a&&(o={dir:a.replace(/swiped-/,""),touchType:(e[0]||{}).touchType||"direct",xStart:parseInt(s,10),xEnd:parseInt((e[0]||{}).clientX||-1,10),yStart:parseInt(n,10),yEnd:parseInt((e[0]||{}).clientY||-1,10)},c.dispatchEvent(new CustomEvent("swiped",{bubbles:!0,cancelable:!0,detail:o})),c.dispatchEvent(new CustomEvent(a,{bubbles:!0,cancelable:!0,detail:o}))),d=n=s=null)},!1);var s=null,n=null,i=null,l=null,d=null,c=null;function u(e,r,t){for(;e&&e!==o.documentElement;){var a=e.getAttribute(r);if(a)return a;e=e.parentNode}return t}}(window,document); -
orderable/tags/1.3.0/inc/class-admin-notices.php
r2549156 r2709284 85 85 continue; 86 86 } ?> 87 <div class="notice notice--orderable" style="border-left-color: # bc47f5;">87 <div class="notice notice--orderable" style="border-left-color: #7031F5;"> 88 88 <p><strong><?php echo wp_kses_post( $notice['title'] ); ?></strong></p> 89 89 <p><?php echo wp_kses_post( $notice['description'] ); ?></p> -
orderable/tags/1.3.0/inc/class-ajax.php
r2626120 r2709284 56 56 } 57 57 58 $focus = filter_input( INPUT_POST, 'focus', FILTER_SANITIZE_STRING ); 58 59 $product = wc_get_product( $product_id ); 59 60 … … 69 70 } 70 71 71 $args = array( 'images' => true ); 72 $args = array( 73 'images' => true, 74 'focus' => $focus, 75 ); 72 76 73 77 ob_start(); -
orderable/tags/1.3.0/inc/class-assets.php
r2666071 r2709284 33 33 34 34 wp_enqueue_style( 'orderable', ORDERABLE_ASSETS_URL . 'frontend/css/main' . $suffix_css . '.css', array(), ORDERABLE_VERSION ); 35 wp_enqueue_script( 'orderable', ORDERABLE_ASSETS_URL . 'frontend/js/main' . $suffix . '.js', array( 'jquery' ), ORDERABLE_VERSION, true );35 wp_enqueue_script( 'orderable', ORDERABLE_ASSETS_URL . 'frontend/js/main' . $suffix . '.js', array( 'jquery' , 'wc-add-to-cart' ), ORDERABLE_VERSION, true ); 36 36 37 37 wp_add_inline_style( 'orderable', self::get_styles() ); 38 38 39 39 wp_localize_script( 'orderable', 'orderable_vars', array( 40 'i18n' => array(40 'i18n' => array( 41 41 'out_of_stock' => __( 'Sorry, that product is out of stock.', 'orderable' ), 42 42 'unavailable' => __( 'Sorry, that product is unavailable.', 'orderable' ), 43 43 'no_exist' => __( 'Sorry, that combination does not exist.', 'orderable' ), 44 ) 44 ), 45 'ajax_url' => WC()->ajax_url(), 46 /** 47 * If the option "Enable AJAX add to cart buttons on archives" is not enabled, 48 * we need to turn off the click event for .add_to_cart_button elements on drawer.js 49 * to keep the AJAX behaviour only on Mini cart. 50 */ 51 'woocommerce_enable_ajax_add_to_cart' => 'yes' === get_option( 'woocommerce_enable_ajax_add_to_cart' ), 45 52 ) ); 46 53 … … 68 75 '.orderable-button--loading:after { border-top-color: %1$s; border-left-color: %1$s; }', 69 76 '.orderable-product-option--checked .orderable-product-option__label-state { border-color: %1$s !important; }', 70 ".orderable-product __title { font-size: {$product_title_font_size}px; line-height: {$product_title_line_height}px; }",77 ".orderable-products-list .orderable-product__title { font-size: {$product_title_font_size}px; line-height: {$product_title_line_height}px; }", 71 78 ".orderable-product__actions-price .amount { font-size: {$product_price_font_size}px; line-height: {$product_price_line_height}px; }", 72 79 ); -
orderable/tags/1.3.0/inc/class-modules.php
r2666071 r2709284 35 35 'checkout', 36 36 'timed-products', 37 'custom-order-status', 37 38 ); 38 39 -
orderable/tags/1.3.0/inc/class-products.php
r2637423 r2709284 22 22 add_filter( 'woocommerce_product_query_tax_query', array( __CLASS__, 'remove_hidden_categories_from_products_query' ), 10, 2 ); 23 23 add_filter( 'get_terms_args', array( __CLASS__, 'remove_hidden_categories_from_terms_query' ), 10, 2 ); 24 add_filter( 'wp_sitemaps_posts_query_args', array( __CLASS__, 'remove_hidden_products_from_sitemap' ), 10, 2 ); 25 add_filter( 'wp_sitemaps_taxonomies_query_args', array( __CLASS__, 'remove_hidden_categories_from_sitemap' ), 10, 2 ); 24 26 } 25 27 … … 119 121 if ( ! empty( $category_products ) ) { 120 122 $products[ $category_id ]['products'] = $category_products; 121 123 122 124 // Add parent attribute if parent is a root category. 123 if ( in_array( $category->parent, $categories ) ) {125 if ( in_array( $category->parent, $categories, true ) ) { 124 126 $products[ $category_id ]['category']['parent'] = $category->parent; 125 127 } … … 166 168 * 167 169 * @param array $args Arguments. 170 * 168 171 * @return array 169 172 */ 170 173 public static function get_products( $args ) { 171 174 $args['status'] = 'publish'; // Ensure only published products are returned. 172 $products = wc_get_products( $args ); 175 176 if ( 'yes' === get_option( 'woocommerce_hide_out_of_stock_items' ) ) { 177 $args['stock_status'] = 'instock'; 178 } 179 180 /** 181 * Filter arguments used to retrieve products from database 182 * 183 * @param array $args WC_Product_Query arguments 184 * 185 * @return array New query arguments 186 * @since 1.2.1 187 * @hook orderable_get_products_args 188 */ 189 $products = wc_get_products( apply_filters( 'orderable_get_products_args', $args ) ); 173 190 174 191 if ( ! empty( $products ) && isset( $args['orderby'] ) ) { … … 184 201 * 185 202 * @param array $categories Categories. 203 * 186 204 * @return array 187 205 */ … … 288 306 289 307 $args = array( 290 'trigger' => 'add-to-cart',308 'trigger' => self::get_add_to_cart_trigger( $product ), 291 309 'product_id' => $product->get_id(), 292 310 'product_type' => $product->get_type(), … … 298 316 299 317 if ( 'variable' === $args['product_type'] ) { 300 $args['trigger'] = 'product-options'; 301 $args['text'] = empty( $orderable_single_product ) ? __( 'Select', 'orderable' ) : $args['text']; 318 $args['text'] = empty( $orderable_single_product ) ? __( 'Select', 'orderable' ) : $args['text']; 302 319 } elseif ( 'variation' === $args['product_type'] ) { 303 320 $args['product_id'] = $product->get_parent_id(); … … 307 324 if ( ! $product->is_in_stock() ) { 308 325 $args['classes'] .= ' orderable-button--out-of-stock'; 309 $args['text'] = __( 'Out of Stock', 'orderable' );326 $args['text'] = __( 'Out of Stock', 'orderable' ); 310 327 } 311 328 … … 313 330 314 331 return sprintf( '<button class="orderable-button %s" data-orderable-trigger="%s" data-orderable-product-id="%d" data-orderable-product-type="%s" data-orderable-variation-id="%d" data-orderable-variation-attributes="">%s</button>', esc_attr( $args['classes'] ), esc_attr( $args['trigger'] ), esc_attr( $args['product_id'] ), esc_attr( $args['product_type'] ), esc_attr( $args['variation_id'] ), wp_kses_post( $args['text'] ) ); 332 } 333 334 /** 335 * Get add to cart trigger value. 336 * 337 * @param WC_Product $product 338 * 339 * @return string 340 */ 341 public static function get_add_to_cart_trigger( $product ) { 342 $trigger = $product->is_type( 'variable' ) ? 'product-options' : 'add-to-cart'; 343 344 return apply_filters( 'orderable_get_add_to_cart_trigger', $trigger, $product ); 315 345 } 316 346 … … 517 547 * this also disables the archive page. 518 548 * 519 * @param array $args 520 * @param array $taxonomies 549 * @param array $args Args. 550 * @param array $taxonomies Taxonomies. 521 551 * 522 552 * @return mixed … … 540 570 return $args; 541 571 } 572 573 /** 574 * Remove hidden products from sitemap. 575 * 576 * @param array $query_args Query args. 577 * @param string $post_type Post type. 578 * 579 * @return mixed 580 */ 581 public static function remove_hidden_products_from_sitemap( $query_args, $post_type ) { 582 if ( 'product' !== $post_type ) { 583 return $query_args; 584 } 585 586 $hidden_categories = Orderable_Settings::get_hidden_categories(); 587 588 if ( empty( $hidden_categories ) ) { 589 return $query_args; 590 } 591 592 $tax_query = array( 593 'taxonomy' => 'product_cat', 594 'terms' => $hidden_categories, 595 'field' => 'term_id', 596 'include_children' => true, 597 'operator' => 'NOT IN', 598 ); 599 600 if ( ! isset( $query_args['tax_query'] ) ) { 601 $query_args['tax_query'] = array(); 602 } 603 604 $query_args['tax_query'][] = $tax_query; 605 606 return $query_args; 607 } 608 609 /** 610 * Exclude hidden categories from sitemap. 611 * 612 * @param array $query_args Query args. 613 * @param string $taxonomy Taxonomy. 614 * 615 * @return mixed 616 */ 617 public static function remove_hidden_categories_from_sitemap( $query_args, $taxonomy ) { 618 if ( 'product_cat' !== $taxonomy ) { 619 return $query_args; 620 } 621 622 $hidden_categories = Orderable_Settings::get_hidden_categories(); 623 624 if ( empty( $hidden_categories ) ) { 625 return $query_args; 626 } 627 628 if ( ! isset( $query_args['exclude'] ) ) { 629 $query_args['exclude'] = $hidden_categories; 630 } else { 631 if ( is_array( $hidden_categories ) ) { 632 $query_args['exclude'] = array_merge( $query_args['exclude'], $hidden_categories ); 633 } else { 634 $query_args['exclude'] = $query_args['exclude'] . ',' . implode( ',', $hidden_categories ); 635 } 636 } 637 638 return $query_args; 639 } 640 641 /** 642 * Get product accordion data. 643 * 644 * @param WC_Product $product Product. 645 * 646 * @return array 647 */ 648 public static function get_accordion_data( $product ) { 649 $data = array(); 650 651 $description = Orderable_Settings::get_setting( 'drawer_quickview_description' ); 652 653 if ( 'none' !== $description ) { 654 $description = 'short' === $description ? $product->get_short_description() : $product->get_description(); 655 656 $data[] = array( 657 'title' => __( 'Description', 'orderable' ), 658 'content' => apply_filters( 'the_content', $description ), 659 'id' => 'accordion-description', 660 ); 661 } 662 663 /** 664 * Filter product accordion data. 665 * 666 * @var array $data 667 * @var WC_Product $product 668 */ 669 return apply_filters( 'orderable_get_accordion_data', $data, $product ); 670 } 542 671 } -
orderable/tags/1.3.0/inc/class-settings.php
r2666071 r2709284 928 928 'next' => 'orderable-order-view', 929 929 'options' => array( 930 'content' => '<h3>' . esc_html__( ' Layout Builder', 'orderable' ) . '</h3>' .930 'content' => '<h3>' . esc_html__( 'Product Layouts', 'orderable' ) . '</h3>' . 931 931 '<p>' . 932 932 esc_html__( 'Use the Layout Builder to create a product list based on category. Embed your layout using the shortcode or block.', 'orderable' ) . … … 1059 1059 Orderable_Webhooks::subscribe(); 1060 1060 } 1061 1062 /** 1063 * Universal upgrade page content. 1064 * 1065 * @param string $campaign Campaign for UTM. 1066 */ 1067 public static function upgrade_page_content( $campaign = '' ) { 1068 ?> 1069 <style> 1070 body { 1071 background: #fff; 1072 } 1073 1074 .orderable-pro-upgrade__logo { 1075 margin: 0 0 36px; 1076 display: block; 1077 } 1078 1079 .orderable-pro-upgrade__content { 1080 margin: 0; 1081 padding: 24px; 1082 max-width: 500px; 1083 } 1084 1085 .orderable-pro-upgrade__intro { 1086 font-size: 22px; 1087 margin: 0 0 36px; 1088 line-height: 1.4; 1089 color: #000; 1090 } 1091 1092 .orderable-pro-upgrade__intro a { 1093 color: #7031F5; 1094 } 1095 1096 .orderable-pro-upgrade__features { 1097 font-size: 16px; 1098 margin: 0 0 48px; 1099 } 1100 1101 .orderable-pro-upgrade__features li { 1102 margin: 0 0 12px; 1103 line-height: 1.4; 1104 } 1105 1106 .orderable-pro-upgrade__features li:last-child { 1107 margin-bottom: 0; 1108 } 1109 1110 .orderable-pro-upgrade__features li strong { 1111 color: #000; 1112 } 1113 1114 .orderable-pro-upgrade__content .orderable-admin-button--pro { 1115 padding: 16px 30px; 1116 font-size: 16px; 1117 background: #7031F5; 1118 } 1119 </style> 1120 <div class="wrap orderable-pro-upgrade"> 1121 <div class="orderable-pro-upgrade__content"> 1122 <?php printf( '<img class="orderable-pro-upgrade__logo" src="%s" width="164" height="36" />', esc_url( ORDERABLE_ASSETS_URL . 'img/orderable-logo.svg' ) ); ?> 1123 1124 <p class="orderable-pro-upgrade__intro"> <a href="https://orderable.com/?utm_source=Orderable&utm_medium=Plugin&utm_campaign=<?php echo esc_attr( $campaign ); ?>" target="_blank"><?php esc_attr_e( 'Upgrade to Orderable Pro', 'orderable' ); ?></a> <?php esc_attr_e( 'to access this feature, plus many more revenue boosting features.', 'orderable' ); ?></p> 1125 1126 <ul class="orderable-pro-upgrade__features"> 1127 <li><strong><?php esc_attr_e( 'Product Addons', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Add options to your products like toppings, allergy information, size, etc.', 'orderable' ); ?></li> 1128 <li><strong><?php esc_attr_e( 'Cart Bumps', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Increase sales by offering related products right in the side cart.', 'orderable' ); ?></li> 1129 <li><strong><?php esc_attr_e( 'Time Slots', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Improve customer satisfaction by offering specific time slots for their order.', 'orderable' ); ?></li> 1130 <li><strong><?php esc_attr_e( 'Custom Checkout', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Use our custom checkout experience to drive conversions at the most important step of your online store.', 'orderable' ); ?></li> 1131 <li><strong><?php esc_attr_e( 'Checkout Tipping', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Make it easy for your customers to include a tip with their order.', 'orderable' ); ?></li> 1132 <li><strong><?php esc_attr_e( 'Timed Products', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Show/hide products in your store based on time/date conditions.', 'orderable' ); ?></li> 1133 <li><strong><?php esc_attr_e( 'Custom Order Statuses', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Add and modify order statuses to improve the backend flow of your store. Create custom notifications for each status.', 'orderable' ); ?></li> 1134 <li><strong><?php esc_attr_e( 'Checkout Tipping', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Make it easy for your customers to include a tip with their order.', 'orderable' ); ?></li> 1135 </ul> 1136 1137 <?php echo Orderable_Helpers::get_pro_button( $campaign, __( 'Upgrade Now', 'orderable' ) ); ?> 1138 </div> 1139 </div> 1140 <?php 1141 } 1061 1142 } -
orderable/tags/1.3.0/inc/modules/addons/class-addons.php
r2549156 r2709284 40 40 */ 41 41 public static function product_addons_page() { 42 ?> 43 <div class="wrap"> 44 <h1 class="wp-heading-inline"><?php _e( 'Product Addons', 'orderable' ); ?></h1> 45 <div> 46 <?php echo Orderable_Helpers::get_pro_button(); ?> 47 </div> 48 </div> 49 <?php 42 Orderable_Settings::upgrade_page_content( 'product-addons' ); 50 43 } 51 44 } -
orderable/tags/1.3.0/inc/modules/drawer/class-drawer-ajax.php
r2558994 r2709284 25 25 */ 26 26 public static function cart_quantity() { 27 $product_id = filter_input( INPUT_POST, 'product_id', FILTER_SANITIZE_STRING );27 $product_id = filter_input( INPUT_POST, 'product_id', FILTER_SANITIZE_STRING ); 28 28 $cart_item_key = filter_input( INPUT_POST, 'cart_item_key', FILTER_SANITIZE_STRING ); 29 $quantity = filter_input( INPUT_POST, 'quantity', FILTER_SANITIZE_NUMBER_INT );29 $quantity = filter_input( INPUT_POST, 'quantity', FILTER_SANITIZE_NUMBER_INT ); 30 30 31 31 if ( empty( $product_id ) || empty( $cart_item_key ) || ! is_numeric( $quantity ) ) { … … 39 39 } 40 40 41 $passed_validation = true; 42 $cart_updated = false; 41 $passed_validation = true; 42 $cart_updated = false; 43 $current_session_order_id = isset( WC()->session->order_awaiting_payment ) ? absint( WC()->session->order_awaiting_payment ) : 0; 44 $product_qty_in_cart = WC()->cart->get_cart_item_quantities(); 43 45 44 46 // is_sold_individually. 45 47 if ( $_product->is_sold_individually() && $quantity > 1 ) { 46 48 /* Translators: %s Product title. */ 47 wc_add_notice( sprintf( __( 'You can only have 1 %s in your cart.', ' woocommerce' ), $_product->get_name() ), 'error' );49 wc_add_notice( sprintf( __( 'You can only have 1 %s in your cart.', 'orderable' ), $_product->get_name() ), 'error' ); 48 50 $passed_validation = false; 49 51 } 50 52 53 // We only need to check products managing stock, with a limited stock qty. 54 if ( $_product->managing_stock() || $_product->backorders_allowed() ) { 55 // Check stock based on all items in the cart and consider any held stock within pending orders. 56 $held_stock = wc_get_held_stock_quantity( $_product, $current_session_order_id ); 57 58 if ( $_product->get_stock_quantity() < ( $held_stock + $quantity ) ) { 59 /* translators: 1: product name 2: quantity in stock */ 60 wc_add_notice( sprintf( __( 'Sorry, we do not have enough "%1$s" in stock to fulfill your order (%2$s available). We apologize for any inconvenience caused.', 'woocommerce' ), $_product->get_name(), wc_format_stock_quantity_for_display( $_product->get_stock_quantity() - $held_stock, $_product ) ), 'error' ); 61 62 $passed_validation = false; 63 } 64 } 65 51 66 if ( $passed_validation ) { 52 WC()->cart->set_quantity( $cart_item_key, $quantity, false );67 WC()->cart->set_quantity( $cart_item_key, intval( $quantity ), false ); 53 68 $cart_updated = true; 54 69 } -
orderable/tags/1.3.0/inc/modules/drawer/class-drawer-settings.php
r2558994 r2709284 24 24 add_filter( 'wpsf_register_settings_orderable', array( __CLASS__, 'register_settings' ), 20 ); 25 25 add_filter( 'orderable_settings_validate', array( __CLASS__, 'validate_settings' ), 10 ); 26 add_action( 'init', array( __CLASS__, 'position_accordion' ) ); 26 27 } 27 28 … … 42 43 ); 43 44 45 $default_settings['drawer_quickview_description'] = 'none'; 46 $default_settings['drawer_quickview_accordion_position'] = 'orderable_side_menu_before_product_options'; 47 44 48 return $default_settings; 45 49 } … … 53 57 */ 54 58 public static function register_settings( $settings = array() ) { 59 $settings['tabs']['drawer'] = array( 60 'id' => 'drawer', 61 'title' => __( 'Side Drawer', 'orderable' ), 62 'priority' => 30, 63 ); 64 55 65 $settings['sections']['cart'] = array( 56 66 'tab_id' => 'style', … … 85 95 ); 86 96 97 $settings['sections']['quickview'] = array( 98 'tab_id' => 'drawer', 99 'section_id' => 'quickview', 100 'section_title' => __( 'Quickview Settings', 'orderable' ), 101 'section_description' => __( 'Settings for when products are displayed in the Orderable drawer.', 'orderable' ), 102 'section_order' => 10, 103 'fields' => array( 104 'accordion_position' => array( 105 'id' => 'accordion_position', 106 'title' => __( 'Accordion Position', 'orderable' ), 107 'subtitle' => __( 'Where should the product information accordion be displayed in the side drawer.', 'orderable' ), 108 'type' => 'select', 109 'choices' => array( 110 'orderable_side_menu_before_product_options' => __( 'Before Product Options', 'orderable' ), 111 'orderable_side_menu_after_product_options' => __( 'After Product Options', 'orderable' ), 112 ), 113 'default' => Orderable_Settings::get_setting_default( 'drawer_quickview_accordion_position' ), 114 ), 115 'description' => array( 116 'id' => 'description', 117 'title' => __( 'Product Description', 'orderable' ), 118 'subtitle' => __( 'Choose which product description to display in the side drawer.', 'orderable' ), 119 'type' => 'select', 120 'choices' => array( 121 'none' => __( 'None', 'orderable' ), 122 'short' => __( 'Short Description', 'orderable' ), 123 'full' => __( 'Full Description', 'orderable' ), 124 ), 125 'default' => Orderable_Settings::get_setting_default( 'drawer_quickview_description' ), 126 ), 127 ), 128 ); 129 87 130 return $settings; 88 131 } … … 190 233 191 234 $table.find( 'tr' ).removeClass( 'orderable-table__row--last' ); 192 $table.find( 'tr' ).not( '[style*="display: none"]' ).last().addClass( 'orderable-table__row--last' );235 $table.find( 'tr' ).not( '[style*="display: none"]' ).last().addClass( 'orderable-table__row--last' ); 193 236 } 194 237 … … 215 258 $settings = Orderable_Settings::get_setting( self::$fine_tune_cart_key ); 216 259 $settings = array_filter( $settings ); 217 $css = '';260 $css = ''; 218 261 219 262 if ( ! empty( $settings ) ) { … … 240 283 return apply_filters( 'orderable_get_cart_icon_css', $style, $cart_count ); 241 284 } 285 286 /** 287 * Position product accordion in drawer. 288 */ 289 public static function position_accordion() { 290 $position = Orderable_Settings::get_setting( 'drawer_quickview_accordion_position' ); 291 292 add_filter( $position, array( __CLASS__, 'display_product_accordion' ), 10, 2 ); 293 } 294 295 /** 296 * Display product accordion. 297 * 298 * @param WC_Product $product Product. 299 * @param array $args Args. 300 */ 301 public static function display_product_accordion( $product, $args = array() ) { 302 include ORDERABLE_TEMPLATES_PATH . 'product/accordion.php'; 303 } 242 304 } -
orderable/tags/1.3.0/inc/modules/drawer/class-drawer.php
r2558994 r2709284 20 20 add_action( 'wp_footer', array( __CLASS__, 'add' ) ); 21 21 add_filter( 'woocommerce_add_to_cart_fragments', array( __CLASS__, 'cart_count_fragments' ), 10, 1 ); 22 add_filter( 'woocommerce_add_to_cart_fragments', array( __CLASS__, 'cart_content_fragments' ), 10, 1 ); 22 23 add_filter( 'woocommerce_cart_item_permalink', '__return_false' ); 23 24 add_filter( 'wc_get_template', array( __CLASS__, 'mini_cart_template' ), 100, 5 ); … … 71 72 72 73 /** 74 * Update cart content after adding to cart. 75 * 76 * @param array $fragments Array of HTML fragments. 77 * 78 * @return mixed 79 */ 80 public static function cart_content_fragments( $fragments ) { 81 ob_start(); 82 83 self::mini_cart(); 84 85 $fragments['.orderable-mini-cart-wrapper'] = ob_get_clean(); 86 87 return $fragments; 88 } 89 90 /** 73 91 * Replace mini cart template. 74 92 * … … 86 104 } 87 105 106 if ( empty( $args['orderable'] ) ) { 107 return $template; 108 } 109 88 110 return ORDERABLE_PATH . 'woocommerce/cart/mini-cart.php'; 89 111 } 112 113 /** 114 * Output mini cart with Orderable param set. 115 */ 116 public static function mini_cart() { 117 ?> 118 <div class="orderable-mini-cart-wrapper"> 119 <?php woocommerce_mini_cart( array( 'orderable' => true ) ); ?> 120 </div> 121 <?php 122 } 90 123 } -
orderable/tags/1.3.0/inc/modules/drawer/templates/drawer.php
r2549156 r2709284 16 16 <h3><?php _e( 'Your Order', 'orderable' ); ?></h3> 17 17 18 <div class=" widget_shopping_cart_content">19 <?php woocommerce_mini_cart(); ?>18 <div class="orderable-mini-cart-wrapper"> 19 <?php Orderable_Drawer::mini_cart(); ?> 20 20 </div> 21 21 </div> -
orderable/tags/1.3.0/inc/modules/layouts/assets/admin/css/layouts.css
r2637423 r2709284 87 87 } 88 88 89 .orderable-main--sections-side_tabs{90 display: -webkit-box;91 display: -ms-flexbox;92 display: flex;93 } 94 95 .orderable-main--sections-side_tabs .orderable-main__tabs {96 margin: 0 24px 0 0 !important;97 }98 99 .orderable-main--sections-side_tabs .orderable-main__sections { 100 -webkit-box-flex: 1;101 -ms-flex: 1;102 flex: 1;89 @media screen and (min-width: 620px) { 90 .orderable-main--sections-side_tabs { 91 display: -webkit-box; 92 display: -ms-flexbox; 93 display: flex; 94 } 95 .orderable-main--sections-side_tabs .orderable-main__tabs { 96 margin: 0 24px 0 0 !important; 97 } 98 .orderable-main--sections-side_tabs .orderable-main__sections { 99 -webkit-box-flex: 1; 100 -ms-flex: 1; 101 flex: 1; 102 } 103 103 } 104 104 … … 310 310 311 311 .orderable-product__options { 312 margin: 12px0 24px;312 margin: 0 0 24px; 313 313 padding: 0; 314 314 border-radius: 6px; 315 }316 317 .orderable-product__options:last-child {318 margin-bottom: 0;319 315 } 320 316 … … 328 324 329 325 .orderable-product__options th { 330 font-size: 18px;331 326 line-height: 22px; 332 327 } … … 374 369 .orderable-product__actions-button { 375 370 margin: 0 0 0 auto; 371 } 372 373 .orderable-product__tabs { 374 margin: 24px 0; 375 } 376 377 .orderable-product__tabs-section { 378 display: none; 379 } 380 381 .orderable-product__tabs-section:first-child { 382 display: block; 383 } 384 385 .orderable-product__tabs-section *:last-child { 386 margin-bottom: 0; 376 387 } 377 388 … … 389 400 } 390 401 402 .orderable-product--options .orderable-product__hero { 403 margin: -24px -24px 0; 404 } 405 406 .orderable-product--options .orderable-product__title { 407 text-align: left; 408 margin: 24px 0 !important; 409 } 410 391 411 .orderable-product--options .orderable-product__actions { 392 412 margin-top: auto; … … 398 418 } 399 419 400 .orderable-product--clickable { 420 .orderable-product--add-to-cart, 421 .orderable-product--product-options, 422 .orderable-product--view-product { 401 423 cursor: pointer; 402 424 } 403 425 404 .orderable-product __hero--title{426 .orderable-product--image-cropped .orderable-product__hero { 405 427 overflow: hidden; 406 padding: 24px 24px 0; 407 margin: -24px -24px 24px; 428 padding: 0; 408 429 text-align: center; 409 430 -webkit-box-flex: 0; 410 431 -ms-flex: 0 0 auto; 411 432 flex: 0 0 auto; 412 } 413 414 .orderable-product__hero--title:before { 415 background: #fff; 416 top: auto; 417 left: -10px; 418 right: -10px; 419 bottom: -10px; 420 position: absolute; 421 height: 24px; 422 z-index: 5; 423 -webkit-transform: rotate(-1.5deg); 424 transform: rotate(-1.5deg); 425 } 426 427 .orderable-product__hero--title:after { 428 content: ""; 429 position: absolute; 430 top: 0; 431 left: 0; 432 right: 0; 433 bottom: 0; 434 background: -webkit-gradient(linear, left bottom, left top, from(rgba(24, 33, 37, 0.8)), to(rgba(24, 33, 37, 0.3))); 435 background: linear-gradient(0deg, rgba(24, 33, 37, 0.8), rgba(24, 33, 37, 0.3)); 436 z-index: 1; 437 mix-blend-mode: multiply; 438 } 439 440 .orderable-product__hero--title .orderable-product__image { 433 height: 72px; 434 } 435 436 .orderable-product--image-cropped .orderable-product__image { 441 437 -o-object-fit: cover; 442 438 object-fit: cover; … … 447 443 left: 0; 448 444 top: 0; 449 }450 451 .orderable-product__hero--title .orderable-product__title {452 color: #fff;453 position: relative;454 z-index: 10;455 445 } 456 446 … … 481 471 width: 100%; 482 472 min-width: 60px; 483 max-width: 80px;473 max-width: 95px; 484 474 border-radius: 6px; 485 475 overflow: hidden; … … 607 597 } 608 598 599 .orderable-button--icon { 600 padding: 10px !important; 601 width: 44px; 602 height: 44px; 603 line-height: 24px; 604 border: none; 605 background: none !important; 606 } 607 608 body .orderable-button--icon:hover, 609 body .orderable-button--icon:focus, 610 body .orderable-button--icon:active { 611 background: none !important; 612 opacity: 0.6; 613 } 614 615 .orderable-button--icon svg { 616 width: 24px; 617 height: 24px; 618 border-radius: 12px; 619 overflow: hidden; 620 -webkit-transition: opacity 250ms ease-in-out; 621 transition: opacity 250ms ease-in-out; 622 } 623 624 .orderable-button--icon.orderable-button--loading:after { 625 display: none; 626 } 627 609 628 .orderable-tabs { 610 margin: 0 0 24px !important; 629 margin: 0 0 24px; 630 position: relative; 631 } 632 633 .orderable-tabs__list { 634 margin: 0 1px 0 0 !important; 611 635 padding: 0 !important; 612 636 list-style: none none outside; 613 } 614 615 .orderable-main--sections-side_tabs .orderable-tabs { 616 -webkit-box-flex: 0; 617 -ms-flex: 0 1 auto; 618 flex: 0 1 auto; 637 position: relative; 638 display: -webkit-box; 639 display: -ms-flexbox; 640 display: flex; 641 -ms-flex-wrap: nowrap; 642 flex-wrap: nowrap; 643 -webkit-box-flex: 1; 644 -ms-flex: 1 1 auto; 645 flex: 1 1 auto; 646 overflow-x: auto; 647 overflow-y: hidden; 648 overflow: -moz-scrollbars-none; 649 scrollbar-base-color: transparent; 650 -webkit-overflow-scrolling: touch; 651 } 652 653 .orderable-tabs__list::-webkit-scrollbar { 654 display: none; 655 } 656 657 @media screen and (min-width: 620px) { 658 .orderable-main--sections-side_tabs .orderable-tabs__list { 659 -webkit-box-flex: 0; 660 -ms-flex: 0 1 auto; 661 flex: 0 1 auto; 662 -webkit-box-orient: vertical; 663 -webkit-box-direction: normal; 664 -ms-flex-direction: column; 665 flex-direction: column; 666 height: auto; 667 } 619 668 } 620 669 621 670 .orderable-tabs__item { 622 671 display: inline-block; 623 margin: 0 ;672 margin: 0 10px 0 0; 624 673 padding: 0; 625 674 } 626 675 627 .orderable-main--sections-side_tabs .orderable-tabs__item { 628 margin: 0 0 6px; 629 display: block; 630 } 631 632 .orderable-main--sections-side_tabs .orderable-tabs__item:last-child { 633 margin: 0; 676 .orderable-tabs__item:last-child { 677 margin-right: 0; 678 } 679 680 @media screen and (min-width: 620px) { 681 .orderable-main--sections-side_tabs .orderable-tabs__item { 682 margin: 0 0 12px; 683 display: block; 684 } 685 .orderable-main--sections-side_tabs .orderable-tabs__item:last-child { 686 margin: 0; 687 } 634 688 } 635 689 … … 640 694 white-space: nowrap; 641 695 line-height: 40px; 642 color: # 000;696 color: #405763; 643 697 font-weight: 400; 644 698 border-radius: 20px; 645 -webkit-transition: none; 646 transition: none; 699 -webkit-transition: all 150ms ease-out; 700 transition: all 150ms ease-out; 701 background: #ecf1f3; 647 702 } 648 703 … … 654 709 655 710 a.orderable-tabs__link:hover, a.orderable-tabs__link:active, a.orderable-tabs__link:focus { 656 color: # 000;711 color: #405763; 657 712 text-decoration: none; 658 background: # ecf1f3;713 background: #c7d4db; 659 714 } 660 715 … … 666 721 .orderable--button-style-square a.orderable-tabs__link { 667 722 border-radius: 0; 723 } 724 725 .orderable-tabs__arrow { 726 background: #fff; 727 -webkit-box-shadow: 0 0.4px 1.3px rgba(0, 0, 0, 0.05), 0 1.3px 4.5px rgba(0, 0, 0, 0.06), 0 6px 16px rgba(0, 0, 0, 0.07); 728 box-shadow: 0 0.4px 1.3px rgba(0, 0, 0, 0.05), 0 1.3px 4.5px rgba(0, 0, 0, 0.06), 0 6px 16px rgba(0, 0, 0, 0.07); 729 border: none; 730 width: 40px !important; 731 height: 40px !important; 732 padding: 0 !important; 733 margin: 0 !important; 734 border-radius: 20px !important; 735 position: absolute; 736 top: 0; 737 right: 0; 738 text-align: center; 739 line-height: 40px; 740 display: none; 741 } 742 743 .orderable-tabs__arrow:hover, .orderable-tabs__arrow:focus, .orderable-tabs__arrow:active { 744 background: #fff; 745 outline: none; 746 } 747 748 .orderable-tabs__arrow svg { 749 width: 21px; 750 height: 24px; 751 margin: 8px 0; 668 752 } 669 753 … … 710 794 margin: 0 0 25px; 711 795 padding: 1px 12px; 712 border-left-color: # bc47f5;796 border-left-color: #7031F5; 713 797 } 714 798 -
orderable/tags/1.3.0/inc/modules/layouts/assets/admin/css/layouts.min.css
r2637423 r2709284 1 @-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}@keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}.orderable-main__group{margin:0 0 36px}.orderable-main--sections-tabs .orderable-main__group{display:none}.orderable-main--sections-tabs .orderable-main__group:first-of-type{display:block} .orderable-main--sections-side_tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.orderable-main--sections-side_tabs .orderable-main__tabs{margin:0 24px 0 0!important}.orderable-main--sections-side_tabs .orderable-main__sections{-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-products-list{margin-bottom:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list *{-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list:last-child{margin-bottom:0}@media screen and (min-width:480px){.orderable-products-list .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 200px;flex:0 0 200px}.orderable-products-list .orderable-product__hero{width:200px}.orderable-products-list .orderable-product__image{-o-object-fit:cover;object-fit:cover;width:100%!important;height:100%!important}.orderable-products-list .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}}.orderable-products-list .orderable-product__actions{padding:12px 24px 18px;margin-top:auto}.orderable-products-list__item{width:100%;margin:0 0 24px}@media screen and (max-width:480px){.orderable-products-list__item{padding:0 0 24px;border-bottom:1px solid #ecf1f3}.orderable-products-list__item:last-child{border-bottom:none}}@media screen and (min-width:540px){.orderable-products-list--grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-products-list__item{margin:0 0 24px;padding:0 12px;width:50%}.orderable-products-list--grid .orderable-product{padding:0 0 88px;display:block;margin:0;-webkit-box-flex:0;-ms-flex:none;flex:none}}@media screen and (min-width:1120px){.orderable-products-list--grid .orderable-products-list__item{width:33.33%}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-product__hero{width:auto}.orderable-products-list--grid .orderable-product__hero img{-o-object-fit:fill;object-fit:fill;width:100%;height:auto}.orderable-products-list--grid .orderable-product__content-wrap{-webkit-box-flex:0;-ms-flex:none;flex:none;display:block}.orderable-products-list--grid .orderable-product__actions{padding:0;margin-top:0;position:absolute;bottom:24px;left:24px;right:24px}}.orderable-product{overflow:hidden;position:relative}.orderable-product__hero{position:relative}.orderable-product__image{border-radius:0;margin:0;display:block;width:100%;height:auto!important;max-width:none!important}.orderable-product__content{padding:18px 24px 12px}.orderable-product__content :last-child{margin-bottom:0}.orderable-product__title{margin:0 0 12px!important}.orderable-product__description{margin:0}.orderable-product__tags{overflow:hidden;margin:0;padding:0;list-style:none}img+.orderable-product__tags{position:absolute;bottom:0;left:0;padding:12px;z-index:20}.orderable-product__tags li{margin:6px 0 0}.orderable-product__options{margin:12px 0 24px;padding:0;border-radius:6px}.orderable-product__actions:last-child,.orderable-product__options:last-child{margin-bottom:0}.orderable-product__options td,.orderable-product__options th{background-color:transparent!important;padding:0 0 12px;text-align:left;display:block;margin:0}.orderable-product__options th{font-size:18px;line-height:22px}.orderable-product__options td{padding-bottom:24px}.orderable-product__options tr{padding:0;margin:0}.orderable-product__options tr:last-child td{padding-bottom:0}.orderable-product__actions{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-product__actions-price{margin:0 4px 0 0}.orderable-product__actions-price .amount{white-space:nowrap;margin:0 6px 0 0;font-weight:700;color:#000;font-size:20px;line-height:24px}.orderable-product__actions-button{margin:0 0 0 auto}.orderable-product--options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:visible;height:100%}.orderable-product--options .orderable-product__actions{margin-top:auto;padding-top:24px;border-top:1px solid #E6ECEF;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.orderable-product--clickable{cursor:pointer}.orderable-product__hero--title{overflow:hidden;padding:24px 24px 0;margin:-24px -24px 24px;text-align:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.orderable-product__hero--title:before{background:#fff;top:auto;left:-10px;right:-10px;bottom:-10px;position:absolute;height:24px;z-index:5;-webkit-transform:rotate(-1.5deg);transform:rotate(-1.5deg)}.orderable-product__hero--title:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:-webkit-gradient(linear,left bottom,left top,from(rgba(24,33,37,.8)),to(rgba(24,33,37,.3)));background:linear-gradient(0deg,rgba(24,33,37,.8),rgba(24,33,37,.3));z-index:1;mix-blend-mode:multiply}.orderable-product__hero--title .orderable-product__image{-o-object-fit:cover;object-fit:cover;position:absolute;z-index:-1;width:100%;height:100%!important;left:0;top:0}.orderable-product__hero--title .orderable-product__title{color:#fff;position:relative;z-index:10}.orderable-products-list__item .orderable-product{height:100%;width:100%;-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);border-radius:6px}@media screen and (max-width:480px){.orderable-products-list__item .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.orderable-products-list__item .orderable-product__hero{width:100%;min-width:60px;max-width:80px;border-radius:6px;overflow:hidden}.orderable-products-list__item .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-products-list__item .orderable-product__content{padding:0 0 0 24px}.orderable-products-list__item .orderable-product__actions{padding:6px 0 0 24px}.orderable-products-list__item .orderable-product__title{margin:0 0 6px!important}}.orderable-button{display:inline-block;border:2px solid #000;background:0 0;padding:0 24px!important;height:40px;line-height:36px;white-space:nowrap;border-radius:20px;color:#000;text-transform:none;margin:0;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;-webkit-box-shadow:none;box-shadow:none;cursor:pointer}.orderable-button:active,.orderable-button:focus{outline:0}.orderable-button--active,.orderable-button--hover,.orderable-button:active,.orderable-button:focus,.orderable-button:hover{border-color:#000;background:#000;color:#fff;text-decoration:none;-webkit-box-shadow:none;box-shadow:none}.orderable-button--filled,.orderable-button--filled--hover,.orderable-button--filled:hover{background:#000!important;color:#fff}.orderable-button--full{width:100%}.orderable-button--loading{position:relative;padding-right:48px!important}.orderable-button--loading:after{content:'';display:block;width:16px;height:16px;position:absolute;top:10px;right:22px;background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:2px solid #000;border-left:2px solid #000;border-right:2px solid transparent;border-bottom:2px solid transparent;border-radius:100%;-webkit-animation:spin .6s ease-out infinite;animation:spin .6s ease-out infinite}.orderable-button--filled .orderable-button--loading:after,.orderable-button--loading.orderable-button--hover:after,.orderable-button--loading:active:after,.orderable-button--loading:focus:after,.orderable-button--loading:hover:after{border-top-color:#fff;border-left-color:#fff}.orderable-button.orderable-button--out-of-stock,.orderable-button.orderable-button--out-of-stock.orderable-button--hover,.orderable-button.orderable-button--out-of-stock:active,.orderable-button.orderable-button--out-of-stock:focus,.orderable-button.orderable-button--out-of-stock:hover{cursor:not-allowed;border-color:#c7d4db;color:#a8bdc7;background:0 0!important}.orderable--button-style-square .orderable-button{border-radius:0}.orderable-tabs{margin:0 0 24px!important;padding:0!important;list-style:none}.orderable-main--sections-side_tabs .orderable-tabs{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.orderable-tabs__item{display:inline-block;margin:0;padding:0}.orderable-main--sections-side_tabs .orderable-tabs__item{margin:0 0 6px;display:block}.orderable-main--sections-side_tabs .orderable-tabs__item:last-child{margin:0}a.orderable-tabs__link{text-decoration:none!important;display:inline-block;padding:0 24px;white-space:nowrap;line-height:40px;color:#000;font-weight:400;border-radius:20px;-webkit-transition:none;transition:none}a.orderable-tabs__link:active,a.orderable-tabs__link:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}a.orderable-tabs__link:active,a.orderable-tabs__link:focus,a.orderable-tabs__link:hover{color:#000;text-decoration:none;background:#ecf1f3}.orderable-tabs__item--active a.orderable-tabs__link{background:#000;color:#fff}.orderable--button-style-square a.orderable-tabs__link{border-radius:0}#orderable-layout-settings-metabox{z-index:1000}#orderable-layout-preview-metabox .inside{padding:24px 24px 0;margin:0}#orderable-layout-preview-metabox .inside h2.orderable-category-heading__title,#orderable-layout-preview-metabox .inside h3{margin:0 0 24px}#orderable-layout-preview-metabox .inside h2{padding:0;font-weight:600;font-size:20px;line-height:1.2}#orderable-layout-preview-metabox .orderable-category-heading__description{margin:-12px 0 24px}#orderable-layout-preview-metabox .orderable-main{max-width:1000px;margin:0}#orderable-layout-preview-metabox .orderable-main--sections-side_tabs .orderable-main__tabs{margin:0 24px 24px 0!important}.orderable-layout-preview-notice{background:#fff;border:1px solid #c3c4c7;border-left-width:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);margin:0 0 25px;padding:1px 12px;border-left-color:#bc47f5}.orderable-layout-preview-notice p{margin:.5em 0;padding:2px}1 @-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}@keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}.orderable-main__group{margin:0 0 36px}.orderable-main--sections-tabs .orderable-main__group{display:none}.orderable-main--sections-tabs .orderable-main__group:first-of-type{display:block}@media screen and (min-width:620px){.orderable-main--sections-side_tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.orderable-main--sections-side_tabs .orderable-main__tabs{margin:0 24px 0 0!important}.orderable-main--sections-side_tabs .orderable-main__sections{-webkit-box-flex:1;-ms-flex:1;flex:1}}.orderable-products-list{margin-bottom:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list *{-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list:last-child{margin-bottom:0}@media screen and (min-width:480px){.orderable-products-list .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 200px;flex:0 0 200px}.orderable-products-list .orderable-product__hero{width:200px}.orderable-products-list .orderable-product__image{-o-object-fit:cover;object-fit:cover;width:100%!important;height:100%!important}.orderable-products-list .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}}.orderable-products-list .orderable-product__actions{padding:12px 24px 18px;margin-top:auto}.orderable-products-list__item{width:100%;margin:0 0 24px}@media screen and (max-width:480px){.orderable-products-list__item{padding:0 0 24px;border-bottom:1px solid #ecf1f3}.orderable-products-list__item:last-child{border-bottom:none}}@media screen and (min-width:540px){.orderable-products-list--grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-products-list__item{margin:0 0 24px;padding:0 12px;width:50%}.orderable-products-list--grid .orderable-product{padding:0 0 88px;display:block;margin:0;-webkit-box-flex:0;-ms-flex:none;flex:none}}@media screen and (min-width:1120px){.orderable-products-list--grid .orderable-products-list__item{width:33.33%}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-product__hero{width:auto}.orderable-products-list--grid .orderable-product__hero img{-o-object-fit:fill;object-fit:fill;width:100%;height:auto}.orderable-products-list--grid .orderable-product__content-wrap{-webkit-box-flex:0;-ms-flex:none;flex:none;display:block}.orderable-products-list--grid .orderable-product__actions{padding:0;margin-top:0;position:absolute;bottom:24px;left:24px;right:24px}}.orderable-product{overflow:hidden;position:relative}.orderable-product__hero{position:relative}.orderable-product__image{border-radius:0;margin:0;display:block;width:100%;height:auto!important;max-width:none!important}.orderable-product__content{padding:18px 24px 12px}.orderable-product__content :last-child{margin-bottom:0}.orderable-product__title{margin:0 0 12px!important}.orderable-product__description{margin:0}.orderable-product__tags{overflow:hidden;margin:0;padding:0;list-style:none}img+.orderable-product__tags{position:absolute;bottom:0;left:0;padding:12px;z-index:20}.orderable-product__tags li{margin:6px 0 0}.orderable-product__options{margin:0 0 24px;padding:0;border-radius:6px}.orderable-product__options td,.orderable-product__options th{background-color:transparent!important;padding:0 0 12px;text-align:left;display:block;margin:0}.orderable-product__options th{line-height:22px}.orderable-product__options td{padding-bottom:24px}.orderable-product__options tr{padding:0;margin:0}.orderable-product__options tr:last-child td{padding-bottom:0}.orderable-product__actions{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-product__actions:last-child{margin-bottom:0}.orderable-product__actions-price{margin:0 4px 0 0}.orderable-product__actions-price .amount{white-space:nowrap;margin:0 6px 0 0;font-weight:700;color:#000;font-size:20px;line-height:24px}.orderable-product__actions-button{margin:0 0 0 auto}.orderable-product__tabs{margin:24px 0}.orderable-product__tabs-section{display:none}.orderable-product__tabs-section:first-child{display:block}.orderable-product__tabs-section :last-child{margin-bottom:0}.orderable-product--options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:visible;height:100%}.orderable-product--options .orderable-product__hero{margin:-24px -24px 0}.orderable-product--options .orderable-product__title{text-align:left;margin:24px 0!important}.orderable-product--options .orderable-product__actions{margin-top:auto;padding-top:24px;border-top:1px solid #E6ECEF;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.orderable-product--add-to-cart,.orderable-product--product-options,.orderable-product--view-product{cursor:pointer}.orderable-product--image-cropped .orderable-product__hero{overflow:hidden;padding:0;text-align:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;height:72px}.orderable-product--image-cropped .orderable-product__image{-o-object-fit:cover;object-fit:cover;position:absolute;z-index:-1;width:100%;height:100%!important;left:0;top:0}.orderable-products-list__item .orderable-product{height:100%;width:100%;-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);border-radius:6px}@media screen and (max-width:480px){.orderable-products-list__item .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.orderable-products-list__item .orderable-product__hero{width:100%;min-width:60px;max-width:95px;border-radius:6px;overflow:hidden}.orderable-products-list__item .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-products-list__item .orderable-product__content{padding:0 0 0 24px}.orderable-products-list__item .orderable-product__actions{padding:6px 0 0 24px}.orderable-products-list__item .orderable-product__title{margin:0 0 6px!important}}.orderable-button{display:inline-block;border:2px solid #000;background:0 0;padding:0 24px!important;height:40px;line-height:36px;white-space:nowrap;border-radius:20px;color:#000;text-transform:none;margin:0;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;-webkit-box-shadow:none;box-shadow:none;cursor:pointer}.orderable-button:active,.orderable-button:focus{outline:0}.orderable-button--active,.orderable-button--hover,.orderable-button:active,.orderable-button:focus,.orderable-button:hover{border-color:#000;background:#000;color:#fff;text-decoration:none;-webkit-box-shadow:none;box-shadow:none}.orderable-button--filled,.orderable-button--filled--hover,.orderable-button--filled:hover{background:#000!important;color:#fff}.orderable-button--full{width:100%}.orderable-button--loading{position:relative;padding-right:48px!important}.orderable-button--loading:after{content:'';display:block;width:16px;height:16px;position:absolute;top:10px;right:22px;background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:2px solid #000;border-left:2px solid #000;border-right:2px solid transparent;border-bottom:2px solid transparent;border-radius:100%;-webkit-animation:spin .6s ease-out infinite;animation:spin .6s ease-out infinite}.orderable-button--filled .orderable-button--loading:after,.orderable-button--loading.orderable-button--hover:after,.orderable-button--loading:active:after,.orderable-button--loading:focus:after,.orderable-button--loading:hover:after{border-top-color:#fff;border-left-color:#fff}.orderable-button.orderable-button--out-of-stock,.orderable-button.orderable-button--out-of-stock.orderable-button--hover,.orderable-button.orderable-button--out-of-stock:active,.orderable-button.orderable-button--out-of-stock:focus,.orderable-button.orderable-button--out-of-stock:hover{cursor:not-allowed;border-color:#c7d4db;color:#a8bdc7;background:0 0!important}.orderable--button-style-square .orderable-button{border-radius:0}.orderable-button--icon{padding:10px!important;width:44px;height:44px;line-height:24px;border:none;background:0 0!important}body .orderable-button--icon:active,body .orderable-button--icon:focus,body .orderable-button--icon:hover{background:0 0!important;opacity:.6}.orderable-button--icon svg{width:24px;height:24px;border-radius:12px;overflow:hidden;-webkit-transition:opacity 250ms ease-in-out;transition:opacity 250ms ease-in-out}.orderable-button--icon.orderable-button--loading:after{display:none}.orderable-tabs{margin:0 0 24px;position:relative}.orderable-tabs__list{margin:0 1px 0 0!important;padding:0!important;list-style:none;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;overflow:-moz-scrollbars-none;scrollbar-base-color:transparent;-webkit-overflow-scrolling:touch}.orderable-tabs__list::-webkit-scrollbar{display:none}.orderable-tabs__item{display:inline-block;margin:0 10px 0 0;padding:0}.orderable-tabs__item:last-child{margin-right:0}@media screen and (min-width:620px){.orderable-main--sections-side_tabs .orderable-tabs__list{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto}.orderable-main--sections-side_tabs .orderable-tabs__item{margin:0 0 12px;display:block}.orderable-main--sections-side_tabs .orderable-tabs__item:last-child{margin:0}}a.orderable-tabs__link{text-decoration:none!important;display:inline-block;padding:0 24px;white-space:nowrap;line-height:40px;color:#405763;font-weight:400;border-radius:20px;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;background:#ecf1f3}a.orderable-tabs__link:active,a.orderable-tabs__link:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}a.orderable-tabs__link:active,a.orderable-tabs__link:focus,a.orderable-tabs__link:hover{color:#405763;text-decoration:none;background:#c7d4db}.orderable-tabs__item--active a.orderable-tabs__link{background:#000;color:#fff}.orderable--button-style-square a.orderable-tabs__link{border-radius:0}.orderable-tabs__arrow{background:#fff;-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);border:none;width:40px!important;height:40px!important;padding:0!important;margin:0!important;border-radius:20px!important;position:absolute;top:0;right:0;text-align:center;line-height:40px;display:none}.orderable-tabs__arrow:active,.orderable-tabs__arrow:focus,.orderable-tabs__arrow:hover{background:#fff;outline:0}.orderable-tabs__arrow svg{width:21px;height:24px;margin:8px 0}#orderable-layout-settings-metabox{z-index:1000}#orderable-layout-preview-metabox .inside{padding:24px 24px 0;margin:0}#orderable-layout-preview-metabox .inside h2.orderable-category-heading__title,#orderable-layout-preview-metabox .inside h3{margin:0 0 24px}#orderable-layout-preview-metabox .inside h2{padding:0;font-weight:600;font-size:20px;line-height:1.2}#orderable-layout-preview-metabox .orderable-category-heading__description{margin:-12px 0 24px}#orderable-layout-preview-metabox .orderable-main{max-width:1000px;margin:0}#orderable-layout-preview-metabox .orderable-main--sections-side_tabs .orderable-main__tabs{margin:0 24px 24px 0!important}.orderable-layout-preview-notice{background:#fff;border:1px solid #c3c4c7;border-left-width:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);margin:0 0 25px;padding:1px 12px;border-left-color:#7031F5}.orderable-layout-preview-notice p{margin:.5em 0;padding:2px} -
orderable/tags/1.3.0/inc/modules/layouts/assets/admin/js/main.min.js
r2637423 r2709284 1 !function(n,l){"use strict";var c={on_ready:function(){c.builder.init()},helpers:{get_field_type:function(e){return"SELECT"===e.get(0).tagName?"select":e.attr("type")},strip_prefix:function(e){return e.replace("orderable_","")}},builder:{init:function(){c.builder.watch()},watch:function(){n(l.body).on("change","#orderable-layout-settings-metabox input, #orderable-layout-settings-metabox select",function(){var e=n(this).closest("#orderable-layout-settings-metabox"),a={},o=!0;e.find(".form-field > input, .form-field > select").each(function(e,t){var r=n(t),i=c.helpers.get_field_type(r),t="";"string"==typeof(t="checkbox"===i?n(this).is(":checked"):("select"===i&&r.attr("multiple"),r.val()))&&0===t.indexOf("pro_")&&(o=!1,n(l.body).trigger("orderable-pro-modal")),a[c.helpers.strip_prefix(this.name.replace("[]",""))]=t}),o&&c.builder.reload_preview(a)})},reload_preview:function(e){n.post(ajaxurl,{action:"orderable_preview",data:e},function(e){e.success&&n("#orderable-layout-preview-metabox .orderable-main-wrap").html(e.data.shortcode)})}}};n(l).ready(c.on_ready)}(jQuery,document);1 !function(n,l){"use strict";var c={on_ready:function(){c.builder.init()},helpers:{get_field_type:function(e){return"SELECT"===e.get(0).tagName?"select":e.attr("type")},strip_prefix:function(e){return e.replace("orderable_","")}},builder:{init:function(){c.builder.watch()},watch:function(){n(l.body).on("change","#orderable-layout-settings-metabox input, #orderable-layout-settings-metabox select",function(){var e=n(this).closest("#orderable-layout-settings-metabox"),a={},o=!0;e.find(".form-field > input, .form-field > select").each(function(e,t){var t=n(t),r=c.helpers.get_field_type(t),i="";"string"==typeof(i="checkbox"===r?n(this).is(":checked"):("select"===r&&t.attr("multiple"),t.val()))&&0===i.indexOf("pro_")&&(o=!1,n(l.body).trigger("orderable-pro-modal")),a[c.helpers.strip_prefix(this.name.replace("[]",""))]=i}),o&&c.builder.reload_preview(a)})},reload_preview:function(e){n.post(ajaxurl,{action:"orderable_preview",data:e},function(e){e.success&&n("#orderable-layout-preview-metabox .orderable-main-wrap").html(e.data.shortcode)})}}};n(l).ready(c.on_ready)}(jQuery,document); -
orderable/tags/1.3.0/inc/modules/layouts/class-layouts.php
r2637423 r2709284 96 96 ); 97 97 98 $labels['all_items'] = __( ' Layout Builder', 'orderable' );98 $labels['all_items'] = __( 'Product Layouts', 'orderable' ); 99 99 100 100 $args = array( … … 183 183 184 184 $layout_settings = apply_filters( 'orderable_layout_settings_save_data', array( 185 'categories' => (array) filter_input( INPUT_POST, 'orderable_categories', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ),186 'layout' => filter_input( INPUT_POST, 'orderable_layout', FILTER_SANITIZE_STRING ),187 'images' => 'yes' === filter_input( INPUT_POST, 'orderable_images', FILTER_SANITIZE_STRING ),188 'card_click able' => 'yes' === filter_input( INPUT_POST, 'orderable_card_clickable', FILTER_SANITIZE_STRING ),185 'categories' => (array) filter_input( INPUT_POST, 'orderable_categories', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ), 186 'layout' => filter_input( INPUT_POST, 'orderable_layout', FILTER_SANITIZE_STRING ), 187 'images' => 'yes' === filter_input( INPUT_POST, 'orderable_images', FILTER_SANITIZE_STRING ), 188 'card_click' => filter_input( INPUT_POST, 'orderable_card_click', FILTER_SANITIZE_STRING ), 189 189 ) ); 190 190 … … 236 236 <div class="orderable-main-wrap"> 237 237 <?php 238 echo do_shortcode( sprintf( '[orderable id="%d"]', $post->ID ) );238 echo do_shortcode( sprintf( '[orderable id="%d"]', $post->ID ) ); 239 239 ?> 240 240 </div> … … 271 271 $defaults = self::get_layout_defaults(); 272 272 273 $args = wp_parse_args( $args, $defaults ); 274 $args['images'] = (boolean) json_decode( strtolower( $args['images'] ) ); 275 $args['card_clickable'] = (boolean) json_decode( strtolower( $args['card_clickable'] ) ); 273 $args = wp_parse_args( $args, $defaults ); 274 $args['images'] = (boolean) json_decode( strtolower( $args['images'] ) ); 276 275 277 276 if ( ! is_null( $args['id'] ) ) { … … 308 307 * @param array $categories Categories. 309 308 * @param array $args Layout Settings. 309 * 310 310 * @return array 311 311 */ … … 314 314 * Exclude Sections for Unique Categories. 315 315 * 316 * @param array $exclude_sections The Excluded sections.317 * @param array $categories The Unfiltered Categories.318 * @param array $args Layout Settings.316 * @param array $exclude_sections The Excluded sections. 317 * @param array $categories The Unfiltered Categories. 318 * @param array $args Layout Settings. 319 319 * 320 320 * @return array … … 322 322 $exclude_sections = apply_filters( 'orderable_exclude_sections_for_unique_categories', array( 'side_tabs', 'top_tabs' ), $categories, $args ); 323 323 324 if ( i n_array( $args['sections'], $exclude_sections) ) {324 if ( isset( $args['sections'] ) && in_array( $args['sections'], $exclude_sections, true ) ) { 325 325 $unique_categories = $categories; 326 326 } else { … … 404 404 */ 405 405 public static function get_layout_defaults( $layout_id = null ) { 406 return apply_filters( 'orderable_layout_defaults', array( 407 'id' => $layout_id, 408 'categories' => array(), 409 'layout' => 'grid', 410 'images' => true, 411 'card_clickable' => false, 412 ), $layout_id ); 406 return apply_filters( 407 'orderable_layout_defaults', 408 array( 409 'id' => $layout_id, 410 'categories' => array(), 411 'layout' => 'grid', 412 'images' => true, 413 'card_click' => '', 414 ), 415 $layout_id 416 ); 413 417 } 414 418 … … 486 490 487 491 $notices[] = array( 488 'name' => 'layout_builder',489 'title' => __( 'What is the Orderable Layout Builder?', 'orderable' ),492 'name' => 'layout_builder', 493 'title' => __( 'What are Product Layouts?', 'orderable' ), 490 494 'description' => __( 'This is where you can create product layouts and customize their settings. Save your layouts here and reuse them later using the block editor, shortcode (great for page builders), or PHP snippet.', 'orderable' ), 491 495 ); … … 503 507 public static function get_product_card_classes( $args = array() ) { 504 508 $class = array( 505 'orderable-product' 509 'orderable-product', 506 510 ); 507 511 … … 510 514 } 511 515 512 if ( ! empty( $args['card_click able'] ) ) {513 $class[] = 'orderable-product-- clickable';516 if ( ! empty( $args['card_click'] ) ) { 517 $class[] = 'orderable-product--' . $args['card_click']; 514 518 } 515 519 -
orderable/tags/1.3.0/inc/modules/layouts/templates/admin/layout-settings-metabox.php
r2575142 r2709284 92 92 <label for="clickable_card"><?php _e( 'Clickable Card', 'orderable' ); ?></label> 93 93 </h3> 94 <p><?php _e( ' When enabled, the whole product card is clickable, instead of just the button.', 'orderable' ); ?></p>94 <p><?php _e( 'Choose what happens when you click the product card.', 'orderable' ); ?></p> 95 95 </div> 96 96 <div class="orderable-fields-row__body-row-right"> 97 97 <?php 98 // Card Clickable.99 woocommerce_wp_ checkbox(98 // Layout. 99 woocommerce_wp_select( 100 100 array( 101 'id' => 'orderable_card_clickable', 102 'label' => '', 103 'value' => wc_bool_to_string( $layout_settings['card_clickable'] ), 101 'id' => 'orderable_card_click', 102 'label' => '', 103 'options' => array( 104 '' => __( 'Nothing', 'orderable' ), 105 'add-to-cart' => __( 'Add to Cart', 'orderable' ), 106 'view-product' => __( 'Quick View Product', 'orderable' ), 107 ), 108 'value' => esc_attr( $layout_settings['card_click'] ), 104 109 ) 105 110 ); -
orderable/tags/1.3.0/inc/modules/layouts/templates/product.php
r2575142 r2709284 14 14 $class = Orderable_Layouts::get_product_card_classes( $args ); ?> 15 15 16 <div class="<?php echo esc_attr( implode( ' ', $class ) ); ?>"> 16 <div class="<?php echo esc_attr( implode( ' ', $class ) ); ?>" 17 <?php if ( ! empty( $args['card_click'] ) ) { ?> 18 data-orderable-trigger="<?php echo esc_attr( $args['card_click'] ); ?>" 19 data-orderable-product-id="<?php echo esc_attr( $product->is_type( 'variation' ) ? $product->get_parent_id() : $product->get_id() ); ?>" 20 data-orderable-product-type="<?php echo esc_attr( $product->get_type() ); ?>" 21 data-orderable-variation-id="<?php echo esc_attr( $product->is_type( 'variation' ) ? $product->get_id() : 0 ); ?>" 22 data-orderable-variation-attributes="" 23 <?php } ?> 24 > 17 25 <?php include ORDERABLE_TEMPLATES_PATH . 'product/hero.php'; ?> 18 26 <div class="orderable-product__content-wrap"> -
orderable/tags/1.3.0/inc/modules/live-view/class-live-view.php
r2604252 r2709284 24 24 add_action( 'admin_menu', array( __CLASS__, 'add_settings_page' ) ); 25 25 add_action( 'init', array( __CLASS__, 'create_order_manager_role' ) ); 26 add_action( 'current_screen', array( __CLASS__, 'restrict_order_manager_role_access' ) ); 26 27 } 27 28 … … 119 120 */ 120 121 public static function get_last_order_id() { 121 $orders = wc_get_orders( array( 122 'limit' => 1, 123 ) ); 122 $orders = wc_get_orders( 123 array( 124 'limit' => 1, 125 ) 126 ); 124 127 125 128 if ( empty( $orders ) ) { … … 186 189 if ( ! self::is_live_view() ) { 187 190 return; 188 } ?> 191 } 192 ?> 189 193 <input type="hidden" name="orderable_live_view" value="1" /> 190 194 <?php … … 195 199 */ 196 200 public static function add_settings_page() { 197 add_submenu_page( 'orderable', __( 'Live Order View', 'orderable' ), __( 'Live Order View', 'orderable' ), 'manage_shop_order_terms', 'edit.php?post_type=shop_order&orderable_live_view', '', 1 );201 add_submenu_page( 'orderable', __( 'Live Order View', 'orderable' ), __( 'Live Order View', 'orderable' ), 'manage_shop_order_terms', 'edit.php?post_type=shop_order&orderable_live_view', '', 1 ); 198 202 } 199 203 … … 202 206 */ 203 207 public static function create_order_manager_role() { 204 // Capabilities for order manager role. 208 // Capabilities for order manager role. 205 209 $capabilities = array( 210 'edit_posts' => true, 206 211 'view_admin_dashboard' => true, 207 212 'read' => true, … … 225 230 ); 226 231 227 if ( ! get_role('order_manager') ) { 228 add_role( __('order_manager', 'orderable'), __('Order Manager', 'orderable'), $capabilities ); 232 $role = get_role( 'order_manager' ); 233 $removed_role = false; 234 235 // Ensure that we remove the legacy role that does not 236 // include the new `edit_posts` capability. 237 if ( $role && ! $role->has_cap( 'edit_posts' ) ) { 238 remove_role( 'order_manager' ); 239 $removed_role = true; 240 } 241 242 if ( ! $role || $removed_role ) { 243 add_role( __( 'order_manager', 'orderable' ), __( 'Order Manager', 'orderable' ), $capabilities ); 244 } 245 } 246 247 /** 248 * Restrict access to parts of the admin dashboard that 249 * the `edit_posts` capability makes available. 250 * 251 * @return void 252 */ 253 public static function restrict_order_manager_role_access() { 254 global $pagenow, $current_screen; 255 256 $userdata = get_userdata( get_current_user_id() ); 257 258 if ( ! in_array( 'order_manager', $userdata->roles, true ) ) { 259 return; 260 } 261 262 // Remove access to menu pages made visible by the `edit_posts` cap. 263 remove_menu_page( 'edit.php' ); 264 remove_menu_page( 'edit-comments.php' ); 265 266 // Redirect back to the list of orders if the user tries to directly 267 // access Add New, All Posts or Comments menu pages. 268 if ( 269 ( 'post-new.php' === $pagenow && 'shop_order' !== $current_screen->id ) || 270 'edit-post' === $current_screen->id || 271 'edit-comments' === $current_screen->id 272 ) { 273 wp_safe_redirect( admin_url( '/edit.php?post_type=shop_order' ) ); 274 exit; 229 275 } 230 276 } -
orderable/tags/1.3.0/inc/modules/timed-products/class-timed-products.php
r2666071 r2709284 40 40 */ 41 41 public static function timed_products_page() { 42 ?> 43 <div class="wrap"> 44 <h1 class="wp-heading-inline"><?php _e( 'Timed Products', 'orderable' ); ?></h1> 45 <div> 46 <?php echo Orderable_Helpers::get_pro_button(); ?> 47 </div> 48 </div> 49 <?php 42 Orderable_Settings::upgrade_page_content( 'timed-products' ); 50 43 } 51 44 } -
orderable/tags/1.3.0/inc/modules/timings/class-timings-order.php
r2549156 r2709284 40 40 wp_enqueue_script( 'daterangepicker', ORDERABLE_ASSETS_URL . 'vendor/daterangepicker/daterangepicker.js', array( 'jquery', 'momentjs' ), ORDERABLE_VERSION, true ); 41 41 wp_enqueue_style( 'daterangepicker', ORDERABLE_ASSETS_URL . 'vendor/daterangepicker/daterangepicker.css', array(), ORDERABLE_VERSION ); 42 43 wp_localize_script( 44 'daterangepicker', 45 'orderable_timings_daterangepicker', 46 array( 47 'today' => esc_html__( 'Today', 'orderable' ), 48 'tomorrow' => esc_html__( 'Tomorrow', 'orderable' ), 49 'next_7_days' => esc_html__( 'Next 7 Days', 'orderable' ), 50 'next_30_days' => esc_html__( 'Next 30 Days', 'orderable' ), 51 'custom_range' => esc_html__( 'Custom Range', 'orderable' ), 52 'clear' => esc_html__( 'Clear', 'orderable' ), 53 'apply' => esc_html__( 'Apply', 'orderable' ), 54 ) 55 ); 42 56 } 43 57 … … 64 78 */ 65 79 init: function() { 80 var ranges = {}; 81 ranges[orderable_timings_daterangepicker.today] = [ moment(), moment() ]; 82 ranges[orderable_timings_daterangepicker.tomorrow] = [ moment().add( 1, 'days' ), moment().add( 1, 'days' ) ]; 83 ranges[orderable_timings_daterangepicker.next_7_days] = [ moment(), moment().add( 6, 'days' ) ]; 84 ranges[orderable_timings_daterangepicker.next_30_days] = [ moment(), moment().add( 29, 'days' ) ]; 85 66 86 jQuery( 'input[name="orderable_due_date"]' ).daterangepicker( { 67 87 opens: 'left', … … 70 90 locale: { 71 91 format: 'YYYY/MM/DD', 72 cancelLabel: 'Clear' 92 cancelLabel: orderable_timings_daterangepicker.clear, 93 applyLabel: orderable_timings_daterangepicker.apply, 94 daysOfWeek: [ 95 '<?php esc_html_e( 'Su', 'orderable' ); ?>', 96 '<?php esc_html_e( 'Mo', 'orderable' ); ?>', 97 '<?php esc_html_e( 'Tu', 'orderable' ); ?>', 98 '<?php esc_html_e( 'We', 'orderable' ); ?>', 99 '<?php esc_html_e( 'Th', 'orderable' ); ?>', 100 '<?php esc_html_e( 'Fr', 'orderable' ); ?>', 101 '<?php esc_html_e( 'Sa', 'orderable' ); ?>', 102 ], 73 103 }, 74 ranges: { 75 'Today': [ moment(), moment() ], 76 'Tomorrow': [ moment().add( 1, 'days' ), moment().add( 1, 'days' ) ], 77 'Next 7 Days': [ moment(), moment().add( 6, 'days' ) ], 78 'Next 30 Days': [ moment(), moment().add( 29, 'days' ) ] 79 } 104 ranges: ranges, 80 105 } ); 81 106 }, … … 280 305 $due_date = self::get_filtered_due_date(); 281 306 ?> 282 <input type="text" name="orderable_due_date" value="<?php echo esc_attr( $due_date['formatted'] ); ?>" placeholder="<?php esc_attr_e( 'Filter by due date', ' ' ); ?>" style="min-width: 195px;" />307 <input type="text" name="orderable_due_date" value="<?php echo esc_attr( $due_date['formatted'] ); ?>" placeholder="<?php esc_attr_e( 'Filter by due date', 'orderable' ); ?>" style="min-width: 195px;" /> 283 308 <?php 284 309 } -
orderable/tags/1.3.0/languages/orderable.pot
r2641784 r2709284 1 # Copyright (C) 202 1orderable1 # Copyright (C) 2022 orderable 2 2 # This file is distributed under the same license as the orderable package. 3 3 msgid "" … … 14 14 "Plural-Forms: nplurals=2; plural=(n != 1);\n" 15 15 16 #: orderable.php:10 516 #: orderable.php:108 17 17 msgid "Orderable requires WooCommerce to be installed and activated." 18 18 msgstr "" 19 19 20 #: orderable.php:1 1820 #: orderable.php:121 21 21 msgid "Orderable Pro needs to be at least v%s for compatibility. Please update the Orderable Pro plugin." 22 22 msgstr "" 23 23 24 #: orderable.php:1 1924 #: orderable.php:122 25 25 msgid "Update now" 26 26 msgstr "" … … 30 30 msgstr "" 31 31 32 #: inc/class-ajax.php:1 2632 #: inc/class-ajax.php:130 33 33 msgid "Sorry, there are no delivery or pickup options available." 34 34 msgstr "" 35 35 36 #: inc/class-ajax.php:13 136 #: inc/class-ajax.php:135 37 37 msgid "pickup" 38 38 msgstr "" 39 39 40 #: inc/class-ajax.php:13 140 #: inc/class-ajax.php:135 41 41 msgid "delivery" 42 42 msgstr "" 43 43 44 #: inc/class-ajax.php:13 444 #: inc/class-ajax.php:138 45 45 msgid "Sorry, there are no %s options available. Please try %s instead." 46 46 msgstr "" 47 47 48 #: inc/class-ajax.php:2 28, inc/class-settings.php:36348 #: inc/class-ajax.php:232, inc/class-settings.php:380 49 49 msgid "Country / State" 50 50 msgstr "" … … 152 152 msgstr "" 153 153 154 #: inc/class-products.php: 295154 #: inc/class-products.php:313 155 155 msgid "Add" 156 156 msgstr "" 157 157 158 #: inc/class-products.php:3 01158 #: inc/class-products.php:318 159 159 msgid "Select" 160 160 msgstr "" 161 161 162 #: inc/class-products.php:3 09162 #: inc/class-products.php:326 163 163 msgid "Out of Stock" 164 164 msgstr "" 165 165 166 #: inc/class-settings.php:80, inc/class-settings.php:97 166 #: inc/class-products.php:657 167 msgid "Description" 168 msgstr "" 169 170 #: inc/class-settings.php:81, inc/class-settings.php:98 167 171 msgid "Settings" 168 172 msgstr "" 169 173 170 #: inc/class-settings.php:9 6174 #: inc/class-settings.php:97 171 175 msgid "Orderable Settings" 172 176 msgstr "" 173 177 174 #: inc/class-settings.php:13 7178 #: inc/class-settings.php:138 175 179 msgid "Dashboard" 176 180 msgstr "" 177 181 178 #: inc/class-settings.php:14 2182 #: inc/class-settings.php:143 179 183 msgid "Style" 180 184 msgstr "" 181 185 182 #: inc/class-settings.php:150 186 #: inc/class-settings.php:151 187 msgid "Getting Started" 188 msgstr "" 189 190 #: inc/class-settings.php:152 191 msgid "Below you will find a playlist of useful \"getting started\" videos for Orderable. If you need any help getting things set up, please <a href=\"%s\" target=\"_blank\">reach out to our support team</a>." 192 msgstr "" 193 194 #: inc/class-settings.php:167 183 195 msgid "General" 184 196 msgstr "" 185 197 186 #: inc/class-settings.php:1 56198 #: inc/class-settings.php:173 187 199 msgid "Brand Color" 188 200 msgstr "" 189 201 190 #: inc/class-settings.php:1 57202 #: inc/class-settings.php:174 191 203 msgid "Select an accent color to be used for buttons and other elements." 192 204 msgstr "" 193 205 194 #: inc/class-settings.php:1 63206 #: inc/class-settings.php:180 195 207 msgid "Button Style" 196 208 msgstr "" 197 209 198 #: inc/class-settings.php:1 64210 #: inc/class-settings.php:181 199 211 msgid "Choose a button style which suits your theme." 200 212 msgstr "" 201 213 202 #: inc/class-settings.php:1 68214 #: inc/class-settings.php:185 203 215 msgid "Rounded" 204 216 msgstr "" 205 217 206 #: inc/class-settings.php:1 69218 #: inc/class-settings.php:186 207 219 msgid "Square" 208 220 msgstr "" 209 221 210 #: inc/class-settings.php:1 78222 #: inc/class-settings.php:195 211 223 msgid "Product Cards" 212 224 msgstr "" 213 225 214 #: inc/class-settings.php: 184226 #: inc/class-settings.php:201 215 227 msgid "Product Title Size (px)" 216 228 msgstr "" 217 229 218 #: inc/class-settings.php: 185230 #: inc/class-settings.php:202 219 231 msgid "Set the product title font size in pixels." 220 232 msgstr "" 221 233 222 #: inc/class-settings.php: 191234 #: inc/class-settings.php:208 223 235 msgid "Product Price Size (px)" 224 236 msgstr "" 225 237 226 #: inc/class-settings.php: 192238 #: inc/class-settings.php:209 227 239 msgid "Set the product price font size in pixels." 228 240 msgstr "" 229 241 230 #: inc/class-settings.php:3 23242 #: inc/class-settings.php:340 231 243 msgid "Installing..." 232 244 msgstr "" 233 245 234 #: inc/class-settings.php:3 25246 #: inc/class-settings.php:342 235 247 msgid "WooCommerce" 236 248 msgstr "" 237 249 238 #: inc/class-settings.php:3 38250 #: inc/class-settings.php:355 239 251 msgid "Business Name" 240 252 msgstr "" 241 253 242 #: inc/class-settings.php:3 45254 #: inc/class-settings.php:362 243 255 msgid "Address line 1" 244 256 msgstr "" 245 257 246 #: inc/class-settings.php:3 51258 #: inc/class-settings.php:368 247 259 msgid "Address line 2" 248 260 msgstr "" 249 261 250 #: inc/class-settings.php:3 57262 #: inc/class-settings.php:374 251 263 msgid "City" 252 264 msgstr "" 253 265 254 #: inc/class-settings.php:3 70266 #: inc/class-settings.php:387 255 267 msgid "Postcode / ZIP" 256 268 msgstr "" 257 269 258 #: inc/class-settings.php:3 76270 #: inc/class-settings.php:393 259 271 msgid "Business Email" 260 272 msgstr "" 261 273 262 #: inc/class-settings.php: 384274 #: inc/class-settings.php:401 263 275 msgid "Please keep me up to date via email on new Orderable training and features" 264 276 msgstr "" 265 277 266 #: inc/class-settings.php: 397278 #: inc/class-settings.php:414 267 279 msgid "Which services do you offer?" 268 280 msgstr "" 269 281 270 #: inc/class-settings.php:4 01, inc/modules/services/class-services-order.php:34, inc/modules/services/class-services.php:192, inc/modules/timings/class-timings-settings.php:135, inc/modules/timings/class-timings-settings.php:287, inc/modules/timings/class-timings-settings.php:454282 #: inc/class-settings.php:418, inc/modules/services/class-services-order.php:34, inc/modules/services/class-services.php:192, inc/modules/timings/class-timings-settings.php:135, inc/modules/timings/class-timings-settings.php:286, inc/modules/timings/class-timings-settings.php:453 271 283 msgid "Delivery" 272 284 msgstr "" 273 285 274 #: inc/class-settings.php:4 02, inc/modules/services/class-services-order.php:35, inc/modules/services/class-services.php:191, inc/modules/timings/class-timings-settings.php:136, inc/modules/timings/class-timings-settings.php:292, inc/modules/timings/class-timings-settings.php:460286 #: inc/class-settings.php:419, inc/modules/services/class-services-order.php:35, inc/modules/services/class-services.php:191, inc/modules/timings/class-timings-settings.php:136, inc/modules/timings/class-timings-settings.php:291, inc/modules/timings/class-timings-settings.php:459 275 287 msgid "Pickup" 276 288 msgstr "" 277 289 278 #: inc/class-settings.php:4 07290 #: inc/class-settings.php:424 279 291 msgid "Which days of the week are you open?" 280 292 msgstr "" 281 293 282 #: inc/class-settings.php:4 11, inc/modules/timings/class-timings.php:59294 #: inc/class-settings.php:428, inc/modules/timings/class-timings.php:59 283 295 msgid "Monday" 284 296 msgstr "" 285 297 286 #: inc/class-settings.php:4 12, inc/modules/timings/class-timings.php:60298 #: inc/class-settings.php:429, inc/modules/timings/class-timings.php:60 287 299 msgid "Tuesday" 288 300 msgstr "" 289 301 290 #: inc/class-settings.php:4 13, inc/modules/timings/class-timings.php:61302 #: inc/class-settings.php:430, inc/modules/timings/class-timings.php:61 291 303 msgid "Wednesday" 292 304 msgstr "" 293 305 294 #: inc/class-settings.php:4 14, inc/modules/timings/class-timings.php:62306 #: inc/class-settings.php:431, inc/modules/timings/class-timings.php:62 295 307 msgid "Thursday" 296 308 msgstr "" 297 309 298 #: inc/class-settings.php:4 15, inc/modules/timings/class-timings.php:63310 #: inc/class-settings.php:432, inc/modules/timings/class-timings.php:63 299 311 msgid "Friday" 300 312 msgstr "" 301 313 302 #: inc/class-settings.php:4 16, inc/modules/timings/class-timings.php:64314 #: inc/class-settings.php:433, inc/modules/timings/class-timings.php:64 303 315 msgid "Saturday" 304 316 msgstr "" 305 317 306 #: inc/class-settings.php:4 17, inc/modules/timings/class-timings.php:58318 #: inc/class-settings.php:434, inc/modules/timings/class-timings.php:58 307 319 msgid "Sunday" 308 320 msgstr "" 309 321 310 #: inc/class-settings.php:4 22322 #: inc/class-settings.php:439 311 323 msgid "What are your normal opening hours?" 312 324 msgstr "" 313 325 314 #: inc/class-settings.php:5 49326 #: inc/class-settings.php:570 315 327 msgid "Local" 316 328 msgstr "" 317 329 318 #: inc/class-settings.php:6 64330 #: inc/class-settings.php:685 319 331 msgid "From:" 320 332 msgstr "" 321 333 322 #: inc/class-settings.php:6 77334 #: inc/class-settings.php:698 323 335 msgid "To:" 324 336 msgstr "" 325 337 326 #: inc/class-settings.php:7 00, inc/class-settings.php:720338 #: inc/class-settings.php:721, inc/class-settings.php:741 327 339 msgid "Visibility" 328 340 msgstr "" 329 341 330 #: inc/class-settings.php:7 02, inc/class-settings.php:724342 #: inc/class-settings.php:723, inc/class-settings.php:745 331 343 msgid "Default" 332 344 msgstr "" 333 345 334 #: inc/class-settings.php:7 03, inc/class-settings.php:725346 #: inc/class-settings.php:724, inc/class-settings.php:746 335 347 msgid "Hidden" 336 348 msgstr "" 337 349 338 #: inc/class-settings.php:7 05, inc/class-settings.php:727350 #: inc/class-settings.php:726, inc/class-settings.php:748 339 351 msgid "Choose whether to hide (on the frontend) this category archive and all single product pages within this category. Hiding them is recommended if using this category in the Orderable menu shortcode." 340 352 msgstr "" 341 353 342 #: inc/class-settings.php:8 58354 #: inc/class-settings.php:882 343 355 msgid "Get Help" 344 356 msgstr "" 345 357 346 #: inc/class-settings.php:8 59358 #: inc/class-settings.php:886 347 359 msgid "Request Feature" 348 360 msgstr "" 349 361 350 #: inc/class-settings.php:8 60362 #: inc/class-settings.php:890 351 363 msgid "View Docs" 352 364 msgstr "" 353 365 354 #: inc/class-settings.php: 884366 #: inc/class-settings.php:914 355 367 msgid "Set Up Your Store" 356 368 msgstr "" 357 369 358 #: inc/class-settings.php: 886370 #: inc/class-settings.php:916 359 371 msgid "Use the Store Settings tab to configure your store's opening hours, delivery/pickup schedule, and holidays." 360 372 msgstr "" 361 373 362 #: inc/class-settings.php:9 00, inc/modules/layouts/class-layouts.php:98363 msgid " Layout Builder"364 msgstr "" 365 366 #: inc/class-settings.php:9 02374 #: inc/class-settings.php:930, inc/modules/layouts/class-layouts.php:93, inc/modules/layouts/class-layouts.php:98 375 msgid "Product Layouts" 376 msgstr "" 377 378 #: inc/class-settings.php:932 367 379 msgid "Use the Layout Builder to create a product list based on category. Embed your layout using the shortcode or block." 368 380 msgstr "" 369 381 370 #: inc/class-settings.php:9 16, inc/modules/live-view/class-live-view.php:197, inc/modules/live-view/class-live-view.php:197382 #: inc/class-settings.php:946, inc/modules/live-view/class-live-view.php:201, inc/modules/live-view/class-live-view.php:201 371 383 msgid "Live Order View" 372 384 msgstr "" 373 385 374 #: inc/class-settings.php:9 18386 #: inc/class-settings.php:948 375 387 msgid "Use the Live Order View to get notified and manage orders in real time." 376 388 msgstr "" 377 389 378 #: inc/class-settings.php:9 31, inc/modules/addons/class-addons.php:35, inc/modules/addons/class-addons.php:44390 #: inc/class-settings.php:961, inc/class-settings.php:1127, inc/modules/addons/class-addons.php:35 379 391 msgid "Product Addons" 380 392 msgstr "" 381 393 382 #: inc/class-settings.php:9 33394 #: inc/class-settings.php:963 383 395 msgid "Create product options which can be conditionally applied to the products in your store." 384 396 msgstr "" 385 397 386 #: inc/class-settings.php: 977, inc/modules/drawer/templates/drawer.php:12398 #: inc/class-settings.php:1007, inc/modules/drawer/templates/drawer.php:12 387 399 msgid "Close" 388 400 msgstr "" 389 401 390 #: inc/class-settings.php: 978402 #: inc/class-settings.php:1008 391 403 msgid "Next" 392 404 msgstr "" 393 405 394 #: inc/class-settings.php: 979406 #: inc/class-settings.php:1009 395 407 msgid "Skip" 408 msgstr "" 409 410 #: inc/class-settings.php:1124 411 msgid "Upgrade to Orderable Pro" 412 msgstr "" 413 414 #: inc/class-settings.php:1124 415 msgid "to access this feature, plus many more revenue boosting features." 416 msgstr "" 417 418 #: inc/class-settings.php:1127 419 msgid "Add options to your products like toppings, allergy information, size, etc." 420 msgstr "" 421 422 #: inc/class-settings.php:1128 423 msgid "Cart Bumps" 424 msgstr "" 425 426 #: inc/class-settings.php:1128 427 msgid "Increase sales by offering related products right in the side cart." 428 msgstr "" 429 430 #: inc/class-settings.php:1129, inc/modules/timings/class-timings-settings.php:380 431 msgid "Time Slots" 432 msgstr "" 433 434 #: inc/class-settings.php:1129 435 msgid "Improve customer satisfaction by offering specific time slots for their order." 436 msgstr "" 437 438 #: inc/class-settings.php:1130 439 msgid "Custom Checkout" 440 msgstr "" 441 442 #: inc/class-settings.php:1130 443 msgid "Use our custom checkout experience to drive conversions at the most important step of your online store." 444 msgstr "" 445 446 #: inc/class-settings.php:1131, inc/class-settings.php:1134 447 msgid "Checkout Tipping" 448 msgstr "" 449 450 #: inc/class-settings.php:1131, inc/class-settings.php:1134 451 msgid "Make it easy for your customers to include a tip with their order." 452 msgstr "" 453 454 #: inc/class-settings.php:1132, inc/modules/timed-products/class-timed-products.php:35, inc/modules/timed-products/class-timed-products.php:35 455 msgid "Timed Products" 456 msgstr "" 457 458 #: inc/class-settings.php:1132 459 msgid "Show/hide products in your store based on time/date conditions." 460 msgstr "" 461 462 #: inc/class-settings.php:1133 463 msgid "Custom Order Statuses" 464 msgstr "" 465 466 #: inc/class-settings.php:1133 467 msgid "Add and modify order statuses to improve the backend flow of your store. Create custom notifications for each status." 468 msgstr "" 469 470 #: inc/class-settings.php:1137 471 msgid "Upgrade Now" 396 472 msgstr "" 397 473 … … 412 488 msgstr "" 413 489 414 #: inc/modules/addons/class-addons.php:35 490 #: inc/modules/addons/class-addons.php:35, inc/modules/custom-order-status/class-custom-order-status.php:35, inc/modules/timed-products/class-timed-products.php:35 415 491 msgid "Pro" 416 492 msgstr "" 417 493 418 #: inc/modules/drawer/class-drawer-settings.php:58 494 #: inc/modules/checkout/class-checkout.php:38 495 msgid "Checkout Settings" 496 msgstr "" 497 498 #: inc/modules/checkout/class-checkout.php:44 499 msgid "Enable Custom Checkout" 500 msgstr "" 501 502 #: inc/modules/checkout/class-checkout.php:45 503 msgid "When enabled, your theme's checkout will be replaced by Orderable's optimized checkout experience." 504 msgstr "" 505 506 #: inc/modules/custom-order-status/class-custom-order-status.php:35, inc/modules/custom-order-status/class-custom-order-status.php:35 507 msgid "Order Statuses" 508 msgstr "" 509 510 #. translators: %s Product title. 511 #: inc/modules/drawer/class-drawer-ajax.php:49 512 msgid "You can only have 1 %s in your cart." 513 msgstr "" 514 515 #: inc/modules/drawer/class-drawer-settings.php:61 516 msgid "Side Drawer" 517 msgstr "" 518 519 #: inc/modules/drawer/class-drawer-settings.php:68 419 520 msgid "Mini Cart Settings" 420 521 msgstr "" 421 522 422 #: inc/modules/drawer/class-drawer-settings.php: 64523 #: inc/modules/drawer/class-drawer-settings.php:74 423 524 msgid "Cart Icon Position" 424 525 msgstr "" 425 526 426 #: inc/modules/drawer/class-drawer-settings.php: 65527 #: inc/modules/drawer/class-drawer-settings.php:75 427 528 msgid "Set the position of the mini cart icon when the cart is not empty. Choose \"None\" to disable it." 428 529 msgstr "" 429 530 430 #: inc/modules/drawer/class-drawer-settings.php: 68531 #: inc/modules/drawer/class-drawer-settings.php:78, inc/modules/drawer/class-drawer-settings.php:121 431 532 msgid "None" 432 533 msgstr "" 433 534 434 #: inc/modules/drawer/class-drawer-settings.php: 69535 #: inc/modules/drawer/class-drawer-settings.php:79 435 536 msgid "Bottom Right" 436 537 msgstr "" 437 538 438 #: inc/modules/drawer/class-drawer-settings.php: 70539 #: inc/modules/drawer/class-drawer-settings.php:80 439 540 msgid "Bottom Left" 440 541 msgstr "" 441 542 442 #: inc/modules/drawer/class-drawer-settings.php: 71543 #: inc/modules/drawer/class-drawer-settings.php:81 443 544 msgid "Top Left" 444 545 msgstr "" 445 546 446 #: inc/modules/drawer/class-drawer-settings.php: 72547 #: inc/modules/drawer/class-drawer-settings.php:82 447 548 msgid "Top Right" 448 549 msgstr "" 449 550 450 #: inc/modules/drawer/class-drawer-settings.php: 78551 #: inc/modules/drawer/class-drawer-settings.php:88 451 552 msgid "Fine-Tune Position" 452 553 msgstr "" 453 554 454 #: inc/modules/drawer/class-drawer-settings.php: 79555 #: inc/modules/drawer/class-drawer-settings.php:89 455 556 msgid "Fine-tune the position of the mini cart icon in pixels. These settings will push the cart icon away from the respective side." 456 557 msgstr "" 457 558 559 #: inc/modules/drawer/class-drawer-settings.php:100 560 msgid "Quickview Settings" 561 msgstr "" 562 563 #: inc/modules/drawer/class-drawer-settings.php:101 564 msgid "Settings for when products are displayed in the Orderable drawer." 565 msgstr "" 566 567 #: inc/modules/drawer/class-drawer-settings.php:106 568 msgid "Accordion Position" 569 msgstr "" 570 571 #: inc/modules/drawer/class-drawer-settings.php:107 572 msgid "Where should the product information accordion be displayed in the side drawer." 573 msgstr "" 574 575 #: inc/modules/drawer/class-drawer-settings.php:110 576 msgid "Before Product Options" 577 msgstr "" 578 579 #: inc/modules/drawer/class-drawer-settings.php:111 580 msgid "After Product Options" 581 msgstr "" 582 583 #: inc/modules/drawer/class-drawer-settings.php:117 584 msgid "Product Description" 585 msgstr "" 586 458 587 #: inc/modules/drawer/class-drawer-settings.php:118 588 msgid "Choose which product description to display in the side drawer." 589 msgstr "" 590 591 #: inc/modules/drawer/class-drawer-settings.php:122 592 msgid "Short Description" 593 msgstr "" 594 595 #: inc/modules/drawer/class-drawer-settings.php:123 596 msgid "Full Description" 597 msgstr "" 598 599 #: inc/modules/drawer/class-drawer-settings.php:161 459 600 msgid "Top (px)" 460 601 msgstr "" 461 602 462 #: inc/modules/drawer/class-drawer-settings.php:1 24603 #: inc/modules/drawer/class-drawer-settings.php:167 463 604 msgid "Bottom (px)" 464 605 msgstr "" 465 606 466 #: inc/modules/drawer/class-drawer-settings.php:1 30607 #: inc/modules/drawer/class-drawer-settings.php:173 467 608 msgid "Right (px)" 468 609 msgstr "" 469 610 470 #: inc/modules/drawer/class-drawer-settings.php:1 36611 #: inc/modules/drawer/class-drawer-settings.php:179 471 612 msgid "Left (px)" 472 msgstr ""473 474 #: inc/modules/layouts/class-layouts.php:93475 msgid "Product Layouts"476 613 msgstr "" 477 614 … … 500 637 msgstr "" 501 638 502 #: inc/modules/layouts/class-layouts.php:4 89503 msgid "What is the Orderable Layout Builder?"504 msgstr "" 505 506 #: inc/modules/layouts/class-layouts.php:49 0639 #: inc/modules/layouts/class-layouts.php:493 640 msgid "What are Product Layouts?" 641 msgstr "" 642 643 #: inc/modules/layouts/class-layouts.php:494 507 644 msgid "This is where you can create product layouts and customize their settings. Save your layouts here and reuse them later using the block editor, shortcode (great for page builders), or PHP snippet." 508 645 msgstr "" 509 646 510 #: inc/modules/live-view/class-live-view.php:1 59647 #: inc/modules/live-view/class-live-view.php:162 511 648 msgid "Enable Live View" 512 649 msgstr "" 513 650 514 #: inc/modules/live-view/class-live-view.php:16 4651 #: inc/modules/live-view/class-live-view.php:167 515 652 msgid "Exit Live View" 516 653 msgstr "" 517 654 518 #: inc/modules/live-view/class-live-view.php:16 5655 #: inc/modules/live-view/class-live-view.php:168 519 656 msgid "Mute" 520 657 msgstr "" 521 658 522 #: inc/modules/live-view/class-live-view.php:16 5659 #: inc/modules/live-view/class-live-view.php:168 523 660 msgid "Unmute" 524 661 msgstr "" 525 662 526 #: inc/modules/live-view/class-live-view.php:2 28663 #: inc/modules/live-view/class-live-view.php:243 527 664 msgid "order_manager" 528 665 msgstr "" 529 666 530 #: inc/modules/live-view/class-live-view.php:2 28667 #: inc/modules/live-view/class-live-view.php:243 531 668 msgid "Order Manager" 532 669 msgstr "" … … 582 719 msgstr "" 583 720 584 #: inc/modules/timings/class-timings-order.php:160, inc/modules/timings/class-timings-order.php:198 721 #: inc/modules/timings/class-timings-order.php:47, inc/modules/timings/class-timings.php:299 722 msgid "Today" 723 msgstr "" 724 725 #: inc/modules/timings/class-timings-order.php:48, inc/modules/timings/class-timings.php:301 726 msgid "Tomorrow" 727 msgstr "" 728 729 #: inc/modules/timings/class-timings-order.php:49 730 msgid "Next 7 Days" 731 msgstr "" 732 733 #: inc/modules/timings/class-timings-order.php:50 734 msgid "Next 30 Days" 735 msgstr "" 736 737 #: inc/modules/timings/class-timings-order.php:51 738 msgid "Custom Range" 739 msgstr "" 740 741 #: inc/modules/timings/class-timings-order.php:52 742 msgid "Clear" 743 msgstr "" 744 745 #: inc/modules/timings/class-timings-order.php:53 746 msgid "Apply" 747 msgstr "" 748 749 #: inc/modules/timings/class-timings-order.php:95 750 msgid "Su" 751 msgstr "" 752 753 #: inc/modules/timings/class-timings-order.php:96 754 msgid "Mo" 755 msgstr "" 756 757 #: inc/modules/timings/class-timings-order.php:97 758 msgid "Tu" 759 msgstr "" 760 761 #: inc/modules/timings/class-timings-order.php:98 762 msgid "We" 763 msgstr "" 764 765 #: inc/modules/timings/class-timings-order.php:99 766 msgid "Th" 767 msgstr "" 768 769 #: inc/modules/timings/class-timings-order.php:100 770 msgid "Fr" 771 msgstr "" 772 773 #: inc/modules/timings/class-timings-order.php:101 774 msgid "Sa" 775 msgstr "" 776 777 #: inc/modules/timings/class-timings-order.php:185, inc/modules/timings/class-timings-order.php:223 585 778 msgid "Date" 586 779 msgstr "" 587 780 588 #: inc/modules/timings/class-timings-order.php:1 64, inc/modules/timings/class-timings-order.php:202781 #: inc/modules/timings/class-timings-order.php:189, inc/modules/timings/class-timings-order.php:227 589 782 msgid "Time" 590 783 msgstr "" 591 784 592 #: inc/modules/timings/class-timings-order.php:1 68785 #: inc/modules/timings/class-timings-order.php:193 593 786 msgid "Timestamp" 594 787 msgstr "" 595 788 596 #: inc/modules/timings/class-timings-order.php: 181789 #: inc/modules/timings/class-timings-order.php:206 597 790 msgid "Due Date/Time" 791 msgstr "" 792 793 #: inc/modules/timings/class-timings-order.php:307 794 msgid "Filter by due date" 598 795 msgstr "" 599 796 … … 618 815 msgstr "" 619 816 620 #: inc/modules/timings/class-timings-settings.php:130, inc/modules/timings/class-timings-settings.php:44 8817 #: inc/modules/timings/class-timings-settings.php:130, inc/modules/timings/class-timings-settings.php:447 621 818 msgid "Services" 622 819 msgstr "" … … 646 843 msgstr "" 647 844 648 #: inc/modules/timings/class-timings-settings.php:15 5649 msgid " Allow \"ASAP\" as an option when choosing delivery time"845 #: inc/modules/timings/class-timings-settings.php:159 846 msgid "Lead Time" 650 847 msgstr "" 651 848 652 849 #: inc/modules/timings/class-timings-settings.php:160 653 msgid "Lead Time"654 msgstr ""655 656 #: inc/modules/timings/class-timings-settings.php:161657 850 msgid "How many days do you need to prepare the order? Leave blank or \"0\" for same day." 658 851 msgstr "" 659 852 853 #: inc/modules/timings/class-timings-settings.php:166 854 msgid "Preorder Days" 855 msgstr "" 856 660 857 #: inc/modules/timings/class-timings-settings.php:167 661 msgid "Preorder Days"662 msgstr ""663 664 #: inc/modules/timings/class-timings-settings.php:168665 858 msgid "For how many days after the lead time will you accept orders?" 666 859 msgstr "" 667 860 861 #: inc/modules/timings/class-timings-settings.php:173 862 msgid "Holidays" 863 msgstr "" 864 668 865 #: inc/modules/timings/class-timings-settings.php:174 669 msgid "Holidays"670 msgstr ""671 672 #: inc/modules/timings/class-timings-settings.php:175673 866 msgid "Days when your store is closed." 674 867 msgstr "" 675 868 676 #: inc/modules/timings/class-timings-settings.php:22 1, inc/modules/timings/class-timings-settings.php:243869 #: inc/modules/timings/class-timings-settings.php:220, inc/modules/timings/class-timings-settings.php:242 677 870 msgid "Open Hours (From)" 678 871 msgstr "" 679 872 680 #: inc/modules/timings/class-timings-settings.php:22 2, inc/modules/timings/class-timings-settings.php:247873 #: inc/modules/timings/class-timings-settings.php:221, inc/modules/timings/class-timings-settings.php:246 681 874 msgid "Open Hours (To)" 682 875 msgstr "" 683 876 684 #: inc/modules/timings/class-timings-settings.php:22 3, inc/modules/timings/class-timings-settings.php:540877 #: inc/modules/timings/class-timings-settings.php:222, inc/modules/timings/class-timings-settings.php:539 685 878 msgid "Max Orders (Day)" 686 879 msgstr "" 687 880 688 #: inc/modules/timings/class-timings-settings.php:2 80881 #: inc/modules/timings/class-timings-settings.php:279 689 882 msgid "Please select services available for this store." 690 883 msgstr "" 691 884 692 #: inc/modules/timings/class-timings-settings.php:29 7, inc/modules/timings/class-timings-settings.php:302885 #: inc/modules/timings/class-timings-settings.php:296, inc/modules/timings/class-timings-settings.php:301 693 886 msgid "Add service hours" 694 887 msgstr "" 695 888 696 #: inc/modules/timings/class-timings-settings.php:31 8889 #: inc/modules/timings/class-timings-settings.php:317 697 890 msgid "Same as delivery service hours" 698 891 msgstr "" 699 892 700 #: inc/modules/timings/class-timings-settings.php:35 5893 #: inc/modules/timings/class-timings-settings.php:354 701 894 msgid "Days" 702 895 msgstr "" 703 896 704 #: inc/modules/timings/class-timings-settings.php:35 7897 #: inc/modules/timings/class-timings-settings.php:356 705 898 msgid "Select \"Open Hours\" first" 706 899 msgstr "" 707 900 708 #: inc/modules/timings/class-timings-settings.php:36 8901 #: inc/modules/timings/class-timings-settings.php:367 709 902 msgid "Period" 710 903 msgstr "" 711 904 712 #: inc/modules/timings/class-timings-settings.php:3 80, inc/modules/timings/class-timings.php:339905 #: inc/modules/timings/class-timings-settings.php:379, inc/modules/timings/class-timings.php:379 713 906 msgid "All Day" 714 907 msgstr "" 715 908 716 #: inc/modules/timings/class-timings-settings.php:381 717 msgid "Time Slots" 718 msgstr "" 719 720 #: inc/modules/timings/class-timings-settings.php:420 909 #: inc/modules/timings/class-timings-settings.php:419 721 910 msgid "Add holiday" 722 911 msgstr "" 723 912 724 #: inc/modules/timings/class-timings-settings.php:43 6913 #: inc/modules/timings/class-timings-settings.php:435 725 914 msgid "From" 726 915 msgstr "" 727 916 728 #: inc/modules/timings/class-timings-settings.php:44 2917 #: inc/modules/timings/class-timings-settings.php:441 729 918 msgid "To" 730 919 msgstr "" 731 920 732 #: inc/modules/timings/class-timings-settings.php:46 7921 #: inc/modules/timings/class-timings-settings.php:466 733 922 msgid "Repeat Yearly?" 734 923 msgstr "" 735 924 736 #: inc/modules/timings/class-timings-settings.php:56 1925 #: inc/modules/timings/class-timings-settings.php:560 737 926 msgid "Hours" 738 927 msgstr "" 739 928 740 #: inc/modules/timings/class-timings-settings.php:56 9929 #: inc/modules/timings/class-timings-settings.php:568 741 930 msgid "Frequency (Mins)" 742 931 msgstr "" 743 932 744 #: inc/modules/timings/class-timings-settings.php:57 4933 #: inc/modules/timings/class-timings-settings.php:573 745 934 msgid "Cutoff (Mins)" 746 935 msgstr "" 747 936 748 #: inc/modules/timings/class-timings-settings.php:57 9937 #: inc/modules/timings/class-timings-settings.php:578 749 938 msgid "Max Orders (Slot)" 750 939 msgstr "" 751 940 752 #: inc/modules/timings/class-timings-settings.php:63 9941 #: inc/modules/timings/class-timings-settings.php:638 753 942 msgid "Update Timezone" 754 943 msgstr "" … … 855 1044 856 1045 #: inc/modules/layouts/templates/admin/layout-settings-metabox.php:94 857 msgid "When enabled, the whole product card is clickable, instead of just the button." 858 msgstr "" 1046 msgid "Choose what happens when you click the product card." 1047 msgstr "" 1048 1049 #: inc/modules/layouts/templates/admin/layout-settings-metabox.php:104 1050 msgid "Nothing" 1051 msgstr "" 1052 1053 #: inc/modules/layouts/templates/admin/layout-settings-metabox.php:105 1054 msgid "Add to Cart" 1055 msgstr "" 1056 1057 #: inc/modules/layouts/templates/admin/layout-settings-metabox.php:106 1058 msgid "Quick View Product" 1059 msgstr "" -
orderable/tags/1.3.0/orderable.php
r2666071 r2709284 4 4 * Author URI: https://orderable.com 5 5 * Description: Take local online ordering to a whole new level with Orderable. 6 * Version: 1. 2.06 * Version: 1.3.0 7 7 * Author: Orderable 8 8 * Text Domain: orderable 9 9 * WC requires at least: 5.4.0 10 * WC tested up to: 6. 1.110 * WC tested up to: 6.4.0 11 11 */ 12 12 … … 20 20 * @var string Plugin version. 21 21 */ 22 public static $version = '1. 2.0';22 public static $version = '1.3.0'; 23 23 24 24 /** 25 25 * @var string Required pro version. 26 26 */ 27 public static $required_pro_version = '1. 2.0';27 public static $required_pro_version = '1.3.0'; 28 28 29 29 /** -
orderable/tags/1.3.0/readme.txt
r2666071 r2709284 5 5 Tested up to: 5.9 6 6 Requires PHP: 5.6 7 Stable tag: 1. 2.07 Stable tag: 1.3.0 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 142 142 143 143 == Changelog == 144 145 **v1.3.0** (13 Apr 2022) 146 [new] Option to open quickview when card is clicked 147 [new] Allow users to manually change quantity in the side cart 148 [new] Ability to remove/clear any repeatable settings row 149 [new] Quick view settings under Orderable > Settings > Side Drawer 150 [new] Product information accordion added to quick view 151 [update] Renamed "Layout Builder" menu item to "Product Layouts" 152 [update] Updated brand colour in admin area 153 [update] Remove hidden categories/products from sitemap 154 [update] Optimized tabbed layout navigation on mobile 155 [update] Only modify mini cart in Orderable sidebar 156 [update] Show error on quantity change if the requested quantity is more than available quantity 157 [update] Add translation for date range picker element in Live Order View 158 [fix] Make Weekdays and 'Filter by due date' translatable 159 [fix] Increase/decrease quantity on mini cart when "Ajax add to cart" is disabled 160 [fix] Out of stock visibility in Product Layout 161 [fix] Allow order_manager users to place new orders 144 162 145 163 **v1.2.0** (26 Jan 2022) -
orderable/tags/1.3.0/templates/product/hero.php
r2549156 r2709284 17 17 18 18 <div class="orderable-product__hero"> 19 <?php do_action( 'orderable_before_product_hero', $product, $args ); ?> 20 19 21 <?php echo $product->get_image( 'woocommerce_thumbnail', array( 20 22 'class' => 'orderable-product__image', 21 23 ) ); ?> 24 25 <?php do_action( 'orderable_after_product_hero', $product, $args ); ?> 22 26 </div> -
orderable/tags/1.3.0/templates/product/options.php
r2626120 r2709284 5 5 * @package Orderable/Templates 6 6 * 7 * @var WC_Product _Variable $product8 * @var bool $orderable_single_product Determines whether it's possible to add to cart (i.e. a single9 * product view).7 * @var WC_Product $product Product. 8 * @var bool $orderable_single_product Determines whether it's possible to add to cart (i.e. a single product view). 9 * @var array $args Array of args. 10 10 */ 11 11 … … 14 14 global $orderable_single_product; 15 15 16 $orderable_single_product = true; 17 $args = array( 'images' => true ); 18 ?> 16 $orderable_single_product = true; ?> 19 17 20 <div class="orderable-product orderable-product--options ">21 <?php include ORDERABLE_TEMPLATES_PATH . 'product/hero -title.php'; ?>18 <div class="orderable-product orderable-product--options orderable-product--image-cropped"> 19 <?php include ORDERABLE_TEMPLATES_PATH . 'product/hero.php'; ?> 22 20 23 <div class="orderable- product__options-wrap orderable-sb-container" data-orderable-scroll-id="product-options">24 <?php do_action( 'orderable_side_menu_before_product_ options', $product); ?>21 <div class="orderable-sb-container" data-orderable-scroll-id="product"> 22 <?php do_action( 'orderable_side_menu_before_product_title', $product, $args ); ?> 25 23 26 <?php if ( ! empty( $attributes ) ) { ?> 27 <table class="orderable-product__options" cellspacing="0" cellpadding="0"> 28 <?php foreach ( $attributes as $attribute_name => $options ) : ?> 29 <tr class="orderable-product__option"> 30 <th class="orderable-product__option-label"> 31 <label for="<?php echo esc_attr( sanitize_title( $attribute_name ) ); ?>"><?php echo wc_attribute_label( $attribute_name ); // WPCS: XSS ok. ?></label> 32 </th> 33 <td class="orderable-product__option-select"> 34 <?php wc_dropdown_variation_attribute_options( 35 array( 36 'options' => $options, 37 'attribute' => $attribute_name, 38 'product' => $product, 39 'show_option_none' => wc_attribute_label( $attribute_name ), 40 'class' => 'orderable-input orderable-input--select orderable-input--validate', 41 ) 42 ); ?> 43 </td> 44 </tr> 45 <?php endforeach; ?> 46 </table> 47 <?php } ?> 24 <h2 class="orderable-product__title"><?php echo wp_kses_post( $product->get_name() ); ?></h2> 48 25 49 <?php do_action( 'orderable_side_menu_ after_product_options', $product); ?>26 <?php do_action( 'orderable_side_menu_before_product_options_wrapper', $product, $args ); ?> 50 27 51 <div class="orderable-product__messages"></div> 28 <div class="orderable-product__options-wrap"> 29 <?php do_action( 'orderable_side_menu_before_product_options', $product, $args ); ?> 52 30 53 <script class="orderable-product__variations" type="application/json"> 31 <?php if ( ! empty( $attributes ) ) { ?> 32 <table class="orderable-product__options" cellspacing="0" cellpadding="0"> 33 <?php foreach ( $attributes as $attribute_name => $options ) : ?> 34 <tr class="orderable-product__option"> 35 <th class="orderable-product__option-label"> 36 <label for="<?php echo esc_attr( sanitize_title( $attribute_name ) ); ?>"><?php echo wc_attribute_label( $attribute_name ); // WPCS: XSS ok. ?></label> 37 </th> 38 <td class="orderable-product__option-select"> 39 <?php wc_dropdown_variation_attribute_options( 40 array( 41 'options' => $options, 42 'attribute' => $attribute_name, 43 'product' => $product, 44 'show_option_none' => wc_attribute_label( $attribute_name ), 45 'class' => 'orderable-input orderable-input--select orderable-input--validate', 46 ) 47 ); ?> 48 </td> 49 </tr> 50 <?php endforeach; ?> 51 </table> 52 <?php } ?> 53 54 <?php do_action( 'orderable_side_menu_after_product_options', $product, $args ); ?> 55 56 <div class="orderable-product__messages"></div> 57 58 <script class="orderable-product__variations" type="application/json"> 54 59 <?php echo ! empty( $variations_json ) ? $variations_json : ''; ?> 55 60 </script> 61 </div> 62 56 63 </div> 64 65 <?php do_action( 'orderable_side_menu_after_product_options_wrapper', $product, $args ); ?> 57 66 58 67 <?php include ORDERABLE_TEMPLATES_PATH . 'product/actions.php'; ?> -
orderable/tags/1.3.0/woocommerce/cart/mini-cart.php
r2637423 r2709284 63 63 <span class="orderable-quantity-roller__roller"> 64 64 <button class="orderable-quantity-roller__button orderable-quantity-roller__button--decrease" data-orderable-trigger="decrease-quantity" data-orderable-cart-item-key="<?php echo esc_attr( $cart_item_key ); ?>" data-orderable-product-id="<?php echo esc_attr( $product_id ); ?>" data-orderable-quantity="<?php echo esc_attr( $cart_item['quantity'] ); ?>">-</button> 65 <span class="orderable-quantity-roller__quantity"><?php echo esc_html( $cart_item['quantity'] ); ?></span> 65 <span 66 class="orderable-quantity-roller__quantity" 67 contenteditable="true" 68 inputmode="numeric" 69 data-orderable-cart-item-key="<?php echo esc_attr( $cart_item_key ); ?>" 70 data-orderable-product-id="<?php echo esc_attr( $product_id ); ?>" 71 > 72 <?php echo esc_html( $cart_item['quantity'] ); ?> 73 </span> 66 74 <button class="orderable-quantity-roller__button orderable-quantity-roller__button--increase" data-orderable-trigger="increase-quantity" data-orderable-cart-item-key="<?php echo esc_attr( $cart_item_key ); ?>" data-orderable-product-id="<?php echo esc_attr( $product_id ); ?>" data-orderable-quantity="<?php echo esc_attr( $cart_item['quantity'] ); ?>">+</button> 67 75 </span> -
orderable/trunk/assets/admin/css/main.css
r2666071 r2709284 107 107 width: 50px !important; 108 108 text-align: center; 109 }110 111 .orderable-table__row:first-child .orderable-table__column--remove .orderable-table__remove-row {112 display: none;113 109 } 114 110 -
orderable/trunk/assets/admin/css/main.min.css
r2666071 r2709284 1 .orderable-table{table-layout:fixed;max-width:712px;border-collapse:collapse;border-radius:8px;background:#f4f5f6;border:none;width:100%}.orderable-table td,.orderable-table th{width:auto;vertical-align:middle!important}.orderable-table th{padding-top:12px!important;padding-bottom:12px!important}.orderable-table thead,.orderable-table tr{border-bottom:1px solid #d8dbdf}.orderable-table>tbody th{padding-left:14px;border-right:1px solid #d8dbdf}.orderable-table tr.orderable-table__row--last,.orderable-table tr:last-child{border:none}.orderable-table__row--hidden .orderable-table__column:not(.orderable-table__column--always-visible){position:relative}.orderable-table__row--hidden .orderable-table__column:not(.orderable-table__column--always-visible):after{content:'';position:absolute;top:0;left:0;right:0;bottom:0}.orderable-table__row--hidden .orderable-table__column:not(.orderable-table__column--always-visible)>*{opacity:.3}.orderable-table .orderable-table__row--repeatable{border-bottom-color:#fff;border-bottom-width:8px}.orderable-table__column{padding:8px 14px!important;vertical-align:middle!important;text-align:left;border-left:none;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-table__column--checkbox{width:36px!important;padding-right:0!important;border-right:none}.orderable-table__column--label{padding-left:4px!important;width:100px!important}@media (max-width:782px){.orderable-table__column--label{width:auto!important}}.orderable-table__column--medium{width:156px!important}@media (max-width:782px){.orderable-table__column--medium{width:auto!important}}.orderable-table__column--time{width:190px!important}@media (max-width:782px){.orderable-table__column--time{width:auto!important} }.orderable-table__column--remove{width:50px!important;text-align:center}.orderable-table__row:first-child .orderable-table__column--remove .orderable-table__remove-row{display:none}.orderable-table__column--last{width:auto}.orderable-table__column input,.orderable-table__column select{max-width:100%}.orderable-table__no-td-border{border-bottom:none!important}.orderable-table__no-td-border th{border-bottom:1px solid #d8dbdf}.orderable-table__cell--no-padding{padding:0!important}.orderable-table__cell .orderable-table__cell-column{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 14px}.orderable-table__cell .orderable-table__cell-column--first{padding-left:0}.orderable-table__cell .orderable-table__cell-column--last{padding-right:0}.orderable-table__cell--2-col{overflow:hidden}@media (max-width:782px){.orderable-table__cell,.orderable-table__column--remove{display:table-cell!important}}.orderable-table__fieldset{display:inline-block;margin:0 15px 0 0}.orderable-table__fieldset legend{font-weight:600;margin:0 0 4px;padding:0;color:#23282d}.orderable-table__fieldset--nowrap{white-space:nowrap}.orderable-table__rwd-labels{display:none;margin:0 0 4px;min-width:160px}.orderable-table--child{border-radius:0;background:0 0}.orderable-table--child td:last-child,.orderable-table--child th:last-child{border-right:1px solid #d8dbdf}.orderable-table--compact td,.orderable-table--compact th{padding:8px 14px!important}@media (max-width:782px){.orderable-table--compact th{padding-bottom:4px!important}.orderable-table--compact td{padding-top:0!important}.orderable-table--compact tr:first-child th{padding-top:10px!important}.orderable-table--compact tr.orderable-table__row--last td{padding-bottom:15px!important}}@media (max-width:1210px){.orderable-table--open-hours thead{display:none}.orderable-table--open-hours td,.orderable-table--open-hours th{display:block;width:100%!important;height:auto;margin:0}.orderable-table--open-hours .orderable-table__column--checkbox,.orderable-table--open-hours .orderable-table__column--label{padding-top:20px!important}.orderable-table--open-hours .orderable-table__column--checkbox{width:36px!important;float:left}.orderable-table--open-hours .orderable-table__column--label{float:left;width:auto!important;font-weight:700}.orderable-table--open-hours .orderable-table__column--time{clear:both}.orderable-table--open-hours .orderable-table__column--last{padding-bottom:20px!important}.orderable-table--open-hours .orderable-table__rwd-labels{display:inline-block}}@media (max-width:782px){.orderable-table--open-hours .orderable-table__column--checkbox{width:45px!important}.orderable-table--open-hours .orderable-table__column--label{line-height:21px}.orderable-table--open-hours .orderable-table__rwd-labels{display:block}}.orderable-admin-button,body .submit .button-primary{background:#2271b6;border:none;padding:8px 15px;border-radius:8px;line-height:1.3;font-weight:600;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;margin:0;text-decoration:none;display:inline-block;color:#fff;font-size:14px}.orderable-admin-button:active,.orderable-admin-button:focus,.orderable-admin-button:hover,body .submit .button-primary:active,body .submit .button-primary:focus,body .submit .button-primary:hover{background:#164975;color:#fff}.orderable-admin-button:focus,body .submit .button-primary:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}.orderable-admin-button.orderable-trigger-element--active,body .submit .button-primary.orderable-trigger-element--active{background:#0A2135;color:#fff;cursor:default}.orderable-admin-button .dashicons,body .submit .button-primary .dashicons{width:16px;height:16px;font-size:16px;vertical-align:middle}.orderable-admin-button--pro .dashicons{line-height:12px}.orderable-toolbar{margin:0 0 15px;display:block;overflow:hidden}.orderable-toolbar .orderable-admin-button{margin-right:4px}.orderable-toolbar__actions{display:inline-block}.multi-select-container{display:inline-block;position:relative;width:100%;max-width:100%}.multi-select-menu{position:absolute;left:0;top:17px;z-index:1;float:left;min-width:100%;background:#fff;margin:1em 0;border:1px solid #aaa;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2);display:none;padding:4px 0}.multi-select-menuitem{display:block;font-size:14px;padding:4px 10px 4px 36px;white-space:nowrap;position:relative}.multi-select-menuitem--none{padding-left:10px}@media (max-width:782px){.multi-select-menu{top:27px}.multi-select-menuitem{min-height:32px;line-height:32px;padding-left:44px}}.multi-select-menuitem--titled:before{display:block;font-weight:700;content:attr(data-group-title);margin:0 0 .25em -20px}.multi-select-menuitem--titledsr:before{display:block;font-weight:700;content:attr(data-group-title);border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.multi-select-presets{border-bottom:1px solid #ddd}.multi-select-menuitem input{position:absolute;left:10px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:0!important}.multi-select-button{display:inline-block;font-size:14px;padding:0 28px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:-.5em;background-color:#fff;border:1px solid #7e8993;border-radius:4px;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;cursor:pointer;line-height:2;min-height:30px;position:relative;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}@media (max-width:782px){.multi-select-button{min-height:40px;height:40px;line-height:38px}}.multi-select-button:focus,.multi-select-container--open .multi-select-button{border-color:#007cba;-webkit-box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px #007cba;outline:transparent solid 2px}.multi-select-button:after{content:"";display:inline-block;width:0;height:0;border-style:solid;border-width:6px 6px 0;border-color:#999 transparent transparent;vertical-align:.1em;position:absolute;right:8px;top:50%;-webkit-transform:translateY(-48%);transform:translateY(-48%)}.multi-select-container--open .multi-select-menu{display:block}.multi-select-container--open .multi-select-button:after{border-width:0 .4em .4em;border-color:transparent transparent #999}.multi-select-container--positioned .multi-select-menu{-webkit-box-sizing:border-box;box-sizing:border-box}.multi-select-container--positioned .multi-select-menu label{white-space:normal}.orderable-toggle-wrapper{display:none}.orderable-toggle-wrapper--active{display:inline-block}.orderable-element--disabled{opacity:.3;position:relative}.orderable-element--disabled:after{content:'';position:absolute;top:0;left:0;right:0;bottom:0}.iconic-onboard-modal-setting__field-section{margin:1em 0}.orderable-time{white-space:nowrap}.orderable-time__select{display:inline-block!important;width:auto!important}#orderable_settings_store_general_service_hours_pickup_same_label{margin:5px 4px 20px;display:inline-block}.wpsf-section .form-table td p{margin:0 0 15px}.wpsf-section .form-table td p:last-child{margin-bottom:0}body .wpsf-tab .postbox h2{background:#0A2135}body input.datepicker{background-color:#fff!important}.wpsf-section-description--getting_started+table th{display:none}.orderable-ui-hide{display:none!important}[v-cloak]{display:none}.orderable-fields-row{background:#fff;border:1px solid #d8dbdf;border-radius:8px;margin-bottom:15px;overflow:visible}.orderable-fields-row:after{content:"";display:table}.orderable-fields-row:hover .orderable-fields-row__header-action{visibility:visible}.orderable-fields-row__header{padding:12px 15px;display:grid;grid-template-columns:34px auto 68px;-ms-user-select:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-fields-row__header-title{cursor:pointer}.orderable-fields-row__header-title h3{margin-top:0;margin-bottom:0;font-size:14px;min-height:19px}.orderable-fields-row__header-title span{font-size:12px;opacity:.8}.orderable-fields-row__header-action{visibility:hidden;text-align:right}.orderable-fields-row__body{display:none;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0;-webkit-transition:.5s all;transition:.5s all}.orderable-fields-row__body-row{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #d8dbdf;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.orderable-fields-row__body-row:last-child{border-bottom:none}.orderable-fields-row__body-row-left{background:#f4f5f6;padding:15px;width:20%;-ms-flex-negative:0;flex-shrink:0}.orderable-fields-row__body-row-left h3{margin-top:0;margin-bottom:5px;font-size:14px}.orderable-fields-row__body-row-left p{margin:0}.orderable-fields-row__body-row-right{padding:0 25px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:visible;-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-fields-row__body-row-right *{min-width:0}.orderable-fields-row__body-row-right--empty{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.orderable-fields-row--open{border:none}.orderable-fields-row--open .orderable-fields-row__body{display:block;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:1;border:1px solid #d8dbdf;border-top:none;border-radius:0 0 8px 8px;overflow:hidden}.orderable-fields-row--open .orderable-fields-row__header-action .orderable-dashicons:hover{color:#fff!important;opacity:.6}.orderable-fields-row--open .orderable-fields-row__header{background:#0A2135;border:1px solid #0A2135;border-bottom:none;border-radius:8px 8px 0 0}.orderable-fields-row--open .orderable-fields-row__header,.orderable-fields-row--open .orderable-fields-row__header h3{color:#fff}.orderable-fields-row--meta{border:none;padding:0;border-radius:0;margin:-6px -12px -12px}.orderable-fields-row--meta .orderable-fields-row__body{display:block;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:1}.orderable-fields-row--meta .orderable-fields-row__body-row{grid-template-columns:30% 70%}.orderable-fields-row--empty{padding:30px 15px;text-align:center}.orderable-fields-row--empty p:last-child{margin-bottom:0}.orderable-fields-row textarea{margin:20px 0;min-height:100px;min-width:300px}.orderable-fields-options{width:100%;margin:20px 0;overflow-x:scroll}.orderable-fields-options__row{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:0 0 15px;background:#F4F5F6;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-fields-options__row input[type=text],.orderable-fields-options__row input[type=number],.orderable-fields-options__row select{max-width:100%;width:100%}.orderable-fields-options__row input[type=checkbox],.orderable-fields-options__row input[type=radio]{margin:-2px 4px 0 0}.orderable-fields-options__row-fields{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-fields-options__row-fields-row{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;-ms-flex-preferred-size:50%;flex-basis:50%}@media (max-width:1090px){.orderable-fields-options__row-fields-row{-webkit-box-align:normal;-ms-flex-align:normal;align-items:normal;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media (max-width:1440px){.orderable-fields-options__row-fields-row{-ms-flex-preferred-size:100%;flex-basis:100%;border-bottom:1px solid #d8dbdf;border-right:none}.orderable-fields-options__row-fields-row:last-child{border-bottom:none}}.orderable-fields-options__row-field{-ms-flex-preferred-size:50%;flex-basis:50%;margin:0;padding:8px 8px 10px;border-right:1px solid #d8dbdf}.orderable-fields-options__row-fields-row:last-child .orderable-fields-options__row-field:last-child{border-right:none}.orderable-fields-options__row-field-spacer{height:30px;line-height:30px}.orderable-fields-options__row-field--visual{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.orderable-fields-options__row-field--full{-ms-flex-preferred-size:100%;flex-basis:100%}@media (max-width:1440px){.orderable-fields-options__row-field--full,.orderable-fields-options__row-field:last-child{border-right:none}}@media (max-width:1090px){.orderable-fields-options__row-field{border-right:none;border-bottom:1px solid #d8dbdf}.orderable-fields-options__row-field--full,.orderable-fields-options__row-field:last-child{border-bottom:none}}.orderable-fields-options__row-field-label{font-weight:600;display:block;margin:0 0 4px}.orderable-fields-options__row-field-label--inline{margin:0}.orderable-fields-options__row-type{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.orderable-fields-options__row-visual{margin:0 0 -4px 10px}@media (max-width:782px){.orderable-fields-options__row-field-spacer{height:40px;line-height:40px}.orderable-fields-options__row-visual{margin-bottom:0}}.orderable-fields-options__row-action,.orderable-fields-options__row-drag{min-width:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 10px;-webkit-box-sizing:content-box;box-sizing:content-box}.orderable-fields-options__row-drag{border-right:1px solid #d8dbdf}.orderable-fields-options__row-action{border-left:1px solid #d8dbdf}.orderable-fields-options__grid{display:grid;grid-template-columns:20px 1fr 80px 45px 1fr 70px 20px;grid-auto-columns:1fr;grid-auto-flow:column;grid-gap:20px}.orderable-fields-options__grid--select{grid-template-columns:20px repeat(2,1fr) 70px 20px}.orderable-fields-options__header{font-weight:700;margin-bottom:15px}.orderable-fields-options__bullets{margin:0}.orderable-fields-options__bullets li:last-child{margin-bottom:0}.orderable-fields-option__empty{display:inline-block;width:40px;height:40px}input[type=color].orderable-fields-option-color{width:40px;max-width:40px;border:1px solid #d8dbdf;border-radius:8px;padding:3px;height:40px;display:block;margin:0;cursor:pointer}input[type=color].orderable-fields-option-color::-webkit-color-swatch-wrapper{padding:0}input[type=color].orderable-fields-option-color::-webkit-color-swatch{border:none;border-radius:5px}input[type=color].orderable-fields-option-color:focus,input[type=color].orderable-fields-option-color:hover{outline:0;border-color:#7E8993;-webkit-box-shadow:none;box-shadow:none}.orderable-fields-option-img__dummy{position:relative;width:40px;text-align:center;height:40px;line-height:40px;font-size:24px;color:#0073aa;border:1px solid #d8dbdf;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-fields-option-img__dummy:hover{color:#006799;border-color:#7E8993}.orderable-fields-option-img__img-wrapper{position:relative;width:40px;max-width:40px;border:1px solid #d8dbdf;border-radius:8px;padding:3px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-fields-option-img__img{width:100%;height:auto;border-radius:5px;display:block}.orderable-fields-option-img__delete{position:absolute;top:-6px;right:-6px;color:#fff;background:#dc3232;border-radius:100%;padding:4px;font-size:14px;line-height:14px;width:14px;height:14px;border:3px solid #fff;-webkit-box-sizing:content-box;box-sizing:content-box}.orderable-fields-option-img__delete:hover{background:#a00;color:#fff!important}.orderable-pro-modal{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.orderable-pro-modal__content{text-align:center;padding:20px;margin:auto 0}.orderable-pointer .wp-pointer-content h3{background:#F5F0FE;border-radius:8px 8px 0 0;color:#1d2327;border-color:#BF9EF9;padding-left:50px}.orderable-pointer .wp-pointer-content h3:before{background-color:#7031F5;color:#fff;font-size:16px;height:26px;width:26px;line-height:26px;top:12px}.orderable-pointer.wp-pointer-bottom .wp-pointer-arrow,.orderable-pointer.wp-pointer-top .wp-pointer-arrow,.orderable-pointer.wp-pointer-undefined .wp-pointer-arrow{left:30px}.orderable-pointer.wp-pointer-top .wp-pointer-arrow,.orderable-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#bf9ff9}.orderable-pointer.wp-pointer-top .wp-pointer-arrow-inner,.orderable-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#F5F0FE}.orderable-pointer .wp-pointer-content{border-radius:8px}.wp-core-ui .orderable-pointer .button-secondary{margin-right:.5em}1 .orderable-table{table-layout:fixed;max-width:712px;border-collapse:collapse;border-radius:8px;background:#f4f5f6;border:none;width:100%}.orderable-table td,.orderable-table th{width:auto;vertical-align:middle!important}.orderable-table th{padding-top:12px!important;padding-bottom:12px!important}.orderable-table thead,.orderable-table tr{border-bottom:1px solid #d8dbdf}.orderable-table>tbody th{padding-left:14px;border-right:1px solid #d8dbdf}.orderable-table tr.orderable-table__row--last,.orderable-table tr:last-child{border:none}.orderable-table__row--hidden .orderable-table__column:not(.orderable-table__column--always-visible){position:relative}.orderable-table__row--hidden .orderable-table__column:not(.orderable-table__column--always-visible):after{content:'';position:absolute;top:0;left:0;right:0;bottom:0}.orderable-table__row--hidden .orderable-table__column:not(.orderable-table__column--always-visible)>*{opacity:.3}.orderable-table .orderable-table__row--repeatable{border-bottom-color:#fff;border-bottom-width:8px}.orderable-table__column{padding:8px 14px!important;vertical-align:middle!important;text-align:left;border-left:none;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-table__column--checkbox{width:36px!important;padding-right:0!important;border-right:none}.orderable-table__column--label{padding-left:4px!important;width:100px!important}@media (max-width:782px){.orderable-table__column--label{width:auto!important}}.orderable-table__column--medium{width:156px!important}@media (max-width:782px){.orderable-table__column--medium{width:auto!important}}.orderable-table__column--time{width:190px!important}@media (max-width:782px){.orderable-table__column--time{width:auto!important}.orderable-table__column--remove{display:table-cell!important}}.orderable-table__column--remove{width:50px!important;text-align:center}.orderable-table__column--last{width:auto}.orderable-table__column input,.orderable-table__column select{max-width:100%}.orderable-table__no-td-border{border-bottom:none!important}.orderable-table__no-td-border th{border-bottom:1px solid #d8dbdf}.orderable-table__cell--no-padding{padding:0!important}.orderable-table__cell .orderable-table__cell-column{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;padding:0 14px}.orderable-table__cell .orderable-table__cell-column--first{padding-left:0}.orderable-table__cell .orderable-table__cell-column--last{padding-right:0}.orderable-table__cell--2-col{overflow:hidden}@media (max-width:782px){.orderable-table__cell{display:table-cell!important}}.orderable-table__fieldset{display:inline-block;margin:0 15px 0 0}.orderable-table__fieldset legend{font-weight:600;margin:0 0 4px;padding:0;color:#23282d}.orderable-table__fieldset--nowrap{white-space:nowrap}.orderable-table__rwd-labels{display:none;margin:0 0 4px;min-width:160px}.orderable-table--child{border-radius:0;background:0 0}.orderable-table--child td:last-child,.orderable-table--child th:last-child{border-right:1px solid #d8dbdf}.orderable-table--compact td,.orderable-table--compact th{padding:8px 14px!important}@media (max-width:782px){.orderable-table--compact th{padding-bottom:4px!important}.orderable-table--compact td{padding-top:0!important}.orderable-table--compact tr:first-child th{padding-top:10px!important}.orderable-table--compact tr.orderable-table__row--last td{padding-bottom:15px!important}}@media (max-width:1210px){.orderable-table--open-hours thead{display:none}.orderable-table--open-hours td,.orderable-table--open-hours th{display:block;width:100%!important;height:auto;margin:0}.orderable-table--open-hours .orderable-table__column--checkbox,.orderable-table--open-hours .orderable-table__column--label{padding-top:20px!important}.orderable-table--open-hours .orderable-table__column--checkbox{width:36px!important;float:left}.orderable-table--open-hours .orderable-table__column--label{float:left;width:auto!important;font-weight:700}.orderable-table--open-hours .orderable-table__column--time{clear:both}.orderable-table--open-hours .orderable-table__column--last{padding-bottom:20px!important}.orderable-table--open-hours .orderable-table__rwd-labels{display:inline-block}}@media (max-width:782px){.orderable-table--open-hours .orderable-table__column--checkbox{width:45px!important}.orderable-table--open-hours .orderable-table__column--label{line-height:21px}.orderable-table--open-hours .orderable-table__rwd-labels{display:block}}.orderable-admin-button,body .submit .button-primary{background:#2271b6;border:none;padding:8px 15px;border-radius:8px;line-height:1.3;font-weight:600;cursor:pointer;-webkit-box-shadow:none;box-shadow:none;margin:0;text-decoration:none;display:inline-block;color:#fff;font-size:14px}.orderable-admin-button:active,.orderable-admin-button:focus,.orderable-admin-button:hover,body .submit .button-primary:active,body .submit .button-primary:focus,body .submit .button-primary:hover{background:#164975;color:#fff}.orderable-admin-button:focus,body .submit .button-primary:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}.orderable-admin-button.orderable-trigger-element--active,body .submit .button-primary.orderable-trigger-element--active{background:#0A2135;color:#fff;cursor:default}.orderable-admin-button .dashicons,body .submit .button-primary .dashicons{width:16px;height:16px;font-size:16px;vertical-align:middle}.orderable-admin-button--pro .dashicons{line-height:12px}.orderable-toolbar{margin:0 0 15px;display:block;overflow:hidden}.orderable-toolbar .orderable-admin-button{margin-right:4px}.orderable-toolbar__actions{display:inline-block}.multi-select-container{display:inline-block;position:relative;width:100%;max-width:100%}.multi-select-menu{position:absolute;left:0;top:17px;z-index:1;float:left;min-width:100%;background:#fff;margin:1em 0;border:1px solid #aaa;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2);display:none;padding:4px 0}.multi-select-menuitem{display:block;font-size:14px;padding:4px 10px 4px 36px;white-space:nowrap;position:relative}.multi-select-menuitem--none{padding-left:10px}@media (max-width:782px){.multi-select-menu{top:27px}.multi-select-menuitem{min-height:32px;line-height:32px;padding-left:44px}}.multi-select-menuitem--titled:before{display:block;font-weight:700;content:attr(data-group-title);margin:0 0 .25em -20px}.multi-select-menuitem--titledsr:before{display:block;font-weight:700;content:attr(data-group-title);border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.multi-select-presets{border-bottom:1px solid #ddd}.multi-select-menuitem input{position:absolute;left:10px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);margin:0!important}.multi-select-button{display:inline-block;font-size:14px;padding:0 28px 0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:-.5em;background-color:#fff;border:1px solid #7e8993;border-radius:4px;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;cursor:pointer;line-height:2;min-height:30px;position:relative;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}@media (max-width:782px){.multi-select-button{min-height:40px;height:40px;line-height:38px}}.multi-select-button:focus,.multi-select-container--open .multi-select-button{border-color:#007cba;-webkit-box-shadow:0 0 0 1px #007cba;box-shadow:0 0 0 1px #007cba;outline:transparent solid 2px}.multi-select-button:after{content:"";display:inline-block;width:0;height:0;border-style:solid;border-width:6px 6px 0;border-color:#999 transparent transparent;vertical-align:.1em;position:absolute;right:8px;top:50%;-webkit-transform:translateY(-48%);transform:translateY(-48%)}.multi-select-container--open .multi-select-menu{display:block}.multi-select-container--open .multi-select-button:after{border-width:0 .4em .4em;border-color:transparent transparent #999}.multi-select-container--positioned .multi-select-menu{-webkit-box-sizing:border-box;box-sizing:border-box}.multi-select-container--positioned .multi-select-menu label{white-space:normal}.orderable-toggle-wrapper{display:none}.orderable-toggle-wrapper--active{display:inline-block}.orderable-element--disabled{opacity:.3;position:relative}.orderable-element--disabled:after{content:'';position:absolute;top:0;left:0;right:0;bottom:0}.iconic-onboard-modal-setting__field-section{margin:1em 0}.orderable-time{white-space:nowrap}.orderable-time__select{display:inline-block!important;width:auto!important}#orderable_settings_store_general_service_hours_pickup_same_label{margin:5px 4px 20px;display:inline-block}.wpsf-section .form-table td p{margin:0 0 15px}.wpsf-section .form-table td p:last-child{margin-bottom:0}body .wpsf-tab .postbox h2{background:#0A2135}body input.datepicker{background-color:#fff!important}.wpsf-section-description--getting_started+table th{display:none}.orderable-ui-hide{display:none!important}[v-cloak]{display:none}.orderable-fields-row{background:#fff;border:1px solid #d8dbdf;border-radius:8px;margin-bottom:15px;overflow:visible}.orderable-fields-row:after{content:"";display:table}.orderable-fields-row:hover .orderable-fields-row__header-action{visibility:visible}.orderable-fields-row__header{padding:12px 15px;display:grid;grid-template-columns:34px auto 68px;-ms-user-select:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-fields-row__header-title{cursor:pointer}.orderable-fields-row__header-title h3{margin-top:0;margin-bottom:0;font-size:14px;min-height:19px}.orderable-fields-row__header-title span{font-size:12px;opacity:.8}.orderable-fields-row__header-action{visibility:hidden;text-align:right}.orderable-fields-row__body{display:none;-webkit-transform:scaleY(0);transform:scaleY(0);opacity:0;-webkit-transition:.5s all;transition:.5s all}.orderable-fields-row__body-row{display:-webkit-box;display:-ms-flexbox;display:flex;border-bottom:1px solid #d8dbdf;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.orderable-fields-row__body-row:last-child{border-bottom:none}.orderable-fields-row__body-row-left{background:#f4f5f6;padding:15px;width:20%;-ms-flex-negative:0;flex-shrink:0}.orderable-fields-row__body-row-left h3{margin-top:0;margin-bottom:5px;font-size:14px}.orderable-fields-row__body-row-left p{margin:0}.orderable-fields-row__body-row-right{padding:0 25px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow:visible;-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-fields-row__body-row-right *{min-width:0}.orderable-fields-row__body-row-right--empty{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.orderable-fields-row--open{border:none}.orderable-fields-row--open .orderable-fields-row__body{display:block;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:1;border:1px solid #d8dbdf;border-top:none;border-radius:0 0 8px 8px;overflow:hidden}.orderable-fields-row--open .orderable-fields-row__header-action .orderable-dashicons:hover{color:#fff!important;opacity:.6}.orderable-fields-row--open .orderable-fields-row__header{background:#0A2135;border:1px solid #0A2135;border-bottom:none;border-radius:8px 8px 0 0}.orderable-fields-row--open .orderable-fields-row__header,.orderable-fields-row--open .orderable-fields-row__header h3{color:#fff}.orderable-fields-row--meta{border:none;padding:0;border-radius:0;margin:-6px -12px -12px}.orderable-fields-row--meta .orderable-fields-row__body{display:block;-webkit-transform:scaleY(1);transform:scaleY(1);opacity:1}.orderable-fields-row--meta .orderable-fields-row__body-row{grid-template-columns:30% 70%}.orderable-fields-row--empty{padding:30px 15px;text-align:center}.orderable-fields-row--empty p:last-child{margin-bottom:0}.orderable-fields-row textarea{margin:20px 0;min-height:100px;min-width:300px}.orderable-fields-options{width:100%;margin:20px 0;overflow-x:scroll}.orderable-fields-options__row{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;margin:0 0 15px;background:#F4F5F6;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-fields-options__row input[type=text],.orderable-fields-options__row input[type=number],.orderable-fields-options__row select{max-width:100%;width:100%}.orderable-fields-options__row input[type=checkbox],.orderable-fields-options__row input[type=radio]{margin:-2px 4px 0 0}.orderable-fields-options__row-fields{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-fields-options__row-fields-row{display:-webkit-box;display:-ms-flexbox;display:flex;margin:0;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;-ms-flex-preferred-size:50%;flex-basis:50%}@media (max-width:1090px){.orderable-fields-options__row-fields-row{-webkit-box-align:normal;-ms-flex-align:normal;align-items:normal;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}@media (max-width:1440px){.orderable-fields-options__row-fields-row{-ms-flex-preferred-size:100%;flex-basis:100%;border-bottom:1px solid #d8dbdf;border-right:none}.orderable-fields-options__row-fields-row:last-child{border-bottom:none}}.orderable-fields-options__row-field{-ms-flex-preferred-size:50%;flex-basis:50%;margin:0;padding:8px 8px 10px;border-right:1px solid #d8dbdf}.orderable-fields-options__row-fields-row:last-child .orderable-fields-options__row-field:last-child{border-right:none}.orderable-fields-options__row-field-spacer{height:30px;line-height:30px}.orderable-fields-options__row-field--visual{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.orderable-fields-options__row-field--full{-ms-flex-preferred-size:100%;flex-basis:100%}@media (max-width:1440px){.orderable-fields-options__row-field--full,.orderable-fields-options__row-field:last-child{border-right:none}}@media (max-width:1090px){.orderable-fields-options__row-field{border-right:none;border-bottom:1px solid #d8dbdf}.orderable-fields-options__row-field--full,.orderable-fields-options__row-field:last-child{border-bottom:none}}.orderable-fields-options__row-field-label{font-weight:600;display:block;margin:0 0 4px}.orderable-fields-options__row-field-label--inline{margin:0}.orderable-fields-options__row-type{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto}.orderable-fields-options__row-visual{margin:0 0 -4px 10px}@media (max-width:782px){.orderable-fields-options__row-field-spacer{height:40px;line-height:40px}.orderable-fields-options__row-visual{margin-bottom:0}}.orderable-fields-options__row-action,.orderable-fields-options__row-drag{min-width:20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 10px;-webkit-box-sizing:content-box;box-sizing:content-box}.orderable-fields-options__row-drag{border-right:1px solid #d8dbdf}.orderable-fields-options__row-action{border-left:1px solid #d8dbdf}.orderable-fields-options__grid{display:grid;grid-template-columns:20px 1fr 80px 45px 1fr 70px 20px;grid-auto-columns:1fr;grid-auto-flow:column;grid-gap:20px}.orderable-fields-options__grid--select{grid-template-columns:20px repeat(2,1fr) 70px 20px}.orderable-fields-options__header{font-weight:700;margin-bottom:15px}.orderable-fields-options__bullets{margin:0}.orderable-fields-options__bullets li:last-child{margin-bottom:0}.orderable-fields-option__empty{display:inline-block;width:40px;height:40px}input[type=color].orderable-fields-option-color{width:40px;max-width:40px;border:1px solid #d8dbdf;border-radius:8px;padding:3px;height:40px;display:block;margin:0;cursor:pointer}input[type=color].orderable-fields-option-color::-webkit-color-swatch-wrapper{padding:0}input[type=color].orderable-fields-option-color::-webkit-color-swatch{border:none;border-radius:5px}input[type=color].orderable-fields-option-color:focus,input[type=color].orderable-fields-option-color:hover{outline:0;border-color:#7E8993;-webkit-box-shadow:none;box-shadow:none}.orderable-fields-option-img__dummy{position:relative;width:40px;text-align:center;height:40px;line-height:40px;font-size:24px;color:#0073aa;border:1px solid #d8dbdf;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-fields-option-img__dummy:hover{color:#006799;border-color:#7E8993}.orderable-fields-option-img__img-wrapper{position:relative;width:40px;max-width:40px;border:1px solid #d8dbdf;border-radius:8px;padding:3px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-fields-option-img__img{width:100%;height:auto;border-radius:5px;display:block}.orderable-fields-option-img__delete{position:absolute;top:-6px;right:-6px;color:#fff;background:#dc3232;border-radius:100%;padding:4px;font-size:14px;line-height:14px;width:14px;height:14px;border:3px solid #fff;-webkit-box-sizing:content-box;box-sizing:content-box}.orderable-fields-option-img__delete:hover{background:#a00;color:#fff!important}.orderable-pro-modal{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.orderable-pro-modal__content{text-align:center;padding:20px;margin:auto 0}.orderable-pointer .wp-pointer-content h3{background:#F5F0FE;border-radius:8px 8px 0 0;color:#1d2327;border-color:#BF9EF9;padding-left:50px}.orderable-pointer .wp-pointer-content h3:before{background-color:#7031F5;color:#fff;font-size:16px;height:26px;width:26px;line-height:26px;top:12px}.orderable-pointer.wp-pointer-bottom .wp-pointer-arrow,.orderable-pointer.wp-pointer-top .wp-pointer-arrow,.orderable-pointer.wp-pointer-undefined .wp-pointer-arrow{left:30px}.orderable-pointer.wp-pointer-top .wp-pointer-arrow,.orderable-pointer.wp-pointer-undefined .wp-pointer-arrow{border-bottom-color:#bf9ff9}.orderable-pointer.wp-pointer-top .wp-pointer-arrow-inner,.orderable-pointer.wp-pointer-undefined .wp-pointer-arrow-inner{border-bottom-color:#F5F0FE}.orderable-pointer .wp-pointer-content{border-radius:8px}.wp-core-ui .orderable-pointer .button-secondary{margin-right:.5em} -
orderable/trunk/assets/admin/js/main.js
r2641784 r2709284 522 522 * On remove row. 523 523 */ 524 $( document.body ).on( 'orderable-remove-row', function ( e, data ) {524 $( document.body ).on( 'orderable-remove-row', function ( e, data ) { 525 525 var $button = $( data.trigger_element ), 526 $row = $button.closest( 'tr' ); 527 528 $row.remove(); 526 $row = $button.closest( 'tr' ), 527 $tbody = $button.closest( 'tbody' ), 528 row_count = $tbody.find( '>tr' ).length; 529 530 if ( row_count === 1 ) { 531 $row.find( 'input' ).val( '' ); 532 $row.find( 'input[type="checkbox"], input[type="radio"]' ).prop( 'checked', false ); 533 534 $row.find( 'select' ).each(function() { 535 if ( $( this ).hasClass( 'orderable-select--multi-select' ) ) { 536 return; 537 } 538 539 this.selectedIndex = 0; 540 $( this ).trigger( 'change' ); 541 } ); 542 543 $row.find( '.multi-select-container input[type="checkbox"]' ).trigger( 'change' ); 544 } else { 545 $row.remove(); 546 } 529 547 530 548 $( document ).trigger( 'orderable-add-last-row-class' ); … … 561 579 selected = $trigger_element.val(); 562 580 563 if ( $parent.length <= 0 || typeof targets [ selected ] === 'undefined' ) {581 if ( $parent.length <= 0 || typeof targets === 'undefined' || typeof targets[ selected ] === 'undefined' ) { 564 582 return; 565 583 } … … 618 636 $last_rows.removeClass( last_row_class ); 619 637 $last_row.addClass( last_row_class ); 620 } 638 }, 621 639 }; 622 640 -
orderable/trunk/assets/admin/js/main.min.js
r2641784 r2709284 1 !function(n,e){"use strict";var t=function(){n(e.body).on("change",".orderable-table--product-lists input, .orderable-table--product-lists select",function(e){var t=n(this).closest(".orderable-table__row--repeatable"),r=t.find(".orderable-field--product-list-shortcode"),o={categories:"",layout:"grid",images:"true"},t={categories:t.find(".orderable-select--categories").val().toString(),layout:t.find(".orderable-select--layout").val().toString(),images:t.find(".orderable-checkbox--images").is(":checked").toString()},a="[orderable";n.each(t,function(e,t){t!==o[e]&&(a+=" "+e+'="'+t+'"')}),a+="]",r.val(a)})};n(e).ready(t)}(jQuery,document),function(n,e){"use strict";var r={on_ready:function(){r.init(n(".orderable-select--multi-select")),n(e).on("orderable-init-multiselects",function(e,t){void 0!==t.selects&&r.init(t.selects)}),n(e).on("orderable-destroy-multiselects",function(e,t){void 0!==t.selects&&r.destroy(t.selects)})},init:function(e){e.multiSelect(),e.each(function(e,t){var r=n(t),o=r.siblings(".multi-select-container"),a=o.find(".multi-select-menuitem--none"),t=r.data("orderable-select-none-option");a.remove();r=o.find(".multi-select-menuitem"),a=o.find(".multi-select-menuitems input:disabled").parent();r.show(),a.hide(),r.length===a.length&&t&&o.find(".multi-select-menuitems").append('<span class="multi-select-menuitem multi-select-menuitem--none">'+t+"</span>")})},destroy:function(e){e.siblings(".multi-select-container").remove(),e.data("plugin_multiSelect",!1)}};n(e).ready(r.on_ready)}(jQuery,document),function(a,e){"use strict";var r={on_ready:function(){a(e.body).on("iconic_onboard_wait_complete",r.init.woo_installed)},init:{woo_installed:function(e,t){void 0!==t&&"install_plugin"===t.wait_event&&"woocommerce"===t.json.plugin_data["repo-slug"]&&r.populate_woo_fields()}},populate_woo_fields:function(){var e={default_country:{type:"select",selector:"select#iconic_onboard_default_country"},business_name:{type:"text",selector:"input#iconic_onboard_business_name"},business_address:{type:"text",selector:"input#iconic_onboard_business_address"},business_address_2:{type:"text",selector:"input#iconic_onboard_business_address_2"},business_city:{type:"text",selector:"input#iconic_onboard_business_city"},business_postcode:{type:"text",selector:"input#iconic_onboard_business_postcode"}};a.post(ajaxurl,{action:"orderable_get_onboard_woo_fields",fields:e}).done(function(o){try{o.success&&a.each(e,function(e,t){var r=a(t.selector);r.length<=0||void 0===o.data[e]||("select"===t.type?r.html(o.data[e]):r.val(o.data[e]))})}catch(e){console.log(o),console.log(e),alert("Couldn't save.")}}).fail(function(){alert("Couldn't save. Are you connected to the internet? ")}).always(function(){})}};a(e).ready(r.on_ready)}(jQuery,document),jQuery(document).ready(function(){setTimeout(function(){"undefined"!=typeof orderable_pointers&&jQuery.each(orderable_pointers.pointers,function(e){return function e(t){var r,o,n=orderable_pointers.pointers[t];void 0!==n&&(r=jQuery.extend(n.options,{pointerClass:"wp-pointer wc-pointer orderable-pointer",close:function(){jQuery.post(orderable_pointers.ajax_url,{pointer:t,action:"dismiss-wp-pointer"}),n&&n.next&&orderable_pointers.pointers[n.next]&&setTimeout(function(){e(n.next)},250)},skip:function(){var e=document.querySelectorAll(".wp-pointer.orderable-pointer");Array.from(e).forEach(function(e){e.remove()}),jQuery.post(orderable_pointers.ajax_url,{pointer:"orderable-tour-dismissed",action:"dismiss-wp-pointer"})},buttons:function(e,t){var r=n&&n.next&&orderable_pointers.pointers[n.next]?orderable_pointers.i18n.next:orderable_pointers.i18n.close,o=jQuery('<a class="button button-primary" href="#">'+r+"</a>"),a=jQuery('<div class="wc-pointer-buttons" />'),r=orderable_pointers.i18n.skip,r=jQuery('<a class="button button-secondary" href="#">'+r+"</a>");return o.bind("click.pointer",function(e){e.preventDefault(),t.element.pointer("close")}),r.bind("click.pointer",function(e){e.preventDefault(),n.options.skip()}),a.append(o),a.append(r),a}}),(o=jQuery(n.target).pointer(r)).pointer("open"),n.next_trigger&&jQuery(n.next_trigger.target).on(n.next_trigger.event,function(){setTimeout(function(){o.pointer("close")},400)}))}(e),!1})},800)}),function(e,t){"use strict";var r={on_ready:function(){e(t.body).on("orderable-pro-modal",r.trigger_pro_modal)},trigger_pro_modal:function(){console.log("Pro only."),tb_show("Pro Feature","#TB_inline?inlineId=orderable-pro-modal")}};e(t).ready(r.on_ready)}(jQuery,document),function(l,i){"use strict";var e=function(){l(i.body).on("change",".orderable-enable-day",function(e){var t=l(this),r=t.data("orderable-day"),o=t.is(":checked"),t=l(".orderable-select--days");t.find('option[value="'+r+'"]').attr("disabled",!o).attr("selected",!1),l(i).trigger("orderable-destroy-multiselects",{selects:t}),l(i).trigger("orderable-init-multiselects",{selects:t})}),l(i.body).on("change",'[name*="\\[store_general_services\\]"]',function(e){var t=l(this),r=t.val(),o=t.is(":checked"),a=l(".orderable-toggle-wrapper--"+r+', button[data-orderable-wrapper="'+r+'"]'),t="orderable-ui-hide",r=l(".orderable-notice--select-service");o?a.removeClass(t):a.addClass(t);a=l('[name*="\\[store_general_services\\]"]:checked');a.length<=0?r.removeClass(t):(r.addClass(t),n=a.eq(0).val(),l('button[data-orderable-wrapper="'+n+'"]').click());var r=l("#orderable_settings_store_general_service_hours_pickup_same"),n=r.data("default-state");void 0===n&&(n=r.is(":checked"),r.data("default-state",n)),1===a.length&&"pickup"===a.val()?(r.prop("checked",!1).parent().addClass(t),l(i.body).trigger("orderable-toggle-element",{trigger_element:r[0],add_class:!1})):(r.prop("checked",n).parent().removeClass(t),l(i.body).trigger("orderable-toggle-element",{trigger_element:r[0],add_class:n})),l(i).trigger("orderable-add-last-row-class")}),l(i.body).on("change","#orderable_settings_store_general_service_hours_pickup_same",function(e){l(this).data("default-state",l(this).is(":checked"))}),l(".orderable-enable-day").on("change",function(){jQuery(this).closest("tr").toggleClass("orderable-table__row--hidden",!this.checked)})};l(i).ready(e)}(jQuery,document),function(a,n){"use strict";var e={on_ready:function(){a(n.body).on("click change","[data-orderable-trigger]",function(e){var t=a(this),r=t.data("orderable-trigger");"click"===e.type&&(t.is("select")||t.is("input")||t.is("label"))||((t.is("button")||t.is("a"))&&e.preventDefault(),a(n.body).trigger("orderable-"+r,{trigger_element:t}))}),a(n.body).on("orderable-new-row",function(e,t){var r=a(t.trigger_element),o=a(r.data("orderable-target")).find(".orderable-table__body"),t=o.find(".orderable-table__row--repeatable:last-child"),r=parseInt(t.data("orderable-index"))+1,r=t[0].outerHTML.replace(/\[\d+\]/gm,"["+r+"]").replace(/data-orderable-index="\d+"/gm,'data-orderable-index="'+r+'"');o.append(r);r=o.find(".orderable-table__row--repeatable:last-child");r.find("input").not('input[type="checkbox"]').val(""),r.find(".hasDatepicker").each(function(e,t){a(t).removeClass("hasDatepicker").attr("id","")}),r.find("select").each(function(e,t){var r=a(t),o=r.find('option[value=""]'),t=r.hasClass("orderable-select--multi-select"),o=o.length||t?"":r.find("option:first-child").val();r.val(o),t&&r.change()}),r.find('input[type="checkbox"]').prop("checked",!1),r.find(".multi-select-container").remove(),a(n).trigger("orderable-init-multiselects",{selects:o.find(".orderable-select--multi-select")}),o.find('[data-orderable-trigger="toggle-element-select"]').change(),a(n).trigger("orderable-add-last-row-class")}),a(n.body).on("orderable-remove-row",function(e,t){a(t.trigger_element).closest("tr").remove(),a(n).trigger("orderable-add-last-row-class")}),a(n.body).on("orderable-toggle-element",function(e,t){t.add_class=void 0!==t.add_class?t.add_class:null;var r=a(t.trigger_element),o=a(r.data("orderable-target")),r=r.data("orderable-toggle-class");null===t.add_class?o.toggleClass(r):!0===t.add_class?o.addClass(r):!1===t.add_class&&o.removeClass(r),a(n).trigger("orderable-add-last-row-class")}),a(n.body).on("orderable-toggle-element-select",function(e,t){var r=a(t.trigger_element),o=r.closest(r.data("orderable-parent")),t=r.data("orderable-target"),r=r.val();o.length<=0||void 0===t[r]||(a.each(t[r],function(e,t){t=o.find(t);"show"===e?t.show():"hide"===e&&t.hide()}),a(n).trigger("orderable-add-last-row-class"))}),a(n.body).on("orderable-toggle-wrapper",function(e,t){var r=a(t.trigger_element),o=r.data("orderable-wrapper"),t=r.data("orderable-wrapper-group"),r=a(".orderable-toggle-wrapper--"+o+'[data-orderable-wrapper-group="'+t+'"]');a('.orderable-toggle-wrapper[data-orderable-wrapper-group="'+t+'"]').removeClass("orderable-toggle-wrapper--active"),r.addClass("orderable-toggle-wrapper--active"),a('[data-orderable-wrapper-group="'+t+'"]').removeClass("orderable-trigger-element--active"),a('[data-orderable-wrapper="'+o+'"]').addClass("orderable-trigger-element--active"),a(n).trigger("orderable-add-last-row-class")}),a(n).on("orderable-add-last-row-class",e.add_last_row_class),a(n).trigger("orderable-add-last-row-class")},add_last_row_class:function(){var e=a(".orderable-table"),t="orderable-table__row--last",r=e.find("."+t),e=e.find("tbody > tr:visible:last");r.removeClass(t),e.addClass(t)}};a(n).ready(e.on_ready)}(jQuery,document);1 !function(n,e){"use strict";var t=function(){n(e.body).on("change",".orderable-table--product-lists input, .orderable-table--product-lists select",function(e){var t=n(this).closest(".orderable-table__row--repeatable"),r=t.find(".orderable-field--product-list-shortcode"),o={categories:"",layout:"grid",images:"true"},t={categories:t.find(".orderable-select--categories").val().toString(),layout:t.find(".orderable-select--layout").val().toString(),images:t.find(".orderable-checkbox--images").is(":checked").toString()},a="[orderable";n.each(t,function(e,t){t!==o[e]&&(a+=" "+e+'="'+t+'"')}),a+="]",r.val(a)})};n(e).ready(t)}(jQuery,document),function(n,e){"use strict";var r={on_ready:function(){r.init(n(".orderable-select--multi-select")),n(e).on("orderable-init-multiselects",function(e,t){void 0!==t.selects&&r.init(t.selects)}),n(e).on("orderable-destroy-multiselects",function(e,t){void 0!==t.selects&&r.destroy(t.selects)})},init:function(e){e.multiSelect(),e.each(function(e,t){var t=n(t),r=t.siblings(".multi-select-container"),o=r.find(".multi-select-menuitem--none"),t=t.data("orderable-select-none-option"),o=(o.remove(),r.find(".multi-select-menuitem")),a=r.find(".multi-select-menuitems input:disabled").parent();o.show(),a.hide(),o.length===a.length&&t&&r.find(".multi-select-menuitems").append('<span class="multi-select-menuitem multi-select-menuitem--none">'+t+"</span>")})},destroy:function(e){e.siblings(".multi-select-container").remove(),e.data("plugin_multiSelect",!1)}};n(e).ready(r.on_ready)}(jQuery,document),function(a,e){"use strict";var r={on_ready:function(){a(e.body).on("iconic_onboard_wait_complete",r.init.woo_installed)},init:{woo_installed:function(e,t){void 0!==t&&"install_plugin"===t.wait_event&&"woocommerce"===t.json.plugin_data["repo-slug"]&&r.populate_woo_fields()}},populate_woo_fields:function(){var e={default_country:{type:"select",selector:"select#iconic_onboard_default_country"},business_name:{type:"text",selector:"input#iconic_onboard_business_name"},business_address:{type:"text",selector:"input#iconic_onboard_business_address"},business_address_2:{type:"text",selector:"input#iconic_onboard_business_address_2"},business_city:{type:"text",selector:"input#iconic_onboard_business_city"},business_postcode:{type:"text",selector:"input#iconic_onboard_business_postcode"}};a.post(ajaxurl,{action:"orderable_get_onboard_woo_fields",fields:e}).done(function(o){try{o.success&&a.each(e,function(e,t){var r=a(t.selector);r.length<=0||void 0===o.data[e]||("select"===t.type?r.html(o.data[e]):r.val(o.data[e]))})}catch(e){console.log(o),console.log(e),alert("Couldn't save.")}}).fail(function(){alert("Couldn't save. Are you connected to the internet? ")}).always(function(){})}};a(e).ready(r.on_ready)}(jQuery,document),jQuery(document).ready(function(){setTimeout(function(){"undefined"!=typeof orderable_pointers&&jQuery.each(orderable_pointers.pointers,function(e){return function e(t){var r,o,n=orderable_pointers.pointers[t];void 0!==n&&(r=jQuery.extend(n.options,{pointerClass:"wp-pointer wc-pointer orderable-pointer",close:function(){jQuery.post(orderable_pointers.ajax_url,{pointer:t,action:"dismiss-wp-pointer"}),n&&n.next&&orderable_pointers.pointers[n.next]&&setTimeout(function(){e(n.next)},250)},skip:function(){var e=document.querySelectorAll(".wp-pointer.orderable-pointer");Array.from(e).forEach(function(e){e.remove()}),jQuery.post(orderable_pointers.ajax_url,{pointer:"orderable-tour-dismissed",action:"dismiss-wp-pointer"})},buttons:function(e,t){var r=n&&n.next&&orderable_pointers.pointers[n.next]?orderable_pointers.i18n.next:orderable_pointers.i18n.close,r=jQuery('<a class="button button-primary" href="#">'+r+"</a>"),o=jQuery('<div class="wc-pointer-buttons" />'),a=orderable_pointers.i18n.skip,a=jQuery('<a class="button button-secondary" href="#">'+a+"</a>");return r.bind("click.pointer",function(e){e.preventDefault(),t.element.pointer("close")}),a.bind("click.pointer",function(e){e.preventDefault(),n.options.skip()}),o.append(r),o.append(a),o}}),(o=jQuery(n.target).pointer(r)).pointer("open"),n.next_trigger&&jQuery(n.next_trigger.target).on(n.next_trigger.event,function(){setTimeout(function(){o.pointer("close")},400)}))}(e),!1})},800)}),function(e,t){"use strict";var r={on_ready:function(){e(t.body).on("orderable-pro-modal",r.trigger_pro_modal)},trigger_pro_modal:function(){console.log("Pro only."),tb_show("Pro Feature","#TB_inline?inlineId=orderable-pro-modal")}};e(t).ready(r.on_ready)}(jQuery,document),function(n,l){"use strict";var e=function(){n(l.body).on("change",".orderable-enable-day",function(e){var t=n(this),r=t.data("orderable-day"),t=t.is(":checked"),o=n(".orderable-select--days");o.find('option[value="'+r+'"]').attr("disabled",!t).attr("selected",!1),n(l).trigger("orderable-destroy-multiselects",{selects:o}),n(l).trigger("orderable-init-multiselects",{selects:o})}),n(l.body).on("change",'[name*="\\[store_general_services\\]"]',function(e){var t=n(this),r=t.val(),t=t.is(":checked"),r=n(".orderable-toggle-wrapper--"+r+', button[data-orderable-wrapper="'+r+'"]'),o="orderable-ui-hide",a=n(".orderable-notice--select-service"),t=(t?r.removeClass(o):r.addClass(o),n('[name*="\\[store_general_services\\]"]:checked')),a=(t.length<=0?a.removeClass(o):(a.addClass(o),r=t.eq(0).val(),n('button[data-orderable-wrapper="'+r+'"]').click()),n("#orderable_settings_store_general_service_hours_pickup_same")),r=a.data("default-state");void 0===r&&(r=a.is(":checked"),a.data("default-state",r)),1===t.length&&"pickup"===t.val()?(a.prop("checked",!1).parent().addClass(o),n(l.body).trigger("orderable-toggle-element",{trigger_element:a[0],add_class:!1})):(a.prop("checked",r).parent().removeClass(o),n(l.body).trigger("orderable-toggle-element",{trigger_element:a[0],add_class:r})),n(l).trigger("orderable-add-last-row-class")}),n(l.body).on("change","#orderable_settings_store_general_service_hours_pickup_same",function(e){n(this).data("default-state",n(this).is(":checked"))}),n(".orderable-enable-day").on("change",function(){jQuery(this).closest("tr").toggleClass("orderable-table__row--hidden",!this.checked)})};n(l).ready(e)}(jQuery,document),function(a,n){"use strict";var e={on_ready:function(){a(n.body).on("click change","[data-orderable-trigger]",function(e){var t=a(this),r=t.data("orderable-trigger");"click"===e.type&&(t.is("select")||t.is("input")||t.is("label"))||((t.is("button")||t.is("a"))&&e.preventDefault(),a(n.body).trigger("orderable-"+r,{trigger_element:t}))}),a(n.body).on("orderable-new-row",function(e,t){var t=a(t.trigger_element),t=a(t.data("orderable-target")).find(".orderable-table__body"),r=t.find(".orderable-table__row--repeatable:last-child"),o=parseInt(r.data("orderable-index"))+1,r=r[0].outerHTML.replace(/\[\d+\]/gm,"["+o+"]").replace(/data-orderable-index="\d+"/gm,'data-orderable-index="'+o+'"'),o=(t.append(r),t.find(".orderable-table__row--repeatable:last-child"));o.find("input").not('input[type="checkbox"]').val(""),o.find(".hasDatepicker").each(function(e,t){a(t).removeClass("hasDatepicker").attr("id","")}),o.find("select").each(function(e,t){var t=a(t),r=t.find('option[value=""]'),o=t.hasClass("orderable-select--multi-select"),r=r.length||o?"":t.find("option:first-child").val();t.val(r),o&&t.change()}),o.find('input[type="checkbox"]').prop("checked",!1),o.find(".multi-select-container").remove(),a(n).trigger("orderable-init-multiselects",{selects:t.find(".orderable-select--multi-select")}),t.find('[data-orderable-trigger="toggle-element-select"]').change(),a(n).trigger("orderable-add-last-row-class")}),a(n.body).on("orderable-remove-row",function(e,t){var t=a(t.trigger_element),r=t.closest("tr");1===t.closest("tbody").find(">tr").length?(r.find("input").val(""),r.find('input[type="checkbox"], input[type="radio"]').prop("checked",!1),r.find("select").each(function(){a(this).hasClass("orderable-select--multi-select")||(this.selectedIndex=0,a(this).trigger("change"))}),r.find('.multi-select-container input[type="checkbox"]').trigger("change")):r.remove(),a(n).trigger("orderable-add-last-row-class")}),a(n.body).on("orderable-toggle-element",function(e,t){t.add_class=void 0!==t.add_class?t.add_class:null;var r=a(t.trigger_element),o=a(r.data("orderable-target")),r=r.data("orderable-toggle-class");null===t.add_class?o.toggleClass(r):!0===t.add_class?o.addClass(r):!1===t.add_class&&o.removeClass(r),a(n).trigger("orderable-add-last-row-class")}),a(n.body).on("orderable-toggle-element-select",function(e,t){var t=a(t.trigger_element),r=t.closest(t.data("orderable-parent")),o=t.data("orderable-target"),t=t.val();r.length<=0||void 0===o||void 0===o[t]||(a.each(o[t],function(e,t){t=r.find(t);"show"===e?t.show():"hide"===e&&t.hide()}),a(n).trigger("orderable-add-last-row-class"))}),a(n.body).on("orderable-toggle-wrapper",function(e,t){var t=a(t.trigger_element),r=t.data("orderable-wrapper"),t=t.data("orderable-wrapper-group"),o=a(".orderable-toggle-wrapper--"+r+'[data-orderable-wrapper-group="'+t+'"]');a('.orderable-toggle-wrapper[data-orderable-wrapper-group="'+t+'"]').removeClass("orderable-toggle-wrapper--active"),o.addClass("orderable-toggle-wrapper--active"),a('[data-orderable-wrapper-group="'+t+'"]').removeClass("orderable-trigger-element--active"),a('[data-orderable-wrapper="'+r+'"]').addClass("orderable-trigger-element--active"),a(n).trigger("orderable-add-last-row-class")}),a(n).on("orderable-add-last-row-class",e.add_last_row_class),a(n).trigger("orderable-add-last-row-class")},add_last_row_class:function(){var e=a(".orderable-table"),t="orderable-table__row--last",r=e.find("."+t),e=e.find("tbody > tr:visible:last");r.removeClass(t),e.addClass(t)}};a(n).ready(e.on_ready)}(jQuery,document); -
orderable/trunk/assets/frontend/css/main.css
r2641784 r2709284 87 87 } 88 88 89 .orderable-main--sections-side_tabs{90 display: -webkit-box;91 display: -ms-flexbox;92 display: flex;93 } 94 95 .orderable-main--sections-side_tabs .orderable-main__tabs {96 margin: 0 24px 0 0 !important;97 }98 99 .orderable-main--sections-side_tabs .orderable-main__sections { 100 -webkit-box-flex: 1;101 -ms-flex: 1;102 flex: 1;89 @media screen and (min-width: 620px) { 90 .orderable-main--sections-side_tabs { 91 display: -webkit-box; 92 display: -ms-flexbox; 93 display: flex; 94 } 95 .orderable-main--sections-side_tabs .orderable-main__tabs { 96 margin: 0 24px 0 0 !important; 97 } 98 .orderable-main--sections-side_tabs .orderable-main__sections { 99 -webkit-box-flex: 1; 100 -ms-flex: 1; 101 flex: 1; 102 } 103 103 } 104 104 … … 206 206 } 207 207 208 .orderable-button--icon { 209 padding: 10px !important; 210 width: 44px; 211 height: 44px; 212 line-height: 24px; 213 border: none; 214 background: none !important; 215 } 216 217 body .orderable-button--icon:hover, 218 body .orderable-button--icon:focus, 219 body .orderable-button--icon:active { 220 background: none !important; 221 opacity: 0.6; 222 } 223 224 .orderable-button--icon svg { 225 width: 24px; 226 height: 24px; 227 border-radius: 12px; 228 overflow: hidden; 229 -webkit-transition: opacity 250ms ease-in-out; 230 transition: opacity 250ms ease-in-out; 231 } 232 233 .orderable-button--icon.orderable-button--loading:after { 234 display: none; 235 } 236 208 237 /* Block */ 209 238 /* Modifiers */ … … 465 494 466 495 .orderable-product__options { 467 margin: 12px0 24px;496 margin: 0 0 24px; 468 497 padding: 0; 469 498 border-radius: 6px; 470 }471 472 .orderable-product__options:last-child {473 margin-bottom: 0;474 499 } 475 500 … … 483 508 484 509 .orderable-product__options th { 485 font-size: 18px;486 510 line-height: 22px; 487 511 } … … 529 553 .orderable-product__actions-button { 530 554 margin: 0 0 0 auto; 555 } 556 557 .orderable-product__tabs { 558 margin: 24px 0; 559 } 560 561 .orderable-product__tabs-section { 562 display: none; 563 } 564 565 .orderable-product__tabs-section:first-child { 566 display: block; 567 } 568 569 .orderable-product__tabs-section *:last-child { 570 margin-bottom: 0; 531 571 } 532 572 … … 544 584 } 545 585 586 .orderable-product--options .orderable-product__hero { 587 margin: -24px -24px 0; 588 } 589 590 .orderable-product--options .orderable-product__title { 591 text-align: left; 592 margin: 24px 0 !important; 593 } 594 546 595 .orderable-product--options .orderable-product__actions { 547 596 margin-top: auto; … … 553 602 } 554 603 555 .orderable-product--clickable { 604 .orderable-product--add-to-cart, 605 .orderable-product--product-options, 606 .orderable-product--view-product { 556 607 cursor: pointer; 557 608 } 558 609 559 .orderable-product __hero--title{610 .orderable-product--image-cropped .orderable-product__hero { 560 611 overflow: hidden; 561 padding: 24px 24px 0; 562 margin: -24px -24px 24px; 612 padding: 0; 563 613 text-align: center; 564 614 -webkit-box-flex: 0; 565 615 -ms-flex: 0 0 auto; 566 616 flex: 0 0 auto; 567 } 568 569 .orderable-product__hero--title:before { 570 background: #fff; 571 top: auto; 572 left: -10px; 573 right: -10px; 574 bottom: -10px; 575 position: absolute; 576 height: 24px; 577 z-index: 5; 578 -webkit-transform: rotate(-1.5deg); 579 transform: rotate(-1.5deg); 580 } 581 582 .orderable-product__hero--title:after { 583 content: ""; 584 position: absolute; 585 top: 0; 586 left: 0; 587 right: 0; 588 bottom: 0; 589 background: -webkit-gradient(linear, left bottom, left top, from(rgba(24, 33, 37, 0.8)), to(rgba(24, 33, 37, 0.3))); 590 background: linear-gradient(0deg, rgba(24, 33, 37, 0.8), rgba(24, 33, 37, 0.3)); 591 z-index: 1; 592 mix-blend-mode: multiply; 593 } 594 595 .orderable-product__hero--title .orderable-product__image { 617 height: 72px; 618 } 619 620 .orderable-product--image-cropped .orderable-product__image { 596 621 -o-object-fit: cover; 597 622 object-fit: cover; … … 602 627 left: 0; 603 628 top: 0; 604 }605 606 .orderable-product__hero--title .orderable-product__title {607 color: #fff;608 position: relative;609 z-index: 10;610 629 } 611 630 … … 636 655 width: 100%; 637 656 min-width: 60px; 638 max-width: 80px;657 max-width: 95px; 639 658 border-radius: 6px; 640 659 overflow: hidden; … … 756 775 -ms-flex-preferred-size: 100%; 757 776 flex-basis: 100%; 777 margin-bottom: -1px; 758 778 } 759 779 … … 768 788 } 769 789 770 .orderable-drawer__cart . widget_shopping_cart_content{790 .orderable-drawer__cart .orderable-mini-cart-wrapper { 771 791 height: 100%; 772 792 display: -webkit-box; … … 886 906 background: #fce9e9; 887 907 color: #dc2323; 888 padding: 6px 12px ;908 padding: 6px 12px 6px 28px !important; 889 909 text-align: center; 890 910 margin: 0 0 6px; … … 899 919 .orderable-drawer__cart .orderable-mini-cart__notices .button { 900 920 display: none; 921 } 922 923 .orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-message::before, .orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error::before, .orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-info::before { 924 left: 12px; 901 925 } 902 926 … … 1025 1049 1026 1050 .orderable-drawer__close:focus:before, .orderable-drawer__close:focus:after, .orderable-drawer__close:active:before, .orderable-drawer__close:active:after, .orderable-drawer__close:hover:before, .orderable-drawer__close:hover:after { 1027 background-color: # fff;1051 background-color: #405763; 1028 1052 } 1029 1053 … … 1190 1214 1191 1215 .orderable-tabs { 1192 margin: 0 0 24px !important; 1216 margin: 0 0 24px; 1217 position: relative; 1218 } 1219 1220 .orderable-tabs__list { 1221 margin: 0 1px 0 0 !important; 1193 1222 padding: 0 !important; 1194 1223 list-style: none none outside; 1195 } 1196 1197 .orderable-main--sections-side_tabs .orderable-tabs { 1198 -webkit-box-flex: 0; 1199 -ms-flex: 0 1 auto; 1200 flex: 0 1 auto; 1224 position: relative; 1225 display: -webkit-box; 1226 display: -ms-flexbox; 1227 display: flex; 1228 -ms-flex-wrap: nowrap; 1229 flex-wrap: nowrap; 1230 -webkit-box-flex: 1; 1231 -ms-flex: 1 1 auto; 1232 flex: 1 1 auto; 1233 overflow-x: auto; 1234 overflow-y: hidden; 1235 overflow: -moz-scrollbars-none; 1236 scrollbar-base-color: transparent; 1237 -webkit-overflow-scrolling: touch; 1238 } 1239 1240 .orderable-tabs__list::-webkit-scrollbar { 1241 display: none; 1242 } 1243 1244 @media screen and (min-width: 620px) { 1245 .orderable-main--sections-side_tabs .orderable-tabs__list { 1246 -webkit-box-flex: 0; 1247 -ms-flex: 0 1 auto; 1248 flex: 0 1 auto; 1249 -webkit-box-orient: vertical; 1250 -webkit-box-direction: normal; 1251 -ms-flex-direction: column; 1252 flex-direction: column; 1253 height: auto; 1254 } 1201 1255 } 1202 1256 1203 1257 .orderable-tabs__item { 1204 1258 display: inline-block; 1205 margin: 0 ;1259 margin: 0 10px 0 0; 1206 1260 padding: 0; 1207 1261 } 1208 1262 1209 .orderable-main--sections-side_tabs .orderable-tabs__item { 1210 margin: 0 0 6px; 1211 display: block; 1212 } 1213 1214 .orderable-main--sections-side_tabs .orderable-tabs__item:last-child { 1215 margin: 0; 1263 .orderable-tabs__item:last-child { 1264 margin-right: 0; 1265 } 1266 1267 @media screen and (min-width: 620px) { 1268 .orderable-main--sections-side_tabs .orderable-tabs__item { 1269 margin: 0 0 12px; 1270 display: block; 1271 } 1272 .orderable-main--sections-side_tabs .orderable-tabs__item:last-child { 1273 margin: 0; 1274 } 1216 1275 } 1217 1276 … … 1222 1281 white-space: nowrap; 1223 1282 line-height: 40px; 1224 color: # 000;1283 color: #405763; 1225 1284 font-weight: 400; 1226 1285 border-radius: 20px; 1227 -webkit-transition: none; 1228 transition: none; 1286 -webkit-transition: all 150ms ease-out; 1287 transition: all 150ms ease-out; 1288 background: #ecf1f3; 1229 1289 } 1230 1290 … … 1236 1296 1237 1297 a.orderable-tabs__link:hover, a.orderable-tabs__link:active, a.orderable-tabs__link:focus { 1238 color: # 000;1298 color: #405763; 1239 1299 text-decoration: none; 1240 background: # ecf1f3;1300 background: #c7d4db; 1241 1301 } 1242 1302 … … 1248 1308 .orderable--button-style-square a.orderable-tabs__link { 1249 1309 border-radius: 0; 1310 } 1311 1312 .orderable-tabs__arrow { 1313 background: #fff; 1314 -webkit-box-shadow: 0 0.4px 1.3px rgba(0, 0, 0, 0.05), 0 1.3px 4.5px rgba(0, 0, 0, 0.06), 0 6px 16px rgba(0, 0, 0, 0.07); 1315 box-shadow: 0 0.4px 1.3px rgba(0, 0, 0, 0.05), 0 1.3px 4.5px rgba(0, 0, 0, 0.06), 0 6px 16px rgba(0, 0, 0, 0.07); 1316 border: none; 1317 width: 40px !important; 1318 height: 40px !important; 1319 padding: 0 !important; 1320 margin: 0 !important; 1321 border-radius: 20px !important; 1322 position: absolute; 1323 top: 0; 1324 right: 0; 1325 text-align: center; 1326 line-height: 40px; 1327 display: none; 1328 } 1329 1330 .orderable-tabs__arrow:hover, .orderable-tabs__arrow:focus, .orderable-tabs__arrow:active { 1331 background: #fff; 1332 outline: none; 1333 } 1334 1335 .orderable-tabs__arrow svg { 1336 width: 21px; 1337 height: 24px; 1338 margin: 8px 0; 1339 } 1340 1341 /** 1342 * Accordion. 1343 */ 1344 .orderable-accordion { 1345 margin: 24px 0; 1346 background: #f6f8f9; 1347 padding: 0 24px; 1348 border-radius: 6px; 1349 } 1350 1351 .orderable-product__options + .orderable-accordion, 1352 .orderable-product-fields-group-wrap + .orderable-accordion { 1353 margin-top: 36px; 1354 } 1355 1356 .orderable-accordion__item { 1357 border-top: 1px solid #E6ECEF; 1358 } 1359 1360 .orderable-accordion__item:first-child { 1361 border-top: none; 1362 } 1363 1364 .orderable-accordion__item-link { 1365 display: block; 1366 padding: 18px 0; 1367 margin: 0; 1368 color: inherit; 1369 position: relative; 1370 } 1371 1372 .orderable-accordion__item-link--active, .orderable-accordion__item-link:hover, .orderable-accordion__item-link:active, .orderable-accordion__item-link:focus { 1373 color: #000; 1374 border: none; 1375 outline: none; 1376 } 1377 1378 .orderable-accordion__item-link--active:before, .orderable-accordion__item-link--active:after, .orderable-accordion__item-link:hover:before, .orderable-accordion__item-link:hover:after, .orderable-accordion__item-link:active:before, .orderable-accordion__item-link:active:after, .orderable-accordion__item-link:focus:before, .orderable-accordion__item-link:focus:after { 1379 background-color: #405763 !important; 1380 } 1381 1382 .orderable-accordion__item-link:before, .orderable-accordion__item-link:after { 1383 position: absolute; 1384 right: 5px; 1385 content: ' '; 1386 height: 11px; 1387 width: 2px; 1388 background-color: #c7d4db; 1389 top: 50%; 1390 display: block; 1391 margin: -4px 0 0; 1392 } 1393 1394 .orderable-accordion__item-link:before { 1395 -webkit-transform: rotate(45deg); 1396 transform: rotate(45deg); 1397 } 1398 1399 .orderable-accordion__item-link:after { 1400 -webkit-transform: rotate(-45deg); 1401 transform: rotate(-45deg); 1402 right: 12px; 1403 } 1404 1405 .orderable-accordion__item-link--active:before { 1406 right: 12px; 1407 } 1408 1409 .orderable-accordion__item-link--active:after { 1410 right: 5px; 1411 } 1412 1413 .orderable-accordion__item-content { 1414 display: none; 1415 } 1416 1417 .orderable-accordion__item-content--active { 1418 display: block; 1419 } 1420 1421 .orderable-accordion__item-content:after { 1422 content: ""; 1423 display: table; 1424 clear: both; 1250 1425 } 1251 1426 … … 1374 1549 .orderable-quantity-roller__button:hover, .orderable-quantity-roller__button:focus, .orderable-quantity-roller__button:visited { 1375 1550 background-color: #c7d4db; 1376 color: # fff;1551 color: #405763; 1377 1552 -webkit-box-shadow: none; 1378 1553 box-shadow: none; … … 1382 1557 1383 1558 .orderable-quantity-roller__button:hover:before, .orderable-quantity-roller__button:hover:after, .orderable-quantity-roller__button:focus:before, .orderable-quantity-roller__button:focus:after, .orderable-quantity-roller__button:visited:before, .orderable-quantity-roller__button:visited:after { 1384 background: # fff;1559 background: #405763; 1385 1560 } 1386 1561 … … 1409 1584 padding: 0 6px; 1410 1585 min-width: 24px; 1586 outline: none; 1411 1587 } 1412 1588 -
orderable/trunk/assets/frontend/css/main.min.css
r2641784 r2709284 1 @-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}@keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}.orderable-main__group{margin:0 0 36px}.orderable-main--sections-tabs .orderable-main__group{display:none}.orderable-main--sections-tabs .orderable-main__group:first-of-type{display:block} .orderable-main--sections-side_tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.orderable-main--sections-side_tabs .orderable-main__tabs{margin:0 24px 0 0!important}.orderable-main--sections-side_tabs .orderable-main__sections{-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-button,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout,.orderable-drawer__close{display:inline-block;border:2px solid #000;background:0 0;padding:0 24px!important;height:40px;line-height:36px;white-space:nowrap;border-radius:20px;color:#000;text-transform:none;margin:0;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;-webkit-box-shadow:none;box-shadow:none;cursor:pointer}.orderable-button:active,.orderable-button:focus,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:active,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:focus,.orderable-drawer__close:active,.orderable-drawer__close:focus{outline:0}.orderable-button--active,.orderable-button--hover,.orderable-button:active,.orderable-button:focus,.orderable-button:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:active,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:focus,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:hover,.orderable-drawer__close:active,.orderable-drawer__close:focus,.orderable-drawer__close:hover{border-color:#000;background:#000;color:#fff;text-decoration:none;-webkit-box-shadow:none;box-shadow:none}.orderable-button--filled,.orderable-button--filled--hover,.orderable-button--filled:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:hover{background:#000!important;color:#fff}.orderable-button--full{width:100%}.orderable-button--loading{position:relative;padding-right:48px!important}.orderable-button--loading:after{content:'';display:block;width:16px;height:16px;position:absolute;top:10px;right:22px;background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:2px solid #000;border-left:2px solid #000;border-right:2px solid transparent;border-bottom:2px solid transparent;border-radius:100%;-webkit-animation:spin .6s ease-out infinite;animation:spin .6s ease-out infinite}.orderable-button--filled .orderable-button--loading:after,.orderable-button--loading.orderable-button--hover:after,.orderable-button--loading:active:after,.orderable-button--loading:focus:after,.orderable-button--loading:hover:after,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout .orderable-button--loading:after{border-top-color:#fff;border-left-color:#fff}.orderable-button--out-of-stock.orderable-button--hover.orderable-drawer__close,.orderable-button--out-of-stock.orderable-drawer__close,.orderable-button--out-of-stock.orderable-drawer__close:active,.orderable-button--out-of-stock.orderable-drawer__close:focus,.orderable-button--out-of-stock.orderable-drawer__close:hover,.orderable-button.orderable-button--out-of-stock,.orderable-button.orderable-button--out-of-stock.orderable-button--hover,.orderable-button.orderable-button--out-of-stock:active,.orderable-button.orderable-button--out-of-stock:focus,.orderable-button.orderable-button--out-of-stock:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout:active,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout:focus,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.orderable-button--hover.button.checkout{cursor:not-allowed;border-color:#c7d4db;color:#a8bdc7;background:0 0!important}.orderable--button-style-square .orderable-button,.orderable--button-style-square .orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout,.orderable--button-style-square .orderable-drawer__close,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable--button-style-square .button.checkout{border-radius:0}.orderable-input--select,select.orderable-input--select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:10px;border:2px solid #E6ECEF;border-radius:8px;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23c1cfd7'><polygon points='0,0 100,0 50,50'/></svg>");background-size:16px;background-position:calc(100% - 14px) 19px;background-repeat:no-repeat;cursor:pointer}.orderable-input--select:focus,select.orderable-input--select:focus{outline:0;border-color:#000;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23000000'><polygon points='0,0 100,0 50,50'/></svg>")}.orderable-input.orderable-input--text{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:10px;border:2px solid #E6ECEF;border-radius:8px;width:100%;background-color:#fff;-webkit-box-shadow:none;box-shadow:none}.orderable-floating-cart__button,.orderable-products-list__item .orderable-product{-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07)}.orderable-input.orderable-input--text:focus{outline:0;border-color:#000;background-color:#fff}.orderable-category-heading{margin:0 0 24px}.orderable-products-list{margin-bottom:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list *{-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list:last-child{margin-bottom:0}@media screen and (min-width:480px){.orderable-products-list .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 200px;flex:0 0 200px}.orderable-products-list .orderable-product__hero{width:200px}.orderable-products-list .orderable-product__image{-o-object-fit:cover;object-fit:cover;width:100%!important;height:100%!important}.orderable-products-list .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}}.orderable-products-list .orderable-product__actions{padding:12px 24px 18px;margin-top:auto}.orderable-products-list__item{width:100%;margin:0 0 24px}@media screen and (max-width:480px){.orderable-products-list__item{padding:0 0 24px;border-bottom:1px solid #ecf1f3}.orderable-products-list__item:last-child{border-bottom:none}}@media screen and (min-width:540px){.orderable-products-list--grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-products-list__item{margin:0 0 24px;padding:0 12px;width:50%}.orderable-products-list--grid .orderable-product{padding:0 0 88px;display:block;margin:0;-webkit-box-flex:0;-ms-flex:none;flex:none}}@media screen and (min-width:1120px){.orderable-products-list--grid .orderable-products-list__item{width:33.33%}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-product__hero{width:auto}.orderable-products-list--grid .orderable-product__hero img{-o-object-fit:fill;object-fit:fill;width:100%;height:auto}.orderable-products-list--grid .orderable-product__content-wrap{-webkit-box-flex:0;-ms-flex:none;flex:none;display:block}.orderable-products-list--grid .orderable-product__actions{padding:0;margin-top:0;position:absolute;bottom:24px;left:24px;right:24px}}.orderable-product{overflow:hidden;position:relative}.orderable-product__hero{position:relative}.orderable-product__image{border-radius:0;margin:0;display:block;width:100%;height:auto!important;max-width:none!important}.orderable-product__content{padding:18px 24px 12px}.orderable-product__content :last-child{margin-bottom:0}.orderable-product__title{margin:0 0 12px!important}.orderable-product__description{margin:0}.orderable-product__tags{overflow:hidden;margin:0;padding:0;list-style:none}img+.orderable-product__tags{position:absolute;bottom:0;left:0;padding:12px;z-index:20}.orderable-product__tags li{margin:6px 0 0}.orderable-product__options{margin:12px 0 24px;padding:0;border-radius:6px}.orderable-product__actions:last-child,.orderable-product__options:last-child{margin-bottom:0}.orderable-product__options td,.orderable-product__options th{background-color:transparent!important;padding:0 0 12px;text-align:left;display:block;margin:0}.orderable-product__options th{font-size:18px;line-height:22px}.orderable-product__options td{padding-bottom:24px}.orderable-product__options tr{padding:0;margin:0}.orderable-product__options tr:last-child td{padding-bottom:0}.orderable-product__actions{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-product__actions-price{margin:0 4px 0 0}.orderable-product__actions-price .amount{white-space:nowrap;margin:0 6px 0 0;font-weight:700;color:#000;font-size:20px;line-height:24px}.orderable-product__actions-button{margin:0 0 0 auto}.orderable-product--options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:visible;height:100%}.orderable-product--options .orderable-product__actions{margin-top:auto;padding-top:24px;border-top:1px solid #E6ECEF;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.orderable-product--clickable{cursor:pointer}.orderable-product__hero--title{overflow:hidden;padding:24px 24px 0;margin:-24px -24px 24px;text-align:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.orderable-product__hero--title:before{background:#fff;top:auto;left:-10px;right:-10px;bottom:-10px;position:absolute;height:24px;z-index:5;-webkit-transform:rotate(-1.5deg);transform:rotate(-1.5deg)}.orderable-product__hero--title:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:-webkit-gradient(linear,left bottom,left top,from(rgba(24,33,37,.8)),to(rgba(24,33,37,.3)));background:linear-gradient(0deg,rgba(24,33,37,.8),rgba(24,33,37,.3));z-index:1;mix-blend-mode:multiply}.orderable-product__hero--title .orderable-product__image{-o-object-fit:cover;object-fit:cover;position:absolute;z-index:-1;width:100%;height:100%!important;left:0;top:0}.orderable-product__hero--title .orderable-product__title{color:#fff;position:relative;z-index:10}.orderable-products-list__item .orderable-product{height:100%;width:100%;box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);border-radius:6px}@media screen and (max-width:480px){.orderable-products-list__item .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.orderable-products-list__item .orderable-product__hero{width:100%;min-width:60px;max-width:80px;border-radius:6px;overflow:hidden}.orderable-products-list__item .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-products-list__item .orderable-product__content{padding:0 0 0 24px}.orderable-products-list__item .orderable-product__actions{padding:6px 0 0 24px}.orderable-products-list__item .orderable-product__title{margin:0 0 6px!important}}.orderable-tag{display:inline-block;background:#EDF2F6;border-radius:15px;height:30px;line-height:30px;white-space:nowrap;color:#495568;padding:0 12px;font-size:14px}body.orderable-drawer-open{overflow:hidden}.orderable-drawer-overlay{height:100%;z-index:999998;position:fixed;top:0;left:0;opacity:0;visibility:hidden;background-color:rgba(34,34,34,.6);-webkit-transition:opacity .2s linear,visibility .1s,width 1s ease-in;transition:opacity .2s linear,visibility .1s,width 1s ease-in}.orderable-drawer{width:100%;visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:all .2s;transition:all .2s;border-radius:0;-webkit-box-shadow:0 4px 56px -2px rgba(0,0,0,.2),0 3px 6px -1px rgba(0,0,0,.4);box-shadow:0 4px 56px -2px rgba(0,0,0,.2),0 3px 6px -1px rgba(0,0,0,.4);display:block;position:fixed;top:0;right:0;height:100%;z-index:999999;background-color:#fff;overflow:hidden;padding:24px}@media screen and (min-width:640px){.orderable-drawer{max-width:600px}}.orderable-drawer h3{margin:0 60px 24px!important;font-size:20px;line-height:24px;text-align:center}.orderable-drawer h4{font-size:18px;line-height:22px}.orderable-drawer__inner{padding:0;height:100%;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.orderable-drawer__cart,.orderable-drawer__cart .widget_shopping_cart_content{display:-webkit-box;display:-ms-flexbox;-webkit-box-orient:vertical;-webkit-box-direction:normal}.orderable-drawer__inner .orderable-sb-container{-ms-flex-preferred-size:100%;flex-basis:100%}.orderable-drawer__cart{display:flex;-ms-flex-direction:column;flex-direction:column}.orderable-drawer__cart .widget_shopping_cart_content{height:100%;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;border-top:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart{margin:0;padding:0;list-style:none;overflow:hidden;min-height:100%}.orderable-drawer__cart .orderable-mini-cart-item{margin:0;padding:10px 44px 10px 0;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-bottom:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart-item:last-child{border-bottom:none}.orderable-drawer__cart .orderable-mini-cart-item .variation{margin:7.5px 0}.orderable-drawer__cart .orderable-mini-cart-item .variation dd,.orderable-drawer__cart .orderable-mini-cart-item .variation dt,.orderable-drawer__cart .orderable-mini-cart-item .variation p{margin:0}.orderable-drawer__cart .orderable-mini-cart-item .blockOverlay{background:#fff!important;opacity:.8!important}.orderable-drawer__cart .orderable-mini-cart-item__remove{position:absolute;bottom:16px;right:0;z-index:20;color:#c7d4db;-webkit-box-shadow:none;box-shadow:none;height:40px;width:40px;text-indent:250%;white-space:nowrap;font-size:0;-webkit-transition:none;transition:none;-webkit-box-sizing:border-box;box-sizing:border-box;border:none}.orderable-drawer__cart .orderable-mini-cart-item__remove svg{display:block;height:20px;width:20px;position:absolute;left:50%;top:50%;-webkit-transition:none;transition:none;fill:#c7d4db;margin:-10px 0 0 -10px}.orderable-drawer__cart .orderable-mini-cart-item__remove:hover svg{opacity:.8}.orderable--button-style-square .orderable-drawer__cart .orderable-mini-cart-item__remove{border-radius:0}.orderable-drawer__cart .quantity{font-weight:700}.orderable-drawer__cart .orderable-mini-cart__notices{padding:15px 0;border-top:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error{margin:0;padding:0;list-style:none}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error li{border:1px solid #E34F4F;background:#fce9e9;color:#dc2323;padding:6px 12px;text-align:center;margin:0 0 6px;display:block;border-radius:8px}.orderable-drawer__cart .orderable-mini-cart__buttons .button,.orderable-drawer__cart .orderable-mini-cart__notices .button{display:none}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error li:last-child{margin-bottom:0}.orderable-drawer__cart .orderable-mini-cart__buttons,.orderable-drawer__cart .orderable-mini-cart__total{margin:0;padding:0;text-align:center}.orderable-drawer__cart .orderable-mini-cart__total{padding:15px 0;border-top:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout{display:block;width:100%}.orderable-drawer__cart .orderable-mini-cart__empty-message{margin:auto 0;text-align:center}.orderable-drawer__cart .orderable-services-selector__lookup,.orderable-drawer__cart .orderable-services-selector__selected{margin:0 0 15px}.orderable-drawer__cart .orderable-services-selector__lookup input{width:100%;margin:0 0 8px}.orderable-drawer__cart .orderable-services-selector__lookup-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.orderable-drawer__cart .orderable-services-selector__lookup-buttons button{display:block;width:100%}.orderable-drawer__cart .orderable-services-selector__lookup-buttons button:first-child{margin-right:4px}.orderable-drawer__cart .orderable-services-selector__lookup-buttons button:last-child{margin-left:4px}.orderable-drawer__actions{bottom:-24px;margin:auto 0 -24px;background:#fff;padding:24px 0;left:0;right:0;border-top:1px solid #F2F2F2}.orderable-drawer__actions--cart{border-top:none;padding-top:10px}.orderable-drawer__close{position:absolute;top:16px;left:24px;font-size:0;text-indent:250%!important;white-space:nowrap!important;overflow:hidden!important;padding:0!important;width:40px;height:40px;margin:0;z-index:100;border-color:#c7d4db}.orderable-drawer__close:after,.orderable-drawer__close:before{position:absolute;left:54%;content:' ';height:18px;width:2px;background-color:#c7d4db;top:50%;margin:-9px 0 0 -2px;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;display:block}.orderable-drawer__close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.orderable-drawer__close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.orderable-drawer__close:active,.orderable-drawer__close:focus,.orderable-drawer__close:hover{background-color:#c7d4db;border-color:#c7d4db}.orderable-drawer__close:active:after,.orderable-drawer__close:active:before,.orderable-drawer__close:focus:after,.orderable-drawer__close:focus:before,.orderable-drawer__close:hover:after,.orderable-drawer__close:hover:before{background-color:#fff}.orderable-drawer .orderable-product__content{padding:15px 0}.orderable-drawer-overlay--open{-webkit-transition:opacity .2s ease,width 0s;transition:opacity .2s ease,width 0s;opacity:1;width:100%;visibility:visible}.orderable-drawer--open{visibility:visible;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.orderable-floating-cart{position:fixed;z-index:20}.orderable-floating-cart__button{padding:0;width:60px;height:60px;border:none;border-radius:100%;display:block;margin:0;text-align:center;line-height:60px;background:#fff;box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);outline:0!important;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out,-webkit-transform 150ms ease-in-out}.orderable-floating-cart__button:hover{background:#fff;-webkit-animation:wobble-hor-bottom .8s both;animation:wobble-hor-bottom .8s both;-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07)}.orderable-floating-cart__button svg{width:24px;height:24px;display:block;margin:0 auto}.orderable-floating-cart__count{position:absolute;top:0;right:0;white-space:nowrap;padding:0 4px;background:#E52C23;color:#fff;height:22px;line-height:22px;font-size:13px;border-radius:11px;min-width:22px;text-align:center}.orderable-floating-cart--bl,.orderable-floating-cart--br{bottom:40px}.orderable-floating-cart--br,.orderable-floating-cart--tr{right:40px}.orderable-floating-cart--bl,.orderable-floating-cart--tl{left:40px}.orderable-floating-cart--tl,.orderable-floating-cart--tr{top:40px}.orderable-services-selector__selected p{margin:0}.orderable-services-selector__selected-change{padding:0;margin:0;font-size:inherit;background:0 0;display:inline;color:#333;-webkit-transition:none;transition:none;text-transform:none;-webkit-box-shadow:none;box-shadow:none}.orderable-services-selector__selected-change:active,.orderable-services-selector__selected-change:focus,.orderable-services-selector__selected-change:hover{padding:0;margin:0;background:0 0;color:#333;text-decoration:underline;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}.orderable-services-selector--selected .orderable-services-selector__lookup{display:none}.orderable-open-hours__date,.orderable-open-hours__service{margin:0 0 0 6px;padding:2px 6px;background:#000;color:#fff;border-radius:4px;display:inline-block;font-size:80%}.orderable-open-hours__service--closed{background-color:#E34F4F;display:none}.orderable-open-hours__date{margin:0 4px 0 0;text-align:center;min-width:30px;border:1px solid #E6ECEF;background:0 0;color:inherit}.orderable-tabs{margin:0 0 24px!important;padding:0!important;list-style:none}.orderable-main--sections-side_tabs .orderable-tabs{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.orderable-tabs__item{display:inline-block;margin:0;padding:0}.orderable-main--sections-side_tabs .orderable-tabs__item{margin:0 0 6px;display:block}.orderable-main--sections-side_tabs .orderable-tabs__item:last-child{margin:0}a.orderable-tabs__link{text-decoration:none!important;display:inline-block;padding:0 24px;white-space:nowrap;line-height:40px;color:#000;font-weight:400;border-radius:20px;-webkit-transition:none;transition:none}a.orderable-tabs__link:active,a.orderable-tabs__link:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}a.orderable-tabs__link:active,a.orderable-tabs__link:focus,a.orderable-tabs__link:hover{color:#000;text-decoration:none;background:#ecf1f3}.orderable-tabs__item--active a.orderable-tabs__link{background:#000;color:#fff}.orderable--button-style-square a.orderable-tabs__link{border-radius:0}.orderable-sb-container{position:relative;overflow:hidden;padding-right:25px}.orderable-sb-content{height:100%;width:120%;padding-right:20%;overflow-y:scroll;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-sb-scrollbar-container{position:absolute;right:0;bottom:10px;top:10px;width:10px}.orderable-sb-container-noscroll .orderable-sb-scrollbar-container{right:-20px}.orderable-sb-scrollbar{position:absolute;right:0;height:30px;width:10px;border-radius:10px;background:#d6e0e5}.orderable-sb-scrollbar:hover{background:#c7d4db}.orderable--button-style-square .orderable-sb-scrollbar{border-radius:0}.orderable-sb-container-noscroll{padding-right:0}.orderable-sb-container-noscroll .orderable-sb-content{width:100%;padding-right:0;overflow:hidden}.orderable-quantity-roller{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-quantity-roller *{-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-quantity-roller__roller{border:2px solid #c7d4db;border-radius:20px;height:40px;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex}.orderable--button-style-square .orderable-quantity-roller__roller{border-radius:0}.orderable-quantity-roller__button{height:36px;width:24px;background:0 0;border:none;border-radius:0;text-align:center;color:#c7d4db;line-height:36px;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;padding:0 6px;-webkit-box-sizing:content-box;box-sizing:content-box;position:relative;font-size:0;text-indent:250%;overflow:hidden;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out}.orderable-quantity-roller__button:after,.orderable-quantity-roller__button:before{content:"";position:absolute;display:block!important;height:2px;width:12px;background:#c7d4db;top:50%;left:50%;margin:-1px 0 0 -6px;-webkit-transition:background 150ms ease-out;transition:background 150ms ease-out}.orderable-quantity-roller__button:focus,.orderable-quantity-roller__button:hover,.orderable-quantity-roller__button:visited{background-color:#c7d4db;color:#fff;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;outline:0}.orderable-quantity-roller__button:focus:after,.orderable-quantity-roller__button:focus:before,.orderable-quantity-roller__button:hover:after,.orderable-quantity-roller__button:hover:before,.orderable-quantity-roller__button:visited:after,.orderable-quantity-roller__button:visited:before{background:#fff}.orderable-quantity-roller__button--decrease{padding-right:4px}.orderable-quantity-roller__button--decrease:after{display:none!important}.orderable-quantity-roller__button--increase{padding-left:4px}.orderable-quantity-roller__button--increase:after{height:12px;width:2px;margin:-6px 0 0 -1px}.orderable-quantity-roller__quantity{text-align:center;display:inline-block;line-height:36px;padding:0 6px;min-width:24px}.orderable-quantity-roller__price{margin-left:8px}.orderable-quantity-roller__price:before{content:"x";margin:0 8px;color:#c7d4db}.orderable-drawer__cart .orderable-quantity-roller{margin:12px 0 6px}1 @-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}@keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}.orderable-main__group{margin:0 0 36px}.orderable-main--sections-tabs .orderable-main__group{display:none}.orderable-main--sections-tabs .orderable-main__group:first-of-type{display:block}@media screen and (min-width:620px){.orderable-main--sections-side_tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.orderable-main--sections-side_tabs .orderable-main__tabs{margin:0 24px 0 0!important}.orderable-main--sections-side_tabs .orderable-main__sections{-webkit-box-flex:1;-ms-flex:1;flex:1}}.orderable-button,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout,.orderable-drawer__close{display:inline-block;border:2px solid #000;background:0 0;padding:0 24px!important;height:40px;line-height:36px;white-space:nowrap;border-radius:20px;color:#000;text-transform:none;margin:0;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;-webkit-box-shadow:none;box-shadow:none;cursor:pointer}.orderable-button:active,.orderable-button:focus,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:active,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:focus,.orderable-drawer__close:active,.orderable-drawer__close:focus{outline:0}.orderable-button--active,.orderable-button--hover,.orderable-button:active,.orderable-button:focus,.orderable-button:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:active,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:focus,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:hover,.orderable-drawer__close:active,.orderable-drawer__close:focus,.orderable-drawer__close:hover{border-color:#000;background:#000;color:#fff;text-decoration:none;-webkit-box-shadow:none;box-shadow:none}.orderable-button--filled,.orderable-button--filled--hover,.orderable-button--filled:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout:hover{background:#000!important;color:#fff}.orderable-button--full{width:100%}.orderable-button--loading{position:relative;padding-right:48px!important}.orderable-button--loading:after{content:'';display:block;width:16px;height:16px;position:absolute;top:10px;right:22px;background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:2px solid #000;border-left:2px solid #000;border-right:2px solid transparent;border-bottom:2px solid transparent;border-radius:100%;-webkit-animation:spin .6s ease-out infinite;animation:spin .6s ease-out infinite}.orderable-button--filled .orderable-button--loading:after,.orderable-button--loading.orderable-button--hover:after,.orderable-button--loading:active:after,.orderable-button--loading:focus:after,.orderable-button--loading:hover:after,.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout .orderable-button--loading:after{border-top-color:#fff;border-left-color:#fff}.orderable-button--out-of-stock.orderable-button--hover.orderable-drawer__close,.orderable-button--out-of-stock.orderable-drawer__close,.orderable-button--out-of-stock.orderable-drawer__close:active,.orderable-button--out-of-stock.orderable-drawer__close:focus,.orderable-button--out-of-stock.orderable-drawer__close:hover,.orderable-button.orderable-button--out-of-stock,.orderable-button.orderable-button--out-of-stock.orderable-button--hover,.orderable-button.orderable-button--out-of-stock:active,.orderable-button.orderable-button--out-of-stock:focus,.orderable-button.orderable-button--out-of-stock:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout:active,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout:focus,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.button.checkout:hover,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable-button--out-of-stock.orderable-button--hover.button.checkout{cursor:not-allowed;border-color:#c7d4db;color:#a8bdc7;background:0 0!important}.orderable--button-style-square .orderable-button,.orderable--button-style-square .orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout,.orderable--button-style-square .orderable-drawer__close,.orderable-drawer__cart .orderable-mini-cart__buttons .orderable--button-style-square .button.checkout{border-radius:0}.orderable-button--icon{padding:10px!important;width:44px;height:44px;line-height:24px;border:none;background:0 0!important}body .orderable-button--icon:active,body .orderable-button--icon:focus,body .orderable-button--icon:hover{background:0 0!important;opacity:.6}.orderable-button--icon svg{width:24px;height:24px;border-radius:12px;overflow:hidden;-webkit-transition:opacity 250ms ease-in-out;transition:opacity 250ms ease-in-out}.orderable-button--icon.orderable-button--loading:after{display:none}.orderable-input--select,select.orderable-input--select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:10px;border:2px solid #E6ECEF;border-radius:8px;background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23c1cfd7'><polygon points='0,0 100,0 50,50'/></svg>");background-size:16px;background-position:calc(100% - 14px) 19px;background-repeat:no-repeat;cursor:pointer}.orderable-input--select:focus,select.orderable-input--select:focus{outline:0;border-color:#000;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23000000'><polygon points='0,0 100,0 50,50'/></svg>")}.orderable-input.orderable-input--text{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:10px;border:2px solid #E6ECEF;border-radius:8px;width:100%;background-color:#fff;-webkit-box-shadow:none;box-shadow:none}.orderable-floating-cart__button,.orderable-products-list__item .orderable-product{-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07)}.orderable-input.orderable-input--text:focus{outline:0;border-color:#000;background-color:#fff}.orderable-category-heading{margin:0 0 24px}.orderable-products-list{margin-bottom:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list *{-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list:last-child{margin-bottom:0}@media screen and (min-width:480px){.orderable-products-list .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 200px;flex:0 0 200px}.orderable-products-list .orderable-product__hero{width:200px}.orderable-products-list .orderable-product__image{-o-object-fit:cover;object-fit:cover;width:100%!important;height:100%!important}.orderable-products-list .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}}.orderable-products-list .orderable-product__actions{padding:12px 24px 18px;margin-top:auto}.orderable-products-list__item{width:100%;margin:0 0 24px}@media screen and (max-width:480px){.orderable-products-list__item{padding:0 0 24px;border-bottom:1px solid #ecf1f3}.orderable-products-list__item:last-child{border-bottom:none}}@media screen and (min-width:540px){.orderable-products-list--grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-products-list__item{margin:0 0 24px;padding:0 12px;width:50%}.orderable-products-list--grid .orderable-product{padding:0 0 88px;display:block;margin:0;-webkit-box-flex:0;-ms-flex:none;flex:none}}@media screen and (min-width:1120px){.orderable-products-list--grid .orderable-products-list__item{width:33.33%}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-product__hero{width:auto}.orderable-products-list--grid .orderable-product__hero img{-o-object-fit:fill;object-fit:fill;width:100%;height:auto}.orderable-products-list--grid .orderable-product__content-wrap{-webkit-box-flex:0;-ms-flex:none;flex:none;display:block}.orderable-products-list--grid .orderable-product__actions{padding:0;margin-top:0;position:absolute;bottom:24px;left:24px;right:24px}}.orderable-product{overflow:hidden;position:relative}.orderable-product__hero{position:relative}.orderable-product__image{border-radius:0;margin:0;display:block;width:100%;height:auto!important;max-width:none!important}.orderable-product__content{padding:18px 24px 12px}.orderable-product__content :last-child{margin-bottom:0}.orderable-product__title{margin:0 0 12px!important}.orderable-product__description{margin:0}.orderable-product__tags{overflow:hidden;margin:0;padding:0;list-style:none}img+.orderable-product__tags{position:absolute;bottom:0;left:0;padding:12px;z-index:20}.orderable-product__tags li{margin:6px 0 0}.orderable-product__options{margin:0 0 24px;padding:0;border-radius:6px}.orderable-product__options td,.orderable-product__options th{background-color:transparent!important;padding:0 0 12px;text-align:left;display:block;margin:0}.orderable-product__options th{line-height:22px}.orderable-product__options td{padding-bottom:24px}.orderable-product__options tr{padding:0;margin:0}.orderable-product__options tr:last-child td{padding-bottom:0}.orderable-product__actions{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-product__actions:last-child{margin-bottom:0}.orderable-product__actions-price{margin:0 4px 0 0}.orderable-product__actions-price .amount{white-space:nowrap;margin:0 6px 0 0;font-weight:700;color:#000;font-size:20px;line-height:24px}.orderable-product__actions-button{margin:0 0 0 auto}.orderable-product__tabs{margin:24px 0}.orderable-product__tabs-section{display:none}.orderable-product__tabs-section:first-child{display:block}.orderable-product__tabs-section :last-child{margin-bottom:0}.orderable-product--options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:visible;height:100%}.orderable-product--options .orderable-product__hero{margin:-24px -24px 0}.orderable-product--options .orderable-product__title{text-align:left;margin:24px 0!important}.orderable-product--options .orderable-product__actions{margin-top:auto;padding-top:24px;border-top:1px solid #E6ECEF;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.orderable-product--add-to-cart,.orderable-product--product-options,.orderable-product--view-product{cursor:pointer}.orderable-product--image-cropped .orderable-product__hero{overflow:hidden;padding:0;text-align:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;height:72px}.orderable-product--image-cropped .orderable-product__image{-o-object-fit:cover;object-fit:cover;position:absolute;z-index:-1;width:100%;height:100%!important;left:0;top:0}.orderable-products-list__item .orderable-product{height:100%;width:100%;box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);border-radius:6px}@media screen and (max-width:480px){.orderable-products-list__item .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.orderable-products-list__item .orderable-product__hero{width:100%;min-width:60px;max-width:95px;border-radius:6px;overflow:hidden}.orderable-products-list__item .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-products-list__item .orderable-product__content{padding:0 0 0 24px}.orderable-products-list__item .orderable-product__actions{padding:6px 0 0 24px}.orderable-products-list__item .orderable-product__title{margin:0 0 6px!important}}.orderable-tag{display:inline-block;background:#EDF2F6;border-radius:15px;height:30px;line-height:30px;white-space:nowrap;color:#495568;padding:0 12px;font-size:14px}body.orderable-drawer-open{overflow:hidden}.orderable-drawer-overlay{height:100%;z-index:999998;position:fixed;top:0;left:0;opacity:0;visibility:hidden;background-color:rgba(34,34,34,.6);-webkit-transition:opacity .2s linear,visibility .1s,width 1s ease-in;transition:opacity .2s linear,visibility .1s,width 1s ease-in}.orderable-drawer{width:100%;visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-transition:all .2s;transition:all .2s;border-radius:0;-webkit-box-shadow:0 4px 56px -2px rgba(0,0,0,.2),0 3px 6px -1px rgba(0,0,0,.4);box-shadow:0 4px 56px -2px rgba(0,0,0,.2),0 3px 6px -1px rgba(0,0,0,.4);display:block;position:fixed;top:0;right:0;height:100%;z-index:999999;background-color:#fff;overflow:hidden;padding:24px}@media screen and (min-width:640px){.orderable-drawer{max-width:600px}}.orderable-drawer h3{margin:0 60px 24px!important;font-size:20px;line-height:24px;text-align:center}.orderable-drawer h4{font-size:18px;line-height:22px}.orderable-drawer__inner{padding:0;height:100%;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.orderable-drawer__cart,.orderable-drawer__cart .orderable-mini-cart-wrapper{display:-webkit-box;display:-ms-flexbox;-webkit-box-orient:vertical;-webkit-box-direction:normal}.orderable-drawer__inner .orderable-sb-container{-ms-flex-preferred-size:100%;flex-basis:100%;margin-bottom:-1px}.orderable-drawer__cart{display:flex;-ms-flex-direction:column;flex-direction:column}.orderable-drawer__cart .orderable-mini-cart-wrapper{height:100%;display:flex;-ms-flex-direction:column;flex-direction:column;overflow:hidden;border-top:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart{margin:0;padding:0;list-style:none;overflow:hidden;min-height:100%}.orderable-drawer__cart .orderable-mini-cart-item{margin:0;padding:10px 44px 10px 0;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-bottom:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart-item:last-child{border-bottom:none}.orderable-drawer__cart .orderable-mini-cart-item .variation{margin:7.5px 0}.orderable-drawer__cart .orderable-mini-cart-item .variation dd,.orderable-drawer__cart .orderable-mini-cart-item .variation dt,.orderable-drawer__cart .orderable-mini-cart-item .variation p{margin:0}.orderable-drawer__cart .orderable-mini-cart-item .blockOverlay{background:#fff!important;opacity:.8!important}.orderable-drawer__cart .orderable-mini-cart-item__remove{position:absolute;bottom:16px;right:0;z-index:20;color:#c7d4db;-webkit-box-shadow:none;box-shadow:none;height:40px;width:40px;text-indent:250%;white-space:nowrap;font-size:0;-webkit-transition:none;transition:none;-webkit-box-sizing:border-box;box-sizing:border-box;border:none}.orderable-drawer__cart .orderable-mini-cart-item__remove svg{display:block;height:20px;width:20px;position:absolute;left:50%;top:50%;-webkit-transition:none;transition:none;fill:#c7d4db;margin:-10px 0 0 -10px}.orderable-drawer__cart .orderable-mini-cart-item__remove:hover svg{opacity:.8}.orderable--button-style-square .orderable-drawer__cart .orderable-mini-cart-item__remove{border-radius:0}.orderable-drawer__cart .quantity{font-weight:700}.orderable-drawer__cart .orderable-mini-cart__notices{padding:15px 0;border-top:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error{margin:0;padding:0;list-style:none}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error li{border:1px solid #E34F4F;background:#fce9e9;color:#dc2323;padding:6px 12px 6px 28px!important;text-align:center;margin:0 0 6px;display:block;border-radius:8px}.orderable-drawer__cart .orderable-mini-cart__buttons .button,.orderable-drawer__cart .orderable-mini-cart__notices .button{display:none}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error li:last-child{margin-bottom:0}.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-error::before,.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-info::before,.orderable-drawer__cart .orderable-mini-cart__notices .woocommerce-message::before{left:12px}.orderable-drawer__cart .orderable-mini-cart__buttons,.orderable-drawer__cart .orderable-mini-cart__total{margin:0;padding:0;text-align:center}.orderable-drawer__cart .orderable-mini-cart__total{padding:15px 0;border-top:1px solid #E6ECEF}.orderable-drawer__cart .orderable-mini-cart__buttons .button.checkout{display:block;width:100%}.orderable-drawer__cart .orderable-mini-cart__empty-message{margin:auto 0;text-align:center}.orderable-drawer__cart .orderable-services-selector__lookup,.orderable-drawer__cart .orderable-services-selector__selected{margin:0 0 15px}.orderable-drawer__cart .orderable-services-selector__lookup input{width:100%;margin:0 0 8px}.orderable-drawer__cart .orderable-services-selector__lookup-buttons{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.orderable-drawer__cart .orderable-services-selector__lookup-buttons button{display:block;width:100%}.orderable-drawer__cart .orderable-services-selector__lookup-buttons button:first-child{margin-right:4px}.orderable-drawer__cart .orderable-services-selector__lookup-buttons button:last-child{margin-left:4px}.orderable-drawer__actions{bottom:-24px;margin:auto 0 -24px;background:#fff;padding:24px 0;left:0;right:0;border-top:1px solid #F2F2F2}.orderable-drawer__actions--cart{border-top:none;padding-top:10px}.orderable-drawer__close{position:absolute;top:16px;left:24px;font-size:0;text-indent:250%!important;white-space:nowrap!important;overflow:hidden!important;padding:0!important;width:40px;height:40px;margin:0;z-index:100;border-color:#c7d4db}.orderable-drawer__close:after,.orderable-drawer__close:before{position:absolute;left:54%;content:' ';height:18px;width:2px;background-color:#c7d4db;top:50%;margin:-9px 0 0 -2px;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;display:block}.orderable-drawer__close:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.orderable-drawer__close:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.orderable-drawer__close:active,.orderable-drawer__close:focus,.orderable-drawer__close:hover{background-color:#c7d4db;border-color:#c7d4db}.orderable-drawer__close:active:after,.orderable-drawer__close:active:before,.orderable-drawer__close:focus:after,.orderable-drawer__close:focus:before,.orderable-drawer__close:hover:after,.orderable-drawer__close:hover:before{background-color:#405763}.orderable-drawer .orderable-product__content{padding:15px 0}.orderable-drawer-overlay--open{-webkit-transition:opacity .2s ease,width 0s;transition:opacity .2s ease,width 0s;opacity:1;width:100%;visibility:visible}.orderable-drawer--open{visibility:visible;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.orderable-floating-cart{position:fixed;z-index:20}.orderable-floating-cart__button{padding:0;width:60px;height:60px;border:none;border-radius:100%;display:block;margin:0;text-align:center;line-height:60px;background:#fff;box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);outline:0!important;-webkit-transition:-webkit-transform 150ms ease-in-out;transition:-webkit-transform 150ms ease-in-out;transition:transform 150ms ease-in-out;transition:transform 150ms ease-in-out,-webkit-transform 150ms ease-in-out}.orderable-floating-cart__button:hover{background:#fff;-webkit-animation:wobble-hor-bottom .8s both;animation:wobble-hor-bottom .8s both;-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07)}.orderable-floating-cart__button svg{width:24px;height:24px;display:block;margin:0 auto}.orderable-floating-cart__count{position:absolute;top:0;right:0;white-space:nowrap;padding:0 4px;background:#E52C23;color:#fff;height:22px;line-height:22px;font-size:13px;border-radius:11px;min-width:22px;text-align:center}.orderable-floating-cart--bl,.orderable-floating-cart--br{bottom:40px}.orderable-floating-cart--br,.orderable-floating-cart--tr{right:40px}.orderable-floating-cart--bl,.orderable-floating-cart--tl{left:40px}.orderable-floating-cart--tl,.orderable-floating-cart--tr{top:40px}.orderable-services-selector__selected p{margin:0}.orderable-services-selector__selected-change{padding:0;margin:0;font-size:inherit;background:0 0;display:inline;color:#333;-webkit-transition:none;transition:none;text-transform:none;-webkit-box-shadow:none;box-shadow:none}.orderable-services-selector__selected-change:active,.orderable-services-selector__selected-change:focus,.orderable-services-selector__selected-change:hover{padding:0;margin:0;background:0 0;color:#333;text-decoration:underline;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}.orderable-services-selector--selected .orderable-services-selector__lookup{display:none}.orderable-open-hours__date,.orderable-open-hours__service{margin:0 0 0 6px;padding:2px 6px;background:#000;color:#fff;border-radius:4px;display:inline-block;font-size:80%}.orderable-open-hours__service--closed{background-color:#E34F4F;display:none}.orderable-open-hours__date{margin:0 4px 0 0;text-align:center;min-width:30px;border:1px solid #E6ECEF;background:0 0;color:inherit}.orderable-tabs{margin:0 0 24px;position:relative}.orderable-tabs__list{margin:0 1px 0 0!important;padding:0!important;list-style:none;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;overflow:-moz-scrollbars-none;scrollbar-base-color:transparent;-webkit-overflow-scrolling:touch}.orderable-tabs__list::-webkit-scrollbar{display:none}.orderable-tabs__item{display:inline-block;margin:0 10px 0 0;padding:0}.orderable-tabs__item:last-child{margin-right:0}@media screen and (min-width:620px){.orderable-main--sections-side_tabs .orderable-tabs__list{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto}.orderable-main--sections-side_tabs .orderable-tabs__item{margin:0 0 12px;display:block}.orderable-main--sections-side_tabs .orderable-tabs__item:last-child{margin:0}}a.orderable-tabs__link{text-decoration:none!important;display:inline-block;padding:0 24px;white-space:nowrap;line-height:40px;color:#405763;font-weight:400;border-radius:20px;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;background:#ecf1f3}a.orderable-tabs__link:active,a.orderable-tabs__link:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}a.orderable-tabs__link:active,a.orderable-tabs__link:focus,a.orderable-tabs__link:hover{color:#405763;text-decoration:none;background:#c7d4db}.orderable-tabs__item--active a.orderable-tabs__link{background:#000;color:#fff}.orderable--button-style-square a.orderable-tabs__link{border-radius:0}.orderable-tabs__arrow{background:#fff;-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);border:none;width:40px!important;height:40px!important;padding:0!important;margin:0!important;border-radius:20px!important;position:absolute;top:0;right:0;text-align:center;line-height:40px;display:none}.orderable-tabs__arrow:active,.orderable-tabs__arrow:focus,.orderable-tabs__arrow:hover{background:#fff;outline:0}.orderable-tabs__arrow svg{width:21px;height:24px;margin:8px 0}.orderable-accordion{margin:24px 0;background:#f6f8f9;padding:0 24px;border-radius:6px}.orderable-product-fields-group-wrap+.orderable-accordion,.orderable-product__options+.orderable-accordion{margin-top:36px}.orderable-accordion__item{border-top:1px solid #E6ECEF}.orderable-accordion__item:first-child{border-top:none}.orderable-accordion__item-link{display:block;padding:18px 0;margin:0;color:inherit;position:relative}.orderable-accordion__item-link--active,.orderable-accordion__item-link:active,.orderable-accordion__item-link:focus,.orderable-accordion__item-link:hover{color:#000;border:none;outline:0}.orderable-accordion__item-link--active:after,.orderable-accordion__item-link--active:before,.orderable-accordion__item-link:active:after,.orderable-accordion__item-link:active:before,.orderable-accordion__item-link:focus:after,.orderable-accordion__item-link:focus:before,.orderable-accordion__item-link:hover:after,.orderable-accordion__item-link:hover:before{background-color:#405763!important}.orderable-accordion__item-link:after,.orderable-accordion__item-link:before{position:absolute;right:5px;content:' ';height:11px;width:2px;background-color:#c7d4db;top:50%;display:block;margin:-4px 0 0}.orderable-accordion__item-link:before{-webkit-transform:rotate(45deg);transform:rotate(45deg)}.orderable-accordion__item-link:after{-webkit-transform:rotate(-45deg);transform:rotate(-45deg);right:12px}.orderable-accordion__item-link--active:before{right:12px}.orderable-accordion__item-link--active:after{right:5px}.orderable-accordion__item-content{display:none}.orderable-accordion__item-content--active{display:block}.orderable-accordion__item-content:after{content:"";display:table;clear:both}.orderable-sb-container{position:relative;overflow:hidden;padding-right:25px}.orderable-sb-content{height:100%;width:120%;padding-right:20%;overflow-y:scroll;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-sb-scrollbar-container{position:absolute;right:0;bottom:10px;top:10px;width:10px}.orderable-sb-container-noscroll .orderable-sb-scrollbar-container{right:-20px}.orderable-sb-scrollbar{position:absolute;right:0;height:30px;width:10px;border-radius:10px;background:#d6e0e5}.orderable-sb-scrollbar:hover{background:#c7d4db}.orderable--button-style-square .orderable-sb-scrollbar{border-radius:0}.orderable-sb-container-noscroll{padding-right:0}.orderable-sb-container-noscroll .orderable-sb-content{width:100%;padding-right:0;overflow:hidden}.orderable-quantity-roller{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-quantity-roller *{-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-quantity-roller__roller{border:2px solid #c7d4db;border-radius:20px;height:40px;overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex}.orderable--button-style-square .orderable-quantity-roller__roller{border-radius:0}.orderable-quantity-roller__button{height:36px;width:24px;background:0 0;border:none;border-radius:0;text-align:center;color:#c7d4db;line-height:36px;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;padding:0 6px;-webkit-box-sizing:content-box;box-sizing:content-box;position:relative;font-size:0;text-indent:250%;overflow:hidden;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out}.orderable-quantity-roller__button:after,.orderable-quantity-roller__button:before{content:"";position:absolute;display:block!important;height:2px;width:12px;background:#c7d4db;top:50%;left:50%;margin:-1px 0 0 -6px;-webkit-transition:background 150ms ease-out;transition:background 150ms ease-out}.orderable-quantity-roller__button:focus,.orderable-quantity-roller__button:hover,.orderable-quantity-roller__button:visited{background-color:#c7d4db;color:#405763;-webkit-box-shadow:none;box-shadow:none;text-shadow:none;outline:0}.orderable-quantity-roller__button:focus:after,.orderable-quantity-roller__button:focus:before,.orderable-quantity-roller__button:hover:after,.orderable-quantity-roller__button:hover:before,.orderable-quantity-roller__button:visited:after,.orderable-quantity-roller__button:visited:before{background:#405763}.orderable-quantity-roller__button--decrease{padding-right:4px}.orderable-quantity-roller__button--decrease:after{display:none!important}.orderable-quantity-roller__button--increase{padding-left:4px}.orderable-quantity-roller__button--increase:after{height:12px;width:2px;margin:-6px 0 0 -1px}.orderable-quantity-roller__quantity{text-align:center;display:inline-block;line-height:36px;padding:0 6px;min-width:24px;outline:0}.orderable-quantity-roller__price{margin-left:8px}.orderable-quantity-roller__price:before{content:"x";margin:0 8px;color:#c7d4db}.orderable-drawer__cart .orderable-quantity-roller{margin:12px 0 6px} -
orderable/trunk/assets/frontend/js/main.js
r2666071 r2709284 3 3 "use strict"; 4 4 5 var orderable_accordion = { 6 /** 7 * On doc ready. 8 */ 9 on_ready: function() { 10 orderable_accordion.cache(); 11 orderable_accordion.watch(); 12 }, 13 14 /** 15 * Cache. 16 */ 17 cache: function() { 18 orderable_accordion.vars = { 19 classes: { 20 parent: 'orderable-accordion', 21 link: 'orderable-accordion__item-link', 22 content: 'orderable-accordion__item-content', 23 link_active: 'orderable-accordion__item-link--active', 24 content_active: 'orderable-accordion__item-content--active', 25 }, 26 }; 27 }, 28 29 /** 30 * Watch. 31 */ 32 watch: function() { 33 /** 34 * When click accordion link. 35 */ 36 $( document.body ).on( 'click', '.' + orderable_accordion.vars.classes.link, function( e ) { 37 e.preventDefault(); 38 39 var $link = $( this ), 40 $parent = $link.closest( '.' + orderable_accordion.vars.classes.parent ), 41 content_id = $link.attr( 'href' ), 42 $content = $( content_id ), 43 is_active = $link.hasClass( orderable_accordion.vars.classes.link_active ); 44 45 $parent.find( '.' + orderable_accordion.vars.classes.link ).removeClass( orderable_accordion.vars.classes.link_active ); 46 $parent.find( '.' + orderable_accordion.vars.classes.content ).removeClass( orderable_accordion.vars.classes.content_active ); 47 48 if ( ! is_active ) { 49 $link.addClass( orderable_accordion.vars.classes.link_active ); 50 $content.addClass( orderable_accordion.vars.classes.content_active ); 51 } 52 53 $( document.body ).trigger( 'orderable-accordion.toggled', { 54 'link': $link, 55 'content': $content 56 } ); 57 } ); 58 59 /** 60 * When drawer is opened. 61 */ 62 $( document.body ).on( 'orderable-scrollbar.created', function( e, args ) { 63 var $active_accordion = $( '.orderable-drawer .' + orderable_accordion.vars.classes.link_active ); 64 65 if ( $active_accordion.length <= 0 ) { 66 return; 67 } 68 69 var $scroll_content = args.content, 70 scroll_position = $scroll_content.scrollTop() - $scroll_content.offset().top + $active_accordion.offset().top; 71 72 $scroll_content.scrollTop( scroll_position ); 73 } ); 74 }, 75 }; 76 77 $( document ).ready( orderable_accordion.on_ready ); 78 }( jQuery, document )); 79 (function( $, document ) { 80 "use strict"; 81 5 82 var orderable_drawer = { 83 /** 84 * Delays invoking function 85 * 86 * @param {Function} func The function to debounce. 87 * @param {number} timeout The number of milliseconds to delay. 88 * @returns {Function} Returns the new debounced function. 89 */ 90 debounce: function (func, timeout = 700) { 91 let timer; 92 93 return (...args) => { 94 clearTimeout(timer); 95 timer = setTimeout(() => { func.apply(this, args); }, timeout); 96 }; 97 }, 98 99 /** 100 * Allow only number for events like keypress 101 * 102 * @param {Event} event 103 */ 104 allow_only_numbers: function (event) { 105 const value = String.fromCharCode(event.which); 106 107 if ( ! /^\d+$/.test(value) ) { 108 event.preventDefault(); 109 } 110 }, 111 112 /** 113 * Send a request to change the quantity. 114 * 115 * @param {Event} event 116 */ 117 on_change_quantity: function (event) { 118 const quantityElement = $(event.currentTarget); 119 120 const product_id = quantityElement.data( 'orderable-product-id' ); 121 const cart_item_key = quantityElement.data( 'orderable-cart-item-key' ); 122 const quantity = parseInt( quantityElement.text() ); 123 124 var data = { 125 'action': 'orderable_cart_quantity', 126 cart_item_key, 127 product_id, 128 quantity 129 }; 130 131 jQuery.post( 132 orderable_vars.ajax_url, 133 data, 134 function( response ) { 135 if ( ! response ) { 136 return; 137 } 138 139 $( document.body ).trigger( 'added_to_cart', [ response.fragments, response.cart_hash, quantityElement ] ); 140 $( document.body ).trigger( 'orderable-drawer.quantity-updated' ); 141 } 142 ); 143 }, 144 6 145 /** 7 146 * On doc ready. … … 10 149 orderable_drawer.cache(); 11 150 orderable_drawer.watch(); 151 152 /** 153 * Handle manually changing the quantity of a product. 154 */ 155 $( document.body ).on('keypress', '.orderable-quantity-roller__quantity', orderable_drawer.allow_only_numbers); 156 $( '.orderable-drawer__cart' ).on('input', '.orderable-quantity-roller__quantity', orderable_drawer.debounce(orderable_drawer.on_change_quantity)); 157 158 /** 159 * We turn off the click event for .add_to_cart_button elements 160 * to keep the AJAX behaviour only on Mini cart when the option 161 * "Enable AJAX add to cart buttons on archives" is disabled. 162 */ 163 if (orderable_vars && ! orderable_vars.woocommerce_enable_ajax_add_to_cart) { 164 $( document.body ).off('click', '.add_to_cart_button'); 165 } 12 166 }, 13 167 … … 138 292 139 293 jQuery.post( 140 wc_add_to_cart_params.ajax_url,294 orderable_vars.ajax_url, 141 295 data, 142 296 function( response ) { … … 158 312 "use strict"; 159 313 160 var orderable_layouts = {161 /**162 * On doc ready.163 */164 on_ready: function() {165 orderable_layouts.cache();166 orderable_layouts.watch();167 },168 169 /**170 * Cache.171 */172 cache: function() {173 orderable_layouts.vars = {174 classes: {175 main: 'orderable-main',176 tabs: 'orderable-tabs',177 tab_items: 'orderable-tabs__item',178 tab_item_active: 'orderable-tabs__item--active',179 tab_links: 'orderable-tabs__link',180 sections: 'orderable-main__group',181 },182 };183 184 orderable_layouts.elements = {};185 },186 187 /**188 * Watch.189 */190 watch: function() {191 $( document.body ).on( 'click mouseup touchend', '.' + orderable_layouts.vars.classes.tab_links, function( e ) {192 e.preventDefault();193 194 var $link = $( this ),195 section_id = $link.attr( 'href' ),196 $tab = $link.closest( '.' + orderable_layouts.vars.classes.tab_items ),197 $tabs = $link.closest( '.' + orderable_layouts.vars.classes.tabs ),198 $tab_items = $tabs.find( '.' + orderable_layouts.vars.classes.tab_items ),199 $main = $link.closest( '.' + orderable_layouts.vars.classes.main ),200 $sections = $main.find( '.' + orderable_layouts.vars.classes.sections ),201 $section = $main.find( section_id );202 203 $sections.hide();204 $section.show();205 206 $tab_items.removeClass( orderable_layouts.vars.classes.tab_item_active );207 $tab.addClass( orderable_layouts.vars.classes.tab_item_active );208 } );209 },210 };211 212 $( document ).ready( orderable_layouts.on_ready );213 }( jQuery, document ));214 (function( $, document ) {215 "use strict";216 217 314 var orderable_products = { 218 315 /** … … 230 327 orderable_products.vars = { 231 328 classes: { 232 clickable_product: 'orderable-product-- clickable',329 clickable_product: 'orderable-product--add-to-cart ', 233 330 add_to_order_button: 'orderable-product__add-to-order', 234 331 product_messages: 'orderable-product__messages', … … 252 349 $( document.body ).on( 'orderable-add-to-cart', orderable_products.click_add_to_order ); 253 350 $( document.body ).on( 'orderable-product-options', orderable_products.click_add_to_order ); 351 $( document.body ).on( 'orderable-view-product', orderable_products.view_product ); 254 352 $( document.body ).on( 'mouseenter mouseleave', '.' + orderable_products.vars.classes.clickable_product, orderable_products.simulate_add_to_order_hover ); 255 $( document.body ).on( 'click', '.' + orderable_products.vars.classes.clickable_product, orderable_products.click_add_to_order );256 353 }, 257 354 … … 311 408 orderable_products.get_product_options( 312 409 { 313 'product_id': product_id 410 'product_id': product_id, 411 'focus': $button.data( 'orderable-focus' ) 314 412 }, 315 413 function( response ) { … … 321 419 ); 322 420 } 421 }, 422 423 /** 424 * View product. 425 * 426 * @param event 427 * @param $element 428 */ 429 view_product: function( event, $element ) { 430 var product_id = $element.data( 'orderable-product-id' ), 431 args = { action: 'product-options' }; 432 433 orderable_products.get_product_options( 434 { 435 'product_id': product_id, 436 'focus': $element.data( 'orderable-focus' ) 437 }, 438 function( response ) { 439 args.html = response.html; 440 441 $( document.body ).trigger( 'orderable-drawer.open', args ); 442 } 443 ); 323 444 }, 324 445 … … 348 469 349 470 jQuery.post( 350 wc_add_to_cart_params.ajax_url,471 orderable_vars.ajax_url, 351 472 data, 352 473 function( response ) { … … 403 524 404 525 jQuery.post( 405 wc_add_to_cart_params.ajax_url,526 orderable_vars.ajax_url, 406 527 args, 407 528 function( response ) { … … 723 844 watch: function() { 724 845 $( document.body ).on( 'orderable-drawer.opened', orderable_scrollbar.trigger ); 846 $( document.body ).on( 'orderable-tabs.changed', orderable_scrollbar.trigger ); 847 $( document.body ).on( 'orderable-accordion.toggled', orderable_scrollbar.trigger ); 725 848 $( document.body ).on( 'wc_fragments_loaded', orderable_scrollbar.trigger ); 726 849 }, … … 753 876 } 754 877 } 878 879 $( document.body ).trigger( 'orderable-scrollbar.created', { 880 'element': $element, 881 'content': $content 882 } ); 755 883 } 756 884 } ); … … 824 952 825 953 jQuery.post( 826 wc_add_to_cart_params.ajax_url,954 orderable_vars.ajax_url, 827 955 data, 828 956 function( response ) { … … 849 977 850 978 $( document ).ready( orderable_services.on_ready ); 979 }( jQuery, document )); 980 (function( $, document ) { 981 "use strict"; 982 983 var orderable_tabs = { 984 /** 985 * On doc ready. 986 */ 987 on_ready: function() { 988 orderable_tabs.cache(); 989 orderable_tabs.watch(); 990 orderable_tabs.toggle_scroll(); 991 }, 992 993 /** 994 * On resize. 995 */ 996 on_resize: function() { 997 orderable_tabs.toggle_scroll(); 998 }, 999 1000 /** 1001 * Cache. 1002 */ 1003 cache: function() { 1004 orderable_tabs.vars = { 1005 classes: { 1006 tabs: 'orderable-tabs', 1007 tabs_list: 'orderable-tabs__list', 1008 tab_items: 'orderable-tabs__item', 1009 tab_item_active: 'orderable-tabs__item--active', 1010 tab_links: 'orderable-tabs__link', 1011 tab_arrow: 'orderable-tabs__arrow' 1012 }, 1013 dragging: false 1014 }; 1015 1016 orderable_tabs.elements = {}; 1017 }, 1018 1019 /** 1020 * Watch. 1021 */ 1022 watch: function() { 1023 $( 'body' ).on( 'touchstart', function() { 1024 orderable_tabs.vars.dragging = false; 1025 } ).on( 'touchmove', function() { 1026 orderable_tabs.vars.dragging = true; 1027 } ); 1028 1029 $( document.body ).on( 'click mouseup touchend', '.' + orderable_tabs.vars.classes.tab_links, function( e ) { 1030 if ( orderable_tabs.vars.dragging ) { 1031 return; 1032 } 1033 1034 e.preventDefault(); 1035 1036 var $link = $( this ), 1037 section_id = $link.attr( 'href' ), 1038 $tab = $link.closest( '.' + orderable_tabs.vars.classes.tab_items ), 1039 $tabs = $link.closest( '.' + orderable_tabs.vars.classes.tabs ), 1040 $tabs_list = $tabs.find( '.' + orderable_tabs.vars.classes.tabs_list ), 1041 $tab_items = $tabs.find( '.' + orderable_tabs.vars.classes.tab_items ), 1042 tabs_args = $tabs.data( 'orderable-tabs' ), 1043 $wrapper = $link.closest( tabs_args.wrapper ), 1044 $sections = $wrapper.find( tabs_args.sections ), 1045 $section = $wrapper.find( section_id ); 1046 1047 $sections.hide(); 1048 $section.show(); 1049 1050 $tab_items.removeClass( orderable_tabs.vars.classes.tab_item_active ); 1051 $tab.addClass( orderable_tabs.vars.classes.tab_item_active ); 1052 1053 $tabs_list.animate( { 1054 scrollLeft: $tabs_list.scrollLeft() + $tab.position().left 1055 } ); 1056 1057 $( document.body ).trigger( 'orderable-tabs.changed', { 1058 'tab': $tab 1059 } ); 1060 } ); 1061 1062 /** 1063 * Watch scroll position of tabs. 1064 */ 1065 $( '.' + orderable_tabs.vars.classes.tabs_list ).on( 'scroll', function( e ) { 1066 if ( $( this ).scrollLeft() > 0 ) { 1067 $( '.' + orderable_tabs.vars.classes.tab_arrow ).fadeOut(); 1068 } 1069 } ); 1070 1071 /** 1072 * Stop animated scroll if user manually scrolls. 1073 */ 1074 $( '.' + orderable_tabs.vars.classes.tabs_list ).on( "wheel DOMMouseScroll mousewheel touchmove", function() { 1075 $( this ).stop(); 1076 } ); 1077 1078 /** 1079 * Click tab arrow. 1080 */ 1081 $(document).on( 'click', '.' + orderable_tabs.vars.classes.tab_arrow, function( e ) { 1082 e.preventDefault(); 1083 1084 var $arrow = $( this ), 1085 $wrapper = $arrow.parent(), 1086 $list = $wrapper.find( '.' + orderable_tabs.vars.classes.tabs_list ); 1087 1088 $list.animate( { 1089 scrollLeft: $list.scrollLeft() + ( $wrapper.width() * 0.5 ) 1090 } ); 1091 1092 $arrow.fadeOut(); 1093 } ); 1094 }, 1095 1096 /** 1097 * Toggle scroll arrow. 1098 */ 1099 toggle_scroll: function() { 1100 $( '.' + orderable_tabs.vars.classes.tabs ).each( function( index, wrapper ){ 1101 var $tabs = $( this ), 1102 tabs_args = $tabs.data( 'orderable-tabs' ), 1103 $wrapper = $tabs.closest( tabs_args.wrapper ), 1104 $list = $wrapper.find( '.' + orderable_tabs.vars.classes.tabs_list ), 1105 $arrow = $wrapper.find( '.' + orderable_tabs.vars.classes.tab_arrow ), 1106 wrapper_width = $wrapper.outerWidth(), 1107 list_width = $list[0].scrollWidth; 1108 1109 if ( list_width > wrapper_width ) { 1110 $arrow.show(); 1111 } else { 1112 $arrow.hide(); 1113 } 1114 } ); 1115 } 1116 }; 1117 1118 $( document ).ready( orderable_tabs.on_ready ); 1119 $( window ).on( 'resize', orderable_tabs.on_resize ); 851 1120 }( jQuery, document )); 852 1121 var orderable_timings = {}; // Make this global so pro modules can access it. … … 1014 1283 * Fire trigger. 1015 1284 */ 1016 trigger: function() { 1285 trigger: function( e ) { 1286 // Prevent even bubbling up. 1287 e.stopImmediatePropagation(); 1288 1017 1289 var $trigger_element = $( this ), 1018 1290 trigger = $trigger_element.data( 'orderable-trigger' ); -
orderable/trunk/assets/frontend/js/main.min.js
r2666071 r2709284 1 !function( n,i){"use strict";var r={on_ready:function(){r.cache(),r.watch()},cache:function(){r.vars={classes:{overlay:"orderable-drawer-overlay",drawer:"orderable-drawer",drawer_cart:"orderable-drawer__cart",drawer_html:"orderable-drawer__html",overlay_open:"orderable-drawer-overlay--open",drawer_open:"orderable-drawer--open",drawer_open_body:"orderable-drawer-open"}},r.elements={body:n("body"),overlay:n("."+r.vars.classes.overlay),drawer:n("."+r.vars.classes.drawer),drawer_cart:n("."+r.vars.classes.drawer_cart),drawer_html:n("."+r.vars.classes.drawer_html),floating_cart_button_class:".orderable-floating-cart__button"}},watch:function(){var e,t;void 0!==r.elements.drawer&&(n(i.body).on("orderable-drawer.open",r.open),n(i.body).on("orderable-drawer.close",r.close),n(i.body).on("click",r.elements.floating_cart_button_class,function(){n(i.body).trigger("orderable-drawer.open",{show_cart:!0})}),n(i.body).on("orderable-increase-quantity",r.cart.click_increase_decrease_quantity),n(i.body).on("orderable-decrease-quantity",r.cart.click_increase_decrease_quantity),e=i.querySelector("body:not( .rtl ) .orderable-drawer"),t=i.querySelector("body.rtl .orderable-drawer"),e&&e.addEventListener("swiped-right",function(e){r.close()}),t&&t.addEventListener("swiped-left",function(e){r.close()}))},open:function(e,t){t.html=t.html||!1,t.show_cart=t.show_cart||!1,r.elements.drawer_html.hide(),r.elements.drawer_cart.hide(),t.html&&(r.elements.drawer_html.html(t.html),r.elements.drawer_html.show()),t.show_cart&&(r.elements.drawer_html.html(""),r.elements.drawer_cart.show()),r.elements.overlay.addClass(r.vars.classes.overlay_open),r.elements.drawer.addClass(r.vars.classes.drawer_open),r.elements.body.addClass(r.vars.classes.drawer_open_body),n(i.body).trigger("orderable-drawer.opened",t)},close:function(){r.elements.overlay.removeClass(r.vars.classes.overlay_open),r.elements.drawer.removeClass(r.vars.classes.drawer_open),r.elements.body.removeClass(r.vars.classes.drawer_open_body),r.elements.drawer_html.html(""),n(i.body).trigger("orderable-drawer.closed")},cart:{click_increase_decrease_quantity:function(e,t){var r=t.data("orderable-product-id"),a=t.data("orderable-cart-item-key"),o=t.data("orderable-trigger"),s=parseInt(t.data("orderable-quantity"));jQuery.post(wc_add_to_cart_params.ajax_url,{action:"orderable_cart_quantity",cart_item_key:a,product_id:r,quantity:"increase-quantity"===o?s+1:s-1},function(e){e&&(n(i.body).trigger("added_to_cart",[e.fragments,e.cart_hash,t]),n(i.body).trigger("orderable-drawer.quantity-updated"))})}}};n(i).ready(r.on_ready)}(jQuery,document),function(s,e){"use strict";var n={on_ready:function(){n.cache(),n.watch()},cache:function(){n.vars={classes:{main:"orderable-main",tabs:"orderable-tabs",tab_items:"orderable-tabs__item",tab_item_active:"orderable-tabs__item--active",tab_links:"orderable-tabs__link",sections:"orderable-main__group"}},n.elements={}},watch:function(){s(e.body).on("click mouseup touchend","."+n.vars.classes.tab_links,function(e){e.preventDefault();var t=s(this),r=t.attr("href"),a=t.closest("."+n.vars.classes.tab_items),o=t.closest("."+n.vars.classes.tabs).find("."+n.vars.classes.tab_items),e=t.closest("."+n.vars.classes.main),t=e.find("."+n.vars.classes.sections),r=e.find(r);t.hide(),r.show(),o.removeClass(n.vars.classes.tab_item_active),a.addClass(n.vars.classes.tab_item_active)})}};s(e).ready(n.on_ready)}(jQuery,document),function(i,l){"use strict";var d={on_ready:function(){d.cache(),d.watch()},cache:function(){d.vars={classes:{clickable_product:"orderable-product--clickable",add_to_order_button:"orderable-product__add-to-order",product_messages:"orderable-product__messages",product_price:"orderable-product__actions-price",invalid_field:"orderable-field--invalid",option_select_td:"orderable-product__option-select",button_loading:"orderable-button--loading",out_of_stock:"orderable-button--out-of-stock"},parent_price:null},d.elements={}},watch:function(){i(l.body).on("orderable-drawer.opened",d.init_product_options),i(l.body).on("orderable-add-to-cart",d.click_add_to_order),i(l.body).on("orderable-product-options",d.click_add_to_order),i(l.body).on("mouseenter mouseleave","."+d.vars.classes.clickable_product,d.simulate_add_to_order_hover),i(l.body).on("click","."+d.vars.classes.clickable_product,d.click_add_to_order)},simulate_add_to_order_hover:function(e){i(this).find("."+d.vars.classes.add_to_order_button).toggleClass("orderable-button--hover","mouseenter"===e.type)},click_add_to_order:function(e,t){var r=(t=void 0!==t?t:i(this)).is("button")?t:t.find("."+d.vars.classes.add_to_order_button),a=r.data("orderable-trigger"),o=r.data("orderable-product-id"),s=r.data("orderable-variation-id"),t=r.data("orderable-variation-attributes"),n={action:a};r.hasClass(d.vars.classes.button_loading)||r.hasClass(d.vars.classes.out_of_stock)||(r.addClass(d.vars.classes.button_loading),"add-to-cart"===a?d.add_to_cart({product_id:o,variation_id:s,attributes:t},function(e){n.show_cart=!0,n.response=e,i(l.body).trigger("orderable-drawer.open",n),r.removeClass(d.vars.classes.button_loading)}):"product-options"===a&&d.get_product_options({product_id:o},function(e){n.html=e.html,i(l.body).trigger("orderable-drawer.open",n),r.removeClass(d.vars.classes.button_loading)}))},add_to_cart:function(e,t){var r;void 0!==e.product_id&&(r={action:"orderable_add_to_cart",product_id:e.product_id,variation_id:e.variation_id||!1,attributes:e.attributes||!1},i(".orderable-product-fields-group").length&&(e=jQuery(".orderable-product-fields-group :input").serializeArray(),e=d.convert_to_flat_object(e),jQuery.isEmptyObject(e)||(r=Object.assign(r,e))),jQuery.post(wc_add_to_cart_params.ajax_url,r,function(e){e&&(i(l.body).trigger("added_to_cart",[e.fragments,e.cart_hash]),"function"==typeof t&&t(e))}))},convert_to_flat_object:function(e){var a={};return e.forEach(function(e){var t="[]"===e.name.substr(-2)||Array.isArray(e.name),r=t?e.name.substr(0,e.name.length-2):e.name;t?(a[r]=void 0===a[r]?[]:a[r],a[r].push(e.value)):a[r]=e.value}),a},get_product_options:function(e,t){void 0!==e.product_id&&(e.action="orderable_get_product_options",jQuery.post(wc_add_to_cart_params.ajax_url,e,function(e){e.success&&"function"==typeof t&&t(e.data)}))},init_product_options:function(e,t){var r,a,o;void 0!==t.action&&"product-options"===t.action&&(r=i(t=".orderable-drawer .orderable-product__options input, .orderable-drawer .orderable-product__options select"),d.vars.parent_price=i(".orderable-drawer .orderable-product__actions-price").html(),d.product_options_change(r),d.update_button_state(),a=d.debounce(d.update_button_state,500),o=d.debounce(d.product_options_change,500),i(l).on("change keyup",t,function(){o(r),a()}))},product_options_change:function(e){var t=i(".orderable-drawer .orderable-product__add-to-order"),r=d.check_options(e),a=t.data("orderable-product-type");t.attr("data-orderable-trigger","add-to-cart"),i("."+d.vars.classes.product_messages).html(""),"variable"===a&&(r?(e=d.check_variation(e),d.set_variation(t,e)):d.clear_variation(t))},check_options:function(e){if(e.length<=0)return!1;var r=!0;return e.each(function(e,t){i(t).hasClass("orderable-input--validate")&&(""===i(t).val()?(i(t).addClass(d.vars.classes.invalid_field),r=!1):i(t).removeClass(d.vars.classes.invalid_field))}),r},check_variation:function(e){var t=e.closest(".orderable-drawer"),t=i.parseJSON(t.find(".orderable-product__variations").text()),e=d.serialize_object(e),t=d.find_matching_variations(t,e);if(d.is_empty(t))return!1;t=t.shift();return t.attributes=e,t.attributes_json=JSON.stringify(e),void 0!==t&&t},set_variation:function(e,t){var r=t.variation_id||"",a=t.attributes_json||"",o=t.price_html||d.vars.parent_price,s="";t&&""!==t.availability_html&&(s=t.availability_html),t&&!t.is_in_stock&&(s="<p>"+orderable_vars.i18n.out_of_stock+"</p>"),t&&!t.is_purchasable&&(s="<p>"+orderable_vars.i18n.unavailable+"</p>"),!1===t&&(s="<p>"+orderable_vars.i18n.no_exist+"</p>"),!t||t.is_purchasable&&t.is_in_stock||(a=r=""),""!==s&&i("."+d.vars.classes.product_messages).html(s),e.data("orderable-variation-id",r),e.data("orderable-variation-attributes",a),i(".orderable-drawer .orderable-product__actions-price").html(o),e.trigger("orderable_variation_set",{variation:t,variation_id:r,attributes:a,price:o})},clear_variation:function(e){d.set_variation(e,""),d.vars.parent_price&&i(".orderable-drawer .orderable-product__actions-price").html(d.vars.parent_price)},find_matching_variations:function(e,t){for(var r=[],a=0;a<e.length;a++){var o=e[a];d.is_matching_variation(o.attributes,t)&&r.push(o)}return r},is_matching_variation:function(e,t){var r,a,o,s=!0;for(r in e)e.hasOwnProperty(r)&&(a=e[r],o=t[r],void 0!==a&&void 0!==o&&0!==a.length&&0!==o.length&&a!==o&&(s=!1));return s},is_empty:function(e){return void 0===e||!1===e||e.length<=0||!e},serialize_object:function(e){for(var t=e.serializeArray(),r={},a=0;a<t.length;a++)r[t[a].name]=t[a].value;return r},update_button_state:function(){setTimeout(function(){var e=i(".orderable-drawer .orderable-product__add-to-order"),t=i(".orderable-drawer__html ."+d.vars.classes.invalid_field).length,r=!0;"variable"===e.data("orderable-product-type")&&(r=""!==e.data("orderable-variation-id")),e.prop("disabled",t||!r)},50)},debounce:function(a,o,s){var n;return function(){var e=this,t=arguments,r=s&&!n;clearTimeout(n),n=setTimeout(function(){n=null,s||a.apply(e,t)},o),r&&a.apply(e,t)}}};i(l).ready(d.on_ready)}(jQuery,document),function(a,e){"use strict";var o={on_ready:function(){o.cache(),o.watch()},cache:function(){o.vars={top:{}},o.elements={}},watch:function(){a(e.body).on("orderable-drawer.opened",o.trigger),a(e.body).on("wc_fragments_loaded",o.trigger)},trigger:function(){a(".orderable-sb-container").each(function(e,t){var r=a(t),t=r.data("orderable-scroll-id");o.has_scrollbar(r)||(r.scrollBox({containerClass:"orderable-sb-container",containerNoScrollClass:"orderable-sb-container-noscroll",contentClass:"orderable-sb-content",scrollbarContainerClass:"orderable-sb-scrollbar-container",scrollBarClass:"orderable-sb-scrollbar"}),0<(r=r.find(".orderable-sb-content")).length&&(r.on("scroll.scrollBox",o.log_top_position),void 0!==o.vars.top[t]&&r.scrollTop(o.vars.top[t])))}),a(window).trigger("resize.scrollBox")},has_scrollbar:function(e){return 0<e.find(".orderable-sb-content").length},log_top_position:function(e){var t=a(e.currentTarget).closest(".orderable-sb-container").data("orderable-scroll-id");o.vars.top[t]=a(e.currentTarget).scrollTop()}};a(e).ready(o.on_ready)}(jQuery,document),function(n,e){"use strict";var t={on_ready:function(){t.watch()},watch:function(){n(e.body).on("orderable-show-lookup-services",function(e,t){var r=t.closest(".orderable-services-selector").find(".orderable-services-selector__lookup");t.hide(),r.show()}),n(e.body).on("orderable-lookup-services",function(e,t){var r=t.closest(".orderable-services-selector"),a=r.find(".orderable-services-selector__lookup-message"),o=r.find(".orderable-services-selector__selected-change"),s=r.find(".orderable-services-selector__lookup-city").val(),r=r.find(".orderable-services-selector__lookup-postcode").val(),t=t.data("orderable-service");jQuery.post(wc_add_to_cart_params.ajax_url,{action:"orderable_lookup_service",postcode:r,city:s,service:t},function(e){e.success?(a.html(""),o.show(),void 0!==e.data.fragments&&n.each(e.data.fragments,function(e,t){n(e).html(t)}),console.log(e)):a.html("<p>"+e.data.message+"</p>")})})}};n(e).ready(t.on_ready)}(jQuery,document);var orderable_timings={};!function(i,a){"use strict";orderable_timings={on_ready:function(){orderable_timings.watch(),orderable_timings.set_date_and_time()},set_date_and_time:function(){var e,t=a.querySelector("#orderable-date"),r="";t&&(e=t.options[t.selectedIndex])&&!(r=e.value)&&t.options[t.selectedIndex+1]&&(t.options[t.selectedIndex+1].selected=!0,i(t).change()),"asap"!==r&&(t="",(r=a.querySelector("#orderable-time"))&&(t=r.options[r.selectedIndex])&&r.options[r.selectedIndex+1]&&(t.value||(r.options[r.selectedIndex+1].selected=!0,i(r).change())))},restore:function(){var e=orderable_timings.get_timings();e&&e.date&&(i(".orderable-order-timings__date").val(e.date),i(".orderable-order-timings__date").change(),e.time&&(i(".orderable-order-timings__time").val(e.time),i(".orderable-order-timings__time").change()))},watch:function(){i(a.body).on("wc_fragments_refreshed",function(){orderable_timings.restore(),orderable_timings.set_date_and_time()}),i(a.body).on("updated_checkout",function(){orderable_timings.restore(),orderable_timings.set_date_and_time()}),i(a.body).on("change",".orderable-order-timings__date",function(e){var t=i(this).find("option:selected").data("orderable-slots"),r=i(".orderable-order-timings--time"),a=i(".orderable-order-timings__time"),o=a.find("option").first(),s=a.find('option[value="asap"]').first(),n=orderable_timings.get_timings();if(n.date=i(".orderable-order-timings__date").val(),window.localStorage.setItem("orderable_timings",JSON.stringify(n)),a.html(o),s&&a.append(s),!t)return a.prop("disabled",!0),void r.hide();"all-day"===t[0].value?(r.hide(),a.prop("disabled",!0)):(a.prop("disabled",!1),r.show(),i.each(t,function(e,t){a.append(i("<option />").attr("value",t.value).text(t.formatted))}))}),i(a.body).on("change",".orderable-order-timings__time",function(e){var t=orderable_timings.get_timings();t.time=i(".orderable-order-timings__time").val(),window.localStorage.setItem("orderable_timings",JSON.stringify(t))})},get_timings:function(){return JSON.parse(window.localStorage.getItem("orderable_timings"))||{}}},i(a).ready(orderable_timings.on_ready)}(jQuery,document),function(r,a){"use strict";var e={on_ready:function(){e.watch()},watch:function(){r(a.body).on("click","[data-orderable-trigger]",e.trigger)},trigger:function(){var e=r(this),t=e.data("orderable-trigger");r(a.body).trigger("orderable-"+t,[e])}};r(a).ready(e.on_ready)}(jQuery,document),function(o,e,s){"use strict";var n="scrollBox",r={containerClass:"sb-container",containerNoScrollClass:"sb-container-noscroll",contentClass:"sb-content",scrollbarContainerClass:"sb-scrollbar-container",scrollBarClass:"sb-scrollbar"};function t(e,t){this.element=e,this.settings=o.extend({},r,t),this._defaults=r,this._name=n,this.init()}o.extend(t.prototype,{init:function(){this.addScrollbar(),this.addEvents(),this.onResize()},addScrollbar:function(){o(this.element).addClass(this.settings.containerClass),this.wrapper=o("<div class='"+this.settings.contentClass+"' />"),this.wrapper.append(o(this.element).contents()),o(this.element).append(this.wrapper),this.scollbarContainer=o("<div class='"+this.settings.scrollbarContainerClass+"' />"),this.scrollBar=o("<div class='"+this.settings.scrollBarClass+"' />"),this.scollbarContainer.append(this.scrollBar),o(this.element).prepend(this.scollbarContainer)},addEvents:function(){this.wrapper.on("scroll."+n,o.proxy(this.onScroll,this)),o(e).on("resize."+n,o.proxy(this.onResize,this)),this.scrollBar.on("mousedown."+n,o.proxy(this.onMousedown,this)),this.scrollBar.on("touchstart."+n,o.proxy(this.onTouchstart,this))},onTouchstart:function(t){var r=this;t.preventDefault();var a=r.scrollBar[0].offsetTop;o(s).on("touchmove."+n,function(e){e=e.touches[0].pageY-t.touches[0].pageY;r.scrollBar[0].style.top=Math.min(r.scollbarContainer[0].clientHeight-r.scrollBar[0].clientHeight,Math.max(0,a+e))+"px",r.wrapper[0].scrollTop=r.wrapper[0].scrollHeight*r.scrollBar[0].offsetTop/r.scollbarContainer[0].clientHeight}),o(s).on("touchend."+n,function(){o(s).off("touchmove."+n),o(s).off("touchend."+n)})},onMousedown:function(t){var r=this;t.preventDefault();var a=r.scrollBar[0].offsetTop;o(s).on("mousemove."+n,function(e){e=e.pageY-t.pageY;r.scrollBar[0].style.top=Math.min(r.scollbarContainer[0].clientHeight-r.scrollBar[0].clientHeight,Math.max(0,a+e))+"px",r.wrapper[0].scrollTop=r.wrapper[0].scrollHeight*r.scrollBar[0].offsetTop/r.scollbarContainer[0].clientHeight}),o(s).on("mouseup."+n,function(){o(s).off("mousemove."+n),o(s).off("mouseup."+n)})},onResize:function(){this.wrapper.css("max-height",o(this.element).height());var e=this.wrapper[0].clientHeight;this.scrollBar.css("height",this.scollbarContainer[0].clientHeight*e/this.wrapper[0].scrollHeight+"px"),this.scollbarContainer[0].clientHeight<=this.scrollBar[0].clientHeight?o(this.element).addClass(this.settings.containerNoScrollClass):o(this.element).removeClass(this.settings.containerNoScrollClass),this.onScroll()},onScroll:function(){this.scrollBar.css("top",Math.min(this.scollbarContainer[0].clientHeight-this.scrollBar[0].clientHeight,this.scollbarContainer[0].clientHeight*this.wrapper[0].scrollTop/this.wrapper[0].scrollHeight)+"px")}}),o.fn[n]=function(e){return this.each(function(){o.data(this,"plugin_"+n)||o.data(this,"plugin_"+n,new t(this,e))})}}(jQuery,window,document),function(e,o){"use strict";"function"!=typeof e.CustomEvent&&(e.CustomEvent=function(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var r=o.createEvent("CustomEvent");return r.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),r},e.CustomEvent.prototype=e.Event.prototype),o.addEventListener("touchstart",function(e){"true"!==e.target.getAttribute("data-swipe-ignore")&&(c=e.target,d=Date.now(),s=e.touches[0].clientX,n=e.touches[0].clientY,l=i=0)},!1),o.addEventListener("touchmove",function(e){var t;s&&n&&(t=e.touches[0].clientX,e=e.touches[0].clientY,i=s-t,l=n-e)},!1),o.addEventListener("touchend",function(e){var t,r,a,o;c===e.target&&(t=parseInt(_(c,"data-swipe-threshold","20"),10),r=parseInt(_(c,"data-swipe-timeout","500"),10),a=Date.now()-d,o="",e=e.changedTouches||e.touches||[],Math.abs(i)>Math.abs(l)?Math.abs(i)>t&&a<r&&(o=0<i?"swiped-left":"swiped-right"):Math.abs(l)>t&&a<r&&(o=0<l?"swiped-up":"swiped-down"),""!==o&&(e={dir:o.replace(/swiped-/,""),touchType:(e[0]||{}).touchType||"direct",xStart:parseInt(s,10),xEnd:parseInt((e[0]||{}).clientX||-1,10),yStart:parseInt(n,10),yEnd:parseInt((e[0]||{}).clientY||-1,10)},c.dispatchEvent(new CustomEvent("swiped",{bubbles:!0,cancelable:!0,detail:e})),c.dispatchEvent(new CustomEvent(o,{bubbles:!0,cancelable:!0,detail:e}))),d=n=s=null)},!1);var s=null,n=null,i=null,l=null,d=null,c=null;function _(e,t,r){for(;e&&e!==o.documentElement;){var a=e.getAttribute(t);if(a)return a;e=e.parentNode}return r}}(window,document);1 !function(o,s){"use strict";var n={on_ready:function(){n.cache(),n.watch()},cache:function(){n.vars={classes:{parent:"orderable-accordion",link:"orderable-accordion__item-link",content:"orderable-accordion__item-content",link_active:"orderable-accordion__item-link--active",content_active:"orderable-accordion__item-content--active"}}},watch:function(){o(s.body).on("click","."+n.vars.classes.link,function(e){e.preventDefault();var e=o(this),r=e.closest("."+n.vars.classes.parent),t=e.attr("href"),t=o(t),a=e.hasClass(n.vars.classes.link_active);r.find("."+n.vars.classes.link).removeClass(n.vars.classes.link_active),r.find("."+n.vars.classes.content).removeClass(n.vars.classes.content_active),a||(e.addClass(n.vars.classes.link_active),t.addClass(n.vars.classes.content_active)),o(s.body).trigger("orderable-accordion.toggled",{link:e,content:t})}),o(s.body).on("orderable-scrollbar.created",function(e,r){var t=o(".orderable-drawer ."+n.vars.classes.link_active);t.length<=0||(t=(r=r.content).scrollTop()-r.offset().top+t.offset().top,r.scrollTop(t))})}};o(s).ready(n.on_ready)}(jQuery,document),function(n,i){"use strict";var t={debounce:function(r,t=700){let a;return(...e)=>{clearTimeout(a),a=setTimeout(()=>{r.apply(this,e)},t)}},allow_only_numbers:function(e){var r=String.fromCharCode(e.which);/^\d+$/.test(r)||e.preventDefault()},on_change_quantity:function(e){const r=n(e.currentTarget);var e=r.data("orderable-product-id"),t=r.data("orderable-cart-item-key"),a=parseInt(r.text());jQuery.post(orderable_vars.ajax_url,{action:"orderable_cart_quantity",cart_item_key:t,product_id:e,quantity:a},function(e){e&&(n(i.body).trigger("added_to_cart",[e.fragments,e.cart_hash,r]),n(i.body).trigger("orderable-drawer.quantity-updated"))})},on_ready:function(){t.cache(),t.watch(),n(i.body).on("keypress",".orderable-quantity-roller__quantity",t.allow_only_numbers),n(".orderable-drawer__cart").on("input",".orderable-quantity-roller__quantity",t.debounce(t.on_change_quantity)),orderable_vars&&!orderable_vars.woocommerce_enable_ajax_add_to_cart&&n(i.body).off("click",".add_to_cart_button")},cache:function(){t.vars={classes:{overlay:"orderable-drawer-overlay",drawer:"orderable-drawer",drawer_cart:"orderable-drawer__cart",drawer_html:"orderable-drawer__html",overlay_open:"orderable-drawer-overlay--open",drawer_open:"orderable-drawer--open",drawer_open_body:"orderable-drawer-open"}},t.elements={body:n("body"),overlay:n("."+t.vars.classes.overlay),drawer:n("."+t.vars.classes.drawer),drawer_cart:n("."+t.vars.classes.drawer_cart),drawer_html:n("."+t.vars.classes.drawer_html),floating_cart_button_class:".orderable-floating-cart__button"}},watch:function(){var e,r;void 0!==t.elements.drawer&&(n(i.body).on("orderable-drawer.open",t.open),n(i.body).on("orderable-drawer.close",t.close),n(i.body).on("click",t.elements.floating_cart_button_class,function(){n(i.body).trigger("orderable-drawer.open",{show_cart:!0})}),n(i.body).on("orderable-increase-quantity",t.cart.click_increase_decrease_quantity),n(i.body).on("orderable-decrease-quantity",t.cart.click_increase_decrease_quantity),e=i.querySelector("body:not( .rtl ) .orderable-drawer"),r=i.querySelector("body.rtl .orderable-drawer"),e&&e.addEventListener("swiped-right",function(e){t.close()}),r&&r.addEventListener("swiped-left",function(e){t.close()}))},open:function(e,r){r.html=r.html||!1,r.show_cart=r.show_cart||!1,t.elements.drawer_html.hide(),t.elements.drawer_cart.hide(),r.html&&(t.elements.drawer_html.html(r.html),t.elements.drawer_html.show()),r.show_cart&&(t.elements.drawer_html.html(""),t.elements.drawer_cart.show()),t.elements.overlay.addClass(t.vars.classes.overlay_open),t.elements.drawer.addClass(t.vars.classes.drawer_open),t.elements.body.addClass(t.vars.classes.drawer_open_body),n(i.body).trigger("orderable-drawer.opened",r)},close:function(){t.elements.overlay.removeClass(t.vars.classes.overlay_open),t.elements.drawer.removeClass(t.vars.classes.drawer_open),t.elements.body.removeClass(t.vars.classes.drawer_open_body),t.elements.drawer_html.html(""),n(i.body).trigger("orderable-drawer.closed")},cart:{click_increase_decrease_quantity:function(e,r){var t=r.data("orderable-product-id"),a=r.data("orderable-cart-item-key"),o=r.data("orderable-trigger"),s=parseInt(r.data("orderable-quantity"));jQuery.post(orderable_vars.ajax_url,{action:"orderable_cart_quantity",cart_item_key:a,product_id:t,quantity:"increase-quantity"===o?s+1:s-1},function(e){e&&(n(i.body).trigger("added_to_cart",[e.fragments,e.cart_hash,r]),n(i.body).trigger("orderable-drawer.quantity-updated"))})}}};n(i).ready(t.on_ready)}(jQuery,document),function(i,l){"use strict";var d={on_ready:function(){d.cache(),d.watch()},cache:function(){d.vars={classes:{clickable_product:"orderable-product--add-to-cart ",add_to_order_button:"orderable-product__add-to-order",product_messages:"orderable-product__messages",product_price:"orderable-product__actions-price",invalid_field:"orderable-field--invalid",option_select_td:"orderable-product__option-select",button_loading:"orderable-button--loading",out_of_stock:"orderable-button--out-of-stock"},parent_price:null},d.elements={}},watch:function(){i(l.body).on("orderable-drawer.opened",d.init_product_options),i(l.body).on("orderable-add-to-cart",d.click_add_to_order),i(l.body).on("orderable-product-options",d.click_add_to_order),i(l.body).on("orderable-view-product",d.view_product),i(l.body).on("mouseenter mouseleave","."+d.vars.classes.clickable_product,d.simulate_add_to_order_hover)},simulate_add_to_order_hover:function(e){i(this).find("."+d.vars.classes.add_to_order_button).toggleClass("orderable-button--hover","mouseenter"===e.type)},click_add_to_order:function(e,r){var t=(r=void 0!==r?r:i(this)).is("button")?r:r.find("."+d.vars.classes.add_to_order_button),r=t.data("orderable-trigger"),a=t.data("orderable-product-id"),o=t.data("orderable-variation-id"),s=t.data("orderable-variation-attributes"),n={action:r};t.hasClass(d.vars.classes.button_loading)||t.hasClass(d.vars.classes.out_of_stock)||(t.addClass(d.vars.classes.button_loading),"add-to-cart"===r?d.add_to_cart({product_id:a,variation_id:o,attributes:s},function(e){n.show_cart=!0,n.response=e,i(l.body).trigger("orderable-drawer.open",n),t.removeClass(d.vars.classes.button_loading)}):"product-options"===r&&d.get_product_options({product_id:a,focus:t.data("orderable-focus")},function(e){n.html=e.html,i(l.body).trigger("orderable-drawer.open",n),t.removeClass(d.vars.classes.button_loading)}))},view_product:function(e,r){var t=r.data("orderable-product-id"),a={action:"product-options"};d.get_product_options({product_id:t,focus:r.data("orderable-focus")},function(e){a.html=e.html,i(l.body).trigger("orderable-drawer.open",a)})},add_to_cart:function(e,r){var t;void 0!==e.product_id&&(e={action:"orderable_add_to_cart",product_id:e.product_id,variation_id:e.variation_id||!1,attributes:e.attributes||!1},i(".orderable-product-fields-group").length&&(t=jQuery(".orderable-product-fields-group :input").serializeArray(),t=d.convert_to_flat_object(t),jQuery.isEmptyObject(t)||(e=Object.assign(e,t))),jQuery.post(orderable_vars.ajax_url,e,function(e){e&&(i(l.body).trigger("added_to_cart",[e.fragments,e.cart_hash]),"function"==typeof r&&r(e))}))},convert_to_flat_object:function(e){var a={};return e.forEach(function(e){var r="[]"===e.name.substr(-2)||Array.isArray(e.name),t=r?e.name.substr(0,e.name.length-2):e.name;r?(a[t]=void 0===a[t]?[]:a[t],a[t].push(e.value)):a[t]=e.value}),a},get_product_options:function(e,r){void 0!==e.product_id&&(e.action="orderable_get_product_options",jQuery.post(orderable_vars.ajax_url,e,function(e){e.success&&"function"==typeof r&&r(e.data)}))},init_product_options:function(e,r){var t,a,o;void 0!==r.action&&"product-options"===r.action&&(t=i(r=".orderable-drawer .orderable-product__options input, .orderable-drawer .orderable-product__options select"),d.vars.parent_price=i(".orderable-drawer .orderable-product__actions-price").html(),d.product_options_change(t),d.update_button_state(),a=d.debounce(d.update_button_state,500),o=d.debounce(d.product_options_change,500),i(l).on("change keyup",r,function(){o(t),a()}))},product_options_change:function(e){var r=i(".orderable-drawer .orderable-product__add-to-order"),t=d.check_options(e),a=r.data("orderable-product-type");r.attr("data-orderable-trigger","add-to-cart"),i("."+d.vars.classes.product_messages).html(""),"variable"===a&&(t?(a=d.check_variation(e),d.set_variation(r,a)):d.clear_variation(r))},check_options:function(e){if(e.length<=0)return!1;var t=!0;return e.each(function(e,r){i(r).hasClass("orderable-input--validate")&&(""===i(r).val()?(i(r).addClass(d.vars.classes.invalid_field),t=!1):i(r).removeClass(d.vars.classes.invalid_field))}),t},check_variation:function(e){var r=e.closest(".orderable-drawer"),r=i.parseJSON(r.find(".orderable-product__variations").text()),e=d.serialize_object(e),r=d.find_matching_variations(r,e);if(d.is_empty(r))return!1;r=r.shift();return r.attributes=e,r.attributes_json=JSON.stringify(e),void 0!==r&&r},set_variation:function(e,r){var t=r.variation_id||"",a=r.attributes_json||"",o=r.price_html||d.vars.parent_price,s="";r&&""!==r.availability_html&&(s=r.availability_html),r&&!r.is_in_stock&&(s="<p>"+orderable_vars.i18n.out_of_stock+"</p>"),r&&!r.is_purchasable&&(s="<p>"+orderable_vars.i18n.unavailable+"</p>"),!1===r&&(s="<p>"+orderable_vars.i18n.no_exist+"</p>"),!r||r.is_purchasable&&r.is_in_stock||(a=t=""),""!==s&&i("."+d.vars.classes.product_messages).html(s),e.data("orderable-variation-id",t),e.data("orderable-variation-attributes",a),i(".orderable-drawer .orderable-product__actions-price").html(o),e.trigger("orderable_variation_set",{variation:r,variation_id:t,attributes:a,price:o})},clear_variation:function(e){d.set_variation(e,""),d.vars.parent_price&&i(".orderable-drawer .orderable-product__actions-price").html(d.vars.parent_price)},find_matching_variations:function(e,r){for(var t=[],a=0;a<e.length;a++){var o=e[a];d.is_matching_variation(o.attributes,r)&&t.push(o)}return t},is_matching_variation:function(e,r){var t,a,o,s=!0;for(t in e)e.hasOwnProperty(t)&&(a=e[t],o=r[t],void 0!==a&&void 0!==o&&0!==a.length&&0!==o.length&&a!==o&&(s=!1));return s},is_empty:function(e){return void 0===e||!1===e||e.length<=0||!e},serialize_object:function(e){for(var r=e.serializeArray(),t={},a=0;a<r.length;a++)t[r[a].name]=r[a].value;return t},update_button_state:function(){setTimeout(function(){var e=i(".orderable-drawer .orderable-product__add-to-order"),r=i(".orderable-drawer__html ."+d.vars.classes.invalid_field).length,t=!0;"variable"===e.data("orderable-product-type")&&(t=""!==e.data("orderable-variation-id")),e.prop("disabled",r||!t)},50)},debounce:function(a,o,s){var n;return function(){var e=this,r=arguments,t=s&&!n;clearTimeout(n),n=setTimeout(function(){n=null,s||a.apply(e,r)},o),t&&a.apply(e,r)}}};i(l).ready(d.on_ready)}(jQuery,document),function(o,s){"use strict";var n={on_ready:function(){n.cache(),n.watch()},cache:function(){n.vars={top:{}},n.elements={}},watch:function(){o(s.body).on("orderable-drawer.opened",n.trigger),o(s.body).on("orderable-tabs.changed",n.trigger),o(s.body).on("orderable-accordion.toggled",n.trigger),o(s.body).on("wc_fragments_loaded",n.trigger)},trigger:function(){o(".orderable-sb-container").each(function(e,r){var t,r=o(r),a=r.data("orderable-scroll-id");n.has_scrollbar(r)||(r.scrollBox({containerClass:"orderable-sb-container",containerNoScrollClass:"orderable-sb-container-noscroll",contentClass:"orderable-sb-content",scrollbarContainerClass:"orderable-sb-scrollbar-container",scrollBarClass:"orderable-sb-scrollbar"}),0<(t=r.find(".orderable-sb-content")).length&&(t.on("scroll.scrollBox",n.log_top_position),void 0!==n.vars.top[a]&&t.scrollTop(n.vars.top[a])),o(s.body).trigger("orderable-scrollbar.created",{element:r,content:t}))}),o(window).trigger("resize.scrollBox")},has_scrollbar:function(e){return 0<e.find(".orderable-sb-content").length},log_top_position:function(e){var r=o(e.currentTarget).closest(".orderable-sb-container").data("orderable-scroll-id");n.vars.top[r]=o(e.currentTarget).scrollTop()}};o(s).ready(n.on_ready)}(jQuery,document),function(n,e){"use strict";var r={on_ready:function(){r.watch()},watch:function(){n(e.body).on("orderable-show-lookup-services",function(e,r){var t=r.closest(".orderable-services-selector").find(".orderable-services-selector__lookup");r.hide(),t.show()}),n(e.body).on("orderable-lookup-services",function(e,r){var t=r.closest(".orderable-services-selector"),a=t.find(".orderable-services-selector__lookup-message"),o=t.find(".orderable-services-selector__selected-change"),s=t.find(".orderable-services-selector__lookup-city").val(),t=t.find(".orderable-services-selector__lookup-postcode").val(),r=r.data("orderable-service");jQuery.post(orderable_vars.ajax_url,{action:"orderable_lookup_service",postcode:t,city:s,service:r},function(e){e.success?(a.html(""),o.show(),void 0!==e.data.fragments&&n.each(e.data.fragments,function(e,r){n(e).html(r)}),console.log(e)):a.html("<p>"+e.data.message+"</p>")})})}};n(e).ready(r.on_ready)}(jQuery,document),function(n,i){"use strict";var l={on_ready:function(){l.cache(),l.watch(),l.toggle_scroll()},on_resize:function(){l.toggle_scroll()},cache:function(){l.vars={classes:{tabs:"orderable-tabs",tabs_list:"orderable-tabs__list",tab_items:"orderable-tabs__item",tab_item_active:"orderable-tabs__item--active",tab_links:"orderable-tabs__link",tab_arrow:"orderable-tabs__arrow"},dragging:!1},l.elements={}},watch:function(){n("body").on("touchstart",function(){l.vars.dragging=!1}).on("touchmove",function(){l.vars.dragging=!0}),n(i.body).on("click mouseup touchend","."+l.vars.classes.tab_links,function(e){var r,t,a,o,s;l.vars.dragging||(e.preventDefault(),r=(e=n(this)).attr("href"),t=e.closest("."+l.vars.classes.tab_items),a=(s=e.closest("."+l.vars.classes.tabs)).find("."+l.vars.classes.tabs_list),o=s.find("."+l.vars.classes.tab_items),s=s.data("orderable-tabs"),s=(e=e.closest(s.wrapper)).find(s.sections),e=e.find(r),s.hide(),e.show(),o.removeClass(l.vars.classes.tab_item_active),t.addClass(l.vars.classes.tab_item_active),a.animate({scrollLeft:a.scrollLeft()+t.position().left}),n(i.body).trigger("orderable-tabs.changed",{tab:t}))}),n("."+l.vars.classes.tabs_list).on("scroll",function(e){0<n(this).scrollLeft()&&n("."+l.vars.classes.tab_arrow).fadeOut()}),n("."+l.vars.classes.tabs_list).on("wheel DOMMouseScroll mousewheel touchmove",function(){n(this).stop()}),n(i).on("click","."+l.vars.classes.tab_arrow,function(e){e.preventDefault();var e=n(this),r=e.parent(),t=r.find("."+l.vars.classes.tabs_list);t.animate({scrollLeft:t.scrollLeft()+.5*r.width()}),e.fadeOut()})},toggle_scroll:function(){n("."+l.vars.classes.tabs).each(function(e,r){var t=n(this),a=t.data("orderable-tabs"),t=t.closest(a.wrapper),a=t.find("."+l.vars.classes.tabs_list),o=t.find("."+l.vars.classes.tab_arrow);t.outerWidth()<a[0].scrollWidth?o.show():o.hide()})}};n(i).ready(l.on_ready),n(window).on("resize",l.on_resize)}(jQuery,document);var orderable_timings={};!function(i,a){"use strict";orderable_timings={on_ready:function(){orderable_timings.watch(),orderable_timings.set_date_and_time()},set_date_and_time:function(){var e,r=a.querySelector("#orderable-date"),t="";r&&(e=r.options[r.selectedIndex])&&!(t=e.value)&&r.options[r.selectedIndex+1]&&(r.options[r.selectedIndex+1].selected=!0,i(r).change()),"asap"!==t&&(e="",(r=a.querySelector("#orderable-time"))&&(e=r.options[r.selectedIndex])&&r.options[r.selectedIndex+1]&&(e.value||(r.options[r.selectedIndex+1].selected=!0,i(r).change())))},restore:function(){var e=orderable_timings.get_timings();e&&e.date&&(i(".orderable-order-timings__date").val(e.date),i(".orderable-order-timings__date").change(),e.time&&(i(".orderable-order-timings__time").val(e.time),i(".orderable-order-timings__time").change()))},watch:function(){i(a.body).on("wc_fragments_refreshed",function(){orderable_timings.restore(),orderable_timings.set_date_and_time()}),i(a.body).on("updated_checkout",function(){orderable_timings.restore(),orderable_timings.set_date_and_time()}),i(a.body).on("change",".orderable-order-timings__date",function(e){var r=i(this).find("option:selected").data("orderable-slots"),t=i(".orderable-order-timings--time"),a=i(".orderable-order-timings__time"),o=a.find("option").first(),s=a.find('option[value="asap"]').first(),n=orderable_timings.get_timings();if(n.date=i(".orderable-order-timings__date").val(),window.localStorage.setItem("orderable_timings",JSON.stringify(n)),a.html(o),s&&a.append(s),!r)return a.prop("disabled",!0),void t.hide();"all-day"===r[0].value?(t.hide(),a.prop("disabled",!0)):(a.prop("disabled",!1),t.show(),i.each(r,function(e,r){a.append(i("<option />").attr("value",r.value).text(r.formatted))}))}),i(a.body).on("change",".orderable-order-timings__time",function(e){var r=orderable_timings.get_timings();r.time=i(".orderable-order-timings__time").val(),window.localStorage.setItem("orderable_timings",JSON.stringify(r))})},get_timings:function(){return JSON.parse(window.localStorage.getItem("orderable_timings"))||{}}},i(a).ready(orderable_timings.on_ready)}(jQuery,document),function(t,a){"use strict";var e={on_ready:function(){e.watch()},watch:function(){t(a.body).on("click","[data-orderable-trigger]",e.trigger)},trigger:function(e){e.stopImmediatePropagation();var e=t(this),r=e.data("orderable-trigger");t(a.body).trigger("orderable-"+r,[e])}};t(a).ready(e.on_ready)}(jQuery,document),function(o,e,s){"use strict";var n="scrollBox",t={containerClass:"sb-container",containerNoScrollClass:"sb-container-noscroll",contentClass:"sb-content",scrollbarContainerClass:"sb-scrollbar-container",scrollBarClass:"sb-scrollbar"};function r(e,r){this.element=e,this.settings=o.extend({},t,r),this._defaults=t,this._name=n,this.init()}o.extend(r.prototype,{init:function(){this.addScrollbar(),this.addEvents(),this.onResize()},addScrollbar:function(){o(this.element).addClass(this.settings.containerClass),this.wrapper=o("<div class='"+this.settings.contentClass+"' />"),this.wrapper.append(o(this.element).contents()),o(this.element).append(this.wrapper),this.scollbarContainer=o("<div class='"+this.settings.scrollbarContainerClass+"' />"),this.scrollBar=o("<div class='"+this.settings.scrollBarClass+"' />"),this.scollbarContainer.append(this.scrollBar),o(this.element).prepend(this.scollbarContainer)},addEvents:function(){this.wrapper.on("scroll."+n,o.proxy(this.onScroll,this)),o(e).on("resize."+n,o.proxy(this.onResize,this)),this.scrollBar.on("mousedown."+n,o.proxy(this.onMousedown,this)),this.scrollBar.on("touchstart."+n,o.proxy(this.onTouchstart,this))},onTouchstart:function(r){var t=this,a=(r.preventDefault(),t.scrollBar[0].offsetTop);o(s).on("touchmove."+n,function(e){e=e.touches[0].pageY-r.touches[0].pageY;t.scrollBar[0].style.top=Math.min(t.scollbarContainer[0].clientHeight-t.scrollBar[0].clientHeight,Math.max(0,a+e))+"px",t.wrapper[0].scrollTop=t.wrapper[0].scrollHeight*t.scrollBar[0].offsetTop/t.scollbarContainer[0].clientHeight}),o(s).on("touchend."+n,function(){o(s).off("touchmove."+n),o(s).off("touchend."+n)})},onMousedown:function(r){var t=this,a=(r.preventDefault(),t.scrollBar[0].offsetTop);o(s).on("mousemove."+n,function(e){e=e.pageY-r.pageY;t.scrollBar[0].style.top=Math.min(t.scollbarContainer[0].clientHeight-t.scrollBar[0].clientHeight,Math.max(0,a+e))+"px",t.wrapper[0].scrollTop=t.wrapper[0].scrollHeight*t.scrollBar[0].offsetTop/t.scollbarContainer[0].clientHeight}),o(s).on("mouseup."+n,function(){o(s).off("mousemove."+n),o(s).off("mouseup."+n)})},onResize:function(){this.wrapper.css("max-height",o(this.element).height());var e=this.wrapper[0].clientHeight;this.scrollBar.css("height",this.scollbarContainer[0].clientHeight*e/this.wrapper[0].scrollHeight+"px"),this.scollbarContainer[0].clientHeight<=this.scrollBar[0].clientHeight?o(this.element).addClass(this.settings.containerNoScrollClass):o(this.element).removeClass(this.settings.containerNoScrollClass),this.onScroll()},onScroll:function(){this.scrollBar.css("top",Math.min(this.scollbarContainer[0].clientHeight-this.scrollBar[0].clientHeight,this.scollbarContainer[0].clientHeight*this.wrapper[0].scrollTop/this.wrapper[0].scrollHeight)+"px")}}),o.fn[n]=function(e){return this.each(function(){o.data(this,"plugin_"+n)||o.data(this,"plugin_"+n,new r(this,e))})}}(jQuery,window,document),function(e,o){"use strict";"function"!=typeof e.CustomEvent&&(e.CustomEvent=function(e,r){r=r||{bubbles:!1,cancelable:!1,detail:void 0};var t=o.createEvent("CustomEvent");return t.initCustomEvent(e,r.bubbles,r.cancelable,r.detail),t},e.CustomEvent.prototype=e.Event.prototype),o.addEventListener("touchstart",function(e){"true"!==e.target.getAttribute("data-swipe-ignore")&&(c=e.target,d=Date.now(),s=e.touches[0].clientX,n=e.touches[0].clientY,l=i=0)},!1),o.addEventListener("touchmove",function(e){var r;s&&n&&(r=e.touches[0].clientX,e=e.touches[0].clientY,i=s-r,l=n-e)},!1),o.addEventListener("touchend",function(e){var r,t,a,o;c===e.target&&(o=parseInt(u(c,"data-swipe-threshold","20"),10),r=parseInt(u(c,"data-swipe-timeout","500"),10),t=Date.now()-d,a="",e=e.changedTouches||e.touches||[],Math.abs(i)>Math.abs(l)?Math.abs(i)>o&&t<r&&(a=0<i?"swiped-left":"swiped-right"):Math.abs(l)>o&&t<r&&(a=0<l?"swiped-up":"swiped-down"),""!==a&&(o={dir:a.replace(/swiped-/,""),touchType:(e[0]||{}).touchType||"direct",xStart:parseInt(s,10),xEnd:parseInt((e[0]||{}).clientX||-1,10),yStart:parseInt(n,10),yEnd:parseInt((e[0]||{}).clientY||-1,10)},c.dispatchEvent(new CustomEvent("swiped",{bubbles:!0,cancelable:!0,detail:o})),c.dispatchEvent(new CustomEvent(a,{bubbles:!0,cancelable:!0,detail:o}))),d=n=s=null)},!1);var s=null,n=null,i=null,l=null,d=null,c=null;function u(e,r,t){for(;e&&e!==o.documentElement;){var a=e.getAttribute(r);if(a)return a;e=e.parentNode}return t}}(window,document); -
orderable/trunk/inc/class-admin-notices.php
r2549156 r2709284 85 85 continue; 86 86 } ?> 87 <div class="notice notice--orderable" style="border-left-color: # bc47f5;">87 <div class="notice notice--orderable" style="border-left-color: #7031F5;"> 88 88 <p><strong><?php echo wp_kses_post( $notice['title'] ); ?></strong></p> 89 89 <p><?php echo wp_kses_post( $notice['description'] ); ?></p> -
orderable/trunk/inc/class-ajax.php
r2626120 r2709284 56 56 } 57 57 58 $focus = filter_input( INPUT_POST, 'focus', FILTER_SANITIZE_STRING ); 58 59 $product = wc_get_product( $product_id ); 59 60 … … 69 70 } 70 71 71 $args = array( 'images' => true ); 72 $args = array( 73 'images' => true, 74 'focus' => $focus, 75 ); 72 76 73 77 ob_start(); -
orderable/trunk/inc/class-assets.php
r2666071 r2709284 33 33 34 34 wp_enqueue_style( 'orderable', ORDERABLE_ASSETS_URL . 'frontend/css/main' . $suffix_css . '.css', array(), ORDERABLE_VERSION ); 35 wp_enqueue_script( 'orderable', ORDERABLE_ASSETS_URL . 'frontend/js/main' . $suffix . '.js', array( 'jquery' ), ORDERABLE_VERSION, true );35 wp_enqueue_script( 'orderable', ORDERABLE_ASSETS_URL . 'frontend/js/main' . $suffix . '.js', array( 'jquery' , 'wc-add-to-cart' ), ORDERABLE_VERSION, true ); 36 36 37 37 wp_add_inline_style( 'orderable', self::get_styles() ); 38 38 39 39 wp_localize_script( 'orderable', 'orderable_vars', array( 40 'i18n' => array(40 'i18n' => array( 41 41 'out_of_stock' => __( 'Sorry, that product is out of stock.', 'orderable' ), 42 42 'unavailable' => __( 'Sorry, that product is unavailable.', 'orderable' ), 43 43 'no_exist' => __( 'Sorry, that combination does not exist.', 'orderable' ), 44 ) 44 ), 45 'ajax_url' => WC()->ajax_url(), 46 /** 47 * If the option "Enable AJAX add to cart buttons on archives" is not enabled, 48 * we need to turn off the click event for .add_to_cart_button elements on drawer.js 49 * to keep the AJAX behaviour only on Mini cart. 50 */ 51 'woocommerce_enable_ajax_add_to_cart' => 'yes' === get_option( 'woocommerce_enable_ajax_add_to_cart' ), 45 52 ) ); 46 53 … … 68 75 '.orderable-button--loading:after { border-top-color: %1$s; border-left-color: %1$s; }', 69 76 '.orderable-product-option--checked .orderable-product-option__label-state { border-color: %1$s !important; }', 70 ".orderable-product __title { font-size: {$product_title_font_size}px; line-height: {$product_title_line_height}px; }",77 ".orderable-products-list .orderable-product__title { font-size: {$product_title_font_size}px; line-height: {$product_title_line_height}px; }", 71 78 ".orderable-product__actions-price .amount { font-size: {$product_price_font_size}px; line-height: {$product_price_line_height}px; }", 72 79 ); -
orderable/trunk/inc/class-modules.php
r2666071 r2709284 35 35 'checkout', 36 36 'timed-products', 37 'custom-order-status', 37 38 ); 38 39 -
orderable/trunk/inc/class-products.php
r2637423 r2709284 22 22 add_filter( 'woocommerce_product_query_tax_query', array( __CLASS__, 'remove_hidden_categories_from_products_query' ), 10, 2 ); 23 23 add_filter( 'get_terms_args', array( __CLASS__, 'remove_hidden_categories_from_terms_query' ), 10, 2 ); 24 add_filter( 'wp_sitemaps_posts_query_args', array( __CLASS__, 'remove_hidden_products_from_sitemap' ), 10, 2 ); 25 add_filter( 'wp_sitemaps_taxonomies_query_args', array( __CLASS__, 'remove_hidden_categories_from_sitemap' ), 10, 2 ); 24 26 } 25 27 … … 119 121 if ( ! empty( $category_products ) ) { 120 122 $products[ $category_id ]['products'] = $category_products; 121 123 122 124 // Add parent attribute if parent is a root category. 123 if ( in_array( $category->parent, $categories ) ) {125 if ( in_array( $category->parent, $categories, true ) ) { 124 126 $products[ $category_id ]['category']['parent'] = $category->parent; 125 127 } … … 166 168 * 167 169 * @param array $args Arguments. 170 * 168 171 * @return array 169 172 */ 170 173 public static function get_products( $args ) { 171 174 $args['status'] = 'publish'; // Ensure only published products are returned. 172 $products = wc_get_products( $args ); 175 176 if ( 'yes' === get_option( 'woocommerce_hide_out_of_stock_items' ) ) { 177 $args['stock_status'] = 'instock'; 178 } 179 180 /** 181 * Filter arguments used to retrieve products from database 182 * 183 * @param array $args WC_Product_Query arguments 184 * 185 * @return array New query arguments 186 * @since 1.2.1 187 * @hook orderable_get_products_args 188 */ 189 $products = wc_get_products( apply_filters( 'orderable_get_products_args', $args ) ); 173 190 174 191 if ( ! empty( $products ) && isset( $args['orderby'] ) ) { … … 184 201 * 185 202 * @param array $categories Categories. 203 * 186 204 * @return array 187 205 */ … … 288 306 289 307 $args = array( 290 'trigger' => 'add-to-cart',308 'trigger' => self::get_add_to_cart_trigger( $product ), 291 309 'product_id' => $product->get_id(), 292 310 'product_type' => $product->get_type(), … … 298 316 299 317 if ( 'variable' === $args['product_type'] ) { 300 $args['trigger'] = 'product-options'; 301 $args['text'] = empty( $orderable_single_product ) ? __( 'Select', 'orderable' ) : $args['text']; 318 $args['text'] = empty( $orderable_single_product ) ? __( 'Select', 'orderable' ) : $args['text']; 302 319 } elseif ( 'variation' === $args['product_type'] ) { 303 320 $args['product_id'] = $product->get_parent_id(); … … 307 324 if ( ! $product->is_in_stock() ) { 308 325 $args['classes'] .= ' orderable-button--out-of-stock'; 309 $args['text'] = __( 'Out of Stock', 'orderable' );326 $args['text'] = __( 'Out of Stock', 'orderable' ); 310 327 } 311 328 … … 313 330 314 331 return sprintf( '<button class="orderable-button %s" data-orderable-trigger="%s" data-orderable-product-id="%d" data-orderable-product-type="%s" data-orderable-variation-id="%d" data-orderable-variation-attributes="">%s</button>', esc_attr( $args['classes'] ), esc_attr( $args['trigger'] ), esc_attr( $args['product_id'] ), esc_attr( $args['product_type'] ), esc_attr( $args['variation_id'] ), wp_kses_post( $args['text'] ) ); 332 } 333 334 /** 335 * Get add to cart trigger value. 336 * 337 * @param WC_Product $product 338 * 339 * @return string 340 */ 341 public static function get_add_to_cart_trigger( $product ) { 342 $trigger = $product->is_type( 'variable' ) ? 'product-options' : 'add-to-cart'; 343 344 return apply_filters( 'orderable_get_add_to_cart_trigger', $trigger, $product ); 315 345 } 316 346 … … 517 547 * this also disables the archive page. 518 548 * 519 * @param array $args 520 * @param array $taxonomies 549 * @param array $args Args. 550 * @param array $taxonomies Taxonomies. 521 551 * 522 552 * @return mixed … … 540 570 return $args; 541 571 } 572 573 /** 574 * Remove hidden products from sitemap. 575 * 576 * @param array $query_args Query args. 577 * @param string $post_type Post type. 578 * 579 * @return mixed 580 */ 581 public static function remove_hidden_products_from_sitemap( $query_args, $post_type ) { 582 if ( 'product' !== $post_type ) { 583 return $query_args; 584 } 585 586 $hidden_categories = Orderable_Settings::get_hidden_categories(); 587 588 if ( empty( $hidden_categories ) ) { 589 return $query_args; 590 } 591 592 $tax_query = array( 593 'taxonomy' => 'product_cat', 594 'terms' => $hidden_categories, 595 'field' => 'term_id', 596 'include_children' => true, 597 'operator' => 'NOT IN', 598 ); 599 600 if ( ! isset( $query_args['tax_query'] ) ) { 601 $query_args['tax_query'] = array(); 602 } 603 604 $query_args['tax_query'][] = $tax_query; 605 606 return $query_args; 607 } 608 609 /** 610 * Exclude hidden categories from sitemap. 611 * 612 * @param array $query_args Query args. 613 * @param string $taxonomy Taxonomy. 614 * 615 * @return mixed 616 */ 617 public static function remove_hidden_categories_from_sitemap( $query_args, $taxonomy ) { 618 if ( 'product_cat' !== $taxonomy ) { 619 return $query_args; 620 } 621 622 $hidden_categories = Orderable_Settings::get_hidden_categories(); 623 624 if ( empty( $hidden_categories ) ) { 625 return $query_args; 626 } 627 628 if ( ! isset( $query_args['exclude'] ) ) { 629 $query_args['exclude'] = $hidden_categories; 630 } else { 631 if ( is_array( $hidden_categories ) ) { 632 $query_args['exclude'] = array_merge( $query_args['exclude'], $hidden_categories ); 633 } else { 634 $query_args['exclude'] = $query_args['exclude'] . ',' . implode( ',', $hidden_categories ); 635 } 636 } 637 638 return $query_args; 639 } 640 641 /** 642 * Get product accordion data. 643 * 644 * @param WC_Product $product Product. 645 * 646 * @return array 647 */ 648 public static function get_accordion_data( $product ) { 649 $data = array(); 650 651 $description = Orderable_Settings::get_setting( 'drawer_quickview_description' ); 652 653 if ( 'none' !== $description ) { 654 $description = 'short' === $description ? $product->get_short_description() : $product->get_description(); 655 656 $data[] = array( 657 'title' => __( 'Description', 'orderable' ), 658 'content' => apply_filters( 'the_content', $description ), 659 'id' => 'accordion-description', 660 ); 661 } 662 663 /** 664 * Filter product accordion data. 665 * 666 * @var array $data 667 * @var WC_Product $product 668 */ 669 return apply_filters( 'orderable_get_accordion_data', $data, $product ); 670 } 542 671 } -
orderable/trunk/inc/class-settings.php
r2666071 r2709284 928 928 'next' => 'orderable-order-view', 929 929 'options' => array( 930 'content' => '<h3>' . esc_html__( ' Layout Builder', 'orderable' ) . '</h3>' .930 'content' => '<h3>' . esc_html__( 'Product Layouts', 'orderable' ) . '</h3>' . 931 931 '<p>' . 932 932 esc_html__( 'Use the Layout Builder to create a product list based on category. Embed your layout using the shortcode or block.', 'orderable' ) . … … 1059 1059 Orderable_Webhooks::subscribe(); 1060 1060 } 1061 1062 /** 1063 * Universal upgrade page content. 1064 * 1065 * @param string $campaign Campaign for UTM. 1066 */ 1067 public static function upgrade_page_content( $campaign = '' ) { 1068 ?> 1069 <style> 1070 body { 1071 background: #fff; 1072 } 1073 1074 .orderable-pro-upgrade__logo { 1075 margin: 0 0 36px; 1076 display: block; 1077 } 1078 1079 .orderable-pro-upgrade__content { 1080 margin: 0; 1081 padding: 24px; 1082 max-width: 500px; 1083 } 1084 1085 .orderable-pro-upgrade__intro { 1086 font-size: 22px; 1087 margin: 0 0 36px; 1088 line-height: 1.4; 1089 color: #000; 1090 } 1091 1092 .orderable-pro-upgrade__intro a { 1093 color: #7031F5; 1094 } 1095 1096 .orderable-pro-upgrade__features { 1097 font-size: 16px; 1098 margin: 0 0 48px; 1099 } 1100 1101 .orderable-pro-upgrade__features li { 1102 margin: 0 0 12px; 1103 line-height: 1.4; 1104 } 1105 1106 .orderable-pro-upgrade__features li:last-child { 1107 margin-bottom: 0; 1108 } 1109 1110 .orderable-pro-upgrade__features li strong { 1111 color: #000; 1112 } 1113 1114 .orderable-pro-upgrade__content .orderable-admin-button--pro { 1115 padding: 16px 30px; 1116 font-size: 16px; 1117 background: #7031F5; 1118 } 1119 </style> 1120 <div class="wrap orderable-pro-upgrade"> 1121 <div class="orderable-pro-upgrade__content"> 1122 <?php printf( '<img class="orderable-pro-upgrade__logo" src="%s" width="164" height="36" />', esc_url( ORDERABLE_ASSETS_URL . 'img/orderable-logo.svg' ) ); ?> 1123 1124 <p class="orderable-pro-upgrade__intro"> <a href="https://orderable.com/?utm_source=Orderable&utm_medium=Plugin&utm_campaign=<?php echo esc_attr( $campaign ); ?>" target="_blank"><?php esc_attr_e( 'Upgrade to Orderable Pro', 'orderable' ); ?></a> <?php esc_attr_e( 'to access this feature, plus many more revenue boosting features.', 'orderable' ); ?></p> 1125 1126 <ul class="orderable-pro-upgrade__features"> 1127 <li><strong><?php esc_attr_e( 'Product Addons', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Add options to your products like toppings, allergy information, size, etc.', 'orderable' ); ?></li> 1128 <li><strong><?php esc_attr_e( 'Cart Bumps', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Increase sales by offering related products right in the side cart.', 'orderable' ); ?></li> 1129 <li><strong><?php esc_attr_e( 'Time Slots', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Improve customer satisfaction by offering specific time slots for their order.', 'orderable' ); ?></li> 1130 <li><strong><?php esc_attr_e( 'Custom Checkout', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Use our custom checkout experience to drive conversions at the most important step of your online store.', 'orderable' ); ?></li> 1131 <li><strong><?php esc_attr_e( 'Checkout Tipping', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Make it easy for your customers to include a tip with their order.', 'orderable' ); ?></li> 1132 <li><strong><?php esc_attr_e( 'Timed Products', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Show/hide products in your store based on time/date conditions.', 'orderable' ); ?></li> 1133 <li><strong><?php esc_attr_e( 'Custom Order Statuses', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Add and modify order statuses to improve the backend flow of your store. Create custom notifications for each status.', 'orderable' ); ?></li> 1134 <li><strong><?php esc_attr_e( 'Checkout Tipping', 'orderable' ); ?></strong> — <?php esc_attr_e( 'Make it easy for your customers to include a tip with their order.', 'orderable' ); ?></li> 1135 </ul> 1136 1137 <?php echo Orderable_Helpers::get_pro_button( $campaign, __( 'Upgrade Now', 'orderable' ) ); ?> 1138 </div> 1139 </div> 1140 <?php 1141 } 1061 1142 } -
orderable/trunk/inc/modules/addons/class-addons.php
r2549156 r2709284 40 40 */ 41 41 public static function product_addons_page() { 42 ?> 43 <div class="wrap"> 44 <h1 class="wp-heading-inline"><?php _e( 'Product Addons', 'orderable' ); ?></h1> 45 <div> 46 <?php echo Orderable_Helpers::get_pro_button(); ?> 47 </div> 48 </div> 49 <?php 42 Orderable_Settings::upgrade_page_content( 'product-addons' ); 50 43 } 51 44 } -
orderable/trunk/inc/modules/drawer/class-drawer-ajax.php
r2558994 r2709284 25 25 */ 26 26 public static function cart_quantity() { 27 $product_id = filter_input( INPUT_POST, 'product_id', FILTER_SANITIZE_STRING );27 $product_id = filter_input( INPUT_POST, 'product_id', FILTER_SANITIZE_STRING ); 28 28 $cart_item_key = filter_input( INPUT_POST, 'cart_item_key', FILTER_SANITIZE_STRING ); 29 $quantity = filter_input( INPUT_POST, 'quantity', FILTER_SANITIZE_NUMBER_INT );29 $quantity = filter_input( INPUT_POST, 'quantity', FILTER_SANITIZE_NUMBER_INT ); 30 30 31 31 if ( empty( $product_id ) || empty( $cart_item_key ) || ! is_numeric( $quantity ) ) { … … 39 39 } 40 40 41 $passed_validation = true; 42 $cart_updated = false; 41 $passed_validation = true; 42 $cart_updated = false; 43 $current_session_order_id = isset( WC()->session->order_awaiting_payment ) ? absint( WC()->session->order_awaiting_payment ) : 0; 44 $product_qty_in_cart = WC()->cart->get_cart_item_quantities(); 43 45 44 46 // is_sold_individually. 45 47 if ( $_product->is_sold_individually() && $quantity > 1 ) { 46 48 /* Translators: %s Product title. */ 47 wc_add_notice( sprintf( __( 'You can only have 1 %s in your cart.', ' woocommerce' ), $_product->get_name() ), 'error' );49 wc_add_notice( sprintf( __( 'You can only have 1 %s in your cart.', 'orderable' ), $_product->get_name() ), 'error' ); 48 50 $passed_validation = false; 49 51 } 50 52 53 // We only need to check products managing stock, with a limited stock qty. 54 if ( $_product->managing_stock() || $_product->backorders_allowed() ) { 55 // Check stock based on all items in the cart and consider any held stock within pending orders. 56 $held_stock = wc_get_held_stock_quantity( $_product, $current_session_order_id ); 57 58 if ( $_product->get_stock_quantity() < ( $held_stock + $quantity ) ) { 59 /* translators: 1: product name 2: quantity in stock */ 60 wc_add_notice( sprintf( __( 'Sorry, we do not have enough "%1$s" in stock to fulfill your order (%2$s available). We apologize for any inconvenience caused.', 'woocommerce' ), $_product->get_name(), wc_format_stock_quantity_for_display( $_product->get_stock_quantity() - $held_stock, $_product ) ), 'error' ); 61 62 $passed_validation = false; 63 } 64 } 65 51 66 if ( $passed_validation ) { 52 WC()->cart->set_quantity( $cart_item_key, $quantity, false );67 WC()->cart->set_quantity( $cart_item_key, intval( $quantity ), false ); 53 68 $cart_updated = true; 54 69 } -
orderable/trunk/inc/modules/drawer/class-drawer-settings.php
r2558994 r2709284 24 24 add_filter( 'wpsf_register_settings_orderable', array( __CLASS__, 'register_settings' ), 20 ); 25 25 add_filter( 'orderable_settings_validate', array( __CLASS__, 'validate_settings' ), 10 ); 26 add_action( 'init', array( __CLASS__, 'position_accordion' ) ); 26 27 } 27 28 … … 42 43 ); 43 44 45 $default_settings['drawer_quickview_description'] = 'none'; 46 $default_settings['drawer_quickview_accordion_position'] = 'orderable_side_menu_before_product_options'; 47 44 48 return $default_settings; 45 49 } … … 53 57 */ 54 58 public static function register_settings( $settings = array() ) { 59 $settings['tabs']['drawer'] = array( 60 'id' => 'drawer', 61 'title' => __( 'Side Drawer', 'orderable' ), 62 'priority' => 30, 63 ); 64 55 65 $settings['sections']['cart'] = array( 56 66 'tab_id' => 'style', … … 85 95 ); 86 96 97 $settings['sections']['quickview'] = array( 98 'tab_id' => 'drawer', 99 'section_id' => 'quickview', 100 'section_title' => __( 'Quickview Settings', 'orderable' ), 101 'section_description' => __( 'Settings for when products are displayed in the Orderable drawer.', 'orderable' ), 102 'section_order' => 10, 103 'fields' => array( 104 'accordion_position' => array( 105 'id' => 'accordion_position', 106 'title' => __( 'Accordion Position', 'orderable' ), 107 'subtitle' => __( 'Where should the product information accordion be displayed in the side drawer.', 'orderable' ), 108 'type' => 'select', 109 'choices' => array( 110 'orderable_side_menu_before_product_options' => __( 'Before Product Options', 'orderable' ), 111 'orderable_side_menu_after_product_options' => __( 'After Product Options', 'orderable' ), 112 ), 113 'default' => Orderable_Settings::get_setting_default( 'drawer_quickview_accordion_position' ), 114 ), 115 'description' => array( 116 'id' => 'description', 117 'title' => __( 'Product Description', 'orderable' ), 118 'subtitle' => __( 'Choose which product description to display in the side drawer.', 'orderable' ), 119 'type' => 'select', 120 'choices' => array( 121 'none' => __( 'None', 'orderable' ), 122 'short' => __( 'Short Description', 'orderable' ), 123 'full' => __( 'Full Description', 'orderable' ), 124 ), 125 'default' => Orderable_Settings::get_setting_default( 'drawer_quickview_description' ), 126 ), 127 ), 128 ); 129 87 130 return $settings; 88 131 } … … 190 233 191 234 $table.find( 'tr' ).removeClass( 'orderable-table__row--last' ); 192 $table.find( 'tr' ).not( '[style*="display: none"]' ).last().addClass( 'orderable-table__row--last' );235 $table.find( 'tr' ).not( '[style*="display: none"]' ).last().addClass( 'orderable-table__row--last' ); 193 236 } 194 237 … … 215 258 $settings = Orderable_Settings::get_setting( self::$fine_tune_cart_key ); 216 259 $settings = array_filter( $settings ); 217 $css = '';260 $css = ''; 218 261 219 262 if ( ! empty( $settings ) ) { … … 240 283 return apply_filters( 'orderable_get_cart_icon_css', $style, $cart_count ); 241 284 } 285 286 /** 287 * Position product accordion in drawer. 288 */ 289 public static function position_accordion() { 290 $position = Orderable_Settings::get_setting( 'drawer_quickview_accordion_position' ); 291 292 add_filter( $position, array( __CLASS__, 'display_product_accordion' ), 10, 2 ); 293 } 294 295 /** 296 * Display product accordion. 297 * 298 * @param WC_Product $product Product. 299 * @param array $args Args. 300 */ 301 public static function display_product_accordion( $product, $args = array() ) { 302 include ORDERABLE_TEMPLATES_PATH . 'product/accordion.php'; 303 } 242 304 } -
orderable/trunk/inc/modules/drawer/class-drawer.php
r2558994 r2709284 20 20 add_action( 'wp_footer', array( __CLASS__, 'add' ) ); 21 21 add_filter( 'woocommerce_add_to_cart_fragments', array( __CLASS__, 'cart_count_fragments' ), 10, 1 ); 22 add_filter( 'woocommerce_add_to_cart_fragments', array( __CLASS__, 'cart_content_fragments' ), 10, 1 ); 22 23 add_filter( 'woocommerce_cart_item_permalink', '__return_false' ); 23 24 add_filter( 'wc_get_template', array( __CLASS__, 'mini_cart_template' ), 100, 5 ); … … 71 72 72 73 /** 74 * Update cart content after adding to cart. 75 * 76 * @param array $fragments Array of HTML fragments. 77 * 78 * @return mixed 79 */ 80 public static function cart_content_fragments( $fragments ) { 81 ob_start(); 82 83 self::mini_cart(); 84 85 $fragments['.orderable-mini-cart-wrapper'] = ob_get_clean(); 86 87 return $fragments; 88 } 89 90 /** 73 91 * Replace mini cart template. 74 92 * … … 86 104 } 87 105 106 if ( empty( $args['orderable'] ) ) { 107 return $template; 108 } 109 88 110 return ORDERABLE_PATH . 'woocommerce/cart/mini-cart.php'; 89 111 } 112 113 /** 114 * Output mini cart with Orderable param set. 115 */ 116 public static function mini_cart() { 117 ?> 118 <div class="orderable-mini-cart-wrapper"> 119 <?php woocommerce_mini_cart( array( 'orderable' => true ) ); ?> 120 </div> 121 <?php 122 } 90 123 } -
orderable/trunk/inc/modules/drawer/templates/drawer.php
r2549156 r2709284 16 16 <h3><?php _e( 'Your Order', 'orderable' ); ?></h3> 17 17 18 <div class=" widget_shopping_cart_content">19 <?php woocommerce_mini_cart(); ?>18 <div class="orderable-mini-cart-wrapper"> 19 <?php Orderable_Drawer::mini_cart(); ?> 20 20 </div> 21 21 </div> -
orderable/trunk/inc/modules/layouts/assets/admin/css/layouts.css
r2637423 r2709284 87 87 } 88 88 89 .orderable-main--sections-side_tabs{90 display: -webkit-box;91 display: -ms-flexbox;92 display: flex;93 } 94 95 .orderable-main--sections-side_tabs .orderable-main__tabs {96 margin: 0 24px 0 0 !important;97 }98 99 .orderable-main--sections-side_tabs .orderable-main__sections { 100 -webkit-box-flex: 1;101 -ms-flex: 1;102 flex: 1;89 @media screen and (min-width: 620px) { 90 .orderable-main--sections-side_tabs { 91 display: -webkit-box; 92 display: -ms-flexbox; 93 display: flex; 94 } 95 .orderable-main--sections-side_tabs .orderable-main__tabs { 96 margin: 0 24px 0 0 !important; 97 } 98 .orderable-main--sections-side_tabs .orderable-main__sections { 99 -webkit-box-flex: 1; 100 -ms-flex: 1; 101 flex: 1; 102 } 103 103 } 104 104 … … 310 310 311 311 .orderable-product__options { 312 margin: 12px0 24px;312 margin: 0 0 24px; 313 313 padding: 0; 314 314 border-radius: 6px; 315 }316 317 .orderable-product__options:last-child {318 margin-bottom: 0;319 315 } 320 316 … … 328 324 329 325 .orderable-product__options th { 330 font-size: 18px;331 326 line-height: 22px; 332 327 } … … 374 369 .orderable-product__actions-button { 375 370 margin: 0 0 0 auto; 371 } 372 373 .orderable-product__tabs { 374 margin: 24px 0; 375 } 376 377 .orderable-product__tabs-section { 378 display: none; 379 } 380 381 .orderable-product__tabs-section:first-child { 382 display: block; 383 } 384 385 .orderable-product__tabs-section *:last-child { 386 margin-bottom: 0; 376 387 } 377 388 … … 389 400 } 390 401 402 .orderable-product--options .orderable-product__hero { 403 margin: -24px -24px 0; 404 } 405 406 .orderable-product--options .orderable-product__title { 407 text-align: left; 408 margin: 24px 0 !important; 409 } 410 391 411 .orderable-product--options .orderable-product__actions { 392 412 margin-top: auto; … … 398 418 } 399 419 400 .orderable-product--clickable { 420 .orderable-product--add-to-cart, 421 .orderable-product--product-options, 422 .orderable-product--view-product { 401 423 cursor: pointer; 402 424 } 403 425 404 .orderable-product __hero--title{426 .orderable-product--image-cropped .orderable-product__hero { 405 427 overflow: hidden; 406 padding: 24px 24px 0; 407 margin: -24px -24px 24px; 428 padding: 0; 408 429 text-align: center; 409 430 -webkit-box-flex: 0; 410 431 -ms-flex: 0 0 auto; 411 432 flex: 0 0 auto; 412 } 413 414 .orderable-product__hero--title:before { 415 background: #fff; 416 top: auto; 417 left: -10px; 418 right: -10px; 419 bottom: -10px; 420 position: absolute; 421 height: 24px; 422 z-index: 5; 423 -webkit-transform: rotate(-1.5deg); 424 transform: rotate(-1.5deg); 425 } 426 427 .orderable-product__hero--title:after { 428 content: ""; 429 position: absolute; 430 top: 0; 431 left: 0; 432 right: 0; 433 bottom: 0; 434 background: -webkit-gradient(linear, left bottom, left top, from(rgba(24, 33, 37, 0.8)), to(rgba(24, 33, 37, 0.3))); 435 background: linear-gradient(0deg, rgba(24, 33, 37, 0.8), rgba(24, 33, 37, 0.3)); 436 z-index: 1; 437 mix-blend-mode: multiply; 438 } 439 440 .orderable-product__hero--title .orderable-product__image { 433 height: 72px; 434 } 435 436 .orderable-product--image-cropped .orderable-product__image { 441 437 -o-object-fit: cover; 442 438 object-fit: cover; … … 447 443 left: 0; 448 444 top: 0; 449 }450 451 .orderable-product__hero--title .orderable-product__title {452 color: #fff;453 position: relative;454 z-index: 10;455 445 } 456 446 … … 481 471 width: 100%; 482 472 min-width: 60px; 483 max-width: 80px;473 max-width: 95px; 484 474 border-radius: 6px; 485 475 overflow: hidden; … … 607 597 } 608 598 599 .orderable-button--icon { 600 padding: 10px !important; 601 width: 44px; 602 height: 44px; 603 line-height: 24px; 604 border: none; 605 background: none !important; 606 } 607 608 body .orderable-button--icon:hover, 609 body .orderable-button--icon:focus, 610 body .orderable-button--icon:active { 611 background: none !important; 612 opacity: 0.6; 613 } 614 615 .orderable-button--icon svg { 616 width: 24px; 617 height: 24px; 618 border-radius: 12px; 619 overflow: hidden; 620 -webkit-transition: opacity 250ms ease-in-out; 621 transition: opacity 250ms ease-in-out; 622 } 623 624 .orderable-button--icon.orderable-button--loading:after { 625 display: none; 626 } 627 609 628 .orderable-tabs { 610 margin: 0 0 24px !important; 629 margin: 0 0 24px; 630 position: relative; 631 } 632 633 .orderable-tabs__list { 634 margin: 0 1px 0 0 !important; 611 635 padding: 0 !important; 612 636 list-style: none none outside; 613 } 614 615 .orderable-main--sections-side_tabs .orderable-tabs { 616 -webkit-box-flex: 0; 617 -ms-flex: 0 1 auto; 618 flex: 0 1 auto; 637 position: relative; 638 display: -webkit-box; 639 display: -ms-flexbox; 640 display: flex; 641 -ms-flex-wrap: nowrap; 642 flex-wrap: nowrap; 643 -webkit-box-flex: 1; 644 -ms-flex: 1 1 auto; 645 flex: 1 1 auto; 646 overflow-x: auto; 647 overflow-y: hidden; 648 overflow: -moz-scrollbars-none; 649 scrollbar-base-color: transparent; 650 -webkit-overflow-scrolling: touch; 651 } 652 653 .orderable-tabs__list::-webkit-scrollbar { 654 display: none; 655 } 656 657 @media screen and (min-width: 620px) { 658 .orderable-main--sections-side_tabs .orderable-tabs__list { 659 -webkit-box-flex: 0; 660 -ms-flex: 0 1 auto; 661 flex: 0 1 auto; 662 -webkit-box-orient: vertical; 663 -webkit-box-direction: normal; 664 -ms-flex-direction: column; 665 flex-direction: column; 666 height: auto; 667 } 619 668 } 620 669 621 670 .orderable-tabs__item { 622 671 display: inline-block; 623 margin: 0 ;672 margin: 0 10px 0 0; 624 673 padding: 0; 625 674 } 626 675 627 .orderable-main--sections-side_tabs .orderable-tabs__item { 628 margin: 0 0 6px; 629 display: block; 630 } 631 632 .orderable-main--sections-side_tabs .orderable-tabs__item:last-child { 633 margin: 0; 676 .orderable-tabs__item:last-child { 677 margin-right: 0; 678 } 679 680 @media screen and (min-width: 620px) { 681 .orderable-main--sections-side_tabs .orderable-tabs__item { 682 margin: 0 0 12px; 683 display: block; 684 } 685 .orderable-main--sections-side_tabs .orderable-tabs__item:last-child { 686 margin: 0; 687 } 634 688 } 635 689 … … 640 694 white-space: nowrap; 641 695 line-height: 40px; 642 color: # 000;696 color: #405763; 643 697 font-weight: 400; 644 698 border-radius: 20px; 645 -webkit-transition: none; 646 transition: none; 699 -webkit-transition: all 150ms ease-out; 700 transition: all 150ms ease-out; 701 background: #ecf1f3; 647 702 } 648 703 … … 654 709 655 710 a.orderable-tabs__link:hover, a.orderable-tabs__link:active, a.orderable-tabs__link:focus { 656 color: # 000;711 color: #405763; 657 712 text-decoration: none; 658 background: # ecf1f3;713 background: #c7d4db; 659 714 } 660 715 … … 666 721 .orderable--button-style-square a.orderable-tabs__link { 667 722 border-radius: 0; 723 } 724 725 .orderable-tabs__arrow { 726 background: #fff; 727 -webkit-box-shadow: 0 0.4px 1.3px rgba(0, 0, 0, 0.05), 0 1.3px 4.5px rgba(0, 0, 0, 0.06), 0 6px 16px rgba(0, 0, 0, 0.07); 728 box-shadow: 0 0.4px 1.3px rgba(0, 0, 0, 0.05), 0 1.3px 4.5px rgba(0, 0, 0, 0.06), 0 6px 16px rgba(0, 0, 0, 0.07); 729 border: none; 730 width: 40px !important; 731 height: 40px !important; 732 padding: 0 !important; 733 margin: 0 !important; 734 border-radius: 20px !important; 735 position: absolute; 736 top: 0; 737 right: 0; 738 text-align: center; 739 line-height: 40px; 740 display: none; 741 } 742 743 .orderable-tabs__arrow:hover, .orderable-tabs__arrow:focus, .orderable-tabs__arrow:active { 744 background: #fff; 745 outline: none; 746 } 747 748 .orderable-tabs__arrow svg { 749 width: 21px; 750 height: 24px; 751 margin: 8px 0; 668 752 } 669 753 … … 710 794 margin: 0 0 25px; 711 795 padding: 1px 12px; 712 border-left-color: # bc47f5;796 border-left-color: #7031F5; 713 797 } 714 798 -
orderable/trunk/inc/modules/layouts/assets/admin/css/layouts.min.css
r2637423 r2709284 1 @-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}@keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}.orderable-main__group{margin:0 0 36px}.orderable-main--sections-tabs .orderable-main__group{display:none}.orderable-main--sections-tabs .orderable-main__group:first-of-type{display:block} .orderable-main--sections-side_tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.orderable-main--sections-side_tabs .orderable-main__tabs{margin:0 24px 0 0!important}.orderable-main--sections-side_tabs .orderable-main__sections{-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-products-list{margin-bottom:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list *{-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list:last-child{margin-bottom:0}@media screen and (min-width:480px){.orderable-products-list .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 200px;flex:0 0 200px}.orderable-products-list .orderable-product__hero{width:200px}.orderable-products-list .orderable-product__image{-o-object-fit:cover;object-fit:cover;width:100%!important;height:100%!important}.orderable-products-list .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}}.orderable-products-list .orderable-product__actions{padding:12px 24px 18px;margin-top:auto}.orderable-products-list__item{width:100%;margin:0 0 24px}@media screen and (max-width:480px){.orderable-products-list__item{padding:0 0 24px;border-bottom:1px solid #ecf1f3}.orderable-products-list__item:last-child{border-bottom:none}}@media screen and (min-width:540px){.orderable-products-list--grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-products-list__item{margin:0 0 24px;padding:0 12px;width:50%}.orderable-products-list--grid .orderable-product{padding:0 0 88px;display:block;margin:0;-webkit-box-flex:0;-ms-flex:none;flex:none}}@media screen and (min-width:1120px){.orderable-products-list--grid .orderable-products-list__item{width:33.33%}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-product__hero{width:auto}.orderable-products-list--grid .orderable-product__hero img{-o-object-fit:fill;object-fit:fill;width:100%;height:auto}.orderable-products-list--grid .orderable-product__content-wrap{-webkit-box-flex:0;-ms-flex:none;flex:none;display:block}.orderable-products-list--grid .orderable-product__actions{padding:0;margin-top:0;position:absolute;bottom:24px;left:24px;right:24px}}.orderable-product{overflow:hidden;position:relative}.orderable-product__hero{position:relative}.orderable-product__image{border-radius:0;margin:0;display:block;width:100%;height:auto!important;max-width:none!important}.orderable-product__content{padding:18px 24px 12px}.orderable-product__content :last-child{margin-bottom:0}.orderable-product__title{margin:0 0 12px!important}.orderable-product__description{margin:0}.orderable-product__tags{overflow:hidden;margin:0;padding:0;list-style:none}img+.orderable-product__tags{position:absolute;bottom:0;left:0;padding:12px;z-index:20}.orderable-product__tags li{margin:6px 0 0}.orderable-product__options{margin:12px 0 24px;padding:0;border-radius:6px}.orderable-product__actions:last-child,.orderable-product__options:last-child{margin-bottom:0}.orderable-product__options td,.orderable-product__options th{background-color:transparent!important;padding:0 0 12px;text-align:left;display:block;margin:0}.orderable-product__options th{font-size:18px;line-height:22px}.orderable-product__options td{padding-bottom:24px}.orderable-product__options tr{padding:0;margin:0}.orderable-product__options tr:last-child td{padding-bottom:0}.orderable-product__actions{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-product__actions-price{margin:0 4px 0 0}.orderable-product__actions-price .amount{white-space:nowrap;margin:0 6px 0 0;font-weight:700;color:#000;font-size:20px;line-height:24px}.orderable-product__actions-button{margin:0 0 0 auto}.orderable-product--options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:visible;height:100%}.orderable-product--options .orderable-product__actions{margin-top:auto;padding-top:24px;border-top:1px solid #E6ECEF;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.orderable-product--clickable{cursor:pointer}.orderable-product__hero--title{overflow:hidden;padding:24px 24px 0;margin:-24px -24px 24px;text-align:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.orderable-product__hero--title:before{background:#fff;top:auto;left:-10px;right:-10px;bottom:-10px;position:absolute;height:24px;z-index:5;-webkit-transform:rotate(-1.5deg);transform:rotate(-1.5deg)}.orderable-product__hero--title:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:-webkit-gradient(linear,left bottom,left top,from(rgba(24,33,37,.8)),to(rgba(24,33,37,.3)));background:linear-gradient(0deg,rgba(24,33,37,.8),rgba(24,33,37,.3));z-index:1;mix-blend-mode:multiply}.orderable-product__hero--title .orderable-product__image{-o-object-fit:cover;object-fit:cover;position:absolute;z-index:-1;width:100%;height:100%!important;left:0;top:0}.orderable-product__hero--title .orderable-product__title{color:#fff;position:relative;z-index:10}.orderable-products-list__item .orderable-product{height:100%;width:100%;-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);border-radius:6px}@media screen and (max-width:480px){.orderable-products-list__item .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.orderable-products-list__item .orderable-product__hero{width:100%;min-width:60px;max-width:80px;border-radius:6px;overflow:hidden}.orderable-products-list__item .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-products-list__item .orderable-product__content{padding:0 0 0 24px}.orderable-products-list__item .orderable-product__actions{padding:6px 0 0 24px}.orderable-products-list__item .orderable-product__title{margin:0 0 6px!important}}.orderable-button{display:inline-block;border:2px solid #000;background:0 0;padding:0 24px!important;height:40px;line-height:36px;white-space:nowrap;border-radius:20px;color:#000;text-transform:none;margin:0;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;-webkit-box-shadow:none;box-shadow:none;cursor:pointer}.orderable-button:active,.orderable-button:focus{outline:0}.orderable-button--active,.orderable-button--hover,.orderable-button:active,.orderable-button:focus,.orderable-button:hover{border-color:#000;background:#000;color:#fff;text-decoration:none;-webkit-box-shadow:none;box-shadow:none}.orderable-button--filled,.orderable-button--filled--hover,.orderable-button--filled:hover{background:#000!important;color:#fff}.orderable-button--full{width:100%}.orderable-button--loading{position:relative;padding-right:48px!important}.orderable-button--loading:after{content:'';display:block;width:16px;height:16px;position:absolute;top:10px;right:22px;background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:2px solid #000;border-left:2px solid #000;border-right:2px solid transparent;border-bottom:2px solid transparent;border-radius:100%;-webkit-animation:spin .6s ease-out infinite;animation:spin .6s ease-out infinite}.orderable-button--filled .orderable-button--loading:after,.orderable-button--loading.orderable-button--hover:after,.orderable-button--loading:active:after,.orderable-button--loading:focus:after,.orderable-button--loading:hover:after{border-top-color:#fff;border-left-color:#fff}.orderable-button.orderable-button--out-of-stock,.orderable-button.orderable-button--out-of-stock.orderable-button--hover,.orderable-button.orderable-button--out-of-stock:active,.orderable-button.orderable-button--out-of-stock:focus,.orderable-button.orderable-button--out-of-stock:hover{cursor:not-allowed;border-color:#c7d4db;color:#a8bdc7;background:0 0!important}.orderable--button-style-square .orderable-button{border-radius:0}.orderable-tabs{margin:0 0 24px!important;padding:0!important;list-style:none}.orderable-main--sections-side_tabs .orderable-tabs{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.orderable-tabs__item{display:inline-block;margin:0;padding:0}.orderable-main--sections-side_tabs .orderable-tabs__item{margin:0 0 6px;display:block}.orderable-main--sections-side_tabs .orderable-tabs__item:last-child{margin:0}a.orderable-tabs__link{text-decoration:none!important;display:inline-block;padding:0 24px;white-space:nowrap;line-height:40px;color:#000;font-weight:400;border-radius:20px;-webkit-transition:none;transition:none}a.orderable-tabs__link:active,a.orderable-tabs__link:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}a.orderable-tabs__link:active,a.orderable-tabs__link:focus,a.orderable-tabs__link:hover{color:#000;text-decoration:none;background:#ecf1f3}.orderable-tabs__item--active a.orderable-tabs__link{background:#000;color:#fff}.orderable--button-style-square a.orderable-tabs__link{border-radius:0}#orderable-layout-settings-metabox{z-index:1000}#orderable-layout-preview-metabox .inside{padding:24px 24px 0;margin:0}#orderable-layout-preview-metabox .inside h2.orderable-category-heading__title,#orderable-layout-preview-metabox .inside h3{margin:0 0 24px}#orderable-layout-preview-metabox .inside h2{padding:0;font-weight:600;font-size:20px;line-height:1.2}#orderable-layout-preview-metabox .orderable-category-heading__description{margin:-12px 0 24px}#orderable-layout-preview-metabox .orderable-main{max-width:1000px;margin:0}#orderable-layout-preview-metabox .orderable-main--sections-side_tabs .orderable-main__tabs{margin:0 24px 24px 0!important}.orderable-layout-preview-notice{background:#fff;border:1px solid #c3c4c7;border-left-width:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);margin:0 0 25px;padding:1px 12px;border-left-color:#bc47f5}.orderable-layout-preview-notice p{margin:.5em 0;padding:2px}1 @-webkit-keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}@keyframes wobble-hor-bottom{0%,100%{-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%}15%{-webkit-transform:translateX(-10%) rotate(-6deg);transform:translateX(-10%) rotate(-6deg)}30%{-webkit-transform:translateX(5%) rotate(6deg);transform:translateX(5%) rotate(6deg)}45%{-webkit-transform:translateX(-5%) rotate(-3.6deg);transform:translateX(-5%) rotate(-3.6deg)}60%{-webkit-transform:translateX(2%) rotate(2.4deg);transform:translateX(2%) rotate(2.4deg)}75%{-webkit-transform:translateX(-1%) rotate(-1.2deg);transform:translateX(-1%) rotate(-1.2deg)}}.orderable-main__group{margin:0 0 36px}.orderable-main--sections-tabs .orderable-main__group{display:none}.orderable-main--sections-tabs .orderable-main__group:first-of-type{display:block}@media screen and (min-width:620px){.orderable-main--sections-side_tabs{display:-webkit-box;display:-ms-flexbox;display:flex}.orderable-main--sections-side_tabs .orderable-main__tabs{margin:0 24px 0 0!important}.orderable-main--sections-side_tabs .orderable-main__sections{-webkit-box-flex:1;-ms-flex:1;flex:1}}.orderable-products-list{margin-bottom:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list *{-webkit-box-sizing:border-box;box-sizing:border-box}.orderable-products-list:last-child{margin-bottom:0}@media screen and (min-width:480px){.orderable-products-list .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 200px;flex:0 0 200px}.orderable-products-list .orderable-product__hero{width:200px}.orderable-products-list .orderable-product__image{-o-object-fit:cover;object-fit:cover;width:100%!important;height:100%!important}.orderable-products-list .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap}}.orderable-products-list .orderable-product__actions{padding:12px 24px 18px;margin-top:auto}.orderable-products-list__item{width:100%;margin:0 0 24px}@media screen and (max-width:480px){.orderable-products-list__item{padding:0 0 24px;border-bottom:1px solid #ecf1f3}.orderable-products-list__item:last-child{border-bottom:none}}@media screen and (min-width:540px){.orderable-products-list--grid{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-left:-12px;margin-right:-12px}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-products-list__item{margin:0 0 24px;padding:0 12px;width:50%}.orderable-products-list--grid .orderable-product{padding:0 0 88px;display:block;margin:0;-webkit-box-flex:0;-ms-flex:none;flex:none}}@media screen and (min-width:1120px){.orderable-products-list--grid .orderable-products-list__item{width:33.33%}}@media screen and (min-width:768px){.orderable-products-list--grid .orderable-product__hero{width:auto}.orderable-products-list--grid .orderable-product__hero img{-o-object-fit:fill;object-fit:fill;width:100%;height:auto}.orderable-products-list--grid .orderable-product__content-wrap{-webkit-box-flex:0;-ms-flex:none;flex:none;display:block}.orderable-products-list--grid .orderable-product__actions{padding:0;margin-top:0;position:absolute;bottom:24px;left:24px;right:24px}}.orderable-product{overflow:hidden;position:relative}.orderable-product__hero{position:relative}.orderable-product__image{border-radius:0;margin:0;display:block;width:100%;height:auto!important;max-width:none!important}.orderable-product__content{padding:18px 24px 12px}.orderable-product__content :last-child{margin-bottom:0}.orderable-product__title{margin:0 0 12px!important}.orderable-product__description{margin:0}.orderable-product__tags{overflow:hidden;margin:0;padding:0;list-style:none}img+.orderable-product__tags{position:absolute;bottom:0;left:0;padding:12px;z-index:20}.orderable-product__tags li{margin:6px 0 0}.orderable-product__options{margin:0 0 24px;padding:0;border-radius:6px}.orderable-product__options td,.orderable-product__options th{background-color:transparent!important;padding:0 0 12px;text-align:left;display:block;margin:0}.orderable-product__options th{line-height:22px}.orderable-product__options td{padding-bottom:24px}.orderable-product__options tr{padding:0;margin:0}.orderable-product__options tr:last-child td{padding-bottom:0}.orderable-product__actions{overflow:hidden;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.orderable-product__actions:last-child{margin-bottom:0}.orderable-product__actions-price{margin:0 4px 0 0}.orderable-product__actions-price .amount{white-space:nowrap;margin:0 6px 0 0;font-weight:700;color:#000;font-size:20px;line-height:24px}.orderable-product__actions-button{margin:0 0 0 auto}.orderable-product__tabs{margin:24px 0}.orderable-product__tabs-section{display:none}.orderable-product__tabs-section:first-child{display:block}.orderable-product__tabs-section :last-child{margin-bottom:0}.orderable-product--options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:visible;height:100%}.orderable-product--options .orderable-product__hero{margin:-24px -24px 0}.orderable-product--options .orderable-product__title{text-align:left;margin:24px 0!important}.orderable-product--options .orderable-product__actions{margin-top:auto;padding-top:24px;border-top:1px solid #E6ECEF;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.orderable-product--add-to-cart,.orderable-product--product-options,.orderable-product--view-product{cursor:pointer}.orderable-product--image-cropped .orderable-product__hero{overflow:hidden;padding:0;text-align:center;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;height:72px}.orderable-product--image-cropped .orderable-product__image{-o-object-fit:cover;object-fit:cover;position:absolute;z-index:-1;width:100%;height:100%!important;left:0;top:0}.orderable-products-list__item .orderable-product{height:100%;width:100%;-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);border-radius:6px}@media screen and (max-width:480px){.orderable-products-list__item .orderable-product{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.orderable-products-list__item .orderable-product__hero{width:100%;min-width:60px;max-width:95px;border-radius:6px;overflow:hidden}.orderable-products-list__item .orderable-product__content-wrap{-webkit-box-flex:1;-ms-flex:1;flex:1}.orderable-products-list__item .orderable-product__content{padding:0 0 0 24px}.orderable-products-list__item .orderable-product__actions{padding:6px 0 0 24px}.orderable-products-list__item .orderable-product__title{margin:0 0 6px!important}}.orderable-button{display:inline-block;border:2px solid #000;background:0 0;padding:0 24px!important;height:40px;line-height:36px;white-space:nowrap;border-radius:20px;color:#000;text-transform:none;margin:0;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;-webkit-box-shadow:none;box-shadow:none;cursor:pointer}.orderable-button:active,.orderable-button:focus{outline:0}.orderable-button--active,.orderable-button--hover,.orderable-button:active,.orderable-button:focus,.orderable-button:hover{border-color:#000;background:#000;color:#fff;text-decoration:none;-webkit-box-shadow:none;box-shadow:none}.orderable-button--filled,.orderable-button--filled--hover,.orderable-button--filled:hover{background:#000!important;color:#fff}.orderable-button--full{width:100%}.orderable-button--loading{position:relative;padding-right:48px!important}.orderable-button--loading:after{content:'';display:block;width:16px;height:16px;position:absolute;top:10px;right:22px;background:0 0;-webkit-box-sizing:border-box;box-sizing:border-box;border-top:2px solid #000;border-left:2px solid #000;border-right:2px solid transparent;border-bottom:2px solid transparent;border-radius:100%;-webkit-animation:spin .6s ease-out infinite;animation:spin .6s ease-out infinite}.orderable-button--filled .orderable-button--loading:after,.orderable-button--loading.orderable-button--hover:after,.orderable-button--loading:active:after,.orderable-button--loading:focus:after,.orderable-button--loading:hover:after{border-top-color:#fff;border-left-color:#fff}.orderable-button.orderable-button--out-of-stock,.orderable-button.orderable-button--out-of-stock.orderable-button--hover,.orderable-button.orderable-button--out-of-stock:active,.orderable-button.orderable-button--out-of-stock:focus,.orderable-button.orderable-button--out-of-stock:hover{cursor:not-allowed;border-color:#c7d4db;color:#a8bdc7;background:0 0!important}.orderable--button-style-square .orderable-button{border-radius:0}.orderable-button--icon{padding:10px!important;width:44px;height:44px;line-height:24px;border:none;background:0 0!important}body .orderable-button--icon:active,body .orderable-button--icon:focus,body .orderable-button--icon:hover{background:0 0!important;opacity:.6}.orderable-button--icon svg{width:24px;height:24px;border-radius:12px;overflow:hidden;-webkit-transition:opacity 250ms ease-in-out;transition:opacity 250ms ease-in-out}.orderable-button--icon.orderable-button--loading:after{display:none}.orderable-tabs{margin:0 0 24px;position:relative}.orderable-tabs__list{margin:0 1px 0 0!important;padding:0!important;list-style:none;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;overflow-x:auto;overflow-y:hidden;overflow:-moz-scrollbars-none;scrollbar-base-color:transparent;-webkit-overflow-scrolling:touch}.orderable-tabs__list::-webkit-scrollbar{display:none}.orderable-tabs__item{display:inline-block;margin:0 10px 0 0;padding:0}.orderable-tabs__item:last-child{margin-right:0}@media screen and (min-width:620px){.orderable-main--sections-side_tabs .orderable-tabs__list{-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;height:auto}.orderable-main--sections-side_tabs .orderable-tabs__item{margin:0 0 12px;display:block}.orderable-main--sections-side_tabs .orderable-tabs__item:last-child{margin:0}}a.orderable-tabs__link{text-decoration:none!important;display:inline-block;padding:0 24px;white-space:nowrap;line-height:40px;color:#405763;font-weight:400;border-radius:20px;-webkit-transition:all 150ms ease-out;transition:all 150ms ease-out;background:#ecf1f3}a.orderable-tabs__link:active,a.orderable-tabs__link:focus{outline:0;-webkit-box-shadow:none;box-shadow:none}a.orderable-tabs__link:active,a.orderable-tabs__link:focus,a.orderable-tabs__link:hover{color:#405763;text-decoration:none;background:#c7d4db}.orderable-tabs__item--active a.orderable-tabs__link{background:#000;color:#fff}.orderable--button-style-square a.orderable-tabs__link{border-radius:0}.orderable-tabs__arrow{background:#fff;-webkit-box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);box-shadow:0 .4px 1.3px rgba(0,0,0,.05),0 1.3px 4.5px rgba(0,0,0,.06),0 6px 16px rgba(0,0,0,.07);border:none;width:40px!important;height:40px!important;padding:0!important;margin:0!important;border-radius:20px!important;position:absolute;top:0;right:0;text-align:center;line-height:40px;display:none}.orderable-tabs__arrow:active,.orderable-tabs__arrow:focus,.orderable-tabs__arrow:hover{background:#fff;outline:0}.orderable-tabs__arrow svg{width:21px;height:24px;margin:8px 0}#orderable-layout-settings-metabox{z-index:1000}#orderable-layout-preview-metabox .inside{padding:24px 24px 0;margin:0}#orderable-layout-preview-metabox .inside h2.orderable-category-heading__title,#orderable-layout-preview-metabox .inside h3{margin:0 0 24px}#orderable-layout-preview-metabox .inside h2{padding:0;font-weight:600;font-size:20px;line-height:1.2}#orderable-layout-preview-metabox .orderable-category-heading__description{margin:-12px 0 24px}#orderable-layout-preview-metabox .orderable-main{max-width:1000px;margin:0}#orderable-layout-preview-metabox .orderable-main--sections-side_tabs .orderable-main__tabs{margin:0 24px 24px 0!important}.orderable-layout-preview-notice{background:#fff;border:1px solid #c3c4c7;border-left-width:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.04);box-shadow:0 1px 1px rgba(0,0,0,.04);margin:0 0 25px;padding:1px 12px;border-left-color:#7031F5}.orderable-layout-preview-notice p{margin:.5em 0;padding:2px} -
orderable/trunk/inc/modules/layouts/assets/admin/js/main.min.js
r2637423 r2709284 1 !function(n,l){"use strict";var c={on_ready:function(){c.builder.init()},helpers:{get_field_type:function(e){return"SELECT"===e.get(0).tagName?"select":e.attr("type")},strip_prefix:function(e){return e.replace("orderable_","")}},builder:{init:function(){c.builder.watch()},watch:function(){n(l.body).on("change","#orderable-layout-settings-metabox input, #orderable-layout-settings-metabox select",function(){var e=n(this).closest("#orderable-layout-settings-metabox"),a={},o=!0;e.find(".form-field > input, .form-field > select").each(function(e,t){var r=n(t),i=c.helpers.get_field_type(r),t="";"string"==typeof(t="checkbox"===i?n(this).is(":checked"):("select"===i&&r.attr("multiple"),r.val()))&&0===t.indexOf("pro_")&&(o=!1,n(l.body).trigger("orderable-pro-modal")),a[c.helpers.strip_prefix(this.name.replace("[]",""))]=t}),o&&c.builder.reload_preview(a)})},reload_preview:function(e){n.post(ajaxurl,{action:"orderable_preview",data:e},function(e){e.success&&n("#orderable-layout-preview-metabox .orderable-main-wrap").html(e.data.shortcode)})}}};n(l).ready(c.on_ready)}(jQuery,document);1 !function(n,l){"use strict";var c={on_ready:function(){c.builder.init()},helpers:{get_field_type:function(e){return"SELECT"===e.get(0).tagName?"select":e.attr("type")},strip_prefix:function(e){return e.replace("orderable_","")}},builder:{init:function(){c.builder.watch()},watch:function(){n(l.body).on("change","#orderable-layout-settings-metabox input, #orderable-layout-settings-metabox select",function(){var e=n(this).closest("#orderable-layout-settings-metabox"),a={},o=!0;e.find(".form-field > input, .form-field > select").each(function(e,t){var t=n(t),r=c.helpers.get_field_type(t),i="";"string"==typeof(i="checkbox"===r?n(this).is(":checked"):("select"===r&&t.attr("multiple"),t.val()))&&0===i.indexOf("pro_")&&(o=!1,n(l.body).trigger("orderable-pro-modal")),a[c.helpers.strip_prefix(this.name.replace("[]",""))]=i}),o&&c.builder.reload_preview(a)})},reload_preview:function(e){n.post(ajaxurl,{action:"orderable_preview",data:e},function(e){e.success&&n("#orderable-layout-preview-metabox .orderable-main-wrap").html(e.data.shortcode)})}}};n(l).ready(c.on_ready)}(jQuery,document); -
orderable/trunk/inc/modules/layouts/class-layouts.php
r2637423 r2709284 96 96 ); 97 97 98 $labels['all_items'] = __( ' Layout Builder', 'orderable' );98 $labels['all_items'] = __( 'Product Layouts', 'orderable' ); 99 99 100 100 $args = array( … … 183 183 184 184 $layout_settings = apply_filters( 'orderable_layout_settings_save_data', array( 185 'categories' => (array) filter_input( INPUT_POST, 'orderable_categories', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ),186 'layout' => filter_input( INPUT_POST, 'orderable_layout', FILTER_SANITIZE_STRING ),187 'images' => 'yes' === filter_input( INPUT_POST, 'orderable_images', FILTER_SANITIZE_STRING ),188 'card_click able' => 'yes' === filter_input( INPUT_POST, 'orderable_card_clickable', FILTER_SANITIZE_STRING ),185 'categories' => (array) filter_input( INPUT_POST, 'orderable_categories', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY ), 186 'layout' => filter_input( INPUT_POST, 'orderable_layout', FILTER_SANITIZE_STRING ), 187 'images' => 'yes' === filter_input( INPUT_POST, 'orderable_images', FILTER_SANITIZE_STRING ), 188 'card_click' => filter_input( INPUT_POST, 'orderable_card_click', FILTER_SANITIZE_STRING ), 189 189 ) ); 190 190 … … 236 236 <div class="orderable-main-wrap"> 237 237 <?php 238 echo do_shortcode( sprintf( '[orderable id="%d"]', $post->ID ) );238 echo do_shortcode( sprintf( '[orderable id="%d"]', $post->ID ) ); 239 239 ?> 240 240 </div> … … 271 271 $defaults = self::get_layout_defaults(); 272 272 273 $args = wp_parse_args( $args, $defaults ); 274 $args['images'] = (boolean) json_decode( strtolower( $args['images'] ) ); 275 $args['card_clickable'] = (boolean) json_decode( strtolower( $args['card_clickable'] ) ); 273 $args = wp_parse_args( $args, $defaults ); 274 $args['images'] = (boolean) json_decode( strtolower( $args['images'] ) ); 276 275 277 276 if ( ! is_null( $args['id'] ) ) { … … 308 307 * @param array $categories Categories. 309 308 * @param array $args Layout Settings. 309 * 310 310 * @return array 311 311 */ … … 314 314 * Exclude Sections for Unique Categories. 315 315 * 316 * @param array $exclude_sections The Excluded sections.317 * @param array $categories The Unfiltered Categories.318 * @param array $args Layout Settings.316 * @param array $exclude_sections The Excluded sections. 317 * @param array $categories The Unfiltered Categories. 318 * @param array $args Layout Settings. 319 319 * 320 320 * @return array … … 322 322 $exclude_sections = apply_filters( 'orderable_exclude_sections_for_unique_categories', array( 'side_tabs', 'top_tabs' ), $categories, $args ); 323 323 324 if ( i n_array( $args['sections'], $exclude_sections) ) {324 if ( isset( $args['sections'] ) && in_array( $args['sections'], $exclude_sections, true ) ) { 325 325 $unique_categories = $categories; 326 326 } else { … … 404 404 */ 405 405 public static function get_layout_defaults( $layout_id = null ) { 406 return apply_filters( 'orderable_layout_defaults', array( 407 'id' => $layout_id, 408 'categories' => array(), 409 'layout' => 'grid', 410 'images' => true, 411 'card_clickable' => false, 412 ), $layout_id ); 406 return apply_filters( 407 'orderable_layout_defaults', 408 array( 409 'id' => $layout_id, 410 'categories' => array(), 411 'layout' => 'grid', 412 'images' => true, 413 'card_click' => '', 414 ), 415 $layout_id 416 ); 413 417 } 414 418 … … 486 490 487 491 $notices[] = array( 488 'name' => 'layout_builder',489 'title' => __( 'What is the Orderable Layout Builder?', 'orderable' ),492 'name' => 'layout_builder', 493 'title' => __( 'What are Product Layouts?', 'orderable' ), 490 494 'description' => __( 'This is where you can create product layouts and customize their settings. Save your layouts here and reuse them later using the block editor, shortcode (great for page builders), or PHP snippet.', 'orderable' ), 491 495 ); … … 503 507 public static function get_product_card_classes( $args = array() ) { 504 508 $class = array( 505 'orderable-product' 509 'orderable-product', 506 510 ); 507 511 … … 510 514 } 511 515 512 if ( ! empty( $args['card_click able'] ) ) {513 $class[] = 'orderable-product-- clickable';516 if ( ! empty( $args['card_click'] ) ) { 517 $class[] = 'orderable-product--' . $args['card_click']; 514 518 } 515 519 -
orderable/trunk/inc/modules/layouts/templates/admin/layout-settings-metabox.php
r2575142 r2709284 92 92 <label for="clickable_card"><?php _e( 'Clickable Card', 'orderable' ); ?></label> 93 93 </h3> 94 <p><?php _e( ' When enabled, the whole product card is clickable, instead of just the button.', 'orderable' ); ?></p>94 <p><?php _e( 'Choose what happens when you click the product card.', 'orderable' ); ?></p> 95 95 </div> 96 96 <div class="orderable-fields-row__body-row-right"> 97 97 <?php 98 // Card Clickable.99 woocommerce_wp_ checkbox(98 // Layout. 99 woocommerce_wp_select( 100 100 array( 101 'id' => 'orderable_card_clickable', 102 'label' => '', 103 'value' => wc_bool_to_string( $layout_settings['card_clickable'] ), 101 'id' => 'orderable_card_click', 102 'label' => '', 103 'options' => array( 104 '' => __( 'Nothing', 'orderable' ), 105 'add-to-cart' => __( 'Add to Cart', 'orderable' ), 106 'view-product' => __( 'Quick View Product', 'orderable' ), 107 ), 108 'value' => esc_attr( $layout_settings['card_click'] ), 104 109 ) 105 110 ); -
orderable/trunk/inc/modules/layouts/templates/product.php
r2575142 r2709284 14 14 $class = Orderable_Layouts::get_product_card_classes( $args ); ?> 15 15 16 <div class="<?php echo esc_attr( implode( ' ', $class ) ); ?>"> 16 <div class="<?php echo esc_attr( implode( ' ', $class ) ); ?>" 17 <?php if ( ! empty( $args['card_click'] ) ) { ?> 18 data-orderable-trigger="<?php echo esc_attr( $args['card_click'] ); ?>" 19 data-orderable-product-id="<?php echo esc_attr( $product->is_type( 'variation' ) ? $product->get_parent_id() : $product->get_id() ); ?>" 20 data-orderable-product-type="<?php echo esc_attr( $product->get_type() ); ?>" 21 data-orderable-variation-id="<?php echo esc_attr( $product->is_type( 'variation' ) ? $product->get_id() : 0 ); ?>" 22 data-orderable-variation-attributes="" 23 <?php } ?> 24 > 17 25 <?php include ORDERABLE_TEMPLATES_PATH . 'product/hero.php'; ?> 18 26 <div class="orderable-product__content-wrap"> -
orderable/trunk/inc/modules/live-view/class-live-view.php
r2604252 r2709284 24 24 add_action( 'admin_menu', array( __CLASS__, 'add_settings_page' ) ); 25 25 add_action( 'init', array( __CLASS__, 'create_order_manager_role' ) ); 26 add_action( 'current_screen', array( __CLASS__, 'restrict_order_manager_role_access' ) ); 26 27 } 27 28 … … 119 120 */ 120 121 public static function get_last_order_id() { 121 $orders = wc_get_orders( array( 122 'limit' => 1, 123 ) ); 122 $orders = wc_get_orders( 123 array( 124 'limit' => 1, 125 ) 126 ); 124 127 125 128 if ( empty( $orders ) ) { … … 186 189 if ( ! self::is_live_view() ) { 187 190 return; 188 } ?> 191 } 192 ?> 189 193 <input type="hidden" name="orderable_live_view" value="1" /> 190 194 <?php … … 195 199 */ 196 200 public static function add_settings_page() { 197 add_submenu_page( 'orderable', __( 'Live Order View', 'orderable' ), __( 'Live Order View', 'orderable' ), 'manage_shop_order_terms', 'edit.php?post_type=shop_order&orderable_live_view', '', 1 );201 add_submenu_page( 'orderable', __( 'Live Order View', 'orderable' ), __( 'Live Order View', 'orderable' ), 'manage_shop_order_terms', 'edit.php?post_type=shop_order&orderable_live_view', '', 1 ); 198 202 } 199 203 … … 202 206 */ 203 207 public static function create_order_manager_role() { 204 // Capabilities for order manager role. 208 // Capabilities for order manager role. 205 209 $capabilities = array( 210 'edit_posts' => true, 206 211 'view_admin_dashboard' => true, 207 212 'read' => true, … … 225 230 ); 226 231 227 if ( ! get_role('order_manager') ) { 228 add_role( __('order_manager', 'orderable'), __('Order Manager', 'orderable'), $capabilities ); 232 $role = get_role( 'order_manager' ); 233 $removed_role = false; 234 235 // Ensure that we remove the legacy role that does not 236 // include the new `edit_posts` capability. 237 if ( $role && ! $role->has_cap( 'edit_posts' ) ) { 238 remove_role( 'order_manager' ); 239 $removed_role = true; 240 } 241 242 if ( ! $role || $removed_role ) { 243 add_role( __( 'order_manager', 'orderable' ), __( 'Order Manager', 'orderable' ), $capabilities ); 244 } 245 } 246 247 /** 248 * Restrict access to parts of the admin dashboard that 249 * the `edit_posts` capability makes available. 250 * 251 * @return void 252 */ 253 public static function restrict_order_manager_role_access() { 254 global $pagenow, $current_screen; 255 256 $userdata = get_userdata( get_current_user_id() ); 257 258 if ( ! in_array( 'order_manager', $userdata->roles, true ) ) { 259 return; 260 } 261 262 // Remove access to menu pages made visible by the `edit_posts` cap. 263 remove_menu_page( 'edit.php' ); 264 remove_menu_page( 'edit-comments.php' ); 265 266 // Redirect back to the list of orders if the user tries to directly 267 // access Add New, All Posts or Comments menu pages. 268 if ( 269 ( 'post-new.php' === $pagenow && 'shop_order' !== $current_screen->id ) || 270 'edit-post' === $current_screen->id || 271 'edit-comments' === $current_screen->id 272 ) { 273 wp_safe_redirect( admin_url( '/edit.php?post_type=shop_order' ) ); 274 exit; 229 275 } 230 276 } -
orderable/trunk/inc/modules/timed-products/class-timed-products.php
r2666071 r2709284 40 40 */ 41 41 public static function timed_products_page() { 42 ?> 43 <div class="wrap"> 44 <h1 class="wp-heading-inline"><?php _e( 'Timed Products', 'orderable' ); ?></h1> 45 <div> 46 <?php echo Orderable_Helpers::get_pro_button(); ?> 47 </div> 48 </div> 49 <?php 42 Orderable_Settings::upgrade_page_content( 'timed-products' ); 50 43 } 51 44 } -
orderable/trunk/inc/modules/timings/class-timings-order.php
r2549156 r2709284 40 40 wp_enqueue_script( 'daterangepicker', ORDERABLE_ASSETS_URL . 'vendor/daterangepicker/daterangepicker.js', array( 'jquery', 'momentjs' ), ORDERABLE_VERSION, true ); 41 41 wp_enqueue_style( 'daterangepicker', ORDERABLE_ASSETS_URL . 'vendor/daterangepicker/daterangepicker.css', array(), ORDERABLE_VERSION ); 42 43 wp_localize_script( 44 'daterangepicker', 45 'orderable_timings_daterangepicker', 46 array( 47 'today' => esc_html__( 'Today', 'orderable' ), 48 'tomorrow' => esc_html__( 'Tomorrow', 'orderable' ), 49 'next_7_days' => esc_html__( 'Next 7 Days', 'orderable' ), 50 'next_30_days' => esc_html__( 'Next 30 Days', 'orderable' ), 51 'custom_range' => esc_html__( 'Custom Range', 'orderable' ), 52 'clear' => esc_html__( 'Clear', 'orderable' ), 53 'apply' => esc_html__( 'Apply', 'orderable' ), 54 ) 55 ); 42 56 } 43 57 … … 64 78 */ 65 79 init: function() { 80 var ranges = {}; 81 ranges[orderable_timings_daterangepicker.today] = [ moment(), moment() ]; 82 ranges[orderable_timings_daterangepicker.tomorrow] = [ moment().add( 1, 'days' ), moment().add( 1, 'days' ) ]; 83 ranges[orderable_timings_daterangepicker.next_7_days] = [ moment(), moment().add( 6, 'days' ) ]; 84 ranges[orderable_timings_daterangepicker.next_30_days] = [ moment(), moment().add( 29, 'days' ) ]; 85 66 86 jQuery( 'input[name="orderable_due_date"]' ).daterangepicker( { 67 87 opens: 'left', … … 70 90 locale: { 71 91 format: 'YYYY/MM/DD', 72 cancelLabel: 'Clear' 92 cancelLabel: orderable_timings_daterangepicker.clear, 93 applyLabel: orderable_timings_daterangepicker.apply, 94 daysOfWeek: [ 95 '<?php esc_html_e( 'Su', 'orderable' ); ?>', 96 '<?php esc_html_e( 'Mo', 'orderable' ); ?>', 97 '<?php esc_html_e( 'Tu', 'orderable' ); ?>', 98 '<?php esc_html_e( 'We', 'orderable' ); ?>', 99 '<?php esc_html_e( 'Th', 'orderable' ); ?>', 100 '<?php esc_html_e( 'Fr', 'orderable' ); ?>', 101 '<?php esc_html_e( 'Sa', 'orderable' ); ?>', 102 ], 73 103 }, 74 ranges: { 75 'Today': [ moment(), moment() ], 76 'Tomorrow': [ moment().add( 1, 'days' ), moment().add( 1, 'days' ) ], 77 'Next 7 Days': [ moment(), moment().add( 6, 'days' ) ], 78 'Next 30 Days': [ moment(), moment().add( 29, 'days' ) ] 79 } 104 ranges: ranges, 80 105 } ); 81 106 }, … … 280 305 $due_date = self::get_filtered_due_date(); 281 306 ?> 282 <input type="text" name="orderable_due_date" value="<?php echo esc_attr( $due_date['formatted'] ); ?>" placeholder="<?php esc_attr_e( 'Filter by due date', ' ' ); ?>" style="min-width: 195px;" />307 <input type="text" name="orderable_due_date" value="<?php echo esc_attr( $due_date['formatted'] ); ?>" placeholder="<?php esc_attr_e( 'Filter by due date', 'orderable' ); ?>" style="min-width: 195px;" /> 283 308 <?php 284 309 } -
orderable/trunk/languages/orderable.pot
r2641784 r2709284 1 # Copyright (C) 202 1orderable1 # Copyright (C) 2022 orderable 2 2 # This file is distributed under the same license as the orderable package. 3 3 msgid "" … … 14 14 "Plural-Forms: nplurals=2; plural=(n != 1);\n" 15 15 16 #: orderable.php:10 516 #: orderable.php:108 17 17 msgid "Orderable requires WooCommerce to be installed and activated." 18 18 msgstr "" 19 19 20 #: orderable.php:1 1820 #: orderable.php:121 21 21 msgid "Orderable Pro needs to be at least v%s for compatibility. Please update the Orderable Pro plugin." 22 22 msgstr "" 23 23 24 #: orderable.php:1 1924 #: orderable.php:122 25 25 msgid "Update now" 26 26 msgstr "" … … 30 30 msgstr "" 31 31 32 #: inc/class-ajax.php:1 2632 #: inc/class-ajax.php:130 33 33 msgid "Sorry, there are no delivery or pickup options available." 34 34 msgstr "" 35 35 36 #: inc/class-ajax.php:13 136 #: inc/class-ajax.php:135 37 37 msgid "pickup" 38 38 msgstr "" 39 39 40 #: inc/class-ajax.php:13 140 #: inc/class-ajax.php:135 41 41 msgid "delivery" 42 42 msgstr "" 43 43 44 #: inc/class-ajax.php:13 444 #: inc/class-ajax.php:138 45 45 msgid "Sorry, there are no %s options available. Please try %s instead." 46 46 msgstr "" 47 47 48 #: inc/class-ajax.php:2 28, inc/class-settings.php:36348 #: inc/class-ajax.php:232, inc/class-settings.php:380 49 49 msgid "Country / State" 50 50 msgstr "" … … 152 152 msgstr "" 153 153 154 #: inc/class-products.php: 295154 #: inc/class-products.php:313 155 155 msgid "Add" 156 156 msgstr "" 157 157 158 #: inc/class-products.php:3 01158 #: inc/class-products.php:318 159 159 msgid "Select" 160 160 msgstr "" 161 161 162 #: inc/class-products.php:3 09162 #: inc/class-products.php:326 163 163 msgid "Out of Stock" 164 164 msgstr "" 165 165 166 #: inc/class-settings.php:80, inc/class-settings.php:97 166 #: inc/class-products.php:657 167 msgid "Description" 168 msgstr "" 169 170 #: inc/class-settings.php:81, inc/class-settings.php:98 167 171 msgid "Settings" 168 172 msgstr "" 169 173 170 #: inc/class-settings.php:9 6174 #: inc/class-settings.php:97 171 175 msgid "Orderable Settings" 172 176 msgstr "" 173 177 174 #: inc/class-settings.php:13 7178 #: inc/class-settings.php:138 175 179 msgid "Dashboard" 176 180 msgstr "" 177 181 178 #: inc/class-settings.php:14 2182 #: inc/class-settings.php:143 179 183 msgid "Style" 180 184 msgstr "" 181 185 182 #: inc/class-settings.php:150 186 #: inc/class-settings.php:151 187 msgid "Getting Started" 188 msgstr "" 189 190 #: inc/class-settings.php:152 191 msgid "Below you will find a playlist of useful \"getting started\" videos for Orderable. If you need any help getting things set up, please <a href=\"%s\" target=\"_blank\">reach out to our support team</a>." 192 msgstr "" 193 194 #: inc/class-settings.php:167 183 195 msgid "General" 184 196 msgstr "" 185 197 186 #: inc/class-settings.php:1 56198 #: inc/class-settings.php:173 187 199 msgid "Brand Color" 188 200 msgstr "" 189 201 190 #: inc/class-settings.php:1 57202 #: inc/class-settings.php:174 191 203 msgid "Select an accent color to be used for buttons and other elements." 192 204 msgstr "" 193 205 194 #: inc/class-settings.php:1 63206 #: inc/class-settings.php:180 195 207 msgid "Button Style" 196 208 msgstr "" 197 209 198 #: inc/class-settings.php:1 64210 #: inc/class-settings.php:181 199 211 msgid "Choose a button style which suits your theme." 200 212 msgstr "" 201 213 202 #: inc/class-settings.php:1 68214 #: inc/class-settings.php:185 203 215 msgid "Rounded" 204 216 msgstr "" 205 217 206 #: inc/class-settings.php:1 69218 #: inc/class-settings.php:186 207 219 msgid "Square" 208 220 msgstr "" 209 221 210 #: inc/class-settings.php:1 78222 #: inc/class-settings.php:195 211 223 msgid "Product Cards" 212 224 msgstr "" 213 225 214 #: inc/class-settings.php: 184226 #: inc/class-settings.php:201 215 227 msgid "Product Title Size (px)" 216 228 msgstr "" 217 229 218 #: inc/class-settings.php: 185230 #: inc/class-settings.php:202 219 231 msgid "Set the product title font size in pixels." 220 232 msgstr "" 221 233 222 #: inc/class-settings.php: 191234 #: inc/class-settings.php:208 223 235 msgid "Product Price Size (px)" 224 236 msgstr "" 225 237 226 #: inc/class-settings.php: 192238 #: inc/class-settings.php:209 227 239 msgid "Set the product price font size in pixels." 228 240 msgstr "" 229 241 230 #: inc/class-settings.php:3 23242 #: inc/class-settings.php:340 231 243 msgid "Installing..." 232 244 msgstr "" 233 245 234 #: inc/class-settings.php:3 25246 #: inc/class-settings.php:342 235 247 msgid "WooCommerce" 236 248 msgstr "" 237 249 238 #: inc/class-settings.php:3 38250 #: inc/class-settings.php:355 239 251 msgid "Business Name" 240 252 msgstr "" 241 253 242 #: inc/class-settings.php:3 45254 #: inc/class-settings.php:362 243 255 msgid "Address line 1" 244 256 msgstr "" 245 257 246 #: inc/class-settings.php:3 51258 #: inc/class-settings.php:368 247 259 msgid "Address line 2" 248 260 msgstr "" 249 261 250 #: inc/class-settings.php:3 57262 #: inc/class-settings.php:374 251 263 msgid "City" 252 264 msgstr "" 253 265 254 #: inc/class-settings.php:3 70266 #: inc/class-settings.php:387 255 267 msgid "Postcode / ZIP" 256 268 msgstr "" 257 269 258 #: inc/class-settings.php:3 76270 #: inc/class-settings.php:393 259 271 msgid "Business Email" 260 272 msgstr "" 261 273 262 #: inc/class-settings.php: 384274 #: inc/class-settings.php:401 263 275 msgid "Please keep me up to date via email on new Orderable training and features" 264 276 msgstr "" 265 277 266 #: inc/class-settings.php: 397278 #: inc/class-settings.php:414 267 279 msgid "Which services do you offer?" 268 280 msgstr "" 269 281 270 #: inc/class-settings.php:4 01, inc/modules/services/class-services-order.php:34, inc/modules/services/class-services.php:192, inc/modules/timings/class-timings-settings.php:135, inc/modules/timings/class-timings-settings.php:287, inc/modules/timings/class-timings-settings.php:454282 #: inc/class-settings.php:418, inc/modules/services/class-services-order.php:34, inc/modules/services/class-services.php:192, inc/modules/timings/class-timings-settings.php:135, inc/modules/timings/class-timings-settings.php:286, inc/modules/timings/class-timings-settings.php:453 271 283 msgid "Delivery" 272 284 msgstr "" 273 285 274 #: inc/class-settings.php:4 02, inc/modules/services/class-services-order.php:35, inc/modules/services/class-services.php:191, inc/modules/timings/class-timings-settings.php:136, inc/modules/timings/class-timings-settings.php:292, inc/modules/timings/class-timings-settings.php:460286 #: inc/class-settings.php:419, inc/modules/services/class-services-order.php:35, inc/modules/services/class-services.php:191, inc/modules/timings/class-timings-settings.php:136, inc/modules/timings/class-timings-settings.php:291, inc/modules/timings/class-timings-settings.php:459 275 287 msgid "Pickup" 276 288 msgstr "" 277 289 278 #: inc/class-settings.php:4 07290 #: inc/class-settings.php:424 279 291 msgid "Which days of the week are you open?" 280 292 msgstr "" 281 293 282 #: inc/class-settings.php:4 11, inc/modules/timings/class-timings.php:59294 #: inc/class-settings.php:428, inc/modules/timings/class-timings.php:59 283 295 msgid "Monday" 284 296 msgstr "" 285 297 286 #: inc/class-settings.php:4 12, inc/modules/timings/class-timings.php:60298 #: inc/class-settings.php:429, inc/modules/timings/class-timings.php:60 287 299 msgid "Tuesday" 288 300 msgstr "" 289 301 290 #: inc/class-settings.php:4 13, inc/modules/timings/class-timings.php:61302 #: inc/class-settings.php:430, inc/modules/timings/class-timings.php:61 291 303 msgid "Wednesday" 292 304 msgstr "" 293 305 294 #: inc/class-settings.php:4 14, inc/modules/timings/class-timings.php:62306 #: inc/class-settings.php:431, inc/modules/timings/class-timings.php:62 295 307 msgid "Thursday" 296 308 msgstr "" 297 309 298 #: inc/class-settings.php:4 15, inc/modules/timings/class-timings.php:63310 #: inc/class-settings.php:432, inc/modules/timings/class-timings.php:63 299 311 msgid "Friday" 300 312 msgstr "" 301 313 302 #: inc/class-settings.php:4 16, inc/modules/timings/class-timings.php:64314 #: inc/class-settings.php:433, inc/modules/timings/class-timings.php:64 303 315 msgid "Saturday" 304 316 msgstr "" 305 317 306 #: inc/class-settings.php:4 17, inc/modules/timings/class-timings.php:58318 #: inc/class-settings.php:434, inc/modules/timings/class-timings.php:58 307 319 msgid "Sunday" 308 320 msgstr "" 309 321 310 #: inc/class-settings.php:4 22322 #: inc/class-settings.php:439 311 323 msgid "What are your normal opening hours?" 312 324 msgstr "" 313 325 314 #: inc/class-settings.php:5 49326 #: inc/class-settings.php:570 315 327 msgid "Local" 316 328 msgstr "" 317 329 318 #: inc/class-settings.php:6 64330 #: inc/class-settings.php:685 319 331 msgid "From:" 320 332 msgstr "" 321 333 322 #: inc/class-settings.php:6 77334 #: inc/class-settings.php:698 323 335 msgid "To:" 324 336 msgstr "" 325 337 326 #: inc/class-settings.php:7 00, inc/class-settings.php:720338 #: inc/class-settings.php:721, inc/class-settings.php:741 327 339 msgid "Visibility" 328 340 msgstr "" 329 341 330 #: inc/class-settings.php:7 02, inc/class-settings.php:724342 #: inc/class-settings.php:723, inc/class-settings.php:745 331 343 msgid "Default" 332 344 msgstr "" 333 345 334 #: inc/class-settings.php:7 03, inc/class-settings.php:725346 #: inc/class-settings.php:724, inc/class-settings.php:746 335 347 msgid "Hidden" 336 348 msgstr "" 337 349 338 #: inc/class-settings.php:7 05, inc/class-settings.php:727350 #: inc/class-settings.php:726, inc/class-settings.php:748 339 351 msgid "Choose whether to hide (on the frontend) this category archive and all single product pages within this category. Hiding them is recommended if using this category in the Orderable menu shortcode." 340 352 msgstr "" 341 353 342 #: inc/class-settings.php:8 58354 #: inc/class-settings.php:882 343 355 msgid "Get Help" 344 356 msgstr "" 345 357 346 #: inc/class-settings.php:8 59358 #: inc/class-settings.php:886 347 359 msgid "Request Feature" 348 360 msgstr "" 349 361 350 #: inc/class-settings.php:8 60362 #: inc/class-settings.php:890 351 363 msgid "View Docs" 352 364 msgstr "" 353 365 354 #: inc/class-settings.php: 884366 #: inc/class-settings.php:914 355 367 msgid "Set Up Your Store" 356 368 msgstr "" 357 369 358 #: inc/class-settings.php: 886370 #: inc/class-settings.php:916 359 371 msgid "Use the Store Settings tab to configure your store's opening hours, delivery/pickup schedule, and holidays." 360 372 msgstr "" 361 373 362 #: inc/class-settings.php:9 00, inc/modules/layouts/class-layouts.php:98363 msgid " Layout Builder"364 msgstr "" 365 366 #: inc/class-settings.php:9 02374 #: inc/class-settings.php:930, inc/modules/layouts/class-layouts.php:93, inc/modules/layouts/class-layouts.php:98 375 msgid "Product Layouts" 376 msgstr "" 377 378 #: inc/class-settings.php:932 367 379 msgid "Use the Layout Builder to create a product list based on category. Embed your layout using the shortcode or block." 368 380 msgstr "" 369 381 370 #: inc/class-settings.php:9 16, inc/modules/live-view/class-live-view.php:197, inc/modules/live-view/class-live-view.php:197382 #: inc/class-settings.php:946, inc/modules/live-view/class-live-view.php:201, inc/modules/live-view/class-live-view.php:201 371 383 msgid "Live Order View" 372 384 msgstr "" 373 385 374 #: inc/class-settings.php:9 18386 #: inc/class-settings.php:948 375 387 msgid "Use the Live Order View to get notified and manage orders in real time." 376 388 msgstr "" 377 389 378 #: inc/class-settings.php:9 31, inc/modules/addons/class-addons.php:35, inc/modules/addons/class-addons.php:44390 #: inc/class-settings.php:961, inc/class-settings.php:1127, inc/modules/addons/class-addons.php:35 379 391 msgid "Product Addons" 380 392 msgstr "" 381 393 382 #: inc/class-settings.php:9 33394 #: inc/class-settings.php:963 383 395 msgid "Create product options which can be conditionally applied to the products in your store." 384 396 msgstr "" 385 397 386 #: inc/class-settings.php: 977, inc/modules/drawer/templates/drawer.php:12398 #: inc/class-settings.php:1007, inc/modules/drawer/templates/drawer.php:12 387 399 msgid "Close" 388 400 msgstr "" 389 401 390 #: inc/class-settings.php: 978402 #: inc/class-settings.php:1008 391 403 msgid "Next" 392 404 msgstr "" 393 405 394 #: inc/class-settings.php: 979406 #: inc/class-settings.php:1009 395 407 msgid "Skip" 408 msgstr "" 409 410 #: inc/class-settings.php:1124 411 msgid "Upgrade to Orderable Pro" 412 msgstr "" 413 414 #: inc/class-settings.php:1124 415 msgid "to access this feature, plus many more revenue boosting features." 416 msgstr "" 417 418 #: inc/class-settings.php:1127 419 msgid "Add options to your products like toppings, allergy information, size, etc." 420 msgstr "" 421 422 #: inc/class-settings.php:1128 423 msgid "Cart Bumps" 424 msgstr "" 425 426 #: inc/class-settings.php:1128 427 msgid "Increase sales by offering related products right in the side cart." 428 msgstr "" 429 430 #: inc/class-settings.php:1129, inc/modules/timings/class-timings-settings.php:380 431 msgid "Time Slots" 432 msgstr "" 433 434 #: inc/class-settings.php:1129 435 msgid "Improve customer satisfaction by offering specific time slots for their order." 436 msgstr "" 437 438 #: inc/class-settings.php:1130 439 msgid "Custom Checkout" 440 msgstr "" 441 442 #: inc/class-settings.php:1130 443 msgid "Use our custom checkout experience to drive conversions at the most important step of your online store." 444 msgstr "" 445 446 #: inc/class-settings.php:1131, inc/class-settings.php:1134 447 msgid "Checkout Tipping" 448 msgstr "" 449 450 #: inc/class-settings.php:1131, inc/class-settings.php:1134 451 msgid "Make it easy for your customers to include a tip with their order." 452 msgstr "" 453 454 #: inc/class-settings.php:1132, inc/modules/timed-products/class-timed-products.php:35, inc/modules/timed-products/class-timed-products.php:35 455 msgid "Timed Products" 456 msgstr "" 457 458 #: inc/class-settings.php:1132 459 msgid "Show/hide products in your store based on time/date conditions." 460 msgstr "" 461 462 #: inc/class-settings.php:1133 463 msgid "Custom Order Statuses" 464 msgstr "" 465 466 #: inc/class-settings.php:1133 467 msgid "Add and modify order statuses to improve the backend flow of your store. Create custom notifications for each status." 468 msgstr "" 469 470 #: inc/class-settings.php:1137 471 msgid "Upgrade Now" 396 472 msgstr "" 397 473 … … 412 488 msgstr "" 413 489 414 #: inc/modules/addons/class-addons.php:35 490 #: inc/modules/addons/class-addons.php:35, inc/modules/custom-order-status/class-custom-order-status.php:35, inc/modules/timed-products/class-timed-products.php:35 415 491 msgid "Pro" 416 492 msgstr "" 417 493 418 #: inc/modules/drawer/class-drawer-settings.php:58 494 #: inc/modules/checkout/class-checkout.php:38 495 msgid "Checkout Settings" 496 msgstr "" 497 498 #: inc/modules/checkout/class-checkout.php:44 499 msgid "Enable Custom Checkout" 500 msgstr "" 501 502 #: inc/modules/checkout/class-checkout.php:45 503 msgid "When enabled, your theme's checkout will be replaced by Orderable's optimized checkout experience." 504 msgstr "" 505 506 #: inc/modules/custom-order-status/class-custom-order-status.php:35, inc/modules/custom-order-status/class-custom-order-status.php:35 507 msgid "Order Statuses" 508 msgstr "" 509 510 #. translators: %s Product title. 511 #: inc/modules/drawer/class-drawer-ajax.php:49 512 msgid "You can only have 1 %s in your cart." 513 msgstr "" 514 515 #: inc/modules/drawer/class-drawer-settings.php:61 516 msgid "Side Drawer" 517 msgstr "" 518 519 #: inc/modules/drawer/class-drawer-settings.php:68 419 520 msgid "Mini Cart Settings" 420 521 msgstr "" 421 522 422 #: inc/modules/drawer/class-drawer-settings.php: 64523 #: inc/modules/drawer/class-drawer-settings.php:74 423 524 msgid "Cart Icon Position" 424 525 msgstr "" 425 526 426 #: inc/modules/drawer/class-drawer-settings.php: 65527 #: inc/modules/drawer/class-drawer-settings.php:75 427 528 msgid "Set the position of the mini cart icon when the cart is not empty. Choose \"None\" to disable it." 428 529 msgstr "" 429 530 430 #: inc/modules/drawer/class-drawer-settings.php: 68531 #: inc/modules/drawer/class-drawer-settings.php:78, inc/modules/drawer/class-drawer-settings.php:121 431 532 msgid "None" 432 533 msgstr "" 433 534 434 #: inc/modules/drawer/class-drawer-settings.php: 69535 #: inc/modules/drawer/class-drawer-settings.php:79 435 536 msgid "Bottom Right" 436 537 msgstr "" 437 538 438 #: inc/modules/drawer/class-drawer-settings.php: 70539 #: inc/modules/drawer/class-drawer-settings.php:80 439 540 msgid "Bottom Left" 440 541 msgstr "" 441 542 442 #: inc/modules/drawer/class-drawer-settings.php: 71543 #: inc/modules/drawer/class-drawer-settings.php:81 443 544 msgid "Top Left" 444 545 msgstr "" 445 546 446 #: inc/modules/drawer/class-drawer-settings.php: 72547 #: inc/modules/drawer/class-drawer-settings.php:82 447 548 msgid "Top Right" 448 549 msgstr "" 449 550 450 #: inc/modules/drawer/class-drawer-settings.php: 78551 #: inc/modules/drawer/class-drawer-settings.php:88 451 552 msgid "Fine-Tune Position" 452 553 msgstr "" 453 554 454 #: inc/modules/drawer/class-drawer-settings.php: 79555 #: inc/modules/drawer/class-drawer-settings.php:89 455 556 msgid "Fine-tune the position of the mini cart icon in pixels. These settings will push the cart icon away from the respective side." 456 557 msgstr "" 457 558 559 #: inc/modules/drawer/class-drawer-settings.php:100 560 msgid "Quickview Settings" 561 msgstr "" 562 563 #: inc/modules/drawer/class-drawer-settings.php:101 564 msgid "Settings for when products are displayed in the Orderable drawer." 565 msgstr "" 566 567 #: inc/modules/drawer/class-drawer-settings.php:106 568 msgid "Accordion Position" 569 msgstr "" 570 571 #: inc/modules/drawer/class-drawer-settings.php:107 572 msgid "Where should the product information accordion be displayed in the side drawer." 573 msgstr "" 574 575 #: inc/modules/drawer/class-drawer-settings.php:110 576 msgid "Before Product Options" 577 msgstr "" 578 579 #: inc/modules/drawer/class-drawer-settings.php:111 580 msgid "After Product Options" 581 msgstr "" 582 583 #: inc/modules/drawer/class-drawer-settings.php:117 584 msgid "Product Description" 585 msgstr "" 586 458 587 #: inc/modules/drawer/class-drawer-settings.php:118 588 msgid "Choose which product description to display in the side drawer." 589 msgstr "" 590 591 #: inc/modules/drawer/class-drawer-settings.php:122 592 msgid "Short Description" 593 msgstr "" 594 595 #: inc/modules/drawer/class-drawer-settings.php:123 596 msgid "Full Description" 597 msgstr "" 598 599 #: inc/modules/drawer/class-drawer-settings.php:161 459 600 msgid "Top (px)" 460 601 msgstr "" 461 602 462 #: inc/modules/drawer/class-drawer-settings.php:1 24603 #: inc/modules/drawer/class-drawer-settings.php:167 463 604 msgid "Bottom (px)" 464 605 msgstr "" 465 606 466 #: inc/modules/drawer/class-drawer-settings.php:1 30607 #: inc/modules/drawer/class-drawer-settings.php:173 467 608 msgid "Right (px)" 468 609 msgstr "" 469 610 470 #: inc/modules/drawer/class-drawer-settings.php:1 36611 #: inc/modules/drawer/class-drawer-settings.php:179 471 612 msgid "Left (px)" 472 msgstr ""473 474 #: inc/modules/layouts/class-layouts.php:93475 msgid "Product Layouts"476 613 msgstr "" 477 614 … … 500 637 msgstr "" 501 638 502 #: inc/modules/layouts/class-layouts.php:4 89503 msgid "What is the Orderable Layout Builder?"504 msgstr "" 505 506 #: inc/modules/layouts/class-layouts.php:49 0639 #: inc/modules/layouts/class-layouts.php:493 640 msgid "What are Product Layouts?" 641 msgstr "" 642 643 #: inc/modules/layouts/class-layouts.php:494 507 644 msgid "This is where you can create product layouts and customize their settings. Save your layouts here and reuse them later using the block editor, shortcode (great for page builders), or PHP snippet." 508 645 msgstr "" 509 646 510 #: inc/modules/live-view/class-live-view.php:1 59647 #: inc/modules/live-view/class-live-view.php:162 511 648 msgid "Enable Live View" 512 649 msgstr "" 513 650 514 #: inc/modules/live-view/class-live-view.php:16 4651 #: inc/modules/live-view/class-live-view.php:167 515 652 msgid "Exit Live View" 516 653 msgstr "" 517 654 518 #: inc/modules/live-view/class-live-view.php:16 5655 #: inc/modules/live-view/class-live-view.php:168 519 656 msgid "Mute" 520 657 msgstr "" 521 658 522 #: inc/modules/live-view/class-live-view.php:16 5659 #: inc/modules/live-view/class-live-view.php:168 523 660 msgid "Unmute" 524 661 msgstr "" 525 662 526 #: inc/modules/live-view/class-live-view.php:2 28663 #: inc/modules/live-view/class-live-view.php:243 527 664 msgid "order_manager" 528 665 msgstr "" 529 666 530 #: inc/modules/live-view/class-live-view.php:2 28667 #: inc/modules/live-view/class-live-view.php:243 531 668 msgid "Order Manager" 532 669 msgstr "" … … 582 719 msgstr "" 583 720 584 #: inc/modules/timings/class-timings-order.php:160, inc/modules/timings/class-timings-order.php:198 721 #: inc/modules/timings/class-timings-order.php:47, inc/modules/timings/class-timings.php:299 722 msgid "Today" 723 msgstr "" 724 725 #: inc/modules/timings/class-timings-order.php:48, inc/modules/timings/class-timings.php:301 726 msgid "Tomorrow" 727 msgstr "" 728 729 #: inc/modules/timings/class-timings-order.php:49 730 msgid "Next 7 Days" 731 msgstr "" 732 733 #: inc/modules/timings/class-timings-order.php:50 734 msgid "Next 30 Days" 735 msgstr "" 736 737 #: inc/modules/timings/class-timings-order.php:51 738 msgid "Custom Range" 739 msgstr "" 740 741 #: inc/modules/timings/class-timings-order.php:52 742 msgid "Clear" 743 msgstr "" 744 745 #: inc/modules/timings/class-timings-order.php:53 746 msgid "Apply" 747 msgstr "" 748 749 #: inc/modules/timings/class-timings-order.php:95 750 msgid "Su" 751 msgstr "" 752 753 #: inc/modules/timings/class-timings-order.php:96 754 msgid "Mo" 755 msgstr "" 756 757 #: inc/modules/timings/class-timings-order.php:97 758 msgid "Tu" 759 msgstr "" 760 761 #: inc/modules/timings/class-timings-order.php:98 762 msgid "We" 763 msgstr "" 764 765 #: inc/modules/timings/class-timings-order.php:99 766 msgid "Th" 767 msgstr "" 768 769 #: inc/modules/timings/class-timings-order.php:100 770 msgid "Fr" 771 msgstr "" 772 773 #: inc/modules/timings/class-timings-order.php:101 774 msgid "Sa" 775 msgstr "" 776 777 #: inc/modules/timings/class-timings-order.php:185, inc/modules/timings/class-timings-order.php:223 585 778 msgid "Date" 586 779 msgstr "" 587 780 588 #: inc/modules/timings/class-timings-order.php:1 64, inc/modules/timings/class-timings-order.php:202781 #: inc/modules/timings/class-timings-order.php:189, inc/modules/timings/class-timings-order.php:227 589 782 msgid "Time" 590 783 msgstr "" 591 784 592 #: inc/modules/timings/class-timings-order.php:1 68785 #: inc/modules/timings/class-timings-order.php:193 593 786 msgid "Timestamp" 594 787 msgstr "" 595 788 596 #: inc/modules/timings/class-timings-order.php: 181789 #: inc/modules/timings/class-timings-order.php:206 597 790 msgid "Due Date/Time" 791 msgstr "" 792 793 #: inc/modules/timings/class-timings-order.php:307 794 msgid "Filter by due date" 598 795 msgstr "" 599 796 … … 618 815 msgstr "" 619 816 620 #: inc/modules/timings/class-timings-settings.php:130, inc/modules/timings/class-timings-settings.php:44 8817 #: inc/modules/timings/class-timings-settings.php:130, inc/modules/timings/class-timings-settings.php:447 621 818 msgid "Services" 622 819 msgstr "" … … 646 843 msgstr "" 647 844 648 #: inc/modules/timings/class-timings-settings.php:15 5649 msgid " Allow \"ASAP\" as an option when choosing delivery time"845 #: inc/modules/timings/class-timings-settings.php:159 846 msgid "Lead Time" 650 847 msgstr "" 651 848 652 849 #: inc/modules/timings/class-timings-settings.php:160 653 msgid "Lead Time"654 msgstr ""655 656 #: inc/modules/timings/class-timings-settings.php:161657 850 msgid "How many days do you need to prepare the order? Leave blank or \"0\" for same day." 658 851 msgstr "" 659 852 853 #: inc/modules/timings/class-timings-settings.php:166 854 msgid "Preorder Days" 855 msgstr "" 856 660 857 #: inc/modules/timings/class-timings-settings.php:167 661 msgid "Preorder Days"662 msgstr ""663 664 #: inc/modules/timings/class-timings-settings.php:168665 858 msgid "For how many days after the lead time will you accept orders?" 666 859 msgstr "" 667 860 861 #: inc/modules/timings/class-timings-settings.php:173 862 msgid "Holidays" 863 msgstr "" 864 668 865 #: inc/modules/timings/class-timings-settings.php:174 669 msgid "Holidays"670 msgstr ""671 672 #: inc/modules/timings/class-timings-settings.php:175673 866 msgid "Days when your store is closed." 674 867 msgstr "" 675 868 676 #: inc/modules/timings/class-timings-settings.php:22 1, inc/modules/timings/class-timings-settings.php:243869 #: inc/modules/timings/class-timings-settings.php:220, inc/modules/timings/class-timings-settings.php:242 677 870 msgid "Open Hours (From)" 678 871 msgstr "" 679 872 680 #: inc/modules/timings/class-timings-settings.php:22 2, inc/modules/timings/class-timings-settings.php:247873 #: inc/modules/timings/class-timings-settings.php:221, inc/modules/timings/class-timings-settings.php:246 681 874 msgid "Open Hours (To)" 682 875 msgstr "" 683 876 684 #: inc/modules/timings/class-timings-settings.php:22 3, inc/modules/timings/class-timings-settings.php:540877 #: inc/modules/timings/class-timings-settings.php:222, inc/modules/timings/class-timings-settings.php:539 685 878 msgid "Max Orders (Day)" 686 879 msgstr "" 687 880 688 #: inc/modules/timings/class-timings-settings.php:2 80881 #: inc/modules/timings/class-timings-settings.php:279 689 882 msgid "Please select services available for this store." 690 883 msgstr "" 691 884 692 #: inc/modules/timings/class-timings-settings.php:29 7, inc/modules/timings/class-timings-settings.php:302885 #: inc/modules/timings/class-timings-settings.php:296, inc/modules/timings/class-timings-settings.php:301 693 886 msgid "Add service hours" 694 887 msgstr "" 695 888 696 #: inc/modules/timings/class-timings-settings.php:31 8889 #: inc/modules/timings/class-timings-settings.php:317 697 890 msgid "Same as delivery service hours" 698 891 msgstr "" 699 892 700 #: inc/modules/timings/class-timings-settings.php:35 5893 #: inc/modules/timings/class-timings-settings.php:354 701 894 msgid "Days" 702 895 msgstr "" 703 896 704 #: inc/modules/timings/class-timings-settings.php:35 7897 #: inc/modules/timings/class-timings-settings.php:356 705 898 msgid "Select \"Open Hours\" first" 706 899 msgstr "" 707 900 708 #: inc/modules/timings/class-timings-settings.php:36 8901 #: inc/modules/timings/class-timings-settings.php:367 709 902 msgid "Period" 710 903 msgstr "" 711 904 712 #: inc/modules/timings/class-timings-settings.php:3 80, inc/modules/timings/class-timings.php:339905 #: inc/modules/timings/class-timings-settings.php:379, inc/modules/timings/class-timings.php:379 713 906 msgid "All Day" 714 907 msgstr "" 715 908 716 #: inc/modules/timings/class-timings-settings.php:381 717 msgid "Time Slots" 718 msgstr "" 719 720 #: inc/modules/timings/class-timings-settings.php:420 909 #: inc/modules/timings/class-timings-settings.php:419 721 910 msgid "Add holiday" 722 911 msgstr "" 723 912 724 #: inc/modules/timings/class-timings-settings.php:43 6913 #: inc/modules/timings/class-timings-settings.php:435 725 914 msgid "From" 726 915 msgstr "" 727 916 728 #: inc/modules/timings/class-timings-settings.php:44 2917 #: inc/modules/timings/class-timings-settings.php:441 729 918 msgid "To" 730 919 msgstr "" 731 920 732 #: inc/modules/timings/class-timings-settings.php:46 7921 #: inc/modules/timings/class-timings-settings.php:466 733 922 msgid "Repeat Yearly?" 734 923 msgstr "" 735 924 736 #: inc/modules/timings/class-timings-settings.php:56 1925 #: inc/modules/timings/class-timings-settings.php:560 737 926 msgid "Hours" 738 927 msgstr "" 739 928 740 #: inc/modules/timings/class-timings-settings.php:56 9929 #: inc/modules/timings/class-timings-settings.php:568 741 930 msgid "Frequency (Mins)" 742 931 msgstr "" 743 932 744 #: inc/modules/timings/class-timings-settings.php:57 4933 #: inc/modules/timings/class-timings-settings.php:573 745 934 msgid "Cutoff (Mins)" 746 935 msgstr "" 747 936 748 #: inc/modules/timings/class-timings-settings.php:57 9937 #: inc/modules/timings/class-timings-settings.php:578 749 938 msgid "Max Orders (Slot)" 750 939 msgstr "" 751 940 752 #: inc/modules/timings/class-timings-settings.php:63 9941 #: inc/modules/timings/class-timings-settings.php:638 753 942 msgid "Update Timezone" 754 943 msgstr "" … … 855 1044 856 1045 #: inc/modules/layouts/templates/admin/layout-settings-metabox.php:94 857 msgid "When enabled, the whole product card is clickable, instead of just the button." 858 msgstr "" 1046 msgid "Choose what happens when you click the product card." 1047 msgstr "" 1048 1049 #: inc/modules/layouts/templates/admin/layout-settings-metabox.php:104 1050 msgid "Nothing" 1051 msgstr "" 1052 1053 #: inc/modules/layouts/templates/admin/layout-settings-metabox.php:105 1054 msgid "Add to Cart" 1055 msgstr "" 1056 1057 #: inc/modules/layouts/templates/admin/layout-settings-metabox.php:106 1058 msgid "Quick View Product" 1059 msgstr "" -
orderable/trunk/orderable.php
r2666071 r2709284 4 4 * Author URI: https://orderable.com 5 5 * Description: Take local online ordering to a whole new level with Orderable. 6 * Version: 1. 2.06 * Version: 1.3.0 7 7 * Author: Orderable 8 8 * Text Domain: orderable 9 9 * WC requires at least: 5.4.0 10 * WC tested up to: 6. 1.110 * WC tested up to: 6.4.0 11 11 */ 12 12 … … 20 20 * @var string Plugin version. 21 21 */ 22 public static $version = '1. 2.0';22 public static $version = '1.3.0'; 23 23 24 24 /** 25 25 * @var string Required pro version. 26 26 */ 27 public static $required_pro_version = '1. 2.0';27 public static $required_pro_version = '1.3.0'; 28 28 29 29 /** -
orderable/trunk/readme.txt
r2666071 r2709284 5 5 Tested up to: 5.9 6 6 Requires PHP: 5.6 7 Stable tag: 1. 2.07 Stable tag: 1.3.0 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 142 142 143 143 == Changelog == 144 145 **v1.3.0** (13 Apr 2022) 146 [new] Option to open quickview when card is clicked 147 [new] Allow users to manually change quantity in the side cart 148 [new] Ability to remove/clear any repeatable settings row 149 [new] Quick view settings under Orderable > Settings > Side Drawer 150 [new] Product information accordion added to quick view 151 [update] Renamed "Layout Builder" menu item to "Product Layouts" 152 [update] Updated brand colour in admin area 153 [update] Remove hidden categories/products from sitemap 154 [update] Optimized tabbed layout navigation on mobile 155 [update] Only modify mini cart in Orderable sidebar 156 [update] Show error on quantity change if the requested quantity is more than available quantity 157 [update] Add translation for date range picker element in Live Order View 158 [fix] Make Weekdays and 'Filter by due date' translatable 159 [fix] Increase/decrease quantity on mini cart when "Ajax add to cart" is disabled 160 [fix] Out of stock visibility in Product Layout 161 [fix] Allow order_manager users to place new orders 144 162 145 163 **v1.2.0** (26 Jan 2022) -
orderable/trunk/templates/product/hero.php
r2549156 r2709284 17 17 18 18 <div class="orderable-product__hero"> 19 <?php do_action( 'orderable_before_product_hero', $product, $args ); ?> 20 19 21 <?php echo $product->get_image( 'woocommerce_thumbnail', array( 20 22 'class' => 'orderable-product__image', 21 23 ) ); ?> 24 25 <?php do_action( 'orderable_after_product_hero', $product, $args ); ?> 22 26 </div> -
orderable/trunk/templates/product/options.php
r2626120 r2709284 5 5 * @package Orderable/Templates 6 6 * 7 * @var WC_Product _Variable $product8 * @var bool $orderable_single_product Determines whether it's possible to add to cart (i.e. a single9 * product view).7 * @var WC_Product $product Product. 8 * @var bool $orderable_single_product Determines whether it's possible to add to cart (i.e. a single product view). 9 * @var array $args Array of args. 10 10 */ 11 11 … … 14 14 global $orderable_single_product; 15 15 16 $orderable_single_product = true; 17 $args = array( 'images' => true ); 18 ?> 16 $orderable_single_product = true; ?> 19 17 20 <div class="orderable-product orderable-product--options ">21 <?php include ORDERABLE_TEMPLATES_PATH . 'product/hero -title.php'; ?>18 <div class="orderable-product orderable-product--options orderable-product--image-cropped"> 19 <?php include ORDERABLE_TEMPLATES_PATH . 'product/hero.php'; ?> 22 20 23 <div class="orderable- product__options-wrap orderable-sb-container" data-orderable-scroll-id="product-options">24 <?php do_action( 'orderable_side_menu_before_product_ options', $product); ?>21 <div class="orderable-sb-container" data-orderable-scroll-id="product"> 22 <?php do_action( 'orderable_side_menu_before_product_title', $product, $args ); ?> 25 23 26 <?php if ( ! empty( $attributes ) ) { ?> 27 <table class="orderable-product__options" cellspacing="0" cellpadding="0"> 28 <?php foreach ( $attributes as $attribute_name => $options ) : ?> 29 <tr class="orderable-product__option"> 30 <th class="orderable-product__option-label"> 31 <label for="<?php echo esc_attr( sanitize_title( $attribute_name ) ); ?>"><?php echo wc_attribute_label( $attribute_name ); // WPCS: XSS ok. ?></label> 32 </th> 33 <td class="orderable-product__option-select"> 34 <?php wc_dropdown_variation_attribute_options( 35 array( 36 'options' => $options, 37 'attribute' => $attribute_name, 38 'product' => $product, 39 'show_option_none' => wc_attribute_label( $attribute_name ), 40 'class' => 'orderable-input orderable-input--select orderable-input--validate', 41 ) 42 ); ?> 43 </td> 44 </tr> 45 <?php endforeach; ?> 46 </table> 47 <?php } ?> 24 <h2 class="orderable-product__title"><?php echo wp_kses_post( $product->get_name() ); ?></h2> 48 25 49 <?php do_action( 'orderable_side_menu_ after_product_options', $product); ?>26 <?php do_action( 'orderable_side_menu_before_product_options_wrapper', $product, $args ); ?> 50 27 51 <div class="orderable-product__messages"></div> 28 <div class="orderable-product__options-wrap"> 29 <?php do_action( 'orderable_side_menu_before_product_options', $product, $args ); ?> 52 30 53 <script class="orderable-product__variations" type="application/json"> 31 <?php if ( ! empty( $attributes ) ) { ?> 32 <table class="orderable-product__options" cellspacing="0" cellpadding="0"> 33 <?php foreach ( $attributes as $attribute_name => $options ) : ?> 34 <tr class="orderable-product__option"> 35 <th class="orderable-product__option-label"> 36 <label for="<?php echo esc_attr( sanitize_title( $attribute_name ) ); ?>"><?php echo wc_attribute_label( $attribute_name ); // WPCS: XSS ok. ?></label> 37 </th> 38 <td class="orderable-product__option-select"> 39 <?php wc_dropdown_variation_attribute_options( 40 array( 41 'options' => $options, 42 'attribute' => $attribute_name, 43 'product' => $product, 44 'show_option_none' => wc_attribute_label( $attribute_name ), 45 'class' => 'orderable-input orderable-input--select orderable-input--validate', 46 ) 47 ); ?> 48 </td> 49 </tr> 50 <?php endforeach; ?> 51 </table> 52 <?php } ?> 53 54 <?php do_action( 'orderable_side_menu_after_product_options', $product, $args ); ?> 55 56 <div class="orderable-product__messages"></div> 57 58 <script class="orderable-product__variations" type="application/json"> 54 59 <?php echo ! empty( $variations_json ) ? $variations_json : ''; ?> 55 60 </script> 61 </div> 62 56 63 </div> 64 65 <?php do_action( 'orderable_side_menu_after_product_options_wrapper', $product, $args ); ?> 57 66 58 67 <?php include ORDERABLE_TEMPLATES_PATH . 'product/actions.php'; ?> -
orderable/trunk/woocommerce/cart/mini-cart.php
r2637423 r2709284 63 63 <span class="orderable-quantity-roller__roller"> 64 64 <button class="orderable-quantity-roller__button orderable-quantity-roller__button--decrease" data-orderable-trigger="decrease-quantity" data-orderable-cart-item-key="<?php echo esc_attr( $cart_item_key ); ?>" data-orderable-product-id="<?php echo esc_attr( $product_id ); ?>" data-orderable-quantity="<?php echo esc_attr( $cart_item['quantity'] ); ?>">-</button> 65 <span class="orderable-quantity-roller__quantity"><?php echo esc_html( $cart_item['quantity'] ); ?></span> 65 <span 66 class="orderable-quantity-roller__quantity" 67 contenteditable="true" 68 inputmode="numeric" 69 data-orderable-cart-item-key="<?php echo esc_attr( $cart_item_key ); ?>" 70 data-orderable-product-id="<?php echo esc_attr( $product_id ); ?>" 71 > 72 <?php echo esc_html( $cart_item['quantity'] ); ?> 73 </span> 66 74 <button class="orderable-quantity-roller__button orderable-quantity-roller__button--increase" data-orderable-trigger="increase-quantity" data-orderable-cart-item-key="<?php echo esc_attr( $cart_item_key ); ?>" data-orderable-product-id="<?php echo esc_attr( $product_id ); ?>" data-orderable-quantity="<?php echo esc_attr( $cart_item['quantity'] ); ?>">+</button> 67 75 </span>
Note: See TracChangeset
for help on using the changeset viewer.