Subversion Repositories eFlore/Applications.cel

Compare Revisions

No changes between revisions

Ignore whitespace Rev 3856 → Rev 3857

/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/InitialisationASL.js
New file
0,0 → 1,29
import {utils} from './WidgetsSaisiesCommun.js';
import {WidgetsSaisiesASL} from './WidgetsSaisiesASL.js';
import {ReleveASL} from './ReleveASL.js';
import {PlantesEtLichensASL} from './PlantesEtLichensASL.js';
 
export const initialiserModule = function(nomSquelette = 'arbres') {
const proprietes = $( '#zone-' + nomSquelette).data();
switch( nomSquelette ) {
case 'plantes' :
case 'lichens' :
const plantesEtLichens = new PlantesEtLichensASL(proprietes);
 
plantesEtLichens.init();
break;
case 'arbres' :
default :
const arbres = new ReleveASL(proprietes);
arbres.init();
break;
}
};
 
$( document ).ready( function() {
// InitialisationASL.prototype = new WidgetsSaisiesCommun(widgetProp);
const widget = new WidgetsSaisiesASL();
widget.init();
 
utils.init();
});
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/Utils.js
New file
0,0 → 1,436
export function Utils() {
this.cheminFichiers = $( '#zone-appli' ).data( 'url-fichiers' );
// système de traduction minimaliste
this.msgs = {
fr: {
'arbre' : 'Arbre',
'dupliquer' : 'Dupliquer',
'saisir-plantes' : 'Saisir les plantes',
'saisir-lichens' : 'Saisir les lichens',
'upload-non-suppote' : 'Votre navigateur ne permet pas le téléchargement de fichiers.',
'format-non-supporte' : 'Le format de fichier n\'est pas supporté, les formats acceptés sont',
'image-deja-chargee' : 'Cette image a déjà été utilisée',
'date-incomplete' : 'Format : jj/mm/aaaa.',
'observations-transmises' : 'observations transmises',
'supprimer-observation-liste' : 'Supprimer cette observation de la liste à transmettre',
'confirmation-suppression' : 'Êtes-vous sûr de vouloir supprimer cette observation',
'milieu' : 'Milieu',
'commentaires' : 'Commentaires',
'non-lie-au-ref' : 'non lié au référentiel',
'obs-le' : 'le',
'non-connexion' : 'Veuillez entrer votre login et votre mot de passe',
'obs-numero' : 'Observation n°',
'erreur' : 'Erreur',
'erreur-inconnue' : 'Erreur inconnue',
'erreur-image' : 'Erreur lors du chargement des images',
'erreur-ajax' : 'Erreur Ajax',
'erreur-chargement' : 'Erreur lors du chargement de l\'observation',
'erreur-chargement-obs-utilisateur' : 'Erreur lors du chargement des observations de cet utilisateur',
'erreur-formulaire' : 'Erreur: impossible de charger le formulaire',
'lieu-obs' : 'observé à',
'lieu-dit' : 'Lieu-dit',
'taxon-ou-image' : 'Veuillez transmettre au moins, soit une image, soit une espèce',
'station' : 'Station',
'date-rue' : 'Un releve existe dejà à cette date pour cette rue.',
'rechargement-page' : 'Êtes vous sûr de vouloir quiter la page?\nLes observations saisies mais non transmises seront perdues.',
'courriel-connu' : 'Un compte existe pour ce courriel, connectez-vous pour saisir votre observation'
},
en: {
'arbre' : 'Tree',
'dupliquer' : 'Duplicate',
'saisir-plantes' : 'Enter the plants',
'saisir-lichens' : 'Enter the lichens',
'upload-non-suppote' : 'Your browser does not support file upload.',
'format-non-supporte' : 'The file format is not supported, the accepted formats are',
'image-deja-chargee' : 'This image has already been used',
'date-incomplete' : 'Format: dd/mm/yyyy.',
'observations-transmises' : 'observations transmitted',
'supprimer-observation-liste' : 'Delete this observation from the list to be transmitted',
'confirmation-suppression' : 'Are you sure you want to delete this observation',
'milieu' : 'Environment',
'commentaires' : 'Comments',
'non-lie-au-ref' : 'unrelated to the referencial ',
'obs-le' : 'the',
'non-connexion' : 'Please enter your login and password',
'obs-numero' : 'Observation number ',
'erreur' : 'Error',
'erreur-inconnue' : 'Unknown error',
'erreur-image' : 'Error loading the images',
'erreur-ajax' : 'Ajax Error',
'erreur-chargement' : 'Error loading the observation',
'erreur-chargement-obs-utilisateur' : 'Error loading this user\'s observations',
'erreur-formulaire' : 'Error: couldn\'t load form',
'lieu-obs' : 'observed at',
'lieu-dit' : 'Locality',
'taxon-ou-image' : 'Please transmit at least one image or one species',
'station' : 'Place',
'date-rue' : 'A record already exists on this date for this street',
'rechargement-page' : 'Are you sure you want to leave the page?\nAll untransmitted observations will be lost.',
'courriel-connu' : 'An account exists for this email, log in to enter your observation'
}
};
};
 
Utils.prototype.init = function() {
// Modale "aide" du projet
this.projetHelpModale();
// Affichage input file
this.inputFile();
// Affichage des List-checkbox
this.inputListCheckbox();
// Affichage des Range
this.inputRangeDisplayNumber()
// Modale "aide"
this.newFieldsHelpModal();
// Ajout/suppression d'un champ texte "Autre"
this.onOtherOption();
// Récupérer les données entrées dans "Autre"
this.collectOtherOption();
};
 
// aide dans le titre du projet
Utils.prototype.projetHelpModale = function() {
const lthis = this;
 
$( '#top' ).on ( 'click', '#info-button', function ( event ) {
const fileMimeType = $( this ).data( 'mime-info' ),
label = 'Aide du projet : ' + $( '#titre-projet' ).text();
 
if( fileMimeType.match( 'image' ) ) {
const extention = fileMimeType.replace( /(?:imag)?e\/?/g , '' ),
content = '<img id="modale-aide-img" src="' + lthis.cheminFichiers + 'info.' + extention + '" style="" alt="info projet" />';
}
lthis.activerModale( label, content );
});
};
 
// Logique d'affichage pour le input type=file
Utils.prototype.inputFile = function() {
// Action lorsque la "barre d'espace" ou "Entrée" est pressée
$( '#formulaire' ).on( 'keydown', '.label-file', function( event ) {
if ( event.keyCode == 13 || event.keyCode == 32 ) {
$( '#' + $( this ).attr( 'for' ) + '.input-file' ).click();
}
});
};
 
// Style et affichage des list-checkboxes
Utils.prototype.inputListCheckbox = function() {
// On écoute le click sur une list-checkbox ('.selectBox')
// à tout moment de son insertion dans le dom
// _ S'assurer de bien viser la bonne list-checkbox
// _ Au click sur un autre champ remballer la list-checkbox
$( document ).click( function( event ) {
const target = event.target;
 
if ( !$( target ).is( '.overSelect' ) && 0 === $( target ).closest( '.checkboxes' ).length ) {
$( '.checkboxes' ).each( function () {
$( this ).addClass( 'hidden' );
});
$( '.selectBox select.focus', '#zone-appli' ).each( function() {
$( this ).removeClass( 'focus' );
});
}
});
$( '#zone-appli' ).on( 'click' , '.selectBox' , function() {
// afficher/cacher le volet des checkboxes et focus
$( this ).next().toggleClass( 'hidden' );
$( this ).find( 'select' ).toggleClass( 'focus' );
 
// Cacher le volet des autres checkboxes et retirer leur focus
const $checkboxes = $( this ).next(),
count = $( '.checkboxes' ).length;
 
for ( let i = 0; i < count; i++ ) {
if ( $( '.checkboxes' )[i] !== $checkboxes[0] && !$checkboxes.hasClass( 'hidden' ) ) {
const $otherListCheckboxes = $( '.checkboxes' )[i];
 
if ( !$otherListCheckboxes.classList.contains( 'hidden' ) ) {
$otherListCheckboxes.classList.add( 'hidden' );
}
if( $otherListCheckboxes.previousElementSibling.firstElementChild.classList.contains( 'focus' ) ) {
$otherListCheckboxes.previousElementSibling.firstElementChild.classList.remove( 'focus' );
}
}
}
});
};
 
// Style et affichage des input type="range"
Utils.prototype.inputRangeDisplayNumber = function() {
$( 'input[type="range"]' ).each( function() {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
$( '#top' ).on( 'input' , 'input[type="range"]' , function () {
$( this ).siblings( '.range-live-value' ).text( $( this ).val() );
});
$( '#top' ).on( 'click', '#ajouter-obs', function() {
$( '.range-live-value' ).each( function() {
$( this ).text( '' );
});
});
};
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
Utils.prototype.newFieldsHelpModal = function() {
const lthis = this;
 
$( '#zone-appli' ).on( 'click' , '.help-button' , function ( event ) {
const thisFieldKey = $( this ).data( 'key' ),
fileMimeType = $( this ).data( 'mime-type' ),
label = 'Aide pour : ' + $( this ).data( 'name' );
 
if( fileMimeType.match( 'image' ) ) {
const extention = fileMimeType.replace( /(?:imag)?e\/?/g , '' ),
content = '<img id="modale-aide-img" src="' + lthis.cheminFichiers + thisFieldKey + '.' + extention + '" style="" alt="' + thisFieldKey + '" />';
}
lthis.activerModale( label, content );
});
};
 
// Activation/Desactivation et contenu de la modale Bootstrap
// https://getbootstrap.com/docs/3.3/javascript/#modals
Utils.prototype.activerModale = function( label, content = '', buttons = [] ) {
const lthis = this,
buttonsHtmlBase = '<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>';
let dismiss = '',
buttonsHtml = buttonsHtmlBase;
 
// Titre
$( '#fenetre-modal-label' ).text( label );
if ( '' !== content ) {
$( '#print_content' ).append( content );
}
// Sortie avec la touche escape
$( '#fenetre-modal' ).modal( { keyboard : true } );
// Affichage
$( '#fenetre-modal' ).modal({ show: true });
// Remplacer l'autofocus qui ne fonctionne plus en HTML5
// Message dans la doc de bootstrap :
// Due to how HTML5 defines its semantics,
// the autofocus HTML attribute has no effect in Bootstrap modals.
// To achieve the same effect, use some custom JavaScript
$( '#fenetre-modal' ).off( 'shown.bs.modal' ).on( 'shown.bs.modal' , function () {
$( '#myInput' ).trigger( 'focus' );
if( valOk( $( '#modale-aide-img' ) ) ) {
lthis.redimentionnerImgAide();
$( window ).on( 'resize', lthis.redimentionnerImgAide.bind( lthis ) );
}
});
if ( valOk( buttons ) ) {
buttonsHtml = '';
$.each( buttons, function( i, button ) {
dismiss = button.dismiss ? 'data-dismiss="modal"' : '';
buttonsHtml += '<button type="button" class="btn ' + button.class + '" ' + dismiss + '>' + button.label + '</button>';
});
}
$( '.modal-footer' ).html( buttonsHtml );
// Réinitialisation
$( '#fenetre-modal' ).on( 'hidden.bs.modal' , function () {
$( '#confirm-modal-label' ).text();
$( '#print_content' ).empty();
$( '.modal-footer' ).html( buttonsHtmlBase );
});
};
 
Utils.prototype.redimentionnerImgAide = function() {
const espHorizDisp = $( '.modal-dialog' ).innerWidth() <= 1200 ? $( '.modal-dialog' ).innerWidth() - 30 : 1200,
cssImg = {
'width': espHorizDisp,
'height' : 'auto'
};
 
$( '#modale-aide-img' ).css(cssImg).show(50);
};
 
// Faire apparaitre un champ text "Autre"
Utils.prototype.onOtherOption = function() {
const lthis = this,
PREFIX = 'collect-other-';
// Ajouter un champ texte pour "Autre"
const optionAdd = (
otherId,
$target,
element,
dataName,
dataLabel
) => {
$target.after(
'<div class="control-group">'+
'<label'+
' for="' + otherId + '"'+
' class="' + otherId + '"'+
'>'+
'Autre option "' + dataLabel.toLowerCase() + '" :'+
'</label>'+
'<input'+
' type="text"'+
' id="' + otherId + '"'+
' name="' + otherId + '"'+
' class="collect-other form-control"'+
' data-name="' + dataName + '"'+
' data-element="' + element + '"'+
'>'+
'</div>'
);
$( '#' + otherId ).focus();
};
// Supprimer un champ texte pour "Autre"
const optionRemove = otherId => $( '#' + otherId ).closest('.control-group').remove();
 
let dataName = '',
otherId = '',
dataLabel = '',
element = '';
 
$( '.other', '#formulaire' ).each( function() {
if( $( this ).hasClass( 'is-select' ) ) {
dataName = $( this ).data( 'name' );
otherId = PREFIX + dataName;
dataLabel = $( '.select' ).data( 'label' );
// Insertion du champ "Autre" après les boutons
if ( !valOk( $( '#'+otherId ) ) ) {
optionAdd( otherId, $( this ).parent( '.add-field-select' ), 'select', dataName, dataLabel );
}
} else if ( $( this ).is( ':checked' ) ) {
dataName = $( this ).data( 'name' );
otherId = PREFIX + dataName;
dataLabel = $( this ).data( 'label' );
element = $( this ).data( 'element' );
// Insertion du champ "Autre" après les boutons
if ( !valOk( $( '#'+ otherId ) ) ) {
optionAdd( otherId, $( this ).parent( 'label' ), element, dataName, dataLabel );
}
}
});
 
$( '#formulaire' ).on( 'change', '.select', function () {
dataName = $( this ).data( 'name' );
otherId = PREFIX + dataName;
dataLabel = $( this ).data( 'label' );
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
if ( !valOk( $( '#'+otherId ) ) ) {
optionAdd( otherId, $( this ).parent( '.add-field-select' ), 'select', dataName, dataLabel );
}
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).find( '.other' ).val( 'other' );
}
});
 
$( '#formulaire' ).on( 'change', 'input[type=radio]', function () {
dataName = $( this ).data( 'name' );
otherId = PREFIX + dataName;
dataLabel = $( this ).data( 'label' );
if( 'other' === $( this ).val() ) {
// Insertion du champ "Autre" après les boutons
if ( !valOk( $( '#'+otherId ) ) ) {
optionAdd( otherId, $( this ).parent( 'label' ), 'radio', dataName, dataLabel );
}
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).closest( '.radio' ).find( '.other' ).val( 'other' );
}
});
 
$( '#formulaire' ).on( 'click', '.list-checkbox .other,.checkbox .other', function () {
dataName = $( this ).data( 'name' );
otherId = PREFIX + dataName;
dataLabel = $( this ).data( 'label' );
element = $( this ).data( 'element' );
if( $( this ).is( ':checked' ) ) {
// Insertion du champ "Autre" après les boutons
if ( !valOk( $( '#'+otherId ) ) ) {
optionAdd( otherId, $( this ).parent( 'label' ), element, dataName, dataLabel );
}
} else {
// Suppression du champ autre
optionRemove( otherId );
$( this ).val( 'other' );
}
});
};
 
Utils.prototype.collectOtherOption = function() {
$( '#formulaire' ).on( 'change', '.collect-other', function () {
const otherIdSuffix = $( this ).data( 'name' ).replace( '[]', '' ),
element = $( this ).data( 'element' );
 
if ( '' === $( this ).val() ){
if ( 'select' === element ) {
$( '#' + otherIdSuffix ).find( '.other' ).prop( 'selected', false ).val( 'other' );
} else {
$( '#other-' + otherIdSuffix ).prop( 'checked', false ).val( 'other' );
}
$( 'label.collect-other-' + otherIdSuffix ).remove();
$( this ).remove();
} else {
if ( 'select' === element ) {
$( '#' + otherIdSuffix ).find( '.other' ).val( $( this ).val() );
$( '#' + otherIdSuffix ).val( $( this ).val() );
$( '#' + otherIdSuffix + ' option').not( '.other' ).prop( 'selected', false );
$( '#' + otherIdSuffix ).find( '.other' ).prop( 'selected', true );
} else {
if ( 'radio' === element ) {
$( 'input[name=' + otherIdSuffix + ']' ).not( '#other-' + otherIdSuffix ).prop( 'checked', false );
}
$( '#other-' + otherIdSuffix ).val( $( this ).val() );
$( '#other-' + otherIdSuffix ).prop( 'checked', true );
}
}
});
};
 
/**
* Permet à la fois de vérifier qu'une valeur ou objet existe et n'est pas vide
* et de comparer à une autre valeur :
* Vérifie qu'une variable ou objet n'est pas : vide, null, undefined, NaN
* Si comparer est défini on le compare à valeur en fonction de sensComparaison
* Un booléen est une variable valide : on retourne true
* @param { string || number || object || undefined } valeur
* @param { boolean } sensComparaison : true = rechercher, false = refuser
* @param { string || number || object || undefined || boolean } comparer :valeur à comparer
* @returns {boolean}
*/
export const valOk = (
valeur,
sensComparaison = true,
comparer = undefined
) => {
let retour = true;
 
if ( 'boolean' !== typeof valeur ) {
switch( typeof valeur ) {
case 'string' :
retour = ( '' !== valeur );
break;
case 'number' :
retour = ( NaN !== valeur );
break;
case 'object' :
retour = ( null !== valeur && undefined !== valeur && !$.isEmptyObject( valeur ) );
if ( null !== valeur && undefined !== valeur.length ) {
retour = ( retour && 0 < valeur.length );
}
break;
case 'undefined' :
default :
retour = false;
}
if ( retour && comparer !== undefined ) {
const resultComparaison = ( comparer === valeur );
 
retour = ( sensComparaison ) ? resultComparaison : !resultComparaison ;
}
 
return retour;
 
} else {
// Un booléen est une valeur valable
return true;
}
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/css/geoloc.css
New file
0,0 → 1,188
 
input[type="search"] {
-webkit-appearance: textfield;
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box;
box-sizing: content-box;
}
 
.hidden {
display: none !important;
}
 
.flex {
display: -webkit-box;
display: -moz-box;
display: -webkit-flexbox;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}
 
.form-col {
-webkit-flex-grow: 1;
-moz-flex-grow: 1;
-ms-flex-positive: 1;
flex-grow: 1;
-webkit-flex-shrink: 1;
-webkit-box-flex: 1;
-moz-flex-shrink: 1;
-ms-flex-negative: 1;
flex-shrink: 1;
-webkit-flex-basis: 0%;
-moz-flex-basis: 0%;
-ms-flex-preferred-size: 0%;
flex-basis: 0%;
margin-top: 10px;
margin-bottom: 10px;
}
 
/************************************************
tb PLACES STYLING
************************************************/
/** tb places search block **/
 
.search-container {
position: relative;
}
 
/** tb places input search **/
 
.input-search-container {
display: flex;
width: 100%;
border: 1px solid #bcd35f;
border-radius: 3px;
}
 
.tb-places {
width: 100%;
height: 25px;
padding: 10px 20px;
float: left;
background: #f5f0eb;
border:0;
box-shadow: none;
border-radius: 3px 0 0 3px;
}
 
.tb-places:focus {
outline: 0;
background: #fff;
}
 
.tb-places::-webkit-input-placeholder,
.tb-places:-moz-placeholder,
.tb-places:-ms-input-placeholder {
color: #999;
font-weight: normal;
font-style: italic;
}
 
 
.tb-places-search-icon,
.tb-places-close {
overflow: visible;
position: relative;
border: 0;
padding: 0;
height: 45px;
width: 60px;
border-radius: 0 3px 3px 0;
}
 
/** tb places search buttons **/
.tb-places-search-icon:active,
.tb-places-search-icon:focus,
.tb-places-close:active,
.tb-places-close:focus {
outline: 0;
}
 
.tb-places-search-icon:before,
.tb-places-close:before { /* left arrow */
content: '';
position: absolute;
border-width: 10px 10px 10px 0;
border-style: solid solid solid none;
top: 14px;
left: -7px;
}
 
.tb-places-search-icon::-moz-focus-inner,
.tb-places-close::-moz-focus-inner { /* remove extra button spacing for Mozilla Firefox */
border: 0;
padding: 0;
}
 
.tb-places-search-icon {
background-image: url('../img/search-green.svg');
background-position: 15px 50%;
background-size: 20px;
background-repeat: no-repeat;
background-color: #bcd35f;
}
 
.tb-places-search-icon:before {
border-color: transparent #bcd35f transparent;
}
 
.tb-places-close {
background-image: url('../img/cross-white.svg');
background-position: 7px 50%;
background-size: 35px;
background-repeat: no-repeat;
background-color: #2f2826;
cursor: pointer;
touch-action: manipulation;
}
 
.tb-places-close:before {
border-color: transparent #2f2826 transparent;
}
 
/** tb places search results **/
 
.tb-places-results-container {
position: absolute;
top: 103%;
z-index: 1001 !important;
width: 99%;
background-color: #f5f0eb;
height: 200px;
padding: 0;
margin-left: 2px;
border-radius: 1px;
overflow: auto;
box-shadow: 2px 2px 4px #837569;
}
 
.tb-places-results {
position: relative;
top: 0;
width: 100%;
padding: 0;
margin: 0;
background-color: #f5f0eb;
color: #302926;
font-weight: 600;
}
 
.tb-places-results .tb-places-suggestion {
width: 100%;
padding: 5px 0 5px 20px;
background-color: #f5f0eb;
list-style-type: none;
cursor: pointer;
touch-action: manipulation;
margin: 0;
}
 
.tb-places-results .tb-places-suggestion:hover,
.tb-places-results .tb-places-suggestion:focus {
background-color: #fff;
}
 
ul.leaflet-draw-actions.leaflet-draw-actions-bottom li:first-child {
display: none;
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/css/leaflet-gesture-handling.min.css
New file
0,0 → 1,0
@-webkit-keyframes leaflet-gestures-fadein{0%{opacity:0}100%{opacity:1}}@keyframes leaflet-gestures-fadein{0%{opacity:0}100%{opacity:1}}.leaflet-container:after{-webkit-animation:leaflet-gestures-fadein .8s backwards;animation:leaflet-gestures-fadein .8s backwards;color:#fff;font-family:Roboto,Arial,sans-serif;font-size:22px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:15px;position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:461;pointer-events:none}.leaflet-gesture-handling-scroll-warning:after,.leaflet-gesture-handling-touch-warning:after{-webkit-animation:leaflet-gestures-fadein .8s forwards;animation:leaflet-gestures-fadein .8s forwards}.leaflet-gesture-handling-touch-warning:after{content:attr(data-gesture-handling-touch-content)}.leaflet-gesture-handling-scroll-warning:after{content:attr(data-gesture-handling-scroll-content)}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/photo-aide-geoloc.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/photo-aide-geoloc.jpg
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/chargement-image.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/chargement-image.gif
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/search-green.svg
New file
0,0 → 1,3
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18">
<path id="Tracé_189" data-name="Tracé 189" d="M17.894.738A.38.38,0,0,1,18,1.02a.514.514,0,0,1-.105.316l-.809.773a.437.437,0,0,1-.316.141.334.334,0,0,1-.281-.141L12.2-2.145a.468.468,0,0,1-.105-.281v-.492A7.552,7.552,0,0,1,9.879-1.6a7.07,7.07,0,0,1-2.566.475,7.1,7.1,0,0,1-3.674-.984A7.388,7.388,0,0,1,.984-4.764,7.1,7.1,0,0,1,0-8.437a7.1,7.1,0,0,1,.984-3.674,7.388,7.388,0,0,1,2.654-2.654,7.1,7.1,0,0,1,3.674-.984,7.1,7.1,0,0,1,3.674.984,7.388,7.388,0,0,1,2.654,2.654,7.1,7.1,0,0,1,.984,3.674,7.07,7.07,0,0,1-.475,2.566,7.552,7.552,0,0,1-1.318,2.215h.492a.38.38,0,0,1,.281.105ZM7.312-2.812a5.5,5.5,0,0,0,2.812-.756,5.585,5.585,0,0,0,2.057-2.057,5.5,5.5,0,0,0,.756-2.812,5.5,5.5,0,0,0-.756-2.812,5.585,5.585,0,0,0-2.057-2.057,5.5,5.5,0,0,0-2.812-.756,5.5,5.5,0,0,0-2.812.756A5.585,5.585,0,0,0,2.443-11.25a5.5,5.5,0,0,0-.756,2.812,5.5,5.5,0,0,0,.756,2.812A5.585,5.585,0,0,0,4.5-3.568,5.5,5.5,0,0,0,7.312-2.812Z" transform="translate(0 15.75)" fill="#456d27"/>
</svg>
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/cross-white.svg
New file
0,0 → 1,8
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 19.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="92px" height="92px" viewBox="0 0 92 92" enable-background="new 0 0 92 92" xml:space="preserve">
<path id="XMLID_732_" d="M70.7,64.3c1.8,1.8,1.8,4.6,0,6.4c-0.9,0.9-2,1.3-3.2,1.3c-1.2,0-2.3-0.4-3.2-1.3L46,52.4L27.7,70.7
c-0.9,0.9-2,1.3-3.2,1.3s-2.3-0.4-3.2-1.3c-1.8-1.8-1.8-4.6,0-6.4L39.6,46L21.3,27.7c-1.8-1.8-1.8-4.6,0-6.4c1.8-1.8,4.6-1.8,6.4,0
L46,39.6l18.3-18.3c1.8-1.8,4.6-1.8,6.4,0c1.8,1.8,1.8,4.6,0,6.4L52.4,46L70.7,64.3z" fill="#fff"/>
</svg>
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/marker-shadow.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/marker-shadow.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/marker-icon.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/img/marker-icon.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Geoloc.js
New file
0,0 → 1,538
import {NOMINATIM_OSM_URL,TbPlaces} from "./modules/Locality.js";
 
const tileLayers = {
googleHybrid: [
'https://{s}.google.com/vt/lyrs=s,h&x={x}&y={y}&z={z}',
{
attribution: '<a href="https://www.google.com" target="_blank">\xa9 Google Maps</a>',
subdomains: ["mt0","mt1","mt2","mt3"],
maxZoom: 20
}
],
osm: [
'https://osm.tela-botanica.org/tuiles/osmfr/{z}/{x}/{y}.png',
{
attribution: 'Data © <a href="http://osm.org/copyright">OpenStreetMap</a>',
maxZoom: 18
}
]
};
const defaultPosition = {
lat: 47.0504,
lng: 2.2347
};
const defaultCityZoom = 12;
const defaultZoom = 4;
const geometryFilterDefault = 'point';
const defaultMapIdAttr = 'tb-geolocation';
const markerImgBaseUrl = URL_BASE +'js/tb-geoloc/img/';
const markerIcon = L.Icon.extend({
options: {
shadowUrl: markerImgBaseUrl +'marker-shadow.png',
iconAnchor: new L.Point(12, 40),//correctly replaces the dot of the pointer
iconSize: new L.Point(24,40),
iconUrl: markerImgBaseUrl +'marker-icon.png',
}
});
const defaultPolylineOptions = {
shapeOptions: {
weight: 5
},
showLength: true,
repeatMode: false
};
 
const drawLocale = {
edit: {
handlers: {
edit: {
tooltip: {
subtext: 'Cliquer sur annuler pour supprimer les changements',
text: 'Déplacez les marqueurs pour modifier leur position'
}
},
remove: {
tooltip: {
text: 'cliquer sur une ligne pour supprimer'
}
}
},
toolbar: {
actions: {
cancel: {
text: 'Annuler',
title: 'Annuler'
},
clearAll: {
text: 'Effacer',
title: 'Tout effacer'
},
save: {
text: 'Sauvegarder',
title: 'Sauvegarder les changements'
}
},
buttons: {
edit: 'Editer',
editDisabled: 'Rien à editer',
remove: 'Supprimer',
removeDisabled: 'Rien à supprimer'
}
}
},
draw : {
toolbar: {
actions: {
text: 'Annuler',
title: 'Annuler'
},
buttons: {
polyline: 'Dessiner une ligne',
marker: 'Pointer une position'
},
finish: {
text: 'Terminer',
title: 'Terminer'
},
undo: {
text: 'Supprimer',
title: 'Supprimer le dernier point'
}
},
handlers: {
polyline: {
tooltip: {
start: 'Cliquer sur la carte pour placer le début de la ligne',
cont: 'Positionner le prochain point et cliquer',
end: 'Re-cliquer sur le dernier point pour finir la ligne'
}
},
marker: {
tooltip: {
start: 'Cliquer sur la carte pour placer le marqueur'
}
},
rectangle: {tooltip: {}},
simpleshape: {tooltip: {}},
circle: {tooltip: {}},
circlemarker: {tooltip: {}}
}
}
};
 
/***************************************************/
 
export function Geoloc() {
this.map = {};
this.coordinates = defaultPosition;
this.geojson = {};
this.editableLayers = {};
this.defaultDrawControlOptions = {};
this.drawControl = {};
this.defaultEditOptions = false;
this.layer = {};
};
 
Geoloc.prototype.init = function(suffix = '') {
this.mapIdAttr = defaultMapIdAttr + suffix;
this.geolocLabel = document.getElementById('geoloc-label' + suffix);
this.initForm();
this.initEvts();
};
 
Geoloc.prototype.initForm = function() {
this.mapEl = document.getElementById(this.mapIdAttr);
this.zoom = this.mapEl.dataset.zoom || defaultZoom;
this.geometryFilter = this.mapEl.dataset.typeLocalisation || geometryFilterDefault;
 
const formSuffix = this.mapEl.dataset.formSuffix;
 
this.latitudeEl = document.getElementById('latitude' + formSuffix);
this.longitudeEl = document.getElementById('longitude' + formSuffix);
};
 
Geoloc.prototype.initEvts = function() {
this.initMap();
this.handleCoordinates();
this.onCoordinates();
this.initSearchLocality();
};
 
Geoloc.prototype.initMap = function() {
this.map = this.createLocationMap();
 
// interactions with map
this.map.on(L.Draw.Event.CREATED, evt => {
this.layer = evt.layer;
 
// created marker or polyline with drawControl
// no more need this drawcontrol: remove
// (polyline: another one will be added with only edit toolbar)
this.map.removeControl(this.drawControl);
 
if ('marker' === evt.layerType) {
this.onMarkerCreated();
} else if ('polyline' === evt.layerType) {
this.handlePolylineEvents();
}
});
 
this.map.on(L.Draw.Event.EDITED, evt => {
const layers = evt.layers;
 
this.map.removeLayer(this.layer);
 
layers.eachLayer(layer => {
this.layer = layer;
this.handlePolylineEvents(false);
});
});
 
this.map.on(L.Draw.Event.DELETED, evt => {
this.reSetDrawControl();
});
};
 
 
Geoloc.prototype.reSetDrawControl = function() {
this.map.removeLayer(this.layer);
this.map.removeControl(this.drawControl);
this.setDrawControl(this.map);
};
 
Geoloc.prototype.createLocationMap = function() {
const lthis = this,
map = L.map(this.mapIdAttr, {zoomControl: true, gestureHandling: true}).setView([this.coordinates.lat, this.coordinates.lng], this.zoom),
tileLayer = this.mapEl.dataset.layer || 'osm';
 
L.tileLayer(...tileLayers[tileLayer]).addTo(map);
 
this.editableLayers = new L.FeatureGroup();
map.addLayer(this.editableLayers);
 
this.setDrawControl(map);
 
return map;
};
 
Geoloc.prototype.setDrawControl = function(map) {
this.defaultDrawControlOptions = this.generateDrawControlOptions();
this.drawControl = this.generateDrawControl(...Object.values(this.defaultDrawControlOptions));
map.addControl(this.drawControl);
};
 
Geoloc.prototype.generateDrawControlOptions = function() {
const options = {
editOptions: false,
markerOptions: false,
polylineOptions: false
};
 
this.defaultEditOptions = {
featureGroup: this.editableLayers,// REQUIRED!!
remove: true
}
 
switch (this.geometryFilter) {
case 'point':
options.markerOptions = {
icon: new markerIcon(),
repeatMode: false
};
break;
case 'rue':
options.polylineOptions = defaultPolylineOptions;
break;
default:
break;
}
 
return options;
};
 
Geoloc.prototype.generateDrawControl = function(
editOptions,
markerOptions = false,
polylineOptions = false
) {
L.drawLocal = drawLocale;
 
return new L.Control.Draw({
position: 'topleft',
draw: {
polyline: polylineOptions,
polygon: false,
circle: false,
rectangle: false,
marker: markerOptions,
circlemarker: false
},
edit: editOptions
});
};
 
Geoloc.prototype.onMarkerCreated = function() {
const coordinates = this.layer.getLatLng();
 
this.handleNewLocation(coordinates);
};
 
Geoloc.prototype.handleMarkerEvents = function() {
if(this.map) {
const lthis = this;
// move marker on click
$(this.map).off('click').on('click', function(evt) {
lthis.handleNewLocation(evt.originalEvent.latlng);
});
// move marker on drag
$(this.map.marker).off('dragend').on('dragend', function() {
lthis.handleNewLocation(lthis.map.marker.getLatLng());
});
}
};
 
Geoloc.prototype.handlePolylineEvents = function(requiresNewEditDrawControl = true) {
const latLngs = this.layer.getLatLngs(),
polyline = this.formatPolyline(latLngs),
coordinates = this.layer.getBounds().getCenter();
 
 
if (requiresNewEditDrawControl) {
this.drawControl = this.generateDrawControl(this.defaultEditOptions);
this.map.addControl(this.drawControl);
}
 
// make polyline removable
this.editableLayers.addLayer(L.polyline(latLngs));
 
this.map.addLayer(this.layer);
this.handleNewLocation(coordinates, polyline);
};
 
/**
* triggers location event
* @param coordinates.
* @param coordinates.lat latitude.
* @param coordinates.lng longitude.
* @param {array||null} polyline array of coordinates object
*/
Geoloc.prototype.handleNewLocation = function (coordinates, polyline = []) {
coordinates = this.formatCoordinates(coordinates);
 
if(!!coordinates && !!coordinates.lat && coordinates.lng) {
this.zoom = 20;
this.setMapCoordinates(coordinates);
 
if('point' === this.geometryFilter) {
this.createDraggableMarker();
this.handleMarkerEvents();
}
 
if (
('rue' === this.geometryFilter && 0 < polyline.length) ||
('point' === this.geometryFilter && 0 === polyline.length)
) {
this.getLocationInfo(coordinates, polyline);
}
}
};
 
Geoloc.prototype.formatCoordinates = function (coordinates) {
coordinates.lat = Number.parseFloat(coordinates.lat);
coordinates.lng = Number.parseFloat(coordinates.lng);
 
if(Number.isNaN(coordinates.lat) || Number.isNaN(coordinates.lng)) {
return null;
}
 
return coordinates;
};
 
Geoloc.prototype.formatPolyline = function (latLngs) {
const polyline = [];
 
latLngs.forEach(coordinates => polyline.push(Object.values(coordinates)));
 
return polyline;
};
 
Geoloc.prototype.setMapCoordinates = function (coordinates) {
this.coordinates = coordinates;
// updates map
this.map.setView(coordinates,this.zoom);
};
 
Geoloc.prototype.createDraggableMarker = function() {
if (undefined === this.map.marker) {
// after many attempts, did not manage
// to make marker from draw control draggable
// solution: replace it
if(this.layer) {
this.map.removeLayer(this.layer);
}
this.map.marker = new L.Marker(this.coordinates, {
draggable: true,
icon: new markerIcon()
});
this.layer = this.map.marker;
this.map.addLayer(this.map.marker);
if(this.drawControl) {
this.map.removeControl(this.drawControl);
}
}
 
this.map.marker.setLatLng(this.coordinates, {draggable: 'true'});
};
 
Geoloc.prototype.getLocationInfo = function(coordinates, polyline) {
const lthis = this,
url = NOMINATIM_OSM_URL+'reverse',
params = {
'format': 'json',
'lat': coordinates.lat,
'lon': coordinates.lng
};
 
this.geolocLabel.classList.add('loading');
 
$.ajax({
method: "GET",
url: url,
data: params,
success: function(locationData) {
lthis.loadGeolocation(coordinates,locationData,polyline);
},
error: (err) => {
console.warn(err);
lthis.geolocLabel.classList.remove('loading');
}
});
};
 
Geoloc.prototype.loadGeolocation = function(coordinates,locationData,polyline) {
const lthis = this,
query = {
'lat': coordinates.lat,
'lon': coordinates.lng
};
 
$.ajax({
method: "GET",
url: URL_GEOLOC_SERVICE,
data: query,
success: function (geoLocationData) {
lthis.triggerLocationEvent(
lthis.formatLocationEventObject(coordinates,geoLocationData,locationData,polyline)
);
lthis.geolocLabel.classList.remove('loading');
},
error: (err) => {
console.warn(err);
lthis.geolocLabel.classList.remove('loading');
}
});
};
 
Geoloc.prototype.triggerLocationEvent = function (locationDataObject) {
const location = new CustomEvent('location', {detail: locationDataObject});
 
this.mapEl.dispatchEvent(location);
};
 
Geoloc.prototype.formatLocationEventObject = function(coordinates,geoLocationData,locationData,polyline) {
const detail = {
centroid: {
type: 'Point',
coordinates: Object.values(coordinates)
},
elevation: geoLocationData.altitude,
inseeData: {
code: geoLocationData.code_zone,
nom: geoLocationData.nom
},
osmCountry: locationData.address.country,
osmCountryCode: geoLocationData.code_pays,
osmCounty: locationData.address.county,
osmPostcode:locationData.address.postcode,
locality: this.getLocalityFromData(locationData),
locality: geoLocationData.nom,
osmRoad: locationData.address.road,
osmState: locationData.address.state,
osmId: locationData.osm_id,
osmPlaceId: locationData.place_id
};
 
if (0 < polyline.length) {
detail.geometry = {
type: 'LineString',
coordinates: polyline
};
} else {
detail.geometry = detail.centroid;
}
 
return detail;
}
 
Geoloc.prototype.handleCoordinates = function() {
if (!!this.latitudeEl.value && !!this.longitudeEl.value) {
this.handleNewLocation({
'lat': this.latitudeEl.value,
'lng': this.longitudeEl.value
});
}
};
 
Geoloc.prototype.onCoordinates = function() {
[this.latitudeEl,this.longitudeEl].forEach(coordinate =>
coordinate.addEventListener('blur', function() {
this.handleCoordinates();
}.bind(this))
);
};
 
Geoloc.prototype.initSearchLocality = function() {
const placesZone = document.getElementById('tb-places-zone');
 
if(placesZone) {
placesZone.classList.remove('hidden');
this.tbPlaces = new TbPlaces(this.tbPlacesCallback.bind(this));
this.tbPlaces.init();
}
};
 
Geoloc.prototype.tbPlacesCallback = function(localityData) {
const locality = this.getLocalityFromData(localityData);
 
if(!!locality) {
const coordinates = {
'lat' : localityData.lat,
'lng' : localityData.lon
};
 
if ('point' === this.geometryFilter) {
this.map.removeControl(this.drawControl);
}
this.zoom = 18;
this.handleNewLocation(coordinates);
}
};
 
Geoloc.prototype.getLocalityFromData = function(localityData) {
const addressData = localityData.address,
locationNameType = ['village', 'city', 'locality', 'municipality', 'county'].find(locationNameType => addressData[locationNameType] !== undefined);
 
if (!locationNameType) {
return;
}
 
return addressData[locationNameType];
};
 
Geoloc.prototype.closeMap = function () {
// reset map
this.map = L.DomUtil.get(this.mapIdAttr);
if (this.map != null) {
this.map._leaflet_id = null;
}
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/lib/parse-to-bool.js
New file
0,0 → 1,3
export const parseDatasetValToBool = val => {
return "boolean" === typeof val ? val : ['true', 1, "1"].includes(val);
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/lib/debounce.js
New file
0,0 → 1,11
export function debounce (callback, delay) {
let timer;
return function(){
const args = arguments;
const context = this;
clearTimeout(timer);
timer = setTimeout(function(){
callback.apply(context, args);
}, delay)
}
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/lib/html-entities-decode.js
New file
0,0 → 1,12
// Decode html entities
String.prototype.htmlEntitiesWidgets = function () {
const temp = document.createElement("div");
 
temp.innerHTML = this;
 
const result = temp.childNodes[0].nodeValue;
 
temp.removeChild(temp.firstChild);
 
return result;
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/.gitignore
New file
0,0 → 1,5
node_modules/
.sass-cache/
*.css.map
*.js.map
examples/images/
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/src/scss/leaflet-gesture-handling.scss
New file
0,0 → 1,48
@keyframes leaflet-gestures-fadein {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
 
.leaflet-container {
&:after {
animation: leaflet-gestures-fadein 0.8s backwards;
color: #fff;
font-family: "Roboto", Arial, sans-serif;
font-size: 22px;
justify-content: center;
display: flex;
align-items: center;
padding: 15px;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 461;
pointer-events:none;
}
}
 
.leaflet-gesture-handling-touch-warning,
.leaflet-gesture-handling-scroll-warning {
&:after {
animation: leaflet-gestures-fadein 0.8s forwards;
}
}
 
.leaflet-gesture-handling-touch-warning {
&:after {
content: attr(data-gesture-handling-touch-content);
}
}
 
.leaflet-gesture-handling-scroll-warning {
&:after {
content: attr(data-gesture-handling-scroll-content);
}
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/src/js/leaflet-gesture-handling.js
New file
0,0 → 1,284
/*
* * Leaflet Gesture Handling **
* * Version 1.1.8
*/
import LanguageContent from "./language-content";
 
L.Map.mergeOptions({
gestureHandlingOptions: {
text: {},
duration: 1000
}
});
 
var draggingMap = false;
 
export var GestureHandling = L.Handler.extend({
addHooks: function() {
this._handleTouch = this._handleTouch.bind(this);
 
this._setupPluginOptions();
this._setLanguageContent();
this._disableInteractions();
 
//Uses native event listeners instead of L.DomEvent due to issues with Android touch events
//turning into pointer events
this._map._container.addEventListener("touchstart", this._handleTouch);
this._map._container.addEventListener("touchmove", this._handleTouch);
this._map._container.addEventListener("touchend", this._handleTouch);
this._map._container.addEventListener("touchcancel", this._handleTouch);
this._map._container.addEventListener("click", this._handleTouch);
 
L.DomEvent.on(
this._map._container,
"wheel",
this._handleScroll,
this
);
L.DomEvent.on(this._map, "mouseover", this._handleMouseOver, this);
L.DomEvent.on(this._map, "mouseout", this._handleMouseOut, this);
 
// Listen to these events so will not disable dragging if the user moves the mouse out the boundary of the map container whilst actively dragging the map.
L.DomEvent.on(this._map, "movestart", this._handleDragging, this);
L.DomEvent.on(this._map, "move", this._handleDragging, this);
L.DomEvent.on(this._map, "moveend", this._handleDragging, this);
},
 
removeHooks: function() {
this._enableInteractions();
 
this._map._container.removeEventListener(
"touchstart",
this._handleTouch
);
this._map._container.removeEventListener(
"touchmove",
this._handleTouch
);
this._map._container.removeEventListener("touchend", this._handleTouch);
this._map._container.removeEventListener(
"touchcancel",
this._handleTouch
);
this._map._container.removeEventListener("click", this._handleTouch);
 
L.DomEvent.off(
this._map._container,
"wheel",
this._handleScroll,
this
);
L.DomEvent.off(this._map, "mouseover", this._handleMouseOver, this);
L.DomEvent.off(this._map, "mouseout", this._handleMouseOut, this);
 
L.DomEvent.off(this._map, "movestart", this._handleDragging, this);
L.DomEvent.off(this._map, "move", this._handleDragging, this);
L.DomEvent.off(this._map, "moveend", this._handleDragging, this);
},
 
_handleDragging: function(e) {
if (e.type == "movestart" || e.type == "move") {
draggingMap = true;
} else if (e.type == "moveend") {
draggingMap = false;
}
},
 
_disableInteractions: function() {
this._map.dragging.disable();
this._map.scrollWheelZoom.disable();
if (this._map.tap) {
this._map.tap.disable();
}
},
 
_enableInteractions: function() {
this._map.dragging.enable();
this._map.scrollWheelZoom.enable();
if (this._map.tap) {
this._map.tap.enable();
}
},
 
_setupPluginOptions: function() {
//For backwards compatibility, merge gestureHandlingText into the new options object
if (this._map.options.gestureHandlingText) {
this._map.options.gestureHandlingOptions.text = this._map.options.gestureHandlingText;
}
},
 
_setLanguageContent: function() {
var languageContent;
//If user has supplied custom language, use that
if (
this._map.options.gestureHandlingOptions &&
this._map.options.gestureHandlingOptions.text &&
this._map.options.gestureHandlingOptions.text.touch &&
this._map.options.gestureHandlingOptions.text.scroll &&
this._map.options.gestureHandlingOptions.text.scrollMac
) {
languageContent = this._map.options.gestureHandlingOptions.text;
} else {
//Otherwise auto set it from the language files
 
//Determine their language e.g fr or en-US
var lang = this._getUserLanguage();
 
//If we couldn't find it default to en
if (!lang) {
lang = "en";
}
 
//Lookup the appropriate language content
if (LanguageContent[lang]) {
languageContent = LanguageContent[lang];
}
 
//If no result, try searching by the first part only. e.g en-US just use en.
if (!languageContent && lang.indexOf("-") !== -1) {
lang = lang.split("-")[0];
languageContent = LanguageContent[lang];
}
 
if (!languageContent) {
// If still nothing, default to English
// console.log("No lang found for", lang);
lang = "en";
languageContent = LanguageContent[lang];
}
}
 
//TEST
// languageContent = LanguageContent["bg"];
 
//Check if they're on a mac for display of command instead of ctrl
var mac = false;
if (navigator.platform.toUpperCase().indexOf("MAC") >= 0) {
mac = true;
}
 
var scrollContent = languageContent.scroll;
if (mac) {
scrollContent = languageContent.scrollMac;
}
 
this._map._container.setAttribute(
"data-gesture-handling-touch-content",
languageContent.touch
);
this._map._container.setAttribute(
"data-gesture-handling-scroll-content",
scrollContent
);
},
 
_getUserLanguage: function() {
var lang = navigator.languages
? navigator.languages[0]
: navigator.language || navigator.userLanguage;
return lang;
},
 
_handleTouch: function(e) {
//Disregard touch events on the minimap if present
var ignoreList = [
"leaflet-control-minimap",
"leaflet-interactive",
"leaflet-popup-content",
"leaflet-popup-content-wrapper",
"leaflet-popup-close-button",
"leaflet-control-zoom-in",
"leaflet-control-zoom-out"
];
 
var ignoreElement = false;
for (var i = 0; i < ignoreList.length; i++) {
if (L.DomUtil.hasClass(e.target, ignoreList[i])) {
ignoreElement = true;
}
}
 
if (ignoreElement) {
if (
L.DomUtil.hasClass(e.target, "leaflet-interactive") &&
e.type === "touchmove" &&
e.touches.length === 1
) {
L.DomUtil.addClass(this._map._container,
"leaflet-gesture-handling-touch-warning"
);
this._disableInteractions();
} else {
L.DomUtil.removeClass(this._map._container,
"leaflet-gesture-handling-touch-warning"
);
}
return;
}
// screenLog(e.type+' '+e.touches.length);
if (e.type !== "touchmove" && e.type !== "touchstart") {
L.DomUtil.removeClass(this._map._container,
"leaflet-gesture-handling-touch-warning"
);
return;
}
if (e.touches.length === 1) {
L.DomUtil.addClass(this._map._container,
"leaflet-gesture-handling-touch-warning"
);
this._disableInteractions();
} else {
this._enableInteractions();
L.DomUtil.removeClass(this._map._container,
"leaflet-gesture-handling-touch-warning"
);
}
},
 
_isScrolling: false,
 
_handleScroll: function(e) {
if (e.metaKey || e.ctrlKey) {
e.preventDefault();
L.DomUtil.removeClass(this._map._container,
"leaflet-gesture-handling-scroll-warning"
);
this._map.scrollWheelZoom.enable();
} else {
L.DomUtil.addClass(this._map._container,
"leaflet-gesture-handling-scroll-warning"
);
this._map.scrollWheelZoom.disable();
 
clearTimeout(this._isScrolling);
 
// Set a timeout to run after scrolling ends
this._isScrolling = setTimeout(function() {
// Run the callback
var warnings = document.getElementsByClassName(
"leaflet-gesture-handling-scroll-warning"
);
for (var i = 0; i < warnings.length; i++) {
L.DomUtil.removeClass(warnings[i],
"leaflet-gesture-handling-scroll-warning"
);
}
}, this._map.options.gestureHandlingOptions.duration);
}
},
 
_handleMouseOver: function(e) {
this._enableInteractions();
},
 
_handleMouseOut: function(e) {
if (!draggingMap) {
this._disableInteractions();
}
}
 
});
 
L.Map.addInitHook("addHandler", "gestureHandling", GestureHandling);
 
export default GestureHandling;
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/src/js/language-content.js
New file
0,0 → 1,423
export default {
//Arabic
ar: {
touch:
"\u0627\u0633\u062a\u062e\u062f\u0645 \u0625\u0635\u0628\u0639\u064a\u0646 \u0644\u062a\u062d\u0631\u064a\u0643 \u0627\u0644\u062e\u0631\u064a\u0637\u0629",
scroll:
"\u200f\u0627\u0633\u062a\u062e\u062f\u0645 ctrl + scroll \u0644\u062a\u0635\u063a\u064a\u0631/\u062a\u0643\u0628\u064a\u0631 \u0627\u0644\u062e\u0631\u064a\u0637\u0629",
scrollMac:
"\u064a\u0645\u0643\u0646\u0643 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u2318 + \u0627\u0644\u062a\u0645\u0631\u064a\u0631 \u0644\u062a\u0643\u0628\u064a\u0631/\u062a\u0635\u063a\u064a\u0631 \u0627\u0644\u062e\u0631\u064a\u0637\u0629"
},
//Bulgarian
bg: {
touch:
"\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u0434\u0432\u0430 \u043f\u0440\u044a\u0441\u0442\u0430, \u0437\u0430 \u0434\u0430 \u043f\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u043a\u0430\u0440\u0442\u0430\u0442\u0430",
scroll:
"\u0417\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430 Ctrl \u043d\u0430\u0442\u0438\u0441\u043d\u0430\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0432\u044a\u0440\u0442\u0430\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0430\u0449\u0430\u0431\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0430\u0442\u0430",
scrollMac:
"\u0417\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430 \u2318 \u043d\u0430\u0442\u0438\u0441\u043d\u0430\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0432\u044a\u0440\u0442\u0430\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0430\u0449\u0430\u0431\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0430\u0442\u0430"
},
//Bengali
bn: {
touch:
"\u09ae\u09be\u09a8\u099a\u09bf\u09a4\u09cd\u09b0\u099f\u09bf\u0995\u09c7 \u09b8\u09b0\u09be\u09a4\u09c7 \u09a6\u09c1\u099f\u09bf \u0986\u0999\u09cd\u0997\u09c1\u09b2 \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c1\u09a8",
scroll:
"\u09ae\u09cd\u09af\u09be\u09aa \u099c\u09c1\u09ae \u0995\u09b0\u09a4\u09c7 ctrl + scroll \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c1\u09a8",
scrollMac:
"\u09ae\u09cd\u09af\u09be\u09aa\u09c7 \u099c\u09c1\u09ae \u0995\u09b0\u09a4\u09c7 \u2318 \u09ac\u09cb\u09a4\u09be\u09ae \u099f\u09bf\u09aa\u09c7 \u09b8\u09cd\u0995\u09cd\u09b0\u09b2 \u0995\u09b0\u09c1\u09a8"
},
//Catalan
ca: {
touch: "Fes servir dos dits per moure el mapa",
scroll:
"Prem la tecla Control mentre et desplaces per apropar i allunyar el mapa",
scrollMac:
"Prem la tecla \u2318 mentre et desplaces per apropar i allunyar el mapa"
},
//Czech
cs: {
touch: "K\u00a0posunut\u00ed mapy pou\u017eijte dva prsty",
scroll:
"Velikost zobrazen\u00ed mapy zm\u011b\u0148te podr\u017een\u00edm kl\u00e1vesy Ctrl a\u00a0posouv\u00e1n\u00edm kole\u010dka my\u0161i",
scrollMac:
"Velikost zobrazen\u00ed mapy zm\u011bn\u00edte podr\u017een\u00edm kl\u00e1vesy \u2318 a\u00a0posunut\u00edm kole\u010dka my\u0161i / touchpadu"
},
//Danish
da: {
touch: "Brug to fingre til at flytte kortet",
scroll:
"Brug ctrl + rullefunktionen til at zoome ind og ud p\u00e5 kortet",
scrollMac:
"Brug \u2318 + rullefunktionen til at zoome ind og ud p\u00e5 kortet"
},
//German
de: {
touch: "Verschieben der Karte mit zwei Fingern",
scroll: "Verwende Strg+Scrollen zum Zoomen der Karte",
scrollMac: "\u2318"
},
//Greek
el: {
touch:
"\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03b4\u03cd\u03bf \u03b4\u03ac\u03c7\u03c4\u03c5\u03bb\u03b1 \u03b3\u03b9\u03b1 \u03bc\u03b5\u03c4\u03b1\u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03c3\u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7",
scroll:
"\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf \u03c0\u03bb\u03ae\u03ba\u03c4\u03c1\u03bf Ctrl \u03ba\u03b1\u03b9 \u03ba\u03cd\u03bb\u03b9\u03c3\u03b7, \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bc\u03b5\u03b3\u03b5\u03b8\u03cd\u03bd\u03b5\u03c4\u03b5 \u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7",
scrollMac:
"\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf \u03c0\u03bb\u03ae\u03ba\u03c4\u03c1\u03bf \u2318 + \u03ba\u03cd\u03bb\u03b9\u03c3\u03b7 \u03b3\u03b9\u03b1 \u03b5\u03c3\u03c4\u03af\u03b1\u03c3\u03b7 \u03c3\u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7"
},
//English
en: {
touch: "Use two fingers to move the map",
scroll: "Use ctrl + scroll to zoom the map",
scrollMac: "Use \u2318 + scroll to zoom the map"
},
//English (Australian)
"en-AU": {
touch: "Use two fingers to move the map",
scroll: "Use ctrl + scroll to zoom the map",
scrollMac: "Use \u2318 + scroll to zoom the map"
},
//English (Great Britain)
"en-GB": {
touch: "Use two fingers to move the map",
scroll: "Use ctrl + scroll to zoom the map",
scrollMac: "Use \u2318 + scroll to zoom the map"
},
//Spanish
es: {
touch: "Para mover el mapa, utiliza dos dedos",
scroll:
"Mant\u00e9n pulsada la tecla Ctrl mientras te desplazas para acercar o alejar el mapa",
scrollMac:
"Mant\u00e9n pulsada la tecla \u2318 mientras te desplazas para acercar o alejar el mapa"
},
//Basque
eu: {
touch: "Erabili bi hatz mapa mugitzeko",
scroll: "Mapan zooma aplikatzeko, sakatu Ktrl eta egin gora edo behera",
scrollMac:
"Eduki sakatuta \u2318 eta egin gora eta behera mapa handitu eta txikitzeko"
},
//Farsi
fa: {
touch:
"\u0628\u0631\u0627\u06cc \u062d\u0631\u06a9\u062a \u062f\u0627\u062f\u0646 \u0646\u0642\u0634\u0647 \u0627\u0632 \u062f\u0648 \u0627\u0646\u06af\u0634\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.",
scroll:
"\u200f\u0628\u0631\u0627\u06cc \u0628\u0632\u0631\u06af\u200c\u0646\u0645\u0627\u06cc\u06cc \u0646\u0642\u0634\u0647 \u0627\u0632 ctrl + scroll \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f",
scrollMac:
"\u0628\u0631\u0627\u06cc \u0628\u0632\u0631\u06af\u200c\u0646\u0645\u0627\u06cc\u06cc \u0646\u0642\u0634\u0647\u060c \u0627\u0632 \u2318 + \u067e\u06cc\u0645\u0627\u06cc\u0634 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f."
},
//Finnish
fi: {
touch: "Siirr\u00e4 karttaa kahdella sormella.",
scroll:
"Zoomaa karttaa painamalla Ctrl-painiketta ja vieritt\u00e4m\u00e4ll\u00e4.",
scrollMac:
"Zoomaa karttaa pit\u00e4m\u00e4ll\u00e4 painike \u2318 painettuna ja vieritt\u00e4m\u00e4ll\u00e4."
},
//Filipino
fil: {
touch: "Gumamit ng dalawang daliri upang iusog ang mapa",
scroll: "Gamitin ang ctrl + scroll upang i-zoom ang mapa",
scrollMac: "Gamitin ang \u2318 + scroll upang i-zoom ang mapa"
},
//French
fr: {
touch: "Utilisez deux\u00a0doigts pour d\u00e9placer la carte",
scroll:
"Vous pouvez zoomer sur la carte \u00e0 l'aide de CTRL+Molette de d\u00e9filement",
scrollMac:
"Vous pouvez zoomer sur la carte \u00e0 l'aide de \u2318+Molette de d\u00e9filement"
},
//Galician
gl: {
touch: "Utiliza dous dedos para mover o mapa",
scroll: "Preme Ctrl mentres te desprazas para ampliar o mapa",
scrollMac: "Preme \u2318 e despr\u00e1zate para ampliar o mapa"
},
//Gujarati
gu: {
touch:
"\u0aa8\u0a95\u0ab6\u0acb \u0a96\u0ab8\u0ac7\u0aa1\u0ab5\u0abe \u0aac\u0ac7 \u0a86\u0a82\u0a97\u0ab3\u0ac0\u0a93\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb",
scroll:
"\u0aa8\u0a95\u0ab6\u0abe\u0aa8\u0ac7 \u0a9d\u0ac2\u0aae \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7 ctrl + \u0ab8\u0acd\u0a95\u0acd\u0ab0\u0acb\u0ab2\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb",
scrollMac:
"\u0aa8\u0a95\u0ab6\u0abe\u0aa8\u0ac7 \u0a9d\u0ac2\u0aae \u0a95\u0ab0\u0ab5\u0abe \u2318 + \u0ab8\u0acd\u0a95\u0acd\u0ab0\u0acb\u0ab2\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb"
},
//Hindi
hi: {
touch:
"\u092e\u0948\u092a \u090f\u0915 \u091c\u0917\u0939 \u0938\u0947 \u0926\u0942\u0938\u0930\u0940 \u091c\u0917\u0939 \u0932\u0947 \u091c\u093e\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0926\u094b \u0909\u0902\u0917\u0932\u093f\u092f\u094b\u0902 \u0915\u093e \u0907\u0938\u094d\u0924\u0947\u092e\u093e\u0932 \u0915\u0930\u0947\u0902",
scroll:
"\u092e\u0948\u092a \u0915\u094b \u091c\u093c\u0942\u092e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f ctrl + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902",
scrollMac:
"\u092e\u0948\u092a \u0915\u094b \u091c\u093c\u0942\u092e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u2318 + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902"
},
//Croatian
hr: {
touch: "Pomi\u010dite kartu pomo\u0107u dva prsta",
scroll:
"Upotrijebite Ctrl i kliza\u010d mi\u0161a da biste zumirali kartu",
scrollMac:
"Upotrijebite gumb \u2318 dok se pomi\u010dete za zumiranje karte"
},
//Hungarian
hu: {
touch: "K\u00e9t ujjal mozgassa a t\u00e9rk\u00e9pet",
scroll:
"A t\u00e9rk\u00e9p a ctrl + g\u00f6rget\u00e9s haszn\u00e1lat\u00e1val nagy\u00edthat\u00f3",
scrollMac:
"A t\u00e9rk\u00e9p a \u2318 + g\u00f6rget\u00e9s haszn\u00e1lat\u00e1val nagy\u00edthat\u00f3"
},
//Indonesian
id: {
touch: "Gunakan dua jari untuk menggerakkan peta",
scroll: "Gunakan ctrl + scroll untuk memperbesar atau memperkecil peta",
scrollMac:
"Gunakan \u2318 + scroll untuk memperbesar atau memperkecil peta"
},
//Italian
it: {
touch: "Utilizza due dita per spostare la mappa",
scroll: "Utilizza CTRL + scorrimento per eseguire lo zoom della mappa",
scrollMac:
"Utilizza \u2318 + scorrimento per eseguire lo zoom della mappa"
},
//Hebrew
iw: {
touch:
"\u05d4\u05d6\u05d6 \u05d0\u05ea \u05d4\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05e9\u05ea\u05d9 \u05d0\u05e6\u05d1\u05e2\u05d5\u05ea",
scroll:
"\u200f\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e8\u05d7\u05e7 \u05d4\u05ea\u05e6\u05d5\u05d2\u05d4 \u05d1\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05de\u05e7\u05e9 ctrl \u05d5\u05d2\u05dc\u05d9\u05dc\u05d4",
scrollMac:
"\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e8\u05d7\u05e7 \u05d4\u05ea\u05e6\u05d5\u05d2\u05d4 \u05d1\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05de\u05e7\u05e9 \u2318 \u05d5\u05d2\u05dc\u05d9\u05dc\u05d4"
},
//Japanese
ja: {
touch:
"\u5730\u56f3\u3092\u79fb\u52d5\u3055\u305b\u308b\u306b\u306f\u6307 2 \u672c\u3067\u64cd\u4f5c\u3057\u307e\u3059",
scroll:
"\u5730\u56f3\u3092\u30ba\u30fc\u30e0\u3059\u308b\u306b\u306f\u3001Ctrl \u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u3089\u30b9\u30af\u30ed\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044",
scrollMac:
"\u5730\u56f3\u3092\u30ba\u30fc\u30e0\u3059\u308b\u306b\u306f\u3001\u2318 \u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u3089\u30b9\u30af\u30ed\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044"
},
//Kannada
kn: {
touch: "Use two fingers to move the map",
scroll: "Use Ctrl + scroll to zoom the map",
scrollMac: "Use ⌘ + scroll to zoom the map"
},
//Korean
ko: {
touch:
"\uc9c0\ub3c4\ub97c \uc6c0\uc9c1\uc774\ub824\uba74 \ub450 \uc190\uac00\ub77d\uc744 \uc0ac\uc6a9\ud558\uc138\uc694.",
scroll:
"\uc9c0\ub3c4\ub97c \ud655\ub300/\ucd95\uc18c\ud558\ub824\uba74 Ctrl\uc744 \ub204\ub978 \ucc44 \uc2a4\ud06c\ub864\ud558\uc138\uc694.",
scrollMac:
"\uc9c0\ub3c4\ub97c \ud655\ub300\ud558\ub824\uba74 \u2318 + \uc2a4\ud06c\ub864 \uc0ac\uc6a9"
},
//Lithuanian
lt: {
touch: "Perkelkite \u017eem\u0117lap\u012f dviem pir\u0161tais",
scroll:
"Slinkite nuspaud\u0119 klavi\u0161\u0105 \u201eCtrl\u201c, kad pakeistum\u0117te \u017eem\u0117lapio mastel\u012f",
scrollMac:
"Paspauskite klavi\u0161\u0105 \u2318 ir slinkite, kad priartintum\u0117te \u017eem\u0117lap\u012f"
},
//Latvian
lv: {
touch: "Lai p\u0101rvietotu karti, b\u012bdiet to ar diviem pirkstiem",
scroll:
"Kartes t\u0101lummai\u0146ai izmantojiet ctrl + ritin\u0101\u0161anu",
scrollMac:
"Lai veiktu kartes t\u0101lummai\u0146u, izmantojiet \u2318 + ritin\u0101\u0161anu"
},
//Malayalam
ml: {
touch:
"\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u0d28\u0d40\u0d15\u0d4d\u0d15\u0d3e\u0d7b \u0d30\u0d23\u0d4d\u0d1f\u0d4d \u0d35\u0d3f\u0d30\u0d32\u0d41\u0d15\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
scroll:
"\u0d15\u0d7a\u0d1f\u0d4d\u0d30\u0d4b\u0d7e + \u0d38\u0d4d\u200c\u0d15\u0d4d\u0d30\u0d4b\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u200c\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u200c\u0d38\u0d42\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
scrollMac:
"\u2318 + \u0d38\u0d4d\u200c\u0d15\u0d4d\u0d30\u0d4b\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u200c\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u200c\u0d38\u0d42\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15"
},
//Marathi
mr: {
touch:
"\u0928\u0915\u093e\u0936\u093e \u0939\u0932\u0935\u093f\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0926\u094b\u0928 \u092c\u094b\u091f\u0947 \u0935\u093e\u092a\u0930\u093e",
scroll:
"\u0928\u0915\u093e\u0936\u093e \u091d\u0942\u092e \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 ctrl + scroll \u0935\u093e\u092a\u0930\u093e",
scrollMac:
"\u0928\u0915\u093e\u0936\u093e\u0935\u0930 \u091d\u0942\u092e \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u2318 + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0935\u093e\u092a\u0930\u093e"
},
//Dutch
nl: {
touch: "Gebruik twee vingers om de kaart te verplaatsen",
scroll: "Gebruik Ctrl + scrollen om in- en uit te zoomen op de kaart",
scrollMac:
"Gebruik \u2318 + scrollen om in en uit te zoomen op de kaart"
},
//Norwegian
no: {
touch: "Bruk to fingre for \u00e5 flytte kartet",
scroll: "Hold ctrl-tasten inne og rull for \u00e5 zoome p\u00e5 kartet",
scrollMac:
"Hold inne \u2318-tasten og rull for \u00e5 zoome p\u00e5 kartet"
},
//Polish
pl: {
touch: "Przesu\u0144 map\u0119 dwoma palcami",
scroll:
"Naci\u015bnij CTRL i przewi\u0144, by przybli\u017cy\u0107 map\u0119",
scrollMac:
"Naci\u015bnij\u00a0\u2318 i przewi\u0144, by przybli\u017cy\u0107 map\u0119"
},
//Portuguese
pt: {
touch: "Use dois dedos para mover o mapa",
scroll:
"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",
scrollMac:
"Use \u2318 e role a tela simultaneamente para aplicar zoom no mapa"
},
//Portuguese (Brazil)
"pt-BR": {
touch: "Use dois dedos para mover o mapa",
scroll:
"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",
scrollMac:
"Use \u2318 e role a tela simultaneamente para aplicar zoom no mapa"
},
//Portuguese (Portugal
"pt-PT": {
touch: "Utilize dois dedos para mover o mapa",
scroll: "Utilizar ctrl + deslocar para aumentar/diminuir zoom do mapa",
scrollMac:
"Utilize \u2318 + deslocar para aumentar/diminuir o zoom do mapa"
},
//Romanian
ro: {
touch: "Folosi\u021bi dou\u0103 degete pentru a deplasa harta",
scroll:
"Ap\u0103sa\u021bi tasta ctrl \u0219i derula\u021bi simultan pentru a m\u0103ri harta",
scrollMac:
"Folosi\u021bi \u2318 \u0219i derula\u021bi pentru a m\u0103ri/mic\u0219ora harta"
},
//Russian
ru: {
touch:
"\u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0443, \u043f\u0440\u043e\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u043e \u043d\u0435\u0439 \u0434\u0432\u0443\u043c\u044f \u043f\u0430\u043b\u044c\u0446\u0430\u043c\u0438",
scroll:
"\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431, \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0439\u0442\u0435 \u043a\u0430\u0440\u0442\u0443, \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044f \u043a\u043b\u0430\u0432\u0438\u0448\u0443 Ctrl.",
scrollMac:
"\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u2318\u00a0+ \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0430"
},
//Slovak
sk: {
touch: "Mapu m\u00f4\u017eete posun\u00fa\u0165 dvoma prstami",
scroll:
"Ak chcete pribl\u00ed\u017ei\u0165 mapu, stla\u010dte kl\u00e1ves ctrl a\u00a0pos\u00favajte",
scrollMac:
"Ak chcete pribl\u00ed\u017ei\u0165 mapu, stla\u010dte kl\u00e1ves \u2318 a\u00a0pos\u00favajte kolieskom my\u0161i"
},
//Slovenian
sl: {
touch: "Premaknite zemljevid z dvema prstoma",
scroll:
"Zemljevid pove\u010date tako, da dr\u017eite tipko Ctrl in vrtite kolesce na mi\u0161ki",
scrollMac:
"Uporabite \u2318 + funkcijo pomika, da pove\u010date ali pomanj\u0161ate zemljevid"
},
//Serbian
sr: {
touch:
"\u041c\u0430\u043f\u0443 \u043f\u043e\u043c\u0435\u0440\u0430\u0458\u0442\u0435 \u043f\u043e\u043c\u043e\u045b\u0443 \u0434\u0432\u0430 \u043f\u0440\u0441\u0442\u0430",
scroll:
"\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0438\u0442\u0435 ctrl \u0442\u0430\u0441\u0442\u0435\u0440 \u0434\u043e\u043a \u043f\u043e\u043c\u0435\u0440\u0430\u0442\u0435 \u0434\u0430 \u0431\u0438\u0441\u0442\u0435 \u0437\u0443\u043c\u0438\u0440\u0430\u043b\u0438 \u043c\u0430\u043f\u0443",
scrollMac:
"\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0438\u0442\u0435 \u0442\u0430\u0441\u0442\u0435\u0440 \u2318 \u0434\u043e\u043a \u043f\u043e\u043c\u0435\u0440\u0430\u0442\u0435 \u0434\u0430 \u0431\u0438\u0441\u0442\u0435 \u0437\u0443\u043c\u0438\u0440\u0430\u043b\u0438 \u043c\u0430\u043f\u0443"
},
//Swedish
sv: {
touch: "Anv\u00e4nd tv\u00e5 fingrar f\u00f6r att flytta kartan",
scroll: "Anv\u00e4nd ctrl + rulla f\u00f6r att zooma kartan",
scrollMac:
"Anv\u00e4nd \u2318 + rulla f\u00f6r att zooma p\u00e5 kartan"
},
//Tamil
ta: {
touch:
"\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0ba8\u0b95\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4 \u0b87\u0bb0\u0ba3\u0bcd\u0b9f\u0bc1 \u0bb5\u0bbf\u0bb0\u0bb2\u0bcd\u0b95\u0bb3\u0bc8\u0baa\u0bcd \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bb5\u0bc1\u0bae\u0bcd",
scroll:
"\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0baa\u0bc6\u0bb0\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf/\u0b9a\u0bbf\u0bb1\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf\u0baa\u0bcd \u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95, ctrl \u0baa\u0b9f\u0bcd\u0b9f\u0ba9\u0bc8\u0baa\u0bcd \u0baa\u0bbf\u0b9f\u0bbf\u0ba4\u0bcd\u0ba4\u0baa\u0b9f\u0bbf, \u0bae\u0bc7\u0bb2\u0bc7/\u0b95\u0bc0\u0bb4\u0bc7 \u0bb8\u0bcd\u0b95\u0bcd\u0bb0\u0bbe\u0bb2\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0bb5\u0bc1\u0bae\u0bcd",
scrollMac:
"\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0baa\u0bc6\u0bb0\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf/\u0b9a\u0bbf\u0bb1\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf\u0baa\u0bcd \u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95, \u2318 \u0baa\u0b9f\u0bcd\u0b9f\u0ba9\u0bc8\u0baa\u0bcd \u0baa\u0bbf\u0b9f\u0bbf\u0ba4\u0bcd\u0ba4\u0baa\u0b9f\u0bbf, \u0bae\u0bc7\u0bb2\u0bc7/\u0b95\u0bc0\u0bb4\u0bc7 \u0bb8\u0bcd\u0b95\u0bcd\u0bb0\u0bbe\u0bb2\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0bb5\u0bc1\u0bae\u0bcd"
},
//Telugu
te: {
touch:
"\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d\u200c\u0c28\u0c3f \u0c24\u0c30\u0c32\u0c3f\u0c02\u0c1a\u0c21\u0c02 \u0c15\u0c4b\u0c38\u0c02 \u0c30\u0c46\u0c02\u0c21\u0c41 \u0c35\u0c47\u0c33\u0c4d\u0c32\u0c28\u0c41 \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
scroll:
"\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d\u200c\u0c28\u0c3f \u0c1c\u0c42\u0c2e\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f ctrl \u0c2c\u0c1f\u0c28\u0c4d\u200c\u0c28\u0c41 \u0c28\u0c4a\u0c15\u0c4d\u0c15\u0c3f \u0c09\u0c02\u0c1a\u0c3f, \u0c38\u0c4d\u0c15\u0c4d\u0c30\u0c4b\u0c32\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
scrollMac:
"\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d \u0c1c\u0c42\u0c2e\u0c4d \u0c1a\u0c47\u0c2f\u0c3e\u0c32\u0c02\u0c1f\u0c47 \u2318 + \u0c38\u0c4d\u0c15\u0c4d\u0c30\u0c4b\u0c32\u0c4d \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f"
},
//Thai
th: {
touch:
"\u0e43\u0e0a\u0e49 2 \u0e19\u0e34\u0e49\u0e27\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48",
scroll:
"\u0e01\u0e14 Ctrl \u0e04\u0e49\u0e32\u0e07\u0e44\u0e27\u0e49 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e0b\u0e39\u0e21\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48",
scrollMac:
"\u0e01\u0e14 \u2318 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e0b\u0e39\u0e21\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48"
},
//Tagalog
tl: {
touch: "Gumamit ng dalawang daliri upang iusog ang mapa",
scroll: "Gamitin ang ctrl + scroll upang i-zoom ang mapa",
scrollMac: "Gamitin ang \u2318 + scroll upang i-zoom ang mapa"
},
//Turkish
tr: {
touch:
"Haritada gezinmek i\u00e7in iki parma\u011f\u0131n\u0131z\u0131 kullan\u0131n",
scroll:
"Haritay\u0131 yak\u0131nla\u015ft\u0131rmak i\u00e7in ctrl + kayd\u0131rma kombinasyonunu kullan\u0131n",
scrollMac:
"Haritay\u0131 yak\u0131nla\u015ft\u0131rmak i\u00e7in \u2318 tu\u015funa bas\u0131p ekran\u0131 kayd\u0131r\u0131n"
},
//Ukrainian
uk: {
touch:
"\u041f\u0435\u0440\u0435\u043c\u0456\u0449\u0443\u0439\u0442\u0435 \u043a\u0430\u0440\u0442\u0443 \u0434\u0432\u043e\u043c\u0430 \u043f\u0430\u043b\u044c\u0446\u044f\u043c\u0438",
scroll:
"\u0429\u043e\u0431 \u0437\u043c\u0456\u043d\u044e\u0432\u0430\u0442\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u0440\u0442\u0438, \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0443\u0439\u0442\u0435 \u043a\u043e\u043b\u0456\u0449\u0430\u0442\u043a\u043e \u043c\u0438\u0448\u0456, \u0443\u0442\u0440\u0438\u043c\u0443\u044e\u0447\u0438 \u043a\u043b\u0430\u0432\u0456\u0448\u0443 Ctrl",
scrollMac:
"\u0429\u043e\u0431 \u0437\u043c\u0456\u043d\u0438\u0442\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u0440\u0442\u0438, \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 \u2318 + \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0443\u0432\u0430\u043d\u043d\u044f"
},
//Vietnamese
vi: {
touch:
"S\u1eed d\u1ee5ng hai ng\u00f3n tay \u0111\u1ec3 di chuy\u1ec3n b\u1ea3n \u0111\u1ed3",
scroll:
"S\u1eed d\u1ee5ng ctrl + cu\u1ed9n \u0111\u1ec3 thu ph\u00f3ng b\u1ea3n \u0111\u1ed3",
scrollMac:
"S\u1eed d\u1ee5ng \u2318 + cu\u1ed9n \u0111\u1ec3 thu ph\u00f3ng b\u1ea3n \u0111\u1ed3"
},
//Chinese (Simplified)
"zh-CN": {
touch: "\u4f7f\u7528\u53cc\u6307\u79fb\u52a8\u5730\u56fe",
scroll:
"\u6309\u4f4f Ctrl \u5e76\u6eda\u52a8\u9f20\u6807\u6eda\u8f6e\u624d\u53ef\u7f29\u653e\u5730\u56fe",
scrollMac:
"\u6309\u4f4f \u2318 \u5e76\u6eda\u52a8\u9f20\u6807\u6eda\u8f6e\u624d\u53ef\u7f29\u653e\u5730\u56fe"
},
//Chinese (Traditional)
"zh-TW": {
touch: "\u540c\u6642\u4ee5\u5169\u6307\u79fb\u52d5\u5730\u5716",
scroll:
"\u6309\u4f4f ctrl \u9375\u52a0\u4e0a\u6372\u52d5\u6ed1\u9f20\u53ef\u4ee5\u7e2e\u653e\u5730\u5716",
scrollMac:
"\u6309 \u2318 \u52a0\u4e0a\u6efe\u52d5\u6372\u8ef8\u53ef\u4ee5\u7e2e\u653e\u5730\u5716"
}
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/package-lock.json
New file
0,0 → 1,4962
{
"name": "leaflet-gesture-handling",
"version": "1.2.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@gulp-sourcemaps/identity-map": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz",
"integrity": "sha512-ciiioYMLdo16ShmfHBXJBOFm3xPC4AuwO4xeRpFeHz7WK9PYsWCmigagG2XyzZpubK4a3qNKoUBDhbzHfa50LQ==",
"dev": true,
"requires": {
"acorn": "^5.0.3",
"css": "^2.2.1",
"normalize-path": "^2.1.1",
"source-map": "^0.6.0",
"through2": "^2.0.3"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"@gulp-sourcemaps/map-sources": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz",
"integrity": "sha1-iQrnxdjId/bThIYCFazp1+yUW9o=",
"dev": true,
"requires": {
"normalize-path": "^2.0.1",
"through2": "^2.0.3"
}
},
"@types/estree": {
"version": "0.0.39",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
"integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
"dev": true
},
"@types/node": {
"version": "10.5.2",
"resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.2.tgz",
"integrity": "sha512-m9zXmifkZsMHZBOyxZWilMwmTlpC8x5Ty360JKTiXvlXZfBWYpsg9ZZvP/Ye+iZUh+Q+MxDLjItVTWIsfwz+8Q==",
"dev": true
},
"abbrev": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
"dev": true
},
"acorn": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz",
"integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==",
"dev": true
},
"ajv": {
"version": "4.11.8",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
"dev": true,
"requires": {
"co": "^4.6.0",
"json-stable-stringify": "^1.0.1"
}
},
"amdefine": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true
},
"ansi-colors": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz",
"integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==",
"dev": true,
"requires": {
"ansi-wrap": "^0.1.0"
}
},
"ansi-gray": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz",
"integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=",
"dev": true,
"requires": {
"ansi-wrap": "0.1.0"
}
},
"ansi-regex": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
"dev": true
},
"ansi-styles": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
"dev": true
},
"ansi-wrap": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
"integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=",
"dev": true
},
"aproba": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
"integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
"dev": true
},
"archy": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
"integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
"dev": true
},
"are-we-there-yet": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
"integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
"dev": true,
"requires": {
"delegates": "^1.0.0",
"readable-stream": "^2.0.6"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"readable-stream": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"arr-diff": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
"dev": true
},
"arr-flatten": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
"integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
"dev": true
},
"arr-union": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
"integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
"dev": true
},
"array-differ": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
"integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
"dev": true
},
"array-each": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
"dev": true
},
"array-find-index": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
"integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
"dev": true
},
"array-slice": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
"integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
"dev": true
},
"array-uniq": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
"dev": true
},
"array-unique": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
"asn1": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
"dev": true
},
"assert-plus": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
"dev": true
},
"assign-symbols": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
"dev": true
},
"async-foreach": {
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz",
"integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=",
"dev": true
},
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
"atob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
"integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=",
"dev": true
},
"autoprefixer": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-8.1.0.tgz",
"integrity": "sha512-b6mjq6VZ0guW6evRkKXL5sSSvIXICAE9dyWReZ3l/riidU7bVaJMe5cQ512SmaLA4Pvgnhi5MFsMs/Mvyh9//Q==",
"dev": true,
"requires": {
"browserslist": "^3.1.1",
"caniuse-lite": "^1.0.30000810",
"normalize-range": "^0.1.2",
"num2fraction": "^1.2.2",
"postcss": "^6.0.19",
"postcss-value-parser": "^3.2.3"
}
},
"aws-sign2": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
"dev": true
},
"aws4": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
"integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==",
"dev": true
},
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
"integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=",
"dev": true,
"requires": {
"chalk": "^1.1.3",
"esutils": "^2.0.2",
"js-tokens": "^3.0.2"
}
},
"babel-core": {
"version": "6.26.3",
"resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz",
"integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==",
"dev": true,
"requires": {
"babel-code-frame": "^6.26.0",
"babel-generator": "^6.26.0",
"babel-helpers": "^6.24.1",
"babel-messages": "^6.23.0",
"babel-register": "^6.26.0",
"babel-runtime": "^6.26.0",
"babel-template": "^6.26.0",
"babel-traverse": "^6.26.0",
"babel-types": "^6.26.0",
"babylon": "^6.18.0",
"convert-source-map": "^1.5.1",
"debug": "^2.6.9",
"json5": "^0.5.1",
"lodash": "^4.17.4",
"minimatch": "^3.0.4",
"path-is-absolute": "^1.0.1",
"private": "^0.1.8",
"slash": "^1.0.0",
"source-map": "^0.5.7"
}
},
"babel-generator": {
"version": "6.26.1",
"resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz",
"integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==",
"dev": true,
"requires": {
"babel-messages": "^6.23.0",
"babel-runtime": "^6.26.0",
"babel-types": "^6.26.0",
"detect-indent": "^4.0.0",
"jsesc": "^1.3.0",
"lodash": "^4.17.4",
"source-map": "^0.5.7",
"trim-right": "^1.0.1"
}
},
"babel-helpers": {
"version": "6.24.1",
"resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz",
"integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=",
"dev": true,
"requires": {
"babel-runtime": "^6.22.0",
"babel-template": "^6.24.1"
}
},
"babel-messages": {
"version": "6.23.0",
"resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz",
"integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=",
"dev": true,
"requires": {
"babel-runtime": "^6.22.0"
}
},
"babel-register": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz",
"integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=",
"dev": true,
"requires": {
"babel-core": "^6.26.0",
"babel-runtime": "^6.26.0",
"core-js": "^2.5.0",
"home-or-tmp": "^2.0.0",
"lodash": "^4.17.4",
"mkdirp": "^0.5.1",
"source-map-support": "^0.4.15"
}
},
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
"dev": true,
"requires": {
"core-js": "^2.4.0",
"regenerator-runtime": "^0.11.0"
}
},
"babel-template": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz",
"integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=",
"dev": true,
"requires": {
"babel-runtime": "^6.26.0",
"babel-traverse": "^6.26.0",
"babel-types": "^6.26.0",
"babylon": "^6.18.0",
"lodash": "^4.17.4"
}
},
"babel-traverse": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz",
"integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=",
"dev": true,
"requires": {
"babel-code-frame": "^6.26.0",
"babel-messages": "^6.23.0",
"babel-runtime": "^6.26.0",
"babel-types": "^6.26.0",
"babylon": "^6.18.0",
"debug": "^2.6.8",
"globals": "^9.18.0",
"invariant": "^2.2.2",
"lodash": "^4.17.4"
}
},
"babel-types": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
"integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
"dev": true,
"requires": {
"babel-runtime": "^6.26.0",
"esutils": "^2.0.2",
"lodash": "^4.17.4",
"to-fast-properties": "^1.0.3"
}
},
"babylon": {
"version": "6.18.0",
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
"integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
"dev": true
},
"balanced-match": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
"base": {
"version": "0.11.2",
"resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
"integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
"dev": true,
"requires": {
"cache-base": "^1.0.1",
"class-utils": "^0.3.5",
"component-emitter": "^1.2.1",
"define-property": "^1.0.0",
"isobject": "^3.0.1",
"mixin-deep": "^1.2.0",
"pascalcase": "^0.1.1"
},
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
"dev": true,
"optional": true,
"requires": {
"tweetnacl": "^0.14.3"
}
},
"beeper": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz",
"integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=",
"dev": true
},
"block-stream": {
"version": "0.0.9",
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
"integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
"dev": true,
"requires": {
"inherits": "~2.0.0"
}
},
"boom": {
"version": "2.10.1",
"resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"dev": true,
"requires": {
"hoek": "2.x.x"
}
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
}
},
"braces": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
"dev": true,
"requires": {
"arr-flatten": "^1.1.0",
"array-unique": "^0.3.2",
"extend-shallow": "^2.0.1",
"fill-range": "^4.0.0",
"isobject": "^3.0.1",
"repeat-element": "^1.1.2",
"snapdragon": "^0.8.1",
"snapdragon-node": "^2.0.1",
"split-string": "^3.0.2",
"to-regex": "^3.0.1"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"browserslist": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.1.2.tgz",
"integrity": "sha512-iO5MiK7MZXejqfnCK8onktxxb+mcW+KMiL/5gGF/UCWvVgPzbgbkA5cyYfqj/IIHHo7X1z0znrSHPw9AIfpvrw==",
"dev": true,
"requires": {
"caniuse-lite": "^1.0.30000813",
"electron-to-chromium": "^1.3.36"
}
},
"bufferstreams": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.0.1.tgz",
"integrity": "sha1-z7GtlWjTujz+k1upq92VLeiKqyo=",
"dev": true,
"requires": {
"readable-stream": "^1.0.33"
}
},
"builtin-modules": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
"integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
"dev": true
},
"cache-base": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
"integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
"dev": true,
"requires": {
"collection-visit": "^1.0.0",
"component-emitter": "^1.2.1",
"get-value": "^2.0.6",
"has-value": "^1.0.0",
"isobject": "^3.0.1",
"set-value": "^2.0.0",
"to-object-path": "^0.3.0",
"union-value": "^1.0.0",
"unset-value": "^1.0.0"
}
},
"camelcase": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
"integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=",
"dev": true
},
"camelcase-keys": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
"integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
"dev": true,
"requires": {
"camelcase": "^2.0.0",
"map-obj": "^1.0.0"
}
},
"caniuse-lite": {
"version": "1.0.30000815",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000815.tgz",
"integrity": "sha512-PGSOPK6gFe5fWd+eD0u2bG0aOsN1qC4B1E66tl3jOsIoKkTIcBYAc2+O6AeNzKW8RsFykWgnhkTlfOyuTzgI9A==",
"dev": true
},
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
"dev": true
},
"chalk": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
"dev": true,
"requires": {
"ansi-styles": "^2.2.1",
"escape-string-regexp": "^1.0.2",
"has-ansi": "^2.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^2.0.0"
}
},
"class-utils": {
"version": "0.3.6",
"resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
"integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
"dev": true,
"requires": {
"arr-union": "^3.1.0",
"define-property": "^0.2.5",
"isobject": "^3.0.0",
"static-extend": "^0.1.1"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
}
}
},
"clean-css": {
"version": "3.4.28",
"resolved": "https://registry.npmjs.org/clean-css/-/clean-css-3.4.28.tgz",
"integrity": "sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=",
"dev": true,
"requires": {
"commander": "2.8.x",
"source-map": "0.4.x"
},
"dependencies": {
"source-map": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
"requires": {
"amdefine": ">=0.0.4"
}
}
}
},
"cliui": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
"integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
"dev": true,
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1",
"wrap-ansi": "^2.0.0"
}
},
"clone": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz",
"integrity": "sha1-KY1+IjFmD0DAA8LtMUDezz9TCF8=",
"dev": true
},
"clone-buffer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
"integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=",
"dev": true
},
"clone-stats": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz",
"integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=",
"dev": true
},
"cloneable-readable": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.2.tgz",
"integrity": "sha512-Bq6+4t+lbM8vhTs/Bef5c5AdEMtapp/iFb6+s4/Hh9MVTt8OLKH7ZOOZSCT+Ys7hsHvqv0GuMPJ1lnQJVHvxpg==",
"dev": true,
"requires": {
"inherits": "^2.0.1",
"process-nextick-args": "^2.0.0",
"readable-stream": "^2.3.5"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"readable-stream": {
"version": "2.3.5",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
"integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.0.3",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
"dev": true
},
"code-point-at": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
"integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
"dev": true
},
"collection-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
"integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
"dev": true,
"requires": {
"map-visit": "^1.0.0",
"object-visit": "^1.0.0"
}
},
"color-convert": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz",
"integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==",
"dev": true,
"requires": {
"color-name": "^1.1.1"
}
},
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
},
"color-support": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
"integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
"dev": true
},
"combined-stream": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"dev": true,
"requires": {
"delayed-stream": "~1.0.0"
}
},
"commander": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
"integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=",
"dev": true,
"requires": {
"graceful-readlink": ">= 1.0.0"
}
},
"component-emitter": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
"integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
"dev": true
},
"concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"concat-with-sourcemaps": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
"integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
"dev": true,
"requires": {
"source-map": "^0.6.1"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"console-control-strings": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
"integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=",
"dev": true
},
"convert-source-map": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz",
"integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=",
"dev": true
},
"copy-descriptor": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
"dev": true
},
"core-js": {
"version": "2.5.7",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
"integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==",
"dev": true
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
"dev": true
},
"cross-spawn": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
"integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=",
"dev": true,
"requires": {
"lru-cache": "^4.0.1",
"which": "^1.2.9"
}
},
"cryptiles": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"dev": true,
"requires": {
"boom": "2.x.x"
}
},
"css": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/css/-/css-2.2.3.tgz",
"integrity": "sha512-0W171WccAjQGGTKLhw4m2nnl0zPHUlTO/I8td4XzJgIB8Hg3ZZx71qT4G4eX8OVsSiaAKiUMy73E3nsbPlg2DQ==",
"dev": true,
"requires": {
"inherits": "^2.0.1",
"source-map": "^0.1.38",
"source-map-resolve": "^0.5.1",
"urix": "^0.1.0"
},
"dependencies": {
"source-map": {
"version": "0.1.43",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
"dev": true,
"requires": {
"amdefine": ">=0.0.4"
}
}
}
},
"currently-unhandled": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
"integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
"dev": true,
"requires": {
"array-find-index": "^1.0.1"
}
},
"d": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz",
"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
"dev": true,
"requires": {
"es5-ext": "^0.10.9"
}
},
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"dateformat": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz",
"integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=",
"dev": true
},
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"debug-fabulous": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/debug-fabulous/-/debug-fabulous-1.1.0.tgz",
"integrity": "sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==",
"dev": true,
"requires": {
"debug": "3.X",
"memoizee": "0.4.X",
"object-assign": "4.X"
},
"dependencies": {
"debug": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
"integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
"dev": true,
"requires": {
"ms": "2.0.0"
}
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
}
}
},
"decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
"dev": true
},
"decode-uri-component": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
"integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
"dev": true
},
"defaults": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
"integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
"dev": true,
"requires": {
"clone": "^1.0.2"
}
},
"define-property": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
"integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
"dev": true,
"requires": {
"is-descriptor": "^1.0.2",
"isobject": "^3.0.1"
},
"dependencies": {
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
"dev": true
},
"delegates": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
"integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=",
"dev": true
},
"deprecated": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz",
"integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=",
"dev": true
},
"detect-file": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
"integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
"dev": true
},
"detect-indent": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz",
"integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=",
"dev": true,
"requires": {
"repeating": "^2.0.0"
}
},
"detect-newline": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz",
"integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=",
"dev": true
},
"duplexer2": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
"dev": true,
"requires": {
"readable-stream": "~1.1.9"
}
},
"ecc-jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"dev": true,
"optional": true,
"requires": {
"jsbn": "~0.1.0"
}
},
"electron-to-chromium": {
"version": "1.3.37",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.37.tgz",
"integrity": "sha1-SpJzTgBEyM8LFVO+V+riGkxuX6s=",
"dev": true
},
"end-of-stream": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz",
"integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=",
"dev": true,
"requires": {
"once": "~1.3.0"
}
},
"error-ex": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
"integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
"dev": true,
"requires": {
"is-arrayish": "^0.2.1"
}
},
"es5-ext": {
"version": "0.10.45",
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz",
"integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==",
"dev": true,
"requires": {
"es6-iterator": "~2.0.3",
"es6-symbol": "~3.1.1",
"next-tick": "1"
}
},
"es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
"dev": true,
"requires": {
"d": "1",
"es5-ext": "^0.10.35",
"es6-symbol": "^3.1.1"
}
},
"es6-symbol": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
"integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
"dev": true,
"requires": {
"d": "1",
"es5-ext": "~0.10.14"
}
},
"es6-weak-map": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz",
"integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
"dev": true,
"requires": {
"d": "1",
"es5-ext": "^0.10.14",
"es6-iterator": "^2.0.1",
"es6-symbol": "^3.1.1"
}
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"estree-walker": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz",
"integrity": "sha1-va/oCVOD2EFNXcLs9MkXO225QS4=",
"dev": true
},
"esutils": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
"dev": true
},
"event-emitter": {
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
"integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
"dev": true,
"requires": {
"d": "1",
"es5-ext": "~0.10.14"
}
},
"expand-brackets": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
"dev": true,
"requires": {
"debug": "^2.3.3",
"define-property": "^0.2.5",
"extend-shallow": "^2.0.1",
"posix-character-classes": "^0.1.0",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
"to-regex": "^3.0.1"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"expand-tilde": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
"integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
"dev": true,
"requires": {
"homedir-polyfill": "^1.0.1"
}
},
"extend": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
"dev": true
},
"extend-shallow": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
"integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
"dev": true,
"requires": {
"assign-symbols": "^1.0.0",
"is-extendable": "^1.0.1"
},
"dependencies": {
"is-extendable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
}
}
},
"extglob": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
"dev": true,
"requires": {
"array-unique": "^0.3.2",
"define-property": "^1.0.0",
"expand-brackets": "^2.1.4",
"extend-shallow": "^2.0.1",
"fragment-cache": "^0.2.1",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
"to-regex": "^3.0.1"
},
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
"dev": true
},
"fancy-log": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.2.tgz",
"integrity": "sha1-9BEl49hPLn2JpD0G2VjI94vha+E=",
"dev": true,
"requires": {
"ansi-gray": "^0.1.1",
"color-support": "^1.1.3",
"time-stamp": "^1.0.0"
}
},
"fast-deep-equal": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
"integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
"dev": true
},
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
"dev": true
},
"fill-range": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
"dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-number": "^3.0.0",
"repeat-string": "^1.6.1",
"to-regex-range": "^2.1.0"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"find-index": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz",
"integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=",
"dev": true
},
"find-up": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
"integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
"dev": true,
"requires": {
"path-exists": "^2.0.0",
"pinkie-promise": "^2.0.0"
}
},
"findup-sync": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
"integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
"dev": true,
"requires": {
"detect-file": "^1.0.0",
"is-glob": "^3.1.0",
"micromatch": "^3.0.4",
"resolve-dir": "^1.0.1"
}
},
"fined": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz",
"integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=",
"dev": true,
"requires": {
"expand-tilde": "^2.0.2",
"is-plain-object": "^2.0.3",
"object.defaults": "^1.1.0",
"object.pick": "^1.2.0",
"parse-filepath": "^1.0.1"
}
},
"first-chunk-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz",
"integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=",
"dev": true
},
"flagged-respawn": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.0.tgz",
"integrity": "sha1-Tnmumy6zi/hrO7Vr8+ClaqX8q9c=",
"dev": true
},
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
"integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
"dev": true
},
"for-own": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
"integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
"dev": true,
"requires": {
"for-in": "^1.0.1"
}
},
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
"dev": true
},
"form-data": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.5",
"mime-types": "^2.1.12"
}
},
"fragment-cache": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
"integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
"dev": true,
"requires": {
"map-cache": "^0.2.2"
}
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"fstream": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
"integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"inherits": "~2.0.0",
"mkdirp": ">=0.5 0",
"rimraf": "2"
}
},
"gauge": {
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
"integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
"dev": true,
"requires": {
"aproba": "^1.0.3",
"console-control-strings": "^1.0.0",
"has-unicode": "^2.0.0",
"object-assign": "^4.1.0",
"signal-exit": "^3.0.0",
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1",
"wide-align": "^1.1.0"
},
"dependencies": {
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
}
}
},
"gaze": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
"integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
"dev": true,
"requires": {
"globule": "^1.0.0"
}
},
"get-caller-file": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz",
"integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=",
"dev": true
},
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
"integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=",
"dev": true
},
"get-value": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
"dev": true
},
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"glob": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
"integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"glob-stream": {
"version": "3.1.18",
"resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz",
"integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=",
"dev": true,
"requires": {
"glob": "^4.3.1",
"glob2base": "^0.0.12",
"minimatch": "^2.0.1",
"ordered-read-streams": "^0.1.0",
"through2": "^0.6.1",
"unique-stream": "^1.0.0"
},
"dependencies": {
"glob": {
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
"integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
"dev": true,
"requires": {
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^2.0.1",
"once": "^1.3.0"
}
},
"minimatch": {
"version": "2.0.10",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
"integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
"dev": true,
"requires": {
"brace-expansion": "^1.0.0"
}
},
"readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "0.0.1",
"string_decoder": "~0.10.x"
}
},
"through2": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
"readable-stream": ">=1.0.33-1 <1.1.0-0",
"xtend": ">=4.0.0 <4.1.0-0"
}
}
}
},
"glob-watcher": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz",
"integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=",
"dev": true,
"requires": {
"gaze": "^0.5.1"
},
"dependencies": {
"gaze": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz",
"integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=",
"dev": true,
"requires": {
"globule": "~0.1.0"
}
},
"glob": {
"version": "3.1.21",
"resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
"integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
"dev": true,
"requires": {
"graceful-fs": "~1.2.0",
"inherits": "1",
"minimatch": "~0.2.11"
}
},
"globule": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz",
"integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=",
"dev": true,
"requires": {
"glob": "~3.1.21",
"lodash": "~1.0.1",
"minimatch": "~0.2.11"
}
},
"graceful-fs": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
"integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
"dev": true
},
"inherits": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
"integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
"dev": true
},
"lodash": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz",
"integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=",
"dev": true
},
"lru-cache": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
"integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
"dev": true
},
"minimatch": {
"version": "0.2.14",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
"integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
"dev": true,
"requires": {
"lru-cache": "2",
"sigmund": "~1.0.0"
}
}
}
},
"glob2base": {
"version": "0.0.12",
"resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz",
"integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=",
"dev": true,
"requires": {
"find-index": "^0.1.1"
}
},
"global-modules": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
"integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
"dev": true,
"requires": {
"global-prefix": "^1.0.1",
"is-windows": "^1.0.1",
"resolve-dir": "^1.0.0"
}
},
"global-prefix": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
"integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
"dev": true,
"requires": {
"expand-tilde": "^2.0.2",
"homedir-polyfill": "^1.0.1",
"ini": "^1.3.4",
"is-windows": "^1.0.1",
"which": "^1.2.14"
}
},
"globals": {
"version": "9.18.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
"integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==",
"dev": true
},
"globule": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
"integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
"dev": true,
"requires": {
"glob": "~7.1.1",
"lodash": "~4.17.10",
"minimatch": "~3.0.2"
}
},
"glogg": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.1.tgz",
"integrity": "sha512-ynYqXLoluBKf9XGR1gA59yEJisIL7YHEH4xr3ZziHB5/yl4qWfaK8Js9jGe6gBGCSCKVqiyO30WnRZADvemUNw==",
"dev": true,
"requires": {
"sparkles": "^1.0.0"
}
},
"graceful-fs": {
"version": "4.1.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=",
"dev": true
},
"graceful-readlink": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
"dev": true
},
"gulp": {
"version": "3.9.1",
"resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz",
"integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=",
"dev": true,
"requires": {
"archy": "^1.0.0",
"chalk": "^1.0.0",
"deprecated": "^0.0.1",
"gulp-util": "^3.0.0",
"interpret": "^1.0.0",
"liftoff": "^2.1.0",
"minimist": "^1.1.0",
"orchestrator": "^0.3.0",
"pretty-hrtime": "^1.0.0",
"semver": "^4.1.0",
"tildify": "^1.0.0",
"v8flags": "^2.0.2",
"vinyl-fs": "^0.3.0"
}
},
"gulp-autoprefixer": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/gulp-autoprefixer/-/gulp-autoprefixer-5.0.0.tgz",
"integrity": "sha1-gjfCeKaXdScKHK/n1vEBz81YVUQ=",
"dev": true,
"requires": {
"autoprefixer": "^8.0.0",
"fancy-log": "^1.3.2",
"plugin-error": "^1.0.1",
"postcss": "^6.0.1",
"through2": "^2.0.0",
"vinyl-sourcemaps-apply": "^0.2.0"
}
},
"gulp-better-rollup": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/gulp-better-rollup/-/gulp-better-rollup-3.3.0.tgz",
"integrity": "sha512-mTvQeLwTuZCU8+jrFFBXwFj/W2BMABru9v1IKjVe7Xz4OK0UFqQvBQurH0uOoYmWM/u815/GJ/juqjybtBHOBg==",
"dev": true,
"requires": {
"lodash.camelcase": "^4.3.0",
"plugin-error": "^1.0.1",
"rollup": "^0.60.2",
"vinyl": "^2.1.0",
"vinyl-sourcemaps-apply": "^0.2.1"
},
"dependencies": {
"clone": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
"integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
"dev": true
},
"clone-stats": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
"integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
"dev": true
},
"replace-ext": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
"dev": true
},
"vinyl": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz",
"integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==",
"dev": true,
"requires": {
"clone": "^2.1.1",
"clone-buffer": "^1.0.0",
"clone-stats": "^1.0.0",
"cloneable-readable": "^1.0.0",
"remove-trailing-separator": "^1.0.1",
"replace-ext": "^1.0.0"
}
}
}
},
"gulp-concat": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz",
"integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=",
"dev": true,
"requires": {
"concat-with-sourcemaps": "^1.0.0",
"through2": "^2.0.0",
"vinyl": "^2.0.0"
},
"dependencies": {
"clone": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz",
"integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=",
"dev": true
},
"clone-stats": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
"integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=",
"dev": true
},
"replace-ext": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
"dev": true
},
"vinyl": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz",
"integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=",
"dev": true,
"requires": {
"clone": "^2.1.1",
"clone-buffer": "^1.0.0",
"clone-stats": "^1.0.0",
"cloneable-readable": "^1.0.0",
"remove-trailing-separator": "^1.0.1",
"replace-ext": "^1.0.0"
}
}
}
},
"gulp-minify-css": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/gulp-minify-css/-/gulp-minify-css-1.2.4.tgz",
"integrity": "sha1-thZJV2Auon+eWtiCJ2ld0gV3jAY=",
"dev": true,
"requires": {
"clean-css": "^3.3.3",
"gulp-util": "^3.0.5",
"object-assign": "^4.0.1",
"readable-stream": "^2.0.0",
"vinyl-bufferstream": "^1.0.1",
"vinyl-sourcemaps-apply": "^0.2.0"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
"readable-stream": {
"version": "2.3.5",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
"integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.0.3",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"gulp-rename": {
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.3.tgz",
"integrity": "sha512-CmdPM0BjJ105QCX1fk+j7NGhiN/1rCl9HLGss+KllBS/tdYadpjTxqdKyh/5fNV+M3yjT1MFz5z93bXdrTyzAw==",
"dev": true
},
"gulp-sass": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/gulp-sass/-/gulp-sass-4.0.1.tgz",
"integrity": "sha512-OMQEgWNggpog8Tc5v1MuI6eo+5iiPkVeLL76iBhDoEEScLUPfZlpvzmgTnLkpcqdrNodZxpz5qcv6mS2rulk3g==",
"dev": true,
"requires": {
"chalk": "^2.3.0",
"lodash.clonedeep": "^4.3.2",
"node-sass": "^4.8.3",
"plugin-error": "^1.0.1",
"replace-ext": "^1.0.0",
"strip-ansi": "^4.0.0",
"through2": "^2.0.0",
"vinyl-sourcemaps-apply": "^0.2.0"
},
"dependencies": {
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
"dev": true
},
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.4.1",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
"integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
},
"replace-ext": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
"integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=",
"dev": true
},
"strip-ansi": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
"requires": {
"ansi-regex": "^3.0.0"
}
},
"supports-color": {
"version": "5.4.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz",
"integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"gulp-sourcemaps": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-2.6.4.tgz",
"integrity": "sha1-y7IAhFCxvM5s0jv5gze+dRv24wo=",
"dev": true,
"requires": {
"@gulp-sourcemaps/identity-map": "1.X",
"@gulp-sourcemaps/map-sources": "1.X",
"acorn": "5.X",
"convert-source-map": "1.X",
"css": "2.X",
"debug-fabulous": "1.X",
"detect-newline": "2.X",
"graceful-fs": "4.X",
"source-map": "~0.6.0",
"strip-bom-string": "1.X",
"through2": "2.X"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"gulp-uglify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-3.0.0.tgz",
"integrity": "sha1-DfAzHXKg0wLj434QlIXd3zPG0co=",
"dev": true,
"requires": {
"gulplog": "^1.0.0",
"has-gulplog": "^0.1.0",
"lodash": "^4.13.1",
"make-error-cause": "^1.1.1",
"through2": "^2.0.0",
"uglify-js": "^3.0.5",
"vinyl-sourcemaps-apply": "^0.2.0"
},
"dependencies": {
"lodash": {
"version": "4.17.5",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.5.tgz",
"integrity": "sha512-svL3uiZf1RwhH+cWrfZn3A4+U58wbP0tGVTLQPbjplZxZ8ROD9VLuNgsRniTlLe7OlSqR79RUehXgpBW/s0IQw==",
"dev": true
}
}
},
"gulp-util": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz",
"integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=",
"dev": true,
"requires": {
"array-differ": "^1.0.0",
"array-uniq": "^1.0.2",
"beeper": "^1.0.0",
"chalk": "^1.0.0",
"dateformat": "^2.0.0",
"fancy-log": "^1.1.0",
"gulplog": "^1.0.0",
"has-gulplog": "^0.1.0",
"lodash._reescape": "^3.0.0",
"lodash._reevaluate": "^3.0.0",
"lodash._reinterpolate": "^3.0.0",
"lodash.template": "^3.0.0",
"minimist": "^1.1.0",
"multipipe": "^0.1.2",
"object-assign": "^3.0.0",
"replace-ext": "0.0.1",
"through2": "^2.0.0",
"vinyl": "^0.5.0"
}
},
"gulplog": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz",
"integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=",
"dev": true,
"requires": {
"glogg": "^1.0.0"
}
},
"har-schema": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
"integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
"dev": true
},
"har-validator": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
"integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
"dev": true,
"requires": {
"ajv": "^4.9.1",
"har-schema": "^1.0.5"
}
},
"has-ansi": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
"dev": true,
"requires": {
"ansi-regex": "^2.0.0"
}
},
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
"dev": true
},
"has-gulplog": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz",
"integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=",
"dev": true,
"requires": {
"sparkles": "^1.0.0"
}
},
"has-unicode": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
"integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=",
"dev": true
},
"has-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
"integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
"dev": true,
"requires": {
"get-value": "^2.0.6",
"has-values": "^1.0.0",
"isobject": "^3.0.0"
}
},
"has-values": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
"integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
"dev": true,
"requires": {
"is-number": "^3.0.0",
"kind-of": "^4.0.0"
},
"dependencies": {
"kind-of": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
"integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"hawk": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"dev": true,
"requires": {
"boom": "2.x.x",
"cryptiles": "2.x.x",
"hoek": "2.x.x",
"sntp": "1.x.x"
}
},
"hoek": {
"version": "2.16.3",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
"dev": true
},
"home-or-tmp": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz",
"integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=",
"dev": true,
"requires": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.1"
}
},
"homedir-polyfill": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
"integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
"dev": true,
"requires": {
"parse-passwd": "^1.0.0"
}
},
"hosted-git-info": {
"version": "2.7.1",
"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
"integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
"dev": true
},
"http-signature": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"dev": true,
"requires": {
"assert-plus": "^0.2.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
}
},
"in-publish": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz",
"integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=",
"dev": true
},
"indent-string": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
"integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
"dev": true,
"requires": {
"repeating": "^2.0.0"
}
},
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
"dev": true
},
"ini": {
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
"integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
"dev": true
},
"interpret": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
"integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
"dev": true
},
"invariant": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
"integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
"dev": true,
"requires": {
"loose-envify": "^1.0.0"
}
},
"invert-kv": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
"integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=",
"dev": true
},
"is-absolute": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
"integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
"dev": true,
"requires": {
"is-relative": "^1.0.0",
"is-windows": "^1.0.1"
}
},
"is-accessor-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"is-arrayish": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
"dev": true
},
"is-buffer": {
"version": "1.1.6",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
"dev": true
},
"is-builtin-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz",
"integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=",
"dev": true,
"requires": {
"builtin-modules": "^1.0.0"
}
},
"is-data-descriptor": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"is-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
"dev": true,
"requires": {
"is-accessor-descriptor": "^0.1.6",
"is-data-descriptor": "^0.1.4",
"kind-of": "^5.0.0"
},
"dependencies": {
"kind-of": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
"dev": true
}
}
},
"is-extendable": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
"integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
"dev": true
},
"is-extglob": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
"dev": true
},
"is-finite": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
"integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
"dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
},
"is-fullwidth-code-point": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
"integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
"dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
},
"is-glob": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
"integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
"dev": true,
"requires": {
"is-extglob": "^2.1.0"
}
},
"is-number": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"is-odd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
"integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
"dev": true,
"requires": {
"is-number": "^4.0.0"
},
"dependencies": {
"is-number": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
"integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
"dev": true
}
}
},
"is-plain-object": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
"integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
"dev": true,
"requires": {
"isobject": "^3.0.1"
}
},
"is-promise": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
"dev": true
},
"is-relative": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
"integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
"dev": true,
"requires": {
"is-unc-path": "^1.0.0"
}
},
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
"dev": true
},
"is-unc-path": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
"integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
"dev": true,
"requires": {
"unc-path-regex": "^0.1.2"
}
},
"is-utf8": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
"integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
"dev": true
},
"is-windows": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
"integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
"dev": true
},
"isarray": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
"dev": true
},
"isexe": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
"dev": true
},
"isobject": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
"dev": true
},
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
"dev": true
},
"js-base64": {
"version": "2.4.5",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.5.tgz",
"integrity": "sha512-aUnNwqMOXw3yvErjMPSQu6qIIzUmT1e5KcU1OZxRDU1g/am6mzBvcrmLAYwzmB59BHPrh5/tKaiF4OPhqRWESQ==",
"dev": true
},
"js-tokens": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
"integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
"dev": true
},
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true,
"optional": true
},
"jsesc": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz",
"integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
"dev": true
},
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
"dev": true
},
"json-schema-traverse": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
"integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
"dev": true
},
"json-stable-stringify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
"dev": true,
"requires": {
"jsonify": "~0.0.0"
}
},
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
"dev": true
},
"json5": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz",
"integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=",
"dev": true
},
"jsonify": {
"version": "0.0.0",
"resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
"dev": true
},
"jsprim": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"dev": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
"json-schema": "0.2.3",
"verror": "1.10.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"kind-of": {
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
"integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
"dev": true
},
"lcid": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
"integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
"dev": true,
"requires": {
"invert-kv": "^1.0.0"
}
},
"liftoff": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
"integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
"dev": true,
"requires": {
"extend": "^3.0.0",
"findup-sync": "^2.0.0",
"fined": "^1.0.1",
"flagged-respawn": "^1.0.0",
"is-plain-object": "^2.0.4",
"object.map": "^1.0.0",
"rechoir": "^0.6.2",
"resolve": "^1.1.7"
}
},
"load-json-file": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
"integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"parse-json": "^2.2.0",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0",
"strip-bom": "^2.0.0"
},
"dependencies": {
"strip-bom": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
"integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
"dev": true,
"requires": {
"is-utf8": "^0.2.0"
}
}
}
},
"lodash": {
"version": "4.17.10",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
"integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==",
"dev": true
},
"lodash._basecopy": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz",
"integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
"dev": true
},
"lodash._basetostring": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz",
"integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=",
"dev": true
},
"lodash._basevalues": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz",
"integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=",
"dev": true
},
"lodash._getnative": {
"version": "3.9.1",
"resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz",
"integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
"dev": true
},
"lodash._isiterateecall": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz",
"integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
"dev": true
},
"lodash._reescape": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz",
"integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=",
"dev": true
},
"lodash._reevaluate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz",
"integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=",
"dev": true
},
"lodash._reinterpolate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
"integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
"dev": true
},
"lodash._root": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz",
"integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=",
"dev": true
},
"lodash.assign": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz",
"integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
"dev": true
},
"lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
"dev": true
},
"lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
"integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
"dev": true
},
"lodash.escape": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz",
"integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=",
"dev": true,
"requires": {
"lodash._root": "^3.0.0"
}
},
"lodash.isarguments": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
"integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
"dev": true
},
"lodash.isarray": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz",
"integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
"dev": true
},
"lodash.keys": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz",
"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
"dev": true,
"requires": {
"lodash._getnative": "^3.0.0",
"lodash.isarguments": "^3.0.0",
"lodash.isarray": "^3.0.0"
}
},
"lodash.mergewith": {
"version": "4.6.1",
"resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz",
"integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==",
"dev": true
},
"lodash.restparam": {
"version": "3.6.1",
"resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz",
"integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=",
"dev": true
},
"lodash.template": {
"version": "3.6.2",
"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz",
"integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=",
"dev": true,
"requires": {
"lodash._basecopy": "^3.0.0",
"lodash._basetostring": "^3.0.0",
"lodash._basevalues": "^3.0.0",
"lodash._isiterateecall": "^3.0.0",
"lodash._reinterpolate": "^3.0.0",
"lodash.escape": "^3.0.0",
"lodash.keys": "^3.0.0",
"lodash.restparam": "^3.0.0",
"lodash.templatesettings": "^3.0.0"
}
},
"lodash.templatesettings": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz",
"integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=",
"dev": true,
"requires": {
"lodash._reinterpolate": "^3.0.0",
"lodash.escape": "^3.0.0"
}
},
"loose-envify": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
"dev": true,
"requires": {
"js-tokens": "^3.0.0 || ^4.0.0"
}
},
"loud-rejection": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
"integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
"dev": true,
"requires": {
"currently-unhandled": "^0.4.1",
"signal-exit": "^3.0.0"
}
},
"lru-cache": {
"version": "4.1.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
"integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
"dev": true,
"requires": {
"pseudomap": "^1.0.2",
"yallist": "^2.1.2"
}
},
"lru-queue": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
"integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=",
"dev": true,
"requires": {
"es5-ext": "~0.10.2"
}
},
"make-error": {
"version": "1.3.4",
"resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.4.tgz",
"integrity": "sha512-0Dab5btKVPhibSalc9QGXb559ED7G7iLjFXBaj9Wq8O3vorueR5K5jaE3hkG6ZQINyhA/JgG6Qk4qdFQjsYV6g==",
"dev": true
},
"make-error-cause": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/make-error-cause/-/make-error-cause-1.2.2.tgz",
"integrity": "sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=",
"dev": true,
"requires": {
"make-error": "^1.2.0"
}
},
"make-iterator": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
"integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
"dev": true,
"requires": {
"kind-of": "^6.0.2"
}
},
"map-cache": {
"version": "0.2.2",
"resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
"integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
"dev": true
},
"map-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
"integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=",
"dev": true
},
"map-visit": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
"integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
"dev": true,
"requires": {
"object-visit": "^1.0.0"
}
},
"memoizee": {
"version": "0.4.12",
"resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.12.tgz",
"integrity": "sha512-sprBu6nwxBWBvBOh5v2jcsGqiGLlL2xr2dLub3vR8dnE8YB17omwtm/0NSHl8jjNbcsJd5GMWJAnTSVe/O0Wfg==",
"dev": true,
"requires": {
"d": "1",
"es5-ext": "^0.10.30",
"es6-weak-map": "^2.0.2",
"event-emitter": "^0.3.5",
"is-promise": "^2.1",
"lru-queue": "0.1",
"next-tick": "1",
"timers-ext": "^0.1.2"
}
},
"meow": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
"integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
"dev": true,
"requires": {
"camelcase-keys": "^2.0.0",
"decamelize": "^1.1.2",
"loud-rejection": "^1.0.0",
"map-obj": "^1.0.1",
"minimist": "^1.1.3",
"normalize-package-data": "^2.3.4",
"object-assign": "^4.0.1",
"read-pkg-up": "^1.0.1",
"redent": "^1.0.0",
"trim-newlines": "^1.0.0"
},
"dependencies": {
"object-assign": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
}
}
},
"micromatch": {
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
"dev": true,
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
"braces": "^2.3.1",
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
"extglob": "^2.0.4",
"fragment-cache": "^0.2.1",
"kind-of": "^6.0.2",
"nanomatch": "^1.2.9",
"object.pick": "^1.3.0",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
"to-regex": "^3.0.2"
}
},
"mime-db": {
"version": "1.33.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
"integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
"dev": true
},
"mime-types": {
"version": "2.1.18",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
"integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
"dev": true,
"requires": {
"mime-db": "~1.33.0"
}
},
"minimatch": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
},
"mixin-deep": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
"integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
"dev": true,
"requires": {
"for-in": "^1.0.2",
"is-extendable": "^1.0.1"
},
"dependencies": {
"is-extendable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
"integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
"dev": true,
"requires": {
"is-plain-object": "^2.0.4"
}
}
}
},
"mkdirp": {
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
"requires": {
"minimist": "0.0.8"
},
"dependencies": {
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
}
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
"dev": true
},
"multipipe": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
"integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
"dev": true,
"requires": {
"duplexer2": "0.0.2"
}
},
"nan": {
"version": "2.10.0",
"resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
"integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==",
"dev": true
},
"nanomatch": {
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
"integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
"dev": true,
"requires": {
"arr-diff": "^4.0.0",
"array-unique": "^0.3.2",
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
"fragment-cache": "^0.2.1",
"is-odd": "^2.0.0",
"is-windows": "^1.0.2",
"kind-of": "^6.0.2",
"object.pick": "^1.3.0",
"regex-not": "^1.0.0",
"snapdragon": "^0.8.1",
"to-regex": "^3.0.1"
}
},
"natives": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/natives/-/natives-1.1.3.tgz",
"integrity": "sha512-BZGSYV4YOLxzoTK73l0/s/0sH9l8SHs2ocReMH1f8JYSh5FUWu4ZrKCpJdRkWXV6HFR/pZDz7bwWOVAY07q77g==",
"dev": true
},
"next-tick": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
"dev": true
},
"node-gyp": {
"version": "3.7.0",
"resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.7.0.tgz",
"integrity": "sha512-qDQE/Ft9xXP6zphwx4sD0t+VhwV7yFaloMpfbL2QnnDZcyaiakWlLdtFGGQfTAwpFHdpbRhRxVhIHN1OKAjgbg==",
"dev": true,
"requires": {
"fstream": "^1.0.0",
"glob": "^7.0.3",
"graceful-fs": "^4.1.2",
"mkdirp": "^0.5.0",
"nopt": "2 || 3",
"npmlog": "0 || 1 || 2 || 3 || 4",
"osenv": "0",
"request": ">=2.9.0 <2.82.0",
"rimraf": "2",
"semver": "~5.3.0",
"tar": "^2.0.0",
"which": "1"
},
"dependencies": {
"request": {
"version": "2.81.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
"integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
"dev": true,
"requires": {
"aws-sign2": "~0.6.0",
"aws4": "^1.2.1",
"caseless": "~0.12.0",
"combined-stream": "~1.0.5",
"extend": "~3.0.0",
"forever-agent": "~0.6.1",
"form-data": "~2.1.1",
"har-validator": "~4.2.1",
"hawk": "~3.1.3",
"http-signature": "~1.1.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.7",
"oauth-sign": "~0.8.1",
"performance-now": "^0.2.0",
"qs": "~6.4.0",
"safe-buffer": "^5.0.1",
"stringstream": "~0.0.4",
"tough-cookie": "~2.3.0",
"tunnel-agent": "^0.6.0",
"uuid": "^3.0.0"
}
},
"semver": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
"integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
"dev": true
}
}
},
"node-sass": {
"version": "4.9.2",
"resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.2.tgz",
"integrity": "sha512-LdxoJLZutx0aQXHtWIYwJKMj+9pTjneTcLWJgzf2XbGu0q5pRNqW5QvFCEdm3mc5rJOdru/mzln5d0EZLacf6g==",
"dev": true,
"requires": {
"async-foreach": "^0.1.3",
"chalk": "^1.1.1",
"cross-spawn": "^3.0.0",
"gaze": "^1.0.0",
"get-stdin": "^4.0.1",
"glob": "^7.0.3",
"in-publish": "^2.0.0",
"lodash.assign": "^4.2.0",
"lodash.clonedeep": "^4.3.2",
"lodash.mergewith": "^4.6.0",
"meow": "^3.7.0",
"mkdirp": "^0.5.1",
"nan": "^2.10.0",
"node-gyp": "^3.3.1",
"npmlog": "^4.0.0",
"request": "2.87.0",
"sass-graph": "^2.2.4",
"stdout-stream": "^1.4.0",
"true-case-path": "^1.0.2"
}
},
"nopt": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
"integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
"dev": true,
"requires": {
"abbrev": "1"
}
},
"normalize-package-data": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
"integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==",
"dev": true,
"requires": {
"hosted-git-info": "^2.1.4",
"is-builtin-module": "^1.0.0",
"semver": "2 || 3 || 4 || 5",
"validate-npm-package-license": "^3.0.1"
}
},
"normalize-path": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
"integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
"dev": true,
"requires": {
"remove-trailing-separator": "^1.0.1"
}
},
"normalize-range": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
"integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=",
"dev": true
},
"npmlog": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
"integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
"dev": true,
"requires": {
"are-we-there-yet": "~1.1.2",
"console-control-strings": "~1.1.0",
"gauge": "~2.7.3",
"set-blocking": "~2.0.0"
}
},
"num2fraction": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz",
"integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
"dev": true
},
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
"oauth-sign": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
"dev": true
},
"object-assign": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
"integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=",
"dev": true
},
"object-copy": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
"integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
"dev": true,
"requires": {
"copy-descriptor": "^0.1.0",
"define-property": "^0.2.5",
"kind-of": "^3.0.3"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
},
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"object-visit": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
"integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
"dev": true,
"requires": {
"isobject": "^3.0.0"
}
},
"object.defaults": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
"integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
"dev": true,
"requires": {
"array-each": "^1.0.1",
"array-slice": "^1.0.0",
"for-own": "^1.0.0",
"isobject": "^3.0.0"
}
},
"object.map": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
"integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
"dev": true,
"requires": {
"for-own": "^1.0.0",
"make-iterator": "^1.0.0"
}
},
"object.pick": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
"integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
"dev": true,
"requires": {
"isobject": "^3.0.1"
}
},
"once": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
"integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=",
"dev": true,
"requires": {
"wrappy": "1"
}
},
"orchestrator": {
"version": "0.3.8",
"resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz",
"integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=",
"dev": true,
"requires": {
"end-of-stream": "~0.1.5",
"sequencify": "~0.0.7",
"stream-consume": "~0.1.0"
}
},
"ordered-read-streams": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz",
"integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=",
"dev": true
},
"os-homedir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
"integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
"dev": true
},
"os-locale": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
"integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
"dev": true,
"requires": {
"lcid": "^1.0.0"
}
},
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
"dev": true
},
"osenv": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
"integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
"dev": true,
"requires": {
"os-homedir": "^1.0.0",
"os-tmpdir": "^1.0.0"
}
},
"parse-filepath": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
"integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
"dev": true,
"requires": {
"is-absolute": "^1.0.0",
"map-cache": "^0.2.0",
"path-root": "^0.1.1"
}
},
"parse-json": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
"integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
"dev": true,
"requires": {
"error-ex": "^1.2.0"
}
},
"parse-passwd": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
"integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
"dev": true
},
"pascalcase": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
"integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
"dev": true
},
"path-exists": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
"integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
"dev": true,
"requires": {
"pinkie-promise": "^2.0.0"
}
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"path-parse": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz",
"integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=",
"dev": true
},
"path-root": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
"integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
"dev": true,
"requires": {
"path-root-regex": "^0.1.0"
}
},
"path-root-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
"integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
"dev": true
},
"path-type": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
"integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.2",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0"
}
},
"performance-now": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
"integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
"dev": true
},
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
"dev": true
},
"pinkie": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
"integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
"dev": true
},
"pinkie-promise": {
"version": "2.0.1",
"resolved": "http://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
"integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
"dev": true,
"requires": {
"pinkie": "^2.0.0"
}
},
"plugin-error": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz",
"integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==",
"dev": true,
"requires": {
"ansi-colors": "^1.0.1",
"arr-diff": "^4.0.0",
"arr-union": "^3.1.0",
"extend-shallow": "^3.0.2"
}
},
"posix-character-classes": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
"integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
"dev": true
},
"postcss": {
"version": "6.0.19",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.19.tgz",
"integrity": "sha512-f13HRz0HtVwVaEuW6J6cOUCBLFtymhgyLPV7t4QEk2UD3twRI9IluDcQNdzQdBpiixkXj2OmzejhhTbSbDxNTg==",
"dev": true,
"requires": {
"chalk": "^2.3.1",
"source-map": "^0.6.1",
"supports-color": "^5.2.0"
},
"dependencies": {
"ansi-styles": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dev": true,
"requires": {
"color-convert": "^1.9.0"
}
},
"chalk": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.2.tgz",
"integrity": "sha512-ZM4j2/ld/YZDc3Ma8PgN7gyAk+kHMMMyzLNryCPGhWrsfAuDVeuid5bpRFTDgMH9JBK2lA4dyyAkkZYF/WcqDQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"supports-color": {
"version": "5.3.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.3.0.tgz",
"integrity": "sha512-0aP01LLIskjKs3lq52EC0aGBAJhLq7B2Rd8HC/DR/PtNNpcLilNmHC12O+hu0usQpo7wtHNRqtrhBwtDb0+dNg==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss-value-parser": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz",
"integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=",
"dev": true
},
"prettier": {
"version": "1.14.0",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-1.14.0.tgz",
"integrity": "sha512-KtQ2EGaUwf2EyDfp1fxyEb0PqGKakVm0WyXwDt6u+cAoxbO2Z2CwKvOe3+b4+F2IlO9lYHi1kqFuRM70ddBnow==",
"dev": true
},
"pretty-hrtime": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
"integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
"dev": true
},
"private": {
"version": "0.1.8",
"resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
"integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
"dev": true
},
"process-nextick-args": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
"integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
"dev": true
},
"pseudomap": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
"integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
"dev": true
},
"punycode": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
"dev": true
},
"qs": {
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
"dev": true
},
"read-pkg": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
"integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
"dev": true,
"requires": {
"load-json-file": "^1.0.0",
"normalize-package-data": "^2.3.2",
"path-type": "^1.0.0"
}
},
"read-pkg-up": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
"integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
"dev": true,
"requires": {
"find-up": "^1.0.0",
"read-pkg": "^1.0.0"
}
},
"readable-stream": {
"version": "1.1.14",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "0.0.1",
"string_decoder": "~0.10.x"
}
},
"rechoir": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
"dev": true,
"requires": {
"resolve": "^1.1.6"
}
},
"redent": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
"integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
"dev": true,
"requires": {
"indent-string": "^2.1.0",
"strip-indent": "^1.0.1"
}
},
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
"dev": true
},
"regex-not": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
"integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
"dev": true,
"requires": {
"extend-shallow": "^3.0.2",
"safe-regex": "^1.1.0"
}
},
"remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
"integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
"dev": true
},
"repeat-element": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
"integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=",
"dev": true
},
"repeat-string": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
"integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
"dev": true
},
"repeating": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
"integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
"dev": true,
"requires": {
"is-finite": "^1.0.0"
}
},
"replace-ext": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz",
"integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=",
"dev": true
},
"request": {
"version": "2.87.0",
"resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
"integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
"dev": true,
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.6.0",
"caseless": "~0.12.0",
"combined-stream": "~1.0.5",
"extend": "~3.0.1",
"forever-agent": "~0.6.1",
"form-data": "~2.3.1",
"har-validator": "~5.0.3",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.17",
"oauth-sign": "~0.8.2",
"performance-now": "^2.1.0",
"qs": "~6.5.1",
"safe-buffer": "^5.1.1",
"tough-cookie": "~2.3.3",
"tunnel-agent": "^0.6.0",
"uuid": "^3.1.0"
},
"dependencies": {
"ajv": {
"version": "5.5.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
"integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
"dev": true,
"requires": {
"co": "^4.6.0",
"fast-deep-equal": "^1.0.0",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.3.0"
}
},
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
},
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
"integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
"dev": true
},
"form-data": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "1.0.6",
"mime-types": "^2.1.12"
}
},
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
"integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
"dev": true
},
"har-validator": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
"integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
"dev": true,
"requires": {
"ajv": "^5.1.0",
"har-schema": "^2.0.0"
}
},
"http-signature": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
"sshpk": "^1.7.0"
}
},
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
"dev": true
},
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
"integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
"dev": true
}
}
},
"require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
"dev": true
},
"require-main-filename": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
"integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
"dev": true
},
"resolve": {
"version": "1.7.1",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
"integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
"dev": true,
"requires": {
"path-parse": "^1.0.5"
}
},
"resolve-dir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
"integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
"dev": true,
"requires": {
"expand-tilde": "^2.0.0",
"global-modules": "^1.0.0"
}
},
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
"integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
"dev": true
},
"ret": {
"version": "0.1.15",
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
"dev": true
},
"rimraf": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
"integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
"dev": true,
"requires": {
"glob": "^7.0.5"
}
},
"rollup": {
"version": "0.60.7",
"resolved": "https://registry.npmjs.org/rollup/-/rollup-0.60.7.tgz",
"integrity": "sha512-Uj5I1A2PnDgA79P+v1dsNs1IHVydNgeJdKWRfoEJJdNMmyx07TRYqUtPUINaZ/gDusncFy1SZsT3lJnBBI8CGw==",
"dev": true,
"requires": {
"@types/estree": "0.0.39",
"@types/node": "*"
}
},
"rollup-plugin-babel": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-3.0.7.tgz",
"integrity": "sha512-bVe2y0z/V5Ax1qU8NX/0idmzIwJPdUGu8Xx3vXH73h0yGjxfv2gkFI82MBVg49SlsFlLTBadBHb67zy4TWM3hA==",
"dev": true,
"requires": {
"rollup-pluginutils": "^1.5.0"
}
},
"rollup-pluginutils": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz",
"integrity": "sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=",
"dev": true,
"requires": {
"estree-walker": "^0.2.1",
"minimatch": "^3.0.2"
}
},
"safe-buffer": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
"integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==",
"dev": true
},
"safe-regex": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
"integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
"dev": true,
"requires": {
"ret": "~0.1.10"
}
},
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
"sass-graph": {
"version": "2.2.4",
"resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz",
"integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=",
"dev": true,
"requires": {
"glob": "^7.0.0",
"lodash": "^4.0.0",
"scss-tokenizer": "^0.2.3",
"yargs": "^7.0.0"
}
},
"scss-tokenizer": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz",
"integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=",
"dev": true,
"requires": {
"js-base64": "^2.1.8",
"source-map": "^0.4.2"
},
"dependencies": {
"source-map": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
"integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
"dev": true,
"requires": {
"amdefine": ">=0.0.4"
}
}
}
},
"semver": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz",
"integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=",
"dev": true
},
"sequencify": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz",
"integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=",
"dev": true
},
"set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
"dev": true
},
"set-value": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
"integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
"dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
"is-plain-object": "^2.0.3",
"split-string": "^3.0.1"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"sigmund": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
"integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
"dev": true
},
"signal-exit": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
"integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
"dev": true
},
"slash": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
"integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
"dev": true
},
"snapdragon": {
"version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
"integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
"dev": true,
"requires": {
"base": "^0.11.1",
"debug": "^2.2.0",
"define-property": "^0.2.5",
"extend-shallow": "^2.0.1",
"map-cache": "^0.2.2",
"source-map": "^0.5.6",
"source-map-resolve": "^0.5.0",
"use": "^3.1.0"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
},
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"snapdragon-node": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
"integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
"dev": true,
"requires": {
"define-property": "^1.0.0",
"isobject": "^3.0.0",
"snapdragon-util": "^3.0.1"
},
"dependencies": {
"define-property": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
"dev": true,
"requires": {
"is-descriptor": "^1.0.0"
}
},
"is-accessor-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-data-descriptor": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
"dev": true,
"requires": {
"kind-of": "^6.0.0"
}
},
"is-descriptor": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
"dev": true,
"requires": {
"is-accessor-descriptor": "^1.0.0",
"is-data-descriptor": "^1.0.0",
"kind-of": "^6.0.2"
}
}
}
},
"snapdragon-util": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
"integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
"dev": true,
"requires": {
"kind-of": "^3.2.0"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"sntp": {
"version": "1.0.9",
"resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"dev": true,
"requires": {
"hoek": "2.x.x"
}
},
"source-map": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
"dev": true
},
"source-map-resolve": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
"integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
"dev": true,
"requires": {
"atob": "^2.1.1",
"decode-uri-component": "^0.2.0",
"resolve-url": "^0.2.1",
"source-map-url": "^0.4.0",
"urix": "^0.1.0"
}
},
"source-map-support": {
"version": "0.4.18",
"resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
"integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
"dev": true,
"requires": {
"source-map": "^0.5.6"
}
},
"source-map-url": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
"integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
"dev": true
},
"sparkles": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz",
"integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=",
"dev": true
},
"spdx-correct": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz",
"integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==",
"dev": true,
"requires": {
"spdx-expression-parse": "^3.0.0",
"spdx-license-ids": "^3.0.0"
}
},
"spdx-exceptions": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz",
"integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==",
"dev": true
},
"spdx-expression-parse": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
"integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
"dev": true,
"requires": {
"spdx-exceptions": "^2.1.0",
"spdx-license-ids": "^3.0.0"
}
},
"spdx-license-ids": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz",
"integrity": "sha512-2+EPwgbnmOIl8HjGBXXMd9NAu02vLjOO1nWw4kmeRDFyHn+M/ETfHxQUK0oXg8ctgVnl9t3rosNVsZ1jG61nDA==",
"dev": true
},
"split-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
"integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
"dev": true,
"requires": {
"extend-shallow": "^3.0.0"
}
},
"sshpk": {
"version": "1.14.2",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
"integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
"dev": true,
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
"bcrypt-pbkdf": "^1.0.0",
"dashdash": "^1.12.0",
"ecc-jsbn": "~0.1.1",
"getpass": "^0.1.1",
"jsbn": "~0.1.0",
"safer-buffer": "^2.0.2",
"tweetnacl": "~0.14.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"static-extend": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
"integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
"dev": true,
"requires": {
"define-property": "^0.2.5",
"object-copy": "^0.1.0"
},
"dependencies": {
"define-property": {
"version": "0.2.5",
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
"dev": true,
"requires": {
"is-descriptor": "^0.1.0"
}
}
}
},
"stdout-stream": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz",
"integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=",
"dev": true,
"requires": {
"readable-stream": "^2.0.1"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"readable-stream": {
"version": "2.3.6",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
"integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.1.1",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"stream-consume": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.1.tgz",
"integrity": "sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==",
"dev": true
},
"string-width": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
"dev": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
"strip-ansi": "^3.0.0"
}
},
"string_decoder": {
"version": "0.10.31",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
"dev": true
},
"stringstream": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.6.tgz",
"integrity": "sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA==",
"dev": true
},
"strip-ansi": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
"dev": true,
"requires": {
"ansi-regex": "^2.0.0"
}
},
"strip-bom": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz",
"integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=",
"dev": true,
"requires": {
"first-chunk-stream": "^1.0.0",
"is-utf8": "^0.2.0"
}
},
"strip-bom-string": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
"integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=",
"dev": true
},
"strip-indent": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
"integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
"dev": true,
"requires": {
"get-stdin": "^4.0.1"
}
},
"supports-color": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
"dev": true
},
"tar": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
"integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
"dev": true,
"requires": {
"block-stream": "*",
"fstream": "^1.0.2",
"inherits": "2"
}
},
"through2": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
"integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
"dev": true,
"requires": {
"readable-stream": "^2.1.5",
"xtend": "~4.0.1"
},
"dependencies": {
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
},
"readable-stream": {
"version": "2.3.5",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz",
"integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.3",
"isarray": "~1.0.0",
"process-nextick-args": "~2.0.0",
"safe-buffer": "~5.1.1",
"string_decoder": "~1.0.3",
"util-deprecate": "~1.0.1"
}
},
"string_decoder": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
"integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
"dev": true,
"requires": {
"safe-buffer": "~5.1.0"
}
}
}
},
"tildify": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz",
"integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=",
"dev": true,
"requires": {
"os-homedir": "^1.0.0"
}
},
"time-stamp": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz",
"integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=",
"dev": true
},
"timers-ext": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.5.tgz",
"integrity": "sha512-tsEStd7kmACHENhsUPaxb8Jf8/+GZZxyNFQbZD07HQOyooOa6At1rQqjffgvg7n+dxscQa9cjjMdWhJtsP2sxg==",
"dev": true,
"requires": {
"es5-ext": "~0.10.14",
"next-tick": "1"
}
},
"to-fast-properties": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
"integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
"dev": true
},
"to-object-path": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
"integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
"dev": true,
"requires": {
"kind-of": "^3.0.2"
},
"dependencies": {
"kind-of": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
"dev": true,
"requires": {
"is-buffer": "^1.1.5"
}
}
}
},
"to-regex": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
"integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
"dev": true,
"requires": {
"define-property": "^2.0.2",
"extend-shallow": "^3.0.2",
"regex-not": "^1.0.2",
"safe-regex": "^1.1.0"
}
},
"to-regex-range": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
"integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
"dev": true,
"requires": {
"is-number": "^3.0.0",
"repeat-string": "^1.6.1"
}
},
"tough-cookie": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
"integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
"dev": true,
"requires": {
"punycode": "^1.4.1"
}
},
"trim-newlines": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
"integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=",
"dev": true
},
"trim-right": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
"integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
"dev": true
},
"true-case-path": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz",
"integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=",
"dev": true,
"requires": {
"glob": "^6.0.4"
},
"dependencies": {
"glob": {
"version": "6.0.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
"integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=",
"dev": true,
"requires": {
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "2 || 3",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
}
}
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"dev": true,
"requires": {
"safe-buffer": "^5.0.1"
}
},
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"dev": true,
"optional": true
},
"uglify-js": {
"version": "3.3.15",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.3.15.tgz",
"integrity": "sha512-bqtBCAINYXX/OkdnqMGpbXr+OPWc00hsozRpk+dAtfnbdk2jjKiLmyOkQ7zamg648lVMnzATL8JrSN6LmaVpYA==",
"dev": true,
"requires": {
"commander": "~2.15.0",
"source-map": "~0.6.1"
},
"dependencies": {
"commander": {
"version": "2.15.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.15.0.tgz",
"integrity": "sha512-7B1ilBwtYSbetCgTY1NJFg+gVpestg0fdA1MhC1Vs4ssyfSXnCAjFr+QcQM9/RedXC0EaUx1sG8Smgw2VfgKEg==",
"dev": true
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"unc-path-regex": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
"dev": true
},
"union-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
"integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
"dev": true,
"requires": {
"arr-union": "^3.1.0",
"get-value": "^2.0.6",
"is-extendable": "^0.1.1",
"set-value": "^0.4.3"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
"dev": true,
"requires": {
"is-extendable": "^0.1.0"
}
},
"set-value": {
"version": "0.4.3",
"resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
"integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
"dev": true,
"requires": {
"extend-shallow": "^2.0.1",
"is-extendable": "^0.1.1",
"is-plain-object": "^2.0.1",
"to-object-path": "^0.3.0"
}
}
}
},
"unique-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz",
"integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=",
"dev": true
},
"unset-value": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
"integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
"dev": true,
"requires": {
"has-value": "^0.3.1",
"isobject": "^3.0.0"
},
"dependencies": {
"has-value": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
"integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
"dev": true,
"requires": {
"get-value": "^2.0.3",
"has-values": "^0.1.4",
"isobject": "^2.0.0"
},
"dependencies": {
"isobject": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
"integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
"dev": true,
"requires": {
"isarray": "1.0.0"
}
}
}
},
"has-values": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
"integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
"dev": true
},
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
"dev": true
}
}
},
"urix": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
"integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
"dev": true
},
"use": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz",
"integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
"dev": true,
"requires": {
"kind-of": "^6.0.2"
}
},
"user-home": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz",
"integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=",
"dev": true
},
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
"dev": true
},
"uuid": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
"integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
"dev": true
},
"v8flags": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz",
"integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=",
"dev": true,
"requires": {
"user-home": "^1.1.1"
}
},
"validate-npm-package-license": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz",
"integrity": "sha512-63ZOUnL4SIXj4L0NixR3L1lcjO38crAbgrTpl28t8jjrfuiOBL5Iygm+60qPs/KsZGzPNg6Smnc/oY16QTjF0g==",
"dev": true,
"requires": {
"spdx-correct": "^3.0.0",
"spdx-expression-parse": "^3.0.0"
}
},
"verror": {
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"dev": true,
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "^1.2.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
}
}
},
"vinyl": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz",
"integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=",
"dev": true,
"requires": {
"clone": "^1.0.0",
"clone-stats": "^0.0.1",
"replace-ext": "0.0.1"
}
},
"vinyl-bufferstream": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz",
"integrity": "sha1-BTeGn1gO/6TKRay0dXnkuf5jCBo=",
"dev": true,
"requires": {
"bufferstreams": "1.0.1"
}
},
"vinyl-fs": {
"version": "0.3.14",
"resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz",
"integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=",
"dev": true,
"requires": {
"defaults": "^1.0.0",
"glob-stream": "^3.1.5",
"glob-watcher": "^0.0.6",
"graceful-fs": "^3.0.0",
"mkdirp": "^0.5.0",
"strip-bom": "^1.0.0",
"through2": "^0.6.1",
"vinyl": "^0.4.0"
},
"dependencies": {
"clone": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz",
"integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=",
"dev": true
},
"graceful-fs": {
"version": "3.0.11",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
"integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
"dev": true,
"requires": {
"natives": "^1.1.0"
}
},
"readable-stream": {
"version": "1.0.34",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
"dev": true,
"requires": {
"core-util-is": "~1.0.0",
"inherits": "~2.0.1",
"isarray": "0.0.1",
"string_decoder": "~0.10.x"
}
},
"through2": {
"version": "0.6.5",
"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
"dev": true,
"requires": {
"readable-stream": ">=1.0.33-1 <1.1.0-0",
"xtend": ">=4.0.0 <4.1.0-0"
}
},
"vinyl": {
"version": "0.4.6",
"resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz",
"integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=",
"dev": true,
"requires": {
"clone": "^0.2.0",
"clone-stats": "^0.0.1"
}
}
}
},
"vinyl-sourcemaps-apply": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz",
"integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=",
"dev": true,
"requires": {
"source-map": "^0.5.1"
}
},
"which": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
"integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
"dev": true,
"requires": {
"isexe": "^2.0.0"
}
},
"which-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz",
"integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=",
"dev": true
},
"wide-align": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz",
"integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
"dev": true,
"requires": {
"string-width": "^1.0.2 || 2"
}
},
"wrap-ansi": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
"integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
"dev": true,
"requires": {
"string-width": "^1.0.1",
"strip-ansi": "^3.0.1"
}
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"xtend": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
"dev": true
},
"y18n": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
"integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=",
"dev": true
},
"yallist": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
"integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
"dev": true
},
"yargs": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz",
"integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=",
"dev": true,
"requires": {
"camelcase": "^3.0.0",
"cliui": "^3.2.0",
"decamelize": "^1.1.1",
"get-caller-file": "^1.0.1",
"os-locale": "^1.4.0",
"read-pkg-up": "^1.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^1.0.1",
"set-blocking": "^2.0.0",
"string-width": "^1.0.2",
"which-module": "^1.0.0",
"y18n": "^3.2.1",
"yargs-parser": "^5.0.0"
},
"dependencies": {
"camelcase": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
"dev": true
}
}
},
"yargs-parser": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz",
"integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=",
"dev": true,
"requires": {
"camelcase": "^3.0.0"
},
"dependencies": {
"camelcase": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz",
"integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=",
"dev": true
}
}
}
}
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/README.md
New file
0,0 → 1,147
# Leaflet.GestureHandling
 
Version 1.2.1
 
Brings the basic functionality of [Google Maps Gesture Handling](https://developers.google.com/maps/documentation/javascript/examples/interaction-cooperative) into Leaflet.
 
Prevents users from getting trapped on the map when scrolling a long page.
 
**On Desktop**
 
![alt text](https://elmarquis.github.io/Leaflet.GestureHandling/examples/images/desktop.png "Desktop")
 
- The map ignores the mouse scroll wheel.
- The user is prompted to use ctrl+scroll to zoom the map.
 
**On Mobile / Touch devices**
 
![alt text](https://elmarquis.github.io/Leaflet.GestureHandling/examples/images/mobile.png "Mobile")
 
- The map ignores single fingered dragging.
- The user is prompted to use two fingers to pan the map.
 
## Demo
 
[View demo](https://elmarquis.github.io/Leaflet.GestureHandling/examples/)
 
## Install
 
The latest leaflet-gesture-handling can be downloaded from the dist folder.
 
## Usage
 
Include the css and js file after leaflet.js.
 
```html
<link rel="stylesheet" href="css/leaflet-gesture-handling.min.css" type="text/css">
<script src="js/leaflet-gesture-handling.min.js"></script>
```
 
Or load this directly from [UNPKG](https://unpkg.com):
 
```html
<link rel="stylesheet" href="//unpkg.com/leaflet-gesture-handling/dist/leaflet-gesture-handling.min.css" type="text/css">
<script src="//unpkg.com/leaflet-gesture-handling"></script>
```
 
Set **gestureHandling: true** in your map initialization script.
 
```js
var map = L.map("map", {
center: [-25.2702, 134.2798],
zoom: 3,
gestureHandling: true
});
```
 
Or you can enable and disable this dynamically on an existing map with `map.gestureHandling.enable()` and `map.gestureHandling.disable()`.
 
### Use as a module
 
If you are using a bundler such as Webpack or Parcel, you can load the library as a module. First install the module with:
 
```sh
npm install leaflet-gesture-handling
```
 
Then include the module and CSS in your source:
 
```js
import * as L from "leaflet";
import { GestureHandling } from "leaflet-gesture-handling";
 
import "leaflet/dist/leaflet.css";
import "leaflet-gesture-handling/dist/leaflet-gesture-handling.css";
```
 
Then attach it as a handler to the map:
 
```js
L.Map.addInitHook("addHandler", "gestureHandling", GestureHandling);
 
const map = L.map("map", {
center: [50.36, -4.747],
zoom: 3,
gestureHandling: true
});
```
 
## Multi Language and Custom Text
 
The plugin will auto detect a users language from the browser setting and show the appropriate translation. 52 languages are supported without you needing to do anything.
 
However if you wish to override this, you can set your own text by supplying **gestureHandlingOptions** and a **text** option as shown below. You must specify text for touch, scroll and scrollMac.
 
```js
var map = L.map("map", {
center: [-25.2702, 134.2798],
zoom: 3,
gestureHandling: true,
gestureHandlingOptions: {
text: {
touch: "Hey bro, use two fingers to move the map",
scroll: "Hey bro, use ctrl + scroll to zoom the map",
scrollMac: "Hey bro, use \u2318 + scroll to zoom the map"
}
}
});
```
 
*Note: Earlier versions used a property called gestureHandlingText for this which still works.
 
## Other Options
 
To pass in options use the property: **gestureHandlingOptions**.
 
- **duration** : (int) time in ms before the message should disappear. default: 1000 (1 sec)
 
```js
var map = L.map("map", {
center: [-25.2702, 134.2798],
zoom: 3,
gestureHandling: true,
gestureHandlingOptions: {
duration: 5000 //5 secs
}
});
```
 
## Useful info
 
GestureHandling disables the following map attributes.
 
- dragging
- tap
- scrollWheelZoom
 
They are temporarily enabled for the duration the user scrolls with ctrl+mousewheel or uses two fingers to pan the map on mobile.
 
## Compatibility with other plugins
 
I have added compatibility with [Leaflet-MiniMap](https://github.com/Norkart/Leaflet-MiniMap). It allows the user to still pan around the minimap with a single finger.
 
If there's any other plugins you'd like this to work with, let me know or submit a pull request.
 
## License
 
MIT
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/examples/images/mobile.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/examples/images/mobile.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/examples/images/desktop.png
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/examples/images/desktop.png
New file
Property changes:
Added: svn:mime-type
+application/octet-stream
\ No newline at end of property
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/examples/index.html
New file
0,0 → 1,110
<!DOCTYPE html>
<html lang="en">
 
<head>
 
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
 
<title>Leaflet.GestureHandling Example</title>
 
<!-- Leaflet -->
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.7.1/dist/leaflet.css" integrity="sha512-xodZBNTC5n17Xt2atTPuE1HxjVMSvLVW9ocqUKLsCC5CXdbqCmblAshOMAS6/keqq/sMZMZ19scR4PsZChSR7A=="
crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.7.1/dist/leaflet.js"
integrity="sha512-XQoYMqMTK8LvdxXYG3nZ448hOEQiglfqkJs1NOQV44cWnUrBc8PkAOcXy20w0vlaXaVUearIOBhiXZ5V3ynxwA=="
crossorigin=""></script>
<!-- Leaflet Gesture Handling -->
<link rel="stylesheet" href="../dist/leaflet-gesture-handling.css" type="text/css">
<script src="../dist/leaflet-gesture-handling.js"></script>
 
<style>
html, body {
padding:0;
margin:0;
}
body {
font-family:'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
background-color: #fff;
color: #222;
}
.content {
padding:20px;
}
header, .arrows {
text-align: center;
}
 
#map {
width:100%;
height:600px;
}
</style>
</head>
 
<body>
<header>
<h1>Leaflet.GestureHandling</h1>
</header>
<div class="content">
<p>Try scrolling down the page.</p>
<p>Normally you'd get to the map then find the map starts zooming or panning.</p>
<p>If there's nothing outside the map to get a grip on you could find yourself trapped in the map, unable to scroll the page up or down.</p>
<div class="arrows">
<br>&#8675;<br><br>&#8675;<br><br>&#8675;<br><br>&#8675;<br><br>&#8675;<br><br>&#8675;<br><br>
</div>
</div>
<div id="map"></div>
<div class="content">
<p>But Leaflet.GestureHandling prevented that from happening.</p>
<b>On Desktop</b>
<ul>
<li>The map ignores the mouse scroll wheel.</li>
<li>The user is prompted to use ctrl+scroll to zoom the map.</li>
</ul>
 
<b>On Mobile/Touch enabled devices</b>
<ul>
<li>The map ignores single fingered dragging. </li>
<li>The user is prompted to use two fingers to pan the map.</li>
</ul>
 
<p>It brings the basic functionality of <a href="https://developers.google.com/maps/documentation/javascript/examples/interaction-cooperative">Google Maps Gesture Handling</a> into Leaflet.</p>
</div>
<hr/>
<div class="content">
<div class="arrows">
<p>
<a href="https://github.com/elmarquis/Leaflet.GestureHandling/">View this project on Github</a>
</p>
<br/>&#8673;<br><br>&#8673;<br><br>&#8673;<br><br>&#8673;<br><br>&#8673;<br><br>&#8673;<br><br>
</div>
</div>
 
</ul>
</body>
 
<script>
var map = L.map("map", {
center: [-25.2702, 134.2798],
zoom: 3,
gestureHandling: true
});
 
var OpenStreetMap_Mapnik = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 19,
attribution: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(map);
 
//Add markers
var marker = new L.marker([-25.2702, 134.2798])
.bindPopup("Example Popup")
.addTo(map);
 
</script>
 
</html>
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/yarn.lock
New file
0,0 → 1,3431
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1
 
 
"@gulp-sourcemaps/identity-map@1.X":
version "1.0.2"
resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/identity-map/-/identity-map-1.0.2.tgz#1e6fe5d8027b1f285dc0d31762f566bccd73d5a9"
integrity sha512-ciiioYMLdo16ShmfHBXJBOFm3xPC4AuwO4xeRpFeHz7WK9PYsWCmigagG2XyzZpubK4a3qNKoUBDhbzHfa50LQ==
dependencies:
acorn "^5.0.3"
css "^2.2.1"
normalize-path "^2.1.1"
source-map "^0.6.0"
through2 "^2.0.3"
 
"@gulp-sourcemaps/map-sources@1.X":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz#890ae7c5d8c877f6d384860215ace9d7ec945bda"
integrity sha1-iQrnxdjId/bThIYCFazp1+yUW9o=
dependencies:
normalize-path "^2.0.1"
through2 "^2.0.3"
 
"@types/estree@0.0.39":
version "0.0.39"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
 
"@types/node@*":
version "14.11.1"
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.11.1.tgz#56af902ad157e763f9ba63d671c39cda3193c835"
integrity sha512-oTQgnd0hblfLsJ6BvJzzSL+Inogp3lq9fGgqRkMB/ziKMgEUaFl801OncOzUmalfzt14N0oPHMK47ipl+wbTIw==
 
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
 
acorn@5.X, acorn@^5.0.3:
version "5.7.4"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e"
integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==
 
ajv@^6.12.3:
version "6.12.5"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da"
integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==
dependencies:
fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
 
amdefine@>=0.0.4:
version "1.0.1"
resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
integrity sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=
 
ansi-colors@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9"
integrity sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==
dependencies:
ansi-wrap "^0.1.0"
 
ansi-gray@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251"
integrity sha1-KWLPVOyXksSFEKPetSRDaGHvclE=
dependencies:
ansi-wrap "0.1.0"
 
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
 
ansi-regex@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
 
ansi-regex@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
 
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
 
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
dependencies:
color-convert "^1.9.0"
 
ansi-wrap@0.1.0, ansi-wrap@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
integrity sha1-qCJQ3bABXponyoLoLqYDu/pF768=
 
aproba@^1.0.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
 
archy@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=
 
are-we-there-yet@~1.1.2:
version "1.1.5"
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
dependencies:
delegates "^1.0.0"
readable-stream "^2.0.6"
 
arr-diff@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
 
arr-flatten@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
 
arr-union@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
 
array-differ@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
integrity sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=
 
array-each@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f"
integrity sha1-p5SvDAWrF1KEbudTofIRoFugxE8=
 
array-find-index@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=
 
array-slice@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4"
integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==
 
array-uniq@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
 
array-unique@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
 
asn1@~0.2.3:
version "0.2.4"
resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136"
integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==
dependencies:
safer-buffer "~2.1.0"
 
assert-plus@1.0.0, assert-plus@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=
 
assign-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
 
async-foreach@^0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
integrity sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=
 
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
integrity sha1-x57Zf380y48robyXkLzDZkdLS3k=
 
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@^8.0.0:
version "8.6.5"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-8.6.5.tgz#343f3d193ed568b3208e00117a1b96eb691d4ee9"
integrity sha512-PLWJN3Xo/rycNkx+mp8iBDMTm3FeWe4VmYaZDSqL5QQB9sLsQkG5k8n+LNDFnhh9kdq2K+egL/icpctOmDHwig==
dependencies:
browserslist "^3.2.8"
caniuse-lite "^1.0.30000864"
normalize-range "^0.1.2"
num2fraction "^1.2.2"
postcss "^6.0.23"
postcss-value-parser "^3.2.3"
 
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=
 
aws4@^1.8.0:
version "1.10.1"
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428"
integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==
 
babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
dependencies:
chalk "^1.1.3"
esutils "^2.0.2"
js-tokens "^3.0.2"
 
babel-core@^6.26.0, babel-core@^6.26.3:
version "6.26.3"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==
dependencies:
babel-code-frame "^6.26.0"
babel-generator "^6.26.0"
babel-helpers "^6.24.1"
babel-messages "^6.23.0"
babel-register "^6.26.0"
babel-runtime "^6.26.0"
babel-template "^6.26.0"
babel-traverse "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
convert-source-map "^1.5.1"
debug "^2.6.9"
json5 "^0.5.1"
lodash "^4.17.4"
minimatch "^3.0.4"
path-is-absolute "^1.0.1"
private "^0.1.8"
slash "^1.0.0"
source-map "^0.5.7"
 
babel-generator@^6.26.0:
version "6.26.1"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==
dependencies:
babel-messages "^6.23.0"
babel-runtime "^6.26.0"
babel-types "^6.26.0"
detect-indent "^4.0.0"
jsesc "^1.3.0"
lodash "^4.17.4"
source-map "^0.5.7"
trim-right "^1.0.1"
 
babel-helpers@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
 
babel-messages@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
dependencies:
babel-runtime "^6.22.0"
 
babel-register@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
integrity sha1-btAhFz4vy0htestFxgCahW9kcHE=
dependencies:
babel-core "^6.26.0"
babel-runtime "^6.26.0"
core-js "^2.5.0"
home-or-tmp "^2.0.0"
lodash "^4.17.4"
mkdirp "^0.5.1"
source-map-support "^0.4.15"
 
babel-runtime@^6.22.0, babel-runtime@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
 
babel-template@^6.24.1, babel-template@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
dependencies:
babel-runtime "^6.26.0"
babel-traverse "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
lodash "^4.17.4"
 
babel-traverse@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
dependencies:
babel-code-frame "^6.26.0"
babel-messages "^6.23.0"
babel-runtime "^6.26.0"
babel-types "^6.26.0"
babylon "^6.18.0"
debug "^2.6.8"
globals "^9.18.0"
invariant "^2.2.2"
lodash "^4.17.4"
 
babel-types@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
dependencies:
babel-runtime "^6.26.0"
esutils "^2.0.2"
lodash "^4.17.4"
to-fast-properties "^1.0.3"
 
babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
 
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
 
base@^0.11.1:
version "0.11.2"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
dependencies:
cache-base "^1.0.1"
class-utils "^0.3.5"
component-emitter "^1.2.1"
define-property "^1.0.0"
isobject "^3.0.1"
mixin-deep "^1.2.0"
pascalcase "^0.1.1"
 
bcrypt-pbkdf@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=
dependencies:
tweetnacl "^0.14.3"
 
beeper@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809"
integrity sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=
 
block-stream@*:
version "0.0.9"
resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
integrity sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=
dependencies:
inherits "~2.0.0"
 
brace-expansion@^1.0.0, brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
 
braces@^2.3.1:
version "2.3.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
dependencies:
arr-flatten "^1.1.0"
array-unique "^0.3.2"
extend-shallow "^2.0.1"
fill-range "^4.0.0"
isobject "^3.0.1"
repeat-element "^1.1.2"
snapdragon "^0.8.1"
snapdragon-node "^2.0.1"
split-string "^3.0.2"
to-regex "^3.0.1"
 
browserslist@^3.2.8:
version "3.2.8"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-3.2.8.tgz#b0005361d6471f0f5952797a76fc985f1f978fc6"
integrity sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==
dependencies:
caniuse-lite "^1.0.30000844"
electron-to-chromium "^1.3.47"
 
bufferstreams@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/bufferstreams/-/bufferstreams-1.0.1.tgz#cfb1ad9568d3ba3cfe935ba9abdd952de88aab2a"
integrity sha1-z7GtlWjTujz+k1upq92VLeiKqyo=
dependencies:
readable-stream "^1.0.33"
 
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
dependencies:
collection-visit "^1.0.0"
component-emitter "^1.2.1"
get-value "^2.0.6"
has-value "^1.0.0"
isobject "^3.0.1"
set-value "^2.0.0"
to-object-path "^0.3.0"
union-value "^1.0.0"
unset-value "^1.0.0"
 
camelcase-keys@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc=
dependencies:
camelcase "^2.0.0"
map-obj "^1.0.0"
 
camelcase@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=
 
camelcase@^5.0.0:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
 
caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000864:
version "1.0.30001133"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001133.tgz#ec564c5495311299eb05245e252d589a84acd95e"
integrity sha512-s3XAUFaC/ntDb1O3lcw9K8MPeOW7KO3z9+GzAoBxfz1B0VdacXPMKgFUtG4KIsgmnbexmi013s9miVu4h+qMHw==
 
caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=
 
chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
dependencies:
ansi-styles "^2.2.1"
escape-string-regexp "^1.0.2"
has-ansi "^2.0.0"
strip-ansi "^3.0.0"
supports-color "^2.0.0"
 
chalk@^2.3.0, chalk@^2.4.1:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
dependencies:
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
 
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
dependencies:
arr-union "^3.1.0"
define-property "^0.2.5"
isobject "^3.0.0"
static-extend "^0.1.1"
 
clean-css@^3.3.3:
version "3.4.28"
resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.28.tgz#bf1945e82fc808f55695e6ddeaec01400efd03ff"
integrity sha1-vxlF6C/ICPVWlebd6uwBQA79A/8=
dependencies:
commander "2.8.x"
source-map "0.4.x"
 
cliui@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
dependencies:
string-width "^3.1.0"
strip-ansi "^5.2.0"
wrap-ansi "^5.1.0"
 
clone-buffer@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58"
integrity sha1-4+JbIHrE5wGvch4staFnksrD3Fg=
 
clone-stats@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
integrity sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=
 
clone-stats@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680"
integrity sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=
 
clone@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f"
integrity sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=
 
clone@^1.0.0, clone@^1.0.2:
version "1.0.4"
resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4=
 
clone@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
integrity sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=
 
cloneable-readable@^1.0.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.3.tgz#120a00cb053bfb63a222e709f9683ea2e11d8cec"
integrity sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==
dependencies:
inherits "^2.0.1"
process-nextick-args "^2.0.0"
readable-stream "^2.3.5"
 
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
 
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
dependencies:
map-visit "^1.0.0"
object-visit "^1.0.0"
 
color-convert@^1.9.0:
version "1.9.3"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
dependencies:
color-name "1.1.3"
 
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
 
color-support@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
 
combined-stream@^1.0.6, combined-stream@~1.0.6:
version "1.0.8"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
dependencies:
delayed-stream "~1.0.0"
 
commander@2.8.x:
version "2.8.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4"
integrity sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=
dependencies:
graceful-readlink ">= 1.0.0"
 
component-emitter@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
 
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
 
concat-with-sourcemaps@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e"
integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==
dependencies:
source-map "^0.6.1"
 
console-control-strings@^1.0.0, console-control-strings@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
 
convert-source-map@1.X, convert-source-map@^1.5.1:
version "1.7.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442"
integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==
dependencies:
safe-buffer "~5.1.1"
 
copy-descriptor@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
 
core-js@^2.4.0, core-js@^2.5.0:
version "2.6.11"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
 
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
 
cross-spawn@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
integrity sha1-ElYDfsufDF9549bvE14wdwGEuYI=
dependencies:
lru-cache "^4.0.1"
which "^1.2.9"
 
css@2.X, css@^2.2.1:
version "2.2.4"
resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929"
integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==
dependencies:
inherits "^2.0.3"
source-map "^0.6.1"
source-map-resolve "^0.5.2"
urix "^0.1.0"
 
currently-unhandled@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
integrity sha1-mI3zP+qxke95mmE2nddsF635V+o=
dependencies:
array-find-index "^1.0.1"
 
d@1, d@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
dependencies:
es5-ext "^0.10.50"
type "^1.0.1"
 
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=
dependencies:
assert-plus "^1.0.0"
 
dateformat@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062"
integrity sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=
 
debug-fabulous@1.X:
version "1.1.0"
resolved "https://registry.yarnpkg.com/debug-fabulous/-/debug-fabulous-1.1.0.tgz#af8a08632465224ef4174a9f06308c3c2a1ebc8e"
integrity sha512-GZqvGIgKNlUnHUPQhepnUZFIMoi3dgZKQBzKDeL2g7oJF9SNAji/AAu36dusFUas0O+pae74lNeoIPHqXWDkLg==
dependencies:
debug "3.X"
memoizee "0.4.X"
object-assign "4.X"
 
debug@3.X:
version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==
dependencies:
ms "^2.1.1"
 
debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
 
decamelize@^1.1.2, decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
 
decode-uri-component@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
 
defaults@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=
dependencies:
clone "^1.0.2"
 
define-property@^0.2.5:
version "0.2.5"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
dependencies:
is-descriptor "^0.1.0"
 
define-property@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
dependencies:
is-descriptor "^1.0.0"
 
define-property@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
dependencies:
is-descriptor "^1.0.2"
isobject "^3.0.1"
 
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk=
 
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
 
deprecated@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19"
integrity sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=
 
detect-file@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=
 
detect-indent@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
dependencies:
repeating "^2.0.0"
 
detect-newline@2.X:
version "2.1.0"
resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=
 
duplexer2@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
integrity sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=
dependencies:
readable-stream "~1.1.9"
 
ecc-jsbn@~0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=
dependencies:
jsbn "~0.1.0"
safer-buffer "^2.1.0"
 
electron-to-chromium@^1.3.47:
version "1.3.570"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.570.tgz#3f5141cc39b4e3892a276b4889980dabf1d29c7f"
integrity sha512-Y6OCoVQgFQBP5py6A/06+yWxUZHDlNr/gNDGatjH8AZqXl8X0tE4LfjLJsXGz/JmWJz8a6K7bR1k+QzZ+k//fg==
 
emoji-regex@^7.0.1:
version "7.0.3"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
 
end-of-stream@~0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf"
integrity sha1-jhdyBsPICDfYVjLouTWd/osvbq8=
dependencies:
once "~1.3.0"
 
error-ex@^1.2.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
dependencies:
is-arrayish "^0.2.1"
 
es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46:
version "0.10.53"
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1"
integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
dependencies:
es6-iterator "~2.0.3"
es6-symbol "~3.1.3"
next-tick "~1.0.0"
 
es6-iterator@^2.0.3, es6-iterator@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
dependencies:
d "1"
es5-ext "^0.10.35"
es6-symbol "^3.1.1"
 
es6-symbol@^3.1.1, es6-symbol@~3.1.3:
version "3.1.3"
resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
dependencies:
d "^1.0.1"
ext "^1.1.2"
 
es6-weak-map@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53"
integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==
dependencies:
d "1"
es5-ext "^0.10.46"
es6-iterator "^2.0.3"
es6-symbol "^3.1.1"
 
escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
 
estree-walker@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.2.1.tgz#bdafe8095383d8414d5dc2ecf4c9173b6db9412e"
integrity sha1-va/oCVOD2EFNXcLs9MkXO225QS4=
 
esutils@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
 
event-emitter@^0.3.5:
version "0.3.5"
resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
dependencies:
d "1"
es5-ext "~0.10.14"
 
expand-brackets@^2.1.4:
version "2.1.4"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
dependencies:
debug "^2.3.3"
define-property "^0.2.5"
extend-shallow "^2.0.1"
posix-character-classes "^0.1.0"
regex-not "^1.0.0"
snapdragon "^0.8.1"
to-regex "^3.0.1"
 
expand-tilde@^2.0.0, expand-tilde@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=
dependencies:
homedir-polyfill "^1.0.1"
 
ext@^1.1.2:
version "1.4.0"
resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244"
integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==
dependencies:
type "^2.0.0"
 
extend-shallow@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
dependencies:
is-extendable "^0.1.0"
 
extend-shallow@^3.0.0, extend-shallow@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
dependencies:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
 
extend@^3.0.0, extend@~3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
 
extglob@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
dependencies:
array-unique "^0.3.2"
define-property "^1.0.0"
expand-brackets "^2.1.4"
extend-shallow "^2.0.1"
fragment-cache "^0.2.1"
regex-not "^1.0.0"
snapdragon "^0.8.1"
to-regex "^3.0.1"
 
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=
 
extsprintf@^1.2.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=
 
fancy-log@^1.1.0, fancy-log@^1.3.2:
version "1.3.3"
resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.3.tgz#dbc19154f558690150a23953a0adbd035be45fc7"
integrity sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==
dependencies:
ansi-gray "^0.1.1"
color-support "^1.1.3"
parse-node-version "^1.0.0"
time-stamp "^1.0.0"
 
fast-deep-equal@^3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
 
fast-json-stable-stringify@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
 
fill-range@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
dependencies:
extend-shallow "^2.0.1"
is-number "^3.0.0"
repeat-string "^1.6.1"
to-regex-range "^2.1.0"
 
find-index@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4"
integrity sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=
 
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=
dependencies:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
 
find-up@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
dependencies:
locate-path "^3.0.0"
 
findup-sync@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc"
integrity sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=
dependencies:
detect-file "^1.0.0"
is-glob "^3.1.0"
micromatch "^3.0.4"
resolve-dir "^1.0.1"
 
fined@^1.0.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b"
integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==
dependencies:
expand-tilde "^2.0.2"
is-plain-object "^2.0.3"
object.defaults "^1.1.0"
object.pick "^1.2.0"
parse-filepath "^1.0.1"
 
first-chunk-stream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"
integrity sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=
 
flagged-respawn@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41"
integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==
 
for-in@^1.0.1, for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
 
for-own@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b"
integrity sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=
dependencies:
for-in "^1.0.1"
 
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=
 
form-data@~2.3.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
dependencies:
asynckit "^0.4.0"
combined-stream "^1.0.6"
mime-types "^2.1.12"
 
fragment-cache@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
dependencies:
map-cache "^0.2.2"
 
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
 
fstream@^1.0.0, fstream@^1.0.12:
version "1.0.12"
resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.12.tgz#4e8ba8ee2d48be4f7d0de505455548eae5932045"
integrity sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==
dependencies:
graceful-fs "^4.1.2"
inherits "~2.0.0"
mkdirp ">=0.5 0"
rimraf "2"
 
gauge@~2.7.3:
version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
dependencies:
aproba "^1.0.3"
console-control-strings "^1.0.0"
has-unicode "^2.0.0"
object-assign "^4.1.0"
signal-exit "^3.0.0"
string-width "^1.0.1"
strip-ansi "^3.0.1"
wide-align "^1.1.0"
 
gaze@^0.5.1:
version "0.5.2"
resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f"
integrity sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=
dependencies:
globule "~0.1.0"
 
gaze@^1.0.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a"
integrity sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==
dependencies:
globule "^1.0.0"
 
get-caller-file@^2.0.1:
version "2.0.5"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
 
get-stdin@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=
 
get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
 
getpass@^0.1.1:
version "0.1.7"
resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=
dependencies:
assert-plus "^1.0.0"
 
glob-stream@^3.1.5:
version "3.1.18"
resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b"
integrity sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=
dependencies:
glob "^4.3.1"
glob2base "^0.0.12"
minimatch "^2.0.1"
ordered-read-streams "^0.1.0"
through2 "^0.6.1"
unique-stream "^1.0.0"
 
glob-watcher@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b"
integrity sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=
dependencies:
gaze "^0.5.1"
 
glob2base@^0.0.12:
version "0.0.12"
resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56"
integrity sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=
dependencies:
find-index "^0.1.1"
 
glob@^4.3.1:
version "4.5.3"
resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f"
integrity sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=
dependencies:
inflight "^1.0.4"
inherits "2"
minimatch "^2.0.1"
once "^1.3.0"
 
glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@~7.1.1:
version "7.1.6"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
inherits "2"
minimatch "^3.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
 
glob@~3.1.21:
version "3.1.21"
resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd"
integrity sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=
dependencies:
graceful-fs "~1.2.0"
inherits "1"
minimatch "~0.2.11"
 
global-modules@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
dependencies:
global-prefix "^1.0.1"
is-windows "^1.0.1"
resolve-dir "^1.0.0"
 
global-prefix@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=
dependencies:
expand-tilde "^2.0.2"
homedir-polyfill "^1.0.1"
ini "^1.3.4"
is-windows "^1.0.1"
which "^1.2.14"
 
globals@^9.18.0:
version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
 
globule@^1.0.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/globule/-/globule-1.3.2.tgz#d8bdd9e9e4eef8f96e245999a5dee7eb5d8529c4"
integrity sha512-7IDTQTIu2xzXkT+6mlluidnWo+BypnbSoEVVQCGfzqnl5Ik8d3e1d4wycb8Rj9tWW+Z39uPWsdlquqiqPCd/pA==
dependencies:
glob "~7.1.1"
lodash "~4.17.10"
minimatch "~3.0.2"
 
globule@~0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5"
integrity sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=
dependencies:
glob "~3.1.21"
lodash "~1.0.1"
minimatch "~0.2.11"
 
glogg@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.2.tgz#2d7dd702beda22eb3bffadf880696da6d846313f"
integrity sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==
dependencies:
sparkles "^1.0.0"
 
graceful-fs@4.X, graceful-fs@^4.1.2:
version "4.2.4"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb"
integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==
 
graceful-fs@^3.0.0:
version "3.0.12"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.12.tgz#0034947ce9ed695ec8ab0b854bc919e82b1ffaef"
integrity sha512-J55gaCS4iTTJfTXIxSVw3EMQckcqkpdRv3IR7gu6sq0+tbC363Zx6KH/SEwXASK9JRbhyZmVjJEVJIOxYsB3Qg==
dependencies:
natives "^1.1.3"
 
graceful-fs@~1.2.0:
version "1.2.3"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
integrity sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=
 
"graceful-readlink@>= 1.0.0":
version "1.0.1"
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=
 
gulp-autoprefixer@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/gulp-autoprefixer/-/gulp-autoprefixer-5.0.0.tgz#8237c278a69775270a1cafe7d6f101cfcd585544"
integrity sha1-gjfCeKaXdScKHK/n1vEBz81YVUQ=
dependencies:
autoprefixer "^8.0.0"
fancy-log "^1.3.2"
plugin-error "^1.0.1"
postcss "^6.0.1"
through2 "^2.0.0"
vinyl-sourcemaps-apply "^0.2.0"
 
gulp-better-rollup@^3.3.0:
version "3.4.0"
resolved "https://registry.yarnpkg.com/gulp-better-rollup/-/gulp-better-rollup-3.4.0.tgz#a66094de51044e73472639e6d7c84e70a71fdfac"
integrity sha512-x43aG/5jj26qJdfvvCFJ1R+w6oNEuiTxmxkTiq0Oh3jpO0DsoF6c4t0L7oyyNQ6avlDxPRj8QQF+Lwj6YAIPXQ==
dependencies:
lodash.camelcase "^4.3.0"
plugin-error "^1.0.1"
rollup "^0.66.0"
vinyl "^2.1.0"
vinyl-sourcemaps-apply "^0.2.1"
 
gulp-concat@^2.6.1:
version "2.6.1"
resolved "https://registry.yarnpkg.com/gulp-concat/-/gulp-concat-2.6.1.tgz#633d16c95d88504628ad02665663cee5a4793353"
integrity sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=
dependencies:
concat-with-sourcemaps "^1.0.0"
through2 "^2.0.0"
vinyl "^2.0.0"
 
gulp-minify-css@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/gulp-minify-css/-/gulp-minify-css-1.2.4.tgz#b6164957602ea27f9e5ad88227695dd205778c06"
integrity sha1-thZJV2Auon+eWtiCJ2ld0gV3jAY=
dependencies:
clean-css "^3.3.3"
gulp-util "^3.0.5"
object-assign "^4.0.1"
readable-stream "^2.0.0"
vinyl-bufferstream "^1.0.1"
vinyl-sourcemaps-apply "^0.2.0"
 
gulp-rename@^1.2.3:
version "1.4.0"
resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz#de1c718e7c4095ae861f7296ef4f3248648240bd"
integrity sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==
 
gulp-sass@^4.0.1:
version "4.1.0"
resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-4.1.0.tgz#486d7443c32d42bf31a6b1573ebbdaa361de7427"
integrity sha512-xIiwp9nkBLcJDpmYHbEHdoWZv+j+WtYaKD6Zil/67F3nrAaZtWYN5mDwerdo7EvcdBenSAj7Xb2hx2DqURLGdA==
dependencies:
chalk "^2.3.0"
lodash "^4.17.11"
node-sass "^4.8.3"
plugin-error "^1.0.1"
replace-ext "^1.0.0"
strip-ansi "^4.0.0"
through2 "^2.0.0"
vinyl-sourcemaps-apply "^0.2.0"
 
gulp-sourcemaps@^2.6.4:
version "2.6.5"
resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-2.6.5.tgz#a3f002d87346d2c0f3aec36af7eb873f23de8ae6"
integrity sha512-SYLBRzPTew8T5Suh2U8jCSDKY+4NARua4aqjj8HOysBh2tSgT9u4jc1FYirAdPx1akUxxDeK++fqw6Jg0LkQRg==
dependencies:
"@gulp-sourcemaps/identity-map" "1.X"
"@gulp-sourcemaps/map-sources" "1.X"
acorn "5.X"
convert-source-map "1.X"
css "2.X"
debug-fabulous "1.X"
detect-newline "2.X"
graceful-fs "4.X"
source-map "~0.6.0"
strip-bom-string "1.X"
through2 "2.X"
 
gulp-uglify@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-3.0.2.tgz#5f5b2e8337f879ca9dec971feb1b82a5a87850b0"
integrity sha512-gk1dhB74AkV2kzqPMQBLA3jPoIAPd/nlNzP2XMDSG8XZrqnlCiDGAqC+rZOumzFvB5zOphlFh6yr3lgcAb/OOg==
dependencies:
array-each "^1.0.1"
extend-shallow "^3.0.2"
gulplog "^1.0.0"
has-gulplog "^0.1.0"
isobject "^3.0.1"
make-error-cause "^1.1.1"
safe-buffer "^5.1.2"
through2 "^2.0.0"
uglify-js "^3.0.5"
vinyl-sourcemaps-apply "^0.2.0"
 
gulp-util@^3.0.0, gulp-util@^3.0.5:
version "3.0.8"
resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
integrity sha1-AFTh50RQLifATBh8PsxQXdVLu08=
dependencies:
array-differ "^1.0.0"
array-uniq "^1.0.2"
beeper "^1.0.0"
chalk "^1.0.0"
dateformat "^2.0.0"
fancy-log "^1.1.0"
gulplog "^1.0.0"
has-gulplog "^0.1.0"
lodash._reescape "^3.0.0"
lodash._reevaluate "^3.0.0"
lodash._reinterpolate "^3.0.0"
lodash.template "^3.0.0"
minimist "^1.1.0"
multipipe "^0.1.2"
object-assign "^3.0.0"
replace-ext "0.0.1"
through2 "^2.0.0"
vinyl "^0.5.0"
 
gulp@^3.9.1:
version "3.9.1"
resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4"
integrity sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=
dependencies:
archy "^1.0.0"
chalk "^1.0.0"
deprecated "^0.0.1"
gulp-util "^3.0.0"
interpret "^1.0.0"
liftoff "^2.1.0"
minimist "^1.1.0"
orchestrator "^0.3.0"
pretty-hrtime "^1.0.0"
semver "^4.1.0"
tildify "^1.0.0"
v8flags "^2.0.2"
vinyl-fs "^0.3.0"
 
gulplog@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5"
integrity sha1-4oxNRdBey77YGDY86PnFkmIp/+U=
dependencies:
glogg "^1.0.0"
 
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=
 
har-validator@~5.1.3:
version "5.1.5"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
dependencies:
ajv "^6.12.3"
har-schema "^2.0.0"
 
has-ansi@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
dependencies:
ansi-regex "^2.0.0"
 
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
 
has-gulplog@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
integrity sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=
dependencies:
sparkles "^1.0.0"
 
has-unicode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
 
has-value@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
dependencies:
get-value "^2.0.3"
has-values "^0.1.4"
isobject "^2.0.0"
 
has-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
dependencies:
get-value "^2.0.6"
has-values "^1.0.0"
isobject "^3.0.0"
 
has-values@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
 
has-values@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
dependencies:
is-number "^3.0.0"
kind-of "^4.0.0"
 
home-or-tmp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg=
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.1"
 
homedir-polyfill@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
dependencies:
parse-passwd "^1.0.0"
 
hosted-git-info@^2.1.4:
version "2.8.8"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488"
integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==
 
http-signature@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=
dependencies:
assert-plus "^1.0.0"
jsprim "^1.2.2"
sshpk "^1.7.0"
 
in-publish@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.1.tgz#948b1a535c8030561cea522f73f78f4be357e00c"
integrity sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==
 
indent-string@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=
dependencies:
repeating "^2.0.0"
 
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
dependencies:
once "^1.3.0"
wrappy "1"
 
inherits@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"
integrity sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=
 
inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
 
ini@^1.3.4:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
 
interpret@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
 
invariant@^2.2.2:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
dependencies:
loose-envify "^1.0.0"
 
is-absolute@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576"
integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==
dependencies:
is-relative "^1.0.0"
is-windows "^1.0.1"
 
is-accessor-descriptor@^0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
dependencies:
kind-of "^3.0.2"
 
is-accessor-descriptor@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
dependencies:
kind-of "^6.0.0"
 
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
 
is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
 
is-data-descriptor@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
dependencies:
kind-of "^3.0.2"
 
is-data-descriptor@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
dependencies:
kind-of "^6.0.0"
 
is-descriptor@^0.1.0:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
dependencies:
is-accessor-descriptor "^0.1.6"
is-data-descriptor "^0.1.4"
kind-of "^5.0.0"
 
is-descriptor@^1.0.0, is-descriptor@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
dependencies:
is-accessor-descriptor "^1.0.0"
is-data-descriptor "^1.0.0"
kind-of "^6.0.2"
 
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
 
is-extendable@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
dependencies:
is-plain-object "^2.0.4"
 
is-extglob@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
 
is-finite@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3"
integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==
 
is-fullwidth-code-point@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
dependencies:
number-is-nan "^1.0.0"
 
is-fullwidth-code-point@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
 
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
dependencies:
is-extglob "^2.1.0"
 
is-number@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
dependencies:
kind-of "^3.0.2"
 
is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
dependencies:
isobject "^3.0.1"
 
is-promise@^2.1:
version "2.2.2"
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
 
is-relative@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==
dependencies:
is-unc-path "^1.0.0"
 
is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=
 
is-unc-path@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==
dependencies:
unc-path-regex "^0.1.2"
 
is-utf8@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=
 
is-windows@^1.0.1, is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
 
isarray@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=
 
isarray@1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
 
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
 
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
dependencies:
isarray "1.0.0"
 
isobject@^3.0.0, isobject@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
 
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=
 
js-base64@^2.1.8:
version "2.6.4"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
 
"js-tokens@^3.0.0 || ^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
 
js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
 
jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM=
 
jsesc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
 
json-schema-traverse@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
 
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=
 
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=
 
json5@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
 
jsprim@^1.2.2:
version "1.4.1"
resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=
dependencies:
assert-plus "1.0.0"
extsprintf "1.3.0"
json-schema "0.2.3"
verror "1.10.0"
 
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
dependencies:
is-buffer "^1.1.5"
 
kind-of@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
dependencies:
is-buffer "^1.1.5"
 
kind-of@^5.0.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
 
kind-of@^6.0.0, kind-of@^6.0.2:
version "6.0.3"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
 
liftoff@^2.1.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec"
integrity sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=
dependencies:
extend "^3.0.0"
findup-sync "^2.0.0"
fined "^1.0.1"
flagged-respawn "^1.0.0"
is-plain-object "^2.0.4"
object.map "^1.0.0"
rechoir "^0.6.2"
resolve "^1.1.7"
 
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"
integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=
dependencies:
graceful-fs "^4.1.2"
parse-json "^2.2.0"
pify "^2.0.0"
pinkie-promise "^2.0.0"
strip-bom "^2.0.0"
 
locate-path@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
dependencies:
p-locate "^3.0.0"
path-exists "^3.0.0"
 
lodash._basecopy@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
integrity sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=
 
lodash._basetostring@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5"
integrity sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=
 
lodash._basevalues@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7"
integrity sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=
 
lodash._getnative@^3.0.0:
version "3.9.1"
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
 
lodash._isiterateecall@^3.0.0:
version "3.0.9"
resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
integrity sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=
 
lodash._reescape@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a"
integrity sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=
 
lodash._reevaluate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed"
integrity sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=
 
lodash._reinterpolate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
 
lodash._root@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
integrity sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=
 
lodash.camelcase@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
 
lodash.escape@^3.0.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
integrity sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=
dependencies:
lodash._root "^3.0.0"
 
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=
 
lodash.isarray@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
integrity sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=
 
lodash.keys@^3.0.0:
version "3.1.2"
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
integrity sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=
dependencies:
lodash._getnative "^3.0.0"
lodash.isarguments "^3.0.0"
lodash.isarray "^3.0.0"
 
lodash.restparam@^3.0.0:
version "3.6.1"
resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=
 
lodash.template@^3.0.0:
version "3.6.2"
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f"
integrity sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=
dependencies:
lodash._basecopy "^3.0.0"
lodash._basetostring "^3.0.0"
lodash._basevalues "^3.0.0"
lodash._isiterateecall "^3.0.0"
lodash._reinterpolate "^3.0.0"
lodash.escape "^3.0.0"
lodash.keys "^3.0.0"
lodash.restparam "^3.0.0"
lodash.templatesettings "^3.0.0"
 
lodash.templatesettings@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5"
integrity sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=
dependencies:
lodash._reinterpolate "^3.0.0"
lodash.escape "^3.0.0"
 
lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.4, lodash@~4.17.10:
version "4.17.20"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
 
lodash@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551"
integrity sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=
 
loose-envify@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
 
loud-rejection@^1.0.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=
dependencies:
currently-unhandled "^0.4.1"
signal-exit "^3.0.0"
 
lru-cache@2:
version "2.7.3"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952"
integrity sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=
 
lru-cache@^4.0.1:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
dependencies:
pseudomap "^1.0.2"
yallist "^2.1.2"
 
lru-queue@0.1:
version "0.1.0"
resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3"
integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=
dependencies:
es5-ext "~0.10.2"
 
make-error-cause@^1.1.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/make-error-cause/-/make-error-cause-1.2.2.tgz#df0388fcd0b37816dff0a5fb8108939777dcbc9d"
integrity sha1-3wOI/NCzeBbf8KX7gQiTl3fcvJ0=
dependencies:
make-error "^1.2.0"
 
make-error@^1.2.0:
version "1.3.6"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
 
make-iterator@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6"
integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==
dependencies:
kind-of "^6.0.2"
 
map-cache@^0.2.0, map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
 
map-obj@^1.0.0, map-obj@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=
 
map-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
dependencies:
object-visit "^1.0.0"
 
memoizee@0.4.X:
version "0.4.14"
resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57"
integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==
dependencies:
d "1"
es5-ext "^0.10.45"
es6-weak-map "^2.0.2"
event-emitter "^0.3.5"
is-promise "^2.1"
lru-queue "0.1"
next-tick "1"
timers-ext "^0.1.5"
 
meow@^3.7.0:
version "3.7.0"
resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=
dependencies:
camelcase-keys "^2.0.0"
decamelize "^1.1.2"
loud-rejection "^1.0.0"
map-obj "^1.0.1"
minimist "^1.1.3"
normalize-package-data "^2.3.4"
object-assign "^4.0.1"
read-pkg-up "^1.0.1"
redent "^1.0.0"
trim-newlines "^1.0.0"
 
micromatch@^3.0.4:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
braces "^2.3.1"
define-property "^2.0.2"
extend-shallow "^3.0.2"
extglob "^2.0.4"
fragment-cache "^0.2.1"
kind-of "^6.0.2"
nanomatch "^1.2.9"
object.pick "^1.3.0"
regex-not "^1.0.0"
snapdragon "^0.8.1"
to-regex "^3.0.2"
 
mime-db@1.44.0:
version "1.44.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92"
integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==
 
mime-types@^2.1.12, mime-types@~2.1.19:
version "2.1.27"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f"
integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==
dependencies:
mime-db "1.44.0"
 
minimatch@^2.0.1:
version "2.0.10"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"
integrity sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=
dependencies:
brace-expansion "^1.0.0"
 
minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
 
minimatch@~0.2.11:
version "0.2.14"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a"
integrity sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=
dependencies:
lru-cache "2"
sigmund "~1.0.0"
 
minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
 
mixin-deep@^1.2.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
dependencies:
for-in "^1.0.2"
is-extendable "^1.0.1"
 
"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1:
version "0.5.5"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
dependencies:
minimist "^1.2.5"
 
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
 
ms@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
 
multipipe@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"
integrity sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=
dependencies:
duplexer2 "0.0.2"
 
nan@^2.13.2:
version "2.14.1"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01"
integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==
 
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
define-property "^2.0.2"
extend-shallow "^3.0.2"
fragment-cache "^0.2.1"
is-windows "^1.0.2"
kind-of "^6.0.2"
object.pick "^1.3.0"
regex-not "^1.0.0"
snapdragon "^0.8.1"
to-regex "^3.0.1"
 
natives@^1.1.3:
version "1.1.6"
resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.6.tgz#a603b4a498ab77173612b9ea1acdec4d980f00bb"
integrity sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==
 
next-tick@1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
 
next-tick@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
 
node-gyp@^3.8.0:
version "3.8.0"
resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.8.0.tgz#540304261c330e80d0d5edce253a68cb3964218c"
integrity sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==
dependencies:
fstream "^1.0.0"
glob "^7.0.3"
graceful-fs "^4.1.2"
mkdirp "^0.5.0"
nopt "2 || 3"
npmlog "0 || 1 || 2 || 3 || 4"
osenv "0"
request "^2.87.0"
rimraf "2"
semver "~5.3.0"
tar "^2.0.0"
which "1"
 
node-sass@^4.8.3:
version "4.14.1"
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.14.1.tgz#99c87ec2efb7047ed638fb4c9db7f3a42e2217b5"
integrity sha512-sjCuOlvGyCJS40R8BscF5vhVlQjNN069NtQ1gSxyK1u9iqvn6tf7O1R4GNowVZfiZUCRt5MmMs1xd+4V/7Yr0g==
dependencies:
async-foreach "^0.1.3"
chalk "^1.1.1"
cross-spawn "^3.0.0"
gaze "^1.0.0"
get-stdin "^4.0.1"
glob "^7.0.3"
in-publish "^2.0.0"
lodash "^4.17.15"
meow "^3.7.0"
mkdirp "^0.5.1"
nan "^2.13.2"
node-gyp "^3.8.0"
npmlog "^4.0.0"
request "^2.88.0"
sass-graph "2.2.5"
stdout-stream "^1.4.0"
"true-case-path" "^1.0.2"
 
"nopt@2 || 3":
version "3.0.6"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
integrity sha1-xkZdvwirzU2zWTF/eaxopkayj/k=
dependencies:
abbrev "1"
 
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"
integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
dependencies:
hosted-git-info "^2.1.4"
resolve "^1.10.0"
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
 
normalize-path@^2.0.1, normalize-path@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
dependencies:
remove-trailing-separator "^1.0.1"
 
normalize-range@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=
 
"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==
dependencies:
are-we-there-yet "~1.1.2"
console-control-strings "~1.1.0"
gauge "~2.7.3"
set-blocking "~2.0.0"
 
num2fraction@^1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=
 
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
 
oauth-sign@~0.9.0:
version "0.9.0"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
 
object-assign@4.X, object-assign@^4.0.1, object-assign@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
 
object-assign@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
integrity sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=
 
object-copy@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
dependencies:
copy-descriptor "^0.1.0"
define-property "^0.2.5"
kind-of "^3.0.3"
 
object-visit@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
dependencies:
isobject "^3.0.0"
 
object.defaults@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf"
integrity sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=
dependencies:
array-each "^1.0.1"
array-slice "^1.0.0"
for-own "^1.0.0"
isobject "^3.0.0"
 
object.map@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37"
integrity sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=
dependencies:
for-own "^1.0.0"
make-iterator "^1.0.0"
 
object.pick@^1.2.0, object.pick@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
dependencies:
isobject "^3.0.1"
 
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
 
once@~1.3.0:
version "1.3.3"
resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
integrity sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=
dependencies:
wrappy "1"
 
orchestrator@^0.3.0:
version "0.3.8"
resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e"
integrity sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=
dependencies:
end-of-stream "~0.1.5"
sequencify "~0.0.7"
stream-consume "~0.1.0"
 
ordered-read-streams@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126"
integrity sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=
 
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
 
os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
 
osenv@0:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
 
p-limit@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
dependencies:
p-try "^2.0.0"
 
p-locate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
dependencies:
p-limit "^2.0.0"
 
p-try@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
 
parse-filepath@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891"
integrity sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=
dependencies:
is-absolute "^1.0.0"
map-cache "^0.2.0"
path-root "^0.1.1"
 
parse-json@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
dependencies:
error-ex "^1.2.0"
 
parse-node-version@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b"
integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==
 
parse-passwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
 
pascalcase@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
 
path-exists@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=
dependencies:
pinkie-promise "^2.0.0"
 
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
 
path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
 
path-parse@^1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
 
path-root-regex@^0.1.0:
version "0.1.2"
resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d"
integrity sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=
 
path-root@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7"
integrity sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=
dependencies:
path-root-regex "^0.1.0"
 
path-type@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=
dependencies:
graceful-fs "^4.1.2"
pify "^2.0.0"
pinkie-promise "^2.0.0"
 
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=
 
pify@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
 
pinkie-promise@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o=
dependencies:
pinkie "^2.0.0"
 
pinkie@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA=
 
plugin-error@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c"
integrity sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==
dependencies:
ansi-colors "^1.0.1"
arr-diff "^4.0.0"
arr-union "^3.1.0"
extend-shallow "^3.0.2"
 
posix-character-classes@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
 
postcss-value-parser@^3.2.3:
version "3.3.1"
resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
 
postcss@^6.0.1, postcss@^6.0.23:
version "6.0.23"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==
dependencies:
chalk "^2.4.1"
source-map "^0.6.1"
supports-color "^5.4.0"
 
prettier@^1.14.0:
version "1.19.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
 
pretty-hrtime@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
integrity sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=
 
private@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
 
process-nextick-args@^2.0.0, process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
 
pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
 
psl@^1.1.28:
version "1.8.0"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
 
punycode@^2.1.0, punycode@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
 
qs@~6.5.2:
version "6.5.2"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
 
read-pkg-up@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=
dependencies:
find-up "^1.0.0"
read-pkg "^1.0.0"
 
read-pkg@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=
dependencies:
load-json-file "^1.0.0"
normalize-package-data "^2.3.2"
path-type "^1.0.0"
 
"readable-stream@>=1.0.33-1 <1.1.0-0":
version "1.0.34"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.1"
isarray "0.0.1"
string_decoder "~0.10.x"
 
readable-stream@^1.0.33, readable-stream@~1.1.9:
version "1.1.14"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
integrity sha1-fPTFTvZI44EwhMY23SB54WbAgdk=
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.1"
isarray "0.0.1"
string_decoder "~0.10.x"
 
readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.3.5, readable-stream@~2.3.6:
version "2.3.7"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
isarray "~1.0.0"
process-nextick-args "~2.0.0"
safe-buffer "~5.1.1"
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
 
rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
dependencies:
resolve "^1.1.6"
 
redent@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=
dependencies:
indent-string "^2.1.0"
strip-indent "^1.0.1"
 
regenerator-runtime@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
 
regex-not@^1.0.0, regex-not@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
dependencies:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
 
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
 
repeat-element@^1.1.2:
version "1.1.3"
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
 
repeat-string@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
 
repeating@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
dependencies:
is-finite "^1.0.0"
 
replace-ext@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"
integrity sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=
 
replace-ext@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.1.tgz#2d6d996d04a15855d967443631dd5f77825b016a"
integrity sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==
 
request@^2.87.0, request@^2.88.0:
version "2.88.2"
resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
dependencies:
aws-sign2 "~0.7.0"
aws4 "^1.8.0"
caseless "~0.12.0"
combined-stream "~1.0.6"
extend "~3.0.2"
forever-agent "~0.6.1"
form-data "~2.3.2"
har-validator "~5.1.3"
http-signature "~1.2.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
json-stringify-safe "~5.0.1"
mime-types "~2.1.19"
oauth-sign "~0.9.0"
performance-now "^2.1.0"
qs "~6.5.2"
safe-buffer "^5.1.2"
tough-cookie "~2.5.0"
tunnel-agent "^0.6.0"
uuid "^3.3.2"
 
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
 
require-main-filename@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
 
resolve-dir@^1.0.0, resolve-dir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=
dependencies:
expand-tilde "^2.0.0"
global-modules "^1.0.0"
 
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
 
resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
dependencies:
path-parse "^1.0.6"
 
ret@~0.1.10:
version "0.1.15"
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
 
rimraf@2:
version "2.7.1"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
dependencies:
glob "^7.1.3"
 
rollup-plugin-babel@^3.0.7:
version "3.0.7"
resolved "https://registry.yarnpkg.com/rollup-plugin-babel/-/rollup-plugin-babel-3.0.7.tgz#5b13611f1ab8922497e9d15197ae5d8a23fe3b1e"
integrity sha512-bVe2y0z/V5Ax1qU8NX/0idmzIwJPdUGu8Xx3vXH73h0yGjxfv2gkFI82MBVg49SlsFlLTBadBHb67zy4TWM3hA==
dependencies:
rollup-pluginutils "^1.5.0"
 
rollup-pluginutils@^1.5.0:
version "1.5.2"
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408"
integrity sha1-HhVud4+UtyVb+hs9AXi+j1xVJAg=
dependencies:
estree-walker "^0.2.1"
minimatch "^3.0.2"
 
rollup@^0.66.0:
version "0.66.6"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.66.6.tgz#ce7d6185beb7acea644ce220c25e71ae03275482"
integrity sha512-J7/SWanrcb83vfIHqa8+aVVGzy457GcjA6GVZEnD0x2u4OnOd0Q1pCrEoNe8yLwM6z6LZP02zBT2uW0yh5TqOw==
dependencies:
"@types/estree" "0.0.39"
"@types/node" "*"
 
safe-buffer@^5.0.1, safe-buffer@^5.1.2:
version "5.2.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
 
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
 
safe-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
dependencies:
ret "~0.1.10"
 
safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
 
sass-graph@2.2.5:
version "2.2.5"
resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.5.tgz#a981c87446b8319d96dce0671e487879bd24c2e8"
integrity sha512-VFWDAHOe6mRuT4mZRd4eKE+d8Uedrk6Xnh7Sh9b4NGufQLQjOrvf/MQoOdx+0s92L89FeyUUNfU597j/3uNpag==
dependencies:
glob "^7.0.0"
lodash "^4.0.0"
scss-tokenizer "^0.2.3"
yargs "^13.3.2"
 
scss-tokenizer@^0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
integrity sha1-jrBtualyMzOCTT9VMGQRSYR85dE=
dependencies:
js-base64 "^2.1.8"
source-map "^0.4.2"
 
"semver@2 || 3 || 4 || 5":
version "5.7.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
 
semver@^4.1.0:
version "4.3.6"
resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
integrity sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=
 
semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
integrity sha1-myzl094C0XxgEq0yaqa00M9U+U8=
 
sequencify@~0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c"
integrity sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=
 
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
 
set-value@^2.0.0, set-value@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
dependencies:
extend-shallow "^2.0.1"
is-extendable "^0.1.1"
is-plain-object "^2.0.3"
split-string "^3.0.1"
 
sigmund@~1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=
 
signal-exit@^3.0.0:
version "3.0.3"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
 
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
 
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
dependencies:
define-property "^1.0.0"
isobject "^3.0.0"
snapdragon-util "^3.0.1"
 
snapdragon-util@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
dependencies:
kind-of "^3.2.0"
 
snapdragon@^0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
dependencies:
base "^0.11.1"
debug "^2.2.0"
define-property "^0.2.5"
extend-shallow "^2.0.1"
map-cache "^0.2.2"
source-map "^0.5.6"
source-map-resolve "^0.5.0"
use "^3.1.0"
 
source-map-resolve@^0.5.0, source-map-resolve@^0.5.2:
version "0.5.3"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
dependencies:
atob "^2.1.2"
decode-uri-component "^0.2.0"
resolve-url "^0.2.1"
source-map-url "^0.4.0"
urix "^0.1.0"
 
source-map-support@^0.4.15:
version "0.4.18"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==
dependencies:
source-map "^0.5.6"
 
source-map-url@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
 
source-map@0.4.x, source-map@^0.4.2:
version "0.4.4"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
integrity sha1-66T12pwNyZneaAMti092FzZSA2s=
dependencies:
amdefine ">=0.0.4"
 
source-map@^0.5.1, source-map@^0.5.6, source-map@^0.5.7:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
 
source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
 
sparkles@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c"
integrity sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==
 
spdx-correct@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==
dependencies:
spdx-expression-parse "^3.0.0"
spdx-license-ids "^3.0.0"
 
spdx-exceptions@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
 
spdx-expression-parse@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
dependencies:
spdx-exceptions "^2.1.0"
spdx-license-ids "^3.0.0"
 
spdx-license-ids@^3.0.0:
version "3.0.6"
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.6.tgz#c80757383c28abf7296744998cbc106ae8b854ce"
integrity sha512-+orQK83kyMva3WyPf59k1+Y525csj5JejicWut55zeTWANuN17qSiSLUXWtzHeNWORSvT7GLDJ/E/XiIWoXBTw==
 
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
dependencies:
extend-shallow "^3.0.0"
 
sshpk@^1.7.0:
version "1.16.1"
resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
dependencies:
asn1 "~0.2.3"
assert-plus "^1.0.0"
bcrypt-pbkdf "^1.0.0"
dashdash "^1.12.0"
ecc-jsbn "~0.1.1"
getpass "^0.1.1"
jsbn "~0.1.0"
safer-buffer "^2.0.2"
tweetnacl "~0.14.0"
 
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
dependencies:
define-property "^0.2.5"
object-copy "^0.1.0"
 
stdout-stream@^1.4.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/stdout-stream/-/stdout-stream-1.4.1.tgz#5ac174cdd5cd726104aa0c0b2bd83815d8d535de"
integrity sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==
dependencies:
readable-stream "^2.0.1"
 
stream-consume@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.1.tgz#d3bdb598c2bd0ae82b8cac7ac50b1107a7996c48"
integrity sha512-tNa3hzgkjEP7XbCkbRXe1jpg+ievoa0O4SCFlMOYEscGSS4JJsckGL8swUyAa/ApGU3Ae4t6Honor4HhL+tRyg==
 
string-width@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
dependencies:
code-point-at "^1.0.0"
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
 
"string-width@^1.0.2 || 2":
version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
dependencies:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0"
 
string-width@^3.0.0, string-width@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
dependencies:
emoji-regex "^7.0.1"
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
 
string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=
 
string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
dependencies:
safe-buffer "~5.1.0"
 
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
dependencies:
ansi-regex "^2.0.0"
 
strip-ansi@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
dependencies:
ansi-regex "^3.0.0"
 
strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
dependencies:
ansi-regex "^4.1.0"
 
strip-bom-string@1.X:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=
 
strip-bom@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794"
integrity sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=
dependencies:
first-chunk-stream "^1.0.0"
is-utf8 "^0.2.0"
 
strip-bom@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=
dependencies:
is-utf8 "^0.2.0"
 
strip-indent@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=
dependencies:
get-stdin "^4.0.1"
 
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
 
supports-color@^5.3.0, supports-color@^5.4.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
dependencies:
has-flag "^3.0.0"
 
tar@^2.0.0:
version "2.2.2"
resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.2.tgz#0ca8848562c7299b8b446ff6a4d60cdbb23edc40"
integrity sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==
dependencies:
block-stream "*"
fstream "^1.0.12"
inherits "2"
 
through2@2.X, through2@^2.0.0, through2@^2.0.3:
version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
dependencies:
readable-stream "~2.3.6"
xtend "~4.0.1"
 
through2@^0.6.1:
version "0.6.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
integrity sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=
dependencies:
readable-stream ">=1.0.33-1 <1.1.0-0"
xtend ">=4.0.0 <4.1.0-0"
 
tildify@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a"
integrity sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=
dependencies:
os-homedir "^1.0.0"
 
time-stamp@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"
integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=
 
timers-ext@^0.1.5:
version "0.1.7"
resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6"
integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==
dependencies:
es5-ext "~0.10.46"
next-tick "1"
 
to-fast-properties@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
 
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
dependencies:
kind-of "^3.0.2"
 
to-regex-range@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
dependencies:
is-number "^3.0.0"
repeat-string "^1.6.1"
 
to-regex@^3.0.1, to-regex@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
dependencies:
define-property "^2.0.2"
extend-shallow "^3.0.2"
regex-not "^1.0.2"
safe-regex "^1.1.0"
 
tough-cookie@~2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
dependencies:
psl "^1.1.28"
punycode "^2.1.1"
 
trim-newlines@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
integrity sha1-WIeWa7WCpFA6QetST301ARgVphM=
 
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
 
"true-case-path@^1.0.2":
version "1.0.3"
resolved "https://registry.yarnpkg.com/true-case-path/-/true-case-path-1.0.3.tgz#f813b5a8c86b40da59606722b144e3225799f47d"
integrity sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==
dependencies:
glob "^7.1.2"
 
tunnel-agent@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
dependencies:
safe-buffer "^5.0.1"
 
tweetnacl@^0.14.3, tweetnacl@~0.14.0:
version "0.14.5"
resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=
 
type@^1.0.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
 
type@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f"
integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==
 
uglify-js@^3.0.5:
version "3.10.4"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.4.tgz#dd680f5687bc0d7a93b14a3482d16db6eba2bfbb"
integrity sha512-kBFT3U4Dcj4/pJ52vfjCSfyLyvG9VYYuGYPmrPvAxRw/i7xHiT4VvCev+uiEMcEEiu6UNB6KgWmGtSUYIWScbw==
 
unc-path-regex@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo=
 
union-value@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
dependencies:
arr-union "^3.1.0"
get-value "^2.0.6"
is-extendable "^0.1.1"
set-value "^2.0.1"
 
unique-stream@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b"
integrity sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=
 
unset-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
dependencies:
has-value "^0.3.1"
isobject "^3.0.0"
 
uri-js@^4.2.2:
version "4.4.0"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.0.tgz#aa714261de793e8a82347a7bcc9ce74e86f28602"
integrity sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==
dependencies:
punycode "^2.1.0"
 
urix@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
 
use@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
 
user-home@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
integrity sha1-K1viOjK2Onyd640PKNSFcko98ZA=
 
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
 
uuid@^3.3.2:
version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
 
v8flags@^2.0.2:
version "2.1.1"
resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"
integrity sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=
dependencies:
user-home "^1.1.1"
 
validate-npm-package-license@^3.0.1:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
dependencies:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
 
verror@1.10.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=
dependencies:
assert-plus "^1.0.0"
core-util-is "1.0.2"
extsprintf "^1.2.0"
 
vinyl-bufferstream@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/vinyl-bufferstream/-/vinyl-bufferstream-1.0.1.tgz#0537869f580effa4ca45acb47579e4b9fe63081a"
integrity sha1-BTeGn1gO/6TKRay0dXnkuf5jCBo=
dependencies:
bufferstreams "1.0.1"
 
vinyl-fs@^0.3.0:
version "0.3.14"
resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6"
integrity sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=
dependencies:
defaults "^1.0.0"
glob-stream "^3.1.5"
glob-watcher "^0.0.6"
graceful-fs "^3.0.0"
mkdirp "^0.5.0"
strip-bom "^1.0.0"
through2 "^0.6.1"
vinyl "^0.4.0"
 
vinyl-sourcemaps-apply@^0.2.0, vinyl-sourcemaps-apply@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705"
integrity sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=
dependencies:
source-map "^0.5.1"
 
vinyl@^0.4.0:
version "0.4.6"
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847"
integrity sha1-LzVsh6VQolVGHza76ypbqL94SEc=
dependencies:
clone "^0.2.0"
clone-stats "^0.0.1"
 
vinyl@^0.5.0:
version "0.5.3"
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde"
integrity sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=
dependencies:
clone "^1.0.0"
clone-stats "^0.0.1"
replace-ext "0.0.1"
 
vinyl@^2.0.0, vinyl@^2.1.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86"
integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==
dependencies:
clone "^2.1.1"
clone-buffer "^1.0.0"
clone-stats "^1.0.0"
cloneable-readable "^1.0.0"
remove-trailing-separator "^1.0.1"
replace-ext "^1.0.0"
 
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
 
which@1, which@^1.2.14, which@^1.2.9:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
dependencies:
isexe "^2.0.0"
 
wide-align@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
dependencies:
string-width "^1.0.2 || 2"
 
wrap-ansi@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
dependencies:
ansi-styles "^3.2.0"
string-width "^3.0.0"
strip-ansi "^5.0.0"
 
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
 
"xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
 
y18n@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==
 
yallist@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
 
yargs-parser@^13.1.2:
version "13.1.2"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
dependencies:
camelcase "^5.0.0"
decamelize "^1.2.0"
 
yargs@^13.3.2:
version "13.3.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
dependencies:
cliui "^5.0.0"
find-up "^3.0.0"
get-caller-file "^2.0.1"
require-directory "^2.1.1"
require-main-filename "^2.0.0"
set-blocking "^2.0.0"
string-width "^3.0.0"
which-module "^2.0.0"
y18n "^4.0.0"
yargs-parser "^13.1.2"
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/.prettierrc
New file
0,0 → 1,0
tabWidth: 4
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/LICENSE
New file
0,0 → 1,21
MIT License
 
Copyright (c) 2018 elmarquis
 
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.
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/gulpfile.js
New file
0,0 → 1,54
var gulp = require("gulp"),
minifyCSS = require("gulp-minify-css"),
concat = require("gulp-concat"),
uglify = require("gulp-uglify"),
prefix = require("gulp-autoprefixer"),
sass = require("gulp-sass"),
sourcemaps = require("gulp-sourcemaps"),
rename = require("gulp-rename"),
rollup = require("gulp-better-rollup"),
babel = require("rollup-plugin-babel");
 
gulp.task("js", function() {
return gulp
.src("src/js/leaflet-gesture-handling.js")
.pipe(sourcemaps.init())
.pipe(
rollup(
{ plugins: [babel()] },
{
file: "dist/leaflet-gesture-handling.js",
format: "umd"
}
)
)
.pipe(gulp.dest("dist/"))
.pipe(uglify())
.pipe(rename({ extname: ".min.js" }))
.pipe(sourcemaps.write(""))
.pipe(gulp.dest("dist/"));
});
 
gulp.task("styles", function() {
return gulp
.src("src/scss/**/*.scss")
.pipe(sass())
.pipe(prefix("last 2 versions"))
.pipe(concat("leaflet-gesture-handling.css"))
.pipe(gulp.dest("dist/"))
.pipe(minifyCSS())
.pipe(rename({ extname: ".min.css" }))
.pipe(gulp.dest("dist/"));
});
 
gulp.task("dev", function() {
gulp.run("styles");
gulp.run("js");
gulp.watch("src/scss/*.scss", ["styles"]);
gulp.watch("src/js/*.js", ["js"]);
});
 
gulp.task("build", function() {
gulp.run("styles");
gulp.run("js");
});
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/dist/leaflet-gesture-handling.min.js
New file
0,0 → 1,2
!function(a,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define("leafletGestureHandling",["exports"],t):t(a.leafletGestureHandling={})}(this,function(a){"use strict";var o={ar:{touch:"استخدم إصبعين لتحريك الخريطة",scroll:"‏استخدم ctrl + scroll لتصغير/تكبير الخريطة",scrollMac:"يمكنك استخدام ⌘ + التمرير لتكبير/تصغير الخريطة"},bg:{touch:"Използвайте два пръста, за да преместите картата",scroll:"Задръжте бутона Ctrl натиснат, докато превъртате, за да промените мащаба на картата",scrollMac:"Задръжте бутона ⌘ натиснат, докато превъртате, за да промените мащаба на картата"},bn:{touch:"মানচিত্রটিকে সরাতে দুটি আঙ্গুল ব্যবহার করুন",scroll:"ম্যাপ জুম করতে ctrl + scroll ব্যবহার করুন",scrollMac:"ম্যাপে জুম করতে ⌘ বোতাম টিপে স্ক্রল করুন"},ca:{touch:"Fes servir dos dits per moure el mapa",scroll:"Prem la tecla Control mentre et desplaces per apropar i allunyar el mapa",scrollMac:"Prem la tecla ⌘ mentre et desplaces per apropar i allunyar el mapa"},cs:{touch:"K posunutí mapy použijte dva prsty",scroll:"Velikost zobrazení mapy změňte podržením klávesy Ctrl a posouváním kolečka myši",scrollMac:"Velikost zobrazení mapy změníte podržením klávesy ⌘ a posunutím kolečka myši / touchpadu"},da:{touch:"Brug to fingre til at flytte kortet",scroll:"Brug ctrl + rullefunktionen til at zoome ind og ud på kortet",scrollMac:"Brug ⌘ + rullefunktionen til at zoome ind og ud på kortet"},de:{touch:"Verschieben der Karte mit zwei Fingern",scroll:"Verwende Strg+Scrollen zum Zoomen der Karte",scrollMac:"⌘"},el:{touch:"Χρησιμοποιήστε δύο δάχτυλα για μετακίνηση στον χάρτη",scroll:"Χρησιμοποιήστε το πλήκτρο Ctrl και κύλιση, για να μεγεθύνετε τον χάρτη",scrollMac:"Χρησιμοποιήστε το πλήκτρο ⌘ + κύλιση για εστίαση στον χάρτη"},en:{touch:"Use two fingers to move the map",scroll:"Use ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},"en-AU":{touch:"Use two fingers to move the map",scroll:"Use ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},"en-GB":{touch:"Use two fingers to move the map",scroll:"Use ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},es:{touch:"Para mover el mapa, utiliza dos dedos",scroll:"Mantén pulsada la tecla Ctrl mientras te desplazas para acercar o alejar el mapa",scrollMac:"Mantén pulsada la tecla ⌘ mientras te desplazas para acercar o alejar el mapa"},eu:{touch:"Erabili bi hatz mapa mugitzeko",scroll:"Mapan zooma aplikatzeko, sakatu Ktrl eta egin gora edo behera",scrollMac:"Eduki sakatuta ⌘ eta egin gora eta behera mapa handitu eta txikitzeko"},fa:{touch:"برای حرکت دادن نقشه از دو انگشت استفاده کنید.",scroll:"‏برای بزرگ‌نمایی نقشه از ctrl + scroll استفاده کنید",scrollMac:"برای بزرگ‌نمایی نقشه، از ⌘ + پیمایش استفاده کنید."},fi:{touch:"Siirrä karttaa kahdella sormella.",scroll:"Zoomaa karttaa painamalla Ctrl-painiketta ja vierittämällä.",scrollMac:"Zoomaa karttaa pitämällä painike ⌘ painettuna ja vierittämällä."},fil:{touch:"Gumamit ng dalawang daliri upang iusog ang mapa",scroll:"Gamitin ang ctrl + scroll upang i-zoom ang mapa",scrollMac:"Gamitin ang ⌘ + scroll upang i-zoom ang mapa"},fr:{touch:"Utilisez deux doigts pour déplacer la carte",scroll:"Vous pouvez zoomer sur la carte à l'aide de CTRL+Molette de défilement",scrollMac:"Vous pouvez zoomer sur la carte à l'aide de ⌘+Molette de défilement"},gl:{touch:"Utiliza dous dedos para mover o mapa",scroll:"Preme Ctrl mentres te desprazas para ampliar o mapa",scrollMac:"Preme ⌘ e desprázate para ampliar o mapa"},gu:{touch:"નકશો ખસેડવા બે આંગળીઓનો ઉપયોગ કરો",scroll:"નકશાને ઝૂમ કરવા માટે ctrl + સ્ક્રોલનો ઉપયોગ કરો",scrollMac:"નકશાને ઝૂમ કરવા ⌘ + સ્ક્રોલનો ઉપયોગ કરો"},hi:{touch:"मैप एक जगह से दूसरी जगह ले जाने के लिए दो उंगलियों का इस्तेमाल करें",scroll:"मैप को ज़ूम करने के लिए ctrl + स्क्रोल का उपयोग करें",scrollMac:"मैप को ज़ूम करने के लिए ⌘ + स्क्रोल का उपयोग करें"},hr:{touch:"Pomičite kartu pomoću dva prsta",scroll:"Upotrijebite Ctrl i klizač miša da biste zumirali kartu",scrollMac:"Upotrijebite gumb ⌘ dok se pomičete za zumiranje karte"},hu:{touch:"Két ujjal mozgassa a térképet",scroll:"A térkép a ctrl + görgetés használatával nagyítható",scrollMac:"A térkép a ⌘ + görgetés használatával nagyítható"},id:{touch:"Gunakan dua jari untuk menggerakkan peta",scroll:"Gunakan ctrl + scroll untuk memperbesar atau memperkecil peta",scrollMac:"Gunakan ⌘ + scroll untuk memperbesar atau memperkecil peta"},it:{touch:"Utilizza due dita per spostare la mappa",scroll:"Utilizza CTRL + scorrimento per eseguire lo zoom della mappa",scrollMac:"Utilizza ⌘ + scorrimento per eseguire lo zoom della mappa"},iw:{touch:"הזז את המפה באמצעות שתי אצבעות",scroll:"‏אפשר לשנות את מרחק התצוגה במפה באמצעות מקש ctrl וגלילה",scrollMac:"אפשר לשנות את מרחק התצוגה במפה באמצעות מקש ⌘ וגלילה"},ja:{touch:"地図を移動させるには指 2 本で操作します",scroll:"地図をズームするには、Ctrl キーを押しながらスクロールしてください",scrollMac:"地図をズームするには、⌘ キーを押しながらスクロールしてください"},kn:{touch:"Use two fingers to move the map",scroll:"Use Ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},ko:{touch:"지도를 움직이려면 두 손가락을 사용하세요.",scroll:"지도를 확대/축소하려면 Ctrl을 누른 채 스크롤하세요.",scrollMac:"지도를 확대하려면 ⌘ + 스크롤 사용"},lt:{touch:"Perkelkite žemėlapį dviem pirštais",scroll:"Slinkite nuspaudę klavišą „Ctrl“, kad pakeistumėte žemėlapio mastelį",scrollMac:"Paspauskite klavišą ⌘ ir slinkite, kad priartintumėte žemėlapį"},lv:{touch:"Lai pārvietotu karti, bīdiet to ar diviem pirkstiem",scroll:"Kartes tālummaiņai izmantojiet ctrl + ritināšanu",scrollMac:"Lai veiktu kartes tālummaiņu, izmantojiet ⌘ + ritināšanu"},ml:{touch:"മാപ്പ് നീക്കാൻ രണ്ട് വിരലുകൾ ഉപയോഗിക്കുക",scroll:"കൺട്രോൾ + സ്‌ക്രോൾ ഉപയോഗിച്ച് ‌മാപ്പ് ‌സൂം ചെയ്യുക",scrollMac:"⌘ + സ്‌ക്രോൾ ഉപയോഗിച്ച് ‌മാപ്പ് ‌സൂം ചെയ്യുക"},mr:{touch:"नकाशा हलविण्यासाठी दोन बोटे वापरा",scroll:"नकाशा झूम करण्यासाठी ctrl + scroll वापरा",scrollMac:"नकाशावर झूम करण्यासाठी ⌘ + स्क्रोल वापरा"},nl:{touch:"Gebruik twee vingers om de kaart te verplaatsen",scroll:"Gebruik Ctrl + scrollen om in- en uit te zoomen op de kaart",scrollMac:"Gebruik ⌘ + scrollen om in en uit te zoomen op de kaart"},no:{touch:"Bruk to fingre for å flytte kartet",scroll:"Hold ctrl-tasten inne og rull for å zoome på kartet",scrollMac:"Hold inne ⌘-tasten og rull for å zoome på kartet"},pl:{touch:"Przesuń mapę dwoma palcami",scroll:"Naciśnij CTRL i przewiń, by przybliżyć mapę",scrollMac:"Naciśnij ⌘ i przewiń, by przybliżyć mapę"},pt:{touch:"Use dois dedos para mover o mapa",scroll:"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",scrollMac:"Use ⌘ e role a tela simultaneamente para aplicar zoom no mapa"},"pt-BR":{touch:"Use dois dedos para mover o mapa",scroll:"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",scrollMac:"Use ⌘ e role a tela simultaneamente para aplicar zoom no mapa"},"pt-PT":{touch:"Utilize dois dedos para mover o mapa",scroll:"Utilizar ctrl + deslocar para aumentar/diminuir zoom do mapa",scrollMac:"Utilize ⌘ + deslocar para aumentar/diminuir o zoom do mapa"},ro:{touch:"Folosiți două degete pentru a deplasa harta",scroll:"Apăsați tasta ctrl și derulați simultan pentru a mări harta",scrollMac:"Folosiți ⌘ și derulați pentru a mări/micșora harta"},ru:{touch:"Чтобы переместить карту, проведите по ней двумя пальцами",scroll:"Чтобы изменить масштаб, прокручивайте карту, удерживая клавишу Ctrl.",scrollMac:"Чтобы изменить масштаб, нажмите ⌘ + прокрутка"},sk:{touch:"Mapu môžete posunúť dvoma prstami",scroll:"Ak chcete priblížiť mapu, stlačte kláves ctrl a posúvajte",scrollMac:"Ak chcete priblížiť mapu, stlačte kláves ⌘ a posúvajte kolieskom myši"},sl:{touch:"Premaknite zemljevid z dvema prstoma",scroll:"Zemljevid povečate tako, da držite tipko Ctrl in vrtite kolesce na miški",scrollMac:"Uporabite ⌘ + funkcijo pomika, da povečate ali pomanjšate zemljevid"},sr:{touch:"Мапу померајте помоћу два прста",scroll:"Притисните ctrl тастер док померате да бисте зумирали мапу",scrollMac:"Притисните тастер ⌘ док померате да бисте зумирали мапу"},sv:{touch:"Använd två fingrar för att flytta kartan",scroll:"Använd ctrl + rulla för att zooma kartan",scrollMac:"Använd ⌘ + rulla för att zooma på kartan"},ta:{touch:"மேப்பை நகர்த்த இரண்டு விரல்களைப் பயன்படுத்தவும்",scroll:"மேப்பை பெரிதாக்கி/சிறிதாக்கிப் பார்க்க, ctrl பட்டனைப் பிடித்தபடி, மேலே/கீழே ஸ்க்ரால் செய்யவும்",scrollMac:"மேப்பை பெரிதாக்கி/சிறிதாக்கிப் பார்க்க, ⌘ பட்டனைப் பிடித்தபடி, மேலே/கீழே ஸ்க்ரால் செய்யவும்"},te:{touch:"మ్యాప్‌ని తరలించడం కోసం రెండు వేళ్లను ఉపయోగించండి",scroll:"మ్యాప్‌ని జూమ్ చేయడానికి ctrl బటన్‌ను నొక్కి ఉంచి, స్క్రోల్ చేయండి",scrollMac:"మ్యాప్ జూమ్ చేయాలంటే ⌘ + స్క్రోల్ ఉపయోగించండి"},th:{touch:"ใช้ 2 นิ้วเพื่อเลื่อนแผนที่",scroll:"กด Ctrl ค้างไว้ แล้วเลื่อนหน้าจอเพื่อซูมแผนที่",scrollMac:"กด ⌘ แล้วเลื่อนหน้าจอเพื่อซูมแผนที่"},tl:{touch:"Gumamit ng dalawang daliri upang iusog ang mapa",scroll:"Gamitin ang ctrl + scroll upang i-zoom ang mapa",scrollMac:"Gamitin ang ⌘ + scroll upang i-zoom ang mapa"},tr:{touch:"Haritada gezinmek için iki parmağınızı kullanın",scroll:"Haritayı yakınlaştırmak için ctrl + kaydırma kombinasyonunu kullanın",scrollMac:"Haritayı yakınlaştırmak için ⌘ tuşuna basıp ekranı kaydırın"},uk:{touch:"Переміщуйте карту двома пальцями",scroll:"Щоб змінювати масштаб карти, прокручуйте коліщатко миші, утримуючи клавішу Ctrl",scrollMac:"Щоб змінити масштаб карти, використовуйте ⌘ + прокручування"},vi:{touch:"Sử dụng hai ngón tay để di chuyển bản đồ",scroll:"Sử dụng ctrl + cuộn để thu phóng bản đồ",scrollMac:"Sử dụng ⌘ + cuộn để thu phóng bản đồ"},"zh-CN":{touch:"使用双指移动地图",scroll:"按住 Ctrl 并滚动鼠标滚轮才可缩放地图",scrollMac:"按住 ⌘ 并滚动鼠标滚轮才可缩放地图"},"zh-TW":{touch:"同時以兩指移動地圖",scroll:"按住 ctrl 鍵加上捲動滑鼠可以縮放地圖",scrollMac:"按 ⌘ 加上滾動捲軸可以縮放地圖"}};L.Map.mergeOptions({gestureHandlingOptions:{text:{},duration:1e3}});var t=!1,e=L.Handler.extend({addHooks:function(){this._handleTouch=this._handleTouch.bind(this),this._setupPluginOptions(),this._setLanguageContent(),this._disableInteractions(),this._map._container.addEventListener("touchstart",this._handleTouch),this._map._container.addEventListener("touchmove",this._handleTouch),this._map._container.addEventListener("touchend",this._handleTouch),this._map._container.addEventListener("touchcancel",this._handleTouch),this._map._container.addEventListener("click",this._handleTouch),L.DomEvent.on(this._map._container,"wheel",this._handleScroll,this),L.DomEvent.on(this._map,"mouseover",this._handleMouseOver,this),L.DomEvent.on(this._map,"mouseout",this._handleMouseOut,this),L.DomEvent.on(this._map,"movestart",this._handleDragging,this),L.DomEvent.on(this._map,"move",this._handleDragging,this),L.DomEvent.on(this._map,"moveend",this._handleDragging,this)},removeHooks:function(){this._enableInteractions(),this._map._container.removeEventListener("touchstart",this._handleTouch),this._map._container.removeEventListener("touchmove",this._handleTouch),this._map._container.removeEventListener("touchend",this._handleTouch),this._map._container.removeEventListener("touchcancel",this._handleTouch),this._map._container.removeEventListener("click",this._handleTouch),L.DomEvent.off(this._map._container,"wheel",this._handleScroll,this),L.DomEvent.off(this._map,"mouseover",this._handleMouseOver,this),L.DomEvent.off(this._map,"mouseout",this._handleMouseOut,this),L.DomEvent.off(this._map,"movestart",this._handleDragging,this),L.DomEvent.off(this._map,"move",this._handleDragging,this),L.DomEvent.off(this._map,"moveend",this._handleDragging,this)},_handleDragging:function(a){"movestart"==a.type||"move"==a.type?t=!0:"moveend"==a.type&&(t=!1)},_disableInteractions:function(){this._map.dragging.disable(),this._map.scrollWheelZoom.disable(),this._map.tap&&this._map.tap.disable()},_enableInteractions:function(){this._map.dragging.enable(),this._map.scrollWheelZoom.enable(),this._map.tap&&this._map.tap.enable()},_setupPluginOptions:function(){this._map.options.gestureHandlingText&&(this._map.options.gestureHandlingOptions.text=this._map.options.gestureHandlingText)},_setLanguageContent:function(){var a,t=this._map.options.gestureHandlingOptions&&this._map.options.gestureHandlingOptions.text&&this._map.options.gestureHandlingOptions.text.touch&&this._map.options.gestureHandlingOptions.text.scroll&&this._map.options.gestureHandlingOptions.text.scrollMac?this._map.options.gestureHandlingOptions.text:(a=this._getUserLanguage(),o[a=a||"en"]&&(t=o[a]),t||-1===a.indexOf("-")||(a=a.split("-")[0],t=o[a]),t||o[a="en"]),e=!1;0<=navigator.platform.toUpperCase().indexOf("MAC")&&(e=!0);var l=t.scroll;e&&(l=t.scrollMac),this._map._container.setAttribute("data-gesture-handling-touch-content",t.touch),this._map._container.setAttribute("data-gesture-handling-scroll-content",l)},_getUserLanguage:function(){return navigator.languages?navigator.languages[0]:navigator.language||navigator.userLanguage},_handleTouch:function(a){for(var t=["leaflet-control-minimap","leaflet-interactive","leaflet-popup-content","leaflet-popup-content-wrapper","leaflet-popup-close-button","leaflet-control-zoom-in","leaflet-control-zoom-out"],e=!1,l=0;l<t.length;l++)L.DomUtil.hasClass(a.target,t[l])&&(e=!0);e?L.DomUtil.hasClass(a.target,"leaflet-interactive")&&"touchmove"===a.type&&1===a.touches.length?(L.DomUtil.addClass(this._map._container,"leaflet-gesture-handling-touch-warning"),this._disableInteractions()):L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-touch-warning"):"touchmove"===a.type||"touchstart"===a.type?1===a.touches.length?(L.DomUtil.addClass(this._map._container,"leaflet-gesture-handling-touch-warning"),this._disableInteractions()):(this._enableInteractions(),L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-touch-warning")):L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-touch-warning")},_isScrolling:!1,_handleScroll:function(a){a.metaKey||a.ctrlKey?(a.preventDefault(),L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-scroll-warning"),this._map.scrollWheelZoom.enable()):(L.DomUtil.addClass(this._map._container,"leaflet-gesture-handling-scroll-warning"),this._map.scrollWheelZoom.disable(),clearTimeout(this._isScrolling),this._isScrolling=setTimeout(function(){for(var a=document.getElementsByClassName("leaflet-gesture-handling-scroll-warning"),t=0;t<a.length;t++)L.DomUtil.removeClass(a[t],"leaflet-gesture-handling-scroll-warning")},this._map.options.gestureHandlingOptions.duration))},_handleMouseOver:function(a){this._enableInteractions()},_handleMouseOut:function(a){t||this._disableInteractions()}});L.Map.addInitHook("addHandler","gestureHandling",e),a.GestureHandling=e,a.default=e,Object.defineProperty(a,"__esModule",{value:!0})});
//# sourceMappingURL=leaflet-gesture-handling.min.js.map
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/dist/leaflet-gesture-handling.css
New file
0,0 → 1,47
@-webkit-keyframes leaflet-gestures-fadein {
0% {
opacity: 0; }
100% {
opacity: 1; } }
 
@keyframes leaflet-gestures-fadein {
0% {
opacity: 0; }
100% {
opacity: 1; } }
 
.leaflet-container:after {
-webkit-animation: leaflet-gestures-fadein 0.8s backwards;
animation: leaflet-gestures-fadein 0.8s backwards;
color: #fff;
font-family: "Roboto", Arial, sans-serif;
font-size: 22px;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding: 15px;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
z-index: 461;
pointer-events: none; }
 
.leaflet-gesture-handling-touch-warning:after,
.leaflet-gesture-handling-scroll-warning:after {
-webkit-animation: leaflet-gestures-fadein 0.8s forwards;
animation: leaflet-gestures-fadein 0.8s forwards; }
 
.leaflet-gesture-handling-touch-warning:after {
content: attr(data-gesture-handling-touch-content); }
 
.leaflet-gesture-handling-scroll-warning:after {
content: attr(data-gesture-handling-scroll-content); }
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/dist/leaflet-gesture-handling.d.ts
New file
0,0 → 1,5
import * as L from "leaflet";
 
export class GestureHandling extends L.Handler {}
 
export default GestureHandling;
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/dist/leaflet-gesture-handling.min.css
New file
0,0 → 1,0
@-webkit-keyframes leaflet-gestures-fadein{0%{opacity:0}100%{opacity:1}}@keyframes leaflet-gestures-fadein{0%{opacity:0}100%{opacity:1}}.leaflet-container:after{-webkit-animation:leaflet-gestures-fadein .8s backwards;animation:leaflet-gestures-fadein .8s backwards;color:#fff;font-family:Roboto,Arial,sans-serif;font-size:22px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:15px;position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);z-index:461;pointer-events:none}.leaflet-gesture-handling-scroll-warning:after,.leaflet-gesture-handling-touch-warning:after{-webkit-animation:leaflet-gestures-fadein .8s forwards;animation:leaflet-gestures-fadein .8s forwards}.leaflet-gesture-handling-touch-warning:after{content:attr(data-gesture-handling-touch-content)}.leaflet-gesture-handling-scroll-warning:after{content:attr(data-gesture-handling-scroll-content)}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/dist/leaflet-gesture-handling.min.js.map
New file
0,0 → 1,0
{"version":3,"sources":["../src/js/language-content.js","../src/js/leaflet-gesture-handling.js"],"names":["LanguageContent","ar","touch","scroll","scrollMac","bg","bn","ca","cs","da","de","el","en","en-AU","en-GB","es","eu","fa","fi","fil","fr","gl","gu","hi","hr","hu","id","it","iw","ja","kn","ko","lt","lv","ml","mr","nl","no","pl","pt","pt-BR","pt-PT","ro","ru","sk","sl","sr","sv","ta","te","th","tl","tr","uk","vi","zh-CN","zh-TW","L","Map","mergeOptions","gestureHandlingOptions","text","duration","draggingMap","GestureHandling","Handler","extend","addHooks","this","_handleTouch","bind","_setupPluginOptions","_setLanguageContent","_disableInteractions","_map","_container","addEventListener","DomEvent","on","_handleScroll","_handleMouseOver","_handleMouseOut","_handleDragging","removeHooks","_enableInteractions","removeEventListener","off","e","type","dragging","disable","scrollWheelZoom","tap","enable","options","gestureHandlingText","lang","languageContent","_getUserLanguage","indexOf","split","mac","navigator","platform","toUpperCase","scrollContent","setAttribute","languages","language","userLanguage","ignoreList","ignoreElement","i","length","DomUtil","hasClass","target","touches","addClass","removeClass","_isScrolling","metaKey","ctrlKey","preventDefault","clearTimeout","setTimeout","warnings","document","getElementsByClassName","addInitHook"],"mappings":"kOAAA,IAAAA,EAAe,CAEXC,GAAI,CACAC,MACI,+BACJC,OACI,6CACJC,UACI,kDAGRC,GAAI,CACAH,MACI,mDACJC,OACI,sFACJC,UACI,oFAGRE,GAAI,CACAJ,MACI,8CACJC,OACI,4CACJC,UACI,4CAGRG,GAAI,CACAL,MAAO,wCACPC,OACI,2EACJC,UACI,sEAGRI,GAAI,CACAN,MAAO,qCACPC,OACI,kFACJC,UACI,4FAGRK,GAAI,CACAP,MAAO,sCACPC,OACI,+DACJC,UACI,6DAGRM,GAAI,CACAR,MAAO,yCACPC,OAAQ,8CACRC,UAAW,KAGfO,GAAI,CACAT,MACI,uDACJC,OACI,yEACJC,UACI,+DAGRQ,GAAI,CACAV,MAAO,kCACPC,OAAQ,oCACRC,UAAW,kCAGfS,QAAS,CACLX,MAAO,kCACPC,OAAQ,oCACRC,UAAW,kCAGfU,QAAS,CACLZ,MAAO,kCACPC,OAAQ,oCACRC,UAAW,kCAGfW,GAAI,CACAb,MAAO,wCACPC,OACI,mFACJC,UACI,iFAGRY,GAAI,CACAd,MAAO,iCACPC,OAAQ,gEACRC,UACI,yEAGRa,GAAI,CACAf,MACI,gDACJC,OACI,sDACJC,UACI,qDAGRc,GAAI,CACAhB,MAAO,oCACPC,OACI,8DACJC,UACI,mEAGRe,IAAK,CACDjB,MAAO,kDACPC,OAAQ,kDACRC,UAAW,gDAGfgB,GAAI,CACAlB,MAAO,8CACPC,OACI,yEACJC,UACI,uEAGRiB,GAAI,CACAnB,MAAO,uCACPC,OAAQ,sDACRC,UAAW,4CAGfkB,GAAI,CACApB,MACI,oCACJC,OACI,kDACJC,UACI,2CAGRmB,GAAI,CACArB,MACI,sEACJC,OACI,uDACJC,UACI,qDAGRoB,GAAI,CACAtB,MAAO,kCACPC,OACI,0DACJC,UACI,0DAGRqB,GAAI,CACAvB,MAAO,gCACPC,OACI,sDACJC,UACI,oDAGRsB,GAAI,CACAxB,MAAO,2CACPC,OAAQ,gEACRC,UACI,8DAGRuB,GAAI,CACAzB,MAAO,0CACPC,OAAQ,+DACRC,UACI,6DAGRwB,GAAI,CACA1B,MACI,iCACJC,OACI,0DACJC,UACI,uDAGRyB,GAAI,CACA3B,MACI,wBACJC,OACI,sCACJC,UACI,oCAGR0B,GAAI,CACA5B,MAAO,kCACPC,OAAQ,oCACRC,UAAW,kCAGf2B,GAAI,CACA7B,MACI,0BACJC,OACI,kCACJC,UACI,wBAGR4B,GAAI,CACA9B,MAAO,qCACPC,OACI,uEACJC,UACI,kEAGR6B,GAAI,CACA/B,MAAO,sDACPC,OACI,mDACJC,UACI,4DAGR8B,GAAI,CACAhC,MACI,2CACJC,OACI,qDACJC,UACI,gDAGR+B,GAAI,CACAjC,MACI,oCACJC,OACI,2CACJC,UACI,4CAGRgC,GAAI,CACAlC,MAAO,kDACPC,OAAQ,8DACRC,UACI,2DAGRiC,GAAI,CACAnC,MAAO,qCACPC,OAAQ,sDACRC,UACI,oDAGRkC,GAAI,CACApC,MAAO,6BACPC,OACI,8CACJC,UACI,4CAGRmC,GAAI,CACArC,MAAO,mCACPC,OACI,yEACJC,UACI,iEAGRoC,QAAS,CACLtC,MAAO,mCACPC,OACI,yEACJC,UACI,iEAGRqC,QAAS,CACLvC,MAAO,uCACPC,OAAQ,+DACRC,UACI,8DAGRsC,GAAI,CACAxC,MAAO,8CACPC,OACI,8DACJC,UACI,sDAGRuC,GAAI,CACAzC,MACI,2DACJC,OACI,uEACJC,UACI,iDAGRwC,GAAI,CACA1C,MAAO,oCACPC,OACI,4DACJC,UACI,yEAGRyC,GAAI,CACA3C,MAAO,uCACPC,OACI,2EACJC,UACI,uEAGR0C,GAAI,CACA5C,MACI,kCACJC,OACI,6DACJC,UACI,2DAGR2C,GAAI,CACA7C,MAAO,2CACPC,OAAQ,2CACRC,UACI,4CAGR4C,GAAI,CACA9C,MACI,kDACJC,OACI,iGACJC,UACI,+FAGR6C,GAAI,CACA/C,MACI,oDACJC,OACI,qEACJC,UACI,iDAGR8C,GAAI,CACAhD,MACI,8BACJC,OACI,iDACJC,UACI,uCAGR+C,GAAI,CACAjD,MAAO,kDACPC,OAAQ,kDACRC,UAAW,gDAGfgD,GAAI,CACAlD,MACI,kDACJC,OACI,uEACJC,UACI,+DAGRiD,GAAI,CACAnD,MACI,mCACJC,OACI,kFACJC,UACI,+DAGRkD,GAAI,CACApD,MACI,2CACJC,OACI,0CACJC,UACI,wCAGRmD,QAAS,CACLrD,MAAO,WACPC,OACI,wBACJC,UACI,sBAGRoD,QAAS,CACLtD,MAAO,YACPC,OACI,wBACJC,UACI,qBC9ZZqD,EAAEC,IAAIC,aAAa,CACfC,uBAAwB,CACpBC,KAAM,GACNC,SAAU,OAIlB,IAAIC,GAAc,EAEPC,EAAkBP,EAAEQ,QAAQC,OAAO,CAC1CC,SAAU,WACNC,KAAKC,aAAeD,KAAKC,aAAaC,KAAKF,MAE3CA,KAAKG,sBACLH,KAAKI,sBACLJ,KAAKK,uBAILL,KAAKM,KAAKC,WAAWC,iBAAiB,aAAcR,KAAKC,cACzDD,KAAKM,KAAKC,WAAWC,iBAAiB,YAAaR,KAAKC,cACxDD,KAAKM,KAAKC,WAAWC,iBAAiB,WAAYR,KAAKC,cACvDD,KAAKM,KAAKC,WAAWC,iBAAiB,cAAeR,KAAKC,cAC1DD,KAAKM,KAAKC,WAAWC,iBAAiB,QAASR,KAAKC,cAEpDZ,EAAEoB,SAASC,GACPV,KAAKM,KAAKC,WACV,QACAP,KAAKW,cACLX,MAEJX,EAAEoB,SAASC,GAAGV,KAAKM,KAAM,YAAaN,KAAKY,iBAAkBZ,MAC7DX,EAAEoB,SAASC,GAAGV,KAAKM,KAAM,WAAYN,KAAKa,gBAAiBb,MAG3DX,EAAEoB,SAASC,GAAGV,KAAKM,KAAM,YAAaN,KAAKc,gBAAiBd,MAC5DX,EAAEoB,SAASC,GAAGV,KAAKM,KAAM,OAAQN,KAAKc,gBAAiBd,MACvDX,EAAEoB,SAASC,GAAGV,KAAKM,KAAM,UAAWN,KAAKc,gBAAiBd,OAG9De,YAAa,WACTf,KAAKgB,sBAELhB,KAAKM,KAAKC,WAAWU,oBACjB,aACAjB,KAAKC,cAETD,KAAKM,KAAKC,WAAWU,oBACjB,YACAjB,KAAKC,cAETD,KAAKM,KAAKC,WAAWU,oBAAoB,WAAYjB,KAAKC,cAC1DD,KAAKM,KAAKC,WAAWU,oBACjB,cACAjB,KAAKC,cAETD,KAAKM,KAAKC,WAAWU,oBAAoB,QAASjB,KAAKC,cAEvDZ,EAAEoB,SAASS,IACPlB,KAAKM,KAAKC,WACV,QACAP,KAAKW,cACLX,MAEJX,EAAEoB,SAASS,IAAIlB,KAAKM,KAAM,YAAaN,KAAKY,iBAAkBZ,MAC9DX,EAAEoB,SAASS,IAAIlB,KAAKM,KAAM,WAAYN,KAAKa,gBAAiBb,MAE5DX,EAAEoB,SAASS,IAAIlB,KAAKM,KAAM,YAAaN,KAAKc,gBAAiBd,MAC7DX,EAAEoB,SAASS,IAAIlB,KAAKM,KAAM,OAAQN,KAAKc,gBAAiBd,MACxDX,EAAEoB,SAASS,IAAIlB,KAAKM,KAAM,UAAWN,KAAKc,gBAAiBd,OAG/Dc,gBAAiB,SAASK,GACR,aAAVA,EAAEC,MAAiC,QAAVD,EAAEC,KAC3BzB,GAAc,EACG,WAAVwB,EAAEC,OACTzB,GAAc,IAItBU,qBAAsB,WAClBL,KAAKM,KAAKe,SAASC,UACnBtB,KAAKM,KAAKiB,gBAAgBD,UACtBtB,KAAKM,KAAKkB,KACVxB,KAAKM,KAAKkB,IAAIF,WAItBN,oBAAqB,WACjBhB,KAAKM,KAAKe,SAASI,SACnBzB,KAAKM,KAAKiB,gBAAgBE,SACtBzB,KAAKM,KAAKkB,KACVxB,KAAKM,KAAKkB,IAAIC,UAItBtB,oBAAqB,WAEbH,KAAKM,KAAKoB,QAAQC,sBAClB3B,KAAKM,KAAKoB,QAAQlC,uBAAuBC,KAAOO,KAAKM,KAAKoB,QAAQC,sBAI1EvB,oBAAqB,WACjB,IAkBQwB,EATJC,EANA7B,KAAKM,KAAKoB,QAAQlC,wBAClBQ,KAAKM,KAAKoB,QAAQlC,uBAAuBC,MACzCO,KAAKM,KAAKoB,QAAQlC,uBAAuBC,KAAK3D,OAC9CkE,KAAKM,KAAKoB,QAAQlC,uBAAuBC,KAAK1D,QAC9CiE,KAAKM,KAAKoB,QAAQlC,uBAAuBC,KAAKzD,UAE5BgE,KAAKM,KAAKoB,QAAQlC,uBAAuBC,MAKvDmC,EAAO5B,KAAK8B,mBAQZlG,EAJAgG,EADCA,GACM,QAKPC,EAAkBjG,EAAgBgG,IAIjCC,IAA0C,IAAvBD,EAAKG,QAAQ,OACjCH,EAAOA,EAAKI,MAAM,KAAK,GACvBH,EAAkBjG,EAAgBgG,IAGjCC,GAIiBjG,EADlBgG,EAAO,OASXK,GAAM,EAC6C,GAAnDC,UAAUC,SAASC,cAAcL,QAAQ,SACzCE,GAAM,GAGV,IAAII,EAAgBR,EAAgB9F,OAChCkG,IACAI,EAAgBR,EAAgB7F,WAGpCgE,KAAKM,KAAKC,WAAW+B,aACjB,sCACAT,EAAgB/F,OAEpBkE,KAAKM,KAAKC,WAAW+B,aACjB,uCACAD,IAIRP,iBAAkB,WAId,OAHWI,UAAUK,UACfL,UAAUK,UAAU,GACpBL,UAAUM,UAAYN,UAAUO,cAI1CxC,aAAc,SAASkB,GAanB,IAXA,IAAIuB,EAAa,CACb,0BACA,sBACA,wBACA,gCACA,6BACA,0BACA,4BAGAC,GAAgB,EACXC,EAAI,EAAGA,EAAIF,EAAWG,OAAQD,IAC/BvD,EAAEyD,QAAQC,SAAS5B,EAAE6B,OAAQN,EAAWE,MACxCD,GAAgB,GAIpBA,EAEItD,EAAEyD,QAAQC,SAAS5B,EAAE6B,OAAQ,wBAClB,cAAX7B,EAAEC,MACmB,IAArBD,EAAE8B,QAAQJ,QAEVxD,EAAEyD,QAAQI,SAASlD,KAAKM,KAAKC,WACzB,0CAEJP,KAAKK,wBAELhB,EAAEyD,QAAQK,YAAYnD,KAAKM,KAAKC,WAC5B,0CAMG,cAAXY,EAAEC,MAAmC,eAAXD,EAAEC,KAMP,IAArBD,EAAE8B,QAAQJ,QACVxD,EAAEyD,QAAQI,SAASlD,KAAKM,KAAKC,WACzB,0CAEJP,KAAKK,yBAELL,KAAKgB,sBACL3B,EAAEyD,QAAQK,YAAYnD,KAAKM,KAAKC,WAC5B,2CAbJlB,EAAEyD,QAAQK,YAAYnD,KAAKM,KAAKC,WAC5B,2CAiBZ6C,cAAc,EAEdzC,cAAe,SAASQ,GAChBA,EAAEkC,SAAWlC,EAAEmC,SACfnC,EAAEoC,iBACFlE,EAAEyD,QAAQK,YAAYnD,KAAKM,KAAKC,WAC5B,2CAEJP,KAAKM,KAAKiB,gBAAgBE,WAE1BpC,EAAEyD,QAAQI,SAASlD,KAAKM,KAAKC,WACzB,2CAEJP,KAAKM,KAAKiB,gBAAgBD,UAE1BkC,aAAaxD,KAAKoD,cAGlBpD,KAAKoD,aAAeK,WAAW,WAK3B,IAHA,IAAIC,EAAWC,SAASC,uBACpB,2CAEKhB,EAAI,EAAGA,EAAIc,EAASb,OAAQD,IACjCvD,EAAEyD,QAAQK,YAAYO,EAASd,GAC3B,4CAGT5C,KAAKM,KAAKoB,QAAQlC,uBAAuBE,YAIpDkB,iBAAkB,SAASO,GACvBnB,KAAKgB,uBAGTH,gBAAiB,SAASM,GACjBxB,GACDK,KAAKK,0BAMjBhB,EAAEC,IAAIuE,YAAY,aAAc,kBAAmBjE,G","file":"leaflet-gesture-handling.min.js","sourcesContent":["export default {\r\n //Arabic\r\n ar: {\r\n touch:\r\n \"\\u0627\\u0633\\u062a\\u062e\\u062f\\u0645 \\u0625\\u0635\\u0628\\u0639\\u064a\\u0646 \\u0644\\u062a\\u062d\\u0631\\u064a\\u0643 \\u0627\\u0644\\u062e\\u0631\\u064a\\u0637\\u0629\",\r\n scroll:\r\n \"\\u200f\\u0627\\u0633\\u062a\\u062e\\u062f\\u0645 ctrl + scroll \\u0644\\u062a\\u0635\\u063a\\u064a\\u0631/\\u062a\\u0643\\u0628\\u064a\\u0631 \\u0627\\u0644\\u062e\\u0631\\u064a\\u0637\\u0629\",\r\n scrollMac:\r\n \"\\u064a\\u0645\\u0643\\u0646\\u0643 \\u0627\\u0633\\u062a\\u062e\\u062f\\u0627\\u0645 \\u2318 + \\u0627\\u0644\\u062a\\u0645\\u0631\\u064a\\u0631 \\u0644\\u062a\\u0643\\u0628\\u064a\\u0631/\\u062a\\u0635\\u063a\\u064a\\u0631 \\u0627\\u0644\\u062e\\u0631\\u064a\\u0637\\u0629\"\r\n },\r\n //Bulgarian\r\n bg: {\r\n touch:\r\n \"\\u0418\\u0437\\u043f\\u043e\\u043b\\u0437\\u0432\\u0430\\u0439\\u0442\\u0435 \\u0434\\u0432\\u0430 \\u043f\\u0440\\u044a\\u0441\\u0442\\u0430, \\u0437\\u0430 \\u0434\\u0430 \\u043f\\u0440\\u0435\\u043c\\u0435\\u0441\\u0442\\u0438\\u0442\\u0435 \\u043a\\u0430\\u0440\\u0442\\u0430\\u0442\\u0430\",\r\n scroll:\r\n \"\\u0417\\u0430\\u0434\\u0440\\u044a\\u0436\\u0442\\u0435 \\u0431\\u0443\\u0442\\u043e\\u043d\\u0430 Ctrl \\u043d\\u0430\\u0442\\u0438\\u0441\\u043d\\u0430\\u0442, \\u0434\\u043e\\u043a\\u0430\\u0442\\u043e \\u043f\\u0440\\u0435\\u0432\\u044a\\u0440\\u0442\\u0430\\u0442\\u0435, \\u0437\\u0430 \\u0434\\u0430 \\u043f\\u0440\\u043e\\u043c\\u0435\\u043d\\u0438\\u0442\\u0435 \\u043c\\u0430\\u0449\\u0430\\u0431\\u0430 \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0430\\u0442\\u0430\",\r\n scrollMac:\r\n \"\\u0417\\u0430\\u0434\\u0440\\u044a\\u0436\\u0442\\u0435 \\u0431\\u0443\\u0442\\u043e\\u043d\\u0430 \\u2318 \\u043d\\u0430\\u0442\\u0438\\u0441\\u043d\\u0430\\u0442, \\u0434\\u043e\\u043a\\u0430\\u0442\\u043e \\u043f\\u0440\\u0435\\u0432\\u044a\\u0440\\u0442\\u0430\\u0442\\u0435, \\u0437\\u0430 \\u0434\\u0430 \\u043f\\u0440\\u043e\\u043c\\u0435\\u043d\\u0438\\u0442\\u0435 \\u043c\\u0430\\u0449\\u0430\\u0431\\u0430 \\u043d\\u0430 \\u043a\\u0430\\u0440\\u0442\\u0430\\u0442\\u0430\"\r\n },\r\n //Bengali\r\n bn: {\r\n touch:\r\n \"\\u09ae\\u09be\\u09a8\\u099a\\u09bf\\u09a4\\u09cd\\u09b0\\u099f\\u09bf\\u0995\\u09c7 \\u09b8\\u09b0\\u09be\\u09a4\\u09c7 \\u09a6\\u09c1\\u099f\\u09bf \\u0986\\u0999\\u09cd\\u0997\\u09c1\\u09b2 \\u09ac\\u09cd\\u09af\\u09ac\\u09b9\\u09be\\u09b0 \\u0995\\u09b0\\u09c1\\u09a8\",\r\n scroll:\r\n \"\\u09ae\\u09cd\\u09af\\u09be\\u09aa \\u099c\\u09c1\\u09ae \\u0995\\u09b0\\u09a4\\u09c7 ctrl + scroll \\u09ac\\u09cd\\u09af\\u09ac\\u09b9\\u09be\\u09b0 \\u0995\\u09b0\\u09c1\\u09a8\",\r\n scrollMac:\r\n \"\\u09ae\\u09cd\\u09af\\u09be\\u09aa\\u09c7 \\u099c\\u09c1\\u09ae \\u0995\\u09b0\\u09a4\\u09c7 \\u2318 \\u09ac\\u09cb\\u09a4\\u09be\\u09ae \\u099f\\u09bf\\u09aa\\u09c7 \\u09b8\\u09cd\\u0995\\u09cd\\u09b0\\u09b2 \\u0995\\u09b0\\u09c1\\u09a8\"\r\n },\r\n //Catalan\r\n ca: {\r\n touch: \"Fes servir dos dits per moure el mapa\",\r\n scroll:\r\n \"Prem la tecla Control mentre et desplaces per apropar i allunyar el mapa\",\r\n scrollMac:\r\n \"Prem la tecla \\u2318 mentre et desplaces per apropar i allunyar el mapa\"\r\n },\r\n //Czech\r\n cs: {\r\n touch: \"K\\u00a0posunut\\u00ed mapy pou\\u017eijte dva prsty\",\r\n scroll:\r\n \"Velikost zobrazen\\u00ed mapy zm\\u011b\\u0148te podr\\u017een\\u00edm kl\\u00e1vesy Ctrl a\\u00a0posouv\\u00e1n\\u00edm kole\\u010dka my\\u0161i\",\r\n scrollMac:\r\n \"Velikost zobrazen\\u00ed mapy zm\\u011bn\\u00edte podr\\u017een\\u00edm kl\\u00e1vesy \\u2318 a\\u00a0posunut\\u00edm kole\\u010dka my\\u0161i / touchpadu\"\r\n },\r\n //Danish\r\n da: {\r\n touch: \"Brug to fingre til at flytte kortet\",\r\n scroll:\r\n \"Brug ctrl + rullefunktionen til at zoome ind og ud p\\u00e5 kortet\",\r\n scrollMac:\r\n \"Brug \\u2318 + rullefunktionen til at zoome ind og ud p\\u00e5 kortet\"\r\n },\r\n //German\r\n de: {\r\n touch: \"Verschieben der Karte mit zwei Fingern\",\r\n scroll: \"Verwende Strg+Scrollen zum Zoomen der Karte\",\r\n scrollMac: \"\\u2318\"\r\n },\r\n //Greek\r\n el: {\r\n touch:\r\n \"\\u03a7\\u03c1\\u03b7\\u03c3\\u03b9\\u03bc\\u03bf\\u03c0\\u03bf\\u03b9\\u03ae\\u03c3\\u03c4\\u03b5 \\u03b4\\u03cd\\u03bf \\u03b4\\u03ac\\u03c7\\u03c4\\u03c5\\u03bb\\u03b1 \\u03b3\\u03b9\\u03b1 \\u03bc\\u03b5\\u03c4\\u03b1\\u03ba\\u03af\\u03bd\\u03b7\\u03c3\\u03b7 \\u03c3\\u03c4\\u03bf\\u03bd \\u03c7\\u03ac\\u03c1\\u03c4\\u03b7\",\r\n scroll:\r\n \"\\u03a7\\u03c1\\u03b7\\u03c3\\u03b9\\u03bc\\u03bf\\u03c0\\u03bf\\u03b9\\u03ae\\u03c3\\u03c4\\u03b5 \\u03c4\\u03bf \\u03c0\\u03bb\\u03ae\\u03ba\\u03c4\\u03c1\\u03bf Ctrl \\u03ba\\u03b1\\u03b9 \\u03ba\\u03cd\\u03bb\\u03b9\\u03c3\\u03b7, \\u03b3\\u03b9\\u03b1 \\u03bd\\u03b1 \\u03bc\\u03b5\\u03b3\\u03b5\\u03b8\\u03cd\\u03bd\\u03b5\\u03c4\\u03b5 \\u03c4\\u03bf\\u03bd \\u03c7\\u03ac\\u03c1\\u03c4\\u03b7\",\r\n scrollMac:\r\n \"\\u03a7\\u03c1\\u03b7\\u03c3\\u03b9\\u03bc\\u03bf\\u03c0\\u03bf\\u03b9\\u03ae\\u03c3\\u03c4\\u03b5 \\u03c4\\u03bf \\u03c0\\u03bb\\u03ae\\u03ba\\u03c4\\u03c1\\u03bf \\u2318 + \\u03ba\\u03cd\\u03bb\\u03b9\\u03c3\\u03b7 \\u03b3\\u03b9\\u03b1 \\u03b5\\u03c3\\u03c4\\u03af\\u03b1\\u03c3\\u03b7 \\u03c3\\u03c4\\u03bf\\u03bd \\u03c7\\u03ac\\u03c1\\u03c4\\u03b7\"\r\n },\r\n //English\r\n en: {\r\n touch: \"Use two fingers to move the map\",\r\n scroll: \"Use ctrl + scroll to zoom the map\",\r\n scrollMac: \"Use \\u2318 + scroll to zoom the map\"\r\n },\r\n //English (Australian)\r\n \"en-AU\": {\r\n touch: \"Use two fingers to move the map\",\r\n scroll: \"Use ctrl + scroll to zoom the map\",\r\n scrollMac: \"Use \\u2318 + scroll to zoom the map\"\r\n },\r\n //English (Great Britain)\r\n \"en-GB\": {\r\n touch: \"Use two fingers to move the map\",\r\n scroll: \"Use ctrl + scroll to zoom the map\",\r\n scrollMac: \"Use \\u2318 + scroll to zoom the map\"\r\n },\r\n //Spanish\r\n es: {\r\n touch: \"Para mover el mapa, utiliza dos dedos\",\r\n scroll:\r\n \"Mant\\u00e9n pulsada la tecla Ctrl mientras te desplazas para acercar o alejar el mapa\",\r\n scrollMac:\r\n \"Mant\\u00e9n pulsada la tecla \\u2318 mientras te desplazas para acercar o alejar el mapa\"\r\n },\r\n //Basque\r\n eu: {\r\n touch: \"Erabili bi hatz mapa mugitzeko\",\r\n scroll: \"Mapan zooma aplikatzeko, sakatu Ktrl eta egin gora edo behera\",\r\n scrollMac:\r\n \"Eduki sakatuta \\u2318 eta egin gora eta behera mapa handitu eta txikitzeko\"\r\n },\r\n //Farsi\r\n fa: {\r\n touch:\r\n \"\\u0628\\u0631\\u0627\\u06cc \\u062d\\u0631\\u06a9\\u062a \\u062f\\u0627\\u062f\\u0646 \\u0646\\u0642\\u0634\\u0647 \\u0627\\u0632 \\u062f\\u0648 \\u0627\\u0646\\u06af\\u0634\\u062a \\u0627\\u0633\\u062a\\u0641\\u0627\\u062f\\u0647 \\u06a9\\u0646\\u06cc\\u062f.\",\r\n scroll:\r\n \"\\u200f\\u0628\\u0631\\u0627\\u06cc \\u0628\\u0632\\u0631\\u06af\\u200c\\u0646\\u0645\\u0627\\u06cc\\u06cc \\u0646\\u0642\\u0634\\u0647 \\u0627\\u0632 ctrl + scroll \\u0627\\u0633\\u062a\\u0641\\u0627\\u062f\\u0647 \\u06a9\\u0646\\u06cc\\u062f\",\r\n scrollMac:\r\n \"\\u0628\\u0631\\u0627\\u06cc \\u0628\\u0632\\u0631\\u06af\\u200c\\u0646\\u0645\\u0627\\u06cc\\u06cc \\u0646\\u0642\\u0634\\u0647\\u060c \\u0627\\u0632 \\u2318 + \\u067e\\u06cc\\u0645\\u0627\\u06cc\\u0634 \\u0627\\u0633\\u062a\\u0641\\u0627\\u062f\\u0647 \\u06a9\\u0646\\u06cc\\u062f.\"\r\n },\r\n //Finnish\r\n fi: {\r\n touch: \"Siirr\\u00e4 karttaa kahdella sormella.\",\r\n scroll:\r\n \"Zoomaa karttaa painamalla Ctrl-painiketta ja vieritt\\u00e4m\\u00e4ll\\u00e4.\",\r\n scrollMac:\r\n \"Zoomaa karttaa pit\\u00e4m\\u00e4ll\\u00e4 painike \\u2318 painettuna ja vieritt\\u00e4m\\u00e4ll\\u00e4.\"\r\n },\r\n //Filipino\r\n fil: {\r\n touch: \"Gumamit ng dalawang daliri upang iusog ang mapa\",\r\n scroll: \"Gamitin ang ctrl + scroll upang i-zoom ang mapa\",\r\n scrollMac: \"Gamitin ang \\u2318 + scroll upang i-zoom ang mapa\"\r\n },\r\n //French\r\n fr: {\r\n touch: \"Utilisez deux\\u00a0doigts pour d\\u00e9placer la carte\",\r\n scroll:\r\n \"Vous pouvez zoomer sur la carte \\u00e0 l'aide de CTRL+Molette de d\\u00e9filement\",\r\n scrollMac:\r\n \"Vous pouvez zoomer sur la carte \\u00e0 l'aide de \\u2318+Molette de d\\u00e9filement\"\r\n },\r\n //Galician\r\n gl: {\r\n touch: \"Utiliza dous dedos para mover o mapa\",\r\n scroll: \"Preme Ctrl mentres te desprazas para ampliar o mapa\",\r\n scrollMac: \"Preme \\u2318 e despr\\u00e1zate para ampliar o mapa\"\r\n },\r\n //Gujarati\r\n gu: {\r\n touch:\r\n \"\\u0aa8\\u0a95\\u0ab6\\u0acb \\u0a96\\u0ab8\\u0ac7\\u0aa1\\u0ab5\\u0abe \\u0aac\\u0ac7 \\u0a86\\u0a82\\u0a97\\u0ab3\\u0ac0\\u0a93\\u0aa8\\u0acb \\u0a89\\u0aaa\\u0aaf\\u0acb\\u0a97 \\u0a95\\u0ab0\\u0acb\",\r\n scroll:\r\n \"\\u0aa8\\u0a95\\u0ab6\\u0abe\\u0aa8\\u0ac7 \\u0a9d\\u0ac2\\u0aae \\u0a95\\u0ab0\\u0ab5\\u0abe \\u0aae\\u0abe\\u0a9f\\u0ac7 ctrl + \\u0ab8\\u0acd\\u0a95\\u0acd\\u0ab0\\u0acb\\u0ab2\\u0aa8\\u0acb \\u0a89\\u0aaa\\u0aaf\\u0acb\\u0a97 \\u0a95\\u0ab0\\u0acb\",\r\n scrollMac:\r\n \"\\u0aa8\\u0a95\\u0ab6\\u0abe\\u0aa8\\u0ac7 \\u0a9d\\u0ac2\\u0aae \\u0a95\\u0ab0\\u0ab5\\u0abe \\u2318 + \\u0ab8\\u0acd\\u0a95\\u0acd\\u0ab0\\u0acb\\u0ab2\\u0aa8\\u0acb \\u0a89\\u0aaa\\u0aaf\\u0acb\\u0a97 \\u0a95\\u0ab0\\u0acb\"\r\n },\r\n //Hindi\r\n hi: {\r\n touch:\r\n \"\\u092e\\u0948\\u092a \\u090f\\u0915 \\u091c\\u0917\\u0939 \\u0938\\u0947 \\u0926\\u0942\\u0938\\u0930\\u0940 \\u091c\\u0917\\u0939 \\u0932\\u0947 \\u091c\\u093e\\u0928\\u0947 \\u0915\\u0947 \\u0932\\u093f\\u090f \\u0926\\u094b \\u0909\\u0902\\u0917\\u0932\\u093f\\u092f\\u094b\\u0902 \\u0915\\u093e \\u0907\\u0938\\u094d\\u0924\\u0947\\u092e\\u093e\\u0932 \\u0915\\u0930\\u0947\\u0902\",\r\n scroll:\r\n \"\\u092e\\u0948\\u092a \\u0915\\u094b \\u091c\\u093c\\u0942\\u092e \\u0915\\u0930\\u0928\\u0947 \\u0915\\u0947 \\u0932\\u093f\\u090f ctrl + \\u0938\\u094d\\u0915\\u094d\\u0930\\u094b\\u0932 \\u0915\\u093e \\u0909\\u092a\\u092f\\u094b\\u0917 \\u0915\\u0930\\u0947\\u0902\",\r\n scrollMac:\r\n \"\\u092e\\u0948\\u092a \\u0915\\u094b \\u091c\\u093c\\u0942\\u092e \\u0915\\u0930\\u0928\\u0947 \\u0915\\u0947 \\u0932\\u093f\\u090f \\u2318 + \\u0938\\u094d\\u0915\\u094d\\u0930\\u094b\\u0932 \\u0915\\u093e \\u0909\\u092a\\u092f\\u094b\\u0917 \\u0915\\u0930\\u0947\\u0902\"\r\n },\r\n //Croatian\r\n hr: {\r\n touch: \"Pomi\\u010dite kartu pomo\\u0107u dva prsta\",\r\n scroll:\r\n \"Upotrijebite Ctrl i kliza\\u010d mi\\u0161a da biste zumirali kartu\",\r\n scrollMac:\r\n \"Upotrijebite gumb \\u2318 dok se pomi\\u010dete za zumiranje karte\"\r\n },\r\n //Hungarian\r\n hu: {\r\n touch: \"K\\u00e9t ujjal mozgassa a t\\u00e9rk\\u00e9pet\",\r\n scroll:\r\n \"A t\\u00e9rk\\u00e9p a ctrl + g\\u00f6rget\\u00e9s haszn\\u00e1lat\\u00e1val nagy\\u00edthat\\u00f3\",\r\n scrollMac:\r\n \"A t\\u00e9rk\\u00e9p a \\u2318 + g\\u00f6rget\\u00e9s haszn\\u00e1lat\\u00e1val nagy\\u00edthat\\u00f3\"\r\n },\r\n //Indonesian\r\n id: {\r\n touch: \"Gunakan dua jari untuk menggerakkan peta\",\r\n scroll: \"Gunakan ctrl + scroll untuk memperbesar atau memperkecil peta\",\r\n scrollMac:\r\n \"Gunakan \\u2318 + scroll untuk memperbesar atau memperkecil peta\"\r\n },\r\n //Italian\r\n it: {\r\n touch: \"Utilizza due dita per spostare la mappa\",\r\n scroll: \"Utilizza CTRL + scorrimento per eseguire lo zoom della mappa\",\r\n scrollMac:\r\n \"Utilizza \\u2318 + scorrimento per eseguire lo zoom della mappa\"\r\n },\r\n //Hebrew\r\n iw: {\r\n touch:\r\n \"\\u05d4\\u05d6\\u05d6 \\u05d0\\u05ea \\u05d4\\u05de\\u05e4\\u05d4 \\u05d1\\u05d0\\u05de\\u05e6\\u05e2\\u05d5\\u05ea \\u05e9\\u05ea\\u05d9 \\u05d0\\u05e6\\u05d1\\u05e2\\u05d5\\u05ea\",\r\n scroll:\r\n \"\\u200f\\u05d0\\u05e4\\u05e9\\u05e8 \\u05dc\\u05e9\\u05e0\\u05d5\\u05ea \\u05d0\\u05ea \\u05de\\u05e8\\u05d7\\u05e7 \\u05d4\\u05ea\\u05e6\\u05d5\\u05d2\\u05d4 \\u05d1\\u05de\\u05e4\\u05d4 \\u05d1\\u05d0\\u05de\\u05e6\\u05e2\\u05d5\\u05ea \\u05de\\u05e7\\u05e9 ctrl \\u05d5\\u05d2\\u05dc\\u05d9\\u05dc\\u05d4\",\r\n scrollMac:\r\n \"\\u05d0\\u05e4\\u05e9\\u05e8 \\u05dc\\u05e9\\u05e0\\u05d5\\u05ea \\u05d0\\u05ea \\u05de\\u05e8\\u05d7\\u05e7 \\u05d4\\u05ea\\u05e6\\u05d5\\u05d2\\u05d4 \\u05d1\\u05de\\u05e4\\u05d4 \\u05d1\\u05d0\\u05de\\u05e6\\u05e2\\u05d5\\u05ea \\u05de\\u05e7\\u05e9 \\u2318 \\u05d5\\u05d2\\u05dc\\u05d9\\u05dc\\u05d4\"\r\n },\r\n //Japanese\r\n ja: {\r\n touch:\r\n \"\\u5730\\u56f3\\u3092\\u79fb\\u52d5\\u3055\\u305b\\u308b\\u306b\\u306f\\u6307 2 \\u672c\\u3067\\u64cd\\u4f5c\\u3057\\u307e\\u3059\",\r\n scroll:\r\n \"\\u5730\\u56f3\\u3092\\u30ba\\u30fc\\u30e0\\u3059\\u308b\\u306b\\u306f\\u3001Ctrl \\u30ad\\u30fc\\u3092\\u62bc\\u3057\\u306a\\u304c\\u3089\\u30b9\\u30af\\u30ed\\u30fc\\u30eb\\u3057\\u3066\\u304f\\u3060\\u3055\\u3044\",\r\n scrollMac:\r\n \"\\u5730\\u56f3\\u3092\\u30ba\\u30fc\\u30e0\\u3059\\u308b\\u306b\\u306f\\u3001\\u2318 \\u30ad\\u30fc\\u3092\\u62bc\\u3057\\u306a\\u304c\\u3089\\u30b9\\u30af\\u30ed\\u30fc\\u30eb\\u3057\\u3066\\u304f\\u3060\\u3055\\u3044\"\r\n },\r\n //Kannada\r\n kn: {\r\n touch: \"Use two fingers to move the map\",\r\n scroll: \"Use Ctrl + scroll to zoom the map\",\r\n scrollMac: \"Use ⌘ + scroll to zoom the map\"\r\n },\r\n //Korean\r\n ko: {\r\n touch:\r\n \"\\uc9c0\\ub3c4\\ub97c \\uc6c0\\uc9c1\\uc774\\ub824\\uba74 \\ub450 \\uc190\\uac00\\ub77d\\uc744 \\uc0ac\\uc6a9\\ud558\\uc138\\uc694.\",\r\n scroll:\r\n \"\\uc9c0\\ub3c4\\ub97c \\ud655\\ub300/\\ucd95\\uc18c\\ud558\\ub824\\uba74 Ctrl\\uc744 \\ub204\\ub978 \\ucc44 \\uc2a4\\ud06c\\ub864\\ud558\\uc138\\uc694.\",\r\n scrollMac:\r\n \"\\uc9c0\\ub3c4\\ub97c \\ud655\\ub300\\ud558\\ub824\\uba74 \\u2318 + \\uc2a4\\ud06c\\ub864 \\uc0ac\\uc6a9\"\r\n },\r\n //Lithuanian\r\n lt: {\r\n touch: \"Perkelkite \\u017eem\\u0117lap\\u012f dviem pir\\u0161tais\",\r\n scroll:\r\n \"Slinkite nuspaud\\u0119 klavi\\u0161\\u0105 \\u201eCtrl\\u201c, kad pakeistum\\u0117te \\u017eem\\u0117lapio mastel\\u012f\",\r\n scrollMac:\r\n \"Paspauskite klavi\\u0161\\u0105 \\u2318 ir slinkite, kad priartintum\\u0117te \\u017eem\\u0117lap\\u012f\"\r\n },\r\n //Latvian\r\n lv: {\r\n touch: \"Lai p\\u0101rvietotu karti, b\\u012bdiet to ar diviem pirkstiem\",\r\n scroll:\r\n \"Kartes t\\u0101lummai\\u0146ai izmantojiet ctrl + ritin\\u0101\\u0161anu\",\r\n scrollMac:\r\n \"Lai veiktu kartes t\\u0101lummai\\u0146u, izmantojiet \\u2318 + ritin\\u0101\\u0161anu\"\r\n },\r\n //Malayalam\r\n ml: {\r\n touch:\r\n \"\\u0d2e\\u0d3e\\u0d2a\\u0d4d\\u0d2a\\u0d4d \\u0d28\\u0d40\\u0d15\\u0d4d\\u0d15\\u0d3e\\u0d7b \\u0d30\\u0d23\\u0d4d\\u0d1f\\u0d4d \\u0d35\\u0d3f\\u0d30\\u0d32\\u0d41\\u0d15\\u0d7e \\u0d09\\u0d2a\\u0d2f\\u0d4b\\u0d17\\u0d3f\\u0d15\\u0d4d\\u0d15\\u0d41\\u0d15\",\r\n scroll:\r\n \"\\u0d15\\u0d7a\\u0d1f\\u0d4d\\u0d30\\u0d4b\\u0d7e + \\u0d38\\u0d4d\\u200c\\u0d15\\u0d4d\\u0d30\\u0d4b\\u0d7e \\u0d09\\u0d2a\\u0d2f\\u0d4b\\u0d17\\u0d3f\\u0d1a\\u0d4d\\u0d1a\\u0d4d \\u200c\\u0d2e\\u0d3e\\u0d2a\\u0d4d\\u0d2a\\u0d4d \\u200c\\u0d38\\u0d42\\u0d02 \\u0d1a\\u0d46\\u0d2f\\u0d4d\\u0d2f\\u0d41\\u0d15\",\r\n scrollMac:\r\n \"\\u2318 + \\u0d38\\u0d4d\\u200c\\u0d15\\u0d4d\\u0d30\\u0d4b\\u0d7e \\u0d09\\u0d2a\\u0d2f\\u0d4b\\u0d17\\u0d3f\\u0d1a\\u0d4d\\u0d1a\\u0d4d \\u200c\\u0d2e\\u0d3e\\u0d2a\\u0d4d\\u0d2a\\u0d4d \\u200c\\u0d38\\u0d42\\u0d02 \\u0d1a\\u0d46\\u0d2f\\u0d4d\\u0d2f\\u0d41\\u0d15\"\r\n },\r\n //Marathi\r\n mr: {\r\n touch:\r\n \"\\u0928\\u0915\\u093e\\u0936\\u093e \\u0939\\u0932\\u0935\\u093f\\u0923\\u094d\\u092f\\u093e\\u0938\\u093e\\u0920\\u0940 \\u0926\\u094b\\u0928 \\u092c\\u094b\\u091f\\u0947 \\u0935\\u093e\\u092a\\u0930\\u093e\",\r\n scroll:\r\n \"\\u0928\\u0915\\u093e\\u0936\\u093e \\u091d\\u0942\\u092e \\u0915\\u0930\\u0923\\u094d\\u092f\\u093e\\u0938\\u093e\\u0920\\u0940 ctrl + scroll \\u0935\\u093e\\u092a\\u0930\\u093e\",\r\n scrollMac:\r\n \"\\u0928\\u0915\\u093e\\u0936\\u093e\\u0935\\u0930 \\u091d\\u0942\\u092e \\u0915\\u0930\\u0923\\u094d\\u092f\\u093e\\u0938\\u093e\\u0920\\u0940 \\u2318 + \\u0938\\u094d\\u0915\\u094d\\u0930\\u094b\\u0932 \\u0935\\u093e\\u092a\\u0930\\u093e\"\r\n },\r\n //Dutch\r\n nl: {\r\n touch: \"Gebruik twee vingers om de kaart te verplaatsen\",\r\n scroll: \"Gebruik Ctrl + scrollen om in- en uit te zoomen op de kaart\",\r\n scrollMac:\r\n \"Gebruik \\u2318 + scrollen om in en uit te zoomen op de kaart\"\r\n },\r\n //Norwegian\r\n no: {\r\n touch: \"Bruk to fingre for \\u00e5 flytte kartet\",\r\n scroll: \"Hold ctrl-tasten inne og rull for \\u00e5 zoome p\\u00e5 kartet\",\r\n scrollMac:\r\n \"Hold inne \\u2318-tasten og rull for \\u00e5 zoome p\\u00e5 kartet\"\r\n },\r\n //Polish\r\n pl: {\r\n touch: \"Przesu\\u0144 map\\u0119 dwoma palcami\",\r\n scroll:\r\n \"Naci\\u015bnij CTRL i przewi\\u0144, by przybli\\u017cy\\u0107 map\\u0119\",\r\n scrollMac:\r\n \"Naci\\u015bnij\\u00a0\\u2318 i przewi\\u0144, by przybli\\u017cy\\u0107 map\\u0119\"\r\n },\r\n //Portuguese\r\n pt: {\r\n touch: \"Use dois dedos para mover o mapa\",\r\n scroll:\r\n \"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa\",\r\n scrollMac:\r\n \"Use \\u2318 e role a tela simultaneamente para aplicar zoom no mapa\"\r\n },\r\n //Portuguese (Brazil)\r\n \"pt-BR\": {\r\n touch: \"Use dois dedos para mover o mapa\",\r\n scroll:\r\n \"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa\",\r\n scrollMac:\r\n \"Use \\u2318 e role a tela simultaneamente para aplicar zoom no mapa\"\r\n },\r\n //Portuguese (Portugal\r\n \"pt-PT\": {\r\n touch: \"Utilize dois dedos para mover o mapa\",\r\n scroll: \"Utilizar ctrl + deslocar para aumentar/diminuir zoom do mapa\",\r\n scrollMac:\r\n \"Utilize \\u2318 + deslocar para aumentar/diminuir o zoom do mapa\"\r\n },\r\n //Romanian\r\n ro: {\r\n touch: \"Folosi\\u021bi dou\\u0103 degete pentru a deplasa harta\",\r\n scroll:\r\n \"Ap\\u0103sa\\u021bi tasta ctrl \\u0219i derula\\u021bi simultan pentru a m\\u0103ri harta\",\r\n scrollMac:\r\n \"Folosi\\u021bi \\u2318 \\u0219i derula\\u021bi pentru a m\\u0103ri/mic\\u0219ora harta\"\r\n },\r\n //Russian\r\n ru: {\r\n touch:\r\n \"\\u0427\\u0442\\u043e\\u0431\\u044b \\u043f\\u0435\\u0440\\u0435\\u043c\\u0435\\u0441\\u0442\\u0438\\u0442\\u044c \\u043a\\u0430\\u0440\\u0442\\u0443, \\u043f\\u0440\\u043e\\u0432\\u0435\\u0434\\u0438\\u0442\\u0435 \\u043f\\u043e \\u043d\\u0435\\u0439 \\u0434\\u0432\\u0443\\u043c\\u044f \\u043f\\u0430\\u043b\\u044c\\u0446\\u0430\\u043c\\u0438\",\r\n scroll:\r\n \"\\u0427\\u0442\\u043e\\u0431\\u044b \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u043c\\u0430\\u0441\\u0448\\u0442\\u0430\\u0431, \\u043f\\u0440\\u043e\\u043a\\u0440\\u0443\\u0447\\u0438\\u0432\\u0430\\u0439\\u0442\\u0435 \\u043a\\u0430\\u0440\\u0442\\u0443, \\u0443\\u0434\\u0435\\u0440\\u0436\\u0438\\u0432\\u0430\\u044f \\u043a\\u043b\\u0430\\u0432\\u0438\\u0448\\u0443 Ctrl.\",\r\n scrollMac:\r\n \"\\u0427\\u0442\\u043e\\u0431\\u044b \\u0438\\u0437\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c \\u043c\\u0430\\u0441\\u0448\\u0442\\u0430\\u0431, \\u043d\\u0430\\u0436\\u043c\\u0438\\u0442\\u0435 \\u2318\\u00a0+ \\u043f\\u0440\\u043e\\u043a\\u0440\\u0443\\u0442\\u043a\\u0430\"\r\n },\r\n //Slovak\r\n sk: {\r\n touch: \"Mapu m\\u00f4\\u017eete posun\\u00fa\\u0165 dvoma prstami\",\r\n scroll:\r\n \"Ak chcete pribl\\u00ed\\u017ei\\u0165 mapu, stla\\u010dte kl\\u00e1ves ctrl a\\u00a0pos\\u00favajte\",\r\n scrollMac:\r\n \"Ak chcete pribl\\u00ed\\u017ei\\u0165 mapu, stla\\u010dte kl\\u00e1ves \\u2318 a\\u00a0pos\\u00favajte kolieskom my\\u0161i\"\r\n },\r\n //Slovenian\r\n sl: {\r\n touch: \"Premaknite zemljevid z dvema prstoma\",\r\n scroll:\r\n \"Zemljevid pove\\u010date tako, da dr\\u017eite tipko Ctrl in vrtite kolesce na mi\\u0161ki\",\r\n scrollMac:\r\n \"Uporabite \\u2318 + funkcijo pomika, da pove\\u010date ali pomanj\\u0161ate zemljevid\"\r\n },\r\n //Serbian\r\n sr: {\r\n touch:\r\n \"\\u041c\\u0430\\u043f\\u0443 \\u043f\\u043e\\u043c\\u0435\\u0440\\u0430\\u0458\\u0442\\u0435 \\u043f\\u043e\\u043c\\u043e\\u045b\\u0443 \\u0434\\u0432\\u0430 \\u043f\\u0440\\u0441\\u0442\\u0430\",\r\n scroll:\r\n \"\\u041f\\u0440\\u0438\\u0442\\u0438\\u0441\\u043d\\u0438\\u0442\\u0435 ctrl \\u0442\\u0430\\u0441\\u0442\\u0435\\u0440 \\u0434\\u043e\\u043a \\u043f\\u043e\\u043c\\u0435\\u0440\\u0430\\u0442\\u0435 \\u0434\\u0430 \\u0431\\u0438\\u0441\\u0442\\u0435 \\u0437\\u0443\\u043c\\u0438\\u0440\\u0430\\u043b\\u0438 \\u043c\\u0430\\u043f\\u0443\",\r\n scrollMac:\r\n \"\\u041f\\u0440\\u0438\\u0442\\u0438\\u0441\\u043d\\u0438\\u0442\\u0435 \\u0442\\u0430\\u0441\\u0442\\u0435\\u0440 \\u2318 \\u0434\\u043e\\u043a \\u043f\\u043e\\u043c\\u0435\\u0440\\u0430\\u0442\\u0435 \\u0434\\u0430 \\u0431\\u0438\\u0441\\u0442\\u0435 \\u0437\\u0443\\u043c\\u0438\\u0440\\u0430\\u043b\\u0438 \\u043c\\u0430\\u043f\\u0443\"\r\n },\r\n //Swedish\r\n sv: {\r\n touch: \"Anv\\u00e4nd tv\\u00e5 fingrar f\\u00f6r att flytta kartan\",\r\n scroll: \"Anv\\u00e4nd ctrl + rulla f\\u00f6r att zooma kartan\",\r\n scrollMac:\r\n \"Anv\\u00e4nd \\u2318 + rulla f\\u00f6r att zooma p\\u00e5 kartan\"\r\n },\r\n //Tamil\r\n ta: {\r\n touch:\r\n \"\\u0bae\\u0bc7\\u0baa\\u0bcd\\u0baa\\u0bc8 \\u0ba8\\u0b95\\u0bb0\\u0bcd\\u0ba4\\u0bcd\\u0ba4 \\u0b87\\u0bb0\\u0ba3\\u0bcd\\u0b9f\\u0bc1 \\u0bb5\\u0bbf\\u0bb0\\u0bb2\\u0bcd\\u0b95\\u0bb3\\u0bc8\\u0baa\\u0bcd \\u0baa\\u0baf\\u0ba9\\u0bcd\\u0baa\\u0b9f\\u0bc1\\u0ba4\\u0bcd\\u0ba4\\u0bb5\\u0bc1\\u0bae\\u0bcd\",\r\n scroll:\r\n \"\\u0bae\\u0bc7\\u0baa\\u0bcd\\u0baa\\u0bc8 \\u0baa\\u0bc6\\u0bb0\\u0bbf\\u0ba4\\u0bbe\\u0b95\\u0bcd\\u0b95\\u0bbf/\\u0b9a\\u0bbf\\u0bb1\\u0bbf\\u0ba4\\u0bbe\\u0b95\\u0bcd\\u0b95\\u0bbf\\u0baa\\u0bcd \\u0baa\\u0bbe\\u0bb0\\u0bcd\\u0b95\\u0bcd\\u0b95, ctrl \\u0baa\\u0b9f\\u0bcd\\u0b9f\\u0ba9\\u0bc8\\u0baa\\u0bcd \\u0baa\\u0bbf\\u0b9f\\u0bbf\\u0ba4\\u0bcd\\u0ba4\\u0baa\\u0b9f\\u0bbf, \\u0bae\\u0bc7\\u0bb2\\u0bc7/\\u0b95\\u0bc0\\u0bb4\\u0bc7 \\u0bb8\\u0bcd\\u0b95\\u0bcd\\u0bb0\\u0bbe\\u0bb2\\u0bcd \\u0b9a\\u0bc6\\u0baf\\u0bcd\\u0baf\\u0bb5\\u0bc1\\u0bae\\u0bcd\",\r\n scrollMac:\r\n \"\\u0bae\\u0bc7\\u0baa\\u0bcd\\u0baa\\u0bc8 \\u0baa\\u0bc6\\u0bb0\\u0bbf\\u0ba4\\u0bbe\\u0b95\\u0bcd\\u0b95\\u0bbf/\\u0b9a\\u0bbf\\u0bb1\\u0bbf\\u0ba4\\u0bbe\\u0b95\\u0bcd\\u0b95\\u0bbf\\u0baa\\u0bcd \\u0baa\\u0bbe\\u0bb0\\u0bcd\\u0b95\\u0bcd\\u0b95, \\u2318 \\u0baa\\u0b9f\\u0bcd\\u0b9f\\u0ba9\\u0bc8\\u0baa\\u0bcd \\u0baa\\u0bbf\\u0b9f\\u0bbf\\u0ba4\\u0bcd\\u0ba4\\u0baa\\u0b9f\\u0bbf, \\u0bae\\u0bc7\\u0bb2\\u0bc7/\\u0b95\\u0bc0\\u0bb4\\u0bc7 \\u0bb8\\u0bcd\\u0b95\\u0bcd\\u0bb0\\u0bbe\\u0bb2\\u0bcd \\u0b9a\\u0bc6\\u0baf\\u0bcd\\u0baf\\u0bb5\\u0bc1\\u0bae\\u0bcd\"\r\n },\r\n //Telugu\r\n te: {\r\n touch:\r\n \"\\u0c2e\\u0c4d\\u0c2f\\u0c3e\\u0c2a\\u0c4d\\u200c\\u0c28\\u0c3f \\u0c24\\u0c30\\u0c32\\u0c3f\\u0c02\\u0c1a\\u0c21\\u0c02 \\u0c15\\u0c4b\\u0c38\\u0c02 \\u0c30\\u0c46\\u0c02\\u0c21\\u0c41 \\u0c35\\u0c47\\u0c33\\u0c4d\\u0c32\\u0c28\\u0c41 \\u0c09\\u0c2a\\u0c2f\\u0c4b\\u0c17\\u0c3f\\u0c02\\u0c1a\\u0c02\\u0c21\\u0c3f\",\r\n scroll:\r\n \"\\u0c2e\\u0c4d\\u0c2f\\u0c3e\\u0c2a\\u0c4d\\u200c\\u0c28\\u0c3f \\u0c1c\\u0c42\\u0c2e\\u0c4d \\u0c1a\\u0c47\\u0c2f\\u0c21\\u0c3e\\u0c28\\u0c3f\\u0c15\\u0c3f ctrl \\u0c2c\\u0c1f\\u0c28\\u0c4d\\u200c\\u0c28\\u0c41 \\u0c28\\u0c4a\\u0c15\\u0c4d\\u0c15\\u0c3f \\u0c09\\u0c02\\u0c1a\\u0c3f, \\u0c38\\u0c4d\\u0c15\\u0c4d\\u0c30\\u0c4b\\u0c32\\u0c4d \\u0c1a\\u0c47\\u0c2f\\u0c02\\u0c21\\u0c3f\",\r\n scrollMac:\r\n \"\\u0c2e\\u0c4d\\u0c2f\\u0c3e\\u0c2a\\u0c4d \\u0c1c\\u0c42\\u0c2e\\u0c4d \\u0c1a\\u0c47\\u0c2f\\u0c3e\\u0c32\\u0c02\\u0c1f\\u0c47 \\u2318 + \\u0c38\\u0c4d\\u0c15\\u0c4d\\u0c30\\u0c4b\\u0c32\\u0c4d \\u0c09\\u0c2a\\u0c2f\\u0c4b\\u0c17\\u0c3f\\u0c02\\u0c1a\\u0c02\\u0c21\\u0c3f\"\r\n },\r\n //Thai\r\n th: {\r\n touch:\r\n \"\\u0e43\\u0e0a\\u0e49 2 \\u0e19\\u0e34\\u0e49\\u0e27\\u0e40\\u0e1e\\u0e37\\u0e48\\u0e2d\\u0e40\\u0e25\\u0e37\\u0e48\\u0e2d\\u0e19\\u0e41\\u0e1c\\u0e19\\u0e17\\u0e35\\u0e48\",\r\n scroll:\r\n \"\\u0e01\\u0e14 Ctrl \\u0e04\\u0e49\\u0e32\\u0e07\\u0e44\\u0e27\\u0e49 \\u0e41\\u0e25\\u0e49\\u0e27\\u0e40\\u0e25\\u0e37\\u0e48\\u0e2d\\u0e19\\u0e2b\\u0e19\\u0e49\\u0e32\\u0e08\\u0e2d\\u0e40\\u0e1e\\u0e37\\u0e48\\u0e2d\\u0e0b\\u0e39\\u0e21\\u0e41\\u0e1c\\u0e19\\u0e17\\u0e35\\u0e48\",\r\n scrollMac:\r\n \"\\u0e01\\u0e14 \\u2318 \\u0e41\\u0e25\\u0e49\\u0e27\\u0e40\\u0e25\\u0e37\\u0e48\\u0e2d\\u0e19\\u0e2b\\u0e19\\u0e49\\u0e32\\u0e08\\u0e2d\\u0e40\\u0e1e\\u0e37\\u0e48\\u0e2d\\u0e0b\\u0e39\\u0e21\\u0e41\\u0e1c\\u0e19\\u0e17\\u0e35\\u0e48\"\r\n },\r\n //Tagalog\r\n tl: {\r\n touch: \"Gumamit ng dalawang daliri upang iusog ang mapa\",\r\n scroll: \"Gamitin ang ctrl + scroll upang i-zoom ang mapa\",\r\n scrollMac: \"Gamitin ang \\u2318 + scroll upang i-zoom ang mapa\"\r\n },\r\n //Turkish\r\n tr: {\r\n touch:\r\n \"Haritada gezinmek i\\u00e7in iki parma\\u011f\\u0131n\\u0131z\\u0131 kullan\\u0131n\",\r\n scroll:\r\n \"Haritay\\u0131 yak\\u0131nla\\u015ft\\u0131rmak i\\u00e7in ctrl + kayd\\u0131rma kombinasyonunu kullan\\u0131n\",\r\n scrollMac:\r\n \"Haritay\\u0131 yak\\u0131nla\\u015ft\\u0131rmak i\\u00e7in \\u2318 tu\\u015funa bas\\u0131p ekran\\u0131 kayd\\u0131r\\u0131n\"\r\n },\r\n //Ukrainian\r\n uk: {\r\n touch:\r\n \"\\u041f\\u0435\\u0440\\u0435\\u043c\\u0456\\u0449\\u0443\\u0439\\u0442\\u0435 \\u043a\\u0430\\u0440\\u0442\\u0443 \\u0434\\u0432\\u043e\\u043c\\u0430 \\u043f\\u0430\\u043b\\u044c\\u0446\\u044f\\u043c\\u0438\",\r\n scroll:\r\n \"\\u0429\\u043e\\u0431 \\u0437\\u043c\\u0456\\u043d\\u044e\\u0432\\u0430\\u0442\\u0438 \\u043c\\u0430\\u0441\\u0448\\u0442\\u0430\\u0431 \\u043a\\u0430\\u0440\\u0442\\u0438, \\u043f\\u0440\\u043e\\u043a\\u0440\\u0443\\u0447\\u0443\\u0439\\u0442\\u0435 \\u043a\\u043e\\u043b\\u0456\\u0449\\u0430\\u0442\\u043a\\u043e \\u043c\\u0438\\u0448\\u0456, \\u0443\\u0442\\u0440\\u0438\\u043c\\u0443\\u044e\\u0447\\u0438 \\u043a\\u043b\\u0430\\u0432\\u0456\\u0448\\u0443 Ctrl\",\r\n scrollMac:\r\n \"\\u0429\\u043e\\u0431 \\u0437\\u043c\\u0456\\u043d\\u0438\\u0442\\u0438 \\u043c\\u0430\\u0441\\u0448\\u0442\\u0430\\u0431 \\u043a\\u0430\\u0440\\u0442\\u0438, \\u0432\\u0438\\u043a\\u043e\\u0440\\u0438\\u0441\\u0442\\u043e\\u0432\\u0443\\u0439\\u0442\\u0435 \\u2318 + \\u043f\\u0440\\u043e\\u043a\\u0440\\u0443\\u0447\\u0443\\u0432\\u0430\\u043d\\u043d\\u044f\"\r\n },\r\n //Vietnamese\r\n vi: {\r\n touch:\r\n \"S\\u1eed d\\u1ee5ng hai ng\\u00f3n tay \\u0111\\u1ec3 di chuy\\u1ec3n b\\u1ea3n \\u0111\\u1ed3\",\r\n scroll:\r\n \"S\\u1eed d\\u1ee5ng ctrl + cu\\u1ed9n \\u0111\\u1ec3 thu ph\\u00f3ng b\\u1ea3n \\u0111\\u1ed3\",\r\n scrollMac:\r\n \"S\\u1eed d\\u1ee5ng \\u2318 + cu\\u1ed9n \\u0111\\u1ec3 thu ph\\u00f3ng b\\u1ea3n \\u0111\\u1ed3\"\r\n },\r\n //Chinese (Simplified)\r\n \"zh-CN\": {\r\n touch: \"\\u4f7f\\u7528\\u53cc\\u6307\\u79fb\\u52a8\\u5730\\u56fe\",\r\n scroll:\r\n \"\\u6309\\u4f4f Ctrl \\u5e76\\u6eda\\u52a8\\u9f20\\u6807\\u6eda\\u8f6e\\u624d\\u53ef\\u7f29\\u653e\\u5730\\u56fe\",\r\n scrollMac:\r\n \"\\u6309\\u4f4f \\u2318 \\u5e76\\u6eda\\u52a8\\u9f20\\u6807\\u6eda\\u8f6e\\u624d\\u53ef\\u7f29\\u653e\\u5730\\u56fe\"\r\n },\r\n //Chinese (Traditional)\r\n \"zh-TW\": {\r\n touch: \"\\u540c\\u6642\\u4ee5\\u5169\\u6307\\u79fb\\u52d5\\u5730\\u5716\",\r\n scroll:\r\n \"\\u6309\\u4f4f ctrl \\u9375\\u52a0\\u4e0a\\u6372\\u52d5\\u6ed1\\u9f20\\u53ef\\u4ee5\\u7e2e\\u653e\\u5730\\u5716\",\r\n scrollMac:\r\n \"\\u6309 \\u2318 \\u52a0\\u4e0a\\u6efe\\u52d5\\u6372\\u8ef8\\u53ef\\u4ee5\\u7e2e\\u653e\\u5730\\u5716\"\r\n }\r\n};\r\n","/*\r\n* * Leaflet Gesture Handling **\r\n* * Version 1.1.8\r\n*/\r\nimport LanguageContent from \"./language-content\";\r\n\r\nL.Map.mergeOptions({\r\n gestureHandlingOptions: {\r\n text: {},\r\n duration: 1000\r\n }\r\n});\r\n\r\nvar draggingMap = false;\r\n\r\nexport var GestureHandling = L.Handler.extend({\r\n addHooks: function() {\r\n this._handleTouch = this._handleTouch.bind(this);\r\n\r\n this._setupPluginOptions();\r\n this._setLanguageContent();\r\n this._disableInteractions();\r\n\r\n //Uses native event listeners instead of L.DomEvent due to issues with Android touch events\r\n //turning into pointer events\r\n this._map._container.addEventListener(\"touchstart\", this._handleTouch);\r\n this._map._container.addEventListener(\"touchmove\", this._handleTouch);\r\n this._map._container.addEventListener(\"touchend\", this._handleTouch);\r\n this._map._container.addEventListener(\"touchcancel\", this._handleTouch);\r\n this._map._container.addEventListener(\"click\", this._handleTouch);\r\n\r\n L.DomEvent.on(\r\n this._map._container,\r\n \"wheel\",\r\n this._handleScroll,\r\n this\r\n );\r\n L.DomEvent.on(this._map, \"mouseover\", this._handleMouseOver, this);\r\n L.DomEvent.on(this._map, \"mouseout\", this._handleMouseOut, this);\r\n\r\n // Listen to these events so will not disable dragging if the user moves the mouse out the boundary of the map container whilst actively dragging the map.\r\n L.DomEvent.on(this._map, \"movestart\", this._handleDragging, this);\r\n L.DomEvent.on(this._map, \"move\", this._handleDragging, this);\r\n L.DomEvent.on(this._map, \"moveend\", this._handleDragging, this);\r\n },\r\n\r\n removeHooks: function() {\r\n this._enableInteractions();\r\n\r\n this._map._container.removeEventListener(\r\n \"touchstart\",\r\n this._handleTouch\r\n );\r\n this._map._container.removeEventListener(\r\n \"touchmove\",\r\n this._handleTouch\r\n );\r\n this._map._container.removeEventListener(\"touchend\", this._handleTouch);\r\n this._map._container.removeEventListener(\r\n \"touchcancel\",\r\n this._handleTouch\r\n );\r\n this._map._container.removeEventListener(\"click\", this._handleTouch);\r\n\r\n L.DomEvent.off(\r\n this._map._container,\r\n \"wheel\",\r\n this._handleScroll,\r\n this\r\n );\r\n L.DomEvent.off(this._map, \"mouseover\", this._handleMouseOver, this);\r\n L.DomEvent.off(this._map, \"mouseout\", this._handleMouseOut, this);\r\n\r\n L.DomEvent.off(this._map, \"movestart\", this._handleDragging, this);\r\n L.DomEvent.off(this._map, \"move\", this._handleDragging, this);\r\n L.DomEvent.off(this._map, \"moveend\", this._handleDragging, this);\r\n },\r\n\r\n _handleDragging: function(e) {\r\n if (e.type == \"movestart\" || e.type == \"move\") {\r\n draggingMap = true;\r\n } else if (e.type == \"moveend\") {\r\n draggingMap = false;\r\n }\r\n },\r\n\r\n _disableInteractions: function() {\r\n this._map.dragging.disable();\r\n this._map.scrollWheelZoom.disable();\r\n if (this._map.tap) {\r\n this._map.tap.disable();\r\n }\r\n },\r\n\r\n _enableInteractions: function() {\r\n this._map.dragging.enable();\r\n this._map.scrollWheelZoom.enable();\r\n if (this._map.tap) {\r\n this._map.tap.enable();\r\n }\r\n },\r\n\r\n _setupPluginOptions: function() {\r\n //For backwards compatibility, merge gestureHandlingText into the new options object\r\n if (this._map.options.gestureHandlingText) {\r\n this._map.options.gestureHandlingOptions.text = this._map.options.gestureHandlingText;\r\n }\r\n },\r\n\r\n _setLanguageContent: function() {\r\n var languageContent;\r\n //If user has supplied custom language, use that\r\n if (\r\n this._map.options.gestureHandlingOptions &&\r\n this._map.options.gestureHandlingOptions.text &&\r\n this._map.options.gestureHandlingOptions.text.touch &&\r\n this._map.options.gestureHandlingOptions.text.scroll &&\r\n this._map.options.gestureHandlingOptions.text.scrollMac\r\n ) {\r\n languageContent = this._map.options.gestureHandlingOptions.text;\r\n } else {\r\n //Otherwise auto set it from the language files\r\n\r\n //Determine their language e.g fr or en-US\r\n var lang = this._getUserLanguage();\r\n\r\n //If we couldn't find it default to en\r\n if (!lang) {\r\n lang = \"en\";\r\n }\r\n\r\n //Lookup the appropriate language content\r\n if (LanguageContent[lang]) {\r\n languageContent = LanguageContent[lang];\r\n }\r\n\r\n //If no result, try searching by the first part only. e.g en-US just use en.\r\n if (!languageContent && lang.indexOf(\"-\") !== -1) {\r\n lang = lang.split(\"-\")[0];\r\n languageContent = LanguageContent[lang];\r\n }\r\n\r\n if (!languageContent) {\r\n // If still nothing, default to English\r\n // console.log(\"No lang found for\", lang);\r\n lang = \"en\";\r\n languageContent = LanguageContent[lang];\r\n }\r\n }\r\n\r\n //TEST\r\n // languageContent = LanguageContent[\"bg\"];\r\n\r\n //Check if they're on a mac for display of command instead of ctrl\r\n var mac = false;\r\n if (navigator.platform.toUpperCase().indexOf(\"MAC\") >= 0) {\r\n mac = true;\r\n }\r\n\r\n var scrollContent = languageContent.scroll;\r\n if (mac) {\r\n scrollContent = languageContent.scrollMac;\r\n }\r\n\r\n this._map._container.setAttribute(\r\n \"data-gesture-handling-touch-content\",\r\n languageContent.touch\r\n );\r\n this._map._container.setAttribute(\r\n \"data-gesture-handling-scroll-content\",\r\n scrollContent\r\n );\r\n },\r\n\r\n _getUserLanguage: function() {\r\n var lang = navigator.languages\r\n ? navigator.languages[0]\r\n : navigator.language || navigator.userLanguage;\r\n return lang;\r\n },\r\n\r\n _handleTouch: function(e) {\r\n //Disregard touch events on the minimap if present\r\n var ignoreList = [\r\n \"leaflet-control-minimap\",\r\n \"leaflet-interactive\",\r\n \"leaflet-popup-content\",\r\n \"leaflet-popup-content-wrapper\",\r\n \"leaflet-popup-close-button\",\r\n \"leaflet-control-zoom-in\",\r\n \"leaflet-control-zoom-out\"\r\n ];\r\n\r\n var ignoreElement = false;\r\n for (var i = 0; i < ignoreList.length; i++) {\r\n if (L.DomUtil.hasClass(e.target, ignoreList[i])) {\r\n ignoreElement = true;\r\n }\r\n }\r\n\r\n if (ignoreElement) {\r\n if (\r\n L.DomUtil.hasClass(e.target, \"leaflet-interactive\") &&\r\n e.type === \"touchmove\" &&\r\n e.touches.length === 1\r\n ) {\r\n L.DomUtil.addClass(this._map._container,\r\n \"leaflet-gesture-handling-touch-warning\"\r\n );\r\n this._disableInteractions();\r\n } else {\r\n L.DomUtil.removeClass(this._map._container, \r\n \"leaflet-gesture-handling-touch-warning\"\r\n );\r\n }\r\n return;\r\n }\r\n // screenLog(e.type+' '+e.touches.length);\r\n if (e.type !== \"touchmove\" && e.type !== \"touchstart\") {\r\n L.DomUtil.removeClass(this._map._container,\r\n \"leaflet-gesture-handling-touch-warning\"\r\n );\r\n return;\r\n }\r\n if (e.touches.length === 1) {\r\n L.DomUtil.addClass(this._map._container, \r\n \"leaflet-gesture-handling-touch-warning\"\r\n );\r\n this._disableInteractions();\r\n } else {\r\n this._enableInteractions();\r\n L.DomUtil.removeClass(this._map._container, \r\n \"leaflet-gesture-handling-touch-warning\"\r\n );\r\n }\r\n },\r\n\r\n _isScrolling: false,\r\n\r\n _handleScroll: function(e) {\r\n if (e.metaKey || e.ctrlKey) {\r\n e.preventDefault();\r\n L.DomUtil.removeClass(this._map._container,\r\n \"leaflet-gesture-handling-scroll-warning\"\r\n );\r\n this._map.scrollWheelZoom.enable();\r\n } else {\r\n L.DomUtil.addClass(this._map._container,\r\n \"leaflet-gesture-handling-scroll-warning\"\r\n );\r\n this._map.scrollWheelZoom.disable();\r\n\r\n clearTimeout(this._isScrolling);\r\n\r\n // Set a timeout to run after scrolling ends\r\n this._isScrolling = setTimeout(function() {\r\n // Run the callback\r\n var warnings = document.getElementsByClassName(\r\n \"leaflet-gesture-handling-scroll-warning\"\r\n );\r\n for (var i = 0; i < warnings.length; i++) {\r\n L.DomUtil.removeClass(warnings[i],\r\n \"leaflet-gesture-handling-scroll-warning\"\r\n );\r\n }\r\n }, this._map.options.gestureHandlingOptions.duration);\r\n }\r\n },\r\n\r\n _handleMouseOver: function(e) {\r\n this._enableInteractions();\r\n },\r\n\r\n _handleMouseOut: function(e) {\r\n if (!draggingMap) {\r\n this._disableInteractions();\r\n }\r\n }\r\n\r\n});\r\n\r\nL.Map.addInitHook(\"addHandler\", \"gestureHandling\", GestureHandling);\r\n\r\nexport default GestureHandling;\r\n"]}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/dist/leaflet-gesture-handling.js
New file
0,0 → 1,552
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define('leafletGestureHandling', ['exports'], factory) :
(factory((global.leafletGestureHandling = {})));
}(this, (function (exports) { 'use strict';
 
var LanguageContent = {
//Arabic
ar: {
touch: "\u0627\u0633\u062a\u062e\u062f\u0645 \u0625\u0635\u0628\u0639\u064a\u0646 \u0644\u062a\u062d\u0631\u064a\u0643 \u0627\u0644\u062e\u0631\u064a\u0637\u0629",
scroll: "\u200f\u0627\u0633\u062a\u062e\u062f\u0645 ctrl + scroll \u0644\u062a\u0635\u063a\u064a\u0631/\u062a\u0643\u0628\u064a\u0631 \u0627\u0644\u062e\u0631\u064a\u0637\u0629",
scrollMac: "\u064a\u0645\u0643\u0646\u0643 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u2318 + \u0627\u0644\u062a\u0645\u0631\u064a\u0631 \u0644\u062a\u0643\u0628\u064a\u0631/\u062a\u0635\u063a\u064a\u0631 \u0627\u0644\u062e\u0631\u064a\u0637\u0629"
},
//Bulgarian
bg: {
touch: "\u0418\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u0434\u0432\u0430 \u043f\u0440\u044a\u0441\u0442\u0430, \u0437\u0430 \u0434\u0430 \u043f\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u043a\u0430\u0440\u0442\u0430\u0442\u0430",
scroll: "\u0417\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430 Ctrl \u043d\u0430\u0442\u0438\u0441\u043d\u0430\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0432\u044a\u0440\u0442\u0430\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0430\u0449\u0430\u0431\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0430\u0442\u0430",
scrollMac: "\u0417\u0430\u0434\u0440\u044a\u0436\u0442\u0435 \u0431\u0443\u0442\u043e\u043d\u0430 \u2318 \u043d\u0430\u0442\u0438\u0441\u043d\u0430\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u043f\u0440\u0435\u0432\u044a\u0440\u0442\u0430\u0442\u0435, \u0437\u0430 \u0434\u0430 \u043f\u0440\u043e\u043c\u0435\u043d\u0438\u0442\u0435 \u043c\u0430\u0449\u0430\u0431\u0430 \u043d\u0430 \u043a\u0430\u0440\u0442\u0430\u0442\u0430"
},
//Bengali
bn: {
touch: "\u09ae\u09be\u09a8\u099a\u09bf\u09a4\u09cd\u09b0\u099f\u09bf\u0995\u09c7 \u09b8\u09b0\u09be\u09a4\u09c7 \u09a6\u09c1\u099f\u09bf \u0986\u0999\u09cd\u0997\u09c1\u09b2 \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c1\u09a8",
scroll: "\u09ae\u09cd\u09af\u09be\u09aa \u099c\u09c1\u09ae \u0995\u09b0\u09a4\u09c7 ctrl + scroll \u09ac\u09cd\u09af\u09ac\u09b9\u09be\u09b0 \u0995\u09b0\u09c1\u09a8",
scrollMac: "\u09ae\u09cd\u09af\u09be\u09aa\u09c7 \u099c\u09c1\u09ae \u0995\u09b0\u09a4\u09c7 \u2318 \u09ac\u09cb\u09a4\u09be\u09ae \u099f\u09bf\u09aa\u09c7 \u09b8\u09cd\u0995\u09cd\u09b0\u09b2 \u0995\u09b0\u09c1\u09a8"
},
//Catalan
ca: {
touch: "Fes servir dos dits per moure el mapa",
scroll: "Prem la tecla Control mentre et desplaces per apropar i allunyar el mapa",
scrollMac: "Prem la tecla \u2318 mentre et desplaces per apropar i allunyar el mapa"
},
//Czech
cs: {
touch: "K\u00a0posunut\u00ed mapy pou\u017eijte dva prsty",
scroll: "Velikost zobrazen\u00ed mapy zm\u011b\u0148te podr\u017een\u00edm kl\u00e1vesy Ctrl a\u00a0posouv\u00e1n\u00edm kole\u010dka my\u0161i",
scrollMac: "Velikost zobrazen\u00ed mapy zm\u011bn\u00edte podr\u017een\u00edm kl\u00e1vesy \u2318 a\u00a0posunut\u00edm kole\u010dka my\u0161i / touchpadu"
},
//Danish
da: {
touch: "Brug to fingre til at flytte kortet",
scroll: "Brug ctrl + rullefunktionen til at zoome ind og ud p\u00e5 kortet",
scrollMac: "Brug \u2318 + rullefunktionen til at zoome ind og ud p\u00e5 kortet"
},
//German
de: {
touch: "Verschieben der Karte mit zwei Fingern",
scroll: "Verwende Strg+Scrollen zum Zoomen der Karte",
scrollMac: "\u2318"
},
//Greek
el: {
touch: "\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03b4\u03cd\u03bf \u03b4\u03ac\u03c7\u03c4\u03c5\u03bb\u03b1 \u03b3\u03b9\u03b1 \u03bc\u03b5\u03c4\u03b1\u03ba\u03af\u03bd\u03b7\u03c3\u03b7 \u03c3\u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7",
scroll: "\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf \u03c0\u03bb\u03ae\u03ba\u03c4\u03c1\u03bf Ctrl \u03ba\u03b1\u03b9 \u03ba\u03cd\u03bb\u03b9\u03c3\u03b7, \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03bc\u03b5\u03b3\u03b5\u03b8\u03cd\u03bd\u03b5\u03c4\u03b5 \u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7",
scrollMac: "\u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03bf \u03c0\u03bb\u03ae\u03ba\u03c4\u03c1\u03bf \u2318 + \u03ba\u03cd\u03bb\u03b9\u03c3\u03b7 \u03b3\u03b9\u03b1 \u03b5\u03c3\u03c4\u03af\u03b1\u03c3\u03b7 \u03c3\u03c4\u03bf\u03bd \u03c7\u03ac\u03c1\u03c4\u03b7"
},
//English
en: {
touch: "Use two fingers to move the map",
scroll: "Use ctrl + scroll to zoom the map",
scrollMac: "Use \u2318 + scroll to zoom the map"
},
//English (Australian)
"en-AU": {
touch: "Use two fingers to move the map",
scroll: "Use ctrl + scroll to zoom the map",
scrollMac: "Use \u2318 + scroll to zoom the map"
},
//English (Great Britain)
"en-GB": {
touch: "Use two fingers to move the map",
scroll: "Use ctrl + scroll to zoom the map",
scrollMac: "Use \u2318 + scroll to zoom the map"
},
//Spanish
es: {
touch: "Para mover el mapa, utiliza dos dedos",
scroll: "Mant\u00e9n pulsada la tecla Ctrl mientras te desplazas para acercar o alejar el mapa",
scrollMac: "Mant\u00e9n pulsada la tecla \u2318 mientras te desplazas para acercar o alejar el mapa"
},
//Basque
eu: {
touch: "Erabili bi hatz mapa mugitzeko",
scroll: "Mapan zooma aplikatzeko, sakatu Ktrl eta egin gora edo behera",
scrollMac: "Eduki sakatuta \u2318 eta egin gora eta behera mapa handitu eta txikitzeko"
},
//Farsi
fa: {
touch: "\u0628\u0631\u0627\u06cc \u062d\u0631\u06a9\u062a \u062f\u0627\u062f\u0646 \u0646\u0642\u0634\u0647 \u0627\u0632 \u062f\u0648 \u0627\u0646\u06af\u0634\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.",
scroll: "\u200f\u0628\u0631\u0627\u06cc \u0628\u0632\u0631\u06af\u200c\u0646\u0645\u0627\u06cc\u06cc \u0646\u0642\u0634\u0647 \u0627\u0632 ctrl + scroll \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f",
scrollMac: "\u0628\u0631\u0627\u06cc \u0628\u0632\u0631\u06af\u200c\u0646\u0645\u0627\u06cc\u06cc \u0646\u0642\u0634\u0647\u060c \u0627\u0632 \u2318 + \u067e\u06cc\u0645\u0627\u06cc\u0634 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f."
},
//Finnish
fi: {
touch: "Siirr\u00e4 karttaa kahdella sormella.",
scroll: "Zoomaa karttaa painamalla Ctrl-painiketta ja vieritt\u00e4m\u00e4ll\u00e4.",
scrollMac: "Zoomaa karttaa pit\u00e4m\u00e4ll\u00e4 painike \u2318 painettuna ja vieritt\u00e4m\u00e4ll\u00e4."
},
//Filipino
fil: {
touch: "Gumamit ng dalawang daliri upang iusog ang mapa",
scroll: "Gamitin ang ctrl + scroll upang i-zoom ang mapa",
scrollMac: "Gamitin ang \u2318 + scroll upang i-zoom ang mapa"
},
//French
fr: {
touch: "Utilisez deux\u00a0doigts pour d\u00e9placer la carte",
scroll: "Vous pouvez zoomer sur la carte \u00e0 l'aide de CTRL+Molette de d\u00e9filement",
scrollMac: "Vous pouvez zoomer sur la carte \u00e0 l'aide de \u2318+Molette de d\u00e9filement"
},
//Galician
gl: {
touch: "Utiliza dous dedos para mover o mapa",
scroll: "Preme Ctrl mentres te desprazas para ampliar o mapa",
scrollMac: "Preme \u2318 e despr\u00e1zate para ampliar o mapa"
},
//Gujarati
gu: {
touch: "\u0aa8\u0a95\u0ab6\u0acb \u0a96\u0ab8\u0ac7\u0aa1\u0ab5\u0abe \u0aac\u0ac7 \u0a86\u0a82\u0a97\u0ab3\u0ac0\u0a93\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb",
scroll: "\u0aa8\u0a95\u0ab6\u0abe\u0aa8\u0ac7 \u0a9d\u0ac2\u0aae \u0a95\u0ab0\u0ab5\u0abe \u0aae\u0abe\u0a9f\u0ac7 ctrl + \u0ab8\u0acd\u0a95\u0acd\u0ab0\u0acb\u0ab2\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb",
scrollMac: "\u0aa8\u0a95\u0ab6\u0abe\u0aa8\u0ac7 \u0a9d\u0ac2\u0aae \u0a95\u0ab0\u0ab5\u0abe \u2318 + \u0ab8\u0acd\u0a95\u0acd\u0ab0\u0acb\u0ab2\u0aa8\u0acb \u0a89\u0aaa\u0aaf\u0acb\u0a97 \u0a95\u0ab0\u0acb"
},
//Hindi
hi: {
touch: "\u092e\u0948\u092a \u090f\u0915 \u091c\u0917\u0939 \u0938\u0947 \u0926\u0942\u0938\u0930\u0940 \u091c\u0917\u0939 \u0932\u0947 \u091c\u093e\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u0926\u094b \u0909\u0902\u0917\u0932\u093f\u092f\u094b\u0902 \u0915\u093e \u0907\u0938\u094d\u0924\u0947\u092e\u093e\u0932 \u0915\u0930\u0947\u0902",
scroll: "\u092e\u0948\u092a \u0915\u094b \u091c\u093c\u0942\u092e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f ctrl + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902",
scrollMac: "\u092e\u0948\u092a \u0915\u094b \u091c\u093c\u0942\u092e \u0915\u0930\u0928\u0947 \u0915\u0947 \u0932\u093f\u090f \u2318 + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0915\u093e \u0909\u092a\u092f\u094b\u0917 \u0915\u0930\u0947\u0902"
},
//Croatian
hr: {
touch: "Pomi\u010dite kartu pomo\u0107u dva prsta",
scroll: "Upotrijebite Ctrl i kliza\u010d mi\u0161a da biste zumirali kartu",
scrollMac: "Upotrijebite gumb \u2318 dok se pomi\u010dete za zumiranje karte"
},
//Hungarian
hu: {
touch: "K\u00e9t ujjal mozgassa a t\u00e9rk\u00e9pet",
scroll: "A t\u00e9rk\u00e9p a ctrl + g\u00f6rget\u00e9s haszn\u00e1lat\u00e1val nagy\u00edthat\u00f3",
scrollMac: "A t\u00e9rk\u00e9p a \u2318 + g\u00f6rget\u00e9s haszn\u00e1lat\u00e1val nagy\u00edthat\u00f3"
},
//Indonesian
id: {
touch: "Gunakan dua jari untuk menggerakkan peta",
scroll: "Gunakan ctrl + scroll untuk memperbesar atau memperkecil peta",
scrollMac: "Gunakan \u2318 + scroll untuk memperbesar atau memperkecil peta"
},
//Italian
it: {
touch: "Utilizza due dita per spostare la mappa",
scroll: "Utilizza CTRL + scorrimento per eseguire lo zoom della mappa",
scrollMac: "Utilizza \u2318 + scorrimento per eseguire lo zoom della mappa"
},
//Hebrew
iw: {
touch: "\u05d4\u05d6\u05d6 \u05d0\u05ea \u05d4\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05e9\u05ea\u05d9 \u05d0\u05e6\u05d1\u05e2\u05d5\u05ea",
scroll: "\u200f\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e8\u05d7\u05e7 \u05d4\u05ea\u05e6\u05d5\u05d2\u05d4 \u05d1\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05de\u05e7\u05e9 ctrl \u05d5\u05d2\u05dc\u05d9\u05dc\u05d4",
scrollMac: "\u05d0\u05e4\u05e9\u05e8 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e8\u05d7\u05e7 \u05d4\u05ea\u05e6\u05d5\u05d2\u05d4 \u05d1\u05de\u05e4\u05d4 \u05d1\u05d0\u05de\u05e6\u05e2\u05d5\u05ea \u05de\u05e7\u05e9 \u2318 \u05d5\u05d2\u05dc\u05d9\u05dc\u05d4"
},
//Japanese
ja: {
touch: "\u5730\u56f3\u3092\u79fb\u52d5\u3055\u305b\u308b\u306b\u306f\u6307 2 \u672c\u3067\u64cd\u4f5c\u3057\u307e\u3059",
scroll: "\u5730\u56f3\u3092\u30ba\u30fc\u30e0\u3059\u308b\u306b\u306f\u3001Ctrl \u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u3089\u30b9\u30af\u30ed\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044",
scrollMac: "\u5730\u56f3\u3092\u30ba\u30fc\u30e0\u3059\u308b\u306b\u306f\u3001\u2318 \u30ad\u30fc\u3092\u62bc\u3057\u306a\u304c\u3089\u30b9\u30af\u30ed\u30fc\u30eb\u3057\u3066\u304f\u3060\u3055\u3044"
},
//Kannada
kn: {
touch: "Use two fingers to move the map",
scroll: "Use Ctrl + scroll to zoom the map",
scrollMac: "Use ⌘ + scroll to zoom the map"
},
//Korean
ko: {
touch: "\uc9c0\ub3c4\ub97c \uc6c0\uc9c1\uc774\ub824\uba74 \ub450 \uc190\uac00\ub77d\uc744 \uc0ac\uc6a9\ud558\uc138\uc694.",
scroll: "\uc9c0\ub3c4\ub97c \ud655\ub300/\ucd95\uc18c\ud558\ub824\uba74 Ctrl\uc744 \ub204\ub978 \ucc44 \uc2a4\ud06c\ub864\ud558\uc138\uc694.",
scrollMac: "\uc9c0\ub3c4\ub97c \ud655\ub300\ud558\ub824\uba74 \u2318 + \uc2a4\ud06c\ub864 \uc0ac\uc6a9"
},
//Lithuanian
lt: {
touch: "Perkelkite \u017eem\u0117lap\u012f dviem pir\u0161tais",
scroll: "Slinkite nuspaud\u0119 klavi\u0161\u0105 \u201eCtrl\u201c, kad pakeistum\u0117te \u017eem\u0117lapio mastel\u012f",
scrollMac: "Paspauskite klavi\u0161\u0105 \u2318 ir slinkite, kad priartintum\u0117te \u017eem\u0117lap\u012f"
},
//Latvian
lv: {
touch: "Lai p\u0101rvietotu karti, b\u012bdiet to ar diviem pirkstiem",
scroll: "Kartes t\u0101lummai\u0146ai izmantojiet ctrl + ritin\u0101\u0161anu",
scrollMac: "Lai veiktu kartes t\u0101lummai\u0146u, izmantojiet \u2318 + ritin\u0101\u0161anu"
},
//Malayalam
ml: {
touch: "\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u0d28\u0d40\u0d15\u0d4d\u0d15\u0d3e\u0d7b \u0d30\u0d23\u0d4d\u0d1f\u0d4d \u0d35\u0d3f\u0d30\u0d32\u0d41\u0d15\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d15\u0d4d\u0d15\u0d41\u0d15",
scroll: "\u0d15\u0d7a\u0d1f\u0d4d\u0d30\u0d4b\u0d7e + \u0d38\u0d4d\u200c\u0d15\u0d4d\u0d30\u0d4b\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u200c\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u200c\u0d38\u0d42\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15",
scrollMac: "\u2318 + \u0d38\u0d4d\u200c\u0d15\u0d4d\u0d30\u0d4b\u0d7e \u0d09\u0d2a\u0d2f\u0d4b\u0d17\u0d3f\u0d1a\u0d4d\u0d1a\u0d4d \u200c\u0d2e\u0d3e\u0d2a\u0d4d\u0d2a\u0d4d \u200c\u0d38\u0d42\u0d02 \u0d1a\u0d46\u0d2f\u0d4d\u0d2f\u0d41\u0d15"
},
//Marathi
mr: {
touch: "\u0928\u0915\u093e\u0936\u093e \u0939\u0932\u0935\u093f\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u0926\u094b\u0928 \u092c\u094b\u091f\u0947 \u0935\u093e\u092a\u0930\u093e",
scroll: "\u0928\u0915\u093e\u0936\u093e \u091d\u0942\u092e \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 ctrl + scroll \u0935\u093e\u092a\u0930\u093e",
scrollMac: "\u0928\u0915\u093e\u0936\u093e\u0935\u0930 \u091d\u0942\u092e \u0915\u0930\u0923\u094d\u092f\u093e\u0938\u093e\u0920\u0940 \u2318 + \u0938\u094d\u0915\u094d\u0930\u094b\u0932 \u0935\u093e\u092a\u0930\u093e"
},
//Dutch
nl: {
touch: "Gebruik twee vingers om de kaart te verplaatsen",
scroll: "Gebruik Ctrl + scrollen om in- en uit te zoomen op de kaart",
scrollMac: "Gebruik \u2318 + scrollen om in en uit te zoomen op de kaart"
},
//Norwegian
no: {
touch: "Bruk to fingre for \u00e5 flytte kartet",
scroll: "Hold ctrl-tasten inne og rull for \u00e5 zoome p\u00e5 kartet",
scrollMac: "Hold inne \u2318-tasten og rull for \u00e5 zoome p\u00e5 kartet"
},
//Polish
pl: {
touch: "Przesu\u0144 map\u0119 dwoma palcami",
scroll: "Naci\u015bnij CTRL i przewi\u0144, by przybli\u017cy\u0107 map\u0119",
scrollMac: "Naci\u015bnij\u00a0\u2318 i przewi\u0144, by przybli\u017cy\u0107 map\u0119"
},
//Portuguese
pt: {
touch: "Use dois dedos para mover o mapa",
scroll: "Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",
scrollMac: "Use \u2318 e role a tela simultaneamente para aplicar zoom no mapa"
},
//Portuguese (Brazil)
"pt-BR": {
touch: "Use dois dedos para mover o mapa",
scroll: "Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",
scrollMac: "Use \u2318 e role a tela simultaneamente para aplicar zoom no mapa"
},
//Portuguese (Portugal
"pt-PT": {
touch: "Utilize dois dedos para mover o mapa",
scroll: "Utilizar ctrl + deslocar para aumentar/diminuir zoom do mapa",
scrollMac: "Utilize \u2318 + deslocar para aumentar/diminuir o zoom do mapa"
},
//Romanian
ro: {
touch: "Folosi\u021bi dou\u0103 degete pentru a deplasa harta",
scroll: "Ap\u0103sa\u021bi tasta ctrl \u0219i derula\u021bi simultan pentru a m\u0103ri harta",
scrollMac: "Folosi\u021bi \u2318 \u0219i derula\u021bi pentru a m\u0103ri/mic\u0219ora harta"
},
//Russian
ru: {
touch: "\u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0443, \u043f\u0440\u043e\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u043e \u043d\u0435\u0439 \u0434\u0432\u0443\u043c\u044f \u043f\u0430\u043b\u044c\u0446\u0430\u043c\u0438",
scroll: "\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431, \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0439\u0442\u0435 \u043a\u0430\u0440\u0442\u0443, \u0443\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044f \u043a\u043b\u0430\u0432\u0438\u0448\u0443 Ctrl.",
scrollMac: "\u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431, \u043d\u0430\u0436\u043c\u0438\u0442\u0435 \u2318\u00a0+ \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0430"
},
//Slovak
sk: {
touch: "Mapu m\u00f4\u017eete posun\u00fa\u0165 dvoma prstami",
scroll: "Ak chcete pribl\u00ed\u017ei\u0165 mapu, stla\u010dte kl\u00e1ves ctrl a\u00a0pos\u00favajte",
scrollMac: "Ak chcete pribl\u00ed\u017ei\u0165 mapu, stla\u010dte kl\u00e1ves \u2318 a\u00a0pos\u00favajte kolieskom my\u0161i"
},
//Slovenian
sl: {
touch: "Premaknite zemljevid z dvema prstoma",
scroll: "Zemljevid pove\u010date tako, da dr\u017eite tipko Ctrl in vrtite kolesce na mi\u0161ki",
scrollMac: "Uporabite \u2318 + funkcijo pomika, da pove\u010date ali pomanj\u0161ate zemljevid"
},
//Serbian
sr: {
touch: "\u041c\u0430\u043f\u0443 \u043f\u043e\u043c\u0435\u0440\u0430\u0458\u0442\u0435 \u043f\u043e\u043c\u043e\u045b\u0443 \u0434\u0432\u0430 \u043f\u0440\u0441\u0442\u0430",
scroll: "\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0438\u0442\u0435 ctrl \u0442\u0430\u0441\u0442\u0435\u0440 \u0434\u043e\u043a \u043f\u043e\u043c\u0435\u0440\u0430\u0442\u0435 \u0434\u0430 \u0431\u0438\u0441\u0442\u0435 \u0437\u0443\u043c\u0438\u0440\u0430\u043b\u0438 \u043c\u0430\u043f\u0443",
scrollMac: "\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0438\u0442\u0435 \u0442\u0430\u0441\u0442\u0435\u0440 \u2318 \u0434\u043e\u043a \u043f\u043e\u043c\u0435\u0440\u0430\u0442\u0435 \u0434\u0430 \u0431\u0438\u0441\u0442\u0435 \u0437\u0443\u043c\u0438\u0440\u0430\u043b\u0438 \u043c\u0430\u043f\u0443"
},
//Swedish
sv: {
touch: "Anv\u00e4nd tv\u00e5 fingrar f\u00f6r att flytta kartan",
scroll: "Anv\u00e4nd ctrl + rulla f\u00f6r att zooma kartan",
scrollMac: "Anv\u00e4nd \u2318 + rulla f\u00f6r att zooma p\u00e5 kartan"
},
//Tamil
ta: {
touch: "\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0ba8\u0b95\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4 \u0b87\u0bb0\u0ba3\u0bcd\u0b9f\u0bc1 \u0bb5\u0bbf\u0bb0\u0bb2\u0bcd\u0b95\u0bb3\u0bc8\u0baa\u0bcd \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bb5\u0bc1\u0bae\u0bcd",
scroll: "\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0baa\u0bc6\u0bb0\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf/\u0b9a\u0bbf\u0bb1\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf\u0baa\u0bcd \u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95, ctrl \u0baa\u0b9f\u0bcd\u0b9f\u0ba9\u0bc8\u0baa\u0bcd \u0baa\u0bbf\u0b9f\u0bbf\u0ba4\u0bcd\u0ba4\u0baa\u0b9f\u0bbf, \u0bae\u0bc7\u0bb2\u0bc7/\u0b95\u0bc0\u0bb4\u0bc7 \u0bb8\u0bcd\u0b95\u0bcd\u0bb0\u0bbe\u0bb2\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0bb5\u0bc1\u0bae\u0bcd",
scrollMac: "\u0bae\u0bc7\u0baa\u0bcd\u0baa\u0bc8 \u0baa\u0bc6\u0bb0\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf/\u0b9a\u0bbf\u0bb1\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bbf\u0baa\u0bcd \u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95, \u2318 \u0baa\u0b9f\u0bcd\u0b9f\u0ba9\u0bc8\u0baa\u0bcd \u0baa\u0bbf\u0b9f\u0bbf\u0ba4\u0bcd\u0ba4\u0baa\u0b9f\u0bbf, \u0bae\u0bc7\u0bb2\u0bc7/\u0b95\u0bc0\u0bb4\u0bc7 \u0bb8\u0bcd\u0b95\u0bcd\u0bb0\u0bbe\u0bb2\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0baf\u0bb5\u0bc1\u0bae\u0bcd"
},
//Telugu
te: {
touch: "\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d\u200c\u0c28\u0c3f \u0c24\u0c30\u0c32\u0c3f\u0c02\u0c1a\u0c21\u0c02 \u0c15\u0c4b\u0c38\u0c02 \u0c30\u0c46\u0c02\u0c21\u0c41 \u0c35\u0c47\u0c33\u0c4d\u0c32\u0c28\u0c41 \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f",
scroll: "\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d\u200c\u0c28\u0c3f \u0c1c\u0c42\u0c2e\u0c4d \u0c1a\u0c47\u0c2f\u0c21\u0c3e\u0c28\u0c3f\u0c15\u0c3f ctrl \u0c2c\u0c1f\u0c28\u0c4d\u200c\u0c28\u0c41 \u0c28\u0c4a\u0c15\u0c4d\u0c15\u0c3f \u0c09\u0c02\u0c1a\u0c3f, \u0c38\u0c4d\u0c15\u0c4d\u0c30\u0c4b\u0c32\u0c4d \u0c1a\u0c47\u0c2f\u0c02\u0c21\u0c3f",
scrollMac: "\u0c2e\u0c4d\u0c2f\u0c3e\u0c2a\u0c4d \u0c1c\u0c42\u0c2e\u0c4d \u0c1a\u0c47\u0c2f\u0c3e\u0c32\u0c02\u0c1f\u0c47 \u2318 + \u0c38\u0c4d\u0c15\u0c4d\u0c30\u0c4b\u0c32\u0c4d \u0c09\u0c2a\u0c2f\u0c4b\u0c17\u0c3f\u0c02\u0c1a\u0c02\u0c21\u0c3f"
},
//Thai
th: {
touch: "\u0e43\u0e0a\u0e49 2 \u0e19\u0e34\u0e49\u0e27\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48",
scroll: "\u0e01\u0e14 Ctrl \u0e04\u0e49\u0e32\u0e07\u0e44\u0e27\u0e49 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e0b\u0e39\u0e21\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48",
scrollMac: "\u0e01\u0e14 \u2318 \u0e41\u0e25\u0e49\u0e27\u0e40\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e0b\u0e39\u0e21\u0e41\u0e1c\u0e19\u0e17\u0e35\u0e48"
},
//Tagalog
tl: {
touch: "Gumamit ng dalawang daliri upang iusog ang mapa",
scroll: "Gamitin ang ctrl + scroll upang i-zoom ang mapa",
scrollMac: "Gamitin ang \u2318 + scroll upang i-zoom ang mapa"
},
//Turkish
tr: {
touch: "Haritada gezinmek i\u00e7in iki parma\u011f\u0131n\u0131z\u0131 kullan\u0131n",
scroll: "Haritay\u0131 yak\u0131nla\u015ft\u0131rmak i\u00e7in ctrl + kayd\u0131rma kombinasyonunu kullan\u0131n",
scrollMac: "Haritay\u0131 yak\u0131nla\u015ft\u0131rmak i\u00e7in \u2318 tu\u015funa bas\u0131p ekran\u0131 kayd\u0131r\u0131n"
},
//Ukrainian
uk: {
touch: "\u041f\u0435\u0440\u0435\u043c\u0456\u0449\u0443\u0439\u0442\u0435 \u043a\u0430\u0440\u0442\u0443 \u0434\u0432\u043e\u043c\u0430 \u043f\u0430\u043b\u044c\u0446\u044f\u043c\u0438",
scroll: "\u0429\u043e\u0431 \u0437\u043c\u0456\u043d\u044e\u0432\u0430\u0442\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u0440\u0442\u0438, \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0443\u0439\u0442\u0435 \u043a\u043e\u043b\u0456\u0449\u0430\u0442\u043a\u043e \u043c\u0438\u0448\u0456, \u0443\u0442\u0440\u0438\u043c\u0443\u044e\u0447\u0438 \u043a\u043b\u0430\u0432\u0456\u0448\u0443 Ctrl",
scrollMac: "\u0429\u043e\u0431 \u0437\u043c\u0456\u043d\u0438\u0442\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u043a\u0430\u0440\u0442\u0438, \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 \u2318 + \u043f\u0440\u043e\u043a\u0440\u0443\u0447\u0443\u0432\u0430\u043d\u043d\u044f"
},
//Vietnamese
vi: {
touch: "S\u1eed d\u1ee5ng hai ng\u00f3n tay \u0111\u1ec3 di chuy\u1ec3n b\u1ea3n \u0111\u1ed3",
scroll: "S\u1eed d\u1ee5ng ctrl + cu\u1ed9n \u0111\u1ec3 thu ph\u00f3ng b\u1ea3n \u0111\u1ed3",
scrollMac: "S\u1eed d\u1ee5ng \u2318 + cu\u1ed9n \u0111\u1ec3 thu ph\u00f3ng b\u1ea3n \u0111\u1ed3"
},
//Chinese (Simplified)
"zh-CN": {
touch: "\u4f7f\u7528\u53cc\u6307\u79fb\u52a8\u5730\u56fe",
scroll: "\u6309\u4f4f Ctrl \u5e76\u6eda\u52a8\u9f20\u6807\u6eda\u8f6e\u624d\u53ef\u7f29\u653e\u5730\u56fe",
scrollMac: "\u6309\u4f4f \u2318 \u5e76\u6eda\u52a8\u9f20\u6807\u6eda\u8f6e\u624d\u53ef\u7f29\u653e\u5730\u56fe"
},
//Chinese (Traditional)
"zh-TW": {
touch: "\u540c\u6642\u4ee5\u5169\u6307\u79fb\u52d5\u5730\u5716",
scroll: "\u6309\u4f4f ctrl \u9375\u52a0\u4e0a\u6372\u52d5\u6ed1\u9f20\u53ef\u4ee5\u7e2e\u653e\u5730\u5716",
scrollMac: "\u6309 \u2318 \u52a0\u4e0a\u6efe\u52d5\u6372\u8ef8\u53ef\u4ee5\u7e2e\u653e\u5730\u5716"
}
};
 
/*
* * Leaflet Gesture Handling **
* * Version 1.1.8
*/
 
L.Map.mergeOptions({
gestureHandlingOptions: {
text: {},
duration: 1000
}
});
 
var draggingMap = false;
 
var GestureHandling = L.Handler.extend({
addHooks: function () {
this._handleTouch = this._handleTouch.bind(this);
 
this._setupPluginOptions();
this._setLanguageContent();
this._disableInteractions();
 
//Uses native event listeners instead of L.DomEvent due to issues with Android touch events
//turning into pointer events
this._map._container.addEventListener("touchstart", this._handleTouch);
this._map._container.addEventListener("touchmove", this._handleTouch);
this._map._container.addEventListener("touchend", this._handleTouch);
this._map._container.addEventListener("touchcancel", this._handleTouch);
this._map._container.addEventListener("click", this._handleTouch);
 
L.DomEvent.on(this._map._container, "wheel", this._handleScroll, this);
L.DomEvent.on(this._map, "mouseover", this._handleMouseOver, this);
L.DomEvent.on(this._map, "mouseout", this._handleMouseOut, this);
 
// Listen to these events so will not disable dragging if the user moves the mouse out the boundary of the map container whilst actively dragging the map.
L.DomEvent.on(this._map, "movestart", this._handleDragging, this);
L.DomEvent.on(this._map, "move", this._handleDragging, this);
L.DomEvent.on(this._map, "moveend", this._handleDragging, this);
},
 
removeHooks: function () {
this._enableInteractions();
 
this._map._container.removeEventListener("touchstart", this._handleTouch);
this._map._container.removeEventListener("touchmove", this._handleTouch);
this._map._container.removeEventListener("touchend", this._handleTouch);
this._map._container.removeEventListener("touchcancel", this._handleTouch);
this._map._container.removeEventListener("click", this._handleTouch);
 
L.DomEvent.off(this._map._container, "wheel", this._handleScroll, this);
L.DomEvent.off(this._map, "mouseover", this._handleMouseOver, this);
L.DomEvent.off(this._map, "mouseout", this._handleMouseOut, this);
 
L.DomEvent.off(this._map, "movestart", this._handleDragging, this);
L.DomEvent.off(this._map, "move", this._handleDragging, this);
L.DomEvent.off(this._map, "moveend", this._handleDragging, this);
},
 
_handleDragging: function (e) {
if (e.type == "movestart" || e.type == "move") {
draggingMap = true;
} else if (e.type == "moveend") {
draggingMap = false;
}
},
 
_disableInteractions: function () {
this._map.dragging.disable();
this._map.scrollWheelZoom.disable();
if (this._map.tap) {
this._map.tap.disable();
}
},
 
_enableInteractions: function () {
this._map.dragging.enable();
this._map.scrollWheelZoom.enable();
if (this._map.tap) {
this._map.tap.enable();
}
},
 
_setupPluginOptions: function () {
//For backwards compatibility, merge gestureHandlingText into the new options object
if (this._map.options.gestureHandlingText) {
this._map.options.gestureHandlingOptions.text = this._map.options.gestureHandlingText;
}
},
 
_setLanguageContent: function () {
var languageContent;
//If user has supplied custom language, use that
if (this._map.options.gestureHandlingOptions && this._map.options.gestureHandlingOptions.text && this._map.options.gestureHandlingOptions.text.touch && this._map.options.gestureHandlingOptions.text.scroll && this._map.options.gestureHandlingOptions.text.scrollMac) {
languageContent = this._map.options.gestureHandlingOptions.text;
} else {
//Otherwise auto set it from the language files
 
//Determine their language e.g fr or en-US
var lang = this._getUserLanguage();
 
//If we couldn't find it default to en
if (!lang) {
lang = "en";
}
 
//Lookup the appropriate language content
if (LanguageContent[lang]) {
languageContent = LanguageContent[lang];
}
 
//If no result, try searching by the first part only. e.g en-US just use en.
if (!languageContent && lang.indexOf("-") !== -1) {
lang = lang.split("-")[0];
languageContent = LanguageContent[lang];
}
 
if (!languageContent) {
// If still nothing, default to English
// console.log("No lang found for", lang);
lang = "en";
languageContent = LanguageContent[lang];
}
}
 
//TEST
// languageContent = LanguageContent["bg"];
 
//Check if they're on a mac for display of command instead of ctrl
var mac = false;
if (navigator.platform.toUpperCase().indexOf("MAC") >= 0) {
mac = true;
}
 
var scrollContent = languageContent.scroll;
if (mac) {
scrollContent = languageContent.scrollMac;
}
 
this._map._container.setAttribute("data-gesture-handling-touch-content", languageContent.touch);
this._map._container.setAttribute("data-gesture-handling-scroll-content", scrollContent);
},
 
_getUserLanguage: function () {
var lang = navigator.languages ? navigator.languages[0] : navigator.language || navigator.userLanguage;
return lang;
},
 
_handleTouch: function (e) {
//Disregard touch events on the minimap if present
var ignoreList = ["leaflet-control-minimap", "leaflet-interactive", "leaflet-popup-content", "leaflet-popup-content-wrapper", "leaflet-popup-close-button", "leaflet-control-zoom-in", "leaflet-control-zoom-out"];
 
var ignoreElement = false;
for (var i = 0; i < ignoreList.length; i++) {
if (L.DomUtil.hasClass(e.target, ignoreList[i])) {
ignoreElement = true;
}
}
 
if (ignoreElement) {
if (L.DomUtil.hasClass(e.target, "leaflet-interactive") && e.type === "touchmove" && e.touches.length === 1) {
L.DomUtil.addClass(this._map._container, "leaflet-gesture-handling-touch-warning");
this._disableInteractions();
} else {
L.DomUtil.removeClass(this._map._container, "leaflet-gesture-handling-touch-warning");
}
return;
}
// screenLog(e.type+' '+e.touches.length);
if (e.type !== "touchmove" && e.type !== "touchstart") {
L.DomUtil.removeClass(this._map._container, "leaflet-gesture-handling-touch-warning");
return;
}
if (e.touches.length === 1) {
L.DomUtil.addClass(this._map._container, "leaflet-gesture-handling-touch-warning");
this._disableInteractions();
} else {
this._enableInteractions();
L.DomUtil.removeClass(this._map._container, "leaflet-gesture-handling-touch-warning");
}
},
 
_isScrolling: false,
 
_handleScroll: function (e) {
if (e.metaKey || e.ctrlKey) {
e.preventDefault();
L.DomUtil.removeClass(this._map._container, "leaflet-gesture-handling-scroll-warning");
this._map.scrollWheelZoom.enable();
} else {
L.DomUtil.addClass(this._map._container, "leaflet-gesture-handling-scroll-warning");
this._map.scrollWheelZoom.disable();
 
clearTimeout(this._isScrolling);
 
// Set a timeout to run after scrolling ends
this._isScrolling = setTimeout(function () {
// Run the callback
var warnings = document.getElementsByClassName("leaflet-gesture-handling-scroll-warning");
for (var i = 0; i < warnings.length; i++) {
L.DomUtil.removeClass(warnings[i], "leaflet-gesture-handling-scroll-warning");
}
}, this._map.options.gestureHandlingOptions.duration);
}
},
 
_handleMouseOver: function (e) {
this._enableInteractions();
},
 
_handleMouseOut: function (e) {
if (!draggingMap) {
this._disableInteractions();
}
}
 
});
 
L.Map.addInitHook("addHandler", "gestureHandling", GestureHandling);
 
exports.GestureHandling = GestureHandling;
exports.default = GestureHandling;
 
Object.defineProperty(exports, '__esModule', { value: true });
 
})));
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/Leaflet.GestureHandling-master/package.json
New file
0,0 → 1,51
{
"name": "leaflet-gesture-handling",
"version": "1.2.1",
"description": "Prompt mobile user to use 2 fingers to move the map. Prompt desktop users to use Ctrl+Mouse Wheel to zoom. Brings Google Maps gesture handling into Leaflet. ",
"main": "./dist/leaflet-gesture-handling.min.js",
"files": [
"dist"
],
"types": "./dist/leaflet-gesture-handling.d.ts",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "gulp build",
"start": "gulp dev",
"format": "prettier --write src/*/*",
"prepublish": "npm run build"
},
"repository": {
"type": "git",
"url": "git+https://github.com/elmarquis/leaflet-gesture-handling.git"
},
"keywords": [
"Leaflet",
"Maps",
"Gesture",
"Handling",
"two",
"fingers",
"mobile",
"scroll"
],
"author": "A Marquis",
"license": "MIT",
"bugs": {
"url": "https://github.com/elmarquis/leaflet-gesture-handling/issues"
},
"homepage": "https://github.com/elmarquis/leaflet-gesture-handling#readme",
"devDependencies": {
"babel-core": "^6.26.3",
"gulp": "^3.9.1",
"gulp-autoprefixer": "^5.0.0",
"gulp-better-rollup": "^3.3.0",
"gulp-concat": "^2.6.1",
"gulp-minify-css": "^1.2.4",
"gulp-rename": "^1.2.3",
"gulp-sass": "^4.0.1",
"gulp-sourcemaps": "^2.6.4",
"gulp-uglify": "^3.0.0",
"prettier": "^1.14.0",
"rollup-plugin-babel": "^3.0.7"
}
}
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/modules/leaflet-gesture-handling.min.js
New file
0,0 → 1,2
!function(a,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define("leafletGestureHandling",["exports"],t):t(a.leafletGestureHandling={})}(this,function(a){"use strict";var o={ar:{touch:"استخدم إصبعين لتحريك الخريطة",scroll:"‏استخدم ctrl + scroll لتصغير/تكبير الخريطة",scrollMac:"يمكنك استخدام ⌘ + التمرير لتكبير/تصغير الخريطة"},bg:{touch:"Използвайте два пръста, за да преместите картата",scroll:"Задръжте бутона Ctrl натиснат, докато превъртате, за да промените мащаба на картата",scrollMac:"Задръжте бутона ⌘ натиснат, докато превъртате, за да промените мащаба на картата"},bn:{touch:"মানচিত্রটিকে সরাতে দুটি আঙ্গুল ব্যবহার করুন",scroll:"ম্যাপ জুম করতে ctrl + scroll ব্যবহার করুন",scrollMac:"ম্যাপে জুম করতে ⌘ বোতাম টিপে স্ক্রল করুন"},ca:{touch:"Fes servir dos dits per moure el mapa",scroll:"Prem la tecla Control mentre et desplaces per apropar i allunyar el mapa",scrollMac:"Prem la tecla ⌘ mentre et desplaces per apropar i allunyar el mapa"},cs:{touch:"K posunutí mapy použijte dva prsty",scroll:"Velikost zobrazení mapy změňte podržením klávesy Ctrl a posouváním kolečka myši",scrollMac:"Velikost zobrazení mapy změníte podržením klávesy ⌘ a posunutím kolečka myši / touchpadu"},da:{touch:"Brug to fingre til at flytte kortet",scroll:"Brug ctrl + rullefunktionen til at zoome ind og ud på kortet",scrollMac:"Brug ⌘ + rullefunktionen til at zoome ind og ud på kortet"},de:{touch:"Verschieben der Karte mit zwei Fingern",scroll:"Verwende Strg+Scrollen zum Zoomen der Karte",scrollMac:"⌘"},el:{touch:"Χρησιμοποιήστε δύο δάχτυλα για μετακίνηση στον χάρτη",scroll:"Χρησιμοποιήστε το πλήκτρο Ctrl και κύλιση, για να μεγεθύνετε τον χάρτη",scrollMac:"Χρησιμοποιήστε το πλήκτρο ⌘ + κύλιση για εστίαση στον χάρτη"},en:{touch:"Use two fingers to move the map",scroll:"Use ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},"en-AU":{touch:"Use two fingers to move the map",scroll:"Use ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},"en-GB":{touch:"Use two fingers to move the map",scroll:"Use ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},es:{touch:"Para mover el mapa, utiliza dos dedos",scroll:"Mantén pulsada la tecla Ctrl mientras te desplazas para acercar o alejar el mapa",scrollMac:"Mantén pulsada la tecla ⌘ mientras te desplazas para acercar o alejar el mapa"},eu:{touch:"Erabili bi hatz mapa mugitzeko",scroll:"Mapan zooma aplikatzeko, sakatu Ktrl eta egin gora edo behera",scrollMac:"Eduki sakatuta ⌘ eta egin gora eta behera mapa handitu eta txikitzeko"},fa:{touch:"برای حرکت دادن نقشه از دو انگشت استفاده کنید.",scroll:"‏برای بزرگ‌نمایی نقشه از ctrl + scroll استفاده کنید",scrollMac:"برای بزرگ‌نمایی نقشه، از ⌘ + پیمایش استفاده کنید."},fi:{touch:"Siirrä karttaa kahdella sormella.",scroll:"Zoomaa karttaa painamalla Ctrl-painiketta ja vierittämällä.",scrollMac:"Zoomaa karttaa pitämällä painike ⌘ painettuna ja vierittämällä."},fil:{touch:"Gumamit ng dalawang daliri upang iusog ang mapa",scroll:"Gamitin ang ctrl + scroll upang i-zoom ang mapa",scrollMac:"Gamitin ang ⌘ + scroll upang i-zoom ang mapa"},fr:{touch:"Utilisez deux doigts pour déplacer la carte",scroll:"Vous pouvez zoomer sur la carte à l'aide de CTRL+Molette de défilement",scrollMac:"Vous pouvez zoomer sur la carte à l'aide de ⌘+Molette de défilement"},gl:{touch:"Utiliza dous dedos para mover o mapa",scroll:"Preme Ctrl mentres te desprazas para ampliar o mapa",scrollMac:"Preme ⌘ e desprázate para ampliar o mapa"},gu:{touch:"નકશો ખસેડવા બે આંગળીઓનો ઉપયોગ કરો",scroll:"નકશાને ઝૂમ કરવા માટે ctrl + સ્ક્રોલનો ઉપયોગ કરો",scrollMac:"નકશાને ઝૂમ કરવા ⌘ + સ્ક્રોલનો ઉપયોગ કરો"},hi:{touch:"मैप एक जगह से दूसरी जगह ले जाने के लिए दो उंगलियों का इस्तेमाल करें",scroll:"मैप को ज़ूम करने के लिए ctrl + स्क्रोल का उपयोग करें",scrollMac:"मैप को ज़ूम करने के लिए ⌘ + स्क्रोल का उपयोग करें"},hr:{touch:"Pomičite kartu pomoću dva prsta",scroll:"Upotrijebite Ctrl i klizač miša da biste zumirali kartu",scrollMac:"Upotrijebite gumb ⌘ dok se pomičete za zumiranje karte"},hu:{touch:"Két ujjal mozgassa a térképet",scroll:"A térkép a ctrl + görgetés használatával nagyítható",scrollMac:"A térkép a ⌘ + görgetés használatával nagyítható"},id:{touch:"Gunakan dua jari untuk menggerakkan peta",scroll:"Gunakan ctrl + scroll untuk memperbesar atau memperkecil peta",scrollMac:"Gunakan ⌘ + scroll untuk memperbesar atau memperkecil peta"},it:{touch:"Utilizza due dita per spostare la mappa",scroll:"Utilizza CTRL + scorrimento per eseguire lo zoom della mappa",scrollMac:"Utilizza ⌘ + scorrimento per eseguire lo zoom della mappa"},iw:{touch:"הזז את המפה באמצעות שתי אצבעות",scroll:"‏אפשר לשנות את מרחק התצוגה במפה באמצעות מקש ctrl וגלילה",scrollMac:"אפשר לשנות את מרחק התצוגה במפה באמצעות מקש ⌘ וגלילה"},ja:{touch:"地図を移動させるには指 2 本で操作します",scroll:"地図をズームするには、Ctrl キーを押しながらスクロールしてください",scrollMac:"地図をズームするには、⌘ キーを押しながらスクロールしてください"},kn:{touch:"Use two fingers to move the map",scroll:"Use Ctrl + scroll to zoom the map",scrollMac:"Use ⌘ + scroll to zoom the map"},ko:{touch:"지도를 움직이려면 두 손가락을 사용하세요.",scroll:"지도를 확대/축소하려면 Ctrl을 누른 채 스크롤하세요.",scrollMac:"지도를 확대하려면 ⌘ + 스크롤 사용"},lt:{touch:"Perkelkite žemėlapį dviem pirštais",scroll:"Slinkite nuspaudę klavišą „Ctrl“, kad pakeistumėte žemėlapio mastelį",scrollMac:"Paspauskite klavišą ⌘ ir slinkite, kad priartintumėte žemėlapį"},lv:{touch:"Lai pārvietotu karti, bīdiet to ar diviem pirkstiem",scroll:"Kartes tālummaiņai izmantojiet ctrl + ritināšanu",scrollMac:"Lai veiktu kartes tālummaiņu, izmantojiet ⌘ + ritināšanu"},ml:{touch:"മാപ്പ് നീക്കാൻ രണ്ട് വിരലുകൾ ഉപയോഗിക്കുക",scroll:"കൺട്രോൾ + സ്‌ക്രോൾ ഉപയോഗിച്ച് ‌മാപ്പ് ‌സൂം ചെയ്യുക",scrollMac:"⌘ + സ്‌ക്രോൾ ഉപയോഗിച്ച് ‌മാപ്പ് ‌സൂം ചെയ്യുക"},mr:{touch:"नकाशा हलविण्यासाठी दोन बोटे वापरा",scroll:"नकाशा झूम करण्यासाठी ctrl + scroll वापरा",scrollMac:"नकाशावर झूम करण्यासाठी ⌘ + स्क्रोल वापरा"},nl:{touch:"Gebruik twee vingers om de kaart te verplaatsen",scroll:"Gebruik Ctrl + scrollen om in- en uit te zoomen op de kaart",scrollMac:"Gebruik ⌘ + scrollen om in en uit te zoomen op de kaart"},no:{touch:"Bruk to fingre for å flytte kartet",scroll:"Hold ctrl-tasten inne og rull for å zoome på kartet",scrollMac:"Hold inne ⌘-tasten og rull for å zoome på kartet"},pl:{touch:"Przesuń mapę dwoma palcami",scroll:"Naciśnij CTRL i przewiń, by przybliżyć mapę",scrollMac:"Naciśnij ⌘ i przewiń, by przybliżyć mapę"},pt:{touch:"Use dois dedos para mover o mapa",scroll:"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",scrollMac:"Use ⌘ e role a tela simultaneamente para aplicar zoom no mapa"},"pt-BR":{touch:"Use dois dedos para mover o mapa",scroll:"Pressione Ctrl e role a tela simultaneamente para aplicar zoom no mapa",scrollMac:"Use ⌘ e role a tela simultaneamente para aplicar zoom no mapa"},"pt-PT":{touch:"Utilize dois dedos para mover o mapa",scroll:"Utilizar ctrl + deslocar para aumentar/diminuir zoom do mapa",scrollMac:"Utilize ⌘ + deslocar para aumentar/diminuir o zoom do mapa"},ro:{touch:"Folosiți două degete pentru a deplasa harta",scroll:"Apăsați tasta ctrl și derulați simultan pentru a mări harta",scrollMac:"Folosiți ⌘ și derulați pentru a mări/micșora harta"},ru:{touch:"Чтобы переместить карту, проведите по ней двумя пальцами",scroll:"Чтобы изменить масштаб, прокручивайте карту, удерживая клавишу Ctrl.",scrollMac:"Чтобы изменить масштаб, нажмите ⌘ + прокрутка"},sk:{touch:"Mapu môžete posunúť dvoma prstami",scroll:"Ak chcete priblížiť mapu, stlačte kláves ctrl a posúvajte",scrollMac:"Ak chcete priblížiť mapu, stlačte kláves ⌘ a posúvajte kolieskom myši"},sl:{touch:"Premaknite zemljevid z dvema prstoma",scroll:"Zemljevid povečate tako, da držite tipko Ctrl in vrtite kolesce na miški",scrollMac:"Uporabite ⌘ + funkcijo pomika, da povečate ali pomanjšate zemljevid"},sr:{touch:"Мапу померајте помоћу два прста",scroll:"Притисните ctrl тастер док померате да бисте зумирали мапу",scrollMac:"Притисните тастер ⌘ док померате да бисте зумирали мапу"},sv:{touch:"Använd två fingrar för att flytta kartan",scroll:"Använd ctrl + rulla för att zooma kartan",scrollMac:"Använd ⌘ + rulla för att zooma på kartan"},ta:{touch:"மேப்பை நகர்த்த இரண்டு விரல்களைப் பயன்படுத்தவும்",scroll:"மேப்பை பெரிதாக்கி/சிறிதாக்கிப் பார்க்க, ctrl பட்டனைப் பிடித்தபடி, மேலே/கீழே ஸ்க்ரால் செய்யவும்",scrollMac:"மேப்பை பெரிதாக்கி/சிறிதாக்கிப் பார்க்க, ⌘ பட்டனைப் பிடித்தபடி, மேலே/கீழே ஸ்க்ரால் செய்யவும்"},te:{touch:"మ్యాప్‌ని తరలించడం కోసం రెండు వేళ్లను ఉపయోగించండి",scroll:"మ్యాప్‌ని జూమ్ చేయడానికి ctrl బటన్‌ను నొక్కి ఉంచి, స్క్రోల్ చేయండి",scrollMac:"మ్యాప్ జూమ్ చేయాలంటే ⌘ + స్క్రోల్ ఉపయోగించండి"},th:{touch:"ใช้ 2 นิ้วเพื่อเลื่อนแผนที่",scroll:"กด Ctrl ค้างไว้ แล้วเลื่อนหน้าจอเพื่อซูมแผนที่",scrollMac:"กด ⌘ แล้วเลื่อนหน้าจอเพื่อซูมแผนที่"},tl:{touch:"Gumamit ng dalawang daliri upang iusog ang mapa",scroll:"Gamitin ang ctrl + scroll upang i-zoom ang mapa",scrollMac:"Gamitin ang ⌘ + scroll upang i-zoom ang mapa"},tr:{touch:"Haritada gezinmek için iki parmağınızı kullanın",scroll:"Haritayı yakınlaştırmak için ctrl + kaydırma kombinasyonunu kullanın",scrollMac:"Haritayı yakınlaştırmak için ⌘ tuşuna basıp ekranı kaydırın"},uk:{touch:"Переміщуйте карту двома пальцями",scroll:"Щоб змінювати масштаб карти, прокручуйте коліщатко миші, утримуючи клавішу Ctrl",scrollMac:"Щоб змінити масштаб карти, використовуйте ⌘ + прокручування"},vi:{touch:"Sử dụng hai ngón tay để di chuyển bản đồ",scroll:"Sử dụng ctrl + cuộn để thu phóng bản đồ",scrollMac:"Sử dụng ⌘ + cuộn để thu phóng bản đồ"},"zh-CN":{touch:"使用双指移动地图",scroll:"按住 Ctrl 并滚动鼠标滚轮才可缩放地图",scrollMac:"按住 ⌘ 并滚动鼠标滚轮才可缩放地图"},"zh-TW":{touch:"同時以兩指移動地圖",scroll:"按住 ctrl 鍵加上捲動滑鼠可以縮放地圖",scrollMac:"按 ⌘ 加上滾動捲軸可以縮放地圖"}};L.Map.mergeOptions({gestureHandlingOptions:{text:{},duration:1e3}});var t=!1,e=L.Handler.extend({addHooks:function(){this._handleTouch=this._handleTouch.bind(this),this._setupPluginOptions(),this._setLanguageContent(),this._disableInteractions(),this._map._container.addEventListener("touchstart",this._handleTouch),this._map._container.addEventListener("touchmove",this._handleTouch),this._map._container.addEventListener("touchend",this._handleTouch),this._map._container.addEventListener("touchcancel",this._handleTouch),this._map._container.addEventListener("click",this._handleTouch),L.DomEvent.on(this._map._container,"wheel",this._handleScroll,this),L.DomEvent.on(this._map,"mouseover",this._handleMouseOver,this),L.DomEvent.on(this._map,"mouseout",this._handleMouseOut,this),L.DomEvent.on(this._map,"movestart",this._handleDragging,this),L.DomEvent.on(this._map,"move",this._handleDragging,this),L.DomEvent.on(this._map,"moveend",this._handleDragging,this)},removeHooks:function(){this._enableInteractions(),this._map._container.removeEventListener("touchstart",this._handleTouch),this._map._container.removeEventListener("touchmove",this._handleTouch),this._map._container.removeEventListener("touchend",this._handleTouch),this._map._container.removeEventListener("touchcancel",this._handleTouch),this._map._container.removeEventListener("click",this._handleTouch),L.DomEvent.off(this._map._container,"wheel",this._handleScroll,this),L.DomEvent.off(this._map,"mouseover",this._handleMouseOver,this),L.DomEvent.off(this._map,"mouseout",this._handleMouseOut,this),L.DomEvent.off(this._map,"movestart",this._handleDragging,this),L.DomEvent.off(this._map,"move",this._handleDragging,this),L.DomEvent.off(this._map,"moveend",this._handleDragging,this)},_handleDragging:function(a){"movestart"==a.type||"move"==a.type?t=!0:"moveend"==a.type&&(t=!1)},_disableInteractions:function(){this._map.dragging.disable(),this._map.scrollWheelZoom.disable(),this._map.tap&&this._map.tap.disable()},_enableInteractions:function(){this._map.dragging.enable(),this._map.scrollWheelZoom.enable(),this._map.tap&&this._map.tap.enable()},_setupPluginOptions:function(){this._map.options.gestureHandlingText&&(this._map.options.gestureHandlingOptions.text=this._map.options.gestureHandlingText)},_setLanguageContent:function(){var a,t=this._map.options.gestureHandlingOptions&&this._map.options.gestureHandlingOptions.text&&this._map.options.gestureHandlingOptions.text.touch&&this._map.options.gestureHandlingOptions.text.scroll&&this._map.options.gestureHandlingOptions.text.scrollMac?this._map.options.gestureHandlingOptions.text:(a=this._getUserLanguage(),o[a=a||"en"]&&(t=o[a]),t||-1===a.indexOf("-")||(a=a.split("-")[0],t=o[a]),t||o[a="en"]),e=!1;0<=navigator.platform.toUpperCase().indexOf("MAC")&&(e=!0);var l=t.scroll;e&&(l=t.scrollMac),this._map._container.setAttribute("data-gesture-handling-touch-content",t.touch),this._map._container.setAttribute("data-gesture-handling-scroll-content",l)},_getUserLanguage:function(){return navigator.languages?navigator.languages[0]:navigator.language||navigator.userLanguage},_handleTouch:function(a){for(var t=["leaflet-control-minimap","leaflet-interactive","leaflet-popup-content","leaflet-popup-content-wrapper","leaflet-popup-close-button","leaflet-control-zoom-in","leaflet-control-zoom-out"],e=!1,l=0;l<t.length;l++)L.DomUtil.hasClass(a.target,t[l])&&(e=!0);e?L.DomUtil.hasClass(a.target,"leaflet-interactive")&&"touchmove"===a.type&&1===a.touches.length?(L.DomUtil.addClass(this._map._container,"leaflet-gesture-handling-touch-warning"),this._disableInteractions()):L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-touch-warning"):"touchmove"===a.type||"touchstart"===a.type?1===a.touches.length?(L.DomUtil.addClass(this._map._container,"leaflet-gesture-handling-touch-warning"),this._disableInteractions()):(this._enableInteractions(),L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-touch-warning")):L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-touch-warning")},_isScrolling:!1,_handleScroll:function(a){a.metaKey||a.ctrlKey?(a.preventDefault(),L.DomUtil.removeClass(this._map._container,"leaflet-gesture-handling-scroll-warning"),this._map.scrollWheelZoom.enable()):(L.DomUtil.addClass(this._map._container,"leaflet-gesture-handling-scroll-warning"),this._map.scrollWheelZoom.disable(),clearTimeout(this._isScrolling),this._isScrolling=setTimeout(function(){for(var a=document.getElementsByClassName("leaflet-gesture-handling-scroll-warning"),t=0;t<a.length;t++)L.DomUtil.removeClass(a[t],"leaflet-gesture-handling-scroll-warning")},this._map.options.gestureHandlingOptions.duration))},_handleMouseOver:function(a){this._enableInteractions()},_handleMouseOut:function(a){t||this._disableInteractions()}});L.Map.addInitHook("addHandler","gestureHandling",e),a.GestureHandling=e,a.default=e,Object.defineProperty(a,"__esModule",{value:!0})});
//# sourceMappingURL=leaflet-gesture-handling.min.js.map
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/tb-geoloc/js/modules/Locality.js
New file
0,0 → 1,199
import {debounce} from "../lib/debounce.js";
 
export const NOMINATIM_OSM_URL = 'https://nominatim.openstreetmap.org/';
const NOMINATIM_OSM_DEFAULT_PARAMS = {
'format': 'json',
'countrycodes': 'fr',
'addressdetails': 1,
'limit': 10
};
const ESC_KEY_STRING = /^Esc(ape)?/;
 
export function TbPlaces(clientCallback) {
 
/**
* used in this.onSuggestionSelected()
*
* @callback clientCallback
* @param {String} locality
* @param {{lat: number, lng: number }} coordinates
*/
this.clientCallback = clientCallback;
this.searchResults = [];
}
 
TbPlaces.prototype.init = function() {
this.initForm();
this.initEvts();
};
 
TbPlaces.prototype.initForm = function() {
this.places = $('#tb-places');
this.placeLabel = this.places.siblings('label');
this.placesResults = $('.tb-places-results');
this.placesResultsContainer = $('.tb-places-results-container');
this.placesCloseButton = $('.tb-places-close');
};
 
TbPlaces.prototype.initEvts = function() {
if (0 < this.places.length) {
 
this.toggleCloseButton(false);
this.places.off('input').on('input', debounce(this.launchSearch.bind(this), 500));
this.places.off('keydown').on('keydown', debounce(this.handlePlacesKeydown.bind(this), 500));
}
};
 
TbPlaces.prototype.handlePlacesKeydown = function(evt) {
const suggestionEl = $('.tb-places-suggestion'),
isEscape = 27 === evt.keyCode || ESC_KEY_STRING.test(evt.key),
isArrowDown = 40 === evt.keyCode || 'ArrowDown' === evt.key,
isEnter = 13 === evt.keyCode || 'Enter' === evt.key;
 
if (isEscape || isArrowDown || isEnter) {
evt.preventDefault();
 
if (isEscape) {
this.placesCloseButton.trigger('click');
this.places.focus();
} else if(isArrowDown || isEnter) {
if ( 0 < suggestionEl.length) {
suggestionEl.first().focus();
} else {
this.launchSearch();
}
}
}
};
 
TbPlaces.prototype.launchSearch = function () {
if (!!this.places.val()) {
const url = NOMINATIM_OSM_URL+'search',
params = {'q': this.places.val()};
 
this.placeLabel.addClass('loading');
$.ajax({
method: "GET",
url: url,
data: {...NOMINATIM_OSM_DEFAULT_PARAMS, ...params},
success: this.nominatimOsmResponseCallback.bind(this),
error: () => {
this.placeLabel.removeClass('loading');
this.handleSearchError();
}
});
}
};
 
TbPlaces.prototype.nominatimOsmResponseCallback = function(data) {
this.places.siblings('label').removeClass('loading');
if (0 < data.length) {
this.searchResults = data;
this.setSuggestions();
this.toggleCloseButton();
this.resetOnClick();
this.onSuggestionSelected();
} else {
this.handleSearchError();
}
};
 
TbPlaces.prototype.setSuggestions = function() {
const lthis = this,
acceptedSuggestions = [];
 
this.placesResults.empty();
this.searchResults.forEach(suggestion => {
if(lthis.validateSuggestionData(suggestion)) {
const locality = suggestion['display_name'];
 
if (locality && !acceptedSuggestions.includes(locality)) {
acceptedSuggestions.push(locality);
lthis.placesResults.append(
'<li class="tb-places-suggestion" data-place-id="'+suggestion['place_id']+'" tabindex="-1">' +
locality +
'</li>'
);
}
}
});
this.placesResultsContainer.removeClass('hidden');
};
 
TbPlaces.prototype.validateSuggestionData = function(suggestion) {
const validGeometry = undefined !== suggestion.lat && undefined !== suggestion.lon,
validAddressData = undefined !== suggestion.address,
validDisplayName = undefined !== suggestion['display_name'];
 
return (validGeometry && validAddressData && validDisplayName);
};
 
TbPlaces.prototype.onSuggestionSelected = function() {
const lthis = this;
 
$('.tb-places-suggestion').off('click').on('click', function (evt) {
const $thisSuggestion = $(this),
suggestion = lthis.searchResults.find(suggestion => suggestion['place_id'] === $thisSuggestion.data('placeId'));
 
evt.preventDefault();
 
lthis.places.val($thisSuggestion.text());
lthis.clientCallback(suggestion);
lthis.placesCloseButton.trigger('click');
 
}).off('keydown').on('keydown', function (evt) {
evt.preventDefault();
 
const $thisSuggestion = $(this);
 
if (13 === evt.keyCode || 'Enter' === evt.key) {
$thisSuggestion.trigger('click');
} else if (38 === evt.keyCode || 'ArrowUp'=== evt.key) {
if(0 < $thisSuggestion.prev().length) {
$thisSuggestion.prev().focus();
} else {
lthis.places.focus();
}
} else if((40 === evt.keyCode || 'ArrowDown' === evt.key) && 0 < $thisSuggestion.next().length) {
$thisSuggestion.next().focus();
} else if (27 === evt.keyCode || ESC_KEY_STRING.test(evt.key)) {
lthis.placesCloseButton.trigger('click');
lthis.places.focus();
}
});
};
 
TbPlaces.prototype.resetOnClick = function () {
const lthis = this;
 
this.placesCloseButton.off('click').on('click', function (event) {
event.preventDefault();
lthis.resetPlacesSearch();
});
};
 
TbPlaces.prototype.toggleCloseButton = function(isShow = true) {
this.placesCloseButton.toggleClass('hidden', !isShow);
$('.tb-places-search-icon').toggleClass('hidden', isShow);
};
 
TbPlaces.prototype.handleSearchError = function() {
this.resetPlacesSearch();
if (0 === $('#tb-places-error').length) {
this.places.closest('#tb-places-zone').after(
`<span id="tb-places-error" class="error mb-3 mt-3">
Votre recherche n’a rien donné.<br>veuillez modifier votre recherche ou rechercher votre station directement sur la carte.
</span>`
);
setTimeout(function() {
$('#tb-places-error').remove();
}, 5000);
}
};
 
TbPlaces.prototype.resetPlacesSearch = function() {
this.toggleCloseButton(false);
this.placesResultsContainer.addClass('hidden');
this.placesResults.empty();
};
 
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/WidgetSaisie.js
New file
0,0 → 1,746
import {WidgetsSaisiesCommun,utils} from './WidgetsSaisiesCommun.js';
import {valOk} from './Utils.js';
 
/**
* Constructeur WidgetSaisie par défaut
*/
function WidgetSaisie( ) {
if ( valOk(widgetProp) ) {
this.urlWidgets = widgetProp.urlWidgets;
this.projet = widgetProp.projet;
this.idProjet = widgetProp.idProjet;
this.tagsMotsCles = widgetProp.tagsMotsCles;
this.mode = widgetProp.mode;
this.langue = widgetProp.langue;
this.serviceAnnuaireIdUrl = widgetProp.serviceAnnuaireIdUrl;
this.serviceNomCommuneUrl = widgetProp.serviceNomCommuneUrl;
this.serviceNomCommuneUrlAlt = widgetProp.serviceNomCommuneUrlAlt;
this.debug = widgetProp.debug;
this.html5 = widgetProp.html5;
this.serviceSaisieUrl = widgetProp.serviceSaisieUrl;
this.serviceObsUrl = widgetProp.serviceObsUrl;
this.chargementImageIconeUrl = widgetProp.chargementImageIconeUrl;
this.pasDePhotoIconeUrl = widgetProp.pasDePhotoIconeUrl;
this.autocompletionElementsNbre = widgetProp.autocompletionElementsNbre;
this.serviceAutocompletionNomSciUrl = widgetProp.serviceAutocompletionNomSciUrl;
this.serviceAutocompletionNomSciUrlTpl = widgetProp.serviceAutocompletionNomSciUrlTpl;
this.dureeMessage = widgetProp.dureeMessage;
this.obsMaxNbre = widgetProp.obsMaxNbre;
this.tagImg = widgetProp.tagImg;
this.tagObs = widgetProp.tagObs;
this.obsId = widgetProp.obsId;
this.nomSciReferentiel = widgetProp.nomSciReferentiel;
this.especeImposee = widgetProp.especeImposee;
this.infosEspeceImposee = widgetProp.infosEspeceImposee;
this.referentielImpose = widgetProp.referentielImpose;
this.isTaxonListe = widgetProp.isTaxonListe;
}
this.urlRacine = window.location.origin;
this.obsNbre = 0;
this.nbObsEnCours = 1;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.observer = null;
this.isASL = false;
this.geoloc = {};
}
WidgetSaisie.prototype = new WidgetsSaisiesCommun();
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
WidgetSaisie.prototype.initForm = function() {
this.initFormConnection();
if ( valOk( this.obsId ) ) {
this.chargerInfoObs();
}
if( this.isTaxonListe ) {
this.initFormTaxonListe();
} else {
this.ajouterAutocompletionNoms();
}
// au rafraichissement de la page,
// les input date semblent conserver la valeur entrée précedemment
// c'est voulu après la création d'une obs mais pas quand la page est actualisée
// Déjà tenté: onbeforeunload avec un location.reload(true) n'a pas permis de le faire
$( 'input[type=date]' ).each( function () {
( valOk( $( this ).data( 'default' ) ) ) ? $( this ).val( $( this ).data( 'default' ) ) : $( this ).val( '' );
});
this.configurerFormValidator();
this.definirReglesFormValidator();
 
if( this.especeImposee ) {
$( '#taxon' ).attr( 'disabled', 'disabled' );
$( '#taxon-input-groupe' ).attr( 'title', '' );
// Bricolage cracra pour avoir le nom retenu avec auteur (nom_retenu.libelle ne le mentionne pas)
const infosEspeceImposee = $.parseJSON( this.infosEspeceImposee );
let nomRetenuComplet = infosEspeceImposee.nom_retenu_complet;
const debutAnneRefBiblio = nomRetenuComplet.indexOf( ' [' );
 
if ( -1 !== debutAnneRefBiblio ) {
nomRetenuComplet = nomRetenuComplet.substr( 0, debutAnneRefBiblio );
}
// fin bricolage cracra
const infosAssociee = {
label : infosEspeceImposee.nom_sci_complet,
value : infosEspeceImposee.nom_sci_complet,
nt : infosEspeceImposee.num_taxonomique,
nomSel : infosEspeceImposee.nom_sci,
nomSelComplet : infosEspeceImposee.nom_sci_complet,
numNomSel : infosEspeceImposee.id,
nomRet : nomRetenuComplet,
numNomRet : infosEspeceImposee['nom_retenu.id'],
famille : infosEspeceImposee.famille,
retenu : ( 'false' === infosEspeceImposee.retenu ) ? false : true
};
$( '#taxon' ).data( infosAssociee );
}
};
 
/**
* Initialise les écouteurs d'événements
*/
WidgetSaisie.prototype.initEvts = function() {
// identité
this.initEvtsConnection();
// on location, initialisation de la géoloc
this.initEvtsGeoloc();
// Sur téléchargement image
this.initEvtsFichier();
 
$( '#referentiel' ).on( 'change', this.surChangementReferentiel.bind( this ) );
// Création / Suppression / Transmission des obs
// Défilement des miniatures dans le résumé obs
this.initEvtsObs();
// Alertes et aides
this.initEvtsAlertes();
// message avant de quitter le formulaire
this.confirmerSortie();
};
 
// Identité Observateur par courriel
WidgetSaisie.prototype.requeterIdentiteCourriel = function() {
const lthis = this,
courriel = $( '#courriel' ).val(),
urlAnnuaire = this.serviceAnnuaireIdUrl + courriel;
 
if ( valOk( courriel ) ) {
$.ajax({
url : urlAnnuaire,
type : 'GET',
success : function( data, textStatus, jqXHR ) {
if ( lthis.debug ) {
console.log( 'SUCCESS: ' + textStatus );
}
if ( valOk( data ) && valOk( data[courriel] ) ) {
const infos = data[courriel];
lthis.surSuccesCompletionCourriel( infos, courriel );
} else {
lthis.surErreurCompletionCourriel();
}
},
error : function( jqXHR, textStatus, errorThrown ) {
if ( lthis.debug ) {
console.log( 'ERREUR: '+ textStatus );
}
lthis.surErreurCompletionCourriel();
},
complete : function( jqXHR, textStatus ) {
if ( lthis.debug ) {
console.log( 'COMPLETE: '+ textStatus );
}
}
});
}
};
 
// se déclanche quand on choisit "Observation sans inscription" mais que le mail entré est incrit à Tela
WidgetSaisie.prototype.surSuccesCompletionCourriel = function( infos, courriel ) {
if ( $( '#utilisateur-connecte' ).hasClass( 'hidden' ) ) {// si quelque chose a foiré après actualisation
if ( !valOk( $( '#warning-identite' ) ) ) {
$( '#zone-courriel' ).before( '<p id="warning-identite" class="warning"><i class="fas fa-exclamation-triangle"></i> ' + this.msgTraduction( 'courriel-connu' ) + '</p>' );
}
$( '#inscription, #zone-prenom-nom, #zone-courriel-confirmation' ).addClass( 'hidden' );
$( '#prenom, #nom, #courriel_confirmation' ).attr( 'disabled', 'disabled' );
$( '.nav.control-group' ).addClass( 'error' );
}
};
 
// se déclanche quand on choisit "Observation sans inscription" et qu'effectivement le mail n'est pas connu de Tela
WidgetSaisie.prototype.surErreurCompletionCourriel = function() {
$( '#creation-compte, #zone-prenom-nom, #zone-courriel-confirmation' ).removeClass( 'hidden' );
$( '#warning-identite' ).remove();
$( '.nav.control-group' ).removeClass( 'error' );
$( '#prenom, #nom, #courriel_confirmation' ).val( '' ).removeAttr( 'disabled' );
};
 
WidgetSaisie.prototype.testerLancementRequeteIdentite = function( event ) {
if ( valOk( event.which, true, 13 ) ) {
this.requeterIdentiteCourriel();
event.preventDefault();
event.stopPropagation();
}
};
 
WidgetSaisie.prototype.reduireVoletIdentite = function() {
if ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() && $( '#courriel_confirmation' ).valid() ) {
$( '#bouton-connexion, #creation-compte' ).addClass( 'hidden' );
$( '#bienvenue').removeClass( 'hidden' );
$( '#inscription, #zone-courriel' ).addClass( 'hidden' );
if ( valOk( $( '#nom' ).val() ) && valOk( $( '#prenom' ).val() ) ) {
$( '#zone-prenom-nom' ).addClass( 'hidden' );
$( '#bienvenue-prenom' ).text( ' ' + $( '#prenom' ).val() );
$( '#bienvenue-nom' ).text( ' ' + $( '#nom' ).val() );
} else {
$( '#zone-prenom-nom' ).removeClass( 'hidden' );
$( '#bienvenue-prenom,#bienvenue-nom' ).text( '' );
}
} else {
$( '#bouton-connexion, #creation-compte' ).removeClass( 'hidden' );
$( '#bienvenue').addClass( 'hidden' );
}
};
 
 
WidgetSaisie.prototype.formaterNom = function() {
$( '#nom' ).val( $( '#nom' ).val().toUpperCase() );
};
 
WidgetSaisie.prototype.formaterPrenom = function() {
const prenom = [],
mots = $( '#prenom' ).val().split( ' ' ),
motsLength = mots.length;
 
for ( let i = 0; i < motsLength; i++ ) {
let mot = mots[i],
motMajuscule = '';
 
if ( 0 <= mot.indexOf( '-' ) ) {
const prenomCompose = new Array(),
motsComposes = mot.split( '-' ),
motsComposesLength = motsComposes.length;
 
for ( let j = 0; j < motsComposesLength; j++ ) {
const motSimple = motsComposes[j];
 
motMajuscule = motSimple.charAt(0).toUpperCase() + motSimple.slice(1);
prenomCompose.push( motMajuscule );
}
prenom.push( prenomCompose.join( '-' ) );
} else {
motMajuscule = mot.charAt(0).toUpperCase() + mot.slice(1);
prenom.push( motMajuscule );
}
}
$( '#prenom' ).val( prenom.join( ' ' ) );
};
 
WidgetSaisie.prototype.bloquerCopierCollerCourriel = function() {
this.afficherPanneau( '#dialogue-bloquer-copier-coller' );
 
return false;
};
 
// Préchargement des infos-obs ************************************************/
WidgetSaisie.prototype.chargerInfoObs = function() {
const lthis = this,
urlObs = this.serviceObsUrl + '/' + this.obsId;
 
$.ajax({
url: urlObs,
type: 'GET',
success: function( data, textStatus, jqXHR ) {
if ( valOk( data ) ) {
lthis.prechargerForm( data );
} else {
lthis.surErreurChargementInfosObs.bind( lthis );
}
},
error: function( jqXHR, textStatus, errorThrown ) {
lthis.surErreurChargementInfosObs();
}
});
};
 
// @TODO faire mieux que ça !
WidgetSaisie.prototype.surErreurChargementInfosObs = function() {
utils.activerModale( this.msgTraduction( 'erreur-chargement' ) );
};
 
WidgetSaisie.prototype.prechargerForm = function( data ) {
$( '#milieu' ).val( data.milieu );
$( '#commune-nom' ).text( data.zoneGeo );
if( data.hasOwnProperty( 'codeZoneGeo' ) ) {
// TODO: trouver un moyen qui fonctionne lorsqu'on aura d'autres référentiels que INSEE
$( '#commune-insee' ).text( data.codeZoneGeo.replace( 'INSEE-C:', '' ) );
}
 
if( data.hasOwnProperty( 'latitude' ) && data.hasOwnProperty( 'longitude' ) ) {
// $cartoRemplacee = $( '#tb-geolocation' ),
// suffixe = '',
// layer = 'osm',
// zoomInit = 18
const typeLocalisation = $( '#top' ).data( 'type-loc' ),
donnesResetCarto = {
latitude : data.latitude,
longitude : data.longitude,
typeLocalisation : typeLocalisation,
zoom : 18
};
this.transfererCarto( donnesResetCarto );
}
};
 
// Ajouter Obs ****************************************************************/
/**
* Retourne un Array contenant les valeurs des champs étendus
*/
WidgetSaisie.prototype.getObsChpSpecifiques = function() {
const lthis = this,
champs = [],
$thisForm = $( '#form-supp' ),
elements =
'input[type=text]:not(.collect-other),'+
'input[type=checkbox]:checked,'+
'input[type=radio]:checked,'+
'input[type=email],'+
'input[type=number],'+
'input[type=range],'+
'input[type=date],'+
'textarea,'+
'.select',
retour = [];
 
$( elements, $thisForm ).each( function() {
if ( valOk( $( this ).val() ) && ( valOk( $( this ).attr( 'name' ) ) || valOk( $( this ).data( 'name' ) ) ) ) {
const valeur = $( this ).val(),
cle = ( valOk( $( this ).attr( 'name' ) ) ) ? $( this ).attr( 'name' ) : $( this ).data( 'name' );
if ( cle in champs ) {
champs[cle] += ';' + valeur;
} else {
champs[cle] = valeur;
}
}
});
for ( let key in champs ) {
retour.push({ 'cle' : key , 'valeur' : champs[key] });
}
if ( valOk( $( '#coord-lineaire' ).val() ) ) {
retour.push({ 'cle' : 'coordonnees-rue-ou-lineaire' , 'valeur' : $( '#coord-lineaire' ).val() });
}
return retour;
};
 
WidgetSaisie.prototype.reinitialiserForm = function() {
this.supprimerMiniatures();
if( !this.especeImposee ) {
$( '#taxon' ).val( '' );
$( '#taxon' ).data( 'numNomSel', '' )
.data( 'nomRet','' )
.data( 'numNomRet', '' )
.data( 'nt', '' )
.data( 'famille', '' );
if( this.isTaxonListe ) {
$( '#taxon-liste' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
$( '#taxon-input-groupe' ).addClass( 'hidden' );
$('#taxon-autre').val('');
}
}
if ( valOk( $( '#form-supp' ) ) ) {
$( '#form-supp' ).validate().resetForm();
}
};
 
// Géolocalisation *************************************************************/
/**
* Fonction handler de l'évenement location du module tb-geoloc
*/
WidgetSaisie.prototype.locationHandler = function( location ) {
const locDatas = location.originalEvent.detail;
 
if ( valOk( locDatas ) ) {
console.log( locDatas );
 
const geometry = JSON.stringify( locDatas.geometry ),
altitude = ( valOk( locDatas.elevation ) ) ? locDatas.elevation : '',
pays = ( valOk( locDatas.osmCountryCode ) ) ? locDatas.osmCountryCode.toUpperCase() : 'FR',
rue = ( valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : '';
let latitude = '',
longitude = '',
coordLineaire = '',
nomCommune = '',
communeInsee = '';
 
if ( valOk( locDatas.geometry.coordinates ) &&
valOk( locDatas.centroid.coordinates ) &&
valOk( locDatas.centroid.coordinates[0] ) &&
valOk( locDatas.centroid.coordinates[1] )
) {
latitude = locDatas.centroid.coordinates[0];
longitude = locDatas.centroid.coordinates[1];
}
if ( valOk( locDatas.inseeData ) ) {
nomCommune = locDatas.inseeData.nom;
communeInsee = ( valOk( locDatas.inseeData.code ) ) ? locDatas.inseeData.code : '';
} else if ( valOk( locDatas.locality ) ) {
nomCommune = locDatas.locality;
} else if ( valOk( locDatas.locality ) ) {
nomCommune = locDatas.osmCounty;
}
$( '#geometry' ).val( geometry );
$( '#coord-lineaire' ).val( coordLineaire );
$( '#latitude' ).val( latitude );
$( '#longitude' ).val( longitude );
$( '#commune-nom' ).val( nomCommune );
$( '#commune-insee' ).val( communeInsee );
$( '#altitude' ).val( altitude );
$( '#pays' ).val( pays );
$( '#station' ).val( rue );
$( '#latitude, #longitude' ).valid();
if ( valOk( $( '#latitude' ).val() ) && valOk( $( '#longitude' ).val() ) ) {
$( '#geoloc' ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
} else {
console.warn( 'Error location' );
}
}
 
// Form Validator *************************************************************/
WidgetSaisie.prototype.chpEtendusValidation = function() {
const lthis = this,
$thisForm = $( '#form-supp' ),
elements =
'.checkbox,'+
'.radio,'+
'.checkboxes,'+
'.select,'+
'textarea,'+
'input[type=text]:not(.collect-other),'+
'input[type=email],'+
'input[type=number],'+
'input[type=range],'+
'input[type=date]',
speFields = ['checkbox','radio','checkboxes','select'],
spefieldsCount = speFields.length,
chpSuppValidation = {
rules : {},
messages : {},
minmax : []
},
errors = {},
namesListFields = [];
let picked = '';
 
$( elements, $thisForm ).each( function() {
for( let fieldsClass = 0; spefieldsCount > fieldsClass; fieldsClass++ ) {
const dataName = $( this ).data( 'name' );
 
if ( valOk( $( this ).attr( 'required' ) ) && $( this ).hasClass( speFields[fieldsClass] ) && !valOk( chpSuppValidation.rules[ dataName ] ) ) {
namesListFields.push( dataName );
chpSuppValidation.rules[ dataName ] = { required : true };
if ( valOk( $( '.other', $( this ) ) ) ) {
picked = ( 'select' === speFields[fieldsClass] ) ? ':selected' : ':checked';
chpSuppValidation.rules[ 'collect-other-' + dataName.replace( '[]', '' ) ] = {
required : '#other-' + dataName.replace( '[]', '' ) + picked,
minlength: 1
};
chpSuppValidation.messages[ 'collect-other-' + dataName.replace( '[]', '' ) ] = false;
}
chpSuppValidation.rules[ dataName ]['listFields'] = true;
chpSuppValidation.messages[ dataName ] = 'Ce champ est requis :\nVeuillez choisir une option, ou entrer une valeur autre valide.';
errors[dataName] = '.' + speFields[fieldsClass];
}
}
if ( valOk( $( this ).attr( 'name' ) ) && valOk ( $( this ).attr( 'required' ) ) && 0 > $.inArray( $( this ).attr( 'name' ) , namesListFields ) ) {
chpSuppValidation.rules[ $( this ).attr( 'name' ) ] = { required : true, minlength: 1 };
if(
( valOk( $( this ).attr( 'type' ), true, 'number' ) || valOk( $( this ).attr( 'type' ), true, 'range' ) ) &&
( valOk( $( this )[0].min ) || valOk( $( this )[0].max ) )
) {
chpSuppValidation.rules[ $( this ).attr('name') ]['minMaxOk'] = true;
chpSuppValidation.messages[ $( this ).attr('name') ] = lthis.validerMinMax( $( this )[0] ).message;
}
}
});
if ( valOk( chpSuppValidation.rules ) ) {
$.each( chpSuppValidation.rules, function( key ) {
if ( !valOk( chpSuppValidation.messages[key] ) ) {
chpSuppValidation.messages[key] = 'Ce champ est requis :\nVeuillez entrer une valeur valide.';
}
});
if ( 0 < Object.keys( errors ).length ) {
chpSuppValidation['errors'] = errors;
}
}
return chpSuppValidation;
};
 
WidgetSaisie.prototype.validerMinMax = function( element ) {
const minCond = parseFloat( element.value ) >= parseFloat( element.min ),
maxCond = parseFloat( element.value ) <= parseFloat( element.max ),
returnMnMx = { cond : true , message : '' };
let mnMxCond = new Boolean(),
messageMnMx = 'La valeur entrée doit être';
 
if(
( valOk( element.type, true, 'number' ) || valOk( element.type, true, 'range' ) ) &&
( valOk( element.min ) || valOk( element.max ) )
) {
if ( element.min && element.max ) {
messageMnMx += ' comprise entre ' + element.min + ' et ' + element.max;
mnMxCond = ( minCond && maxCond );
} else if ( element.min ) {
messageMnMx += ' supérieure à ' + element.min;
mnMxCond = minCond;
} else {
messageMnMx += ' inférieure à ' + element.max;
mnMxCond = maxCond;
}
returnMnMx.cond = mnMxCond;
returnMnMx.message = messageMnMx;
}
return returnMnMx;
 
};
 
WidgetSaisie.prototype.definirReglesFormValidator = function() {
const lthis = this,
formSuppValidation = this.chpEtendusValidation();
 
$( '#form-supp' ).validate({
onclick : function( element ) {
if (
(
valOk( element.type, true, 'checkbox' ) ||
valOk( element.type, true, 'radio' )
) &&
(
!valOk( $( '.' + $( element ).attr( 'name' ).replace( '[]', '' ) + ':checked' ) ) ||
valOk( $( '.' + $( element ).attr( 'name' ).replace( '[]', '' ) + ':not(.other):checked' ) ) ||
!valOk( $( '#other-' + $( element ).attr( 'name' ).replace( '[]', '' ) ) ) ||
$( '#other-' + $( element ).attr( 'name' ).replace( '[]', '' ) ).is( ':checked' ) ||
(
$( '#other-' + $( element ).attr( 'name' ).replace( '[]', '' ) ).is( ':checked' ) &&
$( element ).closest( '.control-group' ).hasClass('error')
)
)
) {
$( element ).valid();
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
$( element ).next( $( 'span.error' ) ).remove();
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
return false;
},
rules : formSuppValidation.rules,
messages : formSuppValidation.messages,
errorPlacement : function( error , element ) {
if ( 0 < Object.keys( formSuppValidation.errors ).length ) {
const errorsKeys = Object.keys( formSuppValidation.errors );
let thisKey = '',
errorsFlag = true;
 
for ( let i = 0 ; i < errorsKeys.length ; i++ ) {
thisKey = errorsKeys[i];
if( $( element ).attr( 'name' ) === thisKey ) {
$( formSuppValidation.errors[thisKey] ).append( error );
errorsFlag = false;
}
}
if ( errorsFlag ) {
error.insertAfter( element );
}
} else {
error.insertAfter( element );
}
}
});
$( '#form-supp .select' ).change( function() {
$( this ).valid();
});
$( 'input[type=date]' ).on( 'input', function() {
$( this ).valid();
});
// Validation taxon
// et gestion des messages d'erreur taxon et images en fonction de la certitude
$( '#taxon, #certitude' ).on( 'change', function() {
lthis.validerTaxonRequis( valOk( $( '#taxon' ).val() ) );
});
// Validation miniatures avec MutationObserver
this.surPresenceAbsenceMiniature();
$( '#form-observation' ).validate({
rules : {
date_releve : {
required : true,
'dateCel' : true
},
latitude : {
required : true,
minlength : 1,
range : [-90, 90]
},
longitude : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
email : true,
'userEmailOk' : true
},
courriel_confirmation : {
required : true,
equalTo : '#courriel'
}
}
});
$( '#connexion,#inscription,#bouton-anonyme' ).on( 'click', function( event ) {
$( '.nav.control-group' ).removeClass( 'error' );
});
};
 
 
WidgetSaisie.prototype.validerCertitudeTaxonImage = function( hasTaxon = false, hasImages = false ) {
if( 'certain' === $( '#certitude' ).val() ) {
return this.validerTaxonRequis( hasTaxon );
} else {
return this.validerImageRequise( hasImages );
}
};
 
WidgetSaisie.prototype.validerTaxonRequis = function( hasTaxon = false ) {
const taxonEstRequis = 'certain' === $( '#certitude' ).val();
 
$( '#photos-conteneur').removeClass( 'error' )
.find( 'span.error' ).hide();
 
if ( !hasTaxon && taxonEstRequis ) {
this.afficherPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).addClass( 'error' )
.find( 'span.error' ).show();
} else {
this.masquerPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).removeClass( 'error' )
.find( 'span.error' ).hide();
}
 
if ( taxonEstRequis ) {
return hasTaxon;
}
};
 
WidgetSaisie.prototype.validerImageRequise = function( hasImages = false ) {
$( '#bloc-taxon' ).removeClass( 'error' )
.find( 'span.error' ).hide();
 
if ( hasImages ) {
this.masquerPanneau( '#dialogue-taxon-or-image' );
$( '#fichier' ).parent( 'label.label-file' ).removeClass( 'error' );
$( '#photos-conteneur').removeClass( 'error' ).find( 'span.error' ).hide();
} else {
this.afficherPanneau( '#dialogue-taxon-or-image' );
$( '#fichier' ).parent( 'label.label-file' ).addClass( 'error' );
$( '#photos-conteneur').addClass( 'error' ).find( 'span.error' ).show();
}
return hasImages;
};
 
WidgetSaisie.prototype.surPresenceAbsenceMiniature = function() {
const lthis = this;
// voir : https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver/disconnect
// Selectionne le noeud dont les mutations seront observées
const targetNode = document.getElementById( 'miniatures' );
// Fonction callback à éxécuter quand une mutation est observée
const callback = mutationsList => {
for( let mutation of mutationsList ) {
lthis.validerCertitudeTaxonImage(
valOk( $( '#taxon' ).val() ),
0 < mutation.target.childElementCount
);
}
};
// Créé une instance de l'observateur lié à la fonction de callback
this.observer = new MutationObserver( callback );
// Commence à observer le noeud cible pour les mutations précédemment configurées
this.observer.observe( targetNode, { childList: true } );
};
 
WidgetSaisie.prototype.validerForm = function() {
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() && $( '#courriel_confirmation' ).valid() ),
obs = $( '#form-observation' ).valid(),
geoloc = ( valOk( $( '#latitude' ).val() ) && valOk( $( '#longitude' ).val() ) ) ,
// validation et panneau taxon/images
certitudeTaxonImage = this.validerCertitudeTaxonImage(
valOk( $( '#taxon' ).val() ),
valOk( $( '#miniatures .miniature' ) )
);
let chpsSupp = true;
 
if ( valOk( $( '#form-supp' ) ) ) {
chpsSupp = ( function () {
let otherFlag = $( '#form-supp' ).valid();
 
if( valOk( $( '.other', $( '#form-supp' ) ) ) ) {
$( '.other', $( '#form-supp' ) ).each( function() {
const picked = ( $( this ).data( 'element' ) !== 'select' ) ? ':checked' : ':selected';
 
if ( $( this ).is( picked ) && valOk( $( this ).val(), true, 'other' ) ) {
otherFlag = false;
}
});
}
 
return otherFlag;
})();
}
// panneau geoloc
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-datas' ).closest( '.control-group' ).removeClass( 'error' );
} else{
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-datas' ).closest( '.control-group' ).addClass( 'error' );
}
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '.nav.control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '.nav.control-group' ).addClass( 'error' );
}
return ( observateur && obs && geoloc && certitudeTaxonImage && chpsSupp );
};
 
// Referentiel ****************************************************************/
// N'est pas utilisé en cas de taxon-liste
WidgetSaisie.prototype.surChangementReferentiel = function() {
this.nomSciReferentiel = $( '#referentiel' ).val();
//réinitialise taxon.val
$( '#taxon' ).val( '' );
$( '#taxon' ).data( 'numNomSel', '' );
};
 
 
$( document ).ready( function() {
const widget = new WidgetSaisie();
widget.init();
// Fonctions de Style et Affichage des éléments "spéciaux"
utils.init();
});
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/ReleveASL.js
New file
0,0 → 1,1018
import {WidgetsSaisiesASL} from './WidgetsSaisiesASL.js';
import {valOk} from './Utils.js';
 
/**
* Constructeur ReleveASL par défaut
* S'applique au squelette apaforms.tpl.html
* Qui se charge dans apa.tpl.php
* Lors de la saisie du relevé et des arbres
*/
// ASL : APA, sTREETs, Lichen's Go!
export function ReleveASL(arbresProp) {
if ( valOk( arbresProp ) ) {
this.sujet = arbresProp.sujet;
this.tagImg = arbresProp.tagImg;
this.separationTagImg = arbresProp.separationTagImg;
this.tagImg = arbresProp.tagImg;
this.tagObs = arbresProp.tagObs;
this.separationTagObs = arbresProp.separationTagObs;
this.nomSciReferentiel = arbresProp.nomSciReferentiel;
this.referentielImpose = arbresProp.referentielImpose;
}
this.isTaxonListe = false;
this.numArbre = 0;
}
ReleveASL.prototype = new WidgetsSaisiesASL();
 
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
ReleveASL.prototype.initForm = function() {
const idUtilisateur = $( '#id_utilisateur' ).val();
 
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
if( valOk( idUtilisateur ) ) {
if ( valOk( $( '#releve-data' ).val() ) ) {
const datRuComun = $.parseJSON( $( '#dates-rues-communes' ).val() ),
releveDatas = $.parseJSON( $( '#releve-data' ).val() );
 
if ( !valOk( releveDatas[1] ) || -1 === datRuComun.indexOf( releveDatas[1]['date_rue_commune'] ) ) {
this.releveDatas = releveDatas;
if ( valOk( this.releveDatas[0].utilisateur, true, idUtilisateur ) ) {
$( '#releve-date' ).val( this.releveDatas[0].date );
this.rechargerFormulaire();
this.saisirArbres();
$( '#bouton-list-releves' )
.removeClass( 'hidden' )
.on( 'click', function( event ) {
event.preventDefault();
$( '#table-releves' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
});
}
}
}
if ( valOk( $( '.charger-releve' ) ) ) {
const btnChargementForm = this.determinerBtnsChargementForm( '.' );
// #releve-data est modifié, bouton dans #releves-utilisateur
this.btnsChargerForm( btnChargementForm );
}
}
this.ajouterAutocompletionNoms();
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
ReleveASL.prototype.initEvts = function() {
const lthis = this;
 
// comportement du bouton nouveau releve
if ( valOk( $( '#id_utilisateur' ).val() ) ) {
// #releve-data est modifié, bouton dans #releves-utilisateur
this.btnsChargerForm( '#bouton-nouveau-releve' );
}
// on location, initialisation de la géoloc
this.initEvtsGeoloc();
// Sur téléchargement image
this.initEvtsFichier();
 
if ( 'tb_streets' !== this.projet ) {
// Gérer une option "aucune" sur plusieurs checkboxes
$( '#face-ombre input' ).on( 'click', function () {
if ( 'aucune' === $( this ).val() ) {
$( '#face-ombre input' ).not( '#aucune' ).prop( 'checked' , false );
} else {
$( '#aucune' ).prop( 'checked' , false );
}
});
}
$( '#soumettre-releve' ).on( 'click', function( event ) {
event.preventDefault();
lthis.saisirArbres();
});
// Création / Suppression / Transmission des obs
// Défilement des miniatures dans le résumé obs
this.initEvtsObs();
 
$( '#bloc-info-arbres' ).on( 'click', '.arbre-info', function ( event ) {
event.preventDefault();
$( this ).addClass( 'disabled' );
$( '.arbre-info' ).not( $( this ) ).removeClass( 'disabled' );
 
const numArbre = $( this ).data( 'arbre-info' );
 
lthis.chargerInfosArbre( numArbre );
lthis.scrollFormTop( '#zone-arbres' );
});
// après avoir visualisé les champs d'un arbre, retour à la saisie
$( '#retour' ).on( 'click', function( event ) {
event.preventDefault();
 
const numArbre = lthis.numArbre + 1;
 
// activation des champs et retour à la saisie
lthis.modeArbresBasculerActivation( false, numArbre );
$( '#taxon' )
.val('')
.removeData([
'value',
'numNomSel',
'nomRet',
'numNomRet',
'nt',
'famille'
]);
lthis.scrollFormTop( '#zone-arbres' );
});
// chargement plantes ou lichens
const btnChargementForm = this.determinerBtnsChargementForm( '#' );
// #releve-data n'est pas modifié, bouton dans #charger-form
this.btnsChargerForm( btnChargementForm, false, false );
// Alertes et aides
this.initEvtsAlertes();
};
 
/**
* Recharge le formulaire relevé (étape 1) à partir des infos
* présentes dans l'input hidden '#releve-data'
*/
ReleveASL.prototype.rechargerFormulaire = function() {
const lthis = this;
 
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
$.each( this.releveDatas[0], function( cle , valeur ) {
if ( 'zone-pietonne' === cle || 'pres-lampadaires' === cle ) {
$( 'input[name=' + cle + '][value=' + valeur + ']' , '#zone-observation' ).prop( 'checked', true );
} else if ( valOk( $( '#' + cle ) ) ) {
$( '#' + cle ).val( valeur );
}
});
 
if (
valOk( $( '#geometry-releve' ).val() ) &&
valOk( $( '#latitude-releve' ).val() ) &&
valOk( $( '#longitude-releve' ).val() ) &&
valOk( $( '#rue' ).val() ) &&
valOk( $( '#commune-nom' ).val() )
) {
$( '#geoloc' ).addClass( 'hidden' );
$( '#geoloc-datas' ).removeClass( 'hidden' );
}
this.scrollFormTop( '#zone-observation', '#releve-date' )
};
 
/**
* Recharge le formulaire étape arbres à partir des infos
* présentes dans l'input hidden '#releve-data'
*/
ReleveASL.prototype.chargerArbres = function() {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.obsNbre = this.releveDatas.length - 1;
this.numArbre = parseInt( this.releveDatas[ this.obsNbre ]['num-arbre'] ) || this.obsNbre;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '#arbre-nb' ).text( this.numArbre + 1 );
 
const infosArbre = {
releve : this.releveDatas[0],
obsNum : 0,
sujet : {}
};
 
for( let i = 1; i <= this.obsNbre; i ++ ) {
infosArbre.obsNum = i;
infosArbre.sujet = this.releveDatas[i];
this.lienArbreInfo( infosArbre.sujet['num-arbre'] );
this.afficherObs( infosArbre );
this.stockerObsData( infosArbre, true );
}
};
 
ReleveASL.prototype.lienArbreInfo = function( numArbre ) {
if ( numArbre == 1 ) {
$( '#bloc-info-arbres-title' ).removeClass( 'hidden' );
}
$( '#bloc-info-arbres' ).append(
'<div'+
' id="arbre-info-' + numArbre + '"'+
' class="col-sm-8"'+
'>'+
'<a'+
' id="arbre-info-lien-' + numArbre + '"'+
' href=""'+
' class="arbre-info btn btn-outline-info btn-block mb-3"'+
' data-arbre-info="' + numArbre + '"'+
'>'+
'<i class="fas fa-info-circle"></i>'+
' Arbre ' + numArbre +
'</a>'+
'</div>'
);
};
 
// Ajouter Obs ****************************************************************/
/**
* Etape formulaire avec transfert carto
*/
ReleveASL.prototype.saisirArbres = function() {
if ( this.validerReleve() ) {
$( '#soumettre-releve' )
.addClass( 'disabled' )
.attr( 'aria-disabled', true )
.off();
$( '#form-observation' ).find( 'input, textarea' ).prop( 'disabled', true );
$( '#zone-arbres,#geoloc-datas,#bouton-nouveau-releve' ).removeClass( 'hidden' );
this.confirmerSortie();
if ( !valOk( $( '#releve-data' ).val() ) ) {
const releveDatasTmp = {
obs : {
ce_utilisateur : $( '#id_utilisateur' ).val(),
date_observation : $( '#releve-date' ).val(),
zone_geo : $( '#commune-nom' ).val(),
ce_zone_geo : $( '#commune-insee' ).val(),
pays : $( '#pays' ).val(),
commentaire : $( '#commentaires' ).val().trim()
},
obsE : {
rue : $( '#rue' ).val(),
'geometry-releve' : $( '#geometry-releve' ).val(),
'latitude-releve' : $( '#latitude-releve' ).val(),
'longitude-releve' : $( '#longitude-releve' ).val(),
'altitude-releve' : $( '#altitude-releve' ).val()
}
};
if ( 'tb_lichensgo' !== this.projet ) {
releveDatasTmp.obsE['zone-pietonne'] = $( '#zone-pietonne input:checked' ).val();
releveDatasTmp.obsE['pres-lampadaires'] = $( '#pres-lampadaires input:checked' ).val();
}
this.releveDatas = this.formaterReleveData(releveDatasTmp);
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
this.numArbre = this.releveDatas.length - 1;
} else {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.releveDatas[0].date = $( '#releve-date' ).val();
if ( 'tb_lichensgo' !== this.projet ) {
this.releveDatas[0]['zone-pietonne'] = $( '#zone-pietonne input:checked' ).val();
this.releveDatas[0]['pres-lampadaires'] = $( '#pres-lampadaires input:checked' ).val();
}
this.releveDatas[0].commentaires = $( '#commentaires' ).val().trim();
for ( let i = 1 ; i < this.releveDatas.length; i++ ) {
this.releveDatas[i]['date_rue_commune'] = (
this.releveDatas[0].date +
this.releveDatas[0].rue +
this.releveDatas[0]['commune-nom']
);
}
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
//charger les images
this.chargerImgEnregistrees();
this.numArbre = $.parseJSON( $( '#releve-data' ).val() ).length - 1;
}
// transfert carto
// $cartoRemplacee = $( '#tb-geolocation' ),
// layer = 'osm',
// zoomInit = 18
const donnesResetCarto = {
geometry : $( '#geometry-releve' ).val(),
latitude : $( '#latitude-releve' ).val(),
longitude : $( '#longitude-releve' ).val(),
suffixe : 'arbres',
layer : 'googleHybrid',
zoomInit : 18
};
 
this.transfererCarto( donnesResetCarto );
this.scrollFormTop( '#zone-arbres' );
}
};
 
ReleveASL.prototype.chargerImgEnregistrees = function() {
const releveL = this.releveDatas.length;
let idArbre = 0,
last = false,
urlImgObs = '',
imgDatas = {};
 
for ( let i = 1; i < releveL; i++ ) {
idArbre = this.releveDatas[i]['id_observation'];
urlImgObs = this.serviceObsImgs + idArbre;
imgDatas = {
'indice' : i,
'idArbre' : idArbre,
'numArbre' : this.releveDatas[i]['num-arbre'],
'nomRet' : this.releveDatas[i].taxon.nomRet.replace( /\s/, '_' ),
'releveDatas' : this.releveDatas
};
 
if ( ( releveL - 1) === i ) {
last = true;
}
this.chargerImgArbre( urlImgObs, imgDatas, last );
}
};
 
ReleveASL.prototype.chargerImgArbre = function( urlImgObs, imgDatas, last ) {
const lthis = this;
 
$.ajax({
url: urlImgObs,
type: 'GET',
success: function( idsImg, textStatus, jqXHR ) {
if ( valOk( idsImg ) ) {
let urlImg = '',
images = [];
 
idsImg = idsImg[parseInt( imgDatas.idArbre )];
$.each( idsImg, function( i, idImg ) {
urlImg = lthis.serviceObsImgUrl.replace( '{id}', '000' + idImg );
images[i] = {
nom : imgDatas.nomRet + '_arbre'+ imgDatas.numArbre +'_image' + ( i + 1 ),
src : urlImg,
b64 :[],
id : idImg
};
});
imgDatas.releveDatas[imgDatas.indice]['miniature-img'] = images;
$( '#releve-data' ).val( JSON.stringify( imgDatas.releveDatas ) );
} else {
console.dir( lthis.msgTraduction( 'erreur-image' ) + ' : ' + lthis.msgTraduction( 'arbre' ) + ' ' + imgDatas.idArbre );
}
},
error: function( jqXHR, textStatus, errorThrown ) {
console.dir( lthis.msgTraduction( 'erreur-image' ) );
}
})
.always( function() {
if (last) {
lthis.chargerArbres();
}
});
};
 
/**
* Retourne un Array contenant les valeurs des champs
* dont les données seront transmises dans la table cel-obs-etendues
*/
ReleveASL.prototype.getObsChpSpecifiques = function( datasArbres ) {
const lthis = this,
retour = [],
champs = [
'rue',
'geometry-releve',
'latitude-releve',
'longitude-releve',
'altitude-releve'
];
 
if ( 'tb_lichensgo' !== this.projet ) {
champs.push(
'zone-pietonne',
'pres-lampadaires',
'surface-pied',
'equipement-pied-arbre',
'tassement',
'dejections',
'com-arbres'
);
}
champs.push(
'rue-arbres',
'circonference'
);
 
let cleValeur = '';
 
$.each( champs, function( i , value ) {
cleValeur = ( 4 > i ) || ( 6 > i && 'tb_lichensgo' !== lthis.projet ) ? 'releve' : 'sujet';
if ( valOk( datasArbres[cleValeur][value] ) ) {
retour.push({ cle : value, valeur : datasArbres[cleValeur][value] });
}
});
if ( 'tb_streets' !== this.projet ) {
const faceOmbreLength = datasArbres.sujet['face-ombre'].length;
let faceOmbre = '';
 
if ( 'string' === typeof datasArbres.sujet['face-ombre'] ) {
faceOmbre = datasArbres.sujet['face-ombre'];
} else {
$.each( datasArbres.sujet['face-ombre'], function( i ,value ) {
faceOmbre += value
if ( faceOmbreLength > ( i + 1 ) ) {
faceOmbre += ';';
}
});
}
retour.push({ cle : 'face-ombre', valeur : faceOmbre });
}
retour.push({ cle : 'num_arbre' , valeur : datasArbres.obsNum });
 
let stockerImg = valOk( datasArbres.sujet['miniature-img'] );
 
if( stockerImg ) {
$.each( datasArbres.sujet['miniature-img'], function( i, paramsImg ) {
if( !paramsImg.hasOwnProperty( 'id' ) ) {
stockerImg = false;
}
return stockerImg;
});
}
if( stockerImg ) {
retour.push({ cle : 'miniature-img' , valeur : JSON.stringify( datasArbres.sujet['miniature-img'] ) });
}
return retour;
};
 
ReleveASL.prototype.chargerInfosArbre = function( numArbre ) {
const desactiverForm = ( parseInt( numArbre ) !== ( this.numArbre + 1 ) );
 
if ( desactiverForm ) {
const releveDatas = $.parseJSON( $( '#releve-data' ).val() ),
arbreDatas = releveDatas[numArbre];
let taxon = {},
imgHtml = '';
 
$( '#arbre-nb' ).text( numArbre + ' (visualisation)' );
taxon.item = arbreDatas.taxon;
this.surAutocompletionTaxon( {}, taxon );
 
const selects = [ 'certitude' ];
 
if ( 'tb_lichensgo' !== this.projet ) {
selects.push( 'equipement-pied-arbre', 'tassement' );
}
$.each( selects, function( i, value ) {
if( !valOk( arbreDatas[value] ) ) {
arbreDatas[value] = '';
}
if ( $( this ).hasClass( 'other' ) && valOk( $( this ).val() ) ) {
$( this ).text( $( this ).val() );
}
$( '#' + value + ' option' ).each( function() {
if ( arbreDatas[value] === $( this ).val() ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
});
$( '#rue-arbres' ).val( arbreDatas['rue-arbres'] );
$( '#geometry-arbres' ).val( arbreDatas['geometry-arbres'] );
$( '#latitude-arbres' ).val( arbreDatas['latitude-arbres'] );
$( '#longitude-arbres' ).val( arbreDatas['longitude-arbres'] );
$( '#altitude-arbres' ).val( arbreDatas['altitude-arbres'] );
// image
this.supprimerMiniatures();
$.each( arbreDatas['miniature-img'], function( i, value ) {
imgHtml +=
'<div class="miniature mb-3 mr-3">'+
'<img class="miniature-img" class="miniature img-rounded" alt="' + value.nom + '" src="' + value.src + '"/>'+
'</div>';
});
$( '#miniatures' ).append( imgHtml );
$( '#circonference' ).val( arbreDatas.circonference );
$( '#com-arbres' ).val( arbreDatas['com-arbres'] );
if ( 'tb_lichensgo' !== this.projet ) {
$( '#surface-pied' ).val( arbreDatas['surface-pied'] );
if ( undefined != arbreDatas.dejections ) {
$( '#dejections-oui' ).prop( 'checked', arbreDatas.dejections );
$( '#dejections-non' ).prop( 'checked', !arbreDatas.dejections );
}
}
if ( 'tb_streets' !== this.projet ) {
$( '#face-ombre input' ).each( function() {
if ( -1 < arbreDatas['face-ombre'].indexOf( $( this ).val() ) ) {
$( this ).prop( 'checked', true );
} else {
$( this ).prop( 'checked', false );
}
});
}
}
this.modeArbresBasculerActivation( desactiverForm, numArbre );
};
 
ReleveASL.prototype.modeArbresBasculerActivation = function( desactiver, numArbre = 0 ) {
let selecteurs =
'#taxon,'+
'#certitude,'+
'#geometry-arbres,'+
'#latitude-arbres,'+
'#longitude-arbres,'+
'#rue-arbres,'+
'#fichier,'+
'#circonference,'+
'#com-arbres,'+
'#ajouter-obs';
 
if ( 'tb_lichensgo' !== this.projet ) {
selecteurs +=
',#equipement-pied-arbre,'+
'#tassement,'+
'#surface-pied';
$( '#dejections' ).find( 'input' ).prop( 'disabled', desactiver );
}
$( selecteurs ).prop( 'disabled', desactiver );
if ( 'tb_streets' !== this.projet ) {
$( '#face-ombre' ).find( 'input' ).prop( 'disabled', desactiver );
}
if ( desactiver ) {
$( '#geoloc-arbres,#bouton-fichier,#miniature-info' ).addClass( 'hidden' );
$( '#geoloc-datas-arbres,#retour' ).removeClass( 'hidden' );
} else {
// quand on change ou qu'on revient à la normale :
$( '#geoloc-arbres,#bouton-fichier,#miniature-info' ).removeClass( 'hidden' );
$( '#geoloc-datas-arbres,#retour' ).addClass( 'hidden' );
// reset carto
// typeLocalisation = 'point',
// zoomInit = 18
const donnesResetCarto = {
cartoRemplacee : $( '#tb-geolocation-arbres' ),
geometry : $( '#geometry-releve' ).val(),
latitude : $( '#latitude-releve' ).val(),
longitude : $( '#longitude-releve' ).val(),
suffixe : 'arbres',
layer : 'googleHybrid',
zoomInit : 18
};
 
this.transfererCarto( donnesResetCarto );
// retour aux valeurs par defaut
selecteurs = '#certitude option';
if ( 'tb_lichensgo' !== this.projet ) {
selecteurs += ',#equipement-pied-arbre option,#tassement option';
$( '#equipement-pied-arbre .other' ).text( 'Autre' ).val( 'other' );
$( '#collect-other-equipement-pied-arbre' ).closest( '.control-group' ).remove();
$( '#dejections' ).find( 'input' ).prop( 'checked', false );
}
if ( 'tb_streets' !== this.projet ) {
$( '#face-ombre' ).find( 'input' ).prop( 'checked', false );
}
$( selecteurs ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
this.supprimerMiniatures();
selecteurs =
'#circonference,'+
'#com-arbres,'+
'#rue-arbres,'+
'#geometry-arbres,'+
'#latitude-arbres,'+
'#longitude-arbres,'+
'#certitude';
if ( 'tb_lichensgo' !== this.projet ) {
selecteurs +=
',#equipement-pied-arbre,'+
'#tassement,'+
'#surface-pied';
}
$( selecteurs ).val( '' );
if( 0 < numArbre ) {
$( '#arbre-nb' ).text( numArbre );
$( '#arbre-info-lien-' + numArbre ).addClass( 'disabled' );
$( '.arbre-info' ).not( '#arbre-info-lien-' + numArbre ).removeClass( 'disabled' );
}
}
};
 
/*
* Actualise l'id_observation ( id de l'obs en bdd )
* à partir des données renvoyées par le service après transfert
*/
ReleveASL.prototype.actualiserReleveDataIdObs = function( obsId, id_observation ) {
this.releveData = $.parseJSON( $( '#releve-data' ).val() );
this.releveData[obsId ]['id_observation'] = id_observation;
$( '#releve-data' ).val( JSON.stringify( this.releveData ) );
};
 
// Géolocalisation *************************************************************/
/**
* Fonction handler de l'évenement location du module tb-geoloc
*/
ReleveASL.prototype.locationHandler = function( location ) {
const lthis = this,
isGeolocArbres = ( 'tb-geolocation-arbres' === location.target.id ),
locDatas = location.originalEvent.detail;
 
if ( valOk( locDatas ) ) {
console.dir( locDatas );
 
const rue = ( valOk( locDatas.osmRoad ) ) ? locDatas.osmRoad : '',
altitude = ( valOk( locDatas.elevation ) ) ? locDatas.elevation : '',
pays = ( valOk( locDatas.osmCountryCode ) ) ? locDatas.osmCountryCode.toUpperCase() : 'FR',
geometry = JSON.stringify( locDatas.geometry );
let latitude = '',
longitude = '',
nomCommune = '',
communeInsee = '';
 
if ( valOk( locDatas.geometry.coordinates ) &&
valOk( locDatas.centroid.coordinates ) &&
valOk( locDatas.centroid.coordinates[0] ) &&
valOk( locDatas.centroid.coordinates[1] )
) {
latitude = locDatas.centroid.coordinates[0];
longitude = locDatas.centroid.coordinates[1];
}
if ( !isGeolocArbres ) {
if ( valOk( locDatas.inseeData ) ) {
nomCommune = locDatas.inseeData.nom;
communeInsee = ( valOk( locDatas.inseeData.code ) ) ? locDatas.inseeData.code : '';
} else if ( valOk( locDatas.locality ) ) {
nomCommune = locDatas.locality;
} else if ( valOk( locDatas.osmCounty ) ) {
nomCommune = locDatas.osmCounty;
}
$( '#rue' ).val( rue );
$( '#geometry-releve' ).val( geometry );
$( '#latitude-releve' ).val( latitude );
$( '#longitude-releve' ).val( longitude );
$( '#commune-nom' ).val( nomCommune );
$( '#commune-insee' ).val( communeInsee );
$( '#altitude-releve' ).val( altitude );
$( '#pays' ).val( pays );
$( '#latitude-releve, #longitude-releve' ).valid();
if ( valOk( $( '#rue' ).val() ) && valOk( $( '#commune-nom' ).val() ) ) {
$( '#geoloc-error' ).addClass( 'hidden' );
$( '#geoloc-datas' ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( '#rue,#commune-nom' ).prop( 'disabled', false );
$( '#geoloc-datas' )
.removeClass( 'hidden' )
.closest( '.control-group' )
.addClass( 'error' );
$( '#geoloc-error' ).removeClass( 'hidden' );
$( '#releve-date' )
.removeClass( 'erreur' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( '#error-drc' )
.remove();
}
$( '#rue,#commune-nom' ).change( function() {
if ( valOk( $( '#rue' ).val() ) && valOk( $( '#commune-nom' ).val() ) ) {
$( '#geoloc-error' ).addClass( 'hidden' );
} else {
$( '#geoloc-error' ).removeClass( 'hidden' );
}
});
} else {
$( '#rue-arbres' ).val( rue );
$( '#geometry-arbres' ).val( geometry );
$( '#latitude-arbres' ).val( latitude );
$( '#longitude-arbres' ).val( longitude );
$( '#altitude-arbres' ).val( altitude );
$( '#latitude-arbres, #longitude-arbres' ).valid();
if ( valOk( $( '#latitude-arbres' ).val() ) && valOk( $( '#longitude-arbres' ).val() ) ) {
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
}
}
this.geoloc.map.setView([latitude, longitude], 18);
} else {
console.dir( 'Error location' );
}
};
 
// Form Validator *************************************************************/
ReleveASL.prototype.validerMinMax = function( element ) {
const minCond = parseFloat( element.value ) >= parseFloat( element.min ),
maxCond = parseFloat( element.value ) <= parseFloat( element.max );
let mnMxCond = new Boolean(),
messageMnMx = 'La valeur entrée doit être',
returnMnMx = { cond : true , message : '' };
 
if (
( valOk( element.type, true, 'number' ) || valOk( element.type, true, 'range' ) ) &&
( valOk( element.min ) || valOk( element.max ) )
) {
 
if ( element.min && element.max ) {
messageMnMx += ' comprise entre ' + element.min + ' et ' + element.max;
mnMxCond = ( minCond && maxCond );
} else if ( element.min ) {
messageMnMx += ' supérieure à ' + element.min;
mnMxCond = minCond;
} else {
messageMnMx += ' inférieure à ' + element.max;
mnMxCond = maxCond;
}
returnMnMx.cond = mnMxCond;
returnMnMx.message = messageMnMx;
}
 
return returnMnMx;
};
 
/**
* Valider date/rue/commune par rapport aux relevés précédents
*/
ReleveASL.prototype.validerDateRueCommune = function( valeurDate, valeurRue, valeurCmn ) {
let valide = true;
 
if (
valOk( $( '#dates-rues-communes' ).val() ) &&
valOk( valeurDate ) &&
valOk( valeurRue ) &&
valOk( valeurCmn )
) {
const valsEltDRC = $.parseJSON( $( '#dates-rues-communes' ).val() ),
valeurDRC = valeurDate + valeurRue + valeurCmn;
 
valide = ( -1 === valsEltDRC.indexOf( valeurDRC ) );
 
}
return valide;
};
 
/**
* FormValidator pour les champs date/rue/Commune
*/
ReleveASL.prototype.dateRueCommuneFormValidator = function() {
const dateValid = ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( $( '#releve-date' ).val() ) ),
geolocValid = ( valOk( $( '#commune-nom' ).val() ) && valOk( $( '#rue' ).val() ) ),
errorDateRue =
'<span id="error-drc" class="error">'+
this.msgTraduction( 'date-rue' )+
'</span> ';
 
if( this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() ) ) {
$( '#releve-date' )
.removeClass( 'erreur' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( '#error-drc' )
.remove();
if ( geolocValid ) {
$( '#geoloc' )
.closest( '.control-group' )
.removeClass( 'error' );
}
} else {
$( '#releve-date' )
.addClass( 'erreur' )
.closest( '.control-group' )
.addClass( 'error' );
if ( !valOk( $( '#releve-date' ).closest( '.control-group' ).find( '#error-drc' ) ) ) {
$( '#releve-date' ).after( errorDateRue );
}
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
if ( dateValid ) {
$( '#releve-date' ).closest( '.control-group span.error' ).not( '#error-drc' ).remove();
}
};
 
ReleveASL.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( '#form-observation' ).validate({
rules : {
'zone-pietonne' : {
required : function() {
return( 'tb_lichensgo' !== lthis.projet );
},
minlength : 1
},
'latitude-releve' : {
required : true,
minlength : 1,
range : [-90, 90]
},
'longitude-releve' : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( 'input[type=date]' ).not( '#releve-date' ).on( 'input', function() {
$( this ).valid();
});
// validation date/rue/commune au démarage
this.dateRueCommuneFormValidator();
// validation date/rue/commune sur event
$( '#releve-date,#rue,#commune-nom' ).on( 'change input focusout', this.dateRueCommuneFormValidator.bind( this ) );
$( '#form-arbres' ).validate({
rules : {
taxon : {
required : true,
minlength : 1
},
certitude : {
required : true,
minlength : 1
},
'latitude-arbres' : {
required : true,
minlength : 1,
range : [-90, 90]
},
'longitude-arbres' : {
required : true,
minlength : 1,
range : [-180, 180]
}
}
});
$( '#form-arbre-fs' ).validate({
onkeyup : false,
onclick : false,
rules : {
circonference : {
required : true,
minlength : 1
},
'surface-pied' : {
required : function() {
return( 'tb_lichensgo' !== lthis.projet );
},
minlength : 1,
'minMaxOk' : true
},
'equipement-pied-arbre' : {
required : function() {
return( 'tb_lichensgo' !== lthis.projet );
},
minlength : 1
},
'face-ombre' : {
required : function() {
return( 'tb_streets' !== lthis.projet );
},
minlength : 1
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
if ( 'tb_lichensgo' !== this.projet ) {
$( '#equipement-pied-arbre' ).change( function() {
if ( valOk( $( this ).val(), false, 'other' ) ) {
$( this )
.closest( '.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
}
});
}
if ( 'tb_streets' !== this.projet ) {
$( '#face-ombre input' ).on( 'click', function() {
let oneIsChecked = false;
$( '#face-ombre input' ).each( function() {
if ( $( this ).is( ':checked' ) ) {
oneIsChecked = true;
return false;
}
});
if ( oneIsChecked ) {
$( '#face-ombre.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
} else {
$( '#face-ombre.control-group' )
.addClass( 'error' )
.find( 'span.error' )
.removeClass( 'hidden' );
}
});
}
$( '#connexion,#inscription,#oublie' ).on( 'click', function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
/**
* Valide le formulaire Relevé (= étape 1) au click sur un bouton "enregistrer"
*/
ReleveASL.prototype.validerReleve = function() {
const observateur = ( $( '#form-observateur' ).valid() && $( '#courriel' ).valid() ),
obs = $( '#form-observation' ).valid(),
geoloc = (
valOk( $( '#latitude-releve' ).val() ) &&
valOk( $( '#longitude-releve' ).val() ) &&
valOk( $( '#rue' ).val() ) &&
valOk( $( '#commune-nom' ).val() )
);
let dateRue = true;
 
if ( valOk( $( '#dates-rues-communes' ).val() ) ) {
dateRue = (
valOk( $( '#releve-date' ).val() ) &&
valOk( $( '#rue' ).val() ) &&
this.validerDateRueCommune( $( '#releve-date' ).val(), $( '#rue' ).val(), $( '#commune-nom' ).val() )
);
}
if ( !obs ) {
this.scrollFormTop( '#zone-observation' );
}
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
if ( dateRue && geoloc ) {
this.masquerPanneau( '#dialogue-date-rue-ko' );
$( '#geoloc-datas' ).closest( '.control-group' ).removeClass( 'error' );
} else {
if (
valOk( $( '#releve-date' ).val() ) &&
valOk( $( '#rue' ).val() ) &&
valOk( $( '#dates-rues-communes' ).val() )
) {
this.afficherPanneau( '#dialogue-date-rue-ko' );
}
$( '#geoloc-datas' ).closest( '.control-group' ).addClass( 'error' );
}
if (
!valOk( $( '#releve-date' ).val() ) ||
!valOk( $( '#rue' ).val() ) ||
!valOk( $( '#dates-rues-communes' ).val() )
) {
this.masquerPanneau( '#dialogue-date-rue-ko' );
}
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
if ( dateRue ) {
$( '#geoloc' ).closest( '.control-group' ).removeClass( 'error' );
}
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc' ).closest( '.control-group' ).addClass( 'error' );
}
 
return (observateur && obs && geoloc && dateRue);
};
 
/**
* Valide le formulaire Arbres (= étape 2) au click sur un bouton "suivant"
*/
ReleveASL.prototype.validerForm = function() {
const validerReleve = this.validerReleve(),
geoloc = (
valOk( $( '#latitude-arbres' ).val() ) &&
valOk( $( '#longitude-arbres' ).val() )
),
taxon = valOk( $( '#taxon' ).val() );
let piedArbre = true;
 
if ( 'tb_lichensgo' !== this.projet ) {
piedArbre = valOk( $( '#equipement-pied-arbre' ).val(), false, 'other' );
if ( piedArbre ) {
$( '#equipement-pied-arbre' )
.closest( '.control-group' )
.removeClass( 'error' )
.find( 'span.error' )
.addClass( 'hidden' );
} else {
$( '#equipement-pied-arbre' )
.closest( '.control-group' )
.addClass( 'error' )
.find( 'span.error' )
.removeClass( 'hidden' );
}
}
 
const obs = (
$( '#form-arbres' ).valid() &&
$( '#form-arbre-fs' ).valid() &&
piedArbre
);
 
if ( geoloc ) {
this.masquerPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-geoloc-ko' );
$( '#geoloc-arbres' ).closest( '.control-group' ).addClass( 'error' );
}
 
return ( validerReleve && obs && geoloc && taxon );
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/PlantesEtLichensASL.js
New file
0,0 → 1,247
import {WidgetsSaisiesASL} from './WidgetsSaisiesASL.js';
import {valOk} from './Utils.js';
 
/**
* Constructeur PlantesEtLichensASL par défaut
* S'applique au squelette apaforms.tpl.html
* Qui se charge dans apa.tpl.php
* Lors de la saisie des plantes ou des lichens
*/
// ASL : APA, sTREETs, Lichen's Go!
export function PlantesEtLichensASL(plantesEtLichensProp) {
if ( valOk( plantesEtLichensProp ) && valOk( widgetProp ) ) {
this.sujet = plantesEtLichensProp.sujet;
this.tagImg = plantesEtLichensProp.tagImg;
this.separationTagImg = plantesEtLichensProp.separationTagImg;
this.tagImg = plantesEtLichensProp.tagImg;
this.tagObs = plantesEtLichensProp.tagObs;
this.separationTagObs = plantesEtLichensProp.separationTagObs;
this.nomSciReferentiel = plantesEtLichensProp.nomSciReferentiel;
this.referentielImpose = plantesEtLichensProp.referentielImpose;
this.tagsMotsCles = widgetProp.tagsMotsCles + ',' + this.sujet;
}
this.isTaxonListe = false;
this.numArbre = 0;
}
PlantesEtLichensASL.prototype = new WidgetsSaisiesASL();
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
PlantesEtLichensASL.prototype.initForm = function() {
$('[type="date"]').prop('max', function(){
return new Date().toJSON().split('T')[0];
});
this.initFormTaxonListe();
this.configurerFormValidator();
this.definirReglesFormValidator();
};
 
/**
* Initialise les écouteurs d'événements
*/
PlantesEtLichensASL.prototype.initEvts = function() {
const idUtilisateur = $( '#id_utilisateur' ).val();
 
if( valOk( idUtilisateur ) ) {
// #releve-data est modifié, bouton dans #releves-utilisateur
this.btnsChargerForm( '#bouton-nouveau-releve' );
if( valOk( $( '#releve-data' ).val() ) ) {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
if ( valOk( this.releveDatas[0].utilisateur, true, idUtilisateur ) ) {
// Sur téléchargement image
this.initEvtsFichier();
// Création / Suppression / Transmission des obs
// Défilement des miniatures dans le résumé obs
this.initEvtsObs();
 
// chargement plantes ou lichens, ajout du bouton #poursuivre
const btnChargementForm = this.determinerBtnsChargementForm( '#', true );
 
// #releve-data n'est pas modifié, bouton dans #charger-form
this.btnsChargerForm( btnChargementForm, false, false );
if ( 'lichens' === this.sujet ) {
this.checkboxToutesLesFaces();
}
// Alertes et aides
this.initEvtsAlertes();
}
}
}
};
 
// Ajouter Obs ****************************************************************/
PlantesEtLichensASL.prototype.reinitialiserForm = function() {
this.supprimerMiniatures();
$( '#taxon,#taxon-autre,#commentaire' ).val( '' );
$( '#taxon' ).removeData([
'value',
'numNomSel',
'nomRet',
'numNomRet',
'nt',
'famille'
]);
$( '#taxon-liste,#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'choisir' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
$( '#taxon-input-groupe' ).addClass( 'hidden' );
if ( 'lichens' === this.sujet ) {
$( 'input[name=lichens-tronc]:checked' ).each( function() {
$( this ).prop( 'checked', false );
});
}
};
 
PlantesEtLichensASL.prototype.checkboxToutesLesFaces = function() {
$('input[name=lichens-tronc]').on( 'click', function( event ) {
const face = $( this ).data( 'face' );
 
if ( $( this ).is( ':checked' ) ) {
if( $( this ).hasClass( 'lichens-tronc-all' ) ) {
for ( let i = 1; i <= 5 ; i++ ) {
$( '#lichens-tronc-' + face + i ).prop( 'checked', false );
}
} else {
$( '#lichens-tronc-all-' + face ).prop( 'checked', false );
}
}
 
});
};
 
/**
* Retourne un Array contenant les valeurs des champs
* dont les données seront transmises dans la table cel-obs-etendues
*/
PlantesEtLichensASL.prototype.getObsChpSpecifiques = function( numArbre ) {
const retour = [
{ cle : 'num-arbre', valeur : numArbre },
{ cle : 'id_obs_arbre', valeur : this.releveDatas[numArbre]['id_observation'] },
{ cle : 'rue' , valeur : this.releveDatas[0].rue }
];
 
if ( 'lichens' === this.sujet ) {
const $lichensTronc = $( 'input[name=lichens-tronc]:checked' ),
LTLenght = $lichensTronc.length;
let valeursLT = '';
 
$( 'input[name=lichens-tronc]:checked' ).each( function( i, value ) {
valeursLT += $(value).val();
if( i < LTLenght ) {
valeursLT += ';';
}
});
retour.push({ cle : 'loc-sur-tronc', valeur : valeursLT });
}
 
return retour;
};
 
// Form Validator *************************************************************/
PlantesEtLichensASL.prototype.definirReglesFormValidator = function() {
const lthis = this;
 
$( 'input[type=date]' ).on( 'input', function() {
$( this ).valid();
});
// Validation Taxon si pas de miniature
$( '#taxon' ).on( 'change', function() {
const images = valOk( $( '#miniatures .miniature' ) );
 
lthis.validerTaxonImage( valOk( $( this ).val() ), images );
});
 
// // Validation miniatures avec MutationObserver
// this.surPresenceAbsenceMiniature();
 
$( '#form-' + this.sujet ).validate({
rules : {
'choisir-arbre' : {
required : true,
minlength : 1
},
'obs-date' : {
required : true,
'dateCel' : true
},
certitude : {
required : true,
minlength : 1
}
}
});
$( '#form-observateur' ).validate({
rules : {
courriel : {
required : true,
minlength : 1,
email : true,
'userEmailOk' : true
},
mdp : {
required : true,
minlength : 1
}
}
});
$( '#connexion,#inscription,#oublie' ).on( 'click', function() {
$( '#tb-observateur .control-group' ).removeClass( 'error' );
});
};
 
PlantesEtLichensASL.prototype.validerTaxonImage = function( taxon = false, images = false ) {
const taxonOuImage = images || taxon;
 
if ( taxonOuImage ) {
this.masquerPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).removeClass( 'error' )
.find( 'span.error' ).hide();
$( '#fichier' ).parent( 'label.label-file' ).removeClass( 'error' );
$( '#photos-conteneur').removeClass( 'error' ).find( 'span.error' ).hide();
// faire passer la certitude à 'à déterminer' si on a une image et pas de taxon
if( !taxon ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
} else {
this.afficherPanneau( '#dialogue-taxon-or-image' );
$( '#bloc-taxon' ).addClass( 'error' )
.find( 'span.error' ).show();
$( '#fichier' ).parent( 'label.label-file' ).addClass( 'error' );
$( '#photos-conteneur').addClass( 'error' ).find( 'span.error' ).show();
}
 
return taxonOuImage;
};
 
/**
* Valide le formulaire au click sur un bouton "suivant"
*/
PlantesEtLichensASL.prototype.validerForm = function() {
const images = valOk( $( '#miniatures .miniature' ) ),
taxon = valOk( $( '#taxon' ).val() ),
taxonOuImage = this.validerTaxonImage( taxon, images ),
observateur = $( '#form-observateur' ).valid() && $( '#courriel' ).valid(),
obs = $( '#form-' + this.sujet ).valid();
 
// panneau observateur
if ( observateur ) {
this.masquerPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).removeClass( 'error' );
} else {
this.afficherPanneau( '#dialogue-utilisateur-non-identifie' );
$( '#tb-observateur .control-group' ).addClass( 'error' );
}
 
return ( observateur && obs && taxonOuImage );
};
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/WidgetsSaisiesCommun.js
New file
0,0 → 1,1840
import {Geoloc} from './tb-geoloc/js/Geoloc.js';
import {Utils,valOk} from './Utils.js';
 
export const utils = new Utils();
/**
* WidgetsSaisiesCommun
* Methodes communes aux widgets de saisie
*/
export function WidgetsSaisiesCommun(){}
 
WidgetsSaisiesCommun.prototype.init = function() {
this.geoloc = new Geoloc();
// ASL : APA, sTREETs, Lichen's Go!
// const ASL = ['tb_aupresdemonarbre','tb_streets','tb_lichensgo'];
// this.isASL = ( valOk( this.projet ) && -1 < $.inArray( this.projet , ASL ) );
this.initForm();
this.initEvts();
};
 
WidgetsSaisiesCommun.prototype.initFormConnection = function() {
this.urlBaseAuth = this.urlRacine + '/service:annuaire:auth';
$( '#inscription' ).attr( 'href', this.urlSiteTb() + 'inscription' );
if ( this.isASL ) {
$( '#mdp' ).val( '' );
$( '#oublie' ).attr( 'href', this.urlSiteTb() + 'wp-login.php?action=lostpassword' );
}
};
 
WidgetsSaisiesCommun.prototype.initFormTaxonListe = function() {
const lthis = this;
 
this.surChangementTaxonListe();
$( '#taxon-liste' ).on( 'change', lthis.surChangementTaxonListe );
$( '#taxon-liste' ).on( 'change', lthis.surChangementValeurTaxon.bind( lthis ) );
if ( this.debug ) {
console.dir( 'Selected taxon:' + $( '#taxon-liste option:selected' ).val());
}
};
 
WidgetsSaisiesCommun.prototype.initEvtsConnection = function() {
const lthis = this;
 
this.chargerStatutSSO();
$( '#utilisateur-connecte .volet-toggle, #profil-utilisateur a, #deconnexion a' ).on( 'click', function( event ) {
if( $( this ).hasClass( 'volet-toggle' ) ) {
event.preventDefault();
}
$( '#utilisateur-connecte .volet-menu' ).toggleClass( 'hidden' );
});
$( '#deconnexion a' ).on( 'click', function( event ) {
event.preventDefault();
lthis.deconnecterUtilisateur();
});
if ( !this.isASL ) {
$( '#bouton-anonyme' ).on( 'click', function( event ) {
lthis.arreter( event );
$( this ).css({
'background-color': 'rgba(0, 159, 184, 0.7)',
'color': '#fff'
});
$( '#identite' ).removeClass( 'hidden' );
$( '#courriel' ).focus();
});
if ( '' === $( '#nom-complet').text() ) {
$( '#courriel' ).on( 'blur', this.requeterIdentiteCourriel.bind( this ) );
$( '#courriel' ).on( 'keypress', this.testerLancementRequeteIdentite.bind( this ) );
}
$( '#prenom' ).on( 'change', function() {
lthis.formaterPrenom();
lthis.reduireVoletIdentite();
});
$( '#nom' ).on( 'change', function() {
lthis.formaterNom();
lthis.reduireVoletIdentite();
});
$( '#courriel_confirmation' ).on( 'paste', this.bloquerCopierCollerCourriel.bind( this ) );
$( '#courriel_confirmation' ).on( 'blur', this.reduireVoletIdentite.bind( this ) );
$( '#courriel_confirmation' ).on( 'keypress', function( event ) {
if ( valOk( event.which, true, 13 ) ) {
lthis.reduireVoletIdentite();
event.preventDefault();
event.stopPropagation();
}
});
}
};
 
WidgetsSaisiesCommun.prototype.initEvtsFichier = function() {
const lthis = this;
 
const fileInputFonctionne = () => {
const ua = navigator.userAgent;
 
if (
ua.match( /(Android (1.0|1.1|1.5|1.6|2.0|2.1))|(Windows Phone (OS 7|8.0))|(XBLWP)|(ZuneWP)|(w(eb)?OSBrowser)|(webOS)|(Kindle\/(1.0|2.0|2.5|3.0))/ ) ||
ua.match( /\swv\).+(chrome)\/([\w\.]+)/i )
) {
return false;
}
 
const elem = document.createElement( 'input' );
 
elem.type = 'file';
 
return !elem.disabled;
}
 
if ( fileInputFonctionne() ) {
// Sur téléchargement image
$( '#fichier' ).on( 'change', function ( event ) {
lthis.arreter ( event );
 
const options = {
beforeSend : function ( jqXHR, settings ) {
$( '#miniatures' ).on( 'click', '.effacer-miniature', function() {
jqXHR.abort(jqXHR);
});
},
success: lthis.afficherMiniature.bind( lthis ), // post-submit callback
dataType: 'xml', // 'xml', 'script', or 'json' (expected server response type)
resetForm: true // reset the form after successful submit
},
imgCheminTmp = $( '#fichier' ).val(),
parts = imgCheminTmp.split( '\\' ),
nomImage = parts[ parts.length - 1 ],
formatImgOk = lthis.verifierFormat( nomImage ),
imgNonDupliquee = lthis.verifierDuplication( nomImage );
 
if( formatImgOk && imgNonDupliquee ) {
$( '#form-upload' ).ajaxSubmit( options );
$( '#miniatures' ).append(
'<div class="miniature mr-3 miniature-chargement loading">'+
'<img class="miniature-img chargement-img" alt="chargement" src="' + lthis.chargementImageIconeUrl + '" style="min-height:100%;"/>'+
'<a class="effacer-miniature">Supprimer</a>'+
'</div>'
);
$( '#ajouter-obs' ).addClass( 'hidden' );
$( '#message-chargement' ).removeClass( 'hidden' );
} else {
$( '#form-upload' )[0].reset();
if ( !formatImgOk ) {
utils.activerModale( lthis.msgTraduction( 'format-non-supporte' ) + ' : ' + $( '#fichier' ).attr( 'accept' ) );
}
if ( !imgNonDupliquee ) {
utils.activerModale( lthis.msgTraduction( 'image-deja-chargee' ) );
}
}
return false;
});
$( 'body' ).on( 'click', '.effacer-miniature', function() {
$( this ).parent().remove();
if ( !valOk( $('.miniature-chargement' ) ) ) {
$( '#ajouter-obs' ).removeClass( 'hidden' );
$( '#message-chargement' ).addClass( 'hidden' );
}
});
} else {
$( '#form-upload' )
.addClass( 'hidden' )
.after(
'<div class="alert alert-info" role="alert">'+
this.msgTraduction( 'upload-non-suppote' )+
'</div>'
);
}
 
};
 
WidgetsSaisiesCommun.prototype.initEvtsGeoloc = function( isFormArbre = false ) {
const lthis = this;
 
let ancre = '-observation',
complementSelecteur = '';
 
if ( isFormArbre ) {
ancre = '-arbres';
complementSelecteur = ancre;
}
 
const $mapEl = $( '#tb-geolocation' + complementSelecteur );
 
if( valOk( $mapEl ) ) {
const typeLocalisation = $mapEl.data( 'typeLocalisation' ) || 'point';
 
this.geoloc.init(complementSelecteur);
$( '#coord' ).toggleClass( 'hidden', 'point' !== typeLocalisation );
// evenement location
$mapEl.on( 'location' , this.locationHandler.bind( this ) );
 
if ( 'rue' === typeLocalisation ) {
$( '#geoloc-label .help-button' ).on( 'click' , function () {
let label = 'Aide : Géolocaliser une rue ou un linéaire',
modaleContent = '<img id="modale-aide-img" src="' + URL_HELP_GEOLOC_POLYLINE + '" style="" alt="photo-aide-geoloc" />';
 
utils.activerModale( label, modaleContent, [] );
});
}
}
};
 
WidgetsSaisiesCommun.prototype.initEvtsObs = function() {
const lthis = this;
 
$( '#ajouter-obs' ).on( 'click', this.ajouterObs.bind( this ) );
$( '.obs-nbre' ).on( 'changement', this.surChangementNbreObs.bind( this ) );
$( 'body' ).on( 'click', '.defilement-miniatures-gauche', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
$( 'body' ).on( 'click', '.defilement-miniatures-droite', function( event ) {
event.preventDefault();
lthis.defilerMiniatures( $( this ) );
});
// mécanisme de suppression d'une obs
$( '#liste-obs' ).on( 'click', '.supprimer-obs', function() {
const buttons = [
{
label : 'Annuler',
class : 'btn-secondary',
dismiss : true
},
{
label : 'Confirmer',
class : 'btn-success confirmer',
dismiss : true
}
];
// bricolage pour avoir les deux contextes en même temps (objet et elt. du DOM)
const that = this,
suppObs = lthis.supprimerObs.bind( lthis );
 
utils.activerModale( lthis.msgTraduction( 'confirmation-suppression' ), '', buttons );
$( '.confirmer' ).on( 'click', function() {
suppObs( that );
});
});
$( '#transmettre-obs' ).on( 'click', this.transmettreObs.bind( this ) );
};
 
// Alertes et aides
WidgetsSaisiesCommun.prototype.initEvtsAlertes = function() {
$( '.alert .close' ).on( 'click', this.fermerPanneauAlert );
$( '#btn-aide' ).on( 'click', this.basculerAffichageAide );
};
 
/**
* Interroge le SSO pour connaître le statut de l'utilisateur, et change le menu
* à droite de la barre en fonction
*/
WidgetsSaisiesCommun.prototype.chargerStatutSSO = function() {
const lthis = this;
let urlAuth = this.urlBaseAuth + '/identite';
 
if( 'local' !== this.mode ) {
this.connexion( urlAuth, true );
if( this.isASL) {
$( '#connexion' ).on( 'click', function( event ) {
event.preventDefault();
if( $( '#utilisateur-connecte' ).hasClass( 'hidden' ) || !valOk( $( '#nom-complet' ).text() ) ) {
const login = $( '#courriel' ).val(),
mdp = $( '#mdp' ).val();
 
if ( valOk( login ) && valOk( mdp ) ) {
urlAuth = lthis.urlBaseAuth + '/connexion?login=' + login + '&password=' + mdp;
lthis.connexion( urlAuth, true );
} else {
utils.activerModale( lthis.msgTraduction( 'non-connexion' ) );
}
}
});
}
} else {
urlAuth = this.urlWidgets + 'modules/saisie/test-token.json';
// Pour tester le bouton de connexion :
// $( '#connexion' ).on( 'click', function( event ) {
// event.preventDefault();
// lthis.connexion( urlAuth, true );
this.connexion( urlAuth, true );
// });
}
};
 
/**
* Déconnecte l'utilisateur du SSO
*/
WidgetsSaisiesCommun.prototype.deconnecterUtilisateur = function() {
const urlAuth = this.urlBaseAuth + '/deconnexion';
 
if( 'local' === this.mode ) {
this.definirUtilisateur();
window.location.reload();
return;
}
this.connexion( urlAuth, false );
};
 
WidgetsSaisiesCommun.prototype.connexion = function( urlAuth, connexionOnOff ) {
const lthis = this;
 
$.ajax({
url: urlAuth,
type: "GET",
dataType: 'json',
xhrFields: {
withCredentials: true
}
})
.done( function( data ) {
if( connexionOnOff ) {
// connecté
lthis.definirUtilisateur( data.token );
} else {
lthis.definirUtilisateur();
window.location.reload();
}
})
.fail( function( error ) {
// @TODO gérer l'affichage de l'erreur, mais pas facile à placer
// dans l'interface actuelle sans que ce soit moche
//afficherErreurServeur();
});
};
 
WidgetsSaisiesCommun.prototype.definirUtilisateur = function( jeton ) {
const thisObj = this;
let idUtilisateur = '',
prenom = '',
nom = '',
nomComplet = '',
courriel = '';
 
// affichage
if ( undefined !== jeton ) {
// décodage jeton
this.infosUtilisateur = this.decoderJeton( jeton );
idUtilisateur = this.infosUtilisateur.id;
prenom = this.infosUtilisateur.prenom;
nom = this.infosUtilisateur.nom;
nomComplet = this.infosUtilisateur.intitule;
courriel = this.infosUtilisateur.sub;
$( '#courriel' ).attr( 'disabled', 'disabled' );
$( '#utilisateur-connecte, #identite' ).removeClass( 'hidden' );
if ( this.isASL ) {
$( '#bloc-connexion' ).addClass( 'hidden' );
} else {
$( '#courriel_confirmation' ).attr( 'disabled', 'disabled' );
$( '#prenom' ).attr( 'disabled', 'disabled' );
$( '#nom' ).attr( 'disabled', 'disabled' );
$( '#bouton-connexion, #creation-compte' ).addClass( 'hidden' );
$( '#zone-courriel, #zone-prenom-nom' ).addClass( 'hidden' );
$( '#date-releve' ).focus();
}
}
$( '#id_utilisateur' ).val( idUtilisateur );
$( '#prenom' ).val( prenom );
$( '#nom' ).val( nom );
$( '#nom-complet' ).html( nomComplet );
$( '#courriel' ).val( courriel );
$( '#profil-utilisateur a' ).attr( 'href', this.urlSiteTb() + 'membres/me' );
if ( this.isASL ) {
if ( valOk( idUtilisateur ) ) {
const nomSquelette = $( '#charger-form' ).data( 'load' ) || 'arbres';
this.chargerForm( nomSquelette, thisObj );
}
} else {
$( '.warning' ).remove();
$( '#courriel_confirmation' ).val( courriel );
}
};
 
/**
* Décodage à l'arrache d'un jeton JWT, ATTENTION CONSIDERE QUE LE
* JETON EST VALIDE, ne pas décoder n'importe quoi - pas trouvé de lib simple
*/
WidgetsSaisiesCommun.prototype.decoderJeton = function( jeton ) {
const parts = jeton.split( '.' );
let payload = parts[1];
 
payload = this.b64d( payload );
payload = JSON.parse( payload, true );
 
return payload;
};
 
/**
* Décodage "url-safe" des chaînes base64 retournées par le SSO (lib jwt)
*/
WidgetsSaisiesCommun.prototype.b64d = function( input ) {
const remainder = input.length % 4;
 
if ( 0 !== remainder ) {
const padlen = 4 - remainder;
 
for ( let i = 0; i < padlen; i++ ) {
input += '=';
}
}
input = input.replace( '-', '+' );
input = input.replace( '_', '/' );
 
return atob( input );
};
 
WidgetsSaisiesCommun.prototype.urlSiteTb = function() {
const urlPart = ( 'test' === this.mode ) ? '/test/' : '/';
 
return this.urlRacine + urlPart;
};
 
// uniquement utilisé si taxon-liste ******************************************/
/**
* Affiche/Cache le champ taxon
*/
WidgetsSaisiesCommun.prototype.surChangementTaxonListe = function() {
if ( valOk( $( '#taxon-liste' ).val() ) ) {
if ( 'autre' !== $( '#taxon-liste' ).val() ) {
$( '#taxon-input-groupe' )
.hide( 200, function () {
$( this ).addClass( 'hidden' ).show();
})
.find( '#taxon-autre' ).val( '' );
} else {
$( '#taxon-input-groupe' )
.hide()
.removeClass( 'hidden' )
.show(200)
.find( '#taxon-autre' )
.on( 'change', function() {
if( !valOk( $( '#taxon-autre' ).data( 'numNomSel' ) ) ) {
$( '#taxon' ).val( $( '#taxon-autre' ).val() )
.data( 'value', $( '#taxon-autre' ).val() )
.removeData([
'numNomSel',
'nomRet',
'numNomRet',
'nt',
'famille'
]);
}
$( '#taxon' ).trigger( 'change' );
});
}
}
};
 
WidgetsSaisiesCommun.prototype.surChangementValeurTaxon = function() {
if( valOk( $( '#taxon-liste' ).val() ) ) {
if( 'autre' === $( '#taxon-liste' ).val() ) {
this.ajouterAutocompletionNoms();
} else {
const optionRetenue = $( '#taxon-liste' ).find( 'option[value="' + $( '#taxon-liste' ).val() + '"]' );
 
$( '#taxon' ).val( $( '#taxon-liste' ).val() )
.data( 'value', $( '#taxon-liste' ).val() )
.data( 'numNomSel', optionRetenue.data( 'num-nom-sel' ) )
.data( 'nomRet', optionRetenue.data( 'nom-ret' ) )
.data( 'numNomRet', optionRetenue.data( 'num-nom-ret' ) )
.data( 'nt', optionRetenue.data( 'nt' ) )
.data( 'famille', optionRetenue.data( 'famille' ) );
$( '#taxon' ).trigger( 'change' );
 
const numNomSel = $( '#taxon' ).data( 'numNomSel' );
 
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !valOk( numNomSel ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
}
};
 
// Autocompletion taxons ******************************************************/
/**
* Initialise l'autocompletion taxons
*/
WidgetsSaisiesCommun.prototype.ajouterAutocompletionNoms = function() {
const lthis = this;
let taxonSelecteur = '#taxon';
 
if ( valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
$( taxonSelecteur ).autocomplete({
source: function( requete, add ) {
// la variable de requête doit être vidée car sinon le parametre "term" est ajouté
requete = '';
if( valOk( $( '#referentiel' ).val(), false, 'autre' ) ) {
const url = lthis.getUrlAutocompletionNomsSci();
 
$( '#taxon-autocomplete-label' ).addClass( 'loading' );
$.getJSON( url, requete, function( data ) {
let suggestions = lthis.traiterRetourNomsSci( data );
add( suggestions );
})
.fail( function() {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).prop( 'selected', true );
} else {
$( this ).prop( 'selected', false );
}
});
})
.always(function() {
$( '#taxon-autocomplete-label' ).removeClass( 'loading' );
});
}
},
html: true
});
$( taxonSelecteur ).on( 'autocompleteselect', this.surAutocompletionTaxon );
};
 
WidgetsSaisiesCommun.prototype.getUrlAutocompletionNomsSci = function() {
let taxonSelecteur = '#taxon';
 
if ( valOk( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
const mots = $( taxonSelecteur ).val(),
url = this.serviceAutocompletionNomSciUrlTpl.replace( '{referentiel}', this.nomSciReferentiel );
 
return url.replace( '{masque}', mots );
};
 
/**
* Objet taxons pour autocompletion en fonction de la recherche
*/
WidgetsSaisiesCommun.prototype.traiterRetourNomsSci = function( data ) {
let taxonSelecteur = '#taxon',
suggestions = [];
 
if ( valOk ( $( '#taxon-liste' ).val(), true, 'autre' ) ) {
taxonSelecteur += '-autre';
}
if ( undefined != data.resultat ) {
$.each( data.resultat, function( i, val ) {
val.nn = i;
 
const nom = {
label : '',
value : '',
nt : 0,
nomSel : '',
nomSelComplet : '',
numNomSel : 0,
nomRet : '',
numNomRet : 0,
famille : '',
retenu : false
};
if ( suggestions.length >= this.autocompletionElementsNbre ) {
nom.label = '...';
nom.value = $( taxonSelecteur ).val();
suggestions.push( nom );
return false;
} else {
nom.label = val.nom_sci_complet;
nom.value = val.nom_sci_complet;
nom.nt = val.num_taxonomique;
nom.nomSel = val.nom_sci;
nom.nomSelComplet = val.nom_sci_complet;
nom.numNomSel = val.nn;
nom.nomRet = val.nom_retenu_complet;
nom.numNomRet = val['nom_retenu.id'];
nom.famille = val.famille;
// Tester dans ce sens, permet de considérer 'absent' comme 'false' => est-ce opportun ?
// en tout cas c'est harmonisé avec le CeL
nom.retenu = ( 'true' == val.retenu );
suggestions.push( nom );
}
});
}
return suggestions;
};
 
/**
* charge les données dans #taxon
*/
WidgetsSaisiesCommun.prototype.surAutocompletionTaxon = function( event, ui ) {
if ( valOk( ui ) ) {
$( '#taxon' ).val( ui.item.value );
$( '#taxon' ).data( 'value', ui.item.value )
.data( 'numNomSel', ui.item.numNomSel )
.data( 'nomRet', ui.item.nomRet )
.data( 'numNomRet', ui.item.numNomRet )
.data( 'nt', ui.item.nt )
.data( 'famille', ui.item.famille );
if ( ui.item.retenu ) {
$( '#taxon' ).addClass( 'ns-retenu' );
} else {
$( '#taxon' ).removeClass( 'ns-retenu' );
}
// Si l'espèce est mal déterminée la certitude est "à déterminer"
if( !valOk( $( '#taxon' ).data( 'numNomSel' ) ) ) {
$( '#certitude' ).find( 'option' ).each( function() {
if ( $( this ).hasClass( 'aDeterminer' ) ) {
$( this ).attr( 'selected', true );
} else {
$( this ).attr( 'selected', false );
}
});
}
}
$( '#taxon' ).change();
};
 
// Fichier Images *************************************************************/
/**
* Affiche temporairement (formulaire)
* la miniature d'une image ajoutée à l'obs
*/
WidgetsSaisiesCommun.prototype.afficherMiniature = function( reponse ) {
const message = $( 'message', reponse ).text(),
$blocMiniature = $( '#miniatures .miniature.loading').first();
 
if( valOk( $blocMiniature ) ) {
if ( valOk( message ) ) {
$( '.miniature-msg' ).text( message );
$blocMiniature.remove();
 
} else {
this.creerWidgetMiniature( reponse, $blocMiniature );
$blocMiniature.removeClass('loading');
}
if ( !valOk( $( '.miniature-chargement' ) ) ) {
$( '#ajouter-obs' ).removeClass( 'hidden' );
$( '#message-chargement' ).addClass( 'hidden' );
}
$( '#ajouter-obs' ).removeAttr( 'disabled' );
}
};
 
/**
* Crée la miniature temporaire (formulaire) + bouton pour l'effacer
*/
WidgetsSaisiesCommun.prototype.creerWidgetMiniature = function( reponse, $blocMiniature ) {
const miniatureUrl = $( 'miniature-url', reponse ).text(),
imgNom = $( 'image-nom', reponse ).text();
 
$blocMiniature.removeClass( 'miniature-chargement' );
$( '.miniature-img', $blocMiniature )
.removeClass( 'chargement-img' )
.attr({
'alt' : imgNom,
'src' : miniatureUrl
});
};
 
/**
* Retourne true si l'extension de l'image 'nom' est .jpg ou .jpeg
*/
WidgetsSaisiesCommun.prototype.verifierFormat = function( nomImage ) {
const parts = nomImage.split( '.' ),
extension = parts[ parts.length - 1 ];
 
return ( 'jpeg' === extension.toLowerCase() || 'jpg' === extension.toLowerCase() );
};
 
/**
* Check les miniatures déjà téléchargées
* renvoie false si le même nom est rencontré 2 fois
* renvoie true sinon
*/
WidgetsSaisiesCommun.prototype.verifierDuplication = function( nomImage ) {
const lthis = this;
let thisSrcParts = [],
thisNomImage = '',
nonDupliquee = true;
 
nomImage = nomImage.toLowerCase();
 
$( 'img.miniature-img,img.miniature' ).each( function() {
// vérification avec alt de l'image
if ( valOk ( $( this ).attr( 'alt' ) ) && $( this ).attr('alt' ).toLowerCase() === nomImage ) {
nonDupliquee = false;
 
return false;// Pas besoin de poursuivre la boucle
} else { // sinon vérifie aussi avec l'adresse (src) de l'image
thisSrcParts = $( this ).attr( 'src' ).split( '/' );
thisNomImage = thisSrcParts[ thisSrcParts.length - 1 ].replace( '_min', '' ).toLowerCase();
if ( valOk( thisNomImage, true, nomImage ) ) {
nonDupliquee = false;
 
return false;
}
}
});
 
return nonDupliquee;
};
 
/**
* Efface une miniature (formulaire)
*/
WidgetsSaisiesCommun.prototype.supprimerMiniature = function( miniature ) {
miniature.parents( '.miniature' ).remove();
};
 
// Geoloc *********************************************************************/
WidgetsSaisiesCommun.prototype.transfererCarto = function( donnees ) {
const typeLocalisation = donnees.typeLocalisation || 'point',
suffixe = valOk( donnees.suffixe ) ? '-' + donnees.suffixe : '',
formSuffixe = '-arbres' === suffixe ? suffixe : '',
$cartoRemplacee = donnees.cartoRemplacee || $( '#tb-geolocation' ),
latitude = donnees.latitude || '',
longitude = donnees.longitude || '',
zoomInit = donnees.zoomInit || '',
$mapContainer = $cartoRemplacee.closest('#map-container');
 
if ( valOk( formSuffixe ) || 'point' !== typeLocalisation ) {
$mapContainer.siblings('#tb-places-zone').remove();
}
 
if ( 'tb-geolocation' + suffixe !== $cartoRemplacee.attr('id') ) {
$mapContainer.remove();
$( '#geoloc' + suffixe ).append(
'<div id="map-container">'+
'<div'+
' id="tb-geolocation' + suffixe +'"'+
' data-layer="' + donnees.layer + '"'+
' data-zoom="' + zoomInit + '"'+
' data-type-localisation="' + typeLocalisation + '"'+
' data-form-suffix="' + formSuffixe + '"'+
' style="height: 400px;width: 100%"'+
'>'+
'</div>'+
'</div>'
);
 
$( '#coord' ).toggleClass( 'hidden', 'point' !== typeLocalisation );
 
if( valOk( this.geoloc.map ) ) {
this.geoloc.closeMap();
}
 
this.initEvtsGeoloc( true );
} else {
this.geoloc.reSetDrawControl();
}
 
this.geoloc.setMapCoordinates({'lat': latitude, 'lng': longitude});
};
 
// Ajouter Obs ****************************************************************/
/**
* Ajoute une observation à la liste des obs à transmettre
* (résumé obs)
*/
WidgetsSaisiesCommun.prototype.ajouterObs = function() {
if ( this.isASL ) {
this.scrollFormTop( '#zone-' + this.sujet );
}
// Fermeture automatique des dialogue de transmission de données
// @WARNING TEST
$( '#dialogue-obs-transaction-ko,#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
if ( this.validerForm() ) {
this.masquerPanneau( '#dialogue-form-invalide' );
this.obsNbre += 1;
if ( this.isASL && 'arbres' === this.sujet ) {
this.numArbre += 1;
// bouton info de cet arbre et affichage numéro du prochain arbre
this.lienArbreInfo( this.numArbre );
$( '#arbre-nb' ).text( this.numArbre + 1 );
}
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
//formatage des données
const obsData = this.formaterFormObsData();
 
this.afficherObs( obsData );
this.stockerObsData( obsData );
if ( this.isASL && 'arbres' === this.sujet ) {
const arbreData = obsData.sujet;
 
// Ajout de donnée utiles puis stockage dans input hidden "releve-data"
arbreData['date_rue_commune'] = obsData.releve.date + obsData.releve.rue + obsData.releve['commune-nom'];
arbreData['id_observation'] = 0;
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
this.releveDatas[this.obsNbre] = arbreData;
$( '#releve-data' ).val( JSON.stringify( this.releveDatas ) );
this.modeArbresBasculerActivation( false );
} else {
this.reinitialiserForm();
}
$( '#barre-progression-upload' ).attr( 'aria-valuemax', this.obsNbre );
$( '#barre-progression-upload .sr-only' ).text( '0/' + this.obsNbre + ' ' + this.msgTraduction( 'observations-transmises' ) );
} else {
this.afficherPanneau( '#dialogue-form-invalide' );
}
};
 
/**
* Formatage des données du formulaire pour stockage et envoi
*/
WidgetsSaisiesCommun.prototype.formaterFormObsData = function() {
const obsData = { obsNum : this.obsNbre, sujet : {}},
numNomSel = $( '#taxon' ).data( 'numNomSel' ),
nomSel = $( '#taxon' ).val(),
nomRet = $( '#taxon' ).data( 'nomRet' ),
numNomRet = $( '#taxon' ).data( 'numNomRet' ),
numTaxon = $( '#taxon' ).data( 'nt' ),
famille = $( '#taxon' ).data( 'famille' ),
referentiel = ( valOk( numNomSel ) ) ? this.nomSciReferentiel : 'autre',
certitude = ( valOk( numNomSel ) ) ? $( '#certitude' ).val() : 'à determiner';
let imgB64 = [],
imgNom = [],
date = '',
notes = '',
pays = '',
communeNom = '',
communeInsee = '',
geometry = '',
latitude = '',
longitude = '',
altitude = '',
obsEtendue = [];
 
if( !this.isASL ) {
notes = $( '#notes' ).val().trim() || '';
pays = $( '#pays' ).val() || '';
communeNom = $( '#commune-nom' ).val();
communeInsee = $( '#commune-insee' ).val() || '';
geometry = $( '#geometry' ).val();
latitude = $( '#latitude' ).val();
longitude = $( '#longitude' ).val();
altitude = $( '#altitude' ).val();
obsEtendue = this.getObsChpSpecifiques();
date = this.fournirDate( $('#date_releve').val());
} else {
const miniatureImg = [];
 
notes = $( '#commentaire' ).val() || '';
if ( 'arbres' === this.sujet ) {
// Dans ce cas cette fonction doit renvoyer des données au même format que l'input hidden "releve-data"
// car les données dans stockerObsData provenir soit de cette fonction soit de l'input
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
imgB64 = $( this ).attr( 'src' ) || '';
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
imgB64 = $( this ).data( 'b64' ) || '';
}
miniatureImg.push({
'nom' : $( this ).attr( 'alt' ),
'src' : $( this ).attr( 'src' ),
'b64' : imgB64
});
});
obsData.sujet = {
'num-arbre' : this.numArbre,
taxon : {
'numNomSel' : numNomSel,
'value' : nomSel,
'nomRet' : nomRet,
'numNomRet' : numNomRet,
'nt' : numTaxon,
'famille' : famille
},
'referentiel' : referentiel,
'certitude' : certitude,
'rue-arbres' : ( $( '#rue-arbres' ).val() ) ? $('#rue-arbres').val() : '',
'geometry-arbres' : $( '#geometry-arbres' ).val(),
'latitude-arbres' : $( '#latitude-arbres' ).val(),
'longitude-arbres' : $( '#longitude-arbres' ).val(),
'altitude-arbres' : $( '#altitude-arbres' ).val(),
'circonference' : $( '#circonference' ).val(),
'com-arbres' : ( $( '#com-arbres' ).val() ) ? $('#com-arbres').val() : '',
'miniature-img' : miniatureImg
};
obsData.releve = {
'date' : this.fournirDate( $( '#releve-date' ).val() ),
'rue' : $( '#rue' ).val(),
'geometry-releve' : $( '#geometry-releve' ).val(),
'latitude-releve' : $( '#latitude-releve' ).val(),
'longitude-releve' : $( '#longitude-releve' ).val(),
'altitude-releve' : $( '#altitude-releve' ).val(),
'commune-nom' : $( '#commune-nom' ).val(),
'commune-insee' : ( $( '#commune-insee' ).val() ) ? $('#commune-insee').val() : '',
'pays' : ( $( '#pays' ).val() ) ? $('#pays').val() : '',
'commentaires' : notes
};
if ( 'tb_lichensgo' !== this.projet ) {
obsData.sujet['surface-pied'] = $( '#surface-pied' ).val();
obsData.sujet['equipement-pied-arbre'] = $( '#equipement-pied-arbre' ).val();
obsData.sujet['tassement'] = $( '#tassement' ).val() || '';
obsData.sujet['dejections'] = $( '#dejections input:checked' ).val() || '';
obsData.releve['zone-pietonne'] = $( '#zone-pietonne input:checked' ).val();
obsData.releve['pres-lampadaires'] = $( '#pres-lampadaires input:checked' ).val() || '';
}
if ( 'tb_streets' !== this.projet ) {
const faceOmbre = [];
 
$( '#face-ombre input' ).each( function() {
if( $( this ).is( ':checked' ) ) {
faceOmbre.push( $( this ).val() );
}
});
obsData.sujet['face-ombre'] = faceOmbre;
}
} else {
this.releveDatas = $.parseJSON( $( '#releve-data' ).val() );
obsData.numArbre = $( '#choisir-arbre' ).val();
pays = this.releveDatas[0].pays || '';
communeNom = this.releveDatas[0]['commune-nom'];
communeInsee = this.releveDatas[0]['commune-insee'] || '';
geometry = this.releveDatas[obsData.numArbre]['geometry-arbres'];
latitude = this.releveDatas[obsData.numArbre]['latitude-arbres'];
longitude = this.releveDatas[obsData.numArbre]['longitude-arbres'];
altitude = this.releveDatas[obsData.numArbre]['altitude-arbres'];
obsEtendue = this.getObsChpSpecifiques( obsData.numArbre );
date = this.fournirDate( $( '#obs-date' ).val() );
}
}
if ( !this.isASL || 'arbres' !== this.sujet ) {
imgNom = this.getNomsImgsOriginales();
imgB64 = this.getB64ImgsOriginales();
 
obsData.sujet = {
'num_nom_sel' : numNomSel,
'nom_sel' : nomSel,
'nom_ret' : nomRet,
'num_nom_ret' : numNomRet,
'num_taxon' : numTaxon,
'famille' : famille,
'referentiel' : referentiel,
'certitude' : certitude,
'date' : date,
'notes' : notes,
'pays' : pays,
'commune_nom' : communeNom,
'commune_code_insee' : communeInsee,
'geometry' : geometry,
'latitude' : latitude,
'longitude' : longitude,
'altitude' : altitude,
//Ajout des champs images
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : obsEtendue
};
if ( !this.isASL ) {
obsData.sujet['lieudit'] = $( '#lieudit' ).val() || '';
obsData.sujet['station'] = $( '#station' ).val() || '';
obsData.sujet['milieu'] = $( '#milieu' ).val() || '';
}
}
return obsData;
};
 
/**
* Affiche une observation dans la liste des observations à transmettre
*/
WidgetsSaisiesCommun.prototype.afficherObs = function( datasObs ) {
// différences html liéees au responsive
let responsivDiff1 = '',
responsivDiff2 = '',
responsivDiff3 = '',
responsivDiff4 = '',
responsivDiff5 = '',
responsivDiff6 = '';
if ( window.matchMedia( '(min-width: 576px)' ).matches ) {
/* La largeur minimum de l'affichage est 600 px inclus */
responsivDiff1 = ' droite';
responsivDiff2 = '<div></div>';
responsivDiff3 = '<div class="row">';
responsivDiff4 = ( !this.isASL ) ? ' col-md-2 col-sm-4' : ' col-md-4 col-sm-5';
responsivDiff5 = ( !this.isASL ) ? ' class="col-md-9 col-sm-7"' : ' class="col-md-7 col-sm-6"';
responsivDiff6 = '</div>';
}
 
const obsNum = datasObs.obsNum;
let numNomSel = datasObs.sujet['num_nom_sel'] || '',
taxon = '',
miniatures = '',
notes = '',
commentaires = '',
date = '',
geometry = '',
latitude = '',
longitude = '',
coordonnees = '',
commune = '',
lieuObs = '',
inseeCommune = '',
inseeCommuneText = '',
referentiel = '',
nn = '',
lieudit = '',
station = '',
milieu = '',
certitude = '',
numArbre = '',
obsArbre = '';
 
if ( !this.isASL ) {
geometry = datasObs.sujet['geometry'] || '';
latitude = datasObs.sujet['latitude'] || '';
longitude = datasObs.sujet['longitude'] || '';
inseeCommune = datasObs.sujet['commune_code_insee'] || '';
commune = datasObs.sujet['commune_nom'] || '';
if ( valOk( inseeCommune ) ) {
inseeCommuneText = '(INSEE Commune:' + inseeCommune + ') ';
}
if ( valOk( numNomSel ) ) {
referentiel = '<span class="referentiel-obs">' + '[' + datasObs.sujet['referentiel'] + ']' + '</span>';
}
if ( valOk( datasObs.sujet['lieudit'] ) ) {
lieudit = '<span>' + this.msgTraduction( 'lieu-dit' ) + ' :</span> ' + datasObs.sujet['lieudit'] + ' ';
}
if ( valOk( datasObs.sujet['station'] ) ) {
station = '<span>' + this.msgTraduction( 'station' ) + ' :</span> ' + datasObs.sujet['station'] + ' ';
}
if ( valOk( datasObs.sujet['milieu'] ) ) {
milieu = '<span>' + this.msgTraduction( 'milieu' ) + ' :</span> ' + datasObs.sujet['milieu'] + ' ';
}
nn = this.ajouterNumNomSel( numNomSel );
} else {
certitude = ' [certitude : ' + datasObs.sujet.certitude + ']';
if ( 'arbres' === this.sujet ) {
numArbre = datasObs.sujet['num-arbre'];
numNomSel = datasObs.sujet.taxon.numNomSel;
taxon = datasObs.sujet.taxon.value;
miniatures = this.ajouterImgMiniatureAuTransfert(datasObs.sujet['miniature-img'] );
notes = datasObs.sujet['com-arbres'] || '';
geometry = datasObs.sujet['geometry-arbres'];
latitude = datasObs.sujet['latitude-arbres'];
longitude = datasObs.sujet['longitude-arbres'];
// s'assurer que la date est au bon format
date = this.fournirDate( datasObs.releve.date );
commune = datasObs.releve['commune-nom'] || '';
} else {
numArbre = datasObs.numArbre;
}
obsArbre = '<span id="obs-arbre-' + numArbre + '" class="badge num-obs-arbre" data-arbre="' + numArbre + '">Arbre ' + numArbre + '</span>';
}
if ( !this.isASL || 'arbres' !== this.sujet ) {
taxon = datasObs.sujet['nom_sel'];
miniatures = this.ajouterImgMiniatureAuTransfert();
notes = datasObs.sujet['notes'] || '';
date = this.fournirDate( datasObs.sujet.date );
}
if( !this.isASL || 'arbres' === this.sujet ) {
if ( valOk( commune ) ) {
lieuObs = ' ' + this.msgTraduction( 'lieu-obs' ) + ' ' + '<span class="commune">' + commune + '</span> ';
}
if ( valOk( latitude ) && valOk( longitude ) ) {
coordonnees = '[' + latitude + ' / ' + longitude + ']';
}
}
if ( valOk( notes ) ) {
commentaires =
this.msgTraduction( 'commentaires' ) +
' : <span>'+
notes +
'</span> ';
}
// html du bloc résumé de l'obs
$( '#liste-obs' ).prepend(
'<div id="obs' + obsNum + '" class="obs obs' + obsNum + ' mb-2">'+
'<div '+
'class="obs-action" '+
'title="' + this.msgTraduction( 'supprimer-observation-liste' ) + '"'+
'>'+
'<button class="btn btn-danger supprimer-obs' + responsivDiff1 + '" value="'+ obsNum + '" title="' + this.msgTraduction( 'obs-numero' ) + obsNum + '">'+
'<i class="far fa-trash-alt"></i>'+
'</button>'+
responsivDiff2 +
'</div> '+
responsivDiff3 +
'<div class="thumbnail' + responsivDiff4 + '">'+
miniatures +
'</div>'+
'<div' + responsivDiff5 + '>'+
'<ul class="unstyled">'+
'<li>'+
// isASL
obsArbre +
// toujours
'<span class="nom-sci">' + taxon + '</span> '+
// !isASL
nn +
referentiel +
// isASL
certitude +
// !this.isASL || 'arbres' === this.sujet
lieuObs +
// !isASL
inseeCommuneText +
// !this.isASL || 'arbres' === this.sujet
coordonnees +
// toujours
' ' + this.msgTraduction( 'obs-le' ) + ' '+
'<span class="date">' + date + '</span>'+
'</li>'+
'<li>'+
// !isASL
lieudit +
station +
milieu +
'</li>'+
'<li>'+
// valOk( notes )
commentaires +
'</li>'+
'</ul>'+
'</div>'+
responsivDiff6+
'</div>'
);
 
$( '#zone-liste-obs' ).removeClass( 'hidden' );
};
 
/**
* Ajoute une boîte de miniatures avec défilement des images,
* pour une obs de la liste des obs à transmettre
*/
WidgetsSaisiesCommun.prototype.ajouterImgMiniatureAuTransfert = function( chargerImages = undefined ) {
const lthis = this;
let html =
'<div class="defilement-miniatures">'+
'<figure class="centre">'+
'<img class="miniature align-middle" alt="Aucune photo" src="' + this.pasDePhotoIconeUrl + '" width="80%" />'+
'</figure>'+
'</div>',
miniatures = '',
centre = '',
defilVisible = '',
length = 0;
 
if ( valOk( chargerImages ) || valOk( $( '#miniatures img' ) ) ) {
if ( valOk( chargerImages ) ) {
$.each( chargerImages, function( i, value ) {
let imgVisible = ( 0 < i ) ? 'miniature-cachee' : 'miniature-selectionnee',
css = ( valOk( value['b64'] ) ) ? 'miniature b64' : 'miniature',
src = value.src,
alt = value.nom,
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
length = chargerImages.length;
} else {
let premiere = true;
$( '#miniatures img' ).each( function() {
let imgVisible = ( premiere ) ? 'miniature-selectionnee' : 'miniature-cachee';
 
premiere = false;
 
let css = ( $( this ).hasClass( 'b64' ) ) ? 'miniature b64' : 'miniature',
src = $( this ).attr( 'src' ),
alt = $( this ).attr( 'alt' ),
miniature = '<img class="' + css + ' ' + imgVisible + ' align-middle" alt="' + alt + '"src="' + src + '" width="80%" />';
 
miniatures += miniature;
});
length = $( '#miniatures img' ).length;
}
if ( 1 === length ) {
centre = 'centre';
defilVisible = ' defilement-miniatures-cache';
}
html =
'<div class="defilement-miniatures">'+
'<a href="#" class="defilement-miniatures-gauche mr-1' + defilVisible + '"><i class="fas fa-chevron-circle-left"></i></a>'+
'<figure class="' + centre + '">'+
miniatures+
'</figure>'+
'<a href="#" class="defilement-miniatures-droite ml-1' + defilVisible + '"><i class="fas fa-chevron-circle-right"></i></a>'+
'</div>';
}
 
return html;
};
 
/**
* Construit le html à afficher pour le numNom
*/
WidgetsSaisiesCommun.prototype.ajouterNumNomSel = function( numNomSel ) {
let nn = '<span class="nn">[nn' + numNomSel + ']</span>';
 
if ( !valOk( numNomSel ) ) {
nn = '<span class="alert-error">[' + this.msgTraduction( 'non-lie-au-ref' ) + ']</span>';
}
 
return nn;
};
 
/**
* Stocke des données d'obs à envoyer à la bdd
*/
WidgetsSaisiesCommun.prototype.stockerObsData = function( obsDatas ) {
if ( this.isASL && 'arbres' === this.sujet ) {
// Dans ce cas la fonction formaterFormObsData renvoie des données au même format que l'input hidden "releve-data"
// car les données peuvent provenir soit de la formaterFormObsData soit de cet input
const lthis = this;
// si releve dupliqué on ne stocke pas l'image :
let stockerImg = valOk( obsDatas.sujet['miniature-img'] ),
imgNom = [],
imgB64 = [];
 
// Si on a bien un 'miniature-img' dans les données
if( stockerImg ) {
$.each( obsDatas.sujet['miniature-img'], function( i, obj ) {
if( obj.hasOwnProperty( 'id' ) ) {
stockerImg = false;
}
return stockerImg;
});
}
// Si les miniatures ne sont pas déjà stockées (résultat de la loop précédente)
if( stockerImg ) {
$.each( obsDatas.sujet['miniature-img'] , function( i, obj ) {
if( valOk( obj.nom ) ) {
imgNom.push( obj.nom );
}
if( valOk( obj['b64'] ) ) {
imgB64.push( obj['b64'] );
}
});
} else {
imgNom = lthis.getNomsImgsOriginales();
imgB64 = lthis.getB64ImgsOriginales();
}
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + obsDatas.obsNum, {
'num_nom_sel' : obsDatas.sujet.taxon.numNomSel,
'nom_sel' : obsDatas.sujet.taxon.value,
'nom_ret' : obsDatas.sujet.taxon.nomRet,
'num_nom_ret' : obsDatas.sujet.taxon.numNomRet,
'num_taxon' : obsDatas.sujet.taxon.nt,
'famille' : obsDatas.sujet.taxon.famille,
'referentiel' : obsDatas.sujet.referentiel,
'certitude' : obsDatas.sujet.certitude,
// La date provenant de input "releve-data" n'est pas au bon format
'date' : this.fournirDate( obsDatas.releve.date ),
'notes' : obsDatas.releve.commentaires.trim(),
'pays' : obsDatas.releve.pays,
'commune_nom' : obsDatas.releve['commune-nom'],
'commune_code_insee' : obsDatas.releve['commune-insee'],
'geometry' : obsDatas.sujet['geometry-arbres'],
'latitude' : obsDatas.sujet['latitude-arbres'],
'longitude' : obsDatas.sujet['longitude-arbres'],
'altitude' : obsDatas.sujet['altitude-arbres'],
'image_nom' : imgNom,
'image_b64' : imgB64,
// Ajout des champs étendus de l'obs
'obs_etendue' : lthis.getObsChpSpecifiques( obsDatas )
});
} else {
// Stockage en data des données d'obs à transmettre
$( '#liste-obs' ).data( 'obsId' + obsDatas.obsNum, obsDatas.sujet );
}
};
 
WidgetsSaisiesCommun.prototype.getNomsImgsOriginales = function() {
const noms = [];
 
$( '.miniature-img' ).each( function() {
noms.push( $( this ).attr( 'alt' ) );
});
 
return noms;
};
 
WidgetsSaisiesCommun.prototype.getB64ImgsOriginales = function() {
const b64 = [];
 
$( '.miniature-img' ).each( function() {
if ( $( this ).hasClass( 'b64' ) ) {
b64.push( $( this ).attr( 'src' ) );
} else if ( $( this ).hasClass( 'b64-canvas' ) ) {
b64.push( $( this ).data( 'b64' ) );
}
});
 
return b64;
};
 
/**
* Efface toutes les miniatures (formulaire)
*/
WidgetsSaisiesCommun.prototype.supprimerMiniatures = function() {
if ( !this.isASL ) {
// Déconnection MutationObserver miniatures
// Sinon on a une erreur avant la création d'une nouvelle obs
this.observer.disconnect();
$( '#miniatures' ).empty();
// Validation miniatures reprend à 0 pour une nouvelle obs
this.surPresenceAbsenceMiniature();
} else {
$( '#miniatures' ).empty();
}
$( '#miniature-msg' ).empty();
};
 
WidgetsSaisiesCommun.prototype.surChangementNbreObs = function() {
if ( 0 === this.obsNbre ) {
$( '#transmettre-obs' ).attr( 'disabled', 'disabled' );
} else if ( 0 < this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#ajouter-obs,#transmettre-obs' ).removeAttr( 'disabled' );
} else if ( this.obsNbre >= this.obsMaxNbre ) {
$( '#ajouter-obs' ).attr( 'disabled', 'disabled' );
this.afficherPanneau( '#dialogue-bloquer-creer-obs' );
}
if ( this.isASL && 'arbres' === this.sujet ) {
if ( 0 <= this.obsNbre && this.obsNbre < this.obsMaxNbre ) {
$( '#bloc-form-arbres' ).removeClass( 'hidden' );
} else {
$( '#bloc-form-arbres' ).addClass( 'hidden' );
}
}
};
 
WidgetsSaisiesCommun.prototype.defilerMiniatures = function( element ) {
const miniatureSelectionne = element.siblings( 'figure' ).find( 'img.miniature-selectionnee' );
 
miniatureSelectionne.removeClass( 'miniature-selectionnee' );
miniatureSelectionne.addClass( 'miniature-cachee' );
 
let miniatureAffichee = miniatureSelectionne;
 
if( element.hasClass( 'defilement-miniatures-gauche' ) ) {
if( 0 !== miniatureSelectionne.prev( '.miniature' ).length ) {
miniatureAffichee = miniatureSelectionne.prev( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).last();
}
} else {
if( 0 !== miniatureSelectionne.next('.miniature').length ) {
miniatureAffichee = miniatureSelectionne.next( '.miniature' );
} else {
miniatureAffichee = miniatureSelectionne.siblings( '.miniature' ).first();
}
}
miniatureAffichee.addClass( 'miniature-selectionnee' );
miniatureAffichee.removeClass( 'miniature-cachee' );
};
 
WidgetsSaisiesCommun.prototype.supprimerObs = function( selector ) {
let obsId = $( selector ).val();
 
// Problème avec IE 6 et 7
if ( 'Supprimer' === obsId ) {
obsId = $( selector ).attr( 'title' );
}
this.supprimerObsParId( obsId );
};
 
/**
* Supprime l'obs et les data de l'obs
* et remonte les suivantes d'un cran
*/
WidgetsSaisiesCommun.prototype.supprimerObsParId = function( obsId, transmission = false ) {
let arbreExId = 0,
arbreId = 0;
 
if ( this.isASL && 'arbres' === this.sujet ) {
if ( !transmission ) {
this.releveData = $.parseJSON( $( '#releve-data' ).val() );
this.releveData.splice( obsId , 1 );
$( '#releve-data' ).val( JSON.stringify( this.releveData ) );
}
$( '#arbre-info-' + ( this.numArbre ) ).remove();
$( '#arbre-nb' ).text( this.numArbre );
this.numArbre -= 1;
if ( 1 > this.numArbre ) {
$( '#bloc-info-arbres-title' ).addClass( 'hidden' );
}
}
this.obsNbre -= 1;
$( '.obs-nbre' ).text( this.obsNbre );
$( '.obs-nbre' ).triggerHandler( 'changement' );
$( '.obs' + obsId ).remove();
obsId = parseInt(obsId);
 
if ( !transmission ) {
const listObsData = $( '#liste-obs' ).data();
let exId = 0,
indexObs = '',
exIndexOb = '';
 
for ( let id = obsId; id <= ( this.obsNbre + 1 ); id++ ) {
exId = parseInt(id) + 1;
indexObs = 'obsId' + id;
exIndexObs = 'obsId' + exId;
$( '#liste-obs' ).removeData( indexObs );
$( '#obs' + exId )
.attr( 'id', 'obs' + id )
.removeClass( 'obs' + exId )
.addClass( 'obs' + id )
.find( '.supprimer-obs' )
.attr( 'title', 'Observation n°' + id )
.val( id );
 
if ( this.isASL && 'arbres' === this.sujet ) {
arbreExId = parseInt( $( '#obs-arbre-' + exId ).data( 'arbre' ) );
arbreId = arbreExId - 1;
$( '#obs-arbre-' + arbreExId )
.attr( 'id', 'obs-arbre-' + arbreId )
.attr( 'data-arbre', arbreId )
.data( 'arbre', arbreId )
.text( 'Arbre ' + arbreId );
// modification du numero d'arbre dans les obs étendues
if ( valOk( listObsData[exIndexObs] ) ) {
$.each( listObsData[exIndexObs].obs_etendue, function( i, obsE ) {
if ('num_arbre' === obsE.cle ) {
listObsData[exIndexObs].obs_etendue[i].valeur = arbreId;
return false;
}
});
}
}
 
// Mise à jour des données à transmettre
if ( valOk( listObsData[exIndexObs] ) ) {
$( '#liste-obs' ).data( indexObs, listObsData[exIndexObs] );
}
if ( parseInt( id ) !== this.obsNbre ) {
id = parseInt(id);
}
}
} else {
$( '#liste-obs' ).removeData( 'obsId' + obsId );
}
};
 
WidgetsSaisiesCommun.prototype.transmettreObs = function() {
const lthis = this,
observations = $( '#liste-obs' ).data();
 
if ( this.debug ) {
console.dir( observations );
}
if ( !valOk( typeof observations, true, 'object' ) ) {
this.afficherPanneau( '#dialogue-zero-obs' );
} else {
this.nbObsEnCours = 1;
this.nbObsTransmises = 0;
this.totalObsATransmettre = $.map( observations, function( n, i ) {
return i;
}).length;
this.depilerObsPourEnvoi();
}
 
return false;
};
 
WidgetsSaisiesCommun.prototype.depilerObsPourEnvoi = function() {
const observations = $( '#liste-obs' ).data();
// la boucle est factice car on utilise un tableau
// dont on a besoin de n'extraire que le premier élément
// or javascript n'a pas de méthode cross browsers pour extraire les clés
// TODO: utiliser var.keys quand ça sera plus répandu
// ou bien utiliser un vrai tableau et pas un objet
for ( let obsNum in observations ) {
const obsATransmettre = {
'id_projet' : this.idProjet,
'projet' : this.projet,
'tag-obs' : this.tagObs,
'tag-img' : this.tagImg
},
utilisateur = {
id_utilisateur : $( '#id_utilisateur' ).val(),
prenom : $( '#prenom' ).val(),
nom : $( '#nom' ).val(),
courriel : $( '#courriel' ).val()
};
 
obsATransmettre['utilisateur'] = utilisateur;
obsATransmettre[obsNum] = observations[obsNum];
 
const idObsNumerique = obsNum.replace( 'obsId', '' );
 
if( '' !== idObsNumerique ) {
this.envoyerObsAuCel( idObsNumerique, obsATransmettre );
}
break;
}
};
 
WidgetsSaisiesCommun.prototype.envoyerObsAuCel = function( idObs, observation ) {
const lthis = this;
let erreurMsg = '';
 
$.ajax({
url : lthis.serviceSaisieUrl,
type : 'POST',
data : observation,
dataType : 'json',
beforeSend : function() {
$( '#dialogue-obs-transaction-ko,#dialogue-obs-transaction-ok' ).addClass( 'hidden' );
$( '.alert-txt' ).empty();
$( '.alert-txt .msg-erreur,.alert-txt .msg-debug' ).remove();
$( '#chargement' ).removeClass( 'hidden' );
},
success : function( transfertDatas, textStatus, jqXHR ) {
if( lthis.isASL && 'arbres' === lthis.sujet ) {
// actualisation de id_observation dans '#releve-data'
lthis.actualiserReleveDataIdObs( idObs, transfertDatas.id );
}
// mise à jour du nombre d'obs à transmettre
// et suppression de l'obs
lthis.supprimerObsParId( idObs, true );
lthis.nbObsEnCours++;
// mise à jour du statut
lthis.mettreAJourProgression();
if( 0 < lthis.obsNbre ) {
// dépilement de la suivante
lthis.depilerObsPourEnvoi();
}
},
statusCode : {
500 : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.msgTraduction( 'erreur' ) + ' 500 :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
}
},
error : function( jqXHR, textStatus, errorThrown ) {
erreurMsg += lthis.msgTraduction( 'erreur-ajax' ) + ' :\ntype : ' + textStatus + ' ' + errorThrown + '\n';
try {
reponse = jQuery.parseJSON( jqXHR.responseText );
if ( null !== reponse ) {
$.each( reponse, function( cle, valeur ) {
erreurMsg += valeur + '\n';
});
}
} catch( e ) {
erreurMsg += lthis.msgTraduction( 'erreur-inconnue' ) + ' : ' + jqXHR.responseText;
}
},
complete : function( jqXHR, textStatus ) {
const debugMsg = lthis.extraireEnteteDebug( jqXHR );
 
if ( '' !== erreurMsg ) {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-erreur">' + erreurMsg + '</pre>' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
const hrefCourriel = 'mailto:cel_remarques@tela-botanica.org?'+
'subject=Dysfonctionnement du widget de saisie ' + lthis.tagsMotsCles+
'&body=' + erreurMsg + '%0D%0ADébogage :%0D%0A' + debugMsg;
 
$( '#obs' + idObs + ' div div' ).addClass( 'obs-erreur' );
$( '#dialogue-obs-transaction-ko .alert-txt' ).append(
$( '#tpl-transmission-ko' ).clone()
.find( '.courriel-erreur' )
.attr( 'href', hrefCourriel )
.end()
.html()
);
$( '#dialogue-obs-transaction-ko' ).removeClass( 'hidden' );
$( '#chargement' ).addClass( 'hidden' );
lthis.initialiserBarreProgression;
} else {
if ( lthis.debug ) {
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( '<pre class="msg-debug">Débogage : ' + debugMsg + '</pre>' );
}
if( 0 === lthis.obsNbre ) {
setTimeout( function() {
if ( lthis.isASL ) {
if ( 'arbres' === lthis.sujet ) {
if ( 'tb_streets' !== lthis.projet ) {
$( '#bouton-saisir-lichens' ).removeClass( 'hidden' );
}
if ( 'tb_lichensgo' !== lthis.projet ) {
$( '#bouton-saisir-plantes' ).removeClass( 'hidden' );
}
} else {
$( '#bouton-poursuivre' ).removeClass( 'hidden' );
}
$( '#bloc-controle-liste-obs,#bloc-gauche' ).addClass( 'hidden' );
}
$( '#chargement' ).addClass( 'hidden' );
$( '#dialogue-obs-transaction-ok .alert-txt' ).append( $( '#tpl-transmission-ok' ).clone().html() );
$( '#dialogue-obs-transaction-ok' ).removeClass( 'hidden' );
}, 1500 );
}
}
}
});
};
 
WidgetsSaisiesCommun.prototype.mettreAJourProgression = function() {
this.nbObsTransmises++;
 
const pct = ( this.nbObsTransmises / this.totalObsATransmettre ) * 100;
 
$( '#barre-progression-upload' ).attr( 'aria-valuenow', this.nbObsTransmises );
$( '#barre-progression-upload' ).css( 'width', pct + '%' );
$( '#barre-progression-upload .sr-only' ).text( this.nbObsTransmises + '/' + this.totalObsATransmettre + ' ' + this.msgTraduction( 'observations-transmises' ) );
if( 0 === this.obsNbre ) {
$( '.progress' ).removeClass( 'active' );
$( '.progress' ).removeClass( 'progress-bar-striped' );
}
};
 
WidgetsSaisiesCommun.prototype.initialiserBarreProgression = function() {
$( '#barre-progression-upload' ).attr( 'aria-valuenow', 0 );
$( '#barre-progression-upload' ).css( 'width', '0%' );
$( '#barre-progression-upload .sr-only' ).text( '0/0 ' + this.msgTraduction( 'observations-transmises' ) );
$( '.progress' ).addClass( 'active' );
$( '.progress' ).addClass( 'progress-bar-striped' );
};
 
// Form Validator *************************************************************/
WidgetsSaisiesCommun.prototype.configurerFormValidator = function() {
const lthis = this;
 
$.validator.addMethod(
'dateCel',
function ( value, element ) {
return ( valOk( value ) && ( /^(?:[0-9]{4}-[0-9]{2}-[0-9]{2})|(?:[0-9]{2}\/[0-9]{2}\/[0-9]{4})$/.test( value ) ) );
},
lthis.msgTraduction( 'date-incomplete' )
);
$.validator.addMethod(
'userEmailOk',
function ( value, element ) {
return ( valOk( value ) );
},
''
);
$.validator.addMethod(
'minMaxOk',
function ( value, element, param ) {
$.validator.messages.minMaxOk = lthis.validerMinMax( element ).message;
return lthis.validerMinMax( element ).cond;
},
$.validator.messages.minMaxOk
);
$.validator.addMethod(
'listFields',
function ( value, element ) {
return ( valOk( value ) );
},
''
);
$.extend( $.validator.defaults, {
errorElement: 'span',
errorPlacement: function( error, element ) {
if ( lthis.isASL && 'arbres' === lthis.sujet && ( 'checkbox' === element.attr( 'type' ) || 'radio' === element.attr( 'type' ) ) ) {
error.appendTo( element.closest( '.list' ) );
} else {
element.after( error );
}
},
onfocusout: function( element ) {
if( valOk( element.id, false, 'taxon' ) || ( lthis.isASL && 'arbres' === lthis.sujet ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
onkeyup : function( element ) {
if( valOk( element.id, false, 'taxon' ) || ( lthis.isASL && 'arbres' === lthis.sujet ) ) {
if ( $( element ).valid() ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
} else {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
}
},
unhighlight: function( element ) {
if( valOk( element.id, false, 'taxon' ) || ( lthis.isASL && 'arbres' === lthis.sujet ) ) {
$( element ).closest( '.control-group' ).removeClass( 'error' );
}
},
highlight: function( element ) {
$( element ).closest( '.control-group' ).addClass( 'error' );
}
});
};
 
// Formatage date *************************************************************/
WidgetsSaisiesCommun.prototype.fournirDate = function( dateObs ) {
if ( /^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/.test( dateObs ) ) {
 
return dateObs;
} else if ( /^[0-9]{4}-[0-9]{2}-[0-9]{2}$/.test( dateObs ) ) {
const dateArray = dateObs.split( '-' );
 
return dateArray[2] + '/' + dateArray[1] + '/' + dateArray[0]
} else {
console.dir( 'erreur date : ' + dateObs )
}
};
 
// scroll vers le formulaire
WidgetsSaisiesCommun.prototype.scrollFormTop = function( scrollSelecteur, focus = '' ) {
$( 'html, body' ).stop().animate({
scrollTop: $( scrollSelecteur ).offset().top
}, 300, function() {
if ( valOk( focus ) ) {
$( focus ).focus();
} else {
return;
}
});
};
 
// Controle des panneaux d'infos **********************************************/
 
WidgetsSaisiesCommun.prototype.afficherPanneau = function( selecteur ) {
$( selecteur )
.removeClass( 'hidden' )
.hide()
.show( 600 )
.delay( this.dureeMessage )
.hide( 600 );
this.scrollFormTop( selecteur );
};
 
WidgetsSaisiesCommun.prototype.masquerPanneau = function( selecteur ) {
$( selecteur ).addClass( 'hidden' );
};
 
WidgetsSaisiesCommun.prototype.fermerPanneauAlert = function() {
$( this ).parentsUntil( '.zone-alerte', '.alert' ).addClass( 'hidden' );
};
 
/**
* Si la langue est définie dans this.langue, et si des messages sont définis
* dans this.msgs, tente de trouver le message dont la clé est [cle] dans la
* langue en cours. S'il n'est pas trouvé, retourne la version française (par
* défaut); si celle-ci n'exite pas, retourne "N/A".
*/
WidgetsSaisiesCommun.prototype.msgTraduction = function( cle ) {
let msg = 'N/A';
 
if ( utils.msgs ) {
if ( this.langue in utils.msgs && cle in utils.msgs[this.langue] ) {
msg = utils.msgs[this.langue][cle];
} else if ( cle in utils.msgs['fr'] ) {
msg = utils.msgs['fr'][cle];
}
}
return msg;
};
 
/**
* Stope l'évènement courant quand on clique sur un lien.
* Utile pour Chrome, Safari...
*/
WidgetsSaisiesCommun.prototype.arreter = function( event ) {
if ( event.stopPropagation ) {
event.stopPropagation();
}
if ( event.preventDefault ) {
event.preventDefault();
}
 
return false;
};
 
/**
* Extrait les données de désinsectisation d'une requête AJAX de jQuery
* @param jqXHR
* @returns {String}
*/
WidgetsSaisiesCommun.prototype.extraireEnteteDebug = function( jqXHR ) {
let msgDebug = '';
 
if ( '' !== jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) ) {
const debugInfos = jQuery.parseJSON( jqXHR.getResponseHeader( 'X-DebugJrest-Data' ) );
 
if ( null !== debugInfos ) {
$.each( debugInfos, function( cle, valeur ) {
msgDebug += valeur + '\n';
});
}
}
 
return msgDebug;
};
 
 
WidgetsSaisiesCommun.prototype.confirmerSortie = function() {
$( window ).off( 'beforeunload' ).on( 'beforeunload', function( event ) {
if ( !event ) {
event = window.event;
}
return false;
});
};
 
// Lib hors objet
 
/*
* jQuery UI Autocomplete HTML Extension
*
* Copyright 2010, Scott González (http://scottgonzalez.com)
* Dual licensed under the MIT or GPL Version 2 licenses.
*
* http://github.com/scottgonzalez/jquery-ui-extensions
*
* Adaptation par Aurélien Peronnet pour la mise en gras des noms de taxons valides
*/
( function( $ ) {
const proto = $.ui.autocomplete.prototype,
initSource = proto._initSource;
 
WidgetsSaisiesCommun.prototype.filter = function( array, term ) {
const matcher = new RegExp( $.ui.autocomplete.escapeRegex( term ), 'i' );
 
return $.grep( array, function( value ) {
 
return matcher.test( $( '<div>' ).html( value.label || value.value || value ).text() );
});
}
$.extend( proto, {
_initSource: function() {
if ( this.options.html && $.isArray( this.options.source ) ) {
this.source = function( request, response ) {
response( filter( this.options.source, request.term ) );
};
} else {
initSource.call( this );
}
},
_renderItem: function( ul, item) {
if ( item.retenu ) {
item.label = '<strong>' + item.label + '</strong>';
}
 
return $( '<li></li>' )
.data( 'item.autocomplete', item )
.append( $( '<a></a>' )[ ( this.options.html ) ? 'html' : 'text' ]( item.label ) )
.appendTo( ul );
}
});
})( jQuery );
/branches/v3.01-serpe/widget/modules/saisie/squelettes/js/WidgetsSaisiesASL.js
New file
0,0 → 1,454
import {WidgetsSaisiesCommun,utils} from './WidgetsSaisiesCommun.js';
import {initialiserModule} from './InitialisationASL.js';
import {valOk} from './Utils.js';
 
/**
* Constructeur WidgetsSaisiesASL par défaut
* S'applique au squelette apa.tpl.html
* Squelette de base d'apa streets et lg
*/
// ASL : APA, sTREETs, Lichen's Go!
export function WidgetsSaisiesASL() {
WidgetsSaisiesCommun.call(this);
 
if ( valOk( widgetProp ) ) {
this.urlWidgets = widgetProp.urlWidgets;
this.projet = widgetProp.projet;
this.idProjet = widgetProp.idProjet;
this.tagsMotsCles = widgetProp.tagsMotsCles;
this.mode = widgetProp.mode;
this.langue = widgetProp.langue;
this.serviceObsImgs = widgetProp.serviceObsImgs;
this.serviceObsImgUrl = widgetProp.serviceObsImgUrl;
this.serviceAnnuaireIdUrl = widgetProp.serviceAnnuaireIdUrl;
this.serviceNomCommuneUrl = widgetProp.serviceNomCommuneUrl;
this.serviceNomCommuneUrlAlt = widgetProp.serviceNomCommuneUrlAlt;
this.debug = widgetProp.debug;
this.html5 = widgetProp.html5;
this.serviceSaisieUrl = widgetProp.serviceSaisieUrl;
this.serviceObsUrl = widgetProp.serviceObsUrl;
this.chargementImageIconeUrl = widgetProp.chargementImageIconeUrl;
this.pasDePhotoIconeUrl = widgetProp.pasDePhotoIconeUrl;
this.autocompletionElementsNbre = widgetProp.autocompletionElementsNbre;
this.serviceAutocompletionNomSciUrl = widgetProp.serviceAutocompletionNomSciUrl;
this.serviceAutocompletionNomSciUrlTpl = widgetProp.serviceAutocompletionNomSciUrlTpl;
this.dureeMessage = widgetProp.dureeMessage;
this.obsMaxNbre = widgetProp.obsMaxNbre;
}
this.urlRacine = window.location.origin;
this.isASL = true;
this.nbObsEnCours = 1;
this.obsNbre = 0;
this.totalObsATransmettre = 0;
this.nbObsTransmises = 0;
this.tagImg = null;
this.tagObs = null;
this.separationTagImg = null;
this.separationTagObs = null;
this.nomSciReferentiel = null;
this.referentielImpose = null;
this.releveDatas = null;
this.urlBaseAuth = null;
this.idUtilisateur = null;
this.sujet = null;
this.isTaxonListe = false;
this.geoloc = {};
}
WidgetsSaisiesASL.prototype = Object.create(WidgetsSaisiesCommun.prototype);
WidgetsSaisiesASL.prototype.constructor = WidgetsSaisiesASL;
 
WidgetsSaisiesASL.prototype.initEvts = function() {
const lthis = this;
// initialisation des fonctions connexion utilisateur
this.initEvtsConnection();
// chargement plantes ou lichens
if ( valOk( $( '.charger-releve' ) ) ) {
const btnChargementForm = this.determinerBtnsChargementForm( '.' );
// #releve-data n'est pas modifié, bouton dans #releves-utilisateur
this.btnsChargerForm( btnChargementForm, false );
}
};
 
/**
* Initialise le formulaire, les validateurs, les listes de complétion...
*/
WidgetsSaisiesASL.prototype.initForm = function() {
this.initFormConnection();
};
 
WidgetsSaisiesASL.prototype.determinerBtnsChargementForm = function( typeSelecteur, ajouterBtnPoursuivre = false ) {
let complement = '',
selecteurDefault = '',
separateur = ',';
 
if ( '#' === typeSelecteur ) {
if ( ajouterBtnPoursuivre ) {
selecteurDefault = 'poursuivre';
}
typeSelecteur += 'bouton-';
} else if ( '.' === typeSelecteur ) {
selecteurDefault = 'charger-releve';
complement = separateur + typeSelecteur;
}
switch( this.projet ) {
case 'tb_streets':
if ( !ajouterBtnPoursuivre ) {
complement += 'saisir-plantes';
}
break;
case 'tb_lichensgo':
if ( !ajouterBtnPoursuivre ) {
complement += 'saisir-lichens';
}
break;
case 'tb_aupresdemonarbre':
default:
separateur += typeSelecteur;
if ( ajouterBtnPoursuivre) {
complement = separateur;
}
complement += 'saisir-plantes' + separateur + 'saisir-lichens';
break;
}
return typeSelecteur + selecteurDefault + complement;
};
 
WidgetsSaisiesASL.prototype.btnsChargerForm = function( btn, modifierReleveData = true, dansRelevesUtilisateur = true ) {
const lthis = this,
bloc = ( dansRelevesUtilisateur ) ? '#releves-utilisateur' : '#charger-form';
 
$( btn, bloc ).off().on( 'click', function( event ) {
event.preventDefault();
 
const thisWidgetObs = ( valOk( $( '#' + lthis.projet + '-obs' ).val() ) ) ? $.parseJSON( $( '#' + lthis.projet + '-obs' ).val() ) : [],
nomSquelette = $( this ).data( 'load' );
let releveDatas = '';
 
$( '#charger-form' ).data( 'load', nomSquelette );
if ( modifierReleveData ) {
if ( '#bouton-nouveau-releve' !== btn ) {
$( '#bouton-nouveau-releve' ).removeClass( 'hidden' );
if ( valOk( thisWidgetObs ) ) {
releveDatas = JSON.stringify( thisWidgetObs[ $( this ).data( 'releve' ) ] );
}
} else {
$( btn ).addClass( 'hidden' );
}
$( '#releve-data' ).val( releveDatas );
}
lthis.chargerForm( nomSquelette, lthis );
if ( valOk( thisWidgetObs ) ) {
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#table-releves' ).addClass( 'hidden' );
});
};
 
WidgetsSaisiesASL.prototype.chargerForm = function( nomSquelette, formObj ) {
const lthis = this,
urlSquelette = this.urlWidgets + 'saisie?projet=' + this.projet + '&squelette=' + nomSquelette;
 
$.ajax({
url: urlSquelette,
type: 'get',
success: function( squelette ) {
if ( valOk( squelette ) ) {
formObj.chargerSquelette( squelette, nomSquelette );
}
},
error: function() {
$( '#charger-form' ).html( lthis.msgTraduction( 'erreur-formulaire' ) );
}
});
};
 
// Préchargement des infos-obs ************************************************/
/**
* Callback dans le chargement du formulaire dans #charger-form
*/
WidgetsSaisiesASL.prototype.chargerSquelette = function( squelette , nomSquelette ) {
// à compléter plus tard si nécessaire, pour le moment on charge "arbres"
switch( nomSquelette ) {
case 'plantes' :
case 'lichens' :
this.chargerFormPlantesOuLichens( squelette, nomSquelette );
break;
case 'arbres' :
default :
if ( valOk( this.sujet ) ) {
this.reinitialiserWidget( squelette );
} else {
this.chargerObsUtilisateur( squelette );
}
break;
}
};
 
WidgetsSaisiesASL.prototype.chargerFormPlantesOuLichens = function( squelette, nomSquelette ) {
if ( valOk( $( '#releve-data' ).val() ) ) {
$( '#charger-form' ).html( squelette );
initialiserModule(nomSquelette);
this.confirmerSortie();
 
const releveDatas = $.parseJSON( $( '#releve-data' ).val() );
const nbArbres = releveDatas.length -1;
 
for ( let i = 1; i <= nbArbres ; i++ ) {
$( '#choisir-arbre' ).append(
'<option value="' + i + '">'+
this.msgTraduction( 'arbre' ) + ' ' + i +
'</option>'
);
}
this.scrollFormTop( '#zone-' + nomSquelette );
}
};
 
WidgetsSaisiesASL.prototype.reinitialiserWidget = function( squelette ) {
$( '#charger-form' ).html( squelette );
initialiserModule();
if ( valOk( $( '#releve-data' ).val() ) ) {
this.rechargerFormulaire();
}
};
 
/**
* Infos des obs arbres de cet utilisateur
*/
WidgetsSaisiesASL.prototype.chargerObsUtilisateur = function( formReleve ) {
const lthis = this,
tagsMotsCles = this.tagsMotsCles.split( ',' ),
reprereAjoutTags = tagsMotsCles.length - 1;
let queryStringMotsCles = '';
 
$.each( tagsMotsCles , function( i, tag ) {
queryStringMotsCles += 'mots_cles=' + tagsMotsCles[i];
if ( i < reprereAjoutTags ) {
queryStringMotsCles += '&';
}
});
 
const urlObs =
$( 'body' ).data( 'obs-list' ) + '/'+
$( '#id_utilisateur' ).val() + '?' + queryStringMotsCles;
 
$.ajax({
url: urlObs,
type: 'GET',
success: function( dataObs, textStatus, jqXHR ) {
if ( !valOk( dataObs ) ) {
dataObs = '';
}
lthis.preformaterDonneesObs( dataObs );
},
error: function( jqXHR, textStatus, errorThrown ) {
utils.activerModale( lthis.msgTraduction( 'erreur-chargement-obs-utilisateur' ) );
}
})
.always( function() {
$( '#charger-form' ).html( formReleve );
initialiserModule();
});
};
 
/**
* Préformater les données des obs d'un utilisateur
*/
WidgetsSaisiesASL.prototype.preformaterDonneesObs = function( dataObs ) {
const lthis = this;
 
if ( valOk( dataObs ) ) {
const tagsMotsCles = this.tagsMotsCles.split( ',' );
let projetObs = [],
datRuComun = [],
obsArbres = [],
projetObsE = {},
count = 0;
 
$.each( dataObs, function( i, obs ) {
if (
new RegExp( tagsMotsCles[0] ).test( obs.mots_cles_texte ) &&
new RegExp( tagsMotsCles[1] ).test( obs.mots_cles_texte ) &&
!/(:?plantes|lichens(?!go))/.test( obs.mots_cles_texte )
) {
if ( valOk( obs.obs_etendue ) ) {
$.each( obs.obs_etendue, function( indice, obsE ) {
projetObsE[obsE.cle] = obsE.valeur;
});
}
obs.date_observation = $.trim( obs.date_observation.replace( /[0-9]{2}:[0-9]{2}:[0-9]{2}$/, '') );
if ( -1 === datRuComun.indexOf( obs.date_observation + projetObsE.rue + obs.zone_geo ) ) {
datRuComun.push( obs.date_observation + projetObsE.rue + obs.zone_geo );
projetObs[count] = lthis.formaterReleveData( { 'obs':obs, 'obsE':projetObsE } );
count++;
}
obsArbres.push( lthis.formaterArbreData( { 'obs':obs, 'obsE':projetObsE } ) );
projetObsE = [];
}
});
// on insert les arbres dans les relevés en fonction de la date et la rue d'observation
// car les arbres pour un relevé (date/rue) n'ont pas forcément été enregistrés dans l'ordre ni le même jour
$.each( obsArbres, function( indexArbre, arbre ) {
for ( let indexReleve = 0; indexReleve < datRuComun.length; indexReleve++ ) {
if ( arbre.date_rue_commune === datRuComun[indexReleve] ) {
projetObs[indexReleve].push( arbre );
}
}
});
if ( valOk( projetObs ) ) {
this.prechargerLesObs( projetObs );
$( '#' + this.projet + '-obs' ).val( JSON.stringify( projetObs ) );
$( '#bouton-list-releves' ).removeClass( 'hidden' );
}
$( '#dates-rues-communes' ).val( JSON.stringify( datRuComun ) );
}
};
 
/**
* Stocke en Json les valeurs du relevé dans en value d'un input hidden
*/
WidgetsSaisiesASL.prototype.formaterReleveData = function( releveDatas ) {
const obs = releveDatas.obs,
obsE = releveDatas.obsE;
let releve = [];
 
releve[0] = {
utilisateur : obs.ce_utilisateur,
date : obs.date_observation,
rue : obsE.rue,
'commune-nom' : obs.zone_geo,
'commune-insee' : obs.ce_zone_geo,
pays : obs.pays,
'geometry-releve' : obsE['geometry-releve'],
'latitude-releve' : obsE['latitude-releve'],
'longitude-releve' : obsE['longitude-releve'],
'altitude-releve' : obsE['altitude-releve'],
commentaires : obs.commentaire
};
 
if ( 'tb_lichensgo' !== this.projet ) {
releve[0]['zone-pietonne'] = obsE['zone-pietonne'];
releve[0]['pres-lampadaires'] = obsE['pres-lampadaires'];
}
 
return releve;
};
 
/**
* Stocke en Json les valeurs d'une obs
*/
WidgetsSaisiesASL.prototype.formaterArbreData = function( arbresDatas ) {
const obs = arbresDatas.obs,
obsE = arbresDatas.obsE;
let retour = {},
miniatureImg = [];
 
if( valOk( obs['miniature-img'] ) ) {
miniatureImg = obs['miniature-img'];
} else if ( valOk( obsE['miniature-img'] ) ) {
miniatureImg = $.parseJSON( obsE['miniature-img'] );
}
 
retour = {
'date_rue_commune' : obs.date_observation + obsE.rue + obs.zone_geo,
'num-arbre' : obsE.num_arbre,
'id_observation' : obs.id_observation,
'taxon' : {
'numNomSel' : obs.nom_sel_nn,
'value' : obs.nom_sel,
'nomRet' : obs.nom_ret,
'numNomRet' : obs.nom_ret_nn,
'nt' : obs.nt,
'famille' : obs.famille,
},
'miniature-img' : miniatureImg,
'referentiel' : obs.nom_referentiel,
'certitude' : obs.certitude,
'rue-arbres' : obsE['rue-arbres'],
'geometry-arbres' : obs['geometry'],
'latitude-arbres' : obs['latitude'],
'longitude-arbres' : obs['longitude'],
'altitude-arbres' : obs['altitude'],
'circonference' : obsE.circonference,
'com-arbres' : obsE['com-arbres']
};
if ( 'tb_lichensgo' !== this.projet ) {
retour['surface-pied'] = obsE['surface-pied'];
retour['equipement-pied-arbre'] = obsE['equipement-pied-arbre'];
retour['tassement'] = obsE.tassement;
retour['dejections'] = obsE.dejections;
}
if ( 'tb_streets' !== this.projet ) {
retour['face-ombre'] = obsE['face-ombre'];
}
return retour;
};
 
WidgetsSaisiesASL.prototype.prechargerLesObs = function( thisWidgetObs ) {
const lthis = this,
$listReleve = $( '#list-releves' ),
TEXT_ARBRE = ' ' + this.msgTraduction( 'arbre' ).toLowerCase();
 
let nbArbres = '',
texteArbre = '',
releveHtml = '';
 
$( '#bouton-list-releves' )
.removeClass( 'hidden' )
.on( 'click', function( event ) {
event.preventDefault();
$( '#table-releves' ).removeClass( 'hidden' );
$( this ).addClass( 'hidden' );
});
function boutonsChargerReleve( lthis, squelette, indice ) {
const boutonLichens =
'<a href="" class="saisir-lichens btn btn-sm btn-info" data-releve="' + indice + '" data-load="lichens">'+
'<i class="far fa-snowflake"></i> ' + lthis.msgTraduction( 'saisir-lichens' )+
'</a> ',
boutonPlantes =
'<a href="" class="saisir-plantes btn btn-sm btn-info mb-1" data-releve="' + indice + '" data-load="plantes">'+
'<i class="fas fa-seedling"></i> ' + lthis.msgTraduction( 'saisir-plantes' )+
'</a> ';
 
switch( squelette ) {
case 'tb_streets':
return boutonPlantes;
case 'tb_lichensgo' :
return boutonLichens;
case 'tb_aupresdemonarbre' :
default :
return boutonPlantes + boutonLichens;
}
return '';
}
 
$.each( thisWidgetObs, function( i, releve ) {
nbArbres = releve.length - 1;
texteArbre = ( 1 < nbArbres ) ? ( TEXT_ARBRE + 's' ) : TEXT_ARBRE;
releveHtml +=
'<tr class="table-light text-center">'+
'<td>' +
'<p>'+
lthis.fournirDate( releve[0].date ) +
'</p><p>'+
releve[0].rue + ', ' + releve[0]['commune-nom'] +
'</p><p>'+
'(' + nbArbres + texteArbre + ')' +
'</p>'+
'</td>'+
'<td class="d-flex flex-column">' +
'<a href="" class="charger-releve btn btn-sm btn-info mb-1" data-releve="' + i + '" data-load="arbres">'+
'<i class="fas fa-clone"></i> ' + lthis.msgTraduction( 'dupliquer' )+
'</a> '+
boutonsChargerReleve( lthis, lthis.projet, i ) +
'</td>'+
'</tr>';
});
 
$listReleve.append( releveHtml );
 
$( '#nb-releves-bienvenue' )
.removeClass( 'hidden' )
.find( 'span.nb-releves' )
.text( thisWidgetObs.length );
};