Implemented URL query parsing for initial token /opa/?token=abcde
[src/app-framework-demo.git] / afb-client / bower_components / foundation-apps / CHANGELOG.md
1 # Version 1.1 — Weisshorn
2
3 *March 17, 2015*
4
5 ### General
6
7 - **The CLI has been updated to version 1.1.** It includes a streamlined install process, better error-handling, better cross-platform support, and *no Ruby dependency*. Run `npm update -g foundation-cli` to get it.
8 - **The documentation is way better.** We did a sweep of every docs page to fix typos, improve examples, and generally make things more clear. Enjoy!
9 - **Foundation for Apps is now libsass-first.** We're still testing the codebase in both Ruby Sass 3.4+ and libsass 3.1+, but our documentation and template stack now compile with libsass by default. **This means Ruby is no longer a hard dependency of the framework.**
10 - **Directive templates are now compiled to one file.** We're using [ng-html2js](https://github.com/yaru22/ng-html2js) to package up all of our directive templates into a single JavaScript file. This means you no longer need to include the `components` folder in a public directory! This method still works, but you can also just include the `templates.js` file and you're good to go.
11   - The templates file is included in the Bower and npm packages, under `dist/js/foundation-apps-templates.js`.
12   - A third CDN URL has been created for the template files.
13   - Thanks to @MikaAK for submitting the pull request that implemented this!
14
15 ### Sass Variable Changes
16
17 These Sass variables changed. If you're upgrading an existing project, you'll need to update your `_settings.scss` file manually.
18
19 **Added:** `$button-background-hover: scale-color($button-background, $lightness: -15%)`
20 **Added:** `$motion-class-showhide: (in: "ng-hide-remove", out: "ng-hide-add");`
21 **Added:** `$motion-class-showhide-active: (in: "ng-hide-remove-active", out: "ng-hide-add-active");`
22 **Added:** `$input-background-disabled: smartscale($input-background)`
23 **Added:** `$input-cursor-disabled: not-allowed`
24 **Changed:** `$button-tag-selector` is now `false` (previously `true`)
25 **Removed:** `$panel-animation-speed`
26
27 **You don't need to add the new variables to your settings file,** unless you want to change their default values.
28
29 **The old variables are still in the codebase, but aren't being used.** They'll be permanently removed in version 1.2.
30
31 ### Template Changes
32
33 - Sass is now compiled using libsass.
34 - Directive templates are compiled into a `templates.js` file, instead of being referenced using hardcoded paths to HTML files.
35 - **If you have an existing project, you don't need to change anything to upgrade to v1.1.**
36
37 ### New Features
38
39 - **Improved view animation!** In and out animations on views will now play simultaneously. Thanks to @AntJanus, @stryju, and @jeanieshark for all their hard work in solving this difficult problem!
40 - `ui-view` elements no longer need the attribute `ng-class="['ui-animation']"` to animate properly; just having `ui-view` is enough.
41 - Prior to v1.1, view animations only worked if the states were created using our front matter routing plugin. Now you can enable view animation in manually-defined states by adding an `animation` property to the state object.
42
43 ```js
44 $stateProvider
45   .state('home', {
46     url: '/',
47     templateUrl: 'templates/home.html',
48     animation: {
49       enter: 'slideInDown',
50       leave: 'fadeOut'
51     }
52   });
53 ```
54
55 - #461: Added a `$background-hover` parameter to the `button-style()` mixin. You can pass in a color, or the `auto` keyword to automatically set a color based on the `$background` parameter.
56 - #462: Added styles for disabled form elements. They're automatically applied to any `<input>` element with the `disabled` or `readonly` attributes, or a `<fieldset>` with `disabled`. The styles can also be added manually by adding the `.disabled` class.
57 - #475: The path the `zf-iconic` directive uses to search for icon files can now be changed width the `IconicProvider` provider. Use `IconicProvider.setAssetPath(path)` to set the path. Thanks to @gjungb for implementing this!
58 - #495: The front matter routing plugin now supports ui-router's abstract states. Just add `abstract: true` to a view template to make it go.
59 - Added support for ngAnimate's "show" and "hide" events. This means you can now use Motion UI classes with `ng-show` and `ng-hide`.
60 - Added a `.noscroll` class for grid blocks and content blocks. I bet you can guess what it does!
61 - You can now pass a scope to a modal created with `ModalFactory`, by passing it through the `contentScope` property on the modal's configuration object.
62
63 ### Bug Fixes
64
65 - #191: `<input type="range">` elements are properly styled in Internet Explorer 10+.
66 - #396: Prevent a `$digest already in progress` error from occuring with panels and off-canvas.
67 - #397: The `FoundationApi` service now has an `unsubscribe` method, which allows us to remove event listeners from elements that have been removed from the DOM.
68 - #467: The settings variables for buttons were placed above button group, which prevents an issue with undefined variables.
69 - #472: Fixed the `color` attribute of static notifications not applying.
70 - #478: Fixed an issue with modals where `scope.$root` could be `null` after a state change.
71 - #483: Fixed notifications with `autoclose` not automatically closing under some circumstances.
72 - #486: The `ModalFactory` factory will fetch the modal template before initialization.
73 - #489: Deprecated `$panel-animation-speed`, an unused Sass variable for panels. It will be removed in a future version of the framework.
74 - #511: Panels that have converted into a block won't play their in/out animations if triggered by an open or close event.
75 - #530: Visibility classes will not conflict with Angular's `.ng-hide` class.
76 - The `<button>` tag is no longer styled as a `.button` element by default.
77 - Any element with `zf-open`, `zf-close`, or `zf-toggle` applied gets the `cursor: pointer` property.
78 - Removed the dropdown arrow that Internet Explorer 10+ adds to `<select>` elements.
79 - Prevented ghosting issues in WebKit with views that are mid-transition, by adding `-webkit-transform-style: preserve3d`.
80 - Fixed landscape/portrait visibility classes not hiding properly.
81 - Images inside cards will stretch to the width of the container.
82 - Added a missing secondary coloring class to Iconic (`.iconic-color-secondary`).
83
84 *The British physicist John Tyndall was the first person to ascend Weisshorn. When the climb was at its most bleak, Tyndall strengthened his resolve with patriotic thoughts:*
85
86 > I thought of Englishmen in battle, of the qualities which had made them famous: it was mainly the quality of not knowing when to yield - of fighting for duty even after they had ceased to be animated by hope. Such thoughts helped to lift me over the rocks.
87
88 # Version 1.0.3
89
90 *February 16, 2015*
91
92 ### General
93
94 - The Bower and npm packages now include a `dist` folder, which contains compiled CSS and JavaScript files, in minified and unminified flavors.
95 - The Sass is now fully compatible with libsass. It's been tested in node-sass 1.2.3. Eventually our documentation and template stack will be compiled with node-sass instead of Ruby Sass, but we'll continue to test both.
96
97 ### Breaking Changes
98
99 These Sass variables changed. If you're updating an existing project, you'll need to update your `_settings.scss` file manually.
100
101 - **Added:** `$badge-diameter: 1.5rem`
102 - **Renamed:** `$badge-font-color` is now `$badge-color`
103 - **Removed:** `$badge-padding`
104 - **Removed:** `$badge-radius`
105
106 The old variables are still in the codebase but aren't being used. They'll be permanently removed in version 1.1.
107
108 ### Template Changes
109
110 The Gulpfile used in the [template stack](https://github.com/zurb/foundation-apps-template) now uses the `gulp-load-plugins` library to streamline use of plugins. **If you have an existing project, you don't need to change anything to upgrade.**
111
112 ### New Features
113
114 - **Stacking notifications.** (#388) Dynamically-called notifications will now stack when you call more than one.
115 - **Responsive Iconic icons.** (#408) Iconic icons are now fluid by default, which means they will adjust their geometry based on the width of the parent container.
116 - **Staggered animations.** (#394) When using our motion classes in conjunction with the `ng-repeat`, you can now add a stagger class to make items animate in sequence. Add the class `.stagger`, `.short-stagger`, or `.long-stagger` to an element to enable the stagger effect.
117 - #376: Added `.info` and `.dark` coloring classes to buttons.
118 - #436: The items in a menu bar can be aligned with `.align-right`, `.align-center`, `.align-justify`, or `.align-spaced`. These classes mimic the behavior of the grid alignment classes.
119 - Notifications can now be assigned a timeout by adding the `autoclose` attribute. The value of `autoclose` is the number of milliseconds to wait before closing.
120 - The speed of all animations has been increased slightly. The default felt just a *little* too slow.
121
122 ### Bug Fixes
123
124 **CSS:**
125
126 - #194: Fixed modals not scrolling when they overflow their parent.
127 - #412: `<button>` and `<input>` elements can be used as prefix/postfix elements in forms now, in addition to `<a>`.
128 - #417: Added padding to `<select>` elements to prevent the text from overlapping with the arrow.
129 - #435: Fixed a misnamed parameter in the `grid-block()` mixin.
130 - #438: Fixed display issues with `<select>` elements in Firefox.
131 - #453: Fixed block list checkboxes being misaligned.
132 - Fixed the `.dialog` class and sizing classes of modals not working.
133 - The CSS for badges was refactored so they're sized with width and height instead of padding.
134 - The pointer cursor is now used when hovering over any anchor (`<a>`) or any element with the `ui-sref` attribute.
135
136 **JavaScript:**
137
138 - #363: Fixed `zf-close` not working when placed outside of a component.
139 - #420: Fixed panel/block animations triggering even though the element is in block mode.
140 - #427: Fixed the `pin-at` directive not passing its value to Tether.
141 - #448: Fixed invalid `$scope.params` property on the DefaultController controller.
142 - If a component is closed or opened while a transition is in progress, the transition will reverse.
143
144 # Version 1.0.2
145
146 *December 23, 2014*
147
148 **Foundation for Apps is now on npm!** `npm install foundation-apps`
149
150 **Upgrading from an older version?** We changed how our Angular plugins are structured, which means an existing app's build process will need to be changed slightly.
151
152 - **If you're using our template stack as-is:**
153   - Replace your existing `Gulpfile.js` with the [new Gulpfile](https://github.com/zurb/foundation-apps-template/blob/master/gulpfile.js).
154   - Copy the [new app.js](https://github.com/zurb/foundation-apps-template/blob/master/client/assets/js/app.js) file into the folder `client/assets/js/`.
155 - If you need to upgrade a project with a custom build process:
156   - To capture every plugin's JavaScript files in a single blob, use `bower_components/foundation-apps/js/angular/**/*.js`.
157   - The Bower package no longer includes an `app.js` file. You can use our template stack's file as a baseline to write your own.
158   - To capture every plugin's HTML template, use `bower_components/foundation-apps/js/angular/components/**/*.html`.
159
160 **Codebase changes:**
161
162 - #282: The Angular code has been refactored to be more streamlined and more modular. Each UI component now has its own folder, which includes the component's JavaScript and HTML template. The template stack has been updated to properly compile the new asset structure. **If you're upgrading an existing project, follow the above instructions to get everything set.**
163   - The Bower package no longer includes an `app.js` file. Instead, a sample file has been included in the `client` folder of the template stack.
164 - #108: Every Sass function now has a unit test. Run `gulp sass:test` to run the test suite.
165 - #338: The Sass settings file is now automatically generated based on the variables inside each component's Sass file, with the command `gulp settings`. The [settings parser plguin](https://github.com/zurb/foundation-settings-parser) will be maintained as a separate codebase. The plugin pulls the variables out of each Sass file, after which:
166   - Every component's variables are combined into one settings file, organized by component.
167   - Each individual component's variables are output as an HTML partial, to be displayed on that component's documentation.
168
169 **New features:**
170
171 - **Touch support!** We added the [Hammer.js Angular library](http://ryanmullins.github.io/angular-hammer/) to our codebase, which allows you to trigger functions with touch gestures, using directives like `hm-swipeup` and `hm-pinchin`.
172   - We added one custom directive, `zf-touch-close`, which allows you to trigger the `close` event on an element by swiping. We'll add more features in future versions.
173 - #301: Menu bars can now switch between the expanded and condensed styles at different screen sizes, using these classes: `condense`, `medium-condense`, `large-condense`, `medium-expand`, `large-expand`.
174 - #335: Menu bars can now be wrapped in a `menu-bar-group` container, which allows two menu bars to sit on the same row, aligned to the left and the right. Learn more [here](http://foundation.zurb.com/apps/docs/#!/menu-bar).
175 - #342: The `src` attribute of an Iconic icon can now be dynamically inserted. Instead of `data-src`, define the icon's source with the `dyn-src` attribute on a `zf-iconic` element.
176
177 **Bug fixes:**
178
179 - Added proper styles for checkboxes, radio buttons, and their text labels.
180 - Fixed a bug with IE10 and 11 where the last item in a wrapping grid would wrap to the next line.
181 - Fixed an issue with panels not properly functioning as grid containers.
182 - #320: Fixed the `clearall` event for notifications not removing elements from the view.
183 - #321: Fixed `zf-hard-toggle` not closing open action sheets.
184 - #328: Fixed an issue with collapible items in accordions.
185 - #331: Allow action sheets to be closed with `zf-hard-toggle`.
186 - #337: Improved the behavior of components animating in and out when toggled on and off rapidly.
187 - #343: The settings file now imports the functions file, to make `rem-calc()` and other functions accessible when modifying settings.
188 - #351: Fixed a bug where images were not added to notifications created with the publish API.
189 - #326: Fixed detached off-canvas menus overlapping with regular ones.
190 - #356: Fixed `$small-font-color` not being properly applied to `<small>` elements.
191
192 # Version 1.0.1
193
194 *December 12, 2014*
195
196 Lots of fixes for the Sass, JavaScript, and documentation. Thanks so much to everyone who's been giving feedback, reporting bugs, and most importantly, *fixing our typos* this past week.
197
198 ## CSS
199
200 - Fixed an alignment issue with action sheet dropdowns.
201 - #157: Fixed misbehaving box shadows on panels.
202 - #180: Added a PNG fallback for the SVG icons used in block lists, for IE10.
203 - #212: Corrected a misused parameter in the `grid-frame()` and `grid-block()` mixins.
204 - #215: Removed unused text direction variables.
205 - #225: Fixed some components not working inside of an off-canvas menu because of selector specificity.
206 - #226: Configured the Gulpfile to catch Sass errors instead of exiting.
207 - #268: Changed `map-serialize()` to escape quotes in the outputted JSON.
208 - #247: Set the `$accordion-title-background-active` variable to be relative to `$accordion-title-background`.
209   - #261: `$tab-title-background-active` got the same treatment.
210 - #295: Fixed a error that came up when creating a media query with `@include breakpoint(xxlarge only)`.
211 - #326: Fixed detached off-canvas menus overlapping with regular ones.
212
213 ## JavaScript
214
215 - Added the `zf-hard-toggle` directive, to force other open components to close when the targeted component opens.
216 - Integrated the FastClick library.
217 - #199: Modals can be configured to not close when clicked outside of.
218 - #258: Accordions can be set to allow every item to be closed at once with `collapsible="true"`.
219 - #260: Added the element restriction to action sheets.
220 - #274: Added a timeout to hide elements that are missing an animationOut class.
221 - #290: Updated the Gulpfile to properly run `copy` when template pages are added or removed.
222
223 # Version 1.0.0 — Matterhorn
224
225 Welcome to Foundation for Apps 1.0.0! Thanks for swinging by to try it out.
226
227 Our initial release of the framework includes:
228
229  - **An awesome, responsive flexbox-based grid** for creating robust, responsive app layouts.
230  - **The Motion UI library** for easily animating pages and components. You can also use our mixins to write custom animations.
231  - **Our Gulp-powered Angular helpers** which allow you to harness the power of the Angular UI Router library without writing any JavaScript.
232
233 The framework also includes these sweet components:
234  - Block list
235  - Button
236  - Button group
237  - Card
238  - Forms
239  - Label and badge
240  - Menu bar
241  - Switch
242  - Title bar
243  - Typography
244  - Visibility and utility classes
245
246 These components are also available as Angular directives:
247  - Accordion
248  - Action sheet
249  - Modal
250  - Notification
251  - Off-canvas
252  - Panel
253  - Popup
254  - Tabs
255
256 ## How to Contribute
257
258 We love feedback! Help us find bugs and suggest improvements or new features. Follow us on Twitter at [@ZURBFoundation](https://twitter.com/zurbfoundation) to keep up-to-date with what's new, or to just shoot the breeze.
259
260 If you find a problem or have an idea, open a [new issue](https://github.com/zurb/foundation-apps/issues) on GitHub. When filing a bug report, make sure you specify the browser and operating system you're on, and toss us a screenshot or show us how we can recreate the issue.
261
262 ## Known Issues
263
264  - Some issues with the flexbox grid in IE10
265  - Mobile Safari doesn't place fixed-position elements (modals, notifications) at the right z-index — #190
266  - Range sliders aren't properly styled in IE10+ — #191
267
268 *The iconic Matterhorn gets its name from the German words Matte, meaning "meadow", and Horn, which means "peak".*
269
270 # Version 1.0.0 RC1 — Mont Blanc
271
272 It's our 1.0 release candidate! Thanks for stopping by to take a look.
273
274 ## How to mess with it
275
276 If you want a quick way to jump in, check out our [starter template](https://github.com/zurb/foundation-apps-template), which has a basic directory structure and a blank index file for you to work with. Follow the instructions in the [readme](https://github.com/zurb/foundation-apps-template/blob/master/readme.md) to get going.
277
278 The first thing you'll probably want to check out is the grid. If you compile this repo on your machine, you can find the grid documentation at <http://localhost:8080/#!/grid>. You can also view the source of that file [here](https://github.com/zurb/foundation-apps/blob/master/docs/templates/grid.html).
279
280 To incorporate our Sass components and Angular directives into your own project, install Foundation using Bower:
281
282 ```bash
283 bower install zurb/foundation-apps
284 ```
285
286 The JavaScript is organized into common components, specific directives, and vendor files. There's also a sample `app.js` that shows how to import the Foundation modules, but you'll likely want to set up your Angular application your own way.
287
288 ## How to contribute
289
290 We love feedback! We have a few [discussion topics](https://github.com/zurb/foundation-apps/issues?q=is%3Aopen+is%3Aissue+label%3Adiscussion) open on our issue tracker, but if you have more specific feedback, please open a new issue! If you encounter any bugs, let us know as well. Be sure to specify the browser and operating system you're using, and show us how we can recreate the issue. Code samples are great!
291
292 ## What's left
293
294 The codebase is very close to feature-complete. Here are the things we're still working on:
295  - Fully-working motion classes (see #113)
296  - Loose ends on components (see #109, #110, #111)
297  - Animation on directives (see #107)
298  - Unit tests for Angular and Sass (see #106)
299  - A finished settings file
300  - The command-line interface (being built in a separate repo, currently private)
301  - Testing, testing, testing