svn commit: r1864199 [1/2] - in /ofbiz/branches/release16.11: framework/common/src/main/java/org/apache/ofbiz/common/ framework/common/template/ framework/images/webapp/images/ framework/images/webapp/images/jquery/plugins/jquery.cookieBar/ framework/i...

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1864199 [1/2] - in /ofbiz/branches/release16.11: framework/common/src/main/java/org/apache/ofbiz/common/ framework/common/template/ framework/images/webapp/images/ framework/images/webapp/images/jquery/plugins/jquery.cookieBar/ framework/i...

adityasharma
Author: adityasharma
Date: Fri Aug  2 06:32:23 2019
New Revision: 1864199

URL: http://svn.apache.org/viewvc?rev=1864199&view=rev
Log:
Implemented: Cookie Consent In E-Commerce
(OFBIZ-10639)
The Cookie Law is a piece of privacy legislation that requires websites to get consent from visitors to store or retrieve any information on their computer, smartphone or tablet. It was designed to protect online privacy, by making consumers aware of how information about them is collected and used online, and give them a choice to allow it or not.
 
The EU Cookie Legislation began as a directive from the European Union. Some variation on the policy has since been adopted by all countries within the EU.
 
The EU Cookie Legislation requires 4 actions from website owners who use cookies:
1. When someone visits your website, you need to let them know that your site uses cookies.
2. You need to provide detailed information regarding how that cookie data will be utilized.
3. You need to provide visitors with some means of accepting or refusing the use of cookies in your site.
4. If they refuse, you need to ensure that cookies will not be placed on their machine.

Used cookie bar plugin to implement the feature. Implemented localization with createJsLanguageFileMapping service and custom jquery-cookieBar-en-US.js file under localization folder.
Fixed output file path in createJsLanguageFileMapping service.
Thanks Deepak Nigam for initiating and providing initial patch. Thanks Deepak Nigam, Pierre Smits, Michael Brohl, Jacques Le Roux and Swapnil M Mane for inputs.

Added:
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/.gitignore
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/LICENSE   (with props)
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/README.md   (with props)
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/example.css   (with props)
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/index.html   (with props)
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/gruntfile.js   (with props)
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.css   (with props)
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.js   (with props)
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.css   (with props)
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.js   (with props)
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.scss
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/localization/
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js   (with props)
    ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/package.json
Modified:
    ofbiz/branches/release16.11/framework/common/src/main/java/org/apache/ofbiz/common/JsLanguageFileMappingCreator.java
    ofbiz/branches/release16.11/framework/common/src/main/java/org/apache/ofbiz/common/JsLanguageFilesMapping.java
    ofbiz/branches/release16.11/framework/common/template/JsLanguageFilesMapping.ftl
    ofbiz/branches/release16.11/framework/images/webapp/images/OfbizUtil.js
    ofbiz/branches/release16.11/framework/images/webapp/images/ecommain.css
    ofbiz/branches/release16.11/specialpurpose/ecommerce/data/DemoWebSitePublishPointData.xml
    ofbiz/branches/release16.11/specialpurpose/ecommerce/webapp/ecommerce/WEB-INF/controller.xml
    ofbiz/branches/release16.11/specialpurpose/ecommerce/widget/CommonScreens.xml

Modified: ofbiz/branches/release16.11/framework/common/src/main/java/org/apache/ofbiz/common/JsLanguageFileMappingCreator.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/common/src/main/java/org/apache/ofbiz/common/JsLanguageFileMappingCreator.java?rev=1864199&r1=1864198&r2=1864199&view=diff
==============================================================================
--- ofbiz/branches/release16.11/framework/common/src/main/java/org/apache/ofbiz/common/JsLanguageFileMappingCreator.java (original)
+++ ofbiz/branches/release16.11/framework/common/src/main/java/org/apache/ofbiz/common/JsLanguageFileMappingCreator.java Fri Aug  2 06:32:23 2019
@@ -52,6 +52,7 @@ public class JsLanguageFileMappingCreato
         Map<String, String> dateJsLocaleFile = new LinkedHashMap<String, String>();
         Map<String, String> validationLocaleFile = new LinkedHashMap<String, String>();
         Map<String, String> dateTimePickerLocaleFile = new LinkedHashMap<String, String>();
+        Map<String, String> cookieBarLocaleFile = new LinkedHashMap<String, String>();
 
         // setup some variables to locate the js files
         String componentRoot = "component://images/webapp";
@@ -59,12 +60,15 @@ public class JsLanguageFileMappingCreato
         String dateJsLocaleRelPath = "/images/jquery/plugins/datejs/";
         String validateRelPath = "/images/jquery/plugins/validate/localization/";
         String dateTimePickerJsLocaleRelPath = "/images/jquery/plugins/datetimepicker/localization/";
+        String cookieBarRelPath = "/images/jquery/plugins/jquery.cookieBar/localization/";
         String jsFilePostFix = ".js";
         String dateJsLocalePrefix = "date-";
         String validateLocalePrefix = "messages_";
         String jqueryUiLocalePrefix = "jquery.ui.datepicker-";
         String dateTimePickerPrefix = "jquery-ui-timepicker-";
+        String cookieBarPrefix = "jquery-cookieBar-";
         String defaultLocaleDateJs = "en-US";
+        String defaultLocaleCookieBar = "en-US";
         String defaultLocaleJquery = "en"; // Beware to keep the OFBiz specific jquery.ui.datepicker-en.js file when upgrading...
 
         for (Locale locale : localeList) {
@@ -176,16 +180,39 @@ public class JsLanguageFileMappingCreato
                 }
             }
             dateTimePickerLocaleFile.put(displayCountry, fileUrl);
+
+
+            /*
+             * Try to open the jquery cookiebar language file
+             */
+            fileName = componentRoot + cookieBarRelPath + cookieBarPrefix + strippedLocale + jsFilePostFix;
+            file = FileUtil.getFile(fileName);
+
+            if (file.exists()) {
+                fileUrl = cookieBarRelPath + cookieBarPrefix + strippedLocale + jsFilePostFix;
+            } else {
+                // Try to guess a language
+                fileName = componentRoot + cookieBarRelPath + cookieBarPrefix + modifiedDisplayCountry + jsFilePostFix;
+                file = FileUtil.getFile(fileName);
+                if (file.exists()) {
+                    fileUrl = cookieBarRelPath + cookieBarPrefix + modifiedDisplayCountry + jsFilePostFix;
+                } else {
+                    // use default language en as fallback
+                    fileUrl = cookieBarRelPath + cookieBarPrefix + defaultLocaleCookieBar + jsFilePostFix;
+                }
+            }
+            cookieBarLocaleFile.put(displayCountry, fileUrl);
         }
 
         // check the template file
         String template = "framework/common/template/JsLanguageFilesMapping.ftl";
-        String output = "framework/common/src/org/apache/ofbiz/common/JsLanguageFilesMapping.java";
+        String output = "framework/common/src/main/java/org/apache/ofbiz/common/JsLanguageFilesMapping.java";
         Map<String, Object> mapWrapper = new HashMap<String, Object>();
         mapWrapper.put("datejs", dateJsLocaleFile);
         mapWrapper.put("jquery", jQueryLocaleFile);
         mapWrapper.put("validation", validationLocaleFile);
         mapWrapper.put("dateTime", dateTimePickerLocaleFile);
+        mapWrapper.put("cookieBar", cookieBarLocaleFile);
 
         // some magic to create a new java file: render it as FTL
         Writer writer = new StringWriter();

Modified: ofbiz/branches/release16.11/framework/common/src/main/java/org/apache/ofbiz/common/JsLanguageFilesMapping.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/common/src/main/java/org/apache/ofbiz/common/JsLanguageFilesMapping.java?rev=1864199&r1=1864198&r2=1864199&view=diff
==============================================================================
--- ofbiz/branches/release16.11/framework/common/src/main/java/org/apache/ofbiz/common/JsLanguageFilesMapping.java (original)
+++ ofbiz/branches/release16.11/framework/common/src/main/java/org/apache/ofbiz/common/JsLanguageFilesMapping.java Fri Aug  2 06:32:23 2019
@@ -727,4 +727,180 @@ public final class JsLanguageFilesMappin
             return dateTime.defaultDateTime;
         }
     }
+
+    public static class cookieBar {
+        private static Map<String, String> localeFiles = new HashMap<String, String>();
+        private static String defaultCookieBar = "/images/webapp/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js";
+
+        static {
+            localeFiles.put("sq", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sq_AL", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_DZ", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_BH", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_EG", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_IQ", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_JO", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_KW", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_LB", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_LY", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_MA", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_OM", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_QA", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_SA", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_SD", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_SY", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_TN", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_AE", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ar_YE", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("be", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("be_BY", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("bg", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("bg_BG", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ca", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ca_ES", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("zh", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("zh_CN", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("zh_HK", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("zh_SG", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("zh_TW", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("hr", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("hr_HR", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("cs", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("cs_CZ", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("da", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("da_DK", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("nl", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("nl_BE", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("nl_NL", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("en", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("en_AU", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("en_CA", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("en_IN", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("en_IE", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("en_MT", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("en_NZ", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("en_PH", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("en_SG", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("en_ZA", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("en_GB", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("en_US", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("et", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("et_EE", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("fi", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("fi_FI", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("fr", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("fr_BE", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("fr_CA", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("fr_FR", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("fr_LU", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("fr_CH", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("de", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("de_AT", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("de_DE", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("de_GR", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("de_LU", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("de_CH", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("el", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("el_CY", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("el_GR", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("iw", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("iw_IL", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("hi", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("hi_IN", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("hu", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("hu_HU", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("is", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("is_IS", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("in", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("in_ID", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ga", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ga_IE", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("it", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("it_IT", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("it_CH", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ja", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ja_JP", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ja_JP_JP_#u-ca-japanese", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ko", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ko_KR", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("lv", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("lv_LV", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("lt", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("lt_LT", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("mk", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("mk_MK", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ms", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ms_MY", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("mt", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("mt_MT", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("no", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("no_NO", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("no_NO_NY", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("pl", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("pl_PL", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("pt", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("pt_BR", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("pt_PT", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ro", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ro_RO", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ru", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("ru_RU", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sr", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sr_BA", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sr__#Latn", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sr_BA_#Latn", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sr_ME_#Latn", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sr_RS_#Latn", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sr_ME", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sr_CS", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sr_RS", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sk", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sk_SK", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sl", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sl_SI", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_AR", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_BO", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_CL", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_CO", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_CR", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_CU", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_DO", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_EC", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_SV", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_GT", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_HN", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_MX", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_NI", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_PA", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_PY", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_PE", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_PR", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_ES", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_US", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_UY", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("es_VE", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sv", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("sv_SE", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("th", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("th_TH", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("th_TH_TH_#u-nu-thai", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("tr", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("tr_TR", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("uk", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("uk_UA", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("vi", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+            localeFiles.put("vi_VN", "/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js");
+        }
+
+        public static String getFilePath(String locale) {
+            if (cookieBar.localeFiles.containsKey(locale)) {
+                return cookieBar.localeFiles.get(locale);
+            }
+            return cookieBar.defaultCookieBar;
+        }
+    }
+
+
 }

Modified: ofbiz/branches/release16.11/framework/common/template/JsLanguageFilesMapping.ftl
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/common/template/JsLanguageFilesMapping.ftl?rev=1864199&r1=1864198&r2=1864199&view=diff
==============================================================================
--- ofbiz/branches/release16.11/framework/common/template/JsLanguageFilesMapping.ftl (original)
+++ ofbiz/branches/release16.11/framework/common/template/JsLanguageFilesMapping.ftl Fri Aug  2 06:32:23 2019
@@ -109,4 +109,25 @@ public final class JsLanguageFilesMappin
             return dateTime.defaultDateTime;
         }
     }
+
+    public static class cookieBar {
+        private static Map<String, String> localeFiles = new HashMap<String, String>();
+        private static String defaultCookieBar = "/images/webapp/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js";
+
+        static {
+            <#list cookieBar.keySet() as cookieBarFiles>
+            <#assign filePath = cookieBar.get(cookieBarFiles)! />
+            localeFiles.put("${cookieBarFiles}", "${filePath}");
+            </#list>
+        }
+
+        public static String getFilePath(String locale) {
+            if (cookieBar.localeFiles.containsKey(locale)) {
+                return cookieBar.localeFiles.get(locale);
+            }
+            return cookieBar.defaultCookieBar;
+        }
+    }
+
+
 }

Modified: ofbiz/branches/release16.11/framework/images/webapp/images/OfbizUtil.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/OfbizUtil.js?rev=1864199&r1=1864198&r2=1864199&view=diff
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/OfbizUtil.js (original)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/OfbizUtil.js Fri Aug  2 06:32:23 2019
@@ -27,6 +27,13 @@ var AJAX_REQUEST_TIMEOUT = 5000;
 $(document).ready(function() {
     // bindObservers will add observer on passed html section when DOM is ready.
     bindObservers("body");
+    if (jQuery.cookieBar !== undefined) {
+        jQuery.cookieBar({
+            infoLink: "/ecommerce/control/CookiePolicy",
+            privacy: "popup",
+            privacyContent: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
+        });
+    }
 });
 
 /* bindObservers function contains the code of adding observers and it can be called for specific section as well

Modified: ofbiz/branches/release16.11/framework/images/webapp/images/ecommain.css
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/ecommain.css?rev=1864199&r1=1864198&r2=1864199&view=diff
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/ecommain.css (original)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/ecommain.css Fri Aug  2 06:32:23 2019
@@ -1824,3 +1824,18 @@ button.ui-button::-moz-focus-inner { bor
     vertical-align: top;
     width: 22px;
 }
+
+/*Custom styling for Cookie Bar plugin*/
+.cookie-bar a {
+    color: #fff!important;
+    text-decoration: underline!important;
+}
+button.cookie-bar__btn:hover{
+    background-color: #0267bf!important;
+    color: #fff!important;
+    border: none!important;
+}
+
+.cookie-bar__inner {
+    background-color: #1C334D;
+}
\ No newline at end of file

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/.gitignore
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/.gitignore?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/.gitignore (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/.gitignore Fri Aug  2 06:32:23 2019
@@ -0,0 +1 @@
+/node_modules/
\ No newline at end of file

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/LICENSE
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/LICENSE?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/LICENSE (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/LICENSE Fri Aug  2 06:32:23 2019
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2018 Pavel Kovář
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/LICENSE
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/LICENSE
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/LICENSE
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/README.md
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/README.md?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/README.md (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/README.md Fri Aug  2 06:32:23 2019
@@ -0,0 +1,144 @@
+# jquery.cookieBar plugin
+[Go to demo page](https://cookiebar.pavelkovar.cz/)
+
+## Introduction
+
+Small jQuery plugin, which adds a simple Cookie Bar with info about cookies using. Plugin is simply modified and contains clever multilingual function.
+
+## Installing
+
+The simplest ways to download and install this plugin.
+
+###Step 1: Install
+
+#### Via npm
+`$ npm i kovarp-jquery-cookiebar`
+
+#### Clone repository
+`$ git clone https://github.com/kovarp/jquery.cookieBar`
+
+#### Direct download
+Download this plugin direct in latest version from GitHub repository or from [the plugin page](http://cookiebar.pavelkovar.cz/)
+
+###Step 2: Add to page
+
+#### Link plugin CSS file in page head
+
+```html
+<link rel="stylesheet" href="jquery.cookieBar.min.css">
+```
+
+#### Link plugin script file after jQuery
+
+```html
+<script src="jquery.min.js"></script>
+<script src="jquery.cookieBar.js"></script>
+```
+## Using
+
+Examples of plugin using.
+
+### Default initialization
+
+```js
+$(function() {
+ $.cookieBar();
+});
+```
+
+### Initialization with custom options
+
+```js
+$(function() {
+ $.cookieBar({
+ style: 'bottom'
+ });
+});
+```
+
+## Options
+
+**style** - Define style of display cookie bar on page
+```
+default: 'top'
+options: 'top', 'bottom', 'bottom-left', 'bottom-right'
+```
+
+**wrapper** - Wrapper, where the cookie bar will prepended
+```
+default: 'body'
+options: string
+```
+
+**expireDays** - Number of days, when the cookies will expires
+```
+default: 365
+options: integer
+```
+
+**infoLink** - URL for "more info link"
+```
+default: 'https://www.google.com/policies/technologies/cookies/'
+options: string
+```
+
+**infoTarget** - Target attribute for "more info link"
+```
+default: '_blank'
+options: '_blank', '_self', '_parent', '_top'
+```
+
+**language** - Language of the cookie bar
+```
+default: $('html').attr('lang') || 'en'
+options: 'ISO 639-1 Language Code'
+```
+_The default value means, that the plugin detect automatically language from html lang attribute._
+
+**privacy** - Show privacy protection button (GDPR)
+```
+default: false
+options: false, 'popup', 'bs_modal', 'link'
+```
+
+**privacyTarget** - Target attribute for "privacy button link"
+```
+default: '_blank'
+options: '_blank', '_self', '_parent', '_top'
+```
+
+**privacyContent** - Content for privacy button
+```
+default: null
+options: null, 'custom HTML', 'Bootstrap modal ID', 'url'
+```
+
+## Languages support
+
+You can simply add new language for Cookie Bar. Just use **addTranslation** method.
+
+```js
+$(function() {
+ $.cookieBar('addTranslation', 'de', {
+ message: 'Zur Bereitstellung von Diensten verwenden wir Cookies. Durch die Nutzung dieser Website stimmen Sie zu.',
+ acceptText: 'OK',
+ infoText: 'Mehr Informationen'
+ });
+});
+```
+
+Then, you can initialize the Cookie Bar with your own language.
+
+```js
+$(function() {
+ $.cookieBar({
+ language: 'de'
+ });
+});
+```
+
+_Feel free to make pull request with your new language. ;)_
+
+## Detect cookies state
+
+You can detect, if user agreed with cookies using. The plugin save this information in cookie with name **cookies-state**. So, you can just read this value by JS or PHP and check, if the value equals **accepted**.

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/README.md
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/README.md
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/README.md
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/example.css
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/example.css?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/example.css (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/example.css Fri Aug  2 06:32:23 2019
@@ -0,0 +1,15 @@
+pre {
+ padding: 5px;
+}
+
+h1,
+h2,
+h3,
+h4 {
+ margin-bottom: 1.5rem;
+}
+
+hr {
+ margin-top: 1.5rem;
+ margin-bottom: 1.5rem;
+}
\ No newline at end of file

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/example.css
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/example.css
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/example.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/index.html
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/index.html?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/index.html (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/index.html Fri Aug  2 06:32:23 2019
@@ -0,0 +1,324 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+ <meta name="author" content="Pavel Kovář - Frontend developer [www.pavelkovar.cz]">
+
+ <meta name="keywords" content="cookie, bar, eu, law, info, accept, multilingual, jquery, plugin">
+ <meta name="description" content="jQuery plugin, which adds a simple Cookie Bar with info about cookies using. Simply modified and contains multilingual support.">
+
+ <title>jQuery Cookie bar plugin</title>
+
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
+ <link rel="stylesheet" href="../jquery.cookieBar.min.css">
+ <link rel="stylesheet" href="example.css">
+ <script src="https://use.fontawesome.com/aabc0bcc52.js"></script>
+</head>
+<body>
+
+ <div class="container">
+
+ <nav class="navbar navbar-light bg-faded mb-2">
+ <h1 class="navbar-brand mb-0 text-xs-center float-sm-left" style="float: none;">jQuery Cookie Bar plugin</h1>
+ <button id="reload-cookies" type="button" class="btn btn-danger ml-auto mr-1"><i class="fa fa-refresh fa-fw"></i> Reload page cookies</button>
+ <button id="toggle-style" type="button" class="btn btn-success mr-1">Toggle style</button>
+ </nav>
+
+ <p>
+ <a href="https://github.com/kovarp/jquery.cookieBar" class="btn btn-secondary" target="_blank"><i class="fa fa-github fa-fw"></i> View on GitHub</a>
+ </p>
+
+ <h2>Introduction</h2>
+
+ <p>
+ Small jQuery plugin, which adds a simple Cookie Bar with info about cookies using. Plugin is simply modified and contains clever multilingual function.
+ </p>
+
+ <p>
+ From version 1.2 this plugin supports also GDPR (privacy protection) info.
+ </p>
+
+ <hr>
+
+ <h2>Installing</h2>
+
+ <p>The simplest ways to download and install this plugin.</p>
+
+ <ol style="padding-left: 20px;">
+ <li class="mb-2">
+ <h3>Install</h3>
+
+ <ol style="list-style-type: lower-latin;padding-left: 20px;">
+ <li>
+ <h4>Via npm</h4>
+ <pre class="bg-faded">
+$ npm i kovarp-jquery-cookiebar</pre>
+ </li>
+ <li>
+ <h4>Clone repository</h4>
+ <pre class="bg-faded">
+$ git clone https://github.com/kovarp/jquery.cookieBar</pre>
+ </li>
+ <li>
+ <h4>Direct download</h4>
+
+ <p>
+ Download this plugin direct in latest version from GitHub repository.
+ </p>
+
+ <a class="github-button" href="https://github.com/kovarp/jquery.cookiebar/archive/master.zip" data-style="mega" aria-label="Download kovarp/jquery.cookiebar on GitHub">Download</a>
+ </li>
+ </ol>
+ </li>
+ <li>
+ <h3>Add to page</h3>
+
+ <ol>
+ <li>
+ <h4>Link plugin CSS file in page head</h4>
+ <pre class="bg-faded">
+&#60;link rel="stylesheet" href="jquery.cookieBar.min.css"&#62;</pre>
+ </li>
+ <li>
+ <h4>Link plugin script file after jQuery</h4>
+ <pre class="bg-faded">
+&#60;script src="jquery.min.js"&#62;&#60;/script&#62;
+&#60;script src="jquery.cookieBar.js"&#62;&#60;/script&#62;</pre>
+ </li>
+ </ol>
+ </li>
+ </ol>
+
+
+
+ <hr>
+
+ <h2>Using</h2>
+
+ <p>
+ Examples of plugin using.
+ </p>
+
+ <h3>Default initialization</h3>
+
+ <pre class="bg-faded">
+$(function() {
+ $.cookieBar();
+});</pre>
+
+ <h3>Initialization with custom options</h3>
+
+ <pre class="bg-faded">
+$(function() {
+ $.cookieBar({
+ style: 'bottom'
+ });
+});</pre>
+
+ <hr>
+
+ <h3>Options</h3>
+
+ <p>
+ <strong>style</strong> - Define style of display cookie bar on page
+ </p>
+
+ <pre class="bg-faded">
+default: 'top'
+options: 'top', 'bottom', 'bottom-left', 'bottom-right'</pre>
+
+ <p>
+ <strong>wrapper</strong> - Wrapper, where the cookie bar will prepended
+ </p>
+
+ <pre class="bg-faded">
+default: 'body'
+options: string</pre>
+
+ <p>
+ <strong>expireDays</strong> - Number of days, when the cookies will expires
+ </p>
+
+ <pre class="bg-faded">
+default: 365
+options: integer</pre>
+
+ <p>
+ <strong>infoLink</strong> - URL for "more info link"
+ </p>
+
+ <pre class="bg-faded">
+default: 'https://www.google.com/policies/technologies/cookies/'
+options: string</pre>
+
+ <p>
+ <strong>infoTarget</strong> - Targer for "more info link"
+ </p>
+
+ <pre class="bg-faded">
+default: '_blank'
+options: '_blank', '_self', '_parent', '_top'</pre>
+
+ <p>
+ <strong>language</strong> - Language of the cookie bar
+ </p>
+
+ <pre class="bg-faded">
+default: $('html').attr('lang') || 'en'
+options: 'ISO 639-1 Language Code'</pre>
+ <p>
+ <i>The default value means, that the plugin detect automatically language from html lang attribute.</i>
+ </p>
+
+ <p>
+ <strong>privacy</strong> - Show privacy protection button (GDPR)
+ </p>
+
+ <pre class="bg-faded">
+default: false
+options: false, 'popup', 'bs_modal', 'link'</pre>
+
+ <p>
+ <strong>privacyTarget</strong> - Target attribute for "privacy button link"
+ </p>
+
+ <pre class="bg-faded">
+default: '_blank'
+options: '_blank', '_self', '_parent', '_top'</pre>
+
+ <p>
+ <strong>privacyContent</strong> - Content for privacy button
+ </p>
+
+ <pre class="bg-faded">
+default: null
+options: null, 'custom HTML', 'Bootstrap modal ID', 'url'</pre>
+
+ <hr>
+
+ <h3>Languages support</h3>
+
+ <p>You can simply add new language for Cookie Bar. Just use <strong>addTranslation</strong> method.</p>
+
+ <pre class="bg-faded">
+$(function() {
+ $.cookieBar('addTranslation', 'de', {
+ message: 'Zur Bereitstellung von Diensten verwenden wir Cookies. Durch die Nutzung dieser Website stimmen Sie zu.',
+ acceptText: 'OK',
+ infoText: 'Mehr Informationen',
+ privacyText: 'Datenschutz'
+ });
+});</pre>
+
+ <p>
+ Then, you can initialize the Cookie Bar with your own language.
+ </p>
+
+ <pre class="bg-faded">
+$(function() {
+ $.cookieBar({
+ language: 'de'
+ });
+});</pre>
+
+ <p>
+ <i>Feel free to make pull request with your new language. ;)</i>
+ </p>
+
+ <hr>
+
+ <h3>Detect cookies state</h3>
+
+ <p>You can detect, if user agreed with cookies using. The plugin save this information in cookie with name <strong>cookies-state</strong>. So, you can just read this value by JS or PHP and check, if the value equals <strong>accepted</strong>.</p>
+
+ <hr>
+
+ <footer>
+ <p>Copyright &copy; 2018 by <a href="http://www.pavelkovar.cz/" target="_blank">Pavel Kovář - Frontend developer</a></p>
+ </footer>
+
+ </div>
+
+ <div id="privacyModal" class="modal" tabindex="-1" role="dialog">
+ <div class="modal-dialog" role="document">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h5 class="modal-title">Privacy protection</h5>
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="modal-body">
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorem, excepturi, expedita illo in
+ labore maiores modi mollitia nulla officiis perferendis quam qui quos rem repellendus
+ repudiandae sapiente temporibus velit vero!
+ </p>
+ <p>
+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolorem, excepturi, expedita illo in
+ labore maiores modi mollitia nulla officiis perferendis quam qui quos rem repellendus
+ repudiandae sapiente temporibus velit vero!
+ </p>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <script src="../node_modules/jquery/dist/jquery.min.js"></script>
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js" integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ" crossorigin="anonymous"></script>
+ <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script>
+ <script src="../jquery.cookieBar.min.js"></script>
+
+ <script>
+ // Cookie Bar initialization
+ $(function() {
+ $.cookieBar({
+ privacy: 'bs_modal',
+ privacyContent: '#privacyModal'
+ });
+ });
+
+ // Just example purpose
+ var style = 1;
+ var styles = [
+ 'top',
+ 'bottom',
+ 'bottom-left',
+ 'bottom-right'
+ ];
+
+ $(function() {
+ $('#reload-cookies').on('click', function() {
+ if($.cookieBar('getCookie', 'cookies-state') === 'accepted') {
+ $.cookieBar('setCookie', 'cookies-state', '', 0);
+ $.cookieBar('displayBar');
+ }
+ });
+
+ $('#toggle-style').on('click', function() {
+ $('#cookie-bar').remove();
+
+ $.cookieBar({
+ style: styles[style],
+ privacy: 'bs_modal',
+ privacyContent: '#privacyModal'
+ });
+
+ style++;
+
+ if ( style >= styles.length ) {
+ style = 0;
+ }
+ });
+ });
+ </script>
+
+ <script async defer src="https://buttons.github.io/buttons.js"></script>
+
+</body>
+</html>
\ No newline at end of file

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/index.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/index.html
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/example/index.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/gruntfile.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/gruntfile.js?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/gruntfile.js (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/gruntfile.js Fri Aug  2 06:32:23 2019
@@ -0,0 +1,62 @@
+module.exports = function (grunt) {
+ require('jit-grunt')(grunt);
+
+ grunt.initConfig(
+ {
+ watch:       {
+ sass: {
+ files: ['jquery.cookieBar.scss'],
+ tasks: ['sass', 'postcss', 'cssmin']
+ },
+ js: {
+ files: ['jquery.cookieBar.js'],
+ tasks: ['uglify']
+ }
+ },
+ sass:        {
+ dist: {
+ options: {
+ outputStyle: 'expanded'
+ },
+ files:   {
+ 'jquery.cookieBar.css': 'jquery.cookieBar.scss'
+ }
+ }
+ },
+ postcss:  {
+ options: {
+ processors: [
+ require('autoprefixer')({browsers: ['last 3 versions', 'ios 6', 'ie 9']}),
+ require('postcss-flexbugs-fixes')
+ ]
+ },
+ dist: {
+ src: '*.css'
+ }
+ },
+ cssmin: {
+ target: {
+ files: {
+ 'jquery.cookieBar.min.css': ['jquery.cookieBar.css']
+ }
+ }
+ },
+ uglify: {
+ options: {
+ output: {
+ comments: 'some'
+ }
+ },
+ my_target: {
+ files: [{
+ src: ['jquery.cookieBar.js'],
+ dest: 'jquery.cookieBar.min.js'
+ }]
+ }
+ }
+ }
+ );
+
+ grunt.registerTask('default', ['watch']);
+ grunt.registerTask('build', ['uglify', 'sass', 'postcss', 'cssmin']);
+};

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/gruntfile.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/gruntfile.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/gruntfile.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.css
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.css?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.css (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.css Fri Aug  2 06:32:23 2019
@@ -0,0 +1,216 @@
+@charset "UTF-8";
+/*!
+ * Cookie Bar component (https://github.com/kovarp/jquery.cookieBar)
+ * Version 1.2.0
+ *
+ * Copyright 2018 Pavel Kovář - Frontend developer [www.pavelkovar.cz]
+ * Licensed under MIT (https://github.com/kovarp/jquery.cookieBar/blob/master/LICENSE)
+ */
+/* Settings */
+/* Cookie Bar styles */
+.cookie-bar__inner {
+  background-color: #000;
+  color: #fff;
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
+  font-size: .875rem;
+  padding: .375rem .5rem;
+  text-align: center;
+}
+
+@media (min-width: 62rem) {
+  .cookie-bar__inner {
+    display: -webkit-box;
+    display: -ms-flexbox;
+    display: flex;
+    -webkit-box-pack: center;
+        -ms-flex-pack: center;
+            justify-content: center;
+    -webkit-box-align: center;
+        -ms-flex-align: center;
+            align-items: center;
+  }
+}
+
+.cookie-bar__buttons {
+  display: block;
+  margin-top: .375rem;
+}
+
+@media (min-width: 62rem) {
+  .cookie-bar__buttons {
+    display: inline;
+    margin-top: 0;
+  }
+}
+
+.cookie-bar__btn {
+  background-color: #0275d8;
+  color: #fff;
+  border: none;
+  margin: 0 .875rem;
+  padding: .125rem .875rem;
+  -webkit-transition: background-color .3s;
+  -o-transition: background-color .3s;
+  transition: background-color .3s;
+  cursor: pointer;
+}
+
+@media (max-width: 36rem) {
+  .cookie-bar__btn {
+    display: block;
+    margin: 0 auto .25rem;
+  }
+}
+
+.cookie-bar__btn:hover {
+  background-color: #0267bf;
+}
+
+.cookie-bar__btn:active {
+  background-color: #0262b5;
+}
+
+.cookie-bar__link {
+  margin: 0 .5rem;
+}
+
+.cookie-bar a {
+  color: #fff;
+  text-decoration: underline;
+}
+
+.cookie-bar a:hover {
+  text-decoration: none;
+}
+
+/* Privacy popup */
+.cookie-bar-privacy-popup {
+  position: fixed;
+  top: 0;
+  right: 0;
+  bottom: 0;
+  left: 0;
+  background-color: rgba(0, 0, 0, 0.5);
+  display: -webkit-box;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+      -ms-flex-pack: center;
+          justify-content: center;
+  -webkit-box-align: center;
+      -ms-flex-align: center;
+          align-items: center;
+}
+
+.cookie-bar-privacy-popup.cookie-bar-privacy-popup--hidden {
+  display: none;
+}
+
+.cookie-bar-privacy-popup__dialog {
+  background-color: white;
+  width: 100%;
+  max-width: 50rem;
+  max-height: 90vh;
+  overflow: auto;
+  padding: 2rem 1.5rem 1.5rem;
+  position: relative;
+}
+
+.cookie-bar-privacy-popup__dialog__close {
+  position: absolute;
+  top: 0;
+  right: 0;
+  background-color: black;
+  color: white;
+  display: block;
+  width: 2rem;
+  height: 2rem;
+  border: none;
+  cursor: pointer;
+}
+
+.cookie-bar-privacy-popup__dialog__close:before, .cookie-bar-privacy-popup__dialog__close:after {
+  content: '';
+  display: block;
+  width: 1rem;
+  height: .25rem;
+  background-color: white;
+  position: absolute;
+  top: 50%;
+  left: 25%;
+  -webkit-transform-origin: center center;
+      -ms-transform-origin: center center;
+          transform-origin: center center;
+  margin-top: -.125rem;
+}
+
+.cookie-bar-privacy-popup__dialog__close:before {
+  -webkit-transform: rotate(45deg);
+      -ms-transform: rotate(45deg);
+          transform: rotate(45deg);
+}
+
+.cookie-bar-privacy-popup__dialog__close:after {
+  -webkit-transform: rotate(-45deg);
+      -ms-transform: rotate(-45deg);
+          transform: rotate(-45deg);
+}
+
+.cookie-bar-privacy-popup__dialog p:last-child {
+  margin-bottom: 0;
+}
+
+/* Cookie Bar layouts */
+.cookie-bar--bottom-left,
+.cookie-bar--bottom-right,
+.cookie-bar--bottom {
+  z-index: 100;
+  position: fixed;
+}
+
+.cookie-bar--bottom {
+  right: 0;
+  bottom: 0;
+  left: 0;
+}
+
+.cookie-bar--bottom-left {
+  left: 0.9375rem;
+}
+
+.cookie-bar--bottom-right {
+  right: 0.9375rem;
+}
+
+.cookie-bar--bottom-right,
+.cookie-bar--bottom-left {
+  bottom: 0.9375rem;
+}
+
+@media (min-width: 48rem) {
+  .cookie-bar--bottom-right,
+  .cookie-bar--bottom-left {
+    width: 22.5rem;
+  }
+}
+
+@media (min-width: 48rem) {
+  .cookie-bar--bottom-right .cookie-bar__inner,
+  .cookie-bar--bottom-left .cookie-bar__inner,
+  .cookie-bar--bottom-right .cookie-bar__buttons,
+  .cookie-bar--bottom-left .cookie-bar__buttons {
+    display: block;
+  }
+}
+
+@media (min-width: 48rem) {
+  .cookie-bar--bottom-right .cookie-bar__buttons,
+  .cookie-bar--bottom-left .cookie-bar__buttons {
+    margin-top: .375rem;
+  }
+}
+
+.cookie-bar--bottom-right .cookie-bar__inner,
+.cookie-bar--bottom-left .cookie-bar__inner {
+  line-height: 1.3;
+}

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.css
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.css
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.js?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.js (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.js Fri Aug  2 06:32:23 2019
@@ -0,0 +1,197 @@
+/*!
+ * Cookie Bar component (https://github.com/kovarp/jquery.cookieBar)
+ * Version 1.2.0
+ *
+ * Copyright 2018 Pavel Kovář - Frontend developer [www.pavelkovar.cz]
+ * @license: MIT (https://github.com/kovarp/jquery.cookieBar/blob/master/LICENSE)
+ */
+
+if (typeof jQuery === 'undefined') {
+ throw new Error('Cookie Bar component requires jQuery')
+}
+
+/**
+ * ------------------------------------------------------------------------
+ * Cookie Bar component
+ * ------------------------------------------------------------------------
+ */
+
+(function ( $ ) {
+
+ // Global variables
+ var cookieBar, config;
+
+ // Cookie Bar translations
+ var translation = [];
+
+ translation['en'] = {
+ message:     'We use cookies to provide our services. By using this website, you agree to this.',
+ acceptText:  'OK',
+ infoText:    'More information',
+ privacyText: 'Privacy protection'
+ };
+
+ translation['de'] = {
+ message:     'Zur Bereitstellung von Diensten verwenden wir Cookies. Durch die Nutzung dieser Website stimmen Sie zu.',
+ acceptText:  'OK',
+ infoText:    'Mehr Informationen',
+ privacyText: 'Datenschutz'
+ };
+
+ translation['cs'] = {
+ message:     'K poskytování služeb využíváme soubory cookie. Používáním tohoto webu s&nbsp;tím souhlasíte.',
+ acceptText:  'V pořádku',
+ infoText:    'Více informací',
+ privacyText: 'Ochrana soukromí'
+ };
+
+ translation['sk'] = {
+ message:     'Na poskytovanie služieb využívame súbory cookie. Používaním tohto webu s&nbsp;tým súhlasíte.',
+ acceptText:  'V poriadku',
+ infoText:    'Viac informácií',
+ privacyText: 'Ochrana súkromia'
+ };
+
+ translation['ru'] = {
+ message:     'Данный сайт использует для предоставления услуг, персонализации объявлений и анализа трафика печенье. Используя этот сайт, вы соглашаетесь.',
+ acceptText:  'Я согласен',
+ infoText:    'Больше информации',
+ privacyText: 'Конфиденциальность'
+ };
+
+ translation['pl'] = {
+ message:     'Używamy plików cookie w celu świadczenia naszych usług. Korzystając z tej strony, zgadzasz się na to.',
+ acceptText:  'Dobrze',
+ infoText:    'Więcej informacji',
+ privacyText: 'Ochrona prywatności'
+ };
+
+ var methods = {
+ init : function(options) {
+ cookieBar = '#cookie-bar';
+
+ var defaults = {
+ infoLink:       'https://www.google.com/policies/technologies/cookies/',
+ infoTarget:     '_blank',
+ wrapper:        'body',
+ expireDays:     365,
+ style:          'top',
+ language:       $('html').attr('lang') || 'en',
+ privacy:        false,
+ privacyTarget:  '_blank',
+ privacyContent: null
+ };
+
+ config = $.extend(defaults, options);
+
+ if(!translation[config.language]) {
+ config.language = 'en';
+ }
+
+ if(methods.getCookie('cookies-state') !== 'accepted') {
+ methods.displayBar();
+ }
+
+ // Accept cookies
+ $(document).on('click', cookieBar + ' .cookie-bar__btn', function(e) {
+ e.preventDefault();
+
+ methods.setCookie('cookies-state', 'accepted', config.expireDays);
+ methods.hideBar();
+ });
+
+ // Open privacy info popup
+ $(document).on('click', '[data-toggle="cookieBarPrivacyPopup"]', function(e) {
+ e.preventDefault();
+
+ methods.showPopup();
+ });
+
+ // Close privacy info popup
+ $(document).on('click', '.cookie-bar-privacy-popup, .cookie-bar-privacy-popup__dialog__close', function(e) {
+ methods.hidePopup();
+ });
+
+ $(document).on('click', '.cookie-bar-privacy-popup__dialog', function(e) {
+ e.stopPropagation();
+ });
+ },
+ displayBar : function() {
+ // Display Cookie Bar on page
+ var acceptButton = '<button type="button" class="cookie-bar__btn">' + translation[config.language].acceptText + '</button>';
+ var infoLink = '<a href="' + config.infoLink + '" target="' + config.infoTarget + '" class="cookie-bar__link cookie-bar__link--cookies-info">' + translation[config.language].infoText + '</a>';
+
+ var privacyButton = '';
+ if (config.privacy) {
+ if (config.privacy === 'link') {
+ privacyButton = '<a href="' + config.privacyContent + '" target="' + config.privacyTarget + '" class="cookie-bar__link cookie-bar__link--privacy-info">' + translation[config.language].privacyText + '</a>';
+ } else if (config.privacy === 'bs_modal') {
+ privacyButton = '<a href="' + config.privacyContent + '" data-toggle="modal" class="cookie-bar__link cookie-bar__link--privacy-info">' + translation[config.language].privacyText + '</a>';
+ } else if (config.privacy === 'popup') {
+ methods.renderPopup();
+ privacyButton = '<a href="#" data-toggle="cookieBarPrivacyPopup" class="cookie-bar__link cookie-bar__link--privacy-info">' + translation[config.language].privacyText + '</a>';
+ }
+ }
+
+ var template = '<div id="cookie-bar" class="cookie-bar cookie-bar--' + config.style + '"><div class="cookie-bar__inner"><span class="cookie-bar__message">' + translation[config.language].message + '</span><span class="cookie-bar__buttons">' + acceptButton + infoLink + privacyButton + '</span></div></div>';
+
+ $(config.wrapper).prepend(template);
+ },
+ hideBar : function() {
+ // Hide Cookie Bar
+ $(cookieBar).slideUp();
+ },
+ renderPopup : function() {
+ var popup = $('<div id="cookieBarPrivacyPopup" class="cookie-bar-privacy-popup cookie-bar-privacy-popup--hidden"><div class="cookie-bar-privacy-popup__dialog"><button type="button" class="cookie-bar-privacy-popup__dialog__close"></button></div></div>');
+ $('body').append(popup);
+ $('.cookie-bar-privacy-popup__dialog', popup).append(config.privacyContent);
+ },
+ showPopup : function() {
+ $('#cookieBarPrivacyPopup').removeClass('cookie-bar-privacy-popup--hidden');
+ },
+ hidePopup : function() {
+ $('#cookieBarPrivacyPopup').addClass('cookie-bar-privacy-popup--hidden');
+ },
+ addTranslation : function(lang, translate) {
+ translation[lang] = translate;
+ },
+ setCookie : function(cname, cvalue, exdays) {
+ // Helpful method for set cookies
+ var d = new Date();
+ d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
+ var expires = "expires="+ d.toUTCString();
+
+ document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
+ },
+ getCookie : function(cname) {
+ // Helpful method for get cookies
+ var name = cname + "=";
+ var ca = document.cookie.split(';');
+
+ for(var i = 0; i <ca.length; i++) {
+ var c = ca[i];
+
+ while (c.charAt(0) === ' ') {
+ c = c.substring(1);
+ }
+
+ if (c.indexOf(name) === 0) {
+ return c.substring(name.length, c.length);
+ }
+ }
+
+ return '';
+ }
+ };
+
+ // Create jQuery cookieBar function
+ $.cookieBar = function (methodOrOptions) {
+ if ( methods[methodOrOptions] ) {
+ return methods[ methodOrOptions ].apply( this, Array.prototype.slice.call( arguments, 1 ));
+ } else if ( typeof methodOrOptions === 'object' || ! methodOrOptions ) {
+ return methods.init.apply( this, arguments );
+ } else {
+ $.error( 'Method ' +  methodOrOptions + ' does not exist on Cookie Bar component' );
+ }
+ };
+}( jQuery ));
\ No newline at end of file

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.css
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.css?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.css (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.css Fri Aug  2 06:32:23 2019
@@ -0,0 +1,7 @@
+@charset "UTF-8";/*!
+ * Cookie Bar component (https://github.com/kovarp/jquery.cookieBar)
+ * Version 1.2.0
+ *
+ * Copyright 2018 Pavel Kovář - Frontend developer [www.pavelkovar.cz]
+ * Licensed under MIT (https://github.com/kovarp/jquery.cookieBar/blob/master/LICENSE)
+ */.cookie-bar__inner{background-color:#000;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:.875rem;padding:.375rem .5rem;text-align:center}@media (min-width:62rem){.cookie-bar__inner{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}}.cookie-bar__buttons{display:block;margin-top:.375rem}@media (min-width:62rem){.cookie-bar__buttons{display:inline;margin-top:0}}.cookie-bar__btn{background-color:#0275d8;color:#fff;border:none;margin:0 .875rem;padding:.125rem .875rem;-webkit-transition:background-color .3s;-o-transition:background-color .3s;transition:background-color .3s;cursor:pointer}@media (max-width:36rem){.cookie-bar__btn{display:block;margin:0 auto .25rem}}.cookie-bar__btn:hover{background-color:#0267bf}.cookie-bar__btn:active{background-color:#0262b5}.cookie-bar__link{margi
 n:0 .5rem}.cookie-bar a{color:#fff;text-decoration:underline}.cookie-bar a:hover{text-decoration:none}.cookie-bar-privacy-popup{position:fixed;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.cookie-bar-privacy-popup.cookie-bar-privacy-popup--hidden{display:none}.cookie-bar-privacy-popup__dialog{background-color:#fff;width:100%;max-width:50rem;max-height:90vh;overflow:auto;padding:2rem 1.5rem 1.5rem;position:relative}.cookie-bar-privacy-popup__dialog__close{position:absolute;top:0;right:0;background-color:#000;color:#fff;display:block;width:2rem;height:2rem;border:none;cursor:pointer}.cookie-bar-privacy-popup__dialog__close:after,.cookie-bar-privacy-popup__dialog__close:before{content:'';display:block;width:1rem;height:.25rem;background-color:#fff;position:absolute;top:50%;left:25%;-we
 bkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;margin-top:-.125rem}.cookie-bar-privacy-popup__dialog__close:before{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.cookie-bar-privacy-popup__dialog__close:after{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.cookie-bar-privacy-popup__dialog p:last-child{margin-bottom:0}.cookie-bar--bottom,.cookie-bar--bottom-left,.cookie-bar--bottom-right{z-index:100;position:fixed}.cookie-bar--bottom{right:0;bottom:0;left:0}.cookie-bar--bottom-left{left:.9375rem}.cookie-bar--bottom-right{right:.9375rem}.cookie-bar--bottom-left,.cookie-bar--bottom-right{bottom:.9375rem}@media (min-width:48rem){.cookie-bar--bottom-left,.cookie-bar--bottom-right{width:22.5rem}}@media (min-width:48rem){.cookie-bar--bottom-left .cookie-bar__buttons,.cookie-bar--bottom-left .cookie-bar__inner,.cookie-bar--bottom-right .cookie-bar__buttons,.coo
 kie-bar--bottom-right .cookie-bar__inner{display:block}}@media (min-width:48rem){.cookie-bar--bottom-left .cookie-bar__buttons,.cookie-bar--bottom-right .cookie-bar__buttons{margin-top:.375rem}}.cookie-bar--bottom-left .cookie-bar__inner,.cookie-bar--bottom-right .cookie-bar__inner{line-height:1.3}
\ No newline at end of file

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.css
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.css
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.js?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.js (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.js Fri Aug  2 06:32:23 2019
@@ -0,0 +1,8 @@
+/*!
+ * Cookie Bar component (https://github.com/kovarp/jquery.cookieBar)
+ * Version 1.2.0
+ *
+ * Copyright 2018 Pavel Kovář - Frontend developer [www.pavelkovar.cz]
+ * @license: MIT (https://github.com/kovarp/jquery.cookieBar/blob/master/LICENSE)
+ */
+if("undefined"==typeof jQuery)throw new Error("Cookie Bar component requires jQuery");!function(t){var a,n,r=[];r.en={message:"We use cookies to provide our services. By using this website, you agree to this.",acceptText:"OK",infoText:"More information",privacyText:"Privacy protection"},r.de={message:"Zur Bereitstellung von Diensten verwenden wir Cookies. Durch die Nutzung dieser Website stimmen Sie zu.",acceptText:"OK",infoText:"Mehr Informationen",privacyText:"Datenschutz"},r.cs={message:"K poskytování služeb využíváme soubory cookie. Používáním tohoto webu s&nbsp;tím souhlasíte.",acceptText:"V pořádku",infoText:"Více informací",privacyText:"Ochrana soukromí"},r.sk={message:"Na poskytovanie služieb využívame súbory cookie. Používaním tohto webu s&nbsp;tým súhlasíte.",acceptText:"V poriadku",infoText:"Viac informácií",privacyText:"Ochrana súkromia"},r.ru={message:"Данный с
 Ð°Ð¹Ñ‚ использует для предоставления услуг, персонализации объявлений и анализа трафика печенье. Используя этот сайт, вы соглашаетесь.",acceptText:"Я согласен",infoText:"Больше информации",privacyText:"Конфиденциальность"},r.pl={message:"Używamy plików cookie w celu świadczenia naszych usług. Korzystając z tej strony, zgadzasz się na to.",acceptText:"Dobrze",infoText:"Więcej informacji",privacyText:"Ochrona prywatności"};var c={init:function(e){a="#cookie-bar";var o={infoLink:"https://www.google.com/polici
 es/technologies/cookies/",infoTarget:"_blank",wrapper:"body",expireDays:365,style:"top",language:t("html").attr("lang")||"en",privacy:!1,privacyTarget:"_blank",privacyContent:null};n=t.extend(o,e),r[n.language]||(n.language="en"),"accepted"!==c.getCookie("cookies-state")&&c.displayBar(),t(document).on("click",a+" .cookie-bar__btn",function(e){e.preventDefault(),c.setCookie("cookies-state","accepted",n.expireDays),c.hideBar()}),t(document).on("click",'[data-toggle="cookieBarPrivacyPopup"]',function(e){e.preventDefault(),c.showPopup()}),t(document).on("click",".cookie-bar-privacy-popup, .cookie-bar-privacy-popup__dialog__close",function(e){c.hidePopup()}),t(document).on("click",".cookie-bar-privacy-popup__dialog",function(e){e.stopPropagation()})},displayBar:function(){var e='<button type="button" class="cookie-bar__btn">'+r[n.language].acceptText+"</button>",o='<a href="'+n.infoLink+'" target="'+n.infoTarget+'" class="cookie-bar__link cookie-bar__link--cookies-info">'+r[n.language].i
 nfoText+"</a>",a="";n.privacy&&("link"===n.privacy?a='<a href="'+n.privacyContent+'" target="'+n.privacyTarget+'" class="cookie-bar__link cookie-bar__link--privacy-info">'+r[n.language].privacyText+"</a>":"bs_modal"===n.privacy?a='<a href="'+n.privacyContent+'" data-toggle="modal" class="cookie-bar__link cookie-bar__link--privacy-info">'+r[n.language].privacyText+"</a>":"popup"===n.privacy&&(c.renderPopup(),a='<a href="#" data-toggle="cookieBarPrivacyPopup" class="cookie-bar__link cookie-bar__link--privacy-info">'+r[n.language].privacyText+"</a>"));var i='<div id="cookie-bar" class="cookie-bar cookie-bar--'+n.style+'"><div class="cookie-bar__inner"><span class="cookie-bar__message">'+r[n.language].message+'</span><span class="cookie-bar__buttons">'+e+o+a+"</span></div></div>";t(n.wrapper).prepend(i)},hideBar:function(){t(a).slideUp()},renderPopup:function(){var e=t('<div id="cookieBarPrivacyPopup" class="cookie-bar-privacy-popup cookie-bar-privacy-popup--hidden"><div class="cookie-b
 ar-privacy-popup__dialog"><button type="button" class="cookie-bar-privacy-popup__dialog__close"></button></div></div>');t("body").append(e),t(".cookie-bar-privacy-popup__dialog",e).append(n.privacyContent)},showPopup:function(){t("#cookieBarPrivacyPopup").removeClass("cookie-bar-privacy-popup--hidden")},hidePopup:function(){t("#cookieBarPrivacyPopup").addClass("cookie-bar-privacy-popup--hidden")},addTranslation:function(e,o){r[e]=o},setCookie:function(e,o,a){var i=new Date;i.setTime(i.getTime()+24*a*60*60*1e3);var t="expires="+i.toUTCString();document.cookie=e+"="+o+";"+t+";path=/"},getCookie:function(e){for(var o=e+"=",a=document.cookie.split(";"),i=0;i<a.length;i++){for(var t=a[i];" "===t.charAt(0);)t=t.substring(1);if(0===t.indexOf(o))return t.substring(o.length,t.length)}return""}};t.cookieBar=function(e){return c[e]?c[e].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof e&&e?void t.error("Method "+e+" does not exist on Cookie Bar component"):c.init.apply(this
 ,arguments)}}(jQuery);
\ No newline at end of file

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.min.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.scss
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.scss?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.scss (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/jquery.cookieBar-1.2.0.scss Fri Aug  2 06:32:23 2019
@@ -0,0 +1,198 @@
+/*!
+ * Cookie Bar component (https://github.com/kovarp/jquery.cookieBar)
+ * Version 1.2.0
+ *
+ * Copyright 2018 Pavel Kovář - Frontend developer [www.pavelkovar.cz]
+ * Licensed under MIT (https://github.com/kovarp/jquery.cookieBar/blob/master/LICENSE)
+ */
+
+/* Settings */
+$primary: #0275d8 !default;
+$cb-background: #000 !default;
+$cb-color: #fff !default;
+$cb-btn-color: $cb-color !default;
+$font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
+$grid-gutter-width: 1.875rem !default;
+$bottom-style-offset: ($grid-gutter-width / 2) !default;
+
+/* Cookie Bar styles */
+.cookie-bar__inner {
+ background-color: $cb-background;
+ color: $cb-color;
+ font-family: $font-family-base;
+ font-size: .875rem;
+ padding: .375rem .5rem;
+ text-align: center;
+
+ @media (min-width: 62rem) {
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+}
+
+// Buttons wrapper
+.cookie-bar__buttons {
+ display: block;
+ margin-top: .375rem;
+
+ @media (min-width: 62rem) {
+ display: inline;
+ margin-top: 0;
+ }
+}
+
+// Accept button
+.cookie-bar__btn {
+ background-color: $primary;
+ color: $cb-btn-color;
+ border: none;
+ margin: 0 .875rem;
+ padding: .125rem .875rem;
+ transition: background-color .3s;
+ cursor: pointer;
+
+ @media (max-width: 36rem) {
+ display: block;
+ margin: 0 auto .25rem;
+ }
+
+ &:hover {
+ background-color: darken($primary, 5%);
+ }
+
+ &:active {
+ background-color: darken($primary, 7%);
+ }
+}
+
+// Info links
+.cookie-bar__link {
+ margin: 0 .5rem;
+}
+
+.cookie-bar a {
+ color: $cb-color;
+ text-decoration: underline;
+
+ &:hover {
+ text-decoration: none;
+ }
+}
+
+/* Privacy popup */
+.cookie-bar-privacy-popup {
+ position: fixed;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ background-color: rgba(black, .5);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+
+ &.cookie-bar-privacy-popup--hidden {
+ display: none;
+ }
+}
+
+.cookie-bar-privacy-popup__dialog {
+ background-color: white;
+ width: 100%;
+ max-width: 50rem;
+ max-height: 90vh;
+ overflow: auto;
+ padding: 2rem 1.5rem 1.5rem;
+ position: relative;
+}
+
+.cookie-bar-privacy-popup__dialog__close {
+ position: absolute;
+ top: 0;
+ right: 0;
+ background-color: black;
+ color: white;
+ display: block;
+ width: 2rem;
+ height: 2rem;
+ border: none;
+ cursor: pointer;
+
+ &:before,
+ &:after {
+ content: '';
+ display: block;
+ width: 1rem;
+ height: .25rem;
+ background-color: white;
+ position: absolute;
+ top: 50%;
+ left: 25%;
+ transform-origin: center center;
+ margin-top: -.125rem;
+ }
+
+ &:before {
+ transform: rotate(45deg);
+ }
+
+ &:after {
+ transform: rotate(-45deg);
+ }
+}
+.cookie-bar-privacy-popup__dialog p:last-child {
+ margin-bottom: 0;
+}
+
+/* Cookie Bar layouts */
+.cookie-bar--bottom-left,
+.cookie-bar--bottom-right,
+.cookie-bar--bottom {
+ z-index: 100;
+ position: fixed;
+}
+
+.cookie-bar--bottom {
+ right: 0;
+ bottom: 0;
+ left: 0;
+}
+
+.cookie-bar--bottom-left {
+ left: $bottom-style-offset;
+}
+
+.cookie-bar--bottom-right {
+ right: $bottom-style-offset;
+}
+
+.cookie-bar--bottom-right,
+.cookie-bar--bottom-left {
+ bottom: $bottom-style-offset;
+
+ @media (min-width: 48rem) {
+ width: 22.5rem;
+ }
+}
+
+.cookie-bar--bottom-right .cookie-bar__inner,
+.cookie-bar--bottom-left .cookie-bar__inner,
+.cookie-bar--bottom-right .cookie-bar__buttons,
+.cookie-bar--bottom-left .cookie-bar__buttons {
+ @media (min-width: 48rem) {
+ display: block;
+ }
+}
+
+.cookie-bar--bottom-right .cookie-bar__buttons,
+.cookie-bar--bottom-left .cookie-bar__buttons {
+ @media (min-width: 48rem) {
+ margin-top: .375rem;
+ }
+}
+
+.cookie-bar--bottom-right .cookie-bar__inner,
+.cookie-bar--bottom-left .cookie-bar__inner {
+ line-height: 1.3;
+}
\ No newline at end of file

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js Fri Aug  2 06:32:23 2019
@@ -0,0 +1,14 @@
+/* English US translation for the jQuery Cookie Bar */
+/* Custom Js file specific to OFBiz */
+(function($) {
+    if ($.cookieBar !== undefined) {
+
+        $.cookieBar('addTranslation', 'en-US', {
+            message:     'We use cookies to provide our services. By using this website, you agree to this.',
+            acceptText:  'OK',
+            infoText:    'More information',
+            privacyText: 'Privacy protection'
+        });
+    }
+
+})(jQuery);

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/localization/jquery-cookieBar-en-US.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/package.json
URL: http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/package.json?rev=1864199&view=auto
==============================================================================
--- ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/package.json (added)
+++ ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/jquery.cookieBar/package.json Fri Aug  2 06:32:23 2019
@@ -0,0 +1,43 @@
+{
+  "name": "kovarp-jquery-cookiebar",
+  "version": "1.2.1",
+  "description": "Simple jQuery plugin for add information bar about cookies using.",
+  "directories": {
+    "example": "example"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/kovarp/jquery.cookieBar.git"
+  },
+  "keywords": [
+    "jquery",
+    "cookie",
+    "bar",
+    "eu",
+    "law",
+    "gdpr",
+    "alert",
+    "sass",
+    "scss"
+  ],
+  "author": "Pavel Kovář <[hidden email]> (https://www.pavelkovar.cz/)",
+  "license": "MIT",
+  "bugs": {
+    "url": "https://github.com/kovarp/jquery.cookieBar/issues"
+  },
+  "homepage": "https://cookiebar.pavelkovar.cz/",
+  "dependencies": {
+    "jquery": "1.9.1 - 3"
+  },
+  "devDependencies": {
+    "autoprefixer": "^8.3.0",
+    "grunt": "^1.0.2",
+    "grunt-contrib-cssmin": "^2.2.1",
+    "grunt-contrib-uglify": "^3.3.0",
+    "grunt-contrib-watch": "^1.0.1",
+    "grunt-postcss": "^0.9.0",
+    "grunt-sass": "^2.1.0",
+    "jit-grunt": "^0.10.0",
+    "postcss-flexbugs-fixes": "^3.3.0"
+  }
+}