├── src ├── app │ ├── home │ │ ├── home.scss │ │ ├── home.controller.js │ │ ├── home.html │ │ └── home.module.js │ ├── index.scss │ ├── core │ │ ├── layouts │ │ │ ├── basic.html │ │ │ └── default.html │ │ ├── scss │ │ │ ├── bootstrap │ │ │ │ ├── mixins │ │ │ │ │ ├── _pulls.scss │ │ │ │ │ ├── _center-block.scss │ │ │ │ │ ├── _hide-text.scss │ │ │ │ │ ├── _size.scss │ │ │ │ │ ├── _text-truncate.scss │ │ │ │ │ ├── _tab-focus.scss │ │ │ │ │ ├── _label.scss │ │ │ │ │ ├── _resize.scss │ │ │ │ │ ├── _text-emphasis.scss │ │ │ │ │ ├── _nav-divider.scss │ │ │ │ │ ├── _reset-filter.scss │ │ │ │ │ ├── _alert.scss │ │ │ │ │ ├── _background-variant.scss │ │ │ │ │ ├── _progress.scss │ │ │ │ │ ├── _navbar-align.scss │ │ │ │ │ ├── _reset-text.scss │ │ │ │ │ ├── _border-radius.scss │ │ │ │ │ ├── _pagination.scss │ │ │ │ │ ├── _responsive-visibility.scss │ │ │ │ │ ├── _clearfix.scss │ │ │ │ │ ├── _list-group.scss │ │ │ │ │ ├── _table-row.scss │ │ │ │ │ ├── _screen-reader.scss │ │ │ │ │ ├── _image.scss │ │ │ │ │ ├── _hover.scss │ │ │ │ │ ├── _grid-framework.scss │ │ │ │ │ ├── _grid.scss │ │ │ │ │ ├── _buttons.scss │ │ │ │ │ ├── _gradients.scss │ │ │ │ │ ├── _breakpoints.scss │ │ │ │ │ └── _forms.scss │ │ │ │ ├── bootstrap-flex.scss │ │ │ │ ├── bootstrap-reboot.scss │ │ │ │ ├── _animation.scss │ │ │ │ ├── _jumbotron.scss │ │ │ │ ├── _breadcrumb.scss │ │ │ │ ├── _images.scss │ │ │ │ ├── _close.scss │ │ │ │ ├── _responsive-embed.scss │ │ │ │ ├── _utilities-responsive.scss │ │ │ │ ├── bootstrap.scss │ │ │ │ ├── _pager.scss │ │ │ │ ├── _code.scss │ │ │ │ ├── bootstrap-grid.scss │ │ │ │ ├── _media.scss │ │ │ │ ├── _mixins.scss │ │ │ │ ├── _alert.scss │ │ │ │ ├── _labels.scss │ │ │ │ ├── _print.scss │ │ │ │ ├── _pagination.scss │ │ │ │ ├── _tooltip.scss │ │ │ │ ├── _utilities.scss │ │ │ │ ├── _nav.scss │ │ │ │ ├── _grid.scss │ │ │ │ ├── _list-group.scss │ │ │ │ ├── _utilities-spacing.scss │ │ │ │ ├── _type.scss │ │ │ │ ├── _popover.scss │ │ │ │ ├── _modal.scss │ │ │ │ ├── _tables.scss │ │ │ │ ├── _buttons.scss │ │ │ │ ├── _progress.scss │ │ │ │ ├── _input-group.scss │ │ │ │ ├── _dropdown.scss │ │ │ │ ├── _navbar.scss │ │ │ │ ├── _carousel.scss │ │ │ │ ├── _button-group.scss │ │ │ │ ├── _card.scss │ │ │ │ ├── _custom-forms.scss │ │ │ │ ├── _reboot.scss │ │ │ │ └── _normalize.scss │ │ │ ├── app.scss │ │ │ └── rin │ │ │ │ ├── _angular.scss │ │ │ │ ├── _base.scss │ │ │ │ └── _components.scss │ │ ├── core.module.js │ │ └── core.config.js │ ├── register │ │ ├── register.scss │ │ ├── register.controller.js │ │ ├── register.module.js │ │ └── register.html │ ├── login │ │ ├── login.scss │ │ ├── login.controller.js │ │ ├── login.module.js │ │ └── login.html │ ├── components │ │ ├── components.scss │ │ ├── components.module.js │ │ ├── components.controller.js │ │ └── components.html │ ├── index.run.js │ ├── index.config.js │ ├── main.scss │ ├── navigation │ │ ├── sidebar │ │ │ ├── sidebar.module.js │ │ │ ├── sidebar.controller.js │ │ │ ├── sidebar.html │ │ │ └── sidebar.scss │ │ └── topbar │ │ │ ├── topbar.module.js │ │ │ ├── topbar.controller.js │ │ │ ├── topbar.scss │ │ │ └── topbar.html │ ├── index.controller.js │ ├── index.module.js │ └── index.route.js ├── assets │ ├── fonts │ │ └── simple-line-icons │ │ │ ├── .gitignore │ │ │ └── fonts │ │ │ ├── Simple-Line-Icons.eot │ │ │ ├── Simple-Line-Icons.ttf │ │ │ ├── Simple-Line-Icons.woff │ │ │ └── Simple-Line-Icons.woff2 │ └── images │ │ ├── logo.png │ │ └── rin │ │ └── cards.jpg └── index.html ├── .bowerrc ├── gulp ├── .jshintrc ├── scripts.js ├── conf.js ├── unit-tests.js ├── e2e-tests.js ├── watch.js ├── inject.js ├── server.js ├── styles.js └── build.js ├── .gitignore ├── .editorconfig ├── gulpfile.js ├── bower.json ├── LICENSE ├── .jshintrc ├── package.json └── README.md /src/app/home/home.scss: -------------------------------------------------------------------------------- 1 | #home { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /.bowerrc: -------------------------------------------------------------------------------- 1 | { 2 | "directory": "bower_components" 3 | } 4 | -------------------------------------------------------------------------------- /gulp/.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../.jshintrc", 3 | "node": true 4 | } 5 | -------------------------------------------------------------------------------- /src/app/index.scss: -------------------------------------------------------------------------------- 1 | // bower:scss 2 | // endbower 3 | 4 | // injector 5 | // endinjector -------------------------------------------------------------------------------- /src/assets/fonts/simple-line-icons/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.log 3 | *~ 4 | *# 5 | .DS_STORE -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | bower_components 3 | npm-debug.log 4 | .DS_Store 5 | dist 6 | .tmp 7 | .idea -------------------------------------------------------------------------------- /src/assets/images/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mdchristians/rin/HEAD/src/assets/images/logo.png -------------------------------------------------------------------------------- /src/app/core/layouts/basic.html: -------------------------------------------------------------------------------- 1 |
Welcome to your new go-to dashboard boiler. It has just enough to get you up and going without loading you down with a bunch of extra jazz.
`s get reset. However, we also reset the 95 | // bottom margin to use `rem` units instead of `em`. 96 | p { 97 | margin-top: 0; 98 | margin-bottom: 1rem; 99 | } 100 | 101 | // Abbreviations and acronyms 102 | abbr[title], 103 | // Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257 104 | abbr[data-original-title] { 105 | cursor: help; 106 | border-bottom: 1px dotted $abbr-border-color; 107 | } 108 | 109 | address { 110 | margin-bottom: 1rem; 111 | font-style: normal; 112 | line-height: inherit; 113 | } 114 | 115 | ol, 116 | ul, 117 | dl { 118 | margin-top: 0; 119 | margin-bottom: 1rem; 120 | } 121 | 122 | ol ol, 123 | ul ul, 124 | ol ul, 125 | ul ol { 126 | margin-bottom: 0; 127 | } 128 | 129 | dt { 130 | font-weight: bold; 131 | } 132 | 133 | dd { 134 | margin-bottom: .5rem; 135 | margin-left: 0; // Undo browser default 136 | } 137 | 138 | blockquote { 139 | margin: 0 0 1rem; 140 | } 141 | 142 | 143 | // 144 | // Links 145 | // 146 | 147 | a { 148 | color: $link-color; 149 | text-decoration: none; 150 | 151 | @include hover-focus { 152 | color: $link-hover-color; 153 | text-decoration: $link-hover-decoration; 154 | } 155 | 156 | &:focus { 157 | @include tab-focus(); 158 | } 159 | } 160 | 161 | 162 | // 163 | // Code 164 | // 165 | 166 | pre { 167 | // Remove browser default top margin 168 | margin-top: 0; 169 | // Reset browser default of `1em` to use `rem`s 170 | margin-bottom: 1rem; 171 | } 172 | 173 | 174 | // 175 | // Figures 176 | // 177 | 178 | figure { 179 | // Normalize adds `margin` to `figure`s as browsers apply it inconsistently. 180 | // We reset that to create a better flow in-page. 181 | margin: 0 0 1rem; 182 | } 183 | 184 | 185 | 186 | // 187 | // Images 188 | // 189 | 190 | img { 191 | // By default, ``s are `inline-block`. This assumes that, and vertically 192 | // centers them. This won't apply should you reset them to `block` level. 193 | vertical-align: middle; 194 | } 195 | 196 | 197 | // iOS "clickable elements" fix for role="button" 198 | // 199 | // Fixes "clickability" issue (and more generally, the firing of events such as focus as well) 200 | // for traditionally non-focusable elements with role="button" 201 | // see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile 202 | // Upstream patch for normalize.css submitted: https://github.com/necolas/normalize.css/pull/379 - remove this fix once that is merged 203 | 204 | [role="button"] { 205 | cursor: pointer; 206 | } 207 | 208 | 209 | // 210 | // Tables 211 | // 212 | 213 | table { 214 | // Reset for nesting within parents with `background-color`. 215 | background-color: $table-bg; 216 | } 217 | 218 | caption { 219 | padding-top: $table-cell-padding; 220 | padding-bottom: $table-cell-padding; 221 | color: $text-muted; 222 | text-align: left; 223 | caption-side: bottom; 224 | } 225 | 226 | th { 227 | // Centered by default, but left-align-ed to match the `td`s below. 228 | text-align: left; 229 | } 230 | 231 | 232 | // 233 | // Forms 234 | // 235 | 236 | label { 237 | // Allow labels can use `margin` for spacing. 238 | display: inline-block; 239 | margin-bottom: .5rem; 240 | } 241 | 242 | input, 243 | button, 244 | select, 245 | textarea { 246 | // Remove all `margin`s so our classes don't have to do it themselves. 247 | margin: 0; 248 | // Normalize includes `font: inherit;`, so `font-family`. `font-size`, etc are 249 | // properly inherited. However, `line-height` isn't addressed there. Using this 250 | // ensures we don't need to unnecessarily redeclare the global font stack. 251 | line-height: inherit; 252 | } 253 | 254 | textarea { 255 | // Textareas should really only resize vertically so they don't break their (horizontal) containers. 256 | resize: vertical; 257 | } 258 | 259 | fieldset { 260 | // Chrome and Firefox set a `min-width: min-content;` on fieldsets, 261 | // so we reset that to ensure it behaves more like a standard block element. 262 | // See https://github.com/twbs/bootstrap/issues/12359. 263 | min-width: 0; 264 | // Reset the default outline behavior of fieldsets so they don't affect page layout. 265 | padding: 0; 266 | margin: 0; 267 | border: 0; 268 | } 269 | 270 | legend { 271 | // Reset the entire legend element to match the `fieldset` 272 | display: block; 273 | width: 100%; 274 | padding: 0; 275 | margin-bottom: .5rem; 276 | font-size: 1.5rem; 277 | line-height: inherit; 278 | // border: 0; 279 | } 280 | 281 | input[type="search"] { 282 | // This overrides the extra rounded corners on search inputs in iOS so that our 283 | // `.form-control` class can properly style them. Note that this cannot simply 284 | // be added to `.form-control` as it's not specific enough. For details, see 285 | // https://github.com/twbs/bootstrap/issues/11586. 286 | -webkit-appearance: none; 287 | } 288 | 289 | // todo: needed? 290 | output { 291 | display: inline-block; 292 | // font-size: $font-size-base; 293 | // line-height: $line-height; 294 | // color: $input-color; 295 | } 296 | -------------------------------------------------------------------------------- /src/app/core/scss/bootstrap/_normalize.scss: -------------------------------------------------------------------------------- 1 | /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ 2 | 3 | // 4 | // 1. Set default font family to sans-serif. 5 | // 2. Prevent iOS and IE text size adjust after device orientation change, 6 | // without disabling user zoom. 7 | // 8 | 9 | html { 10 | font-family: sans-serif; // 1 11 | -ms-text-size-adjust: 100%; // 2 12 | -webkit-text-size-adjust: 100%; // 2 13 | } 14 | 15 | // 16 | // Remove default margin. 17 | // 18 | 19 | body { 20 | margin: 0; 21 | } 22 | 23 | // HTML5 display definitions 24 | // ========================================================================== 25 | 26 | // 27 | // Correct `block` display not defined for any HTML5 element in IE 8/9. 28 | // Correct `block` display not defined for `details` or `summary` in IE 10/11 29 | // and Firefox. 30 | // Correct `block` display not defined for `main` in IE 11. 31 | // 32 | 33 | article, 34 | aside, 35 | details, 36 | figcaption, 37 | figure, 38 | footer, 39 | header, 40 | hgroup, 41 | main, 42 | menu, 43 | nav, 44 | section, 45 | summary { 46 | display: block; 47 | } 48 | 49 | // 50 | // 1. Correct `inline-block` display not defined in IE 8/9. 51 | // 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. 52 | // 53 | 54 | audio, 55 | canvas, 56 | progress, 57 | video { 58 | display: inline-block; // 1 59 | vertical-align: baseline; // 2 60 | } 61 | 62 | // 63 | // Prevent modern browsers from displaying `audio` without controls. 64 | // Remove excess height in iOS 5 devices. 65 | // 66 | 67 | audio:not([controls]) { 68 | display: none; 69 | height: 0; 70 | } 71 | 72 | // 73 | // Address `[hidden]` styling not present in IE 8/9/10. 74 | // Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. 75 | // 76 | 77 | [hidden], 78 | template { 79 | display: none; 80 | } 81 | 82 | // Links 83 | // ========================================================================== 84 | 85 | // 86 | // Remove the gray background color from active links in IE 10. 87 | // 88 | 89 | a { 90 | background-color: transparent; 91 | } 92 | 93 | // 94 | // Improve readability of focused elements when they are also in an 95 | // active/hover state. 96 | // 97 | 98 | a { 99 | &:active { 100 | outline: 0; 101 | } 102 | &:hover { 103 | outline: 0; 104 | } 105 | } 106 | 107 | // Text-level semantics 108 | // ========================================================================== 109 | 110 | // 111 | // Address styling not present in IE 8/9/10/11, Safari, and Chrome. 112 | // 113 | 114 | abbr[title] { 115 | border-bottom: 1px dotted; 116 | } 117 | 118 | // 119 | // Address style set to `bolder` in Firefox 4+, Safari, and Chrome. 120 | // 121 | 122 | b, 123 | strong { 124 | font-weight: bold; 125 | } 126 | 127 | // 128 | // Address styling not present in Safari and Chrome. 129 | // 130 | 131 | dfn { 132 | font-style: italic; 133 | } 134 | 135 | // 136 | // Address variable `h1` font-size and margin within `section` and `article` 137 | // contexts in Firefox 4+, Safari, and Chrome. 138 | // 139 | 140 | h1 { 141 | font-size: 2em; 142 | margin: 0.67em 0; 143 | } 144 | 145 | // 146 | // Address styling not present in IE 8/9. 147 | // 148 | 149 | mark { 150 | background: #ff0; 151 | color: #000; 152 | } 153 | 154 | // 155 | // Address inconsistent and variable font size in all browsers. 156 | // 157 | 158 | small { 159 | font-size: 80%; 160 | } 161 | 162 | // 163 | // Prevent `sub` and `sup` affecting `line-height` in all browsers. 164 | // 165 | 166 | sub, 167 | sup { 168 | font-size: 75%; 169 | line-height: 0; 170 | position: relative; 171 | vertical-align: baseline; 172 | } 173 | 174 | sup { 175 | top: -0.5em; 176 | } 177 | 178 | sub { 179 | bottom: -0.25em; 180 | } 181 | 182 | // Embedded content 183 | // ========================================================================== 184 | 185 | // 186 | // Remove border when inside `a` element in IE 8/9/10. 187 | // 188 | 189 | img { 190 | border: 0; 191 | } 192 | 193 | // 194 | // Correct overflow not hidden in IE 9/10/11. 195 | // 196 | 197 | svg:not(:root) { 198 | overflow: hidden; 199 | } 200 | 201 | // Grouping content 202 | // ========================================================================== 203 | 204 | // 205 | // Address margin not present in IE 8/9 and Safari. 206 | // 207 | 208 | figure { 209 | margin: 1em 40px; 210 | } 211 | 212 | // 213 | // Address differences between Firefox and other browsers. 214 | // 215 | 216 | hr { 217 | box-sizing: content-box; 218 | height: 0; 219 | } 220 | 221 | // 222 | // Contain overflow in all browsers. 223 | // 224 | 225 | pre { 226 | overflow: auto; 227 | } 228 | 229 | // 230 | // Address odd `em`-unit font size rendering in all browsers. 231 | // 232 | 233 | code, 234 | kbd, 235 | pre, 236 | samp { 237 | font-family: monospace, monospace; 238 | font-size: 1em; 239 | } 240 | 241 | // Forms 242 | // ========================================================================== 243 | 244 | // 245 | // Known limitation: by default, Chrome and Safari on OS X allow very limited 246 | // styling of `select`, unless a `border` property is set. 247 | // 248 | 249 | // 250 | // 1. Correct color not being inherited. 251 | // Known issue: affects color of disabled elements. 252 | // 2. Correct font properties not being inherited. 253 | // 3. Address margins set differently in Firefox 4+, Safari, and Chrome. 254 | // 255 | 256 | button, 257 | input, 258 | optgroup, 259 | select, 260 | textarea { 261 | color: inherit; // 1 262 | font: inherit; // 2 263 | margin: 0; // 3 264 | } 265 | 266 | // 267 | // Address `overflow` set to `hidden` in IE 8/9/10/11. 268 | // 269 | 270 | button { 271 | overflow: visible; 272 | } 273 | 274 | // 275 | // Address inconsistent `text-transform` inheritance for `button` and `select`. 276 | // All other form control elements do not inherit `text-transform` values. 277 | // Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. 278 | // Correct `select` style inheritance in Firefox. 279 | // 280 | 281 | button, 282 | select { 283 | text-transform: none; 284 | } 285 | 286 | // 287 | // 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` 288 | // and `video` controls. 289 | // 2. Correct inability to style clickable `input` types in iOS. 290 | // 3. Improve usability and consistency of cursor style between image-type 291 | // `input` and others. 292 | // 293 | 294 | button, 295 | html input[type="button"], // 1 296 | input[type="reset"], 297 | input[type="submit"] { 298 | -webkit-appearance: button; // 2 299 | cursor: pointer; // 3 300 | } 301 | 302 | // 303 | // Re-set default cursor for disabled elements. 304 | // 305 | 306 | button[disabled], 307 | html input[disabled] { 308 | cursor: default; 309 | } 310 | 311 | // 312 | // Remove inner padding and border in Firefox 4+. 313 | // 314 | 315 | button::-moz-focus-inner, 316 | input::-moz-focus-inner { 317 | border: 0; 318 | padding: 0; 319 | } 320 | 321 | // 322 | // Address Firefox 4+ setting `line-height` on `input` using `!important` in 323 | // the UA stylesheet. 324 | // 325 | 326 | input { 327 | line-height: normal; 328 | } 329 | 330 | // 331 | // It's recommended that you don't attempt to style these elements. 332 | // Firefox's implementation doesn't respect box-sizing, padding, or width. 333 | // 334 | // 1. Address box sizing set to `content-box` in IE 8/9/10. 335 | // 2. Remove excess padding in IE 8/9/10. 336 | // 337 | 338 | input[type="checkbox"], 339 | input[type="radio"] { 340 | box-sizing: border-box; // 1 341 | padding: 0; // 2 342 | } 343 | 344 | // 345 | // Fix the cursor style for Chrome's increment/decrement buttons. For certain 346 | // `font-size` values of the `input`, it causes the cursor style of the 347 | // decrement button to change from `default` to `text`. 348 | // 349 | 350 | input[type="number"]::-webkit-inner-spin-button, 351 | input[type="number"]::-webkit-outer-spin-button { 352 | height: auto; 353 | } 354 | 355 | // 356 | // 1. Address `appearance` set to `searchfield` in Safari and Chrome. 357 | // 2. Address `box-sizing` set to `border-box` in Safari and Chrome. 358 | // 359 | 360 | input[type="search"] { 361 | -webkit-appearance: textfield; // 1 362 | box-sizing: content-box; //2 363 | } 364 | 365 | // 366 | // Remove inner padding and search cancel button in Safari and Chrome on OS X. 367 | // Safari (but not Chrome) clips the cancel button when the search input has 368 | // padding (and `textfield` appearance). 369 | // 370 | 371 | input[type="search"]::-webkit-search-cancel-button, 372 | input[type="search"]::-webkit-search-decoration { 373 | -webkit-appearance: none; 374 | } 375 | 376 | // 377 | // Define consistent border, margin, and padding. 378 | // 379 | 380 | fieldset { 381 | border: 1px solid #c0c0c0; 382 | margin: 0 2px; 383 | padding: 0.35em 0.625em 0.75em; 384 | } 385 | 386 | // 387 | // 1. Correct `color` not being inherited in IE 8/9/10/11. 388 | // 2. Remove padding so people aren't caught out if they zero out fieldsets. 389 | // 390 | 391 | legend { 392 | border: 0; // 1 393 | padding: 0; // 2 394 | } 395 | 396 | // 397 | // Remove default vertical scrollbar in IE 8/9/10/11. 398 | // 399 | 400 | textarea { 401 | overflow: auto; 402 | } 403 | 404 | // 405 | // Don't inherit the `font-weight` (applied by a rule above). 406 | // NOTE: the default cannot safely be changed in Chrome and Safari on OS X. 407 | // 408 | 409 | optgroup { 410 | font-weight: bold; 411 | } 412 | 413 | // Tables 414 | // ========================================================================== 415 | 416 | // 417 | // Remove most spacing between table cells. 418 | // 419 | 420 | table { 421 | border-collapse: collapse; 422 | border-spacing: 0; 423 | } 424 | 425 | td, 426 | th { 427 | padding: 0; 428 | } 429 | -------------------------------------------------------------------------------- /src/app/components/components.html: -------------------------------------------------------------------------------- 1 |
This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.
It uses utility classes for typography and spacing to space content out within the larger container.
47 | Learn more 48 |
Some quick example text to build on the card title and make up the bulk of the card's content.
This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.
Last updated 3 mins ago
With supporting text below as a natural lead-in to additional content.
188 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante. 189 | 190 |
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.
198 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante. 199 | 200 |
208 | Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante. 209 | 210 |