]
);
+ $this->add_control(
+ 'type',
+ [
+ 'label' => __('Display Type', 'cube'),
+ 'type' => Controls_Manager::SELECT,
+ 'options' => [
+ 'grid' => __( 'Grid', 'cube' ),
+ 'carousel' => __( 'Carousel', 'cube' ),
+ ],
+ 'default' => 'grid',
+ 'render_type' => 'template', // Make editor re-render when this changes
+ 'prefix_class' => 'profile-grid-type-',
+ ]
+ );
+
$this->add_control(
'items',
[
'return_value' => 'truncate-text',
'prefix_class' => '',
'render_type' => 'template', // Make editor re-render when this changes
+ 'condition' => [
+ 'type' => 'grid'
+ ]
]
);
*/
protected function render() {
+ $ID = $this->get_id();
+ $display_type = $this->get_settings('type');
$items = $this->get_settings('items');
$truncate_lines = $this->get_settings('truncate_lines');
- $html = \App\template('widgets/profile-grid', compact('items', 'truncate_lines'));
-
- echo '<div class="profile-grid">'. $html .'</div>';
+ if ($display_type == 'carousel') {
+ echo \App\template('widgets/profile-carousel', compact('items', 'ID'));
+ } else {
+ echo \App\template('widgets/profile-grid', compact('items', 'truncate_lines'));
+ }
}
/**
* @since 1.0.0
* @access protected
*/
+
+ /* ### Disabled because now there are two different templates (grid + carousel)
+ and it would be too messy to have live JS templates too
+
protected function _content_template() {
?>
<div class="profile-grid">
<?php
}
+ */
+
}
"imagemin-mozjpeg": "~7.0.0",
"imagemin-webpack-plugin": "~2.0.0",
"import-glob": "~1.5",
+ "lity": "^2.4.0",
"lodash.debounce": "^4.0.8",
"lodash.throttle": "^4.1.1",
"lost": "^8.2.0",
--- /dev/null
+<svg xmlns="http://www.w3.org/2000/svg" width="70" height="70" viewBox="0 0 70 70">
+ <defs>
+ <style>
+ .close-bg {
+ fill: #f7f8fc;
+ }
+
+ .close-x {
+ fill: #20548c;
+ fill-rule: evenodd;
+ }
+ </style>
+ </defs>
+ <circle class="close-bg" cx="35" cy="35" r="35"/>
+ <path class="close-x" d="M32.161,34.795L45.339,21.617l3.294,3.294L35.455,38.089Z"/>
+ <path class="close-x" d="M35.455,31.867L48.633,45.045l-3.294,3.294L32.161,35.161Z"/>
+ <path class="close-x" d="M38.62,35.174L25.443,48.352l-3.294-3.294L35.326,31.88Z"/>
+ <path class="close-x" d="M35.326,38.1L22.148,24.924l3.294-3.294L38.62,34.807Z"/>
+</svg>
import trunk8 from 'trunk8'; // eslint-disable-line
+import lity from 'lity'; // eslint-disable-line
import debounce from 'lodash.debounce';
var text_selector = '.profile-grid-body',
elementorFrontend.hooks.addAction('frontend/element_ready/cube-profile-grid.default', function ($scope) {
// Only run on blocks that have this setting activated
- if (!$scope.hasClass('truncate-text')) {
- return;
+ if ($scope.hasClass('truncate-text')) {
+ initTruncateText();
+ }
+
+ // Trigger carousel if it exists
+ if ($scope.hasClass('profile-grid-type-carousel')) {
+ $scope.find('.profile-carousel').slick(); // Note: settings come from data-attribute in HTML
}
- truncateText();
});
});
+})(jQuery);
+
+function initTruncateText() {
+
+ truncateText();
+
$(document).ready(function() {
setTimeout(truncateText, 500); // Just in case it doesn't fire the first time for some reason...
});
event.preventDefault();
});
-
-})(jQuery);
+}
function truncateText() {
/** Import everything from autoload */
// @import "autoload/**/*"
+@import '~lity/dist/lity.css'
@import 'common/reset'
@import 'common/utilities'
--- /dev/null
+.profile-carousel
+
+ &-item
+ cursor: pointer
+ text-align: center
+ margin: 0 20px
+
+ &-image
+ display: block
+ width: 100%
+ max-width: 195px
+ margin: 0 auto 1.75em
+ background-size: cover
+ background-position: center
+ background-repeat: no-repeat
+ border-radius: 50%
+
+ .profile-carousel-item:focus &
+ border: 2px solid $colors.headings
+
+ &-sizer
+ padding-bottom: 100% // Make a square
+
+ &-title
+ color: $colors.headings
+ font-size: 18px
+ font-weight: 600
+ text-transform: uppercase
+ margin-bottom: 0.25em
+ line-height: 1.3
+
+ &-subtitle
+ color: $colors.sub-headings
+ font-size: 14px
+ font-weight: 300
+
+ &-body
+ color: $colors.text
+ font-size: 16px
+
+ &-lightbox
+ horizontal-spacing(5vw)
+ vertical-spacing(3vw)
+ background-color: #fff
+ width: 100vw
+ max-width: 800px
+ max-height: 90vh !important // Gives 5% top and bottom gap
+ overflow-y: auto // Scroll internally if content is too tall for screen
+ text-align: center
+
+
+//=== Lity Lightbox customisations
+.lity-close
+ position: absolute
+ top: 16px !important
+ right: 20px
+ width: 70px
+ height: @width
+ opacity: 1
+ transform: scale(1)
+ transform-origin: center
+ transition: all 0.3s ease
+ transition-delay: 0.15s // Slight delay to give content box time to grow enough
+
+ // Hide while loading and closing
+ .lity-loading &,
+ .lity-closed &
+ opacity: 0
+ transform: scale(0.8)
+
+ // When lightbox is closing there's no transition or delay
+ // because we want the button to disappear immediately so
+ // we don't get a weird overlap with shrinking content box
+ .lity-closed &
+ transition-duration: 0s
+ transition-delay: 0s
+
+ &:after
+ content: ''
+ position: absolute
+ top: 0
+ left: 0
+ width: 100%
+ height: 100%
+ background: url('../images/icons/close-rounded.svg') center no-repeat
+ background-size: contain
+ z-index: 10
--- /dev/null
+{{--PROFILE CAROUSEL--}}
+@php
+ $settings = [
+ 'slidesToShow' => 4,
+ 'slidesToScroll' => 1,
+ 'dots' => count($items) > 4, // Only show dots when there are enough items
+ 'infinite' => true,
+ 'responsive' => [
+ [
+ 'breakpoint' => 1300,
+ 'settings' => [
+ 'slidesToShow' => 3
+ ]
+ ],
+ [
+ 'breakpoint' => 850,
+ 'settings' => [
+ 'slidesToShow' => 2
+ ]
+ ],
+ [
+ 'breakpoint' => 650,
+ 'settings' => [
+ 'slidesToShow' => 1
+ ]
+ ],
+ ]
+ ];
+
+ $slick = json_encode($settings);
+
+@endphp
+
+<div class="profile-carousel elementor-slick-slider" data-slick="{{ $slick }}">
+
+ @foreach ($items as $index => $item)
+
+ @php
+ $lightbox_ID = 'lightbox_'. $ID .'_'. $index; // Unique ID for lightbox content
+ @endphp
+
+ <a href="#{{ $lightbox_ID }}" data-lity class="profile-carousel-item slick-slide">
+
+ <div class="profile-carousel-image" style="background-image:url('{{ wp_get_attachment_image_url($item['image']['id'], 'post-thumbnail') }}')">
+ <div class="profile-carousel-image-sizer"></div>
+ </div>
+
+ <h3 class="profile-carousel-title">{!! str_replace('-', '‑', $item['title']) /* make hyphens non-breaking */ !!}</h3>
+
+ @if ($item['subtitle'])
+ <h4 class="profile-carousel-subtitle">{{ $item['subtitle'] }}</h4>
+ @endif
+
+ {{-- Lightbox Content --}}
+ <div id="{{ $lightbox_ID }}" class="lity-hide profile-carousel-lightbox">
+
+ <div class="profile-carousel-image" style="background-image:url('{{ wp_get_attachment_image_url($item['image']['id'], 'post-thumbnail') }}')">
+ <div class="profile-carousel-image-sizer"></div>
+ </div>
+
+ <h3 class="profile-carousel-title">{{ $item['title'] }}</h3>
+
+ {!! $item['body'] !!}
+ </div>
+
+ </a> {{-- .profile-carousel-item --}}
+
+ @endforeach
+
+</div>
-@foreach ($items as $item)
+<div class="profile-grid">
- <div class="profile-grid-item">
- @image($item['image']['id'], 'full', ['class' => 'profile-grid-image'])
+ @foreach ($items as $item)
- <div class="profile-grid-text">
+ <div class="profile-grid-item">
+ @image($item['image']['id'], 'full', ['class' => 'profile-grid-image'])
- <h3 class="profile-grid-title">{{ $item['title'] }}</h3>
+ <div class="profile-grid-text">
- @if ($item['subtitle'])
- <h4 class="profile-grid-subtitle">{{ $item['subtitle'] }}</h4>
- @endif
+ <h3 class="profile-grid-title">{{ $item['title'] }}</h3>
- <div class="profile-grid-body"
- data-truncate-lines="{{ $truncate_lines }}"
- data-read-more="<?php _ex('Read more', 'Profile grid read more link text', 'cube') ?>"
- data-read-less="<?php _ex('Read less', 'Profile grid read less link text', 'cube') ?>"
- >
- {!! $item['body'] !!}
- </div>
+ @if ($item['subtitle'])
+ <h4 class="profile-grid-subtitle">{{ $item['subtitle'] }}</h4>
+ @endif
- @if (!empty($item['cta_text']) && !empty($item['cta_link']['url']))
- <a href="{{ $item['cta_link']['url'] }}"
- class="profile-grid-cta arrow-link"
- @if ($item['cta_link']['is_external'])
- target="_blank" rel="noopener"
- @endif
+ <div class="profile-grid-body"
+ data-truncate-lines="{{ $truncate_lines }}"
+ data-read-more="<?php _ex('Read more', 'Profile grid read more link text', 'cube') ?>"
+ data-read-less="<?php _ex('Read less', 'Profile grid read less link text', 'cube') ?>"
>
- @svg('arrow')
- {{ $item['cta_text'] }}
- </a>
- @endif
+ {!! $item['body'] !!}
+ </div>
+
+ @if (!empty($item['cta_text']) && !empty($item['cta_link']['url']))
+ <a href="{{ $item['cta_link']['url'] }}"
+ class="profile-grid-cta arrow-link"
+ @if ($item['cta_link']['is_external'])
+ target="_blank" rel="noopener"
+ @endif
+ >
+ @svg('arrow')
+ {{ $item['cta_text'] }}
+ </a>
+ @endif
+ </div>
</div>
- </div>
-@endforeach
+ @endforeach
-{{--<pre>--}}
- {{--@php(print_r($items))--}}
-{{--</pre>--}}
+</div>
dependencies:
ms "2.0.0"
-debug@^3.0.0, debug@^3.1.0, debug@^3.2.6:
+debug@^3.0.0, debug@^3.1.0:
version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
-detect-libc@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
- integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
-
dev-ip@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0"
jsonfile "^3.0.0"
universalify "^0.1.0"
-fs-minipass@^1.2.5:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
- integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
- dependencies:
- minipass "^2.6.0"
-
fs-write-stream-atomic@^1.0.8:
version "1.0.10"
resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
-iconv-lite@^0.4.17, iconv-lite@^0.4.4:
+iconv-lite@^0.4.17:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE=
-ignore-walk@^3.0.1:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
- integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==
- dependencies:
- minimatch "^3.0.4"
-
ignore@^3.3.3, ignore@^3.3.5:
version "3.3.10"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.5.tgz#8f92a25b3b16c6131293a0cc834b4a838a2aa7c2"
integrity sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==
+lity@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/lity/-/lity-2.4.0.tgz#af7eb0c33efe3b21c31ab22848e608eca432e819"
+ integrity sha512-6sj/IjJ6bDWdWcvo15r12erzVkVQFx8xA5dWT3WjuJxCns8o7PEkDAjfTjaoy6wbR2KDxAfxBWqY9YNnpAUWPQ==
+
load-json-file@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
-minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
- integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
- dependencies:
- safe-buffer "^5.1.2"
- yallist "^3.0.0"
-
-minizlib@^1.2.1:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
- integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
- dependencies:
- minipass "^2.9.0"
-
mississippi@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
-needle@^2.2.1:
- version "2.4.0"
- resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c"
- integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==
- dependencies:
- debug "^3.2.6"
- iconv-lite "^0.4.4"
- sax "^1.2.4"
-
negotiator@0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
util "^0.11.0"
vm-browserify "^1.0.1"
-node-pre-gyp@*:
- version "0.14.0"
- resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83"
- integrity sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==
- dependencies:
- detect-libc "^1.0.2"
- mkdirp "^0.5.1"
- needle "^2.2.1"
- nopt "^4.0.1"
- npm-packlist "^1.1.6"
- npmlog "^4.0.2"
- rc "^1.2.7"
- rimraf "^2.6.1"
- semver "^5.3.0"
- tar "^4.4.2"
-
node-releases@^1.1.44:
version "1.1.45"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.45.tgz#4cf7e9175d71b1317f15ffd68ce63bce1d53e9f2"
dependencies:
abbrev "1"
-nopt@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
- integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=
- dependencies:
- abbrev "1"
- osenv "^0.1.4"
-
normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
version "2.5.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
-npm-bundled@^1.0.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b"
- integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==
- dependencies:
- npm-normalize-package-bin "^1.0.1"
-
npm-conf@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/npm-conf/-/npm-conf-1.1.3.tgz#256cc47bd0e218c259c4e9550bf413bc2192aff9"
config-chain "^1.1.11"
pify "^3.0.0"
-npm-normalize-package-bin@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
- integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
-
-npm-packlist@^1.1.6:
- version "1.4.7"
- resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.7.tgz#9e954365a06b80b18111ea900945af4f88ed4848"
- integrity sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==
- dependencies:
- ignore-walk "^3.0.1"
- npm-bundled "^1.0.1"
-
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
dependencies:
path-key "^2.0.0"
-"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
+"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
-osenv@0, osenv@^0.1.4:
+osenv@0:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-rc@^1.1.2, rc@^1.2.7:
+rc@^1.1.2:
version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
neo-async "^2.5.0"
pify "^3.0.0"
-sax@^1.2.4, sax@~1.2.1, sax@~1.2.4:
+sax@~1.2.1, sax@~1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
fstream "^1.0.12"
inherits "2"
-tar@^4.4.2:
- version "4.4.13"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
- integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==
- dependencies:
- chownr "^1.1.1"
- fs-minipass "^1.2.5"
- minipass "^2.8.6"
- minizlib "^1.2.1"
- mkdirp "^0.5.0"
- safe-buffer "^5.1.2"
- yallist "^3.0.3"
-
temp-dir@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
-yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
+yallist@^3.0.2:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==