bootstrap-bookingsync-sass 0.0.19 → 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. checksums.yaml +4 -4
  2. data/.bowerrc +4 -0
  3. data/.editorconfig +34 -0
  4. data/.ember-cli +9 -0
  5. data/.gitignore +18 -0
  6. data/.jshintrc +32 -0
  7. data/.npmignore +16 -0
  8. data/.travis.yaml +34 -0
  9. data/.watchmanconfig +3 -0
  10. data/CHANGELOG.md +34 -1
  11. data/README.md +110 -5
  12. data/addon/.gitkeep +0 -0
  13. data/addon/components/bsy-button.js +34 -0
  14. data/addon/templates/components/bsy-button.hbs +1 -0
  15. data/app/.gitkeep +0 -0
  16. data/app/components/bsy-button.js +1 -0
  17. data/assets/fonts/bookingsync/bookingsync-icons.eot +0 -0
  18. data/assets/fonts/bookingsync/bookingsync-icons.svg +37 -0
  19. data/assets/fonts/bookingsync/bookingsync-icons.ttf +0 -0
  20. data/assets/fonts/bookingsync/bookingsync-icons.woff +0 -0
  21. data/assets/fonts/bookingsync/bookingsync-icons.woff2 +0 -0
  22. data/assets/fonts/bookingsync/bookingsync-smiles.eot +0 -0
  23. data/assets/fonts/bookingsync/bookingsync-smiles.svg +1 -1
  24. data/assets/fonts/bookingsync/bookingsync-smiles.ttf +0 -0
  25. data/assets/fonts/bookingsync/bookingsync-smiles.woff +0 -0
  26. data/assets/fonts/bookingsync/bookingsync-smiles.woff2 +0 -0
  27. data/assets/javascripts/bookingsync/menu.js +29 -0
  28. data/assets/javascripts/bookingsync/toggle.js +15 -0
  29. data/assets/javascripts/bootstrap-bookingsync-sprockets.js +2 -0
  30. data/assets/stylesheets/_bootstrap-bookingsync.scss +9 -1
  31. data/assets/stylesheets/bookingsync/_annotated-sections.scss +28 -0
  32. data/assets/stylesheets/bookingsync/_buttons.scss +218 -0
  33. data/assets/stylesheets/bookingsync/_ember-power-select.scss +131 -0
  34. data/assets/stylesheets/bookingsync/_form.scss +22 -1
  35. data/assets/stylesheets/bookingsync/_icons.scss +119 -0
  36. data/assets/stylesheets/bookingsync/_layout.scss +18 -9
  37. data/assets/stylesheets/bookingsync/_list-group.scss +37 -0
  38. data/assets/stylesheets/bookingsync/_menu.scss +230 -210
  39. data/assets/stylesheets/bookingsync/_modals.scss +24 -0
  40. data/assets/stylesheets/bookingsync/_navbar.scss +53 -0
  41. data/assets/stylesheets/bookingsync/_sheet.scss +9 -0
  42. data/assets/stylesheets/bookingsync/_smiles.scss +25 -19
  43. data/assets/stylesheets/bookingsync/_theme.scss +0 -22
  44. data/assets/stylesheets/bookingsync/_variables.scss +191 -38
  45. data/blueprints/ember-cli-bootstrap-bookingsync-sass/files/app/styles/app.scss +3 -0
  46. data/blueprints/ember-cli-bootstrap-bookingsync-sass/files/app/templates/application.hbs +31 -0
  47. data/blueprints/ember-cli-bootstrap-bookingsync-sass/files/ember-cli-build.js +28 -0
  48. data/blueprints/ember-cli-bootstrap-bookingsync-sass/index.js +15 -0
  49. data/bower.json +14 -0
  50. data/config/deploy.js +30 -0
  51. data/config/ember-try.js +36 -0
  52. data/config/environment.js +6 -0
  53. data/docs/Gemfile +1 -1
  54. data/docs/Gemfile.lock +16 -13
  55. data/docs/Rakefile +1 -1
  56. data/docs/Rules +29 -11
  57. data/docs/content/assets/fonts/bookingsync/bookingsync-icons.eot +0 -0
  58. data/docs/content/assets/fonts/bookingsync/bookingsync-icons.svg +37 -0
  59. data/docs/content/assets/fonts/bookingsync/bookingsync-icons.ttf +0 -0
  60. data/docs/content/assets/fonts/bookingsync/bookingsync-icons.woff +0 -0
  61. data/docs/content/assets/fonts/bookingsync/bookingsync-icons.woff2 +0 -0
  62. data/docs/content/assets/fonts/bookingsync/bookingsync-smiles.eot +0 -0
  63. data/docs/content/assets/fonts/bookingsync/bookingsync-smiles.svg +19 -0
  64. data/docs/content/assets/fonts/bookingsync/bookingsync-smiles.ttf +0 -0
  65. data/docs/content/assets/fonts/bookingsync/bookingsync-smiles.woff +0 -0
  66. data/docs/content/assets/fonts/bookingsync/bookingsync-smiles.woff2 +0 -0
  67. data/docs/content/assets/images/bookingsync.png +0 -0
  68. data/docs/content/assets/javascripts/application.js.coffee +1 -0
  69. data/docs/content/assets/stylesheets/_base.scss +64 -25
  70. data/docs/content/assets/stylesheets/_code.scss +6 -0
  71. data/docs/content/assets/stylesheets/_icons.scss +54 -0
  72. data/docs/content/assets/stylesheets/_override.scss +67 -0
  73. data/docs/content/assets/stylesheets/_variables.scss +7 -0
  74. data/docs/content/assets/stylesheets/application.scss +2 -1
  75. data/docs/content/brand.html +9 -0
  76. data/docs/content/brand/_navbar.html +17 -0
  77. data/docs/content/brand/colors.md +101 -0
  78. data/docs/content/brand/iconography.md +87 -0
  79. data/docs/content/brand/smiles.md +51 -0
  80. data/docs/content/brand/typography.md +301 -0
  81. data/docs/content/buttons.html +6 -0
  82. data/docs/content/buttons/_navbar.html +13 -0
  83. data/docs/content/buttons/buttons.md +320 -0
  84. data/docs/content/components.html +11 -22
  85. data/docs/content/components/_navbar.html +22 -0
  86. data/docs/content/components/chosen.md +28 -17
  87. data/docs/content/components/dropdown.md +2 -4
  88. data/docs/content/components/list-group.md +239 -0
  89. data/docs/content/components/menu.md +134 -219
  90. data/docs/content/components/modal.html +108 -0
  91. data/docs/content/components/sheet.md +11 -60
  92. data/docs/content/components/switch.md +42 -25
  93. data/docs/content/compositions.html +6 -0
  94. data/docs/content/compositions/_navbar.html +12 -0
  95. data/docs/content/compositions/compositions.md +348 -0
  96. data/docs/content/embed/menu.html +160 -0
  97. data/docs/content/forms.html +6 -0
  98. data/docs/content/forms/_navbar.html +39 -0
  99. data/docs/content/{css → forms}/forms.md +98 -86
  100. data/docs/content/utilities.html +6 -0
  101. data/docs/content/utilities/_navbar.html +6 -0
  102. data/docs/content/{css → utilities}/helpers.md +4 -6
  103. data/docs/layouts/default.html +12 -7
  104. data/docs/layouts/embed.html +7 -0
  105. data/docs/layouts/head.html +1 -2
  106. data/docs/layouts/navbar.html +15 -23
  107. data/docs/layouts/sidebar.html +53 -0
  108. data/docs/nanoc.yaml +2 -0
  109. data/docs/public/ember/assets/dummy-605390683726afd79cffdf529eb4531a.css +28 -0
  110. data/docs/public/ember/assets/dummy-daae8f1136db419cd268e84ad4f5c989.js +2 -0
  111. data/docs/public/ember/assets/vendor-226e4280b8b1da91e2e598b6726ea1f4.js +28 -0
  112. data/docs/public/ember/assets/vendor-d41d8cd98f00b204e9800998ecf8427e.css +0 -0
  113. data/docs/public/ember/crossdomain.xml +15 -0
  114. data/docs/public/ember/fonts/bookingsync/bookingsync-icons.eot +0 -0
  115. data/docs/public/ember/fonts/bookingsync/bookingsync-icons.svg +37 -0
  116. data/docs/public/ember/fonts/bookingsync/bookingsync-icons.ttf +0 -0
  117. data/docs/public/ember/fonts/bookingsync/bookingsync-icons.woff +0 -0
  118. data/docs/public/ember/fonts/bookingsync/bookingsync-icons.woff2 +0 -0
  119. data/docs/public/ember/fonts/bookingsync/bookingsync-smiles.eot +0 -0
  120. data/docs/public/ember/fonts/bookingsync/bookingsync-smiles.svg +19 -0
  121. data/docs/public/ember/fonts/bookingsync/bookingsync-smiles.ttf +0 -0
  122. data/docs/public/ember/fonts/bookingsync/bookingsync-smiles.woff +0 -0
  123. data/docs/public/ember/fonts/bookingsync/bookingsync-smiles.woff2 +0 -0
  124. data/docs/public/ember/index.html +27 -0
  125. data/docs/public/ember/robots.txt +3 -0
  126. data/ember-cli-build.js +23 -0
  127. data/index.js +78 -0
  128. data/lib/bootstrap/bookingsync/version.rb +1 -1
  129. data/package.json +62 -0
  130. data/testem.json +12 -0
  131. data/tests/.jshintrc +52 -0
  132. data/tests/dummy/app/app.js +18 -0
  133. data/tests/dummy/app/components/.gitkeep +0 -0
  134. data/tests/dummy/app/controllers/.gitkeep +0 -0
  135. data/tests/dummy/app/controllers/index.js +31 -0
  136. data/tests/dummy/app/helpers/.gitkeep +0 -0
  137. data/tests/dummy/app/index.html +25 -0
  138. data/tests/dummy/app/models/.gitkeep +0 -0
  139. data/tests/dummy/app/resolver.js +3 -0
  140. data/tests/dummy/app/router.js +11 -0
  141. data/tests/dummy/app/routes/.gitkeep +0 -0
  142. data/tests/dummy/app/styles/app.scss +3 -0
  143. data/tests/dummy/app/templates/application.hbs +7 -0
  144. data/tests/dummy/app/templates/components/.gitkeep +0 -0
  145. data/tests/dummy/app/templates/index.hbs +275 -0
  146. data/tests/dummy/app/templates/navbar.hbs +24 -0
  147. data/tests/dummy/app/templates/sidebar.hbs +47 -0
  148. data/tests/dummy/config/environment.js +47 -0
  149. data/tests/dummy/public/crossdomain.xml +15 -0
  150. data/tests/dummy/public/robots.txt +3 -0
  151. data/tests/helpers/destroy-app.js +5 -0
  152. data/tests/helpers/module-for-acceptance.js +23 -0
  153. data/tests/helpers/resolver.js +11 -0
  154. data/tests/helpers/start-app.js +18 -0
  155. data/tests/index.html +34 -0
  156. data/tests/integration/.gitkeep +0 -0
  157. data/tests/integration/components/bsy-button-test.js +24 -0
  158. data/tests/test-helper.js +6 -0
  159. data/tests/unit/.gitkeep +0 -0
  160. data/vendor/.gitkeep +0 -0
  161. metadata +127 -8
  162. data/docs/content/css.html +0 -68
@@ -1,5 +1,5 @@
1
1
  module Bootstrap
2
2
  module BookingSync
3
- VERSION = '0.0.19'
3
+ VERSION = '1.0.0.beta1'
4
4
  end
5
5
  end
data/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "ember-cli-bootstrap-bookingsync-sass",
3
+ "version": "0.0.0",
4
+ "description": "Sass-powered version of Bootstrap with BookingSync theme.",
5
+ "directories": {
6
+ "doc": "doc",
7
+ "test": "tests"
8
+ },
9
+ "scripts": {
10
+ "build": "ember build",
11
+ "start": "ember server",
12
+ "test": "ember try:testall"
13
+ },
14
+ "repository": "",
15
+ "engines": {
16
+ "node": ">= 0.10.0"
17
+ },
18
+ "author": "",
19
+ "license": "MIT",
20
+ "devDependencies": {
21
+ "broccoli-asset-rev": "^2.2.0",
22
+ "ember-ajax": "0.7.1",
23
+ "ember-cli": "2.3.0-beta.2",
24
+ "ember-cli-app-version": "^1.0.0",
25
+ "ember-cli-bootstrap-sassy": "0.5.3",
26
+ "ember-cli-dependency-checker": "^1.2.0",
27
+ "ember-cli-deploy": "0.6.4",
28
+ "ember-cli-deploy-build": "0.1.1",
29
+ "ember-cli-htmlbars": "^1.0.1",
30
+ "ember-cli-htmlbars-inline-precompile": "^0.3.1",
31
+ "ember-cli-inject-live-reload": "^1.3.1",
32
+ "ember-cli-qunit": "^1.2.1",
33
+ "ember-cli-release": "0.2.8",
34
+ "ember-cli-sass": "5.3.1",
35
+ "ember-cli-sri": "^2.0.0",
36
+ "ember-cli-uglify": "^1.2.0",
37
+ "ember-data": "^2.3.0",
38
+ "ember-disable-prototype-extensions": "^1.1.0",
39
+ "ember-disable-proxy-controllers": "^1.0.1",
40
+ "ember-export-application-global": "^1.0.4",
41
+ "ember-load-initializers": "^0.5.0",
42
+ "ember-resolver": "^2.0.3",
43
+ "ember-try": "~0.0.8",
44
+ "loader.js": "^4.0.0"
45
+ },
46
+ "keywords": [
47
+ "ember-addon",
48
+ "bookingsync",
49
+ "bsy"
50
+ ],
51
+ "dependencies": {
52
+ "ember-cli-babel": "^5.1.5",
53
+ "ember-one-way-controls": "^0.8.0",
54
+ "ember-power-select": "^0.10.9",
55
+ "ember-modal-dialog": "^0.8.4",
56
+ "ember-cli-htmlbars": "^1.0.8"
57
+ },
58
+ "ember-addon": {
59
+ "configPath": "tests/dummy/config",
60
+ "demoURL": "http://styleguide.bookingsync.com"
61
+ }
62
+ }
data/testem.json ADDED
@@ -0,0 +1,12 @@
1
+ {
2
+ "framework": "qunit",
3
+ "test_page": "tests/index.html?hidepassed",
4
+ "disable_watching": true,
5
+ "launch_in_ci": [
6
+ "PhantomJS"
7
+ ],
8
+ "launch_in_dev": [
9
+ "PhantomJS",
10
+ "Chrome"
11
+ ]
12
+ }
data/tests/.jshintrc ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "predef": [
3
+ "document",
4
+ "window",
5
+ "location",
6
+ "setTimeout",
7
+ "$",
8
+ "-Promise",
9
+ "define",
10
+ "console",
11
+ "visit",
12
+ "exists",
13
+ "fillIn",
14
+ "click",
15
+ "keyEvent",
16
+ "triggerEvent",
17
+ "find",
18
+ "findWithAssert",
19
+ "wait",
20
+ "DS",
21
+ "andThen",
22
+ "currentURL",
23
+ "currentPath",
24
+ "currentRouteName"
25
+ ],
26
+ "node": false,
27
+ "browser": false,
28
+ "boss": true,
29
+ "curly": true,
30
+ "debug": false,
31
+ "devel": false,
32
+ "eqeqeq": true,
33
+ "evil": true,
34
+ "forin": false,
35
+ "immed": false,
36
+ "laxbreak": false,
37
+ "newcap": true,
38
+ "noarg": true,
39
+ "noempty": false,
40
+ "nonew": false,
41
+ "nomen": false,
42
+ "onevar": false,
43
+ "plusplus": false,
44
+ "regexp": false,
45
+ "undef": true,
46
+ "sub": true,
47
+ "strict": false,
48
+ "white": false,
49
+ "eqnull": true,
50
+ "esnext": true,
51
+ "unused": true
52
+ }
@@ -0,0 +1,18 @@
1
+ import Ember from 'ember';
2
+ import Resolver from './resolver';
3
+ import loadInitializers from 'ember-load-initializers';
4
+ import config from './config/environment';
5
+
6
+ let App;
7
+
8
+ Ember.MODEL_FACTORY_INJECTIONS = true;
9
+
10
+ App = Ember.Application.extend({
11
+ modulePrefix: config.modulePrefix,
12
+ podModulePrefix: config.podModulePrefix,
13
+ Resolver
14
+ });
15
+
16
+ loadInitializers(App, config.modulePrefix);
17
+
18
+ export default App;
File without changes
File without changes
@@ -0,0 +1,31 @@
1
+ import Ember from "ember";
2
+
3
+ export default Ember.Controller.extend({
4
+ currentName: 'John Doe',
5
+ currentFirstName: 'John',
6
+ currentLastName: 'Doe',
7
+ currentEmail: 'john@example.com',
8
+ currentAmount: 123,
9
+ currentComment: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur a fermentum ex, at malesuada sapien. In quis nisl diam. Ut mattis volutpat massa vel porta. Suspendisse aliquam accumsan justo. Morbi non augue risus. Integer congue, eros ac condimentum scelerisque, odio ante laoreet mauris, vitae faucibus ex nisi ut mauris. Nunc imperdiet ex felis, tempus viverra lorem lobortis quis. Curabitur molestie tempor orci et tincidunt. Suspendisse vestibulum aliquet diam, a lobortis lorem pretium eu. Etiam accumsan ex at odio iaculis, at malesuada augue faucibus. Mauris vitae risus sed magna dapibus dapibus ac quis eros. Sed cursus placerat porta.",
10
+
11
+ // Used for select
12
+ cities: ['Barcelona', 'Nevache', 'Sivota'],
13
+ currentDestination: 'Nevache',
14
+ currentDestinations: ['Nevache', 'Sivota'],
15
+
16
+ // Used by radio
17
+ selectedRentalType: 'apartment',
18
+
19
+ // Used for modal
20
+ isShowingModal: false,
21
+ actions: {
22
+ toggleModal: function() {
23
+ this.toggleProperty('isShowingModal');
24
+ if (this.get('isShowingModal') === true) {
25
+ $('body').addClass('modal-open');
26
+ } else {
27
+ $('body').removeClass('modal-open');
28
+ }
29
+ }
30
+ }
31
+ });
File without changes
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <title>BookingSync Styleguide - Ember Addon</title>
7
+ <meta name="description" content="">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1">
9
+
10
+ {{content-for "head"}}
11
+
12
+ <link rel="stylesheet" href="assets/vendor.css">
13
+ <link rel="stylesheet" href="assets/dummy.css">
14
+
15
+ {{content-for "head-footer"}}
16
+ </head>
17
+ <body>
18
+ {{content-for "body"}}
19
+
20
+ <script src="assets/vendor.js"></script>
21
+ <script src="assets/dummy.js"></script>
22
+
23
+ {{content-for "body-footer"}}
24
+ </body>
25
+ </html>
File without changes
@@ -0,0 +1,3 @@
1
+ import Resolver from 'ember-resolver';
2
+
3
+ export default Resolver;
@@ -0,0 +1,11 @@
1
+ import Ember from 'ember';
2
+ import config from './config/environment';
3
+
4
+ const Router = Ember.Router.extend({
5
+ location: config.locationType
6
+ });
7
+
8
+ Router.map(function() {
9
+ });
10
+
11
+ export default Router;
File without changes
@@ -0,0 +1,3 @@
1
+ @import "ember-modal-dialog/ember-modal-structure";
2
+ @import "bootstrap-bookingsync";
3
+ @import "ember-power-select";
@@ -0,0 +1,7 @@
1
+ {{partial "sidebar"}}
2
+ <div class="sided-content">
3
+ {{partial "navbar"}}
4
+ <section class="main-content">
5
+ {{outlet}}
6
+ </section>
7
+ </div>
File without changes
@@ -0,0 +1,275 @@
1
+ <section class="annotated-section">
2
+ <header class="annotated-section-annotation">
3
+ <h2 class="annotated-section-title">Forms</h2>
4
+ </header>
5
+ <div class="annotated-section-content">
6
+ <form>
7
+ <div class="form-group">
8
+ <label for="email">Email address</label>
9
+ {{one-way-input
10
+ value=currentEmail
11
+ update=(action (mut currentEmail))
12
+ class="form-control"
13
+ type="email"
14
+ id="email"
15
+ }}
16
+ </div>
17
+
18
+ <div class="row">
19
+ <div class="col-xs-6">
20
+ <div class="form-group">
21
+ <label for="firstname">First name</label>
22
+ {{one-way-input
23
+ value=currentFirstName
24
+ update=(action (mut currentFirstName))
25
+ class="form-control"
26
+ id="firstname"
27
+ }}
28
+ </div>
29
+ </div>
30
+
31
+ <div class="col-xs-6">
32
+ <div class="form-group">
33
+ <label for="lastname">Last name</label>
34
+ {{one-way-input
35
+ value=currentLastName
36
+ update=(action (mut currentLastName))
37
+ class="form-control"
38
+ id="lastname"
39
+ }}
40
+ </div>
41
+ </div>
42
+ </div>
43
+
44
+ <div class="form-group">
45
+ <div class="input-group">
46
+ <div class="input-group-addon">$</div>
47
+ <label class="control-label" for="amount">Amount</label>
48
+ {{one-way-input
49
+ value=currentAmount
50
+ update=(action (mut currentAmount))
51
+ class="form-control"
52
+ type="number"
53
+ id="amount"
54
+ }}
55
+ <div class="input-group-addon">.00</div>
56
+ </div>
57
+ </div>
58
+
59
+ <div class="row">
60
+ <div class="col-xs-4">
61
+ <div class="select">
62
+ <label for="destination">Destination</label>
63
+ {{#power-select
64
+ selected=currentDestination
65
+ options=cities
66
+ onchange=(action (mut currentDestination))
67
+ id="destination"
68
+ class="form-control"
69
+ as |name|
70
+ }}
71
+ {{name}}
72
+ {{/power-select}}
73
+ </div>
74
+ </div>
75
+
76
+ <div class="col-xs-4">
77
+ <div class="select">
78
+ <label for="destination2">Destination</label>
79
+ {{#power-select
80
+ selected=currentDestination
81
+ options=cities
82
+ searchEnabled=false
83
+ onchange=(action (mut currentDestination))
84
+ id="destination2"
85
+ class="form-control"
86
+ as |name|
87
+ }}
88
+ {{name}}
89
+ {{/power-select}}
90
+ </div>
91
+ </div>
92
+
93
+ <div class="col-xs-4">
94
+ <div class="select">
95
+ <label for="destinations">Destinations</label>
96
+ {{#power-select-multiple
97
+ selected=currentDestinations
98
+ options=cities
99
+ onchange=(action (mut currentDestinations))
100
+ id="destinations"
101
+ class="form-control"
102
+ as |name|
103
+ }}
104
+ {{name}}
105
+ {{/power-select-multiple}}
106
+ </div>
107
+ </div>
108
+ </div>
109
+
110
+ <div class="form-group">
111
+ <label for="comment">Comment</label>
112
+ {{one-way-textarea
113
+ value=currentComment
114
+ update=(action (mut currentComment))
115
+ class="form-control"
116
+ id="comment"
117
+ rows=3
118
+ }}
119
+ </div>
120
+
121
+ <div class="checkbox">
122
+ <label>
123
+ {{one-way-checkbox
124
+ isChecked
125
+ update=(action (mut isChecked))
126
+ }}
127
+ Check me out
128
+ </label>
129
+ </div>
130
+
131
+ <div class="radio">
132
+ <label>
133
+ {{one-way-radio
134
+ selectedRentalType
135
+ option="apartment"
136
+ update=(action (mut selectedRentalType))
137
+ }}
138
+ Apartment
139
+ </label>
140
+ </div>
141
+ <div class="radio">
142
+ <label>
143
+ {{one-way-radio
144
+ selectedRentalType
145
+ option="house"
146
+ update=(action (mut selectedRentalType))
147
+ }}
148
+ House
149
+ </label>
150
+ </div>
151
+ <div class="radio">
152
+ <label>
153
+ {{one-way-radio
154
+ selectedRentalType
155
+ option="villa"
156
+ update=(action (mut selectedRentalType))
157
+ }}
158
+ Villa
159
+ </label>
160
+ </div>
161
+
162
+ <h3>Radio buttons</h3>
163
+ <div class="btn-group" role="group" aria-label="...">
164
+ <div class="btn-group" data-toggle="buttons">
165
+ <label class="btn btn-secondary active">
166
+ {{one-way-radio
167
+ selectedRentalType
168
+ option="apartment"
169
+ update=(action (mut selectedRentalType))
170
+ }}
171
+ Apartment
172
+ </label>
173
+ <label class="btn btn-secondary">
174
+ {{one-way-radio
175
+ selectedRentalType
176
+ option="house"
177
+ update=(action (mut selectedRentalType))
178
+ }}
179
+ House
180
+ </label>
181
+ <label class="btn btn-secondary">
182
+ {{one-way-radio
183
+ selectedRentalType
184
+ option="villa"
185
+ update=(action (mut selectedRentalType))
186
+ }}
187
+ Villa
188
+ </label>
189
+ </div>
190
+ </div>
191
+ </form>
192
+
193
+ <h3>Inline form</h3>
194
+ <form class="form-inline">
195
+ <div class="form-group">
196
+ <label for="name2">Name</label>
197
+ {{one-way-input
198
+ value=currentName
199
+ update=(action (mut currentName))
200
+ class="form-control"
201
+ id="name2"
202
+ }}
203
+ </div>
204
+
205
+ <div class="form-group">
206
+ <label for="email2">Email address</label>
207
+ {{one-way-input
208
+ value=currentEmail
209
+ update=(action (mut currentEmail))
210
+ class="form-control"
211
+ type="email"
212
+ id="email2"
213
+ }}
214
+ </div>
215
+
216
+ {{#bsy-button type="submit" loadingLabel="Sending..."}}Send invitation{{/bsy-button}}
217
+ </form>
218
+ </div>
219
+ </section>
220
+
221
+ <section class="annotated-section">
222
+ <header class="annotated-section-annotation">
223
+ <h2 class="annotated-section-title">Buttons</h2>
224
+ </header>
225
+ <div class="annotated-section-content">
226
+ {{#bsy-button type="primary"}}Primary{{/bsy-button}}
227
+ {{#bsy-button type="secondary"}}Secondary{{/bsy-button}}
228
+ {{#bsy-button type="secondary-inverse" class="btn-round" loadingLabel=""}}
229
+ <span>&times;</span>
230
+ {{/bsy-button}}
231
+ {{#bsy-button type="danger"}}Danger{{/bsy-button}}
232
+ {{#bsy-button type="link"}}Link{{/bsy-button}}
233
+ </div>
234
+ </section>
235
+
236
+ <section class="annotated-section">
237
+ <header class="annotated-section-annotation">
238
+ <h2 class="annotated-section-title">Modal</h2>
239
+ </header>
240
+ <div class="annotated-section-content">
241
+ {{#bsy-button type="primary" click=(action "toggleModal")}}Toggle Modal{{/bsy-button}}
242
+
243
+ {{#if isShowingModal}}
244
+ {{#modal-dialog close="toggleModal"
245
+ targetAttachment="none"
246
+ translucentOverlay=true
247
+ overlay-class='modal in'
248
+ container-class='modal-dialog'}}
249
+ <div class="modal-content">
250
+ <div class="modal-header">
251
+ {{#bsy-button type="secondary-inverse" class="btn-sm btn-round btn-modal-close"
252
+ loadingLabel="" click=(action "toggleModal")}}
253
+ <span>&times;</span>
254
+ {{/bsy-button}}
255
+ <h3 class="modal-title">Modal Name or Headline</h3>
256
+ </div>
257
+ <div class="modal-body">
258
+ <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc nec luctus felis. Nulla a lacus libero. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Etiam mollis tortor sodales libero euismod, eget suscipit arcu mollis. Nam nibh libero, tempus eu urna convallis, tempor efficitur ex. Donec molestie nibh ac luctus imperdiet. Nulla vitae vulputate ipsum. Phasellus porta gravida odio, in iaculis quam cursus et. Ut ac vehicula erat. Nulla sapien turpis, dapibus vel pellentesque sed, suscipit sit amet nibh. Pellentesque rhoncus nibh porttitor, posuere nulla quis, auctor nunc. Pellentesque fermentum tempor justo, a interdum nulla. Nullam lacus odio, posuere ut posuere hendrerit, semper non velit.</p>
259
+ <p>Cras sed consequat nunc. Phasellus sed sagittis nibh. Aliquam a vulputate risus. Vestibulum molestie bibendum dolor, vel blandit ipsum malesuada et. Praesent enim nibh, finibus vel luctus id, bibendum vitae eros. Aliquam vel semper diam. Cras elementum molestie eros, ac venenatis quam. Proin fermentum ante eros, mollis vestibulum eros consequat eu. Cras quis lorem vel metus hendrerit porttitor. Nunc hendrerit vitae nunc ut pellentesque. Etiam quis urna ac lorem eleifend ornare. Donec nibh ante, bibendum id pellentesque non, dignissim ut urna. Phasellus congue ultricies ipsum, ut luctus augue pulvinar nec.</p>
260
+ </div>
261
+ <div class="modal-footer">
262
+ <div class="row">
263
+ <div class="col-xs-6">
264
+ {{#bsy-button type="secondary" class="btn-block" click=(action "toggleModal")}}Close{{/bsy-button}}
265
+ </div>
266
+ <div class="col-xs-6">
267
+ {{#bsy-button type="primary" class="btn-block"}}Save Changes{{/bsy-button}}
268
+ </div>
269
+ </div>
270
+ </div>
271
+ </div>
272
+ {{/modal-dialog}}
273
+ {{/if}}
274
+ </div>
275
+ </section>