]> _ Git - usines-reunies.git/commitdiff
WIP #4064 @7
authorStephen Cameron <stephen@cubedesigners.com>
Thu, 26 Nov 2020 17:29:14 +0000 (18:29 +0100)
committerStephen Cameron <stephen@cubedesigners.com>
Thu, 26 Nov 2020 17:29:14 +0000 (18:29 +0100)
18 files changed:
web/app/mu-plugins/cube/src/Customizer/Setup.php [new file with mode: 0644]
web/app/mu-plugins/cube/src/Init.php
web/app/themes/Usines/app/View/Composers/App.php
web/app/themes/Usines/app/admin.php
web/app/themes/Usines/app/setup.php
web/app/themes/Usines/package.json
web/app/themes/Usines/resources/assets/images/icons/email.svg
web/app/themes/Usines/resources/assets/images/icons/phone.svg
web/app/themes/Usines/resources/assets/scripts/customizer.js
web/app/themes/Usines/resources/assets/styles/common/global.styl
web/app/themes/Usines/resources/assets/styles/common/mixins.styl
web/app/themes/Usines/resources/assets/styles/components/footer.styl
web/app/themes/Usines/resources/assets/styles/components/navigation.styl
web/app/themes/Usines/resources/views/partials/footer.blade.php
web/app/themes/Usines/resources/views/partials/header.blade.php
web/app/themes/Usines/resources/views/partials/social-networks.blade.php
web/app/themes/Usines/tailwind.config.js
web/app/themes/Usines/yarn.lock

diff --git a/web/app/mu-plugins/cube/src/Customizer/Setup.php b/web/app/mu-plugins/cube/src/Customizer/Setup.php
new file mode 100644 (file)
index 0000000..9a91682
--- /dev/null
@@ -0,0 +1,121 @@
+<?php
+
+namespace Cube\Customizer;
+
+use WP_Customize_Manager;
+use WP_Customize_Control;
+
+class Setup {
+
+    public function register() {
+
+        add_action('init', [$this, 'configure_customizer']); // Need to wait until init otherwise this doesn't work properly
+
+    }
+
+    public function configure_customizer() {
+
+        /**
+         * Add extra fields to WordPress customizer
+         *
+         * @param  \WP_Customize_Manager $wp_customize
+         * @return void
+         */
+        add_action('customize_register', function (WP_Customize_Manager $wp_customize) {
+
+            // Rename "Site Identity" section
+            $wp_customize->get_section('title_tagline')->title = __('Site Details', 'usines');
+            // Remove tagline control
+            $wp_customize->remove_control('blogdescription');
+
+            //-- Contact e-mail address (used in footer)
+            $wp_customize->add_setting(
+                'contact_email',
+                [
+                    'type' => 'option',
+                    'capability' => 'edit_theme_options'
+                ]
+            );
+
+            $wp_customize->add_control(new WP_Customize_Control(
+                $wp_customize,
+                'contact_email',
+                [
+                    'label'      => __('Adresse email', 'usines'),
+                    'settings'   => 'contact_email',
+                    'section'    => 'title_tagline',
+                    'type'       => 'text',
+                    'priority'   => 11,
+                ]
+            ));
+
+            //-- Contact phone number (used in header and footer)
+            $wp_customize->add_setting(
+                'contact_phone',
+                [
+                    'type' => 'option',
+                    'capability' => 'edit_theme_options'
+                ]
+            );
+
+            $wp_customize->add_control(new WP_Customize_Control(
+                $wp_customize,
+                'contact_phone',
+                [
+                    'label'      => __('Numéro de téléphone', 'usines'),
+                    'description' => __("Utilisé dans l'en-tête et le pied de page", 'usines'),
+                    'settings'   => 'contact_phone',
+                    'section'    => 'title_tagline',
+                    'type'       => 'text',
+                    'priority'   => 11,
+                ]
+            ));
+
+            //-- Header contact text
+            $wp_customize->add_setting(
+                'contact_header_text',
+                [
+                    'type' => 'option',
+                    'capability' => 'edit_theme_options'
+                ]
+            );
+
+            $wp_customize->add_control(new WP_Customize_Control(
+                $wp_customize,
+                'contact_header_text',
+                [
+                    'label'      => __("Texte de contact d'en-tête", 'usines'),
+                    'settings'   => 'contact_header_text',
+                    'section'    => 'title_tagline',
+                    'type'       => 'text',
+                    'priority'   => 12,
+                ]
+            ));
+
+            //-- Footer contact text
+            $wp_customize->add_setting(
+                'contact_footer_text',
+                [
+                    'type' => 'option',
+                    'capability' => 'edit_theme_options'
+                ]
+            );
+
+            $wp_customize->add_control(new WP_Customize_Control(
+                $wp_customize,
+                'contact_footer_text',
+                [
+                    'label'      => __('Texte de contact de pied de page', 'usines'),
+                    'settings'   => 'contact_footer_text',
+                    'section'    => 'title_tagline',
+                    'type'       => 'textarea',
+                    'priority'   => 13,
+                ]
+            ));
+
+
+        });
+
+    }
+
+}
index e93ae2617973adfe91278a13d4487a2b5399676a..fed9d2486807158c82d7d512b05302f2bdfec0dc 100644 (file)
@@ -14,6 +14,7 @@ final class Init { // Marked as final because this class should never be extende
     public static function classes() {
         return [
             Common\Setup::class,
+            Customizer\Setup::class,
             Elementor\Setup::class,
         ];
     }
index 0d870d4438aaf82f0bb3eaf67dd9edd088928392..21e63c34ad55d9968423a71ea0a2500b85ca30ad 100644 (file)
@@ -23,7 +23,10 @@ class App extends Composer
     public function with()
     {
         return [
-            'siteName' => $this->siteName(),
+            'site_name' => $this->siteName(),
+            'contact_email' => get_option('contact_email'),
+            'contact_phone' => get_option('contact_phone'),
+            'contact_phone_link' => 'tel:' . str_replace(' ', '', get_option('contact_phone')),
         ];
     }
 
index 6e691032855d3f8bab60d6114937fac52697c469..bf65798104d92ac737fa33f5879fed47ba206d41 100644 (file)
@@ -11,19 +11,22 @@ use WP_Customize_Manager;
 use function Roots\asset;
 
 /**
- * Register the `.brand` selector to the blogname.
+ * Add extra fields to WordPress customizer
  *
  * @param  \WP_Customize_Manager $wp_customize
  * @return void
  */
 add_action('customize_register', function (WP_Customize_Manager $wp_customize) {
-    $wp_customize->get_setting('blogname')->transport = 'postMessage';
-    $wp_customize->selective_refresh->add_partial('blogname', [
-        'selector' => '.brand',
-        'render_callback' => function () {
-            bloginfo('name');
-        }
-    ]);
+
+    // For site details (as opposed to theme settings), fields are added in the Cube mu-plugin
+
+    //$wp_customize->get_setting('blogname')->transport = 'postMessage';
+    //$wp_customize->selective_refresh->add_partial('blogname', [
+    //    'selector' => '.brand',
+    //    'render_callback' => function () {
+    //        bloginfo('name');
+    //    }
+    //]);
 });
 
 /**
index 05447976e36b0620a918f57422aeddb3d360e67f..3f10af86c99350ec1f32f95b73a729c63d993da3 100755 (executable)
@@ -152,7 +152,7 @@ add_action('widgets_init', function () {
     $config = [
         'before_widget' => '<section class="widget %1$s %2$s">',
         'after_widget' => '</section>',
-        'before_title' => '<h3>',
+        'before_title' => '<h3 class="font-medium uppercase text-base mb-6">',
         'after_title' => '</h3>'
     ];
 
@@ -164,14 +164,6 @@ add_action('widgets_init', function () {
             'name'          => __('Footer Column 2', 'usines'),
             'id'            => 'sidebar-footer-2'
         ] + $config);
-    register_sidebar([
-            'name'          => __('Footer Column 3', 'usines'),
-            'id'            => 'sidebar-footer-3'
-        ] + $config);
-    register_sidebar([
-            'name'          => __('Footer Column 4', 'usines'),
-            'id'            => 'sidebar-footer-4'
-        ] + $config);
     register_sidebar([
             'name'          => __('Footer Copyright', 'usines'),
             'id'            => 'sidebar-footer-copyright'
index a6926b23aeb5978c525d494dd1f2ac4353605e89..fba0fd74bf180efaaae0576fb04bbccce5280593 100644 (file)
     "stylelint-config-standard": "^20.0.0",
     "stylus": "github:acidjazz/stylus#dev",
     "stylus-loader": "^3.0.2",
-    "tailwindcss": "^1.9.6",
+    "tailwindcss": "^2.0.1",
     "tailwindcss-wordpress": "^0.1",
     "vue-template-compiler": "^2.6.11"
   },
   "dependencies": {
+    "autoprefixer": "^10.0.2",
     "jquery": "^3.5.1",
-    "popper.js": "^1.16.1"
+    "popper.js": "^1.16.1",
+    "postcss": "^8.1.10"
   }
 }
index c47fdf1ee4614738f612868d57d4a92067f927bb..e76fdea57ee1466b4afc5b2e496a7f8de735fa9c 100644 (file)
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="#fff" d="M31.07 1.42a3.031 3.031 0 00-4.18-.96l-25 15.63a3.02 3.02 0 00-1.42 2.57c0 1.67 1.36 3.03 3.03 3.03h7.12v6.21c0 1.67 1.36 3.03 3.03 3.03.61 0 1.2-.18 1.71-.53l3.68-2.51 2.16 2.89a3.03 3.03 0 001.86 1.16c.19.04.38.05.57.05.6 0 1.19-.18 1.7-.53.67-.46 1.12-1.15 1.27-1.94L31.48 3.6c.14-.76 0-1.53-.41-2.18zM2.03 18.66c0-.51.26-.98.69-1.25l25-15.63c.24-.15.51-.22.77-.22l-14.1 18.56H3.5c-.81.01-1.47-.65-1.47-1.46zm12.45 10.46c-.24.17-.53.26-.83.26-.81 0-1.47-.66-1.47-1.47V21.7h2.21l3.71 4.96-3.62 2.46zM29.94 3.31l-4.87 25.93c-.07.39-.29.72-.61.94a1.468 1.468 0 01-2-.33l-6.69-8.94L29.82 2.4c.14.28.18.59.12.91z"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M31.07 1.42a3.031 3.031 0 00-4.18-.96l-25 15.63a3.02 3.02 0 00-1.42 2.57c0 1.67 1.36 3.03 3.03 3.03h7.12v6.21c0 1.67 1.36 3.03 3.03 3.03.61 0 1.2-.18 1.71-.53l3.68-2.51 2.16 2.89a3.03 3.03 0 001.86 1.16c.19.04.38.05.57.05.6 0 1.19-.18 1.7-.53.67-.46 1.12-1.15 1.27-1.94L31.48 3.6c.14-.76 0-1.53-.41-2.18zM2.03 18.66c0-.51.26-.98.69-1.25l25-15.63c.24-.15.51-.22.77-.22l-14.1 18.56H3.5c-.81.01-1.47-.65-1.47-1.46zm12.45 10.46c-.24.17-.53.26-.83.26-.81 0-1.47-.66-1.47-1.47V21.7h2.21l3.71 4.96-3.62 2.46zM29.94 3.31l-4.87 25.93c-.07.39-.29.72-.61.94a1.468 1.468 0 01-2-.33l-6.69-8.94L29.82 2.4c.14.28.18.59.12.91z"/></svg>
index f93fa847764a3d3b216eed1bdf6cc82d59ff2e2b..122f3dc48dc4174c36085c1675c45baf01a6839d 100644 (file)
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 40"><path fill="#fff" d="M21.17 25.22c-.49 0-.89.4-.89.89v4.29H1.79V8.04c0-2.05 1.67-3.73 3.73-3.73h6.78c.49 0 .89-.4.89-.89s-.4-.89-.89-.89H5.52a5.51 5.51 0 00-5.5 5.5V31.2c0 .03-.02.05-.02.08s.01.05.02.08v2.91c0 3.03 2.47 5.5 5.5 5.5h11.03c3.03 0 5.5-2.47 5.5-5.5v-8.16a.877.877 0 00-.88-.89zM16.55 38H5.52c-2.05 0-3.72-1.67-3.72-3.72v-2.1h18.49v2.1A3.75 3.75 0 0116.55 38z"/><path fill="#fff" d="M13.59 24.8a.895.895 0 01-.85-1.17l2.45-7.34c-.8-1.56-1.22-3.29-1.22-5.04 0-2.94 1.15-5.71 3.23-7.79S22.05.23 24.99.23c1.47 0 2.9.29 4.26.86 5.6 2.35 8.25 8.82 5.9 14.43a11.003 11.003 0 01-5.99 5.94c-2.6 1.07-5.46 1.1-8.07.11l-7.13 3.17c-.13.04-.25.06-.37.06zM24.99 2c-2.47 0-4.79.96-6.53 2.71a9.183 9.183 0 00-2.71 6.54c0 1.58.41 3.15 1.18 4.53.12.22.15.48.07.72l-1.93 5.79 5.63-2.5c.22-.1.48-.1.7-.01 2.28.95 4.79.97 7.07.03 2.29-.93 4.07-2.7 5.02-4.98 1.97-4.7-.25-10.13-4.95-12.1A9.165 9.165 0 0024.99 2z"/><path fill="#fff" d="M24.99 17.2c-3.28 0-5.95-2.67-5.95-5.95 0-.49.4-.89.89-.89h10.13c.49 0 .89.4.89.89-.01 3.28-2.68 5.95-5.96 5.95zm-4.09-5.06c.41 1.88 2.08 3.29 4.08 3.29s3.67-1.41 4.08-3.29H20.9zM12.69 36H9.35c-.49 0-.89-.4-.89-.89s.4-.89.89-.89h3.33c.49 0 .89.4.89.89s-.39.89-.88.89z"/></svg>
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 40"><path d="M21.17 25.22c-.49 0-.89.4-.89.89v4.29H1.79V8.04c0-2.05 1.67-3.73 3.73-3.73h6.78c.49 0 .89-.4.89-.89s-.4-.89-.89-.89H5.52a5.51 5.51 0 00-5.5 5.5V31.2c0 .03-.02.05-.02.08s.01.05.02.08v2.91c0 3.03 2.47 5.5 5.5 5.5h11.03c3.03 0 5.5-2.47 5.5-5.5v-8.16a.877.877 0 00-.88-.89zM16.55 38H5.52c-2.05 0-3.72-1.67-3.72-3.72v-2.1h18.49v2.1A3.75 3.75 0 0116.55 38z"/><path d="M13.59 24.8a.895.895 0 01-.85-1.17l2.45-7.34c-.8-1.56-1.22-3.29-1.22-5.04 0-2.94 1.15-5.71 3.23-7.79S22.05.23 24.99.23c1.47 0 2.9.29 4.26.86 5.6 2.35 8.25 8.82 5.9 14.43a11.003 11.003 0 01-5.99 5.94c-2.6 1.07-5.46 1.1-8.07.11l-7.13 3.17c-.13.04-.25.06-.37.06zM24.99 2c-2.47 0-4.79.96-6.53 2.71a9.183 9.183 0 00-2.71 6.54c0 1.58.41 3.15 1.18 4.53.12.22.15.48.07.72l-1.93 5.79 5.63-2.5c.22-.1.48-.1.7-.01 2.28.95 4.79.97 7.07.03 2.29-.93 4.07-2.7 5.02-4.98 1.97-4.7-.25-10.13-4.95-12.1A9.165 9.165 0 0024.99 2z"/><path d="M24.99 17.2c-3.28 0-5.95-2.67-5.95-5.95 0-.49.4-.89.89-.89h10.13c.49 0 .89.4.89.89-.01 3.28-2.68 5.95-5.96 5.95zm-4.09-5.06c.41 1.88 2.08 3.29 4.08 3.29s3.67-1.41 4.08-3.29H20.9zM12.69 36H9.35c-.49 0-.89-.4-.89-.89s.4-.89.89-.89h3.33c.49 0 .89.4.89.89s-.39.89-.88.89z"/></svg>
index ade7b8d1cf1d4dd2df69eab67ccac70201f81137..06d985cc592e0efe543dbdb9310b28e6f3242330 100644 (file)
@@ -10,6 +10,6 @@
  *
  * @param {string} value
  */
-wp.customize('blogname', value => {
-  value.bind(to => $('.brand').text(to));
-});
+// wp.customize('blogname', value => {
+//   value.bind(to => $('.brand').text(to));
+// });
index af68a8a85aa38841bcd56b7b46c091978bd2e974..04176e662bb99a77cf44b9bf110e51c8eddb03f4 100644 (file)
@@ -4,5 +4,9 @@ html
 body
   min-width: 320px
 
+a
+  @apply transition-colors unquote('hover:text-red')
+
+
 p:not(:last-child)
   margin-bottom: 1.5em
index 7f59d6b93cc7b874025fbf951b29f0eac7d4e334..f6aa58a75b8cbb9ce0c715bf3419b2b30bb1778a 100644 (file)
@@ -46,3 +46,35 @@ center(max-width = $content-max-width)
   margin: 0 auto
 
 //---------------------------------------//
+
+// Automatically convert font-size in px to rem with fallback
+// Inspired by: https://davidwalsh.name/stylus-rem
+font-size(value, arguments...)
+
+  // Handle special cases first:
+  // 1) Allow disabling of this conversion by including the word "fixed" after the value
+  // 2) Don't do any conversion when setting on the html selector (because it is the root!)
+  // 3) Leave alone if 'inherit' is the value
+  if (arguments is 'fixed' || selector() is 'html' || value is 'inherit') {
+    font-size: value
+  } else {
+    // Only px values are converted to rem but we still want to use the px value as a fallback
+    // Other values like 'inherit' or rems/ems are displayed as normal...
+    font-size: value arguments
+
+    if (unit(value) is 'px') {
+      font-size: r(value) arguments // rem value
+    }
+  }
+
+
+//---------------------------------------//
+// Standalone function for converting px to rem
+// Non-px values will be passed back in their original units
+r(value)
+  u = unit(value)
+
+  if (u is 'px')
+    return unit(value / $font-size-base, 'rem')
+  else
+    return value
index 9a2e53243dc0f52c748b7a48153d05c4a57603ad..63d7c93769cab4e91605254666d8dc0c8ab5d471 100644 (file)
@@ -1,5 +1,42 @@
-.footer-logo
-  max-width: 156px
+$breakpoint-footer-2-cols = 1180px
+$breakpoint-footer-1-col = 650px
 
-  path
-    fill: currentColor
+.footer
+  &-container
+    @apply flex mx-auto
+    max-width: $base-width * 0.85
+
+    +below($breakpoint-footer-2-cols)
+      @apply flex-wrap
+
+  &-col
+    @apply flex-1 px-6
+
+    +below($breakpoint-footer-2-cols)
+      flex-basis: 50%
+    +below($breakpoint-footer-1-col)
+      flex-basis: 100%
+
+  // Extra top margin for last 3 columns to align with logo
+  &-col-2, &-col-3, &-col-4
+    margin-top: 5.25rem
+
+  &-col-2
+    +below($breakpoint-footer-2-cols)
+      order: 4
+      margin-top: 3rem
+  &-col-3
+    +below($breakpoint-footer-2-cols)
+      order: 2
+    +below($breakpoint-footer-1-col)
+      margin-top: 3rem
+  &-col-4
+    +below($breakpoint-footer-2-cols)
+      order: 3
+      margin-top: 3rem
+
+  &-logo
+    max-width: 156px
+
+    path
+      fill: currentColor
index bd3239ffb099eff4a18b6ec0a36018564cf16875..295b5bc17056d771431f43a2fc167f0fb52db61c 100644 (file)
@@ -21,6 +21,7 @@
 
   .menu-item
     @apply text-lg font-medium
+    @apply leading-10 // Line height matches height of social icons so both sides of menu align properly
     @apply mx-8
 
     +below(1600px)
@@ -28,7 +29,7 @@
     +below(1500px)
       @apply mx-4
     +below(1380px)
-      @apply text-base
+      font-size: 1rem
 
     &.current-menu-item, &.current-menu-parent
       @apply text-red
@@ -39,7 +40,7 @@
       @apply mr-0
 
     a
-      @apply whitespace-no-wrap
+      @apply whitespace-nowrap
       transition: color 0.2s
 
       &:hover
index c63f4cda27283c9be94383621798b628591e9152..8fea83b38766e5a9ac58dc3ad751b67e42f7a388 100644 (file)
@@ -1,29 +1,60 @@
-<footer class="bg-blue-dark text-white py-8 px-1v">
+<footer class="bg-blue-dark text-sm text-white pt-16 pb-8 px-1v mt-2v">
 
   {{-- Footer Columns --}}
-  <div class="px-2v flex text-center">
-    <div class="footer-col flex-1 px-5">
-      @svg('images/logo', 'footer-logo mx-auto mb-10')
+  <div class="footer-container text-center">
+
+    {{-- Logo + text --}}
+    <div class="footer-col footer-col-1 leading-7">
+      @svg('images/logo', 'footer-logo mx-auto mb-8')
       @php(dynamic_sidebar('sidebar-footer-1'))
     </div>
-    <div class="footer-col flex-1 px-5">
-      @php(dynamic_sidebar('sidebar-footer-2'))
+
+    {{-- Sitemap --}}
+    <div class="footer-col footer-col-2">
+      <div class="leading-7">
+        @php(dynamic_sidebar('sidebar-footer-2'))
+      </div>
     </div>
-    <div class="footer-col flex-1 px-5">
-      @php(dynamic_sidebar('sidebar-footer-3'))
+
+    {{-- Contact Us --}}
+    <div class="footer-col footer-col-3 spaced-lg">
+      <h3 class="font-medium uppercase text-base mb-6">Contactez-Nous</h3>
+
+      <p class="leading-7">{!! nl2br(get_option('contact_footer_text')) !!}</p>
+
+      <div class="flex flex-col spaced text-left mx-auto" style="max-width: 180px">
+        <a class="flex items-center" href="tel:{{ $contact_phone_link }}">
+          @svg('images/icons/phone', 'fill-current h-10 mr-4')
+          {{ $contact_phone }}
+        </a>
+
+        <a class="flex items-center" href="mailto:{{ $contact_email }}">
+          @svg('images/icons/email', 'fill-current h-8 mr-4')
+          Envoyer un email
+        </a>
+      </div>
+
     </div>
-    <div class="footer-col flex-1 px-5">
-      <h3>Suivez-Nous</h3>
+
+    {{-- Social Networks + Newsletter --}}
+    <div class="footer-col footer-col-4">
+      <h3 class="font-medium uppercase text-base mb-6">Suivez-Nous</h3>
       <div class="flex justify-center">
         @include('partials.social-networks')
       </div>
 
-      @php(dynamic_sidebar('sidebar-footer-4'))
+      <h3 class="font-medium uppercase text-base mt-8 mb-1">Des promos & des news !</h3>
+      <p>Inscrivez-vous à notre newsletter</p>
+      <div class="footer-newsletter-form flex mx-auto" style="max-width: 300px">
+        {{-- TODO: add HTMLForms shortcode here? --}}
+        <input type="email" name="email" placeholder="Votre email" class="flex-1 text-dark leading-8 rounded-full focus:outline-none focus:ring-2 focus:ring-opacity-50 focus:ring-dark px-4 mr-3">
+        <input type="submit" value="Ok" class="font-medium bg-red text-white rounded-full w-10 h-10 focus:outline-none focus:ring-2 focus:ring-opacity-50 focus:ring-dark">
+      </div>
     </div>
   </div>
 
   {{-- Copyright --}}
-  <div class="text-center text-sm mt-12">
+  <div class="text-center mt-12">
     @php(dynamic_sidebar('sidebar-footer-copyright'))
   </div>
 </footer>
index edf70d75e3ac1d69438279d627d63b6c25636065..bf645043d3655824f1f71e5de0d6ac9d8aa84f3c 100644 (file)
@@ -1,7 +1,7 @@
-<header class="flex items-end justify-center mx-1v pt-6">
+<header class="relative flex items-end justify-center mx-1v pt-6">
 
   {{-- Primary nav (left) --}}
-  <div class="flex-1 flex justify-end leading-10 mb-4">
+  <div class="flex-1 flex justify-end mb-4">
     @if (has_nav_menu('primary_navigation_left'))
       <nav class="nav-primary">
         {!! wp_nav_menu([
       </nav>
     @endif
 
-    <div class="flex justify-end w-full ml-6">
+    <div class="flex justify-end w-full ml-6 sm:hidden">
       @include('partials.social-networks')
     </div>
   </div>
 
+  <a href="{{ $contact_phone_link }}" class="absolute right-0 top-1/2 transform -translate-y-1/2 flex items-center pb-12 sm:hidden">
+    <span class="font-semibold text-right text-sm">
+      {{ get_option('contact_header_text') }}<br/>
+      <span class="text-lg">{{ $contact_phone }}</span>
+    </span>
+    <img src="@asset('images/icons/phone-circle.svg')" class="w-14 ml-2">
+  </a>
+
 </header>
index f0ac71c5b4090e5d233da6495f8b0204f7c4a9ce..ca7dfd06b51b8678ff9ddabc913fd3d3deebf75a 100644 (file)
@@ -1,5 +1,11 @@
 <div class="social-networks flex spaced-horizontal">
-  <a href="https://www.facebook.com/LesUsinesReunies/"><img src="@asset('images/icons/facebook.svg')" alt="Facebook" class="w-10 h-10"></a>
-  <a href="https://www.instagram.com/lesusinesreunies/"><img src="@asset('images/icons/instagram.svg')" alt="Instagram" class="w-10 h-10"></a>
-  <a href="https://fr.linkedin.com/company/les-usines-r%C3%A9unies"><img src="@asset('images/icons/linkedin.svg')" alt="LinkedIn" class="w-10 h-10"></a>
+  <a href="https://www.facebook.com/LesUsinesReunies/" target="_blank" rel="noopener">
+    <img src="@asset('images/icons/facebook.svg')" alt="Facebook" class="w-10 h-10">
+  </a>
+  <a href="https://www.instagram.com/lesusinesreunies/" target="_blank" rel="noopener">
+    <img src="@asset('images/icons/instagram.svg')" alt="Instagram" class="w-10 h-10">
+  </a>
+  <a href="https://fr.linkedin.com/company/les-usines-r%C3%A9unies" target="_blank" rel="noopener">
+    <img src="@asset('images/icons/linkedin.svg')" alt="LinkedIn" class="w-10 h-10">
+  </a>
 </div>
index 0826448b69e74fb2b5dc79d7895802077e5785e9..8c328c26a3d3603be68df14826be8515523b94f1 100644 (file)
@@ -2,21 +2,20 @@
 const { wordpressUtilities } = require('tailwindcss-wordpress');
 
 module.exports = {
-  future: {
-    removeDeprecatedGapUtilities: true,
-    purgeLayersByDefault: true,
-  },
-  purge: {
-    content: [
-      './resources/views/**/*.php',
-      './resources/assets/**/*.js',
-    ],
-    options: {
-      whitelist: require('purgecss-with-wordpress').whitelist,
-      whitelistPatterns: require('purgecss-with-wordpress').whitelistPatterns,
-    },
-  },
   theme: {
+
+    screens: {
+      // We're using the desktop-first approach to media queries so everything is max-width based
+      // The most important breakpoint is when the columns stack. This is defined in setup.styl
+      // and for now it needs to be manually matched here. The idea is that we can set styles using
+      // the sm: prefix in Tailwind. Maybe there's a better name for this breakpoint but for now it's 'sm'.
+      // Sizes should be listed largest to smallest so they are generated in this order, allowing smaller
+      // breakpoints to take precedence over larger ones (eg. xs:p-1 should override sm:p-2)
+      'md': {'max': '1023px'}, // => @media (max-width: 1023px) { ... }
+      'sm': {'max': '767px'}, // => @media (max-width: 767px) { ... }
+      'xs': {'max': '499px'}, // => @media (max-width: 499px) { ... }
+    },
+
     colors: {
       'inherit': 'inherit',
       'transparent': 'transparent',
@@ -31,25 +30,44 @@ module.exports = {
       'green': '#6faaa4',
       'teal': '#6696a6',
     },
+
     fontFamily: {
       'body': ['Montserrat', 'sans-serif'], // Headings + main blocks of text
     },
+
     fontSize: {
-      'sm': '0.875rem', // 14px
-      'base': '1rem', // 16px
-      'lg': '1.25rem', // 20px
-      'xl': '2.25rem', // 36px
-      '2xl': '3.375rem', // 54px
+      'sm': ['0.875rem', { lineHeight: '1.25rem' }], // 14px
+      'base': ['1rem', { lineHeight: '1.5rem' }], // 16px
+      'lg': ['1.25rem', { lineHeight: '1.75rem' }], // 20px
+      'xl': ['2.25rem', { lineHeight: '1.75rem' }], // 36px
+      '2xl': ['3.375rem', { lineHeight: '1' }], // 54px
     },
 
     extend: {
     },
   },
+
   variants: {},
+
   plugins: [
     wordpressUtilities,
   ],
+
   corePlugins: {
     container: false,
   },
+
+  purge: {
+    content: [
+      './*.php',
+      './resources/views/**/*.php',
+      './resources/assets/**/*.js',
+    ],
+    options: {
+      safelist: [].concat(
+        require('purgecss-with-wordpress').whitelist,
+        require('purgecss-with-wordpress').whitelistPatterns
+      )
+    },
+  },
 };
index 3bff9a96634876e83198533c287da08c5377f02e..b8f2609671c80a2dd9d528c06e158feca00eded9 100644 (file)
     postcss "7.0.32"
     purgecss "^2.3.0"
 
+"@fullhuman/postcss-purgecss@^3.0.0":
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/@fullhuman/postcss-purgecss/-/postcss-purgecss-3.0.0.tgz#e39bf7a7d2a2c664ed151b639785b2efcbca33ff"
+  integrity sha512-cvuOgMwIVlfgWcUMqg5p33NbGUxLwMrKtDKkm3QRfOo4PRVNR6+y/xd9OyXTVZiB1bIpKNJ0ZObYPWD3DRQDtw==
+  dependencies:
+    postcss "7.0.32"
+    purgecss "^3.0.0"
+
 "@mrmlnc/readdir-enhanced@^2.2.1":
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
   resolved "https://registry.yarnpkg.com/@tinypixelco/laravel-mix-wp-blocks/-/laravel-mix-wp-blocks-1.1.0.tgz#ef382a746803c3f164d6b9cc5c49abc8fb970d8d"
   integrity sha512-lmTlM/VXK3GDre78Is1kMY9SuzG97v5vO7WfVr7VjY2e+r1/UjPYw6G5wNcR8nIw3gOXgMpPw8WvRi/d3v6Tww==
 
-"@types/color-name@^1.1.1":
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
-  integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
-
 "@types/events@*":
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7"
@@ -2116,21 +2119,13 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1:
   dependencies:
     color-convert "^1.9.0"
 
-ansi-styles@^4.0.0:
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
   version "4.3.0"
   resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
   integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
   dependencies:
     color-convert "^2.0.1"
 
-ansi-styles@^4.1.0:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
-  integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
-  dependencies:
-    "@types/color-name" "^1.1.1"
-    color-convert "^2.0.1"
-
 anymatch@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
@@ -2297,11 +2292,28 @@ async@^2.4.1, async@^2.6.2:
   dependencies:
     lodash "^4.17.14"
 
+at-least-node@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
+  integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+
 atob@^2.1.2:
   version "2.1.2"
   resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
   integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
 
+autoprefixer@^10.0.2:
+  version "10.0.2"
+  resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.0.2.tgz#a79f9a02bfb95c621998776ac0d85f8f855b367e"
+  integrity sha512-okBmu9OMdt6DNEcZmnl0IYVv8Xl/xYWRSnc2OJ9UJEOt1u30opG1B8aLsViqKryBaYv1SKB4f85fOGZs5zYxHQ==
+  dependencies:
+    browserslist "^4.14.7"
+    caniuse-lite "^1.0.30001157"
+    colorette "^1.2.1"
+    normalize-range "^0.1.2"
+    num2fraction "^1.2.2"
+    postcss-value-parser "^4.1.0"
+
 autoprefixer@^9.4.2:
   version "9.7.6"
   resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.6.tgz#63ac5bbc0ce7934e6997207d5bb00d68fa8293a4"
@@ -2315,7 +2327,7 @@ autoprefixer@^9.4.2:
     postcss "^7.0.27"
     postcss-value-parser "^4.0.3"
 
-autoprefixer@^9.4.5, autoprefixer@^9.8.6:
+autoprefixer@^9.8.6:
   version "9.8.6"
   resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.6.tgz#3b73594ca1bf9266320c5acf1588d74dea74210f"
   integrity sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==
@@ -2697,7 +2709,7 @@ browserslist@^4.0.0, browserslist@^4.8.3, browserslist@^4.9.1:
     node-releases "^1.1.53"
     pkg-up "^2.0.0"
 
-browserslist@^4.11.1, browserslist@^4.12.0:
+browserslist@^4.11.1:
   version "4.12.0"
   resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d"
   integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==
@@ -2707,7 +2719,7 @@ browserslist@^4.11.1, browserslist@^4.12.0:
     node-releases "^1.1.53"
     pkg-up "^2.0.0"
 
-browserslist@^4.14.5:
+browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.14.7:
   version "4.14.7"
   resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.14.7.tgz#c071c1b3622c1c2e790799a37bb09473a4351cb6"
   integrity sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==
@@ -2903,12 +2915,17 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001038:
   resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001038.tgz#44da3cbca2ab6cb6aa83d1be5d324e17f141caff"
   integrity sha512-zii9quPo96XfOiRD4TrfYGs+QsGZpb2cGiMAzPjtf/hpFgB6zCPZgJb7I1+EATeMw/o+lG8FyRAnI+CWStHcaQ==
 
-caniuse-lite@^1.0.30001039, caniuse-lite@^1.0.30001043:
+caniuse-lite@^1.0.30001039:
   version "1.0.30001045"
   resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001045.tgz#a770df9de36ad6ca0c34f90eaa797a2dbbb1b619"
   integrity sha512-Y8o2Iz1KPcD6FjySbk1sPpvJqchgxk/iow0DABpGyzA1UeQAuxh63Xh0Enj5/BrsYbXtCN32JmR4ZxQTCQ6E6A==
 
-caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001157:
+caniuse-lite@^1.0.30001043, caniuse-lite@^1.0.30001109:
+  version "1.0.30001161"
+  resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001161.tgz#64f7ffe79ee780b8c92843ff34feb36cea4651e0"
+  integrity sha512-JharrCDxOqPLBULF9/SPa6yMcBRTjZARJ6sc3cuKrPfyIk64JN6kuMINWqA99Xc8uElMFcROliwtz0n9pYej+g==
+
+caniuse-lite@^1.0.30001157:
   version "1.0.30001158"
   resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001158.tgz#fce86d321369603c2bc855ee0e901a7f49f8310b"
   integrity sha512-s5loVYY+yKpuVA3HyW8BarzrtJvwHReuzugQXlv1iR3LKSReoFXRm86mT6hT7PEF5RxW+XQZg+6nYjlywYzQ+g==
@@ -2933,14 +2950,6 @@ chalk@^1.1.3:
     strip-ansi "^3.0.0"
     supports-color "^2.0.0"
 
-"chalk@^3.0.0 || ^4.0.0", chalk@^4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
-  integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
-  dependencies:
-    ansi-styles "^4.1.0"
-    supports-color "^7.1.0"
-
 chalk@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72"
@@ -2949,6 +2958,14 @@ chalk@^4.0.0:
     ansi-styles "^4.1.0"
     supports-color "^7.1.0"
 
+chalk@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a"
+  integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==
+  dependencies:
+    ansi-styles "^4.1.0"
+    supports-color "^7.1.0"
+
 character-entities-legacy@^1.0.0:
   version "1.1.4"
   resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1"
@@ -3169,7 +3186,7 @@ color@^3.0.0:
     color-convert "^1.9.1"
     color-string "^1.5.2"
 
-color@^3.1.2:
+color@^3.1.3:
   version "3.1.3"
   resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e"
   integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==
@@ -3197,6 +3214,11 @@ commander@^5.0.0:
   resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae"
   integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==
 
+commander@^6.0.0:
+  version "6.2.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.0.tgz#b990bfb8ac030aedc6d11bc04d1488ffef56db75"
+  integrity sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==
+
 commander@~2.19.0:
   version "2.19.0"
   resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
@@ -3850,6 +3872,11 @@ dev-ip@^1.0.1:
   resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0"
   integrity sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=
 
+didyoumean@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.1.tgz#e92edfdada6537d484d73c0172fd1eba0c4976ff"
+  integrity sha1-6S7f2tplN9SE1zwBcv0eugxJdv8=
+
 diffie-hellman@^5.0.0:
   version "5.0.3"
   resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
@@ -4004,9 +4031,9 @@ electron-to-chromium@^1.3.390:
   integrity sha512-Ko3/VdhZAaMaJBLBFqEJ+M1qMiBI8sJfPY/hSJvDrkB3Do8LJsL9tmXy4w7o9nPXif/jFaZGSlXTQWU8XVsYtg==
 
 electron-to-chromium@^1.3.413:
-  version "1.3.414"
-  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.414.tgz#9d0a92defefda7cc1cf8895058b892795ddd6b41"
-  integrity sha512-UfxhIvED++qLwWrAq9uYVcqF8FdeV9sU2S7qhiHYFODxzXRrd1GZRl/PjITHsTEejgibcWDraD8TQqoHb1aCBQ==
+  version "1.3.607"
+  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.607.tgz#1bff13f1cf89f2fee0d244b8c64a7138f80f3a3b"
+  integrity sha512-h2SYNaBnlplGS0YyXl8oJWokfcNxVjJANQfMCsQefG6OSuAuNIeW+A8yGT/ci+xRoBb3k2zq1FrOvkgoKBol8g==
 
 electron-to-chromium@^1.3.591:
   version "1.3.597"
@@ -4870,14 +4897,15 @@ fs-extra@^7.0.1:
     jsonfile "^4.0.0"
     universalify "^0.1.0"
 
-fs-extra@^8.0.0:
-  version "8.1.0"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
-  integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
+fs-extra@^9.0.1:
+  version "9.0.1"
+  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc"
+  integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==
   dependencies:
+    at-least-node "^1.0.0"
     graceful-fs "^4.2.0"
-    jsonfile "^4.0.0"
-    universalify "^0.1.0"
+    jsonfile "^6.0.1"
+    universalify "^1.0.0"
 
 fs-minipass@^2.0.0:
   version "2.1.0"
@@ -5091,12 +5119,12 @@ gonzales-pe@^4.3.0:
   dependencies:
     minimist "^1.2.5"
 
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.2:
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.2.2:
   version "4.2.3"
   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423"
   integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==
 
-graceful-fs@^4.2.0:
+graceful-fs@^4.1.6, graceful-fs@^4.2.0:
   version "4.2.4"
   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
   integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
@@ -6047,6 +6075,15 @@ jsonfile@^4.0.0:
   optionalDependencies:
     graceful-fs "^4.1.6"
 
+jsonfile@^6.0.1:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
+  integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
+  dependencies:
+    universalify "^2.0.0"
+  optionalDependencies:
+    graceful-fs "^4.1.6"
+
 killable@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
@@ -6733,6 +6770,11 @@ mkdirp@~0.5.x:
   dependencies:
     minimist "^1.2.5"
 
+modern-normalize@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/modern-normalize/-/modern-normalize-1.0.0.tgz#539d84a1e141338b01b346f3e27396d0ed17601e"
+  integrity sha512-1lM+BMLGuDfsdwf3rsgBSrxJwAZHFIrQ8YR61xIqdHo0uNKI9M52wNpHSrliZATJp51On6JD0AfRxd4YGSU0lw==
+
 move-concurrently@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
@@ -6778,6 +6820,11 @@ nan@^2.12.1:
   resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
   integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
 
+nanoid@^3.1.18:
+  version "3.1.18"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.18.tgz#0680db22ab01c372e89209f5d18283d98de3e96d"
+  integrity sha512-rndlDjbbHbcV3xi+R2fpJ+PbGMdfBxz5v1fATIQFq0DP64FsicQdwnKLy47K4kZHdRpmQXtz24eGsxQqamzYTA==
+
 nanomatch@^1.2.9:
   version "1.2.13"
   resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
@@ -6874,12 +6921,7 @@ node-notifier@^5.1.2:
     shellwords "^0.1.1"
     which "^1.3.0"
 
-node-releases@^1.1.53:
-  version "1.1.53"
-  resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4"
-  integrity sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ==
-
-node-releases@^1.1.66:
+node-releases@^1.1.53, node-releases@^1.1.66:
   version "1.1.67"
   resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.67.tgz#28ebfcccd0baa6aad8e8d4d8fe4cbc49ae239c12"
   integrity sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==
@@ -6931,11 +6973,6 @@ normalize-url@^3.0.0:
   resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
   integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
 
-normalize.css@^8.0.1:
-  version "8.0.1"
-  resolved "https://registry.yarnpkg.com/normalize.css/-/normalize.css-8.0.1.tgz#9b98a208738b9cc2634caacbc42d131c97487bf3"
-  integrity sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==
-
 npm-run-all@^4.1:
   version "4.1.5"
   resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba"
@@ -7565,7 +7602,7 @@ postcss-discard-overridden@^4.0.1:
   dependencies:
     postcss "^7.0.0"
 
-postcss-functions@^3.0.0:
+postcss-functions@^3:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/postcss-functions/-/postcss-functions-3.0.0.tgz#0e94d01444700a481de20de4d55fb2640564250e"
   integrity sha1-DpTQFERwCkgd4g3k1V+yZAVkJQ4=
@@ -7582,13 +7619,13 @@ postcss-html@^0.36.0:
   dependencies:
     htmlparser2 "^3.10.0"
 
-postcss-js@^2.0.0:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-2.0.3.tgz#a96f0f23ff3d08cec7dc5b11bf11c5f8077cdab9"
-  integrity sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==
+postcss-js@^3.0.3:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-3.0.3.tgz#2f0bd370a2e8599d45439f6970403b5873abda33"
+  integrity sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==
   dependencies:
     camelcase-css "^2.0.1"
-    postcss "^7.0.18"
+    postcss "^8.1.6"
 
 postcss-less@^3.1.4:
   version "3.1.4"
@@ -7713,13 +7750,12 @@ postcss-modules-values@^1.3.0:
     icss-replace-symbols "^1.1.0"
     postcss "^6.0.1"
 
-postcss-nested@^4.1.1:
-  version "4.2.3"
-  resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-4.2.3.tgz#c6f255b0a720549776d220d00c4b70cd244136f6"
-  integrity sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==
+postcss-nested@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.1.tgz#e7a77f7a806a09c8de0f2c163d8e3d09f00f3139"
+  integrity sha512-ZHNSAoHrMtbEzjq+Qs4R0gHijpXc6F1YUv4TGmGaz7rtfMvVJBbu5hMOH+CrhEaljQpEmx5N/P8i1pXTkbVAmg==
   dependencies:
-    postcss "^7.0.32"
-    postcss-selector-parser "^6.0.2"
+    postcss-selector-parser "^6.0.4"
 
 postcss-normalize-charset@^4.0.1:
   version "4.0.1"
@@ -7874,7 +7910,7 @@ postcss-selector-parser@^3.0.0:
     indexes-of "^1.0.1"
     uniq "^1.0.1"
 
-postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.4:
+postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4:
   version "6.0.4"
   resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz#56075a1380a04604c38b063ea7767a129af5c2b3"
   integrity sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==
@@ -7884,15 +7920,6 @@ postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.4:
     uniq "^1.0.1"
     util-deprecate "^1.0.2"
 
-postcss-selector-parser@^6.0.2:
-  version "6.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c"
-  integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==
-  dependencies:
-    cssesc "^3.0.0"
-    indexes-of "^1.0.1"
-    uniq "^1.0.1"
-
 postcss-svgo@^4.0.2:
   version "4.0.2"
   resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258"
@@ -7968,7 +7995,7 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.2, postcss@^7.0.21
     source-map "^0.6.1"
     supports-color "^6.1.0"
 
-postcss@^7.0.11, postcss@^7.0.18, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.6:
+postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.6:
   version "7.0.35"
   resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24"
   integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==
@@ -7977,6 +8004,16 @@ postcss@^7.0.11, postcss@^7.0.18, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0
     source-map "^0.6.1"
     supports-color "^6.1.0"
 
+postcss@^8.1.10, postcss@^8.1.6:
+  version "8.1.10"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.10.tgz#129834f94c720554d2cfdaeb27d5542ac4a026ea"
+  integrity sha512-iBXEV5VTTYaRRdxiFYzTtuv2lGMQBExqkZKSzkJe+Fl6rvQrA/49UVGKqB+LG54hpW/TtDBMGds8j33GFNW7pg==
+  dependencies:
+    colorette "^1.2.1"
+    nanoid "^3.1.18"
+    source-map "^0.6.1"
+    vfile-location "^3.2.0"
+
 prelude-ls@^1.2.1:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
@@ -8111,6 +8148,16 @@ purgecss@^2.3.0:
     postcss "7.0.32"
     postcss-selector-parser "^6.0.2"
 
+purgecss@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/purgecss/-/purgecss-3.0.0.tgz#039c191871bb999894222a00c4c8b179fccdb043"
+  integrity sha512-t3FGCwyX9XWV3ffvnAXTw6Y3Z9kNlcgm14VImNK66xKi5sdqxSA2I0SFYxtmZbAKuIZVckPdazw5iKL/oY/2TA==
+  dependencies:
+    commander "^6.0.0"
+    glob "^7.0.0"
+    postcss "7.0.32"
+    postcss-selector-parser "^6.0.2"
+
 q@^1.1.2:
   version "1.5.1"
   resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
@@ -8518,7 +8565,7 @@ resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.3.2, resolve@^1.8.
   dependencies:
     path-parse "^1.0.6"
 
-resolve@^1.14.2, resolve@^1.17.0:
+resolve@^1.17.0, resolve@^1.19.0:
   version "1.19.0"
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c"
   integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==
@@ -9502,13 +9549,20 @@ supports-color@^5.3.0, supports-color@^5.4.0:
   dependencies:
     has-flag "^3.0.0"
 
-supports-color@^7.0.0, supports-color@^7.1.0:
+supports-color@^7.0.0:
   version "7.1.0"
   resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
   integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
   dependencies:
     has-flag "^4.0.0"
 
+supports-color@^7.1.0:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+  dependencies:
+    has-flag "^4.0.0"
+
 svg-tags@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
@@ -9563,33 +9617,31 @@ tailwindcss-wordpress@^0.1:
   resolved "https://registry.yarnpkg.com/tailwindcss-wordpress/-/tailwindcss-wordpress-0.1.1.tgz#4765e176af4932453a2bb9045d99f9e22fd722c4"
   integrity sha512-wOT4XXoPw6udkESkl9tEk3fDMZe1mLZCVMkzDS8QhbO/mzBcNIijeyN0VKe7Syem+o4YYzGcth+4HAT2OehxNw==
 
-tailwindcss@^1.9.6:
-  version "1.9.6"
-  resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-1.9.6.tgz#0c5089911d24e1e98e592a31bfdb3d8f34ecf1a0"
-  integrity sha512-nY8WYM/RLPqGsPEGEV2z63riyQPcHYZUJpAwdyBzVpxQHOHqHE+F/fvbCeXhdF1+TA5l72vSkZrtYCB9hRcwkQ==
+tailwindcss@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-2.0.1.tgz#8d336917819341d1018208e8b3ed8cbc46e6b643"
+  integrity sha512-57G3jdcVBWTPkHCNSAfDAo1Qp2Nkr4H6WnLD0luNFh1td+KwQp9FOVcqj0SYBH6qwVQJawzT+0/zLxzKmyznGw==
   dependencies:
-    "@fullhuman/postcss-purgecss" "^2.1.2"
-    autoprefixer "^9.4.5"
-    browserslist "^4.12.0"
+    "@fullhuman/postcss-purgecss" "^3.0.0"
     bytes "^3.0.0"
-    chalk "^3.0.0 || ^4.0.0"
-    color "^3.1.2"
+    chalk "^4.1.0"
+    color "^3.1.3"
     detective "^5.2.0"
-    fs-extra "^8.0.0"
+    didyoumean "^1.2.1"
+    fs-extra "^9.0.1"
     html-tags "^3.1.0"
     lodash "^4.17.20"
+    modern-normalize "^1.0.0"
     node-emoji "^1.8.1"
-    normalize.css "^8.0.1"
     object-hash "^2.0.3"
-    postcss "^7.0.11"
-    postcss-functions "^3.0.0"
-    postcss-js "^2.0.0"
-    postcss-nested "^4.1.1"
-    postcss-selector-parser "^6.0.0"
+    postcss-functions "^3"
+    postcss-js "^3.0.3"
+    postcss-nested "^5.0.1"
+    postcss-selector-parser "^6.0.4"
     postcss-value-parser "^4.1.0"
     pretty-hrtime "^1.0.3"
     reduce-css-calc "^2.1.6"
-    resolve "^1.14.2"
+    resolve "^1.19.0"
 
 tapable@^1.0.0, tapable@^1.1.3:
   version "1.1.3"
@@ -9922,6 +9974,16 @@ universalify@^0.1.0:
   resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
   integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
 
+universalify@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d"
+  integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==
+
+universalify@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
+  integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
+
 unpipe@1.0.0, unpipe@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
@@ -10055,6 +10117,11 @@ vendors@^1.0.0:
   resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e"
   integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==
 
+vfile-location@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c"
+  integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==
+
 vfile-message@^2.0.0:
   version "2.0.4"
   resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a"