luda 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.md +5 -0
- data/assets/javascripts/luda-degradation.js +131 -0
- data/assets/javascripts/luda-degradation.js.map +1 -0
- data/assets/javascripts/luda-degradation.min.js +7 -0
- data/assets/javascripts/luda-degradation.min.js.map +1 -0
- data/assets/javascripts/luda-sprockets.js +11 -0
- data/assets/javascripts/luda.js +2024 -0
- data/assets/javascripts/luda.js.map +1 -0
- data/assets/javascripts/luda.min.js +7 -0
- data/assets/javascripts/luda.min.js.map +1 -0
- data/assets/javascripts/luda/behaviours/enter-click.js +38 -0
- data/assets/javascripts/luda/behaviours/focus.js +103 -0
- data/assets/javascripts/luda/behaviours/radio-tab.js +69 -0
- data/assets/javascripts/luda/behaviours/readonly.js +57 -0
- data/assets/javascripts/luda/behaviours/toggle.js +104 -0
- data/assets/javascripts/luda/collections/carousel.js +314 -0
- data/assets/javascripts/luda/collections/dropdown.js +269 -0
- data/assets/javascripts/luda/collections/form-dropdown.js +112 -0
- data/assets/javascripts/luda/collections/tab.js +117 -0
- data/assets/javascripts/luda/component.js +240 -0
- data/assets/javascripts/luda/constants.js +18 -0
- data/assets/javascripts/luda/degradation.js +125 -0
- data/assets/javascripts/luda/dom.js +81 -0
- data/assets/javascripts/luda/elements/form-file.js +104 -0
- data/assets/javascripts/luda/elements/form-select.js +212 -0
- data/assets/javascripts/luda/event.js +193 -0
- data/assets/javascripts/luda/index.js +20 -0
- data/assets/javascripts/luda/install.js +75 -0
- data/assets/javascripts/luda/singleton.js +77 -0
- data/assets/javascripts/luda/utilities.js +16 -0
- data/assets/stylesheets/luda/_core/_base.sass +430 -0
- data/assets/stylesheets/luda/_core/_functions.sass +240 -0
- data/assets/stylesheets/luda/_core/_variables.sass +710 -0
- data/assets/stylesheets/luda/_core/behaviours/_disabled.sass +12 -0
- data/assets/stylesheets/luda/_core/behaviours/_focus.sass +7 -0
- data/assets/stylesheets/luda/_core/behaviours/_readonly.sass +16 -0
- data/assets/stylesheets/luda/_core/behaviours/_toggle.sass +4 -0
- data/assets/stylesheets/luda/_core/collections/_alert.sass +24 -0
- data/assets/stylesheets/luda/_core/collections/_avatar.sass +117 -0
- data/assets/stylesheets/luda/_core/collections/_breadcrumb.sass +21 -0
- data/assets/stylesheets/luda/_core/collections/_button-group.sass +67 -0
- data/assets/stylesheets/luda/_core/collections/_button-icon.sass +46 -0
- data/assets/stylesheets/luda/_core/collections/_carousel.sass +132 -0
- data/assets/stylesheets/luda/_core/collections/_dropdown.sass +60 -0
- data/assets/stylesheets/luda/_core/collections/_form-button.sass +23 -0
- data/assets/stylesheets/luda/_core/collections/_form-dropdown.sass +21 -0
- data/assets/stylesheets/luda/_core/collections/_form-group.sass +48 -0
- data/assets/stylesheets/luda/_core/collections/_form-icon.sass +71 -0
- data/assets/stylesheets/luda/_core/collections/_media.sass +55 -0
- data/assets/stylesheets/luda/_core/collections/_modal.sass +12 -0
- data/assets/stylesheets/luda/_core/collections/_nav.sass +162 -0
- data/assets/stylesheets/luda/_core/collections/_tab.sass +18 -0
- data/assets/stylesheets/luda/_core/elements/_badge.sass +19 -0
- data/assets/stylesheets/luda/_core/elements/_baseline.sass +22 -0
- data/assets/stylesheets/luda/_core/elements/_button.sass +136 -0
- data/assets/stylesheets/luda/_core/elements/_container.sass +8 -0
- data/assets/stylesheets/luda/_core/elements/_grid.sass +55 -0
- data/assets/stylesheets/luda/_core/elements/_icon.sass +110 -0
- data/assets/stylesheets/luda/_core/elements/_overlay.sass +11 -0
- data/assets/stylesheets/luda/_core/elements/_progress.sass +31 -0
- data/assets/stylesheets/luda/_core/elements/_scrollbar.sass +21 -0
- data/assets/stylesheets/luda/_core/elements/_table.sass +102 -0
- data/assets/stylesheets/luda/_core/elements/_turbolinks-progress-bar.sass +5 -0
- data/assets/stylesheets/luda/_core/elements/form/_form-check-radio.sass +105 -0
- data/assets/stylesheets/luda/_core/elements/form/_form-element.sass +83 -0
- data/assets/stylesheets/luda/_core/elements/form/_form-helper.sass +66 -0
- data/assets/stylesheets/luda/_core/elements/form/_form-label.sass +20 -0
- data/assets/stylesheets/luda/_core/elements/form/_form-range.sass +92 -0
- data/assets/stylesheets/luda/_core/elements/form/_form-row.sass +214 -0
- data/assets/stylesheets/luda/_core/elements/typography/_code.sass +27 -0
- data/assets/stylesheets/luda/_core/elements/typography/_link.sass +15 -0
- data/assets/stylesheets/luda/_core/elements/typography/_list.sass +14 -0
- data/assets/stylesheets/luda/_core/elements/typography/_mark.sass +7 -0
- data/assets/stylesheets/luda/_core/elements/typography/_quote.sass +68 -0
- data/assets/stylesheets/luda/_core/elements/typography/_sub-sup.sass +16 -0
- data/assets/stylesheets/luda/_core/elements/typography/_typography.sass +52 -0
- data/assets/stylesheets/luda/_core/mixins/_browser.sass +15 -0
- data/assets/stylesheets/luda/_core/mixins/_button.sass +90 -0
- data/assets/stylesheets/luda/_core/mixins/_dropdown.sass +40 -0
- data/assets/stylesheets/luda/_core/mixins/_focus.sass +3 -0
- data/assets/stylesheets/luda/_core/mixins/_form.sass +27 -0
- data/assets/stylesheets/luda/_core/mixins/_install.sass +7 -0
- data/assets/stylesheets/luda/_core/mixins/_media-query.sass +66 -0
- data/assets/stylesheets/luda/_core/mixins/_overlay.sass +14 -0
- data/assets/stylesheets/luda/_core/mixins/_sass-lint-fix.sass +3 -0
- data/assets/stylesheets/luda/_core/mixins/_typography.sass +40 -0
- data/assets/stylesheets/luda/_core/utilities/_align.sass +19 -0
- data/assets/stylesheets/luda/_core/utilities/_background.sass +88 -0
- data/assets/stylesheets/luda/_core/utilities/_color.sass +36 -0
- data/assets/stylesheets/luda/_core/utilities/_display.sass +40 -0
- data/assets/stylesheets/luda/_core/utilities/_flex.sass +114 -0
- data/assets/stylesheets/luda/_core/utilities/_float.sass +21 -0
- data/assets/stylesheets/luda/_core/utilities/_opacity.sass +19 -0
- data/assets/stylesheets/luda/_core/utilities/_overflow.sass +18 -0
- data/assets/stylesheets/luda/_core/utilities/_position.sass +48 -0
- data/assets/stylesheets/luda/_core/utilities/_shape.sass +62 -0
- data/assets/stylesheets/luda/_core/utilities/_size.sass +67 -0
- data/assets/stylesheets/luda/_core/utilities/_space.sass +227 -0
- data/assets/stylesheets/luda/_core/utilities/_text.sass +85 -0
- data/assets/stylesheets/luda/_core/utilities/_visibility.sass +11 -0
- data/assets/stylesheets/luda/_core/utilities/_z-index.sass +19 -0
- data/assets/stylesheets/luda/_default.sass +51 -0
- data/assets/stylesheets/luda/core/_base.sass +430 -0
- data/assets/stylesheets/luda/core/_functions.sass +240 -0
- data/assets/stylesheets/luda/core/_variables.sass +710 -0
- data/assets/stylesheets/luda/core/behaviours/_disabled.sass +12 -0
- data/assets/stylesheets/luda/core/behaviours/_focus.sass +7 -0
- data/assets/stylesheets/luda/core/behaviours/_readonly.sass +16 -0
- data/assets/stylesheets/luda/core/behaviours/_toggle.sass +4 -0
- data/assets/stylesheets/luda/core/collections/_alert.sass +24 -0
- data/assets/stylesheets/luda/core/collections/_avatar.sass +117 -0
- data/assets/stylesheets/luda/core/collections/_breadcrumb.sass +21 -0
- data/assets/stylesheets/luda/core/collections/_button-group.sass +67 -0
- data/assets/stylesheets/luda/core/collections/_button-icon.sass +46 -0
- data/assets/stylesheets/luda/core/collections/_carousel.sass +132 -0
- data/assets/stylesheets/luda/core/collections/_dropdown.sass +60 -0
- data/assets/stylesheets/luda/core/collections/_form-button.sass +23 -0
- data/assets/stylesheets/luda/core/collections/_form-dropdown.sass +21 -0
- data/assets/stylesheets/luda/core/collections/_form-group.sass +48 -0
- data/assets/stylesheets/luda/core/collections/_form-icon.sass +71 -0
- data/assets/stylesheets/luda/core/collections/_media.sass +55 -0
- data/assets/stylesheets/luda/core/collections/_modal.sass +12 -0
- data/assets/stylesheets/luda/core/collections/_nav.sass +162 -0
- data/assets/stylesheets/luda/core/collections/_tab.sass +18 -0
- data/assets/stylesheets/luda/core/elements/_badge.sass +19 -0
- data/assets/stylesheets/luda/core/elements/_baseline.sass +22 -0
- data/assets/stylesheets/luda/core/elements/_button.sass +136 -0
- data/assets/stylesheets/luda/core/elements/_container.sass +8 -0
- data/assets/stylesheets/luda/core/elements/_grid.sass +55 -0
- data/assets/stylesheets/luda/core/elements/_icon.sass +110 -0
- data/assets/stylesheets/luda/core/elements/_overlay.sass +11 -0
- data/assets/stylesheets/luda/core/elements/_progress.sass +31 -0
- data/assets/stylesheets/luda/core/elements/_scrollbar.sass +21 -0
- data/assets/stylesheets/luda/core/elements/_table.sass +102 -0
- data/assets/stylesheets/luda/core/elements/_turbolinks-progress-bar.sass +5 -0
- data/assets/stylesheets/luda/core/elements/form/_form-check-radio.sass +105 -0
- data/assets/stylesheets/luda/core/elements/form/_form-element.sass +83 -0
- data/assets/stylesheets/luda/core/elements/form/_form-helper.sass +66 -0
- data/assets/stylesheets/luda/core/elements/form/_form-label.sass +20 -0
- data/assets/stylesheets/luda/core/elements/form/_form-range.sass +92 -0
- data/assets/stylesheets/luda/core/elements/form/_form-row.sass +214 -0
- data/assets/stylesheets/luda/core/elements/typography/_code.sass +27 -0
- data/assets/stylesheets/luda/core/elements/typography/_link.sass +15 -0
- data/assets/stylesheets/luda/core/elements/typography/_list.sass +14 -0
- data/assets/stylesheets/luda/core/elements/typography/_mark.sass +7 -0
- data/assets/stylesheets/luda/core/elements/typography/_quote.sass +68 -0
- data/assets/stylesheets/luda/core/elements/typography/_sub-sup.sass +16 -0
- data/assets/stylesheets/luda/core/elements/typography/_typography.sass +52 -0
- data/assets/stylesheets/luda/core/mixins/_browser.sass +15 -0
- data/assets/stylesheets/luda/core/mixins/_button.sass +90 -0
- data/assets/stylesheets/luda/core/mixins/_dropdown.sass +40 -0
- data/assets/stylesheets/luda/core/mixins/_focus.sass +3 -0
- data/assets/stylesheets/luda/core/mixins/_form.sass +27 -0
- data/assets/stylesheets/luda/core/mixins/_install.sass +7 -0
- data/assets/stylesheets/luda/core/mixins/_media-query.sass +66 -0
- data/assets/stylesheets/luda/core/mixins/_overlay.sass +14 -0
- data/assets/stylesheets/luda/core/mixins/_sass-lint-fix.sass +3 -0
- data/assets/stylesheets/luda/core/mixins/_typography.sass +40 -0
- data/assets/stylesheets/luda/core/utilities/_align.sass +19 -0
- data/assets/stylesheets/luda/core/utilities/_background.sass +88 -0
- data/assets/stylesheets/luda/core/utilities/_color.sass +36 -0
- data/assets/stylesheets/luda/core/utilities/_display.sass +40 -0
- data/assets/stylesheets/luda/core/utilities/_flex.sass +114 -0
- data/assets/stylesheets/luda/core/utilities/_float.sass +21 -0
- data/assets/stylesheets/luda/core/utilities/_opacity.sass +19 -0
- data/assets/stylesheets/luda/core/utilities/_overflow.sass +18 -0
- data/assets/stylesheets/luda/core/utilities/_position.sass +48 -0
- data/assets/stylesheets/luda/core/utilities/_shape.sass +62 -0
- data/assets/stylesheets/luda/core/utilities/_size.sass +67 -0
- data/assets/stylesheets/luda/core/utilities/_space.sass +227 -0
- data/assets/stylesheets/luda/core/utilities/_text.sass +85 -0
- data/assets/stylesheets/luda/core/utilities/_visibility.sass +11 -0
- data/assets/stylesheets/luda/core/utilities/_z-index.sass +19 -0
- data/assets/stylesheets/luda/default/_banner.sass +7 -0
- data/assets/stylesheets/luda/default/_base.sass +6 -0
- data/assets/stylesheets/luda/default/_functions.sass +1 -0
- data/assets/stylesheets/luda/default/_mixins.sass +10 -0
- data/assets/stylesheets/luda/default/_variables.sass +1 -0
- data/assets/stylesheets/luda/default/behaviours/_disabled.sass +5 -0
- data/assets/stylesheets/luda/default/behaviours/_focus.sass +5 -0
- data/assets/stylesheets/luda/default/behaviours/_readonly.sass +5 -0
- data/assets/stylesheets/luda/default/behaviours/_toggle.sass +5 -0
- data/assets/stylesheets/luda/default/collections/_alert.sass +6 -0
- data/assets/stylesheets/luda/default/collections/_avatar.sass +7 -0
- data/assets/stylesheets/luda/default/collections/_breadcrumb.sass +6 -0
- data/assets/stylesheets/luda/default/collections/_button-group.sass +7 -0
- data/assets/stylesheets/luda/default/collections/_button-icon.sass +8 -0
- data/assets/stylesheets/luda/default/collections/_carousel.sass +7 -0
- data/assets/stylesheets/luda/default/collections/_dropdown.sass +8 -0
- data/assets/stylesheets/luda/default/collections/_form-button.sass +9 -0
- data/assets/stylesheets/luda/default/collections/_form-dropdown.sass +8 -0
- data/assets/stylesheets/luda/default/collections/_form-group.sass +11 -0
- data/assets/stylesheets/luda/default/collections/_form-icon.sass +8 -0
- data/assets/stylesheets/luda/default/collections/_media.sass +7 -0
- data/assets/stylesheets/luda/default/collections/_modal.sass +7 -0
- data/assets/stylesheets/luda/default/collections/_nav.sass +10 -0
- data/assets/stylesheets/luda/default/collections/_tab.sass +9 -0
- data/assets/stylesheets/luda/default/elements/_badge.sass +6 -0
- data/assets/stylesheets/luda/default/elements/_baseline.sass +6 -0
- data/assets/stylesheets/luda/default/elements/_button.sass +7 -0
- data/assets/stylesheets/luda/default/elements/_container.sass +6 -0
- data/assets/stylesheets/luda/default/elements/_form.sass +13 -0
- data/assets/stylesheets/luda/default/elements/_grid.sass +6 -0
- data/assets/stylesheets/luda/default/elements/_icon.sass +6 -0
- data/assets/stylesheets/luda/default/elements/_overlay.sass +6 -0
- data/assets/stylesheets/luda/default/elements/_progress.sass +6 -0
- data/assets/stylesheets/luda/default/elements/_scrollbar.sass +6 -0
- data/assets/stylesheets/luda/default/elements/_table.sass +6 -0
- data/assets/stylesheets/luda/default/elements/_turbolinks-progress-bar.sass +6 -0
- data/assets/stylesheets/luda/default/elements/_typography.sass +12 -0
- data/assets/stylesheets/luda/default/elements/form/_form-check-radio.sass +5 -0
- data/assets/stylesheets/luda/default/elements/form/_form-element.sass +5 -0
- data/assets/stylesheets/luda/default/elements/form/_form-helper.sass +5 -0
- data/assets/stylesheets/luda/default/elements/form/_form-label.sass +5 -0
- data/assets/stylesheets/luda/default/elements/form/_form-range.sass +5 -0
- data/assets/stylesheets/luda/default/elements/form/_form-row.sass +5 -0
- data/assets/stylesheets/luda/default/elements/typography/_code.sass +5 -0
- data/assets/stylesheets/luda/default/elements/typography/_link.sass +5 -0
- data/assets/stylesheets/luda/default/elements/typography/_list.sass +4 -0
- data/assets/stylesheets/luda/default/elements/typography/_mark.sass +5 -0
- data/assets/stylesheets/luda/default/elements/typography/_quote.sass +5 -0
- data/assets/stylesheets/luda/default/elements/typography/_sub-sup.sass +5 -0
- data/assets/stylesheets/luda/default/elements/typography/_typography.sass +5 -0
- data/assets/stylesheets/luda/default/index.sass +56 -0
- data/assets/stylesheets/luda/default/utilities/_align.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_background.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_color.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_display.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_flex.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_float.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_opacity.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_overflow.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_position.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_shape.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_size.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_space.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_text.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_visibility.sass +5 -0
- data/assets/stylesheets/luda/default/utilities/_z-index.sass +5 -0
- data/lib/luda.rb +72 -0
- data/lib/luda/config.rb +3 -0
- data/lib/luda/engine.rb +11 -0
- data/lib/luda/version.rb +3 -0
- metadata +302 -0
@@ -0,0 +1,20 @@
|
|
1
|
+
//= require ./behaviours/enter-click
|
2
|
+
//= require ./behaviours/focus
|
3
|
+
//= require ./behaviours/radio-tab
|
4
|
+
//= require ./behaviours/readonly
|
5
|
+
//= require ./behaviours/toggle
|
6
|
+
//= require ./elements/form-file
|
7
|
+
//= require ./elements/form-select
|
8
|
+
//= require ./collections/carousel
|
9
|
+
//= require ./collections/dropdown
|
10
|
+
//= require ./collections/form-dropdown
|
11
|
+
//= require ./collections/tab
|
12
|
+
(function (global, factory) {
|
13
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('./behaviours/enter-click.js'), require('./behaviours/focus.js'), require('./behaviours/radio-tab.js'), require('./behaviours/readonly.js'), require('./behaviours/toggle.js'), require('./elements/form-file.js'), require('./elements/form-select.js'), require('./collections/carousel.js'), require('./collections/dropdown.js'), require('./collections/form-dropdown.js'), require('./collections/tab.js')) :
|
14
|
+
typeof define === 'function' && define.amd ? define(['./behaviours/enter-click.js', './behaviours/focus.js', './behaviours/radio-tab.js', './behaviours/readonly.js', './behaviours/toggle.js', './elements/form-file.js', './elements/form-select.js', './collections/carousel.js', './collections/dropdown.js', './collections/form-dropdown.js', './collections/tab.js'], factory) :
|
15
|
+
(factory());
|
16
|
+
}(this, (function () { 'use strict';
|
17
|
+
|
18
|
+
|
19
|
+
|
20
|
+
})));
|
@@ -0,0 +1,75 @@
|
|
1
|
+
/*!
|
2
|
+
* Luda 0.1.5 | https://luda.dev
|
3
|
+
* Copyright 2018 oatw | https://oatw.blog
|
4
|
+
* MIT license | http://opensource.org/licenses/MIT
|
5
|
+
*/
|
6
|
+
(function (global, factory) {
|
7
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory() :
|
8
|
+
typeof define === 'function' && define.amd ? define(factory) :
|
9
|
+
(factory());
|
10
|
+
}(this, (function () { 'use strict';
|
11
|
+
|
12
|
+
var ENV;
|
13
|
+
|
14
|
+
ENV = (function() {
|
15
|
+
if (typeof document !== 'undefined') {
|
16
|
+
if (typeof window !== 'undefined') {
|
17
|
+
return window;
|
18
|
+
}
|
19
|
+
if (typeof global !== 'undefined') {
|
20
|
+
return global;
|
21
|
+
}
|
22
|
+
}
|
23
|
+
throw new Error('Unsupported runtime environment.');
|
24
|
+
})();
|
25
|
+
|
26
|
+
if (typeof ENV.luda !== 'function') {
|
27
|
+
ENV.luda = function(installer) {
|
28
|
+
var installed, name, property;
|
29
|
+
if (!installer) {
|
30
|
+
throw new Error('Installer cannot be detected.');
|
31
|
+
}
|
32
|
+
if (!['object', 'function'].includes(typeof installer)) {
|
33
|
+
throw new Error('Installer must be object, array or function.');
|
34
|
+
}
|
35
|
+
if (installer.hasOwnProperty('_SCOPE')) {
|
36
|
+
if (typeof installer._SCOPE !== 'string') {
|
37
|
+
throw new Error('_SCOPE must be string');
|
38
|
+
}
|
39
|
+
return ENV.luda._install(installer._SCOPE, installer);
|
40
|
+
}
|
41
|
+
if (installer instanceof Array || typeof installer === 'function') {
|
42
|
+
throw new Error('Unscoped installer must be object.');
|
43
|
+
}
|
44
|
+
installed = {};
|
45
|
+
for (name in installer) {
|
46
|
+
property = installer[name];
|
47
|
+
installed[name] = ENV.luda._install(name, property);
|
48
|
+
}
|
49
|
+
return installed;
|
50
|
+
};
|
51
|
+
ENV.luda._install = function(namespace, installer) {
|
52
|
+
var installedInstaller, installedName, ref;
|
53
|
+
if (ENV.luda[namespace]) {
|
54
|
+
console.warn(`Namespace ${namespace} is ocupied, sikp installation.`);
|
55
|
+
return ENV.luda[namespace];
|
56
|
+
}
|
57
|
+
ref = ENV.luda;
|
58
|
+
for (installedName in ref) {
|
59
|
+
installedInstaller = ref[installedName];
|
60
|
+
if (installer === installedInstaller) {
|
61
|
+
console.warn(`Installer is installed with name ${installedName}, skip installation.`);
|
62
|
+
return ENV.luda[installedName];
|
63
|
+
}
|
64
|
+
}
|
65
|
+
if (installer._install) {
|
66
|
+
if (typeof installer._install === 'function') {
|
67
|
+
return ENV.luda[namespace] = installer._install();
|
68
|
+
}
|
69
|
+
return ENV.luda[namespace] = installer._install;
|
70
|
+
}
|
71
|
+
return ENV.luda[namespace] = installer;
|
72
|
+
};
|
73
|
+
}
|
74
|
+
|
75
|
+
})));
|
@@ -0,0 +1,77 @@
|
|
1
|
+
//= require ./install
|
2
|
+
//= require ./utilities
|
3
|
+
(function (global, factory) {
|
4
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('./install.js'), require('./utilities.js')) :
|
5
|
+
typeof define === 'function' && define.amd ? define(['./install.js', './utilities.js'], factory) :
|
6
|
+
(factory());
|
7
|
+
}(this, (function () { 'use strict';
|
8
|
+
|
9
|
+
var Singleton;
|
10
|
+
|
11
|
+
luda(Singleton = (function() {
|
12
|
+
class Singleton {
|
13
|
+
static active() {
|
14
|
+
return this._actived = true;
|
15
|
+
}
|
16
|
+
|
17
|
+
static deactive() {
|
18
|
+
return this._actived = false;
|
19
|
+
}
|
20
|
+
|
21
|
+
static _add(selector) {
|
22
|
+
if (typeof selector !== 'string') {
|
23
|
+
throw new Error(this._SELECTOR_INVALID_ERROR);
|
24
|
+
}
|
25
|
+
if (!this._SELECTORS.includes(selector)) {
|
26
|
+
this._SELECTORS.push(selector);
|
27
|
+
}
|
28
|
+
return this._mergeSelectors();
|
29
|
+
}
|
30
|
+
|
31
|
+
static _remove(selector) {
|
32
|
+
if (typeof selector !== 'string') {
|
33
|
+
throw new Error(this._SELECTOR_INVALID_ERROR);
|
34
|
+
}
|
35
|
+
luda.except(selector, this._SELECTORS);
|
36
|
+
return this._mergeSelectors();
|
37
|
+
}
|
38
|
+
|
39
|
+
static _mergeSelectors() {
|
40
|
+
return this._selector = this._SELECTORS.join(',');
|
41
|
+
}
|
42
|
+
|
43
|
+
static _install() {
|
44
|
+
var exposed;
|
45
|
+
if (this === Singleton) {
|
46
|
+
return this;
|
47
|
+
}
|
48
|
+
if (!this.hasOwnProperty('_SELECTORS')) {
|
49
|
+
this._SELECTORS = [];
|
50
|
+
}
|
51
|
+
this._mergeSelectors();
|
52
|
+
if (typeof this._init === 'function') {
|
53
|
+
exposed = this._init();
|
54
|
+
}
|
55
|
+
if (exposed) {
|
56
|
+
return exposed;
|
57
|
+
} else {
|
58
|
+
return this;
|
59
|
+
}
|
60
|
+
}
|
61
|
+
|
62
|
+
}
|
63
|
+
Singleton._SCOPE = 'Singleton';
|
64
|
+
|
65
|
+
Singleton._SELECTOR_INVALID_ERROR = '@param selector must be a css selector string';
|
66
|
+
|
67
|
+
Singleton._SELECTORS = [];
|
68
|
+
|
69
|
+
Singleton._selector = '';
|
70
|
+
|
71
|
+
Singleton._actived = true;
|
72
|
+
|
73
|
+
return Singleton;
|
74
|
+
|
75
|
+
}).call(this));
|
76
|
+
|
77
|
+
})));
|
@@ -0,0 +1,16 @@
|
|
1
|
+
//= require ./install
|
2
|
+
(function (global, factory) {
|
3
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('./install.js')) :
|
4
|
+
typeof define === 'function' && define.amd ? define(['./install.js'], factory) :
|
5
|
+
(factory());
|
6
|
+
}(this, (function () { 'use strict';
|
7
|
+
|
8
|
+
luda({
|
9
|
+
except: function(element, arr) {
|
10
|
+
if (arr.includes(element)) {
|
11
|
+
return arr.splice(arr.indexOf(element), 1);
|
12
|
+
}
|
13
|
+
}
|
14
|
+
});
|
15
|
+
|
16
|
+
})));
|
@@ -0,0 +1,430 @@
|
|
1
|
+
+install(shared-base)
|
2
|
+
// sass-lint:disable max-file-line-count
|
3
|
+
|
4
|
+
// Based on sanitize.css v6.0.0 CC0 License
|
5
|
+
// github.com/csstools/sanitize.css
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
// Document
|
10
|
+
// ==========================================================================
|
11
|
+
|
12
|
+
// 1. Remove repeating backgrounds in all browsers (opinionated).
|
13
|
+
// 2. Add border box sizing in all browsers (opinionated).
|
14
|
+
*,
|
15
|
+
::before,
|
16
|
+
::after
|
17
|
+
box-sizing: border-box // 2
|
18
|
+
background-repeat: no-repeat // 1
|
19
|
+
|
20
|
+
// 1. Add text decoration inheritance in all browsers (opinionated).
|
21
|
+
// 2. Add vertical alignment inheritance in all browsers (opinionated).
|
22
|
+
::before,
|
23
|
+
::after
|
24
|
+
vertical-align: inherit // 2
|
25
|
+
text-decoration: inherit // 1
|
26
|
+
|
27
|
+
// change firefox tap highlight default gray background color
|
28
|
+
a:active,
|
29
|
+
label:active
|
30
|
+
background-color: $base-tap-highlight-color
|
31
|
+
|
32
|
+
// 1. Add the default cursor in all browsers (opinionated).
|
33
|
+
// 2. Breaks words to prevent prevent overflow in all browsers (opinionated).
|
34
|
+
// 3. Prevent adjustments of font size after orientation changes
|
35
|
+
// in IE on Windows Phone and in iOS.
|
36
|
+
html
|
37
|
+
font-size: _baseline-height-px(1)
|
38
|
+
word-break: $base-word-break // 2
|
39
|
+
cursor: $base-cursor // 1
|
40
|
+
font-family: $typography-main
|
41
|
+
text-rendering: $base-text-rendering
|
42
|
+
text-underline-position: $base-text-underline-position
|
43
|
+
background: $base-html-background
|
44
|
+
-ms-text-size-adjust: 100% // 3
|
45
|
+
-webkit-text-size-adjust: 100% // 3
|
46
|
+
-webkit-font-smoothing: $base-webkit-font-smoothing
|
47
|
+
-moz-osx-font-smoothing: $base-moz-font-smoothing
|
48
|
+
-webkit-tap-highlight-color: $base-tap-highlight-color
|
49
|
+
-webkit-touch-callout: $base-webkit-touch-callout
|
50
|
+
|
51
|
+
// fix ios safari not fire mouse event on some elements
|
52
|
+
+browser-ios-safari
|
53
|
+
html
|
54
|
+
cursor: pointer
|
55
|
+
|
56
|
+
+browser-firefox
|
57
|
+
html
|
58
|
+
color: transparent
|
59
|
+
|
60
|
+
body
|
61
|
+
color: if($typography-main-color, null, initial)
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
body
|
66
|
+
min-height: $base-body-min-height
|
67
|
+
margin: 0 // 1
|
68
|
+
font-size: px-to-rem($typography-main-size-px)
|
69
|
+
line-height: $typography-main-line-height-ratio // 2
|
70
|
+
color: $typography-main-color
|
71
|
+
background: $base-body-background
|
72
|
+
|
73
|
+
// Correct the font size and margin on `h1` elements
|
74
|
+
// within `section` and `article` contexts in Chrome, Firefox, and Safari.
|
75
|
+
h1
|
76
|
+
margin: 0
|
77
|
+
font-size: typo-size(1)
|
78
|
+
|
79
|
+
h2,
|
80
|
+
h3,
|
81
|
+
h4,
|
82
|
+
h5,
|
83
|
+
h6,
|
84
|
+
p,
|
85
|
+
blockquote,
|
86
|
+
figure
|
87
|
+
margin: 0
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
// Grouping content
|
92
|
+
// ==========================================================================
|
93
|
+
|
94
|
+
// 1. Add the correct box sizing in Firefox.
|
95
|
+
// 2. Show the overflow in Edge and IE.
|
96
|
+
hr
|
97
|
+
box-sizing: content-box // 1
|
98
|
+
flex-shrink: 0
|
99
|
+
width: 100%
|
100
|
+
height: 0 // 1
|
101
|
+
margin: 0
|
102
|
+
border: none
|
103
|
+
overflow: visible // 2
|
104
|
+
|
105
|
+
// Add the correct display in IE.
|
106
|
+
main
|
107
|
+
display: block
|
108
|
+
|
109
|
+
ul,
|
110
|
+
ol,
|
111
|
+
dl,
|
112
|
+
dd
|
113
|
+
margin: 0
|
114
|
+
|
115
|
+
ul,
|
116
|
+
ol
|
117
|
+
padding: 0
|
118
|
+
|
119
|
+
// Remove the list style on navigation lists in all browsers (opinionated).
|
120
|
+
nav ol,
|
121
|
+
nav ul
|
122
|
+
list-style: none
|
123
|
+
|
124
|
+
// 1. Correct the inheritance and scaling of font size in all browsers.
|
125
|
+
// 2. Correct the odd `em` font sizing in all browsers.
|
126
|
+
pre
|
127
|
+
margin: 0
|
128
|
+
font-size: 1em // 2
|
129
|
+
word-break: if($base-word-break, normal, null)
|
130
|
+
overflow: auto
|
131
|
+
-webkit-overflow-scrolling: touch
|
132
|
+
font-family: monospace, monospace // 1
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
// Text-level semantics
|
137
|
+
// ==========================================================================
|
138
|
+
|
139
|
+
// 1. Remove the gray background on active links in IE 10.
|
140
|
+
a
|
141
|
+
cursor: pointer
|
142
|
+
background-color: transparent // 1
|
143
|
+
|
144
|
+
// 1. Add the correct text decoration in Edge, IE, Opera, and Safari.
|
145
|
+
abbr[title]
|
146
|
+
cursor: help
|
147
|
+
text-decoration: underline dotted // 1
|
148
|
+
|
149
|
+
// Add the correct font weight in Chrome, Edge, and Safari.
|
150
|
+
b,
|
151
|
+
strong
|
152
|
+
font-weight: 700
|
153
|
+
|
154
|
+
// 1. Correct the inheritance and scaling of font size in all browsers.
|
155
|
+
// 2. Correct the odd `em` font sizing in all browsers.
|
156
|
+
code,
|
157
|
+
kbd,
|
158
|
+
samp
|
159
|
+
font-size: 1em // 2
|
160
|
+
font-family: monospace, monospace // 1
|
161
|
+
|
162
|
+
// Add the correct font size in all browsers.
|
163
|
+
small
|
164
|
+
font-size: 100% / $typography-size-scale-ratio
|
165
|
+
|
166
|
+
// Remove the text shadow on text selections in Firefox 61- (opinionated).
|
167
|
+
// 1. Restore the coloring undone by defining the text shadow
|
168
|
+
// in all browsers (opinionated).
|
169
|
+
::-moz-selection
|
170
|
+
color: $base-selection-color // 1
|
171
|
+
text-shadow: none
|
172
|
+
background-color: $base-selection-background-color // 1
|
173
|
+
|
174
|
+
::selection
|
175
|
+
color: $base-selection-color // 1
|
176
|
+
text-shadow: none
|
177
|
+
background-color: $base-selection-background-color // 1
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
// Embedded content
|
182
|
+
// ==========================================================================
|
183
|
+
|
184
|
+
// Change the alignment on media elements in all browers (opinionated).
|
185
|
+
audio,
|
186
|
+
canvas,
|
187
|
+
iframe,
|
188
|
+
img,
|
189
|
+
svg,
|
190
|
+
video
|
191
|
+
vertical-align: top
|
192
|
+
|
193
|
+
// Add the correct display in IE 9-.
|
194
|
+
audio,
|
195
|
+
video
|
196
|
+
display: inline-block
|
197
|
+
|
198
|
+
// Add the correct display in iOS 4-7.
|
199
|
+
audio:not([controls])
|
200
|
+
display: none
|
201
|
+
height: 0
|
202
|
+
|
203
|
+
// Remove the border on images inside links in IE 10-.
|
204
|
+
img
|
205
|
+
border-style: none
|
206
|
+
|
207
|
+
iframe
|
208
|
+
border: none
|
209
|
+
|
210
|
+
// Change the fill color to match the text color in all browsers (opinionated).
|
211
|
+
svg
|
212
|
+
fill: currentColor
|
213
|
+
|
214
|
+
// Hide the overflow in IE.
|
215
|
+
svg:not(:root)
|
216
|
+
overflow: hidden
|
217
|
+
|
218
|
+
|
219
|
+
|
220
|
+
// Tabular data
|
221
|
+
// ==========================================================================
|
222
|
+
|
223
|
+
// Collapse border spacing in all browsers (opinionated).
|
224
|
+
table
|
225
|
+
border-collapse: collapse
|
226
|
+
|
227
|
+
th,
|
228
|
+
td
|
229
|
+
padding: 0
|
230
|
+
|
231
|
+
|
232
|
+
|
233
|
+
// Forms
|
234
|
+
// ==========================================================================
|
235
|
+
|
236
|
+
// Remove the margin in Firefox and Safari.
|
237
|
+
button,
|
238
|
+
input,
|
239
|
+
optgroup,
|
240
|
+
select,
|
241
|
+
textarea
|
242
|
+
margin: 0
|
243
|
+
|
244
|
+
// Inherit styling in all browsers (opinionated).
|
245
|
+
button,
|
246
|
+
input,
|
247
|
+
select,
|
248
|
+
textarea
|
249
|
+
font-size: inherit
|
250
|
+
line-height: inherit
|
251
|
+
color: inherit
|
252
|
+
font-family: inherit
|
253
|
+
border-radius: 0
|
254
|
+
|
255
|
+
// prevent word break in safari
|
256
|
+
button,
|
257
|
+
input,
|
258
|
+
select,
|
259
|
+
textarea,
|
260
|
+
optgroup,
|
261
|
+
option
|
262
|
+
word-break: if($base-word-break, normal, null)
|
263
|
+
|
264
|
+
// 1. Show the overflow in IE.
|
265
|
+
// 2. Remove the inheritance of text transform in Edge, Firefox, and IE.
|
266
|
+
button
|
267
|
+
overflow: visible // 1
|
268
|
+
text-transform: none // 2
|
269
|
+
|
270
|
+
// Correct the inability to style clickable types in iOS and Safari.
|
271
|
+
button,
|
272
|
+
[type=button],
|
273
|
+
[type=reset],
|
274
|
+
[type=submit]
|
275
|
+
-webkit-appearance: button
|
276
|
+
|
277
|
+
// Restore the focus styles unset by the previous rule in Firefox.
|
278
|
+
button:-moz-focusring,
|
279
|
+
[type=button]:-moz-focusring,
|
280
|
+
[type=reset]:-moz-focusring,
|
281
|
+
[type=submit]:-moz-focusring
|
282
|
+
outline: 1px dotted ButtonText
|
283
|
+
|
284
|
+
// Remove the inner border and padding in Firefox.
|
285
|
+
::-moz-focus-inner
|
286
|
+
padding: 0
|
287
|
+
border-style: none
|
288
|
+
|
289
|
+
// 1. Correct the padding in Firefox.
|
290
|
+
fieldset
|
291
|
+
padding: 0 // 1
|
292
|
+
margin: 0
|
293
|
+
border: none
|
294
|
+
|
295
|
+
// Show the overflow in Edge and IE.
|
296
|
+
input
|
297
|
+
overflow: visible
|
298
|
+
|
299
|
+
// 1. Correct the text wrapping in Edge and IE.
|
300
|
+
// 2. Correct the color inheritance from `fieldset` elements in IE.
|
301
|
+
// 3. Remove the padding so developers are not caught out
|
302
|
+
// when they zero out `fieldset` elements in all browsers.
|
303
|
+
legend
|
304
|
+
box-sizing: border-box // 1
|
305
|
+
display: table // 1
|
306
|
+
max-width: 100% // 1
|
307
|
+
padding: 0 // 3
|
308
|
+
white-space: normal // 1
|
309
|
+
color: inherit // 2
|
310
|
+
|
311
|
+
// 1. Add the correct display in Edge and IE.
|
312
|
+
// 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
313
|
+
progress
|
314
|
+
display: inline-block // 1
|
315
|
+
vertical-align: top // 2
|
316
|
+
|
317
|
+
// Remove the inheritance of text transform in Firefox.
|
318
|
+
select
|
319
|
+
text-transform: none
|
320
|
+
|
321
|
+
// 1. Remove the default vertical scrollbar in IE.
|
322
|
+
// 2. Change the resize direction on textareas in all browsers (opinionated).
|
323
|
+
textarea
|
324
|
+
overflow: auto // 1
|
325
|
+
-webkit-overflow-scrolling: touch
|
326
|
+
resize: vertical // 2
|
327
|
+
|
328
|
+
// 1. Add the correct box sizing in IE 10-.
|
329
|
+
// 2. Remove the padding in IE 10-.
|
330
|
+
[type=checkbox],
|
331
|
+
[type=radio]
|
332
|
+
box-sizing: border-box // 1
|
333
|
+
padding: 0 // 2
|
334
|
+
|
335
|
+
// Correct the cursor style of increment and decrement buttons in Chrome.
|
336
|
+
::-webkit-inner-spin-button,
|
337
|
+
::-webkit-outer-spin-button
|
338
|
+
height: auto
|
339
|
+
|
340
|
+
// 1. Correct the odd appearance in Chrome and Safari.
|
341
|
+
// 2. Correct the outline style in Safari.
|
342
|
+
[type=search]
|
343
|
+
-webkit-appearance: textfield // 1
|
344
|
+
outline-offset: -2px // 2
|
345
|
+
|
346
|
+
// Remove the inner padding in Chrome and Safari on macOS.
|
347
|
+
::-webkit-search-decoration
|
348
|
+
-webkit-appearance: none
|
349
|
+
|
350
|
+
// 1. Correct the inability to style clickable types in iOS and Safari.
|
351
|
+
// 2. Change font properties to `inherit` in Safari.
|
352
|
+
::-webkit-file-upload-button
|
353
|
+
-webkit-appearance: button // 1
|
354
|
+
font: inherit // 2
|
355
|
+
|
356
|
+
|
357
|
+
|
358
|
+
// Interactive
|
359
|
+
// ==========================================================================
|
360
|
+
|
361
|
+
// Add the correct display in Edge and IE.
|
362
|
+
details
|
363
|
+
display: block
|
364
|
+
|
365
|
+
// Add the correct display in all browsers.
|
366
|
+
summary
|
367
|
+
display: list-item
|
368
|
+
|
369
|
+
|
370
|
+
|
371
|
+
// Scripting
|
372
|
+
// ==========================================================================
|
373
|
+
|
374
|
+
// Add the correct display in IE 9-.
|
375
|
+
canvas
|
376
|
+
display: inline-block
|
377
|
+
|
378
|
+
// Add the correct display in IE.
|
379
|
+
template
|
380
|
+
display: none
|
381
|
+
|
382
|
+
|
383
|
+
|
384
|
+
// User interaction
|
385
|
+
// ==========================================================================
|
386
|
+
|
387
|
+
// 1. Remove the tapping delay on clickable elements
|
388
|
+
// in all browsers (opinionated).
|
389
|
+
// 2. Remove the tapping delay in IE 10.
|
390
|
+
a,
|
391
|
+
area,
|
392
|
+
button,
|
393
|
+
input,
|
394
|
+
label,
|
395
|
+
select,
|
396
|
+
summary,
|
397
|
+
textarea,
|
398
|
+
[tabindex]
|
399
|
+
-ms-touch-action: manipulation // 1
|
400
|
+
touch-action: manipulation // 2
|
401
|
+
|
402
|
+
// Add the correct display in IE 10-.
|
403
|
+
[hidden]
|
404
|
+
display: none
|
405
|
+
|
406
|
+
|
407
|
+
|
408
|
+
// Accessibility
|
409
|
+
// ==========================================================================
|
410
|
+
|
411
|
+
// Change the cursor on busy elements in all browsers (opinionated).
|
412
|
+
[aria-busy=true]
|
413
|
+
cursor: progress
|
414
|
+
|
415
|
+
// Change the cursor on control elements in all browsers (opinionated).
|
416
|
+
[aria-controls]
|
417
|
+
cursor: pointer
|
418
|
+
|
419
|
+
// Change the cursor on disabled, not-editable, or otherwise inoperable elements
|
420
|
+
// in all browsers (opinionated).
|
421
|
+
[aria-disabled],
|
422
|
+
[disabled]
|
423
|
+
cursor: not-allowed
|
424
|
+
|
425
|
+
// Change the display on visually hidden accessible elements
|
426
|
+
// in all browsers (opinionated).
|
427
|
+
[aria-hidden=false][hidden]:not(:focus)
|
428
|
+
display: inherit
|
429
|
+
position: absolute
|
430
|
+
clip: rect(0, 0, 0, 0)
|