| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 
							- import $ from 'jquery';
 
- import getSlug from 'speakingurl';
 
- // jQuery no parents filter
 
- $.expr[':']['noparents'] = $.expr.createPseudo((text) => (element) => $(element).parents(text).length < 1);
 
- // Slugify
 
- // CommonJS and ES6 version of https://github.com/madflow/jquery-slugify
 
- $.fn.slugify = (source, options) => {
 
-     return this.each((element) => {
 
-         let target = $(element);
 
-         let source = $(source);
 
-         target.on('keyup change', () => {
 
-             target.data('locked', target.val() !== '' && target.val() !== undefined);
 
-         });
 
-         source.on('keyup change', () => {
 
-             if (target.data('locked') === true) { return true; }
 
-             let isInput = target.is('input') || target.is('textarea');
 
-             target[isInput ? 'val' : 'text']($.slugify(source.val(), options));
 
-         });
 
-     });
 
- };
 
- // Static method.
 
- $.slugify = (sourceString, options) => {
 
-     options = $.extend({}, $.slugify.options, options);
 
-     options.lang = options.lang || $('html').prop('lang');
 
-     if (typeof options.preSlug === 'function') {
 
-         sourceString = options.preSlug(sourceString);
 
-     }
 
-     sourceString = options.slugFunc(sourceString, options);
 
-     if (typeof options.postSlug === 'function') {
 
-         sourceString = options.postSlug(sourceString);
 
-     }
 
-     return sourceString;
 
- };
 
- // Default plugin options
 
- $.slugify.options = {
 
-     preSlug: null,
 
-     postSlug: null,
 
-     slugFunc: (input, opts) => getSlug(input, opts)
 
- };
 
 
  |