wickes-css2 2.97.0-develop.3 → 2.97.0-develop.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,50 @@
1
+ import {appendLoader, hideLoader, showLoader} from "./utils/loader";
2
+
3
+ var Wick = window.Wick || {};
4
+
5
+ Wick.SmartBanner = {
6
+ STORAGE_KEY: 'smartBannerClosedAt',
7
+ BANNER_SELECTOR: '.smart-banner',
8
+ CLOSE_BUTTON_SELECTOR: '.smart-banner__action-close',
9
+ INSTALL_BUTTON_SELECTOR: '.install-app',
10
+ OPEN_BUTTON_SELECTOR: '.open-app',
11
+ LOADER_SELECTOR: '.loader-wrapper',
12
+ LOADER_PAYLOAD: {
13
+ wrapper: '.smart-banner',
14
+ hidden: true,
15
+ titleLoader: 'Opening the app... If it doesn’t open, tap \'Install\'',
16
+ modifier: 'smart-banner-loader',
17
+ },
18
+
19
+ init: function () {
20
+ appendLoader(Wick.SmartBanner.LOADER_PAYLOAD);
21
+ $(Wick.SmartBanner.CLOSE_BUTTON_SELECTOR).on('click', Wick.SmartBanner.closeBanner);
22
+ $(Wick.SmartBanner.OPEN_BUTTON_SELECTOR).on('click', Wick.SmartBanner.handleOpenClick);
23
+ $(Wick.SmartBanner.INSTALL_BUTTON_SELECTOR).on('click', Wick.SmartBanner.handleInstallClick);
24
+ },
25
+
26
+ hideBanner: function () {
27
+ $(Wick.SmartBanner.BANNER_SELECTOR).removeClass('show');
28
+ },
29
+
30
+ closeBanner: function (e) {
31
+ e.preventDefault();
32
+ Wick.SmartBanner.hideBanner();
33
+ },
34
+
35
+ handleOpenClick: function (e) {
36
+ e.preventDefault();
37
+ showLoader()
38
+ setTimeout(() => {
39
+ hideLoader()
40
+ }, 5000);
41
+ },
42
+
43
+ handleInstallClick: function (e) {
44
+ e.preventDefault();
45
+ },
46
+ };
47
+
48
+ $(function () {
49
+ Wick.SmartBanner.init();
50
+ });
@@ -0,0 +1 @@
1
+ !function n(o,a,l){function i(t,e){if(!a[t]){if(!o[t]){var r="function"==typeof require&&require;if(!e&&r)return r(t,!0);if(s)return s(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}r=a[t]={exports:{}},o[t][0].call(r.exports,function(e){return i(o[t][1][e]||e)},r,r.exports,n,o,a,l)}return a[t].exports}for(var s="function"==typeof require&&require,e=0;e<l.length;e++)i(l[e]);return i}({1:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}r.__esModule=!0;var a=o(e("./handlebars/base")),l=n(e("./handlebars/safe-string")),i=n(e("./handlebars/exception")),s=o(e("./handlebars/utils")),u=o(e("./handlebars/runtime")),e=n(e("./handlebars/no-conflict"));function c(){var t=new a.HandlebarsEnvironment;return s.extend(t,a),t.SafeString=l.default,t.Exception=i.default,t.Utils=s,t.escapeExpression=s.escapeExpression,t.VM=u,t.template=function(e){return u.template(e,t)},t}var p=c();p.create=c,e.default(p),p.default=p,r.default=p,t.exports=r.default},{"./handlebars/base":2,"./handlebars/exception":5,"./handlebars/no-conflict":18,"./handlebars/runtime":19,"./handlebars/safe-string":20,"./handlebars/utils":21}],2:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0,r.HandlebarsEnvironment=p;var o=e("./utils"),a=n(e("./exception")),l=e("./helpers"),i=e("./decorators"),s=n(e("./logger")),u=e("./internal/proto-access"),c=(r.VERSION="4.7.8",r.COMPILER_REVISION=8,r.LAST_COMPATIBLE_COMPILER_REVISION=7,r.REVISION_CHANGES={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"},"[object Object]");function p(e,t,r){this.helpers=e||{},this.partials=t||{},this.decorators=r||{},l.registerDefaultHelpers(this),i.registerDefaultDecorators(this)}p.prototype={constructor:p,logger:s.default,log:s.default.log,registerHelper:function(e,t){if(o.toString.call(e)===c){if(t)throw new a.default("Arg not supported with multiple helpers");o.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(o.toString.call(e)===c)o.extend(this.partials,e);else{if(void 0===t)throw new a.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,t){if(o.toString.call(e)===c){if(t)throw new a.default("Arg not supported with multiple decorators");o.extend(this.decorators,e)}else this.decorators[e]=t},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){u.resetLoggedProperties()}};e=s.default.log;r.log=e,r.createFrame=o.createFrame,r.logger=s.default},{"./decorators":3,"./exception":5,"./helpers":6,"./internal/proto-access":15,"./logger":17,"./utils":21}],3:[function(e,t,r){"use strict";r.__esModule=!0,r.registerDefaultDecorators=function(e){n.default(e)};var r=e("./decorators/inline"),n=(e=r)&&e.__esModule?e:{default:e}},{"./decorators/inline":4}],4:[function(e,t,r){"use strict";r.__esModule=!0;var l=e("../utils");r.default=function(e){e.registerDecorator("inline",function(n,o,a,e){var t=n;return o.partials||(o.partials={},t=function(e,t){var r=a.partials,e=(a.partials=l.extend({},r,o.partials),n(e,t));return a.partials=r,e}),o.partials[e.args[0]]=e.fn,t})},t.exports=r.default},{"../utils":21}],5:[function(e,t,r){"use strict";r.__esModule=!0;var s=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];function u(e,t){for(var t=t&&t.loc,r=void 0,n=void 0,o=void 0,a=void 0,l=(t&&(r=t.start.line,n=t.end.line,o=t.start.column,a=t.end.column,e+=" - "+r+":"+o),Error.prototype.constructor.call(this,e)),i=0;i<s.length;i++)this[s[i]]=l[s[i]];Error.captureStackTrace&&Error.captureStackTrace(this,u);try{t&&(this.lineNumber=r,this.endLineNumber=n,Object.defineProperty?(Object.defineProperty(this,"column",{value:o,enumerable:!0}),Object.defineProperty(this,"endColumn",{value:a,enumerable:!0})):(this.column=o,this.endColumn=a))}catch(e){}}u.prototype=new Error,r.default=u,t.exports=r.default},{}],6:[function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.__esModule=!0,r.registerDefaultHelpers=function(e){o.default(e),a.default(e),l.default(e),i.default(e),s.default(e),u.default(e),c.default(e)},r.moveHelperToHooks=function(e,t,r){e.helpers[t]&&(e.hooks[t]=e.helpers[t],r||delete e.helpers[t])};var o=n(e("./helpers/block-helper-missing")),a=n(e("./helpers/each")),l=n(e("./helpers/helper-missing")),i=n(e("./helpers/if")),s=n(e("./helpers/log")),u=n(e("./helpers/lookup")),c=n(e("./helpers/with"))},{"./helpers/block-helper-missing":7,"./helpers/each":8,"./helpers/helper-missing":9,"./helpers/if":10,"./helpers/log":11,"./helpers/lookup":12,"./helpers/with":13}],7:[function(e,t,r){"use strict";r.__esModule=!0;var a=e("../utils");r.default=function(o){o.registerHelper("blockHelperMissing",function(e,t){var r=t.inverse,n=t.fn;return!0===e?n(this):!1===e||null==e?r(this):a.isArray(e)?0<e.length?(t.ids&&(t.ids=[t.name]),o.helpers.each(e,t)):r(this):(t.data&&t.ids&&((r=a.createFrame(t.data)).contextPath=a.appendContextPath(t.data.contextPath,t.name),t={data:r}),n(e,t))})},t.exports=r.default},{"../utils":21}],8:[function(e,t,r){"use strict";r.__esModule=!0;var h=e("../utils"),e=e("../exception"),m=(e=e)&&e.__esModule?e:{default:e};r.default=function(e){e.registerHelper("each",function(n,e){if(!e)throw new m.default("Must pass iterator to #each");var t,o=e.fn,r=e.inverse,a=0,l="",i=void 0,s=void 0;function u(e,t,r){i&&(i.key=e,i.index=t,i.first=0===t,i.last=!!r,s)&&(i.contextPath=s+e),l+=o(n[e],{data:i,blockParams:h.blockParams([n[e],e],[s+e,null])})}if(e.data&&e.ids&&(s=h.appendContextPath(e.data.contextPath,e.ids[0])+"."),h.isFunction(n)&&(n=n.call(this)),e.data&&(i=h.createFrame(e.data)),n&&"object"==typeof n)if(h.isArray(n))for(var c=n.length;a<c;a++)a in n&&u(a,a,a===n.length-1);else if("function"==typeof Symbol&&n[Symbol.iterator]){for(var p=[],d=n[Symbol.iterator](),f=d.next();!f.done;f=d.next())p.push(f.value);for(c=(n=p).length;a<c;a++)u(a,a,a===n.length-1)}else t=void 0,Object.keys(n).forEach(function(e){void 0!==t&&u(t,a-1),t=e,a++}),void 0!==t&&u(t,a-1,!0);return l=0===a?r(this):l})},t.exports=r.default},{"../exception":5,"../utils":21}],9:[function(e,t,r){"use strict";r.__esModule=!0;var e=e("../exception"),n=(e=e)&&e.__esModule?e:{default:e};r.default=function(e){e.registerHelper("helperMissing",function(){if(1!==arguments.length)throw new n.default('Missing helper: "'+arguments[arguments.length-1].name+'"')})},t.exports=r.default},{"../exception":5}],10:[function(e,t,r){"use strict";r.__esModule=!0;var n=e("../utils"),e=e("../exception"),o=(e=e)&&e.__esModule?e:{default:e};r.default=function(r){r.registerHelper("if",function(e,t){if(2!=arguments.length)throw new o.default("#if requires exactly one argument");return n.isFunction(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||n.isEmpty(e)?t.inverse(this):t.fn(this)}),r.registerHelper("unless",function(e,t){if(2!=arguments.length)throw new o.default("#unless requires exactly one argument");return r.helpers.if.call(this,e,{fn:t.inverse,inverse:t.fn,hash:t.hash})})},t.exports=r.default},{"../exception":5,"../utils":21}],11:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(o){o.registerHelper("log",function(){for(var e=[void 0],t=arguments[arguments.length-1],r=0;r<arguments.length-1;r++)e.push(arguments[r]);var n=1;null!=t.hash.level?n=t.hash.level:t.data&&null!=t.data.level&&(n=t.data.level),e[0]=n,o.log.apply(o,e)})},t.exports=r.default},{}],12:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(e){e.registerHelper("lookup",function(e,t,r){return e&&r.lookupProperty(e,t)})},t.exports=r.default},{}],13:[function(e,t,r){"use strict";r.__esModule=!0;var o=e("../utils"),e=e("../exception"),a=(e=e)&&e.__esModule?e:{default:e};r.default=function(e){e.registerHelper("with",function(e,t){if(2!=arguments.length)throw new a.default("#with requires exactly one argument");o.isFunction(e)&&(e=e.call(this));var r,n=t.fn;return o.isEmpty(e)?t.inverse(this):(r=t.data,t.data&&t.ids&&((r=o.createFrame(t.data)).contextPath=o.appendContextPath(t.data.contextPath,t.ids[0])),n(e,{data:r,blockParams:o.blockParams([e],[r&&r.contextPath])}))})},t.exports=r.default},{"../exception":5,"../utils":21}],14:[function(e,t,r){"use strict";r.__esModule=!0,r.createNewLookupObject=function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return n.extend.apply(void 0,[Object.create(null)].concat(t))};var n=e("../utils")},{"../utils":21}],15:[function(e,t,r){"use strict";r.__esModule=!0,r.createProtoAccessControl=function(e){var t=Object.create(null),r=(t.constructor=!1,t.__defineGetter__=!1,t.__defineSetter__=!1,t.__lookupGetter__=!1,Object.create(null));return r.__proto__=!1,{properties:{whitelist:n.createNewLookupObject(r,e.allowedProtoProperties),defaultValue:e.allowProtoPropertiesByDefault},methods:{whitelist:n.createNewLookupObject(t,e.allowedProtoMethods),defaultValue:e.allowProtoMethodsByDefault}}},r.resultIsAllowed=function(e,t,r){return l("function"==typeof e?t.methods:t.properties,r)},r.resetLoggedProperties=function(){Object.keys(a).forEach(function(e){delete a[e]})};var n=e("./create-new-lookup-object"),r=e("../logger"),o=(e=r)&&e.__esModule?e:{default:e},a=Object.create(null);function l(e,t){return void 0!==e.whitelist[t]?!0===e.whitelist[t]:void 0!==e.defaultValue?e.defaultValue:(!0!==a[e=t]&&(a[e]=!0,o.default.log("error",'Handlebars: Access has been denied to resolve the property "'+e+'" because it is not an "own property" of its parent.\nYou can add a runtime option to disable the check or this warning:\nSee https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details')),!1)}},{"../logger":17,"./create-new-lookup-object":14}],16:[function(e,t,r){"use strict";r.__esModule=!0,r.wrapHelper=function(t,r){if("function"!=typeof t)return t;return function(){var e=arguments[arguments.length-1];return arguments[arguments.length-1]=r(e),t.apply(this,arguments)}}},{}],17:[function(e,t,r){"use strict";r.__esModule=!0;var n=e("./utils"),o={methodMap:["debug","info","warn","error"],level:"info",lookupLevel:function(e){var t;return e="string"==typeof e?0<=(t=n.indexOf(o.methodMap,e.toLowerCase()))?t:parseInt(e,10):e},log:function(e){if(e=o.lookupLevel(e),"undefined"!=typeof console&&o.lookupLevel(o.level)<=e){e=o.methodMap[e];console[e]||(e="log");for(var t=arguments.length,r=Array(1<t?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];console[e].apply(console,r)}}};r.default=o,t.exports=r.default},{"./utils":21}],18:[function(e,t,r){"use strict";r.__esModule=!0,r.default=function(e){"object"!=typeof globalThis&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__);var t=globalThis.Handlebars;e.noConflict=function(){return globalThis.Handlebars===e&&(globalThis.Handlebars=t),e}},t.exports=r.default},{}],19:[function(e,t,r){"use strict";r.__esModule=!0,r.checkRevision=function(e){var t=e&&e[0]||1,r=d.COMPILER_REVISION;if(!(t>=d.LAST_COMPATIBLE_COMPILER_REVISION&&t<=d.COMPILER_REVISION))throw t<d.LAST_COMPATIBLE_COMPILER_REVISION?(r=d.REVISION_CHANGES[r],t=d.REVISION_CHANGES[t],new p.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+r+") or downgrade your runtime to an older version ("+t+").")):new p.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")},r.template=function(s,u){if(!u)throw new p.default("No environment passed to template");if(!s||!s.main)throw new p.default("Unknown template object: "+typeof s);s.main.decorator=s.main_d,u.VM.checkRevision(s.compiler);var r=s.compiler&&7===s.compiler[0];var l={strict:function(e,t,r){if(e&&t in e)return l.lookupProperty(e,t);throw new p.default('"'+t+'" not defined in '+e,{loc:r})},lookupProperty:function(e,t){var r=e[t];return null==r||Object.prototype.hasOwnProperty.call(e,t)||h.resultIsAllowed(r,l.protoAccessControl,t)?r:void 0},lookup:function(e,t){for(var r=e.length,n=0;n<r;n++)if(null!=(e[n]&&l.lookupProperty(e[n],t)))return e[n][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:c.escapeExpression,invokePartial:function(e,t,r){r.hash&&(t=c.extend({},t,r.hash),r.ids)&&(r.ids[0]=!0),e=u.VM.resolvePartial.call(this,e,t,r);var n=c.extend({},r,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),o=u.VM.invokePartial.call(this,e,t,n);if(null==o&&u.compile&&(r.partials[r.name]=u.compile(e,s.compilerOptions,u),o=r.partials[r.name](t,n)),null==o)throw new p.default("The partial "+r.name+" could not be compiled when running in runtime-only mode");if(r.indent){for(var a=o.split("\n"),l=0,i=a.length;l<i&&(a[l]||l+1!==i);l++)a[l]=r.indent+a[l];o=a.join("\n")}return o},fn:function(e){var t=s[e];return t.decorator=s[e+"_d"],t},programs:[],program:function(e,t,r,n,o){var a=this.programs[e],l=this.fn(e);return a=t||o||n||r?m(this,e,l,t,r,n,o):a||(this.programs[e]=m(this,e,l))},data:function(e,t){for(;e&&t--;)e=e._parent;return e},mergeIfNeeded:function(e,t){var r=e||t;return r=e&&t&&e!==t?c.extend({},t,e):r},nullContext:Object.seal({}),noop:u.VM.noop,compilerInfo:s.compiler};function i(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=t.data,n=(i._setup(t),!t.partial&&s.useData&&(r=function(e,t){t&&"root"in t||((t=t?d.createFrame(t):{}).root=e);return t}(e,r)),void 0),o=s.useBlockParams?[]:void 0;function a(e){return""+s.main(l,e,l.helpers,l.partials,r,o,n)}return s.useDepths&&(n=t.depths?e!=t.depths[0]?[e].concat(t.depths):t.depths:[e]),(a=_(s.main,a,l,t.depths||[],r,o))(e,t)}return i.isTop=!0,i._setup=function(e){var t,n,o;e.partial?(l.protoAccessControl=e.protoAccessControl,l.helpers=e.helpers,l.partials=e.partials,l.decorators=e.decorators,l.hooks=e.hooks):(t=c.extend({},u.helpers,e.helpers),n=t,o=l,Object.keys(n).forEach(function(e){var t,r=n[e];n[e]=(t=o.lookupProperty,f.wrapHelper(r,function(e){return c.extend({lookupProperty:t},e)}))}),l.helpers=t,s.usePartial&&(l.partials=l.mergeIfNeeded(e.partials,u.partials)),(s.usePartial||s.useDecorators)&&(l.decorators=c.extend({},u.decorators,e.decorators)),l.hooks={},l.protoAccessControl=h.createProtoAccessControl(e),t=e.allowCallsToHelperMissing||r,a.moveHelperToHooks(l,"helperMissing",t),a.moveHelperToHooks(l,"blockHelperMissing",t))},i._child=function(e,t,r,n){if(s.useBlockParams&&!r)throw new p.default("must pass block params");if(s.useDepths&&!n)throw new p.default("must pass parent depths");return m(l,e,s[e],t,0,r,n)},i},r.wrapProgram=m,r.resolvePartial=function(e,t,r){e?e.call||r.name||(r.name=e,e=r.partials[e]):e="@partial-block"===r.name?r.data["partial-block"]:r.partials[r.name];return e},r.invokePartial=function(e,t,n){var o=n.data&&n.data["partial-block"];n.partial=!0,n.ids&&(n.data.contextPath=n.ids[0]||n.data.contextPath);var a=void 0;n.fn&&n.fn!==l&&!function(){n.data=d.createFrame(n.data);var r=n.fn;a=n.data["partial-block"]=function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];return t.data=d.createFrame(t.data),t.data["partial-block"]=o,r(e,t)},r.partials&&(n.partials=c.extend({},n.partials,r.partials))}();void 0===e&&a&&(e=a);{if(void 0===e)throw new p.default("The partial "+n.name+" could not be found");if(e instanceof Function)return e(t,n)}},r.noop=l;var c=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}(e("./utils")),r=e("./exception"),p=(r=r)&&r.__esModule?r:{default:r},d=e("./base"),a=e("./helpers"),f=e("./internal/wrapHelper"),h=e("./internal/proto-access");function m(n,e,o,a,t,l,i){function r(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=i;return!i||e==i[0]||e===n.nullContext&&null===i[0]||(r=[e].concat(i)),o(n,e,n.helpers,n.partials,t.data||a,l&&[t.blockParams].concat(l),r)}return(r=_(o,r,n,i,a,l)).program=e,r.depth=i?i.length:0,r.blockParams=t||0,r}function l(){return""}function _(e,t,r,n,o,a){return e.decorator&&(t=e.decorator(t,e={},r,n&&n[0],o,a,n),c.extend(t,e)),t}},{"./base":2,"./exception":5,"./helpers":6,"./internal/proto-access":15,"./internal/wrapHelper":16,"./utils":21}],20:[function(e,t,r){"use strict";function n(e){this.string=e}r.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},r.default=n,t.exports=r.default},{}],21:[function(e,t,r){"use strict";r.__esModule=!0,r.extend=i,r.indexOf=function(e,t){for(var r=0,n=e.length;r<n;r++)if(e[r]===t)return r;return-1},r.escapeExpression=function(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return a.test(e)?e.replace(o,l):e},r.isEmpty=function(e){return!e&&0!==e||!(!c(e)||0!==e.length)},r.createFrame=function(e){var t=i({},e);return t._parent=e,t},r.blockParams=function(e,t){return e.path=t,e},r.appendContextPath=function(e,t){return(e?e+".":"")+t};var n={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},o=/[&<>"'`=]/g,a=/[&<>"'`=]/;function l(e){return n[e]}function i(e){for(var t=1;t<arguments.length;t++)for(var r in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],r)&&(e[r]=arguments[t][r]);return e}var s=Object.prototype.toString,u=(r.toString=s,function(e){return"function"==typeof e}),c=(u(/x/)&&(r.isFunction=u=function(e){return"function"==typeof e&&"[object Function]"===s.call(e)}),r.isFunction=u,Array.isArray||function(e){return!(!e||"object"!=typeof e)&&"[object Array]"===s.call(e)});r.isArray=c},{}],22:[function(e,t,r){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":1}],23:[function(e,t,r){t.exports=e("handlebars/runtime").default},{"handlebars/runtime":22}],24:[function(e,t,r){e=e("hbsfy/runtime");t.exports=e.template({1:function(e,t,r,n,o){return"d-none"},3:function(e,t,r,n,o){var a=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return" <h2>"+e.escapeExpression("function"==typeof(r=null!=(r=a(r,"titleLoader")||(null!=t?a(t,"titleLoader"):t))?r:e.hooks.helperMissing)?r.call(null!=t?t:e.nullContext||{},{name:"titleLoader",hash:{},data:o,loc:{start:{line:8,column:12},end:{line:8,column:27}}}):r)+"</h2>\n"},compiler:[8,">= 4.3.0"],main:function(e,t,r,n,o){var a,l=null!=t?t:e.nullContext||{},i=e.lookupProperty||function(e,t){if(Object.prototype.hasOwnProperty.call(e,t))return e[t]};return'<div class="loader-wrapper '+e.escapeExpression("function"==typeof(a=null!=(a=i(r,"modifier")||(null!=t?i(t,"modifier"):t))?a:e.hooks.helperMissing)?a.call(l,{name:"modifier",hash:{},data:o,loc:{start:{line:1,column:27},end:{line:1,column:39}}}):a)+" "+(null!=(a=i(r,"if").call(l,null!=t?i(t,"hidden"):t,{name:"if",hash:{},fn:e.program(1,o,0),inverse:e.noop,data:o,loc:{start:{line:1,column:40},end:{line:1,column:67}}}))?a:"")+'">\n <div class="loader-spinner">\n <svg class="circular-loader" viewBox="25 25 50 50">\n <circle class="loader-path" cx="50" cy="50" r="20" fill="none"/>\n </svg>\n </div>\n'+(null!=(a=i(r,"if").call(l,null!=t?i(t,"titleLoader"):t,{name:"if",hash:{},fn:e.program(3,o,0),inverse:e.noop,data:o,loc:{start:{line:7,column:4},end:{line:9,column:11}}}))?a:"")+"</div>\n"},useData:!0})},{"hbsfy/runtime":23}],25:[function(e,t,r){"use strict";var n=e("./utils/loader"),o=window.Wick||{};o.SmartBanner={STORAGE_KEY:"smartBannerClosedAt",BANNER_SELECTOR:".smart-banner",CLOSE_BUTTON_SELECTOR:".smart-banner__action-close",INSTALL_BUTTON_SELECTOR:".install-app",OPEN_BUTTON_SELECTOR:".open-app",LOADER_SELECTOR:".loader-wrapper",LOADER_PAYLOAD:{wrapper:".smart-banner",hidden:!0,titleLoader:"Opening the app... If it doesn’t open, tap 'Install'",modifier:"smart-banner-loader"},init:function(){(0,n.appendLoader)(o.SmartBanner.LOADER_PAYLOAD),$(o.SmartBanner.CLOSE_BUTTON_SELECTOR).on("click",o.SmartBanner.closeBanner),$(o.SmartBanner.OPEN_BUTTON_SELECTOR).on("click",o.SmartBanner.handleOpenClick),$(o.SmartBanner.INSTALL_BUTTON_SELECTOR).on("click",o.SmartBanner.handleInstallClick)},hideBanner:function(){$(o.SmartBanner.BANNER_SELECTOR).removeClass("show")},closeBanner:function(e){e.preventDefault(),o.SmartBanner.hideBanner()},handleOpenClick:function(e){e.preventDefault(),(0,n.showLoader)(),setTimeout(function(){(0,n.hideLoader)()},5e3)},handleInstallClick:function(e){e.preventDefault()}},$(function(){o.SmartBanner.init()})},{"./utils/loader":26}],26:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.appendLoader=function(e){$(e.wrapper).append((0,n.default)(e))},r.hideLoader=function(e){$(l(e)).addClass(a)},r.showLoader=function(e){$(l(e)).removeClass(a)};var n=(r=e("../../../elements/loader.hbs"))&&r.__esModule?r:{default:r};var o=".loader-wrapper",a="d-none";function l(e){return e||o}},{"../../../elements/loader.hbs":24}]},{},[25]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wickes-css2",
3
- "version": "2.97.0-develop.3",
3
+ "version": "2.97.0-develop.4",
4
4
  "description": "CSS and JS and page templates in use by Wickes",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -2,21 +2,21 @@
2
2
 
3
3
  <div class="banner">
4
4
  <div class="banner-wrapper">
5
- <div class="banner-inner">
5
+ <div class="banner-wrapper-inner">
6
6
 
7
- <div class="banner-inner__logo">
7
+ <div class="banner-wrapper-inner__logo">
8
8
  <img src="https://eu-images.contentstack.com/v3/assets/blt066259863543a0d2/bltd3f31eb168092e78/609b9a50996bf2507755257b/tradePro-logo_desk.png?width=60&height=60" alt="Logo Wickes">
9
9
  </div>
10
10
 
11
- <div class="banner-inner__head">
11
+ <div class="banner-wrapper-inner__head">
12
12
  <div class="header-text">Wickes TradePro</div>
13
13
  <div class="google-play-logo">
14
14
  <img src="https://eu-images.contentstack.com/v3/assets/blt066259863543a0d2/blt42ead587a25413e0/609b9a50821a2750878acb3c/download.png?width=90&height=21" alt="Google play">
15
15
  </div>
16
16
  </div>
17
17
 
18
- <div class="banner-inner__action">
19
- <button class="close notification__close banner-inner__action-close" type="button">
18
+ <div class="banner-wrapper-inner__action">
19
+ <button class="close notification__close banner-wrapper-inner__action-close" type="button">
20
20
  <span class="icon"><i class="far fa-times"></i></span>
21
21
  </button>
22
22
 
@@ -1,14 +1,30 @@
1
- <div class="sticky-wrapper waypoint">
2
- <div class="offer-banner">
3
- <span class="offer-banner__content">
4
- <strong>Up to 4 years Interest Free*. Ts&Cs apply.</strong>
5
- <a href="#" class="offer-banner__link">
6
- <span class="offer-banner__link-text">Learn more</span>
7
- <i class="fas fa-chevron-right offer-banner__link-arrow"></i>
8
- </a>
9
- </span>
10
- <span class="icon notification__close notification__close_white notification__close_stripbanner">
11
- <span class="fas fa-times"></span>
1
+ {{#if bannerType}}
2
+ <div class="sticky-wrapper waypoint">
3
+ <div class="offer-banner" style="background-color: #004587;">
4
+ <span class="offer-banner__content">
5
+ <style>.offer-banner__link-arrow {
6
+ height: 1em;
7
+ width: .625em;
8
+ }</style>
9
+ <span class="offer-banner__link">
10
+ <span class="offer-banner__link-text">FREE Click &amp; Collect within 30 minutes</span>
12
11
  </span>
12
+ </span>
13
+ </div>
14
+ </div>
15
+ {{else}}
16
+ <div class="sticky-wrapper waypoint">
17
+ <div class="offer-banner">
18
+ <span class="offer-banner__content">
19
+ <strong>Up to 4 years Interest Free*. Ts&Cs apply.</strong>
20
+ <a href="#" class="offer-banner__link">
21
+ <span class="offer-banner__link-text">Learn more</span>
22
+ <i class="fas fa-chevron-right offer-banner__link-arrow"></i>
23
+ </a>
24
+ </span>
25
+ <span class="icon notification__close notification__close_white notification__close_stripbanner">
26
+ <span class="fas fa-times"></span>
27
+ </span>
28
+ </div>
13
29
  </div>
14
- </div>
30
+ {{/if}}
@@ -0,0 +1,25 @@
1
+ <div class="smart-banner show">
2
+ <div>
3
+ <button class="close notification__close smart-banner__action-close" type="button">
4
+ <span class="icon"><i class="far fa-times"></i></span>
5
+ </button>
6
+ <div class="smart-banner__logo">
7
+ <img src="{{logoUrl}}"
8
+ alt="Logo Wickes">
9
+ </div>
10
+ </div>
11
+
12
+ <div class="smart-banner__head">
13
+ <div class="header-text">{{bannerTitle}}</div>
14
+ </div>
15
+
16
+ <div>
17
+ <div class="smart-banner__action">
18
+ <button class="btn btn-primary btn_hover open-app">Open</button>
19
+ </div>
20
+
21
+ <div class="smart-banner__action">
22
+ <button class="btn btn-primary">Install</button>
23
+ </div>
24
+ </div>
25
+ </div>
@@ -0,0 +1,50 @@
1
+ import {appendLoader, hideLoader, showLoader} from "./utils/loader";
2
+
3
+ var Wick = window.Wick || {};
4
+
5
+ Wick.SmartBanner = {
6
+ STORAGE_KEY: 'smartBannerClosedAt',
7
+ BANNER_SELECTOR: '.smart-banner',
8
+ CLOSE_BUTTON_SELECTOR: '.smart-banner__action-close',
9
+ INSTALL_BUTTON_SELECTOR: '.install-app',
10
+ OPEN_BUTTON_SELECTOR: '.open-app',
11
+ LOADER_SELECTOR: '.loader-wrapper',
12
+ LOADER_PAYLOAD: {
13
+ wrapper: '.smart-banner',
14
+ hidden: true,
15
+ titleLoader: 'Opening the app... If it doesn’t open, tap \'Install\'',
16
+ modifier: 'smart-banner-loader',
17
+ },
18
+
19
+ init: function () {
20
+ appendLoader(Wick.SmartBanner.LOADER_PAYLOAD);
21
+ $(Wick.SmartBanner.CLOSE_BUTTON_SELECTOR).on('click', Wick.SmartBanner.closeBanner);
22
+ $(Wick.SmartBanner.OPEN_BUTTON_SELECTOR).on('click', Wick.SmartBanner.handleOpenClick);
23
+ $(Wick.SmartBanner.INSTALL_BUTTON_SELECTOR).on('click', Wick.SmartBanner.handleInstallClick);
24
+ },
25
+
26
+ hideBanner: function () {
27
+ $(Wick.SmartBanner.BANNER_SELECTOR).removeClass('show');
28
+ },
29
+
30
+ closeBanner: function (e) {
31
+ e.preventDefault();
32
+ Wick.SmartBanner.hideBanner();
33
+ },
34
+
35
+ handleOpenClick: function (e) {
36
+ e.preventDefault();
37
+ showLoader()
38
+ setTimeout(() => {
39
+ hideLoader()
40
+ }, 5000);
41
+ },
42
+
43
+ handleInstallClick: function (e) {
44
+ e.preventDefault();
45
+ },
46
+ };
47
+
48
+ $(function () {
49
+ Wick.SmartBanner.init();
50
+ });
@@ -9,12 +9,22 @@
9
9
  <!-- Google Tag Manager (noscript) -->
10
10
  <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-M3LZ2SC" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
11
11
  <!-- End Google Tag Manager (noscript) -->
12
- {{#unless hideBanner}}
13
- {{> offer-banner}}
14
- {{/unless}}
15
12
  {{#if googleBanner}}
16
13
  {{> google-banner}}
17
14
  {{/if}}
15
+ {{#if smartBannerDIY}}
16
+ {{> smart-banner
17
+ logoUrl="https://eu-images.contentstack.com/v3/assets/blt176fda34ff2a0cbd/blt7d7f7424d4d70982/684c28b1ec8c98397d81a2cc/Wickes_logo.svg?branch=development"
18
+ bannerTitle="Speed up your shopping experience"}}
19
+ {{/if}}
20
+ {{#if smartBannerTradePro}}
21
+ {{> smart-banner
22
+ logoUrl="https://eu-images.contentstack.com/v3/assets/blt176fda34ff2a0cbd/blt93790e3442297a64/68554ea2cae7e68018f982c0/Wickes_logo_trade_pro.svg?branch=development"
23
+ bannerTitle="Get 10% off every order with Wickes TradePro app"}}
24
+ {{/if}}
25
+ {{#unless hideBanner}}
26
+ {{> offer-banner bannerType=blueBanner }}
27
+ {{/unless}}
18
28
  {{#block "header"}}
19
29
  {{> header chatBot=chatBot }}
20
30
  {{/block}}
@@ -0,0 +1,120 @@
1
+ {{#extend "base" pageClass="home-page" title="Banner" hideBreadcrumbs=true hideBanner=false pageHome=true smartBannerDIY=true blueBanner=true}}
2
+ {{#content "head" mode="append" pageHome="true"}}
3
+ <link type="text/css" rel="stylesheet" href="./css/pages/page_home.css">
4
+ <style>
5
+ .home-page > .sticky-wrapper {
6
+ display: block;
7
+ }
8
+ .hero {
9
+ position: relative;
10
+ height: 400px;
11
+ overflow: hidden;
12
+ max-width: 1397px;
13
+ margin: 0 auto;
14
+ }
15
+
16
+ @media screen and (max-width: 992px) {
17
+ .hero {
18
+ height: 290px;
19
+ }
20
+ }
21
+
22
+ @media screen and (max-width: 600px) {
23
+ .hero {
24
+ height: 500px;
25
+ }
26
+ }
27
+
28
+ .hero__image-container .hero__image {
29
+ position: absolute;
30
+ left: 50%;
31
+ top: 50%;
32
+ transform: translate(-50%, -50%);
33
+ }
34
+
35
+ @media screen and (max-width: 768px) {
36
+ .hero__image-container {
37
+ height: 290px;
38
+ overflow: hidden;
39
+ position: relative;
40
+ }
41
+ }
42
+
43
+ @media screen and (max-width: 600px) {
44
+ .hero__image-container {
45
+ height: 290px;
46
+ overflow: hidden;
47
+ position: relative;
48
+ }
49
+ }
50
+
51
+ .hero__banner {
52
+ position: absolute;
53
+ width: 380px;
54
+ top: 0;
55
+ left: 10%;
56
+ margin: 0 auto;
57
+ height: 100%;
58
+ }
59
+
60
+ @media screen and (max-width: 900px) {
61
+ .hero__banner {
62
+ max-width: 240px;
63
+ }
64
+ }
65
+
66
+ @media screen and (max-width: 600px) {
67
+ .hero__banner {
68
+ max-width: 100%;
69
+ width: 100%;
70
+ position: relative;
71
+ left: 0;
72
+ }
73
+ }
74
+
75
+ .hero__banner .banner-info_large {
76
+ position: relative;
77
+ }
78
+ .hero__banner .banner-info__offer {
79
+ font-size: 3rem;
80
+ margin-bottom: 20px;
81
+ width: 100%;
82
+ max-width: 100%;
83
+ }
84
+ </style>
85
+ {{/content}}
86
+ {{#content "body"}}
87
+ <main class="banner-inside">
88
+ <div class="hero">
89
+ <img class="hero__image" src="./img/placeholders/hero.jpg" alt="hero">
90
+ </div>
91
+
92
+ <div class="proposition">
93
+ <div class="proposition__inner">
94
+ <a href="#" class="proposition__link proposition__link_click-collect">
95
+ <span class="proposition__icon proposition__icon_click-collect"><i
96
+ class="fas fa-mouse-pointer icon"></i></span>
97
+ FREE Click &amp; Collect<span
98
+ class="proposition__link_click-collect-short-text"> from store in 1 hour</span>
99
+ </a>
100
+ <a href="#" class="proposition__link proposition__link_delivery">
101
+ <span class="proposition__icon proposition__icon_delivery"><i class="fas fa-truck icon"></i></span>FREE
102
+ delivery *
103
+ </a>
104
+ <a href="#" class="proposition__link proposition__link_returns">
105
+ <span class="proposition__icon proposition__icon_returns"><i class="fas fa-reply-all icon"></i></span>FREE
106
+ returns
107
+ </a>
108
+ <a href="#" class="proposition__link proposition__link_price-promise">
109
+ <span class="proposition__icon proposition__icon_price-promise"><i class="fas fa-pound-sign icon"></i></span>Price
110
+ match promise
111
+ </a>
112
+ </div>
113
+ </div>
114
+
115
+ {{> home-offers }}
116
+ {{> popular-categories }}
117
+
118
+ </main>
119
+ {{/content}}
120
+ {{/extend}}
@@ -0,0 +1,121 @@
1
+ {{#extend "base" pageClass="home-page" title="Banner" hideBreadcrumbs=true hideBanner=false pageHome=true smartBannerTradePro=true blueBanner=true}}
2
+ {{#content "head" mode="append" pageHome="true"}}
3
+ <link type="text/css" rel="stylesheet" href="./css/pages/page_home.css">
4
+ <style>
5
+ .home-page > .sticky-wrapper {
6
+ display: block;
7
+ }
8
+ .hero {
9
+ position: relative;
10
+ height: 400px;
11
+ overflow: hidden;
12
+ max-width: 1397px;
13
+ margin: 0 auto;
14
+ }
15
+
16
+ @media screen and (max-width: 992px) {
17
+ .hero {
18
+ height: 290px;
19
+ }
20
+ }
21
+
22
+ @media screen and (max-width: 600px) {
23
+ .hero {
24
+ height: 500px;
25
+ }
26
+ }
27
+
28
+ .hero__image-container .hero__image {
29
+ position: absolute;
30
+ left: 50%;
31
+ top: 50%;
32
+ transform: translate(-50%, -50%);
33
+ }
34
+
35
+ @media screen and (max-width: 768px) {
36
+ .hero__image-container {
37
+ height: 290px;
38
+ overflow: hidden;
39
+ position: relative;
40
+ }
41
+ }
42
+
43
+ @media screen and (max-width: 600px) {
44
+ .hero__image-container {
45
+ height: 290px;
46
+ overflow: hidden;
47
+ position: relative;
48
+ }
49
+ }
50
+
51
+ .hero__banner {
52
+ position: absolute;
53
+ width: 380px;
54
+ top: 0;
55
+ left: 10%;
56
+ margin: 0 auto;
57
+ height: 100%;
58
+ }
59
+
60
+ @media screen and (max-width: 900px) {
61
+ .hero__banner {
62
+ max-width: 240px;
63
+ }
64
+ }
65
+
66
+ @media screen and (max-width: 600px) {
67
+ .hero__banner {
68
+ max-width: 100%;
69
+ width: 100%;
70
+ position: relative;
71
+ left: 0;
72
+ }
73
+ }
74
+
75
+ .hero__banner .banner-info_large {
76
+ position: relative;
77
+ }
78
+ .hero__banner .banner-info__offer {
79
+ font-size: 3rem;
80
+ margin-bottom: 20px;
81
+ width: 100%;
82
+ max-width: 100%;
83
+ }
84
+ </style>
85
+
86
+ {{/content}}
87
+ {{#content "body"}}
88
+ <main class="banner-inside">
89
+ <div class="hero">
90
+ <img class="hero__image" src="./img/placeholders/hero.jpg" alt="hero">
91
+ </div>
92
+
93
+ <div class="proposition">
94
+ <div class="proposition__inner">
95
+ <a href="#" class="proposition__link proposition__link_click-collect">
96
+ <span class="proposition__icon proposition__icon_click-collect"><i
97
+ class="fas fa-mouse-pointer icon"></i></span>
98
+ FREE Click &amp; Collect<span
99
+ class="proposition__link_click-collect-short-text"> from store in 1 hour</span>
100
+ </a>
101
+ <a href="#" class="proposition__link proposition__link_delivery">
102
+ <span class="proposition__icon proposition__icon_delivery"><i class="fas fa-truck icon"></i></span>FREE
103
+ delivery *
104
+ </a>
105
+ <a href="#" class="proposition__link proposition__link_returns">
106
+ <span class="proposition__icon proposition__icon_returns"><i class="fas fa-reply-all icon"></i></span>FREE
107
+ returns
108
+ </a>
109
+ <a href="#" class="proposition__link proposition__link_price-promise">
110
+ <span class="proposition__icon proposition__icon_price-promise"><i class="fas fa-pound-sign icon"></i></span>Price
111
+ match promise
112
+ </a>
113
+ </div>
114
+ </div>
115
+
116
+ {{> home-offers }}
117
+ {{> popular-categories }}
118
+
119
+ </main>
120
+ {{/content}}
121
+ {{/extend}}
@@ -20,3 +20,10 @@
20
20
  <script defer src="./js/saving-shopping-list.min.js"></script>
21
21
  <script async src="https://static.addtoany.com/menu/page.js"></script>
22
22
  {{/if}}
23
+
24
+ {{#if smartBannerDIY}}
25
+ <script defer src="./js/smart-banner.min.js"></script>
26
+ {{/if}}
27
+ {{#if smartBannerTradePro}}
28
+ <script defer src="./js/smart-banner.min.js"></script>
29
+ {{/if}}
@@ -0,0 +1,85 @@
1
+ .smart-banner {
2
+ display: none;
3
+ position: relative;
4
+ color: $gray-dark;
5
+ height: auto;
6
+ padding: 9px 8px;
7
+ justify-content: space-between;
8
+ align-items: center;
9
+ flex-wrap: nowrap;
10
+ column-gap: 8px;
11
+
12
+ > div {
13
+ display: flex;
14
+ align-items: center;
15
+
16
+ &:nth-of-type(3) {
17
+ column-gap: 10px;
18
+ }
19
+
20
+ }
21
+
22
+ .header-text {
23
+ font-style: normal;
24
+ font-weight: 500;
25
+ font-size: 0.75rem;
26
+ line-height: 16px;
27
+ color: $gray-dark;
28
+ margin-bottom: 0;
29
+ white-space: normal;
30
+ }
31
+
32
+ &__head {
33
+ width: auto;
34
+ padding-left: 0;
35
+ }
36
+
37
+ &__action {
38
+ width: auto;
39
+ padding: 0;
40
+
41
+ &-close.close {
42
+ position: static;
43
+ font-size: 1.1rem;
44
+ }
45
+
46
+ .btn-primary {
47
+ font-size: 0.75rem;
48
+ font-weight: 500;
49
+ letter-spacing: .5px;
50
+ line-height: 16px;
51
+ padding: 11px 6px;
52
+ }
53
+
54
+ .btn_hover {
55
+ color: $blue;
56
+ background-color: $white;
57
+ border-color: $blue;
58
+
59
+ &:hover {
60
+ background-color: $blue;
61
+ border-color: $blue;
62
+ color: $white;
63
+ }
64
+ }
65
+ }
66
+
67
+ &__logo {
68
+ width: 40px;
69
+ padding: 0;
70
+
71
+ img {
72
+ display: block;
73
+ height: auto;
74
+ max-width: 100%;
75
+ }
76
+ }
77
+ }
78
+
79
+ @include media-breakpoint-down(xs) {
80
+ .smart-banner {
81
+ &.show {
82
+ display: flex;
83
+ }
84
+ }
85
+ }
@@ -172,8 +172,31 @@
172
172
  font-weight: 500;
173
173
  text-align: center;
174
174
  }
175
- }
175
+ }
176
+
177
+ &.smart-banner-loader {
178
+ background: $white-transparent90;
179
+ flex-direction: column;
180
+ row-gap: 8px;
181
+
182
+ .loader-spinner {
183
+ .circular-loader {
184
+ width: 24px;
185
+ height: 24px;
186
+ stroke-width: 6px;
187
+ }
188
+ }
176
189
 
190
+ h2 {
191
+ color: $blue-dark;
192
+ text-align: center;
193
+ font-style: normal;
194
+ font-weight: 500;
195
+ font-size: 0.75rem;
196
+ line-height: 16px;
197
+ margin-bottom: 0;
198
+ }
199
+ }
177
200
  }
178
201
 
179
202
 
@@ -6,4 +6,5 @@
6
6
  @import '../components/popover-mini-basket';
7
7
  @import '../components/autocomplete';
8
8
  @import '../components/google_banner';
9
+ @import '../components/smart-banner';
9
10
  @import '../components/snack-bar';