bootstrap-bookingsync-sass 1.0.5 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +5 -5
  2. data/.editorconfig +0 -14
  3. data/.eslintignore +20 -0
  4. data/.eslintrc.js +105 -0
  5. data/.gitignore +15 -7
  6. data/.npmignore +30 -15
  7. data/.template-lintrc.js +5 -0
  8. data/.travis.yml +84 -0
  9. data/CHANGELOG.md +11 -0
  10. data/CONTRIBUTING.md +26 -0
  11. data/LICENSE.md +9 -0
  12. data/README.md +5 -6
  13. data/addon/components/bsy-alert.js +6 -8
  14. data/addon/components/bsy-annotated-section.js +4 -4
  15. data/addon/components/bsy-annotated-section/annotation.js +4 -4
  16. data/addon/components/bsy-annotated-section/content.js +4 -4
  17. data/addon/components/bsy-button.js +16 -21
  18. data/addon/components/bsy-button/close.js +7 -6
  19. data/addon/components/bsy-checkbox.js +12 -4
  20. data/addon/components/bsy-icon.js +33 -0
  21. data/addon/components/bsy-input-addon.js +10 -2
  22. data/addon/components/bsy-input-addon/addon.js +4 -4
  23. data/addon/components/bsy-input-addon/input.js +7 -4
  24. data/addon/components/bsy-input.js +25 -17
  25. data/addon/components/bsy-modal.js +5 -5
  26. data/addon/components/bsy-modal/body.js +4 -4
  27. data/addon/components/bsy-modal/close.js +3 -3
  28. data/addon/components/bsy-modal/footer.js +4 -4
  29. data/addon/components/bsy-modal/header.js +4 -4
  30. data/addon/components/bsy-nav.js +2 -2
  31. data/addon/components/bsy-nav/item.js +4 -13
  32. data/addon/components/bsy-nav/link.js +4 -13
  33. data/addon/components/bsy-popover.js +5 -0
  34. data/addon/components/bsy-radio-buttons.js +2 -2
  35. data/addon/components/bsy-radio-buttons/button.js +8 -10
  36. data/addon/components/bsy-radio.js +5 -5
  37. data/addon/components/bsy-select-multiple.js +4 -4
  38. data/addon/components/bsy-select.js +4 -4
  39. data/addon/components/bsy-sheet.js +2 -2
  40. data/addon/components/bsy-sheet/header.js +2 -2
  41. data/addon/components/bsy-switch.js +15 -0
  42. data/addon/components/bsy-textarea.js +7 -5
  43. data/addon/templates/components/bsy-alert.hbs +1 -1
  44. data/addon/templates/components/bsy-button.hbs +9 -1
  45. data/addon/templates/components/bsy-checkbox.hbs +4 -3
  46. data/addon/templates/components/bsy-input-addon/input.hbs +3 -3
  47. data/addon/templates/components/bsy-input.hbs +3 -3
  48. data/addon/templates/components/bsy-modal.hbs +2 -2
  49. data/addon/templates/components/bsy-modal/close.hbs +1 -1
  50. data/addon/templates/components/bsy-modal/header.hbs +1 -1
  51. data/addon/templates/components/bsy-nav/item.hbs +1 -1
  52. data/addon/templates/components/bsy-radio-buttons/button.hbs +5 -4
  53. data/addon/templates/components/bsy-radio.hbs +5 -4
  54. data/addon/templates/components/bsy-select-multiple.hbs +1 -1
  55. data/addon/templates/components/bsy-select.hbs +1 -1
  56. data/addon/templates/components/bsy-switch.hbs +9 -0
  57. data/addon/templates/components/bsy-textarea.hbs +2 -2
  58. data/app/components/bsy-alert.js +1 -1
  59. data/app/components/bsy-icon.js +1 -0
  60. data/app/components/bsy-popover.js +1 -0
  61. data/app/components/bsy-sheet.js +1 -1
  62. data/app/components/bsy-sheet/header.js +1 -1
  63. data/app/components/bsy-switch.js +1 -0
  64. data/assets/javascripts/bookingsync/form.js +15 -15
  65. data/assets/stylesheets/_bootstrap-bookingsync.scss +2 -0
  66. data/assets/stylesheets/bookingsync/_buttons.scss +6 -0
  67. data/assets/stylesheets/bookingsync/_ember-toggle.scss +13 -0
  68. data/assets/stylesheets/bookingsync/_ember-tooltips.scss +15 -0
  69. data/assets/stylesheets/bookingsync/_form.scss +20 -1
  70. data/assets/stylesheets/bookingsync/_icons.scss +521 -98
  71. data/assets/stylesheets/bookingsync/_menu.scss +25 -4
  72. data/assets/stylesheets/bookingsync/_variables.scss +100 -36
  73. data/blueprints/ember-cli-bootstrap-bookingsync-sass/index.js +5 -4
  74. data/config/ember-try.js +82 -35
  75. data/config/environment.js +13 -3
  76. data/docs/content/brand/iconography.md +30 -0
  77. data/docs/public/ember/fonts/bookingsync/bookingsync-icons.svg +24 -1
  78. data/docs/public/ember/fonts/bookingsync/bookingsync-icons.ttf +0 -0
  79. data/docs/public/ember/fonts/bookingsync/bookingsync-icons.woff +0 -0
  80. data/docs/public/ember/fonts/bookingsync/bookingsync-icons.woff2 +0 -0
  81. data/ember-cli-build.js +4 -5
  82. data/index.js +13 -39
  83. data/lib/bootstrap/bookingsync/engine.rb +4 -2
  84. data/lib/bootstrap/bookingsync/version.rb +1 -1
  85. data/package-lock.json +20985 -0
  86. data/package.json +64 -44
  87. data/testem.js +25 -0
  88. data/tests/dummy/app/app.js +2 -6
  89. data/tests/dummy/app/components/navbar/component.js +5 -0
  90. data/tests/dummy/app/{templates/navbar.hbs → components/navbar/template.hbs} +0 -0
  91. data/tests/dummy/app/components/sidebar/component.js +5 -0
  92. data/tests/dummy/app/{templates/sidebar.hbs → components/sidebar/template.hbs} +0 -0
  93. data/tests/dummy/app/controllers/index.js +24 -12
  94. data/tests/dummy/app/index.html +4 -4
  95. data/tests/dummy/app/router.js +4 -3
  96. data/tests/dummy/app/templates/application.hbs +3 -2
  97. data/tests/dummy/app/templates/index.hbs +106 -70
  98. data/tests/dummy/config/environment.js +12 -7
  99. data/tests/dummy/config/optional-features.json +3 -0
  100. data/tests/dummy/config/targets.js +18 -0
  101. data/tests/{unit → helpers}/.gitkeep +0 -0
  102. data/tests/index.html +8 -9
  103. data/tests/integration/components/bsy-alert-test.js +18 -16
  104. data/tests/integration/components/bsy-button-test.js +18 -16
  105. data/tests/integration/components/bsy-checkbox-test.js +77 -0
  106. data/tests/integration/components/bsy-input-test.js +120 -0
  107. data/tests/integration/components/bsy-nav-test.js +18 -16
  108. data/tests/integration/components/bsy-nav/item-test.js +18 -16
  109. data/tests/integration/components/bsy-nav/link-test.js +18 -16
  110. data/tests/integration/components/bsy-popover-test.js +28 -0
  111. data/tests/integration/components/bsy-sheet-test.js +18 -16
  112. data/tests/integration/components/bsy-sheet/header-test.js +18 -16
  113. data/tests/integration/components/bsy-switch-test.js +21 -0
  114. data/tests/integration/components/bsy-textarea-test.js +13 -0
  115. data/tests/test-helper.js +7 -5
  116. metadata +32 -19
  117. data/.bowerrc +0 -4
  118. data/.travis.yaml +0 -34
  119. data/bower.json +0 -14
  120. data/testem.json +0 -12
  121. data/tests/.jshintrc +0 -52
  122. data/tests/dummy/public/crossdomain.xml +0 -15
  123. data/tests/helpers/destroy-app.js +0 -5
  124. data/tests/helpers/module-for-acceptance.js +0 -23
  125. data/tests/helpers/start-app.js +0 -18
  126. data/tests/integration/components/bsy-sheet.header-test.js +0 -24
  127. data/yarn.lock +0 -5356
@@ -1,8 +1,8 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../templates/components/bsy-annotated-section';
3
3
 
4
- export default Ember.Component.extend({
4
+ export default Component.extend({
5
5
  layout,
6
- tagName: "section",
7
- classNames: "annotated-section"
6
+ tagName: 'section',
7
+ classNames: 'annotated-section'
8
8
  });
@@ -1,8 +1,8 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../../templates/components/bsy-annotated-section/annotation';
3
3
 
4
- export default Ember.Component.extend({
4
+ export default Component.extend({
5
5
  layout,
6
- tagName: "header",
7
- classNames: "annotated-section-annotation"
6
+ tagName: 'header',
7
+ classNames: 'annotated-section-annotation'
8
8
  });
@@ -1,8 +1,8 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../../templates/components/bsy-annotated-section/content';
3
3
 
4
- export default Ember.Component.extend({
4
+ export default Component.extend({
5
5
  layout,
6
- tagName: "div",
7
- classNames: "annotated-section-content"
6
+ tagName: 'div',
7
+ classNames: 'annotated-section-content'
8
8
  });
@@ -1,34 +1,29 @@
1
- import Ember from 'ember';
2
- const { computed } = Ember;
1
+ import Component from '@ember/component';
2
+ import { computed } from '@ember/object';
3
+ import { bool } from '@ember/object/computed';
3
4
  import layout from '../templates/components/bsy-button';
4
5
 
5
- export default Ember.Component.extend({
6
+ export default Component.extend({
6
7
  layout,
7
- tagName: "button",
8
- classNames: "btn",
9
- classNameBindings: ["typeClassName", "loadingClassName"],
8
+
9
+ tagName: 'button',
10
+ classNames: 'btn',
11
+ classNameBindings: ['typeClassName', 'loadingClassName'],
12
+ attributeBindings: ['disabled'],
10
13
  isLoading: false,
11
- loadingLabel: "Loading...",
14
+ loadingLabel: 'Loading...',
15
+
16
+ disabled: bool('isLoading'),
12
17
 
13
18
  typeClassName: computed('type', function() {
14
- if (this.get('type') === "submit") {
15
- return "btn-primary";
16
- } else {
17
- return "btn-" + this.get('type');
18
- }
19
+ return this.type === 'submit' ? 'btn-primary' : `btn-${this.type}`;
19
20
  }),
20
21
 
21
22
  loadingClassName: computed('isLoading', function() {
22
- if (this.get('isLoading') === true) {
23
- return "btn-loading";
24
- } else {
25
- return "";
26
- }
23
+ return this.isLoading ? 'btn-loading' : '';
27
24
  }),
28
25
 
29
- click: function() {
30
- this.set("isLoading", true);
31
- this.$().prop('disabled', 'disabled');
32
- this.$().text(this.get("loadingLabel"));
26
+ click() {
27
+ this.set('isLoading', true);
33
28
  }
34
29
  });
@@ -1,12 +1,13 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../../templates/components/bsy-button/close';
3
3
 
4
- export default Ember.Component.extend({
4
+ export default Component.extend({
5
5
  layout,
6
- tagName: "button",
7
- classNames: "btn btn-secondary-inverse btn-round",
8
6
 
9
- click: function() {
10
- this.$().prop('disabled', 'disabled');
7
+ tagName: 'button',
8
+ classNames: 'btn btn-secondary-inverse btn-round',
9
+
10
+ click() {
11
+ this.element.disabled = true;
11
12
  }
12
13
  });
@@ -1,8 +1,16 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../templates/components/bsy-checkbox';
3
3
 
4
- export default Ember.Component.extend({
4
+ const BsyCheckboxComponent = Component.extend({
5
5
  layout,
6
- tagName: "div",
7
- classNames: "checkbox"
6
+ tagName: 'div',
7
+ classNames: 'checkbox',
8
+
9
+ update() {}
10
+ });
11
+
12
+ BsyCheckboxComponent.reopenClass({
13
+ positionalParams: ['checked']
8
14
  });
15
+
16
+ export default BsyCheckboxComponent;
@@ -0,0 +1,33 @@
1
+ import Component from '@ember/component';
2
+ import { computed } from '@ember/object';
3
+
4
+ const BsyIconComponent = Component.extend({
5
+ tagName: 'i',
6
+ classNameBindings: ['iconClass', 'iconSize', 'iconType', 'fixedWidth:icon-fw'],
7
+
8
+ name: '',
9
+ size: '',
10
+ type: '',
11
+ fixedWidth: false,
12
+
13
+ iconClass: computed('name', function() {
14
+ let name = this.get('name');
15
+ return name ? `icon-${name}` : '';
16
+ }),
17
+
18
+ iconSize: computed('size', function() {
19
+ let size = this.get('size');
20
+ return size ? `icon-${size}` : '';
21
+ }),
22
+
23
+ iconType: computed('type', function() {
24
+ let type = this.get('type');
25
+ return type ? `icon-${type}` : '';
26
+ })
27
+ });
28
+
29
+ BsyIconComponent.reopenClass({
30
+ positionalParams: ['name']
31
+ });
32
+
33
+ export default BsyIconComponent;
@@ -1,8 +1,16 @@
1
1
  import Ember from 'ember';
2
+ import Component from '@ember/component';
3
+ import { computed } from '@ember/object';
2
4
  import layout from '../templates/components/bsy-input-addon';
3
5
 
4
- export default Ember.Component.extend({
6
+ const { generateGuid } = Ember;
7
+
8
+ export default Component.extend({
5
9
  layout,
6
10
  tagName: 'div',
7
- classNames: 'form-group'
11
+ classNames: 'form-group',
12
+
13
+ inputId: computed(function() {
14
+ return generateGuid();
15
+ })
8
16
  });
@@ -1,8 +1,8 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../../templates/components/bsy-input-addon/addon';
3
3
 
4
- export default Ember.Component.extend({
4
+ export default Component.extend({
5
5
  layout,
6
- tagName: "div",
7
- classNames: "input-group-addon"
6
+ tagName: 'div',
7
+ classNames: 'input-group-addon'
8
8
  });
@@ -1,10 +1,13 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../../templates/components/bsy-input-addon/input';
3
3
 
4
- const BsyInputAddonInputComponent = Ember.Component.extend({
4
+ const BsyInputAddonInputComponent = Component.extend({
5
5
  layout,
6
- tagName: "div",
7
- type: "text"
6
+ tagName: 'div',
7
+ classNameBindings: ['value:filled'],
8
+ type: 'text',
9
+
10
+ update() {}
8
11
  });
9
12
 
10
13
  BsyInputAddonInputComponent.reopenClass({
@@ -1,30 +1,38 @@
1
1
  import Ember from 'ember';
2
+ import Component from '@ember/component';
3
+ import { computed } from '@ember/object';
2
4
  import layout from '../templates/components/bsy-input';
3
5
 
4
- const { Component, computed } = Ember;
6
+ const { generateGuid } = Ember;
5
7
 
6
8
  const BsyInputComponent = Component.extend({
7
9
  layout,
8
- tagName: "div",
9
- classNames: "form-group",
10
- type: "text",
11
- classNameBindings: ["value:filled", "icon:has-icon"],
10
+ tagName: 'div',
11
+ classNames: 'form-group',
12
+ type: 'text',
13
+ readonly: false,
14
+ placeholder: '',
15
+ disabled: false,
16
+ classNameBindings: ['value:filled', 'icon:has-icon', 'formGroupSize'],
12
17
  size: null, // sm, lg
13
18
 
14
- inputClassNames: computed('size', function () {
15
- const size = this.get('size');
16
- if (size) {
17
- return `form-control input-${size}`;
18
- }
19
- return "form-control";
19
+ inputClassNames: computed('size', function() {
20
+ return this.size ? `form-control input-${this.size}` : 'form-control';
20
21
  }),
21
22
 
22
- iconSize: computed('size', function () {
23
- const size = this.get('size');
24
- if (size) {
25
- return `icon--${size}`;
26
- }
27
- })
23
+ iconSize: computed('size', function() {
24
+ return this.size ? `icon--${this.size}` : '';
25
+ }),
26
+
27
+ formGroupSize: computed('size', function() {
28
+ return this.size ? `form-group--${this.size}` : '';
29
+ }),
30
+
31
+ inputId: computed(function() {
32
+ return generateGuid();
33
+ }),
34
+
35
+ update() {}
28
36
  });
29
37
 
30
38
  BsyInputComponent.reopenClass({
@@ -1,17 +1,17 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../templates/components/bsy-modal';
3
3
 
4
- export default Ember.Component.extend({
4
+ export default Component.extend({
5
5
  layout,
6
- tagName: "div",
6
+ tagName: 'div',
7
7
 
8
8
  didRender() {
9
9
  this._super(...arguments);
10
- Ember.$('body').addClass('modal-open');
10
+ document.body.classList.add('modal-open');
11
11
  },
12
12
 
13
13
  willDestroyElement() {
14
14
  this._super(...arguments);
15
- Ember.$('body').removeClass('modal-open');
15
+ document.body.classList.remove('modal-open');
16
16
  }
17
17
  });
@@ -1,8 +1,8 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../../templates/components/bsy-modal/body';
3
3
 
4
- export default Ember.Component.extend({
4
+ export default Component.extend({
5
5
  layout,
6
- tagName: "div",
7
- classNames: "modal-body"
6
+ tagName: 'div',
7
+ classNames: 'modal-body'
8
8
  });
@@ -1,7 +1,7 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../../templates/components/bsy-modal/close';
3
3
 
4
- export default Ember.Component.extend({
4
+ export default Component.extend({
5
5
  layout,
6
- tagName: "div"
6
+ tagName: 'div'
7
7
  });
@@ -1,8 +1,8 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../../templates/components/bsy-modal/footer';
3
3
 
4
- export default Ember.Component.extend({
4
+ export default Component.extend({
5
5
  layout,
6
- tagName: "div",
7
- classNames: "modal-footer"
6
+ tagName: 'div',
7
+ classNames: 'modal-footer'
8
8
  });
@@ -1,8 +1,8 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../../templates/components/bsy-modal/header';
3
3
 
4
- export default Ember.Component.extend({
4
+ export default Component.extend({
5
5
  layout,
6
- tagName: "div",
7
- classNames: "modal-header"
6
+ tagName: 'div',
7
+ classNames: 'modal-header'
8
8
  });
@@ -1,7 +1,7 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../templates/components/bsy-nav';
3
3
 
4
- export default Ember.Component.extend({
4
+ export default Component.extend({
5
5
  layout,
6
6
  tagName: 'ul',
7
7
  classNames: 'nav'
@@ -1,19 +1,10 @@
1
- import Ember from 'ember';
2
- const { computed } = Ember;
1
+ import Component from '@ember/component';
3
2
  import layout from '../../templates/components/bsy-nav/item';
4
3
 
5
- export default Ember.Component.extend({
4
+ export default Component.extend({
6
5
  layout,
7
6
  tagName: 'li',
8
7
  classNames: 'nav-item',
9
- classNameBindings: ["activeClassName"],
10
- active: false,
11
-
12
- activeClassName: computed('active', function() {
13
- if (this.get('active') === true) {
14
- return "active";
15
- } else {
16
- return "";
17
- }
18
- })
8
+ classNameBindings: ['active'],
9
+ active: false
19
10
  });
@@ -1,19 +1,10 @@
1
- import Ember from 'ember';
2
- const { computed } = Ember;
1
+ import Component from '@ember/component';
3
2
  import layout from '../../templates/components/bsy-nav/link';
4
3
 
5
- export default Ember.Component.extend({
4
+ export default Component.extend({
6
5
  layout,
7
6
  tagName: 'a',
8
7
  classNames: 'nav-link',
9
- classNameBindings: ["activeClassName"],
10
- active: false,
11
-
12
- activeClassName: computed('active', function() {
13
- if (this.get('active') === true) {
14
- return "active";
15
- } else {
16
- return "";
17
- }
18
- })
8
+ classNameBindings: ['active'],
9
+ active: false
19
10
  });
@@ -0,0 +1,5 @@
1
+ import EmberPopover from 'ember-tooltips/components/ember-popover';
2
+
3
+ export default EmberPopover.extend({
4
+ side: 'bottom'
5
+ });
@@ -1,7 +1,7 @@
1
- import Ember from 'ember';
1
+ import Component from '@ember/component';
2
2
  import layout from '../templates/components/bsy-radio-buttons';
3
3
 
4
- export default Ember.Component.extend({
4
+ export default Component.extend({
5
5
  layout,
6
6
  tagName: 'div',
7
7
  classNames: 'btn-group',
@@ -1,22 +1,20 @@
1
- import Ember from 'ember';
2
- const { computed } = Ember;
1
+ import Component from '@ember/component';
2
+ import { computed } from '@ember/object';
3
3
  import layout from '../../templates/components/bsy-radio-buttons/button';
4
4
 
5
- const BsyRadioButtonsButtonComponent = Ember.Component.extend({
5
+ const BsyRadioButtonsButtonComponent = Component.extend({
6
6
  layout,
7
7
  tagName: 'label',
8
8
  classNames: 'btn btn-secondary',
9
- classNameBindings: ['activeClassName'],
9
+ classNameBindings: ['active'],
10
10
 
11
- activeClassName: computed('paramValue', function () {
12
- if (this.get('paramValue') === this.get('option')) {
13
- return 'active';
14
- }
15
- })
11
+ active: computed('value', 'option', function() {
12
+ return this.value === this.option;
13
+ }).readOnly()
16
14
  });
17
15
 
18
16
  BsyRadioButtonsButtonComponent.reopenClass({
19
- positionalParams: ['paramValue']
17
+ positionalParams: ['value']
20
18
  });
21
19
 
22
20
  export default BsyRadioButtonsButtonComponent;