## JS-UI Changelog


**38.0.0**

* **Breaking:** Updating the font stack and colors for JSUI and all consuming applications.

37.2.7

* Change default error message to be friendlier and localized

37.2.6

* Modal: throw if modal doesn't compile when opened via service
* Modal: improve cleanup process and make sure we don't leave stray classes behind

37.2.5

* Actionable Empty state bullets optional

37.2.3

* Add icon kinds for sheets, slides and docs to be used for Google items

37.2.2

* Improve click handling/element wrappers for form controls and metadata-form, with
an aim of fixing focus on metadata-forms where ng-aria is in effect.

37.2.0

* Bump FontAwesome to 5.13.0


37.1.0

* Add inline-text-input component

37.0.4

* Add `padding: 0` to `.o-link` class

37.0.3

* Change 'Diagnostics' link in footer to read 'Status Check'

37.0.2

* Display Actionable empty state button if text is supplied

37.0.1

* Merging hotfix branch 36.3.14
* That fixes a bug created with the 36.3.8 branch, where the required text validation is missing.


**37.0.0**

* **Breaking:** Remove a bunch of mediafly-bootstrap.css, most notably styles on the `a` tag
* Fix modal top positioning (change from % to vh units)

36.3.12

* Update feedback component for safari

36.3.11

* Update form icon

36.3.10

* Add new lesson icon

36.3.9

* Add link to rich text toolbuilder

36.3.8

* Utilize ngDirty to hold required validation errors until form is dirty.

36.3.7

* Add manual background color for modal close button (browser consistency)

36.3.6

* Update themeService to assign default color values when undefined

36.3.5

* Fix feedback message wrapping on small viewports.

36.3.4

* Fix $log injection in logErrorHandler

36.3.3

* Add childlist to the observer
* Add role attribute to loading div

36.3.2

* Accessibility: Add observer for Tree Picker loading in modals for focus trap.

36.3.2

* Add keyboard and VO functionality to Tree Picker.

36.3.1

* Add mfly-webfont to standalone css bundle

36.2.0

* Removing light grey background color in airship, fixing focus-trap in disabled button situations, & improving focus UI

36.1.3

* handle either data.message or data.Message for error message because Airship uses Message

36.1.2

* Accessibility Modal
* Adding modal focus trap improvement for disabled buttons

36.1.1

* Release failed, releasing again to ensure it's out.

36.1.0

* Accessibility * css removing grey background color on body. Repositories must declare a body color independently or inherit white.

36.0.4

* Accessibility Modal & Focus Changes. Setting focus trap when modal is open.

36.0.3

* Bugfix for password input types in the metadata form

36.0.2

* Update .o-link to style buttons too.

**36.0.0**

* **Breaking:** Update auto-focus.service to set focus on a element after
page has been rendered or an element is currently not in view.

35.3.8

* in feedbackErrorHandler, actually inject all dependencies (and remove unused lodash)

35.3.7

* actually Inject the Injectable errorResponseService into feedbackErrorHandler

35.3.6

* Accessibility: Close dropdown menu after keypress on action.

35.3.5

* Update tslint-config version and define peerDependencies

35.3.4

* Accessibility Improvement: Shows/hides focus ring when pressing tab or mousedown

35.3.3

* Added 7 services/handlers to centralize them into JSUI: themeService, colorUtilsService, apiSuccessHandler, errorResponseService, feedbackErrorHandler, logErrorHandler, and urlModificationService (formerly known as urlService)

35.3.2

* Add keypress on dropdown menu for accessibility

35.3.0

* Updating text colors for accessibility

35.2.1

* Added callback funtion on close X in "full page" modals

35.2.0

* Add new "full page" display option for modals

35.1.3

* Add description to metadata form

35.1.2

* Add Form Icon to Form Component

35.1.1

* Fix form label CSS

35.1.0

* Add `elvis` glyph to mfly-webfont

**35.0.0**

* **Breaking**: Auto add "Copy again" when auto copying to clipboard
* Support colored text in text sections

34.8.0

* Remove autofill from date picker by adding autocomplete=off

34.7.0

* Support color & background color in the rich text editor.

34.5.4

* Add the font styles to the standalone bundle

34.5.3

* Adding new binding decorator for Input('=?')

34.5.2

* Revert Lodash upgrade, it was breaking consuming apps

34.5.1

* Add .git folder to .npmignore

34.5.0

* Add page header styles
* Add small button styles
* Improve focus outlines for all buttons
* Remove modernizr & bump Lodash to 4.17.11

34.4.5

* Add hourglass to progress circle

34.4.4

* Add class for disabled label

34.4.3

* Fix validation of number inputs in metadata-form

34.4.2

* Update Actionable Empty State documentation.

34.4.1

* Fixes Actionable Empty State button bug.

34.4.0

* Added Actionable Empty State component

34.3.0

* Updated Input, Button, and Table css to lighter weight `Next` styling.

34.2.0

* Added a standalone CSS file in `lib/styles.css`.

34.1.0

* Added Google Drive file type icons to mfly-webfont.

34.0.11

* Fix dropdown arrow appearance in IE11.

34.0.10

* Add icon radio buttons.

34.0.9

* Improved fix for hover tooltips on touch devices.

34.0.8

* Add cypress to `.npmignore`.

34.0.7

* Fix tab hover states.

34.0.6

* Only show hover tooltips if a hover interaction is available (via media query).
* Tweak dropdown select CSS in dark theme.

34.0.5

* Define tapered visual styles for h1-3.


34.0.3

* Fix babelify in package-lock.json.

34.0.2

* Fix for h1 headers that are getting cut-off when set to overflow-hidden.

34.0.1

* Fix vertical scrolling when Viewer is loaded in the Mediafly Outlook app Add-in on iOS.

**34.0.0**

* **Breaking:** Tabs: Removed `hide-tab` attribute as it prevented tabs from being loaded (rather than dynamically adding them). For tabs that should not be loaded, perhaps because of a permission violation, set `load-tab` to false (`load-tab` is true if not provided). If you wish to dynmically hide a tab (which will keep it in the DOM) use the `is-hidden` attribute -* which is also introduced in this release.

33.0.1

* Tabs: Fix auto selecting tab 1 bug. Changed `active-border-bottom-color` property to `active-tab-color` and converted to a simple string.

**33.0.0**

* **Breaking:** Tabs: Tab group now requires tab-id on each tab. Using tab-title as an id is no longer supported
* Tabs: isDisabled is now available on the individual tabs to prevent them from being activated.
* Tabs: Visual style of tabs has changed.
* Modals: Modal header now has an available css property (modalHeaderClass)

32.1.0

* Rich text editor: Add alignment controls to the toolbar.

32.0.1

* Feedback: Add `trustAsHtml` option.

**32.0.0**

* **Breaking:** FontAwesome: Update to font awesome pro. All calling applications should move to far or fal classes. See fontawesome website for additional details

31.0.8
- Changes to dropdown-menu-contents: allow optional containerHeight and combine positioning adjustment into one function

31.0.7
- Changes to FTM component to update style

31.0.6
- Changes to feedback to component to remove any malicious code if passed into message

31.0.5
- Export localization strings so Viewer can consume them

31.0.4
- Footer: = Added diagnosticsUrl to footer link options

31.0.3
- data-clipboard-text="" was being removed because it was not being set trustAsHtml

31.0.2
- When autocopy is not possible default so user can click to copy to clipboard

31.0.1
- **Breaking Change** Type Strings: Renamed mfly-type-string to type-string.

30.0.0
- **Breaking Change** Feedback: Rename feedbackFactory to feedbackService.
- New properties have been introduced for copying to clipboard.

29.0.0
- **Breaking Change** Auto Focus: Rename autoFocusFactory to autoFocusService.
- Decorators: Add back decorator support.

28.4.6
- Decorators: Remove decorator support.

28.4.5
- Metadata form: Change lookup inputs to type="search" to avoid Chrome autofill.

28.4.4
- Decorators: Add Injectable decorator and rework Inject

28.4.3
- Date picker: Fix picker in Firefox 64.

28.4.2
- Suppress Chrome autofill in date pickers
- Add TS decorators for AngularJS components

28.4.1
- Date-TZ picker: Fix picker in Firefox 64.
- Icon change: Folder icon change to open folder icon.

28.4.0
- Metadata form: Added support for color picker control.

28.3.3
- Site Header: Added a property that allows the host to hide the nav bar.

28.3.2
- Metadata form: Initialize friendly name of lookup values instead of just id.

28.3.1
- Rich text editor: Added a rich text editing component built on the Quill library.

28.2.1
- Tag input: Fix a bug around blank tags in comma-separated lists.
- Tree: Align folder icons and animate arrows on click.

28.2.0
- Metadata form: Include property field name in lookup input call.
- Tag input: Parse comma-separated strings into individual tags.

28.1.1
- Modal: Added a `modal-size="large"` property and changed the modal's position
to appear closer to the top edge of the screen.
- Modal: Prevented the site from scrolling behind an open modal.

28.0.1
**Breaking Change**
- Text input: Convert `pattern`, and `patternErrorMessage` to be a one-way binding.

27.1.2
- Tag input: Change `enter` event from key up to key press so it "beats" form submit.

27.1.1
- Tag input: Prevent default on `enter` keyup event.
- TypeScript: Add `noImplicitThis` to tsconfig and fix some errors.

27.1.0
- Feedback: Introduce `feedbackService`, a modernized version of `feedbackFactory`.

27.0.2
- Modal: Fix unsightly bottom border.

27.0.1
- Added an Input Group class object with inverse and small options for use in tradtional navbar.
- Site Header Navbar Item: Fix for id attribute not proberly being passed to anchor tags.

27.0.0
**Breaking Changes**
- Site Header attributes and behavior are changed to support customized UI.
- Site header component now transcludes the site navbar with new Site Header Navbar component.
- Site Navbar component is deprecated.

26.3.14
- Metadata form: Fix console error when removing items in array fields.

26.3.13
- Metadata form: Fix removing the last item in an array-of-objects field.
- Angular: Add Angular 6 proof-of-concept (no components ported yet).

26.3.12
- Tag input: Fix issue with form being invalid when initialized with undefined tag input value.

26.3.11
- Tag input: Change disabled attribute to isDisabled.

26.3.10
- Date time/zone picker: Fix broken scroll bar on time and TZ dropdowns.
- Dropdown menu: Fix positioning for very tall menus.
- Metadata form: Constrain date-input max width.
- Metadata form: Fix tag-input in IE11.
- Metadata form: Import form components and styles for consumers.

26.3.9
- Date picker: Fix visual styling when today's date is selected.
- Dropdown menu: Additional fix to IE11 repositioning offscreen menus.
- Metadata form: Set array values to `null` instead of `undefined` when removing
the last element, so they can be cleared during bulk editing.

26.3.8
- Tag input: Allow null tag input value.

26.3.7
- Tag input: Fix bulk editing tags.
- Tag input: Fix for persisting changes when removing last tag.
- Tag input: Fix for rendering "required" label.

26.3.6
- Tag input: Fix form validation failure when removing all tags.

26.3.5
- Metadata form: Fix CSS on Remove buttons for dropdown array fields.

26.3.4
- Tag input: Don't allow duplicate tags to be added.
- Tag input: Further fix for form $dirty behavior.

26.3.3
- Tag input: Fix null model when removing last tag.
- Tag input: Fix mysterious blank tag being added.
- Tag input: Set the form to $dirty when removing tags.

26.3.2
- Metadata form: Fix hardcoded reference to fields named `keywords`.
- Add some unused files to .npmignore.

26.3.1
- Dropdown menu: Fix IE11 issue with repositioning offscreen menus.
- Note: TS port of the dropdown menu contents component may break code that
relied on the internal DOM structure of the menu.

26.3.0
- Footer: Add Mediafly privacy policy link.

26.2.0
- Add tag input component & incorporate it into metadata forms.
- Date/TZ Picker: Fix a visual issue with time zone picker.

26.1.3
- Dropdown menu: Reposition if the menu would be offscreen vertically.

26.1.2
- Metadata form: Fix aggressive set-focus when changing text in array fields.
- Add `screenshots` to .npmignore file.

26.1.1
- Metadata form: Improve handling of "required" fields for array-of-object fields.

26.1.0
- Add progress bar component.

26.0.0 / 26.0.1
- Move package to NPM org.

#### 25.2.9

25.2.1–8 contain several fixes and improvements to the metadata form:

- Added support for objects and arrays of objects.
- Fixed a bug where array fields do not dirty their parent forms.
- Fixed a bug around bulk edit forms not clearing out values.
- Fixed a bug with array fields when toggling bulk edit "change" buttons.
- Replace focus when clearing the last array-of-text field.
- Fixed a bug with focus in array-of-text fields.
- Fixed a bug in metadata form component around change handlers.

#### 25.2.0

- **Metadata Form**: Added a metadata form component.

#### 25.1.1

- **Tree/Collapse**: Fixed broken collapse behavior in IE11.

#### 25.1.0

- **Modals**: Added `modal-body-class` parameter to the component.

#### 25.0.0

- **BREAKING -- Lodash**: Upgraded Lodash from 3.10.1 to 4.17.5.
- **BREAKING -- Modals**: Rewrote the modal component to compile new instances
on each `open`. The signature of `close` changed slightly.
- **BREAKING -- Legacy CSS**: Removed airship-classic.css.
- **Build**: Support writing JSUI components in TypeScript.

#### 24.5.1

- **Tree**: Show icons on disabled nodes.

#### 24.4.0

- **Modal**: Added a `dismiss` method to the modal service.

#### 24.3.0

- **Modal**: Added a new modal component.

#### 24.2.0

- **Progress Circle**: Added a "finished" state to the progress circle when it
reaches 100% (a checkmark icon is shown in the circle).

#### 24.1.1

- **Dropdown Menus**: Removed the breaking change where multiple types of action
attributes would throw. Turns out there were some good use cases for this.

#### 24.1.0

- **Progress Circle**: Added a new component which displays progress in a circle,
similar to the look in iOS v2.
- **Fonts**: Made font paths consistent and removed legacy font files which we
no longer use with our browser support matrix.

#### 24.0.0

- **BREAKING - Dropdown Menus**: Using more than one type of action attribute on
a dropdown-menu-action will throw. Note: this got reverted in 24.1.1 so you can
upgrade into this major without breaking changes.
- **Dropdown Menus**: Added an action-sref attribute to allow navigation via
state name with params and options.

#### 23.2.0

- **FontAwesome**: Update to FontAwesome 4.7.0.
- **mfly:icon**: Added `.mext` to icon kinds.

#### 23.1.1

- **Textarea**: Fixed validation text styles on text area control.

#### 23.1.0

- **Tabs**: Added a tab content container class.

#### 23.0.0

- **BREAKING - Tabs**: Removed the inherent 10px bottom margin on tab groups.

#### 22.4.0

- **Modals**: Added new object styles for modal classes like `.o-modal-content`.

#### 22.3.1/2

- **Hover Tooltip**: Added a new property to set the arrow flush left or right
instead of being slightly offset.

#### 22.3.0

- **Forms**: Added an `o-label` class.
- **Utilities**: Added `u-text-bold` and `u-text-italic` classes.

#### 22.2.0

- **Dropdown Menus**: Dropdown menus now dynamically position themselves if they
would appear offscreen horizontally.

#### 22.1.0

- **Labels**: Added object styles for labels.

#### 22.0.0

- **BREAKING - Angular**: Upgraded to Angular 1.5.11.

#### 21.2.0

- **Tree**: Extended tree component to included a `muted` property. This allows a selectable node with dimmed visual treatment.

#### 21.1.2

- **Site Header**: Changed the fallback from an image file to a base 64 data url.


#### 21.1.1

- **Hierarchy**: Tweaked the appearance of `muted` style un-clickable links.


#### 21.1.0

- **LESS**: Added the less-npm-import plugin. Styles are now pulled in from
npm modules by using `@import` inside LESS files.


#### 21.0.1

- **z-index**: Tweak z-index scale so that dropdowns are above the nav bar.


#### 21.0.0

- **Collapse**: Introduce new collapse component.
- **BREAKING - Tree**: Introduce new tree component. Legacy Airship tree css has been removed. New tree implementation must be used.


#### 20.1.0

- **Type String component**: Added a new directive for localizing type strings.


#### 20.0.1

- **npmignore**: Add e2e tests to npmignore.


#### 20.0.0

- **BREAKING - Angular version**: Updated Angular to 1.4.14.


#### 19.1.0

- **Icon**: Added icon for collections.


#### 19.0.0 / 19.0.1

- **BREAKING - FTM**: Change the `title` and `text` attributes to `ftm-title`
and `ftm-text` to avoid collisions with default HTML attributes.


#### 18.6.1

- **Paging**: Shrink the larger paging font on narrow screens.


#### 18.6.0

- **Dropdown control**: Added the ability to omit the empty option.


#### 18.5.2

- **Dropdown Menu**: Tweaked styles for dark theme dropdown and added a dark note style.


#### 18.5.1

- **Mfly Webfont**: Added `display: inline-block` to webfont instances. This fixes
the route spinner not spinning in consuming apps.


#### 18.5.0

- **Time Zones**: Added new date filter that preserves time zone.


#### 18.4.4

- **mfly:icon**: Changed the document icons to official MS Office ones.


#### 18.4.3

- **Dropdown Menu**: Fixed a bug where disabled dropdown links wouldn't always disable.


#### 18.4.2

- **Icon**: Replaced `smart-folder` icon with `search-folder`.


#### 18.4.1

- **z-index**: Moved tooltip above dropdown menu and created a z-index index.


#### 18.4.0

- **mfly Webfont**: Added new font-icons for Microsoft Office


#### 18.3.0

- **Icons**: Added new `root` icon.


#### 18.2.5

- **Time Zones**: Fixed some date issues when setting a timezone to the east.


#### 18.2.4

- **E2E**: Fixed some tests related to time picker format and moment.js.


#### 18.2.3

- **Time Zones**: Fixed for dates when updating timezone.


#### 18.2.2

- **Dropdown Menu**: Fixed `action-href-target` attribute.


#### 18.2.1

- Refactored npm dependencies to be `import`ed rather than DI'd.


#### 18.2.0

- **Check/Radio Pills**: Added an `is-inline-block` modifier class.


#### 18.1.0

- **Icon**: Added a new `smart-folder` icon.


#### 18.0.1

- **Dropdown**: Dropdown actions now support both action and href.


#### 18.0.0

- **BREAKING**: Removed backwards compatibility code. Now, components are only
exposed as commonJS modules.


#### 17.3.1

- **Login Text Input**: As a security improvement `autocomplete='off'` was added to login text inputs.


#### 17.3.0

- **Tab Set**: Added `tab-change-start` callback attribute. When this function is provided it should return a promise that must be resolved in order for the tab change to occur.


#### 17.2.0

- **Paging**: Added paging components.


#### 17.1.0

- **First Time Motivators**: Added placeholder for localization. Default English is provided but now keys can be provided (in the consuming app) to translate.
- **First Time Motivators**: Fix pointer events on hidden FTMs so they cannot block visible controls that may be underneath.
- **First Time Motivators**: Fix race condition where timeout on FTM compilation was happening after FTM target was declaring itself visible.


#### 17.0.4

- **Buttons/Links**: Override ng-animate to fix delay when showing/hiding these
elements.


#### 17.0.3

- **Date Input**: Correctly set model to null when the input was manually cleared.


#### 17.0.2

- **Buttons**: Tweak button CSS to fix intermittent border vanishing in prod builds.


#### 17.0.1

- **Hover Tooltip**: Destroy the tooltip on `stateChangeStart`. This helps with issues
where the tooltip would flicker when clicking on it and navigating to a new page.


#### 17.0.0

- **First Time Motivator**: Breaking Change- deprecated `render-over-header` attribute and replaced with `z-index-level`.
- **First Time Motivator**: Added `arrow-offset` attribute to position arrow away from horizontal/vertical center.


#### 16.9.8

- **OOCSS**: Prune and annotate the oocss file.


#### 16.9.7

- **Checkbox**: Fix vertical alignment of checkbox and label.


#### 16.9.6

- **Time Input**: Round the timepicker _up_ from default time instead of down.


#### 16.9.5

- **npmignore**: Add an `.npmignore` file.


#### 16.9.4

- **Reset**: Fix a bug where slightly wrong line-height value was being used in
the reset.less file.


#### 16.9.3

- **Hover Tooltip**: Fix a bug where the tooltip html didn't update on change.


#### 16.9.2

- **Date/Time Zone Picker**: Return the datepicker popup to "today" after
clearing out the date.


#### 16.9.0, 16.9.1

- **Date/Time Utilities**: Added `isSameDate` and `isSameTime` to utils.


#### 16.8.0

- **Date/Time Utilities**: Added a set of utilities for manipulating dates.


#### 16.7.0

- **Dropdown Menu**: Added a dropdown-menu-header component.


#### 16.6.1

- **Date/Time Inputs**: Changed week to start on Sunday.
- **Date/Time Inputs**: Narrowed year range to +/- 5 instead of 10 years.


#### 16.6.0

- **Date/Time Inputs**: Added `is-disabled` binding.


#### 16.5.3

- **FTM**: Moved First time motivator positioning logic to a jQuery-based solution.


#### 16.5.2

- **Tooltip**: Fix repositioning when tooltip changes while visible.


#### 16.5.1

- **Feedback**: Fixed the un-clickable area behind feedback alerts.


#### 16.5.0

- **Tooltip**: Update tooltip values when its binding changes.
- **Tooltip**: Sanitize the hover tooltip values to safely display HTML.


#### 16.4.6

- **Dropdown Menu**: Added pronounced colors for disabled menu items.


#### 16.4.5

- **FTM**: Added a check for a change in page height to reposition the FTM


#### 16.4.4

- **FTM**: Added annotations to the FTM controller to fix a bug in consuming apps.


#### 16.4.3

- **Color Input**: Required the `spectrum.js` file as well. This was causing
problems consuming the component in other applications.


#### 16.4.2

- **Annotations**: Added some missing annotations to be able to consume components
with controllers in Airship.


#### 16.4.1

- **First Time Motivator**: Moved motivator to a css positional hide to fix visibility errors on load.

#### 16.4.0

- **Timepicker**: Added `dropdown-default` attribute to control initial scroll
position and fixed some bugs around removing the value.


#### 16.3.1

- **FTM BUGFIX**: Corrected bug for offsetY attribute. Added event.ready to init code to prevent misplaced FMTs on page load. Added CSS to neatly handle wrapping FTM titles.


#### 16.3.0

- **FTM Upgrade**: Added render-over-header attribute to component. Fixed visibility change bugs on target element and introduced mfly-watch-target-element directive.


#### 16.2.0

- **Dropdown Menu**: Added a custom event handler attribute for `on-open` action.
- **Time Input**: The time input scrolls to near the currently selected time when
the input field is clicked (or 9:00 AM if nothing is selected).


#### 16.1.2

- **Modules**: Updated module boilerplate to explicitly inject dependencies.


#### 16.1.1

- **Reset**: Moved some `body` and `html` styles into `reset.less` from
bootstrap and mediafly.css files.


#### 16.1.0

- **FTM Upgrade**: First time motivator hides when it's target element is hidden. OffsetX and OffsetY properties where added for manual positioning. Changes are backwards-compatible.


#### 16.0.3

- **Mediafly Utils**: Remove code from `mediafly-utils.js` that was not used.


#### 16.0.2

- **No Man's Land**: Fix broken stuff from 16.0.0.


#### 16.0.1

- **First Time Motivator**: Allow FTM to be displayed if is-visible is initially true.


#### 16.0.0

- **Angular boilerplate**: BREAKING - Changed how components are registered; if
consuming JSUI in a commonJS environment, you will only need to `require` the
components now. The angular registration will happen automatically.

- **Constants**: BREAKING - To get is.js and Lodash angular constants, ingest
the `constants` component instead of individual components.

- **Lodash mixin**: BREAKING - The `isUndefinedOrNull` mixin is removed. It is
recommended to replace it with `is.not.existy` from is.js or explicit checks.


#### 15.17.4

- **Hierarchy**: Make the last link in a browse hierarchy clickable.


#### 15.17.3

- **Color Input**: Fix watch syntax to prevent js console errors.


#### 15.17.2

- **DTZ Picker**: Fix date field not updating on programmatic changes. Fix
moment.js deprecation warning.


#### 15.17.1

- **Time Input**: Don't update the date part of the model when updating time.


#### 15.17.0

- **First Time Motivator**: Introduced new first time motivator component.


#### 15.16.2

- **Build system**: Eliminate Bower.


#### 15.16.1

- **Feedback**: Updated feedback component to use $interval instead of $timeout.
This is for e2e testibility due to a protractor bug with $timeout.


#### 15.16.0

- **Links**: New `o-link` class added with `is-disabled` and `has-icon`
modifiers. A lot of unused legacy CSS was also deleted in this version.


#### 15.15.0

- **Localization**: JSUI will look for the $translate service; if it is
available, locale strings will be used. If not, JSUI defaults will be used
instead.


#### 15.14.5

- **Tooltip**: Fixed a tooltip bug introduced in 15.14.4.


#### 15.14.4

- **Tooltip**: Clean up the tooltip when scope is destroyed.


#### 15.14.3

- **Color Picker**: Updated validation classes.


#### 15.14.2

- **Alerts**: Tweaked colors on plain gray alert.


#### 15.14.1

- **LESS utilities**: Added grayscale color utility classes.


#### 15.14.0

- **Date/Time Inputs**: Added new date-input and time-input controls that can be
used on their own. They take a Javascript date object as model.


#### 15.13.0

- **Text Inputs**: Added a `placeholder` attribute.


#### 15.12.4

- **Tabs**: New tab-id attribute is the unique identifier for tab controls and
must be provided on each mfly:tab - falls back to tab-title if not provided.


#### 15.12.3

- **Tables**: Add an `is-dangerous` row class for red backgrounds.


#### 15.12.2

- **Pill Buttons**: Add an `is-disabled` class to pill radios and checkboxes.


#### 15.12.1

- **Textarea**: Allow `o-form-control` textareas to resize vertically.


#### 15.12.0

- **Table Bottom Buttons**: Added object styles for button groups at the bottom
of a form (for example, Save/Cancel).


#### 15.11.2

- **Site Navbar**: Wrap long navbar items with ellipses.


#### 15.11.1

- **Table Blank Slate**: Changed header and body to string bindings.


#### 15.11.0

- **Table Blank Slate**: Added a component for table blank slates.


#### 15.10.7

- **Validation**: Fixed validation message alignment.


#### 15.10.6

- **Tabs**: Fixed an issue with tab html titles not rendering.


#### 15.10.5

- **CommonJS**: All components exported both as globals and as CommonJS modules.


#### 15.10.4

- **Typed Icon**: `mfly:icon` control updated to work better with external CSS
classes, both via `class` and `ng-class`.


#### 15.10.3

- **Angular**: Angular and its core dependencies updated to v1.3.14.


#### 15.10.2

- **Less Objects**: Add wrapper class for full browser layouts (video and document pages).

- **Legacy**: Removed unused classes and `ie.css`.


#### 15.10.1

- **Date TimeZone Picker**: Syntax fix on form watch expressions to prevent console errors on route reloads.


#### 15.10.0

- **Date TimeZone Picker**: Changed form variables from primitives to objects.


#### 15.9.2

- **Buttons**: Slightly darkened the border color for primary buttons so that it does not blend into the navbar and still has contrast on white backgrounds.

#### 15.9.1

- **Buttons**: Slightly lightened the border color for primary buttons so that it does not blend into the navbar.


#### 15.9.0

- **Dark Theme**: Added a dark theme option for dropdowns, dropdown menus and
form group labels.


#### 15.8.4

- **Date TimeZone Picker**: Added error text for invalid date. Corrected
placement of invalid time message.


#### 15.8.3

- **Table Less**: Added fixed thumbnail wrapper classes to o-table.

- **Radio & Checkboxes**: Added classes that can be added to radios to when disabled.


#### 15.8.2

- **Tabset**: Changed maintenance of activeTab variable. Previously the 2-way
bound variable would not update as tabs were clicked. With this fix, the activeTab
variable will always represent the title of the currently active tab.


#### 15.8.1

- **Date TimeZone Picker**: Add PREFIX paths so that component can be injected remotely.


#### 15.8.0

- **Date TimeZone Picker**: Introduced new dateTimeZonePicker component.


#### 15.7.0

- **Text inputs**: Added URL validating and pattern-matching text inputs.


#### 15.6.0

- **Draggable**: Added `draggable` attribute to slide images that is bound to
`content.canShare`. This disables dragging images out of the browser if the user
doesn't have the proper permissions.


#### 15.5.0

- **Tabs**: Added a `tab-when-clicked` handler that allows binding additional handlers
to the tab for when it is clicked.


#### 15.4.0

- **Autofocus**: Removed autofocus default timeout. Added a manual function that
can accept a delay parameter.


#### 15.3.2

- **Autofocus**: Increased timeout delay to 300ms to support modals.


#### 15.3.1

- **Footer**: Improve footer behavior on narrow viewports.


#### 15.3.0

- **mfly:icon**: Change `interactive` icon kind to `fa-bolt` icon.


#### 15.2.0

- **Tables**: Removed/renamed some unused table classes and added a new one for
tables who should have additional padding on small viewports.


#### 15.1.2

- **Site Header**: Made several tweaks to how the smaller site header is displayed.


#### 15.1.1

- **Dropdown menu**: Fixed a race condition that sometimes caused the `pins-to`
attribute to be ignored.


#### 15.1.0

- **Tab Set**: Introduced a new set of components for tabs. The outer tab-group
component provides the ability to create tabs, programmatically select them and
have html tab titles.


#### 15.0.1

- **Site Header**: Changed "first navbar item" from a pseudoselector to a class.


#### 15.0.0

- **Site Header**: BREAKING -  Added a new site header component and changed existing
container CSS to allow for responsive changes on small views. Note that the new
header component *MUST* be implemented when JSUI is updated to this version, or
the site will act poorly on small viewports.


#### 14.7.1

- **Add-on CSS**: Added css to handle borders, dirty/invalid, and no-highlight
styles for form control add-ons.


#### 14.7.0

- **Media Error Handler**: Added a directive to attach error handlers to image,
video and audio loaders.


#### 14.6.3

- **Slides**: Fix a bug where the scroll bar was part of the slide animation.


#### 14.6.2

- **Dropdown menu**: Fix a bug where dropdown menu would show visible list item
bullets on some browsers.


#### 14.6.1

- **Grid utilities**: Fix some bugs dealing with the endpoints of show & hide utilities.


#### 14.6.0

- **Dropdown Menu**: Added the `action-href-target` attribute for menu items.


#### 14.5.0

- **Dropdown Menu**: Added a `disable` binding for the toggle.
- **Buttons**: `is-disabled` class on a button will now disable it.


#### 14.4.0

- **Buttons**: Added button group classes.


#### 14.3.0

- **Dropdown Menu**: Added positioning options for the dropdown to open on top of its toggle.


#### 14.2.2

- **Color Inputs**: BUGFIX - Updated color input to dirty the control when only the picker is used.


#### 14.2.1

- **Horizontal Lists**: Change `<li>` selector to immediate child so it doesn't affect lists inside dropdowns.


#### 14.2.0

- **Color Input**: Use spectrum js color picker to provide a pop up for palette color selection.


#### 14.1.1

- **mfly-font**: BUGFIX - Added display:inline-block to .mfly-font to remove underlines and preserve animation.


#### 14.1.0

- **mfly-font**: Introduced a new film-cut font for the viewer scene project.


#### 14.0.1

- **Slides**: Added new slides component that is now used by view for all mmpm documents.

- **ShowImageLoader**: Added new ShowImageLoader component that is used by the slider (but has no dependency)


#### 14.0.0

- **Carousel**: BREAKING - Added a new carousel control that shares the same name as the one that was in the apps.


#### 13.5.1

- **mediafly-utils**: Removed `disableContextMenu`; that code now has a proper component and is not used in any app.


#### 13.5.0

- **is.js**: Added `is.js` to the project as an Angular constant.
- **Platform factory**: Removed this factory (which wasn't in use) in favor of `is.js`.


#### 13.4.0

- **Disable Context Menu**: Adds a directive to disable right-click menu on a given element.


#### 13.3.2

- **Autofocus**: Add a tiny delay to the autofocus directive so it works inside modals.


#### 13.3.1

- **Icon**: Accept `interactive` as kind that shows the same icon as `zip` kind.


#### 13.3.0

- **Dropdown Menu**: Allow `action-href` items to be disabled.


#### 13.2.1

- **Buttons**: Fix `border-color` not transitioning on button hover.


#### 13.2.0

- **Dropdown Menu**: Dropdown actions have a `disable` attribute which stops the action from happening and adds the `is-disabled` class as a styling hook.


#### 13.1.1

- **Dropdown Menu**: The dropdown menu applies the `has-open-dropdown` class to its toggle element while open.
- **Dropdown Menu**: Cleaned up some zombie `$rootScope` event handlers.


#### 13.1.0

- **Dropdown Menu**: A new dropdown menu control was introduced.


#### 13.0.0

- **Angular**: BREAKING - Angular and its core dependencies updated to v1.3.2.


#### 12.14.0

- **Checkbox, Color Input, Dropdown, LoginTextinput, Textinput, and Textarea**: BREAKING CHANGE - All id attributes have been renamed to inputId.
- **Login TextInput**: Added ng-required true.


#### 12.13.1

- **Feedback**: Fixed wrapping of long text in the feedback control.


#### 12.13.0

- **Tooltip**: Added `top right`, `bottom left`, `bottom center` and `bottom right` positioning options.
- **Tooltip**: Added `max-width` option.
- **Tooltip**: Minor layout/positioning enhancements.


#### 12.12.2

- **Vendor Prefixes**: Added a prefix mixin for `animation-play-state`.


#### 12.12.1

- **Buttons**: Introduced o-button object class to mirror bootstrap's btn.


#### 12.12.0

- **Login TextInput**: Added new text input control modeling the behavior of our login page inputs.
- **TextInput & TextArea**: Note that the type attribute has been re-named to input-type.


#### 12.11.0

- **Platform Factory**: Added (user-agent sniffing) platform detectors.
- **Lodash**: Added `stringContains()` mixin.


#### 12.10.0

- **Tooltip**: Added delay and position options to tooltip.
- **Lodash**: Added `isUndefinedOrNull()` mixin.


#### 12.9.0

- **Tooltip**: Added a new tooltip control.
- **Animations**: Added `fadeInToBlock` and `fadeInToInlineBlock` keyframe helpers.


#### 12.8.0

- **containers.less**: Added `o-wrap-master` to the containers file for use in the apps.


#### 12.7.0

- **Checkbox**: Added mflyCheckbox control from Airship, canEdit attribute logic is changed to isDisabled
- **Color Input**: Added mflyColorInput control from Airship, canEdit attribute logic is changed to isDisabled.
- **Dropdown**: Added mflyDropdown control from Airship, canEdit, isSelected, and canToggleSelection attributes were all merged into isDisabled. Logic to disable the control must be completed in the parent controller.
- **Textarea**: Added mflyTextarea control from Airship, canEdit, isSelected, and canToggleSelection attributes were all merged into isDisabled. Logic to disable the control must be completed in the parent controller.
- **Textinput**: Added mflyTextinput control from Airship, canEdit, isSelected, and canToggleSelection attributes were all merged into isDisabled. Logic to disable the control must be completed in the parent controller.
- **Auto Focus**: Added mflyAutoFocus directive from Airship: used by textinput control to implement it's autofocus functionality.


#### 12.6.0

- **Hierarchy**: Added `muted` style as a new hierarchy option.


#### 12.5.0

- **Pill Checkbox/Radios**: Explicitly set margin to 0 on this control to allow for more flexibility when consumed.


#### 12.4.0

- **Frame Advance Font**: Added mfly-font-forward1-frame and mfly-font-back1-frame.
- **Horizontal List**: New container o-horizontal-list creates a un-padded, no-margin floated list. Can be modified right.
- **SecondToHMS**: Additional conversion function for a subsecond version of SecondToHMS.


#### 12.3.0

- **Open Sans**: Added Open Sans as a font package in JS-UI


#### 12.2.0

- **Time Conversion**: Added the seconds/hms formatting functions to new `timeConversionFactory`


#### 12.1.0

- **Pill buttons**: Added pill check/radio boxes with no label


#### 12.0.0

- **FontAwesome**: BREAKING - Remove FontAwesome from `mediafly-bootstrap.css` and include it separately
- **FontAwesome**: Update to v4.4
- **Radio & Checkboxes**: Added o- styling for both radio and checkbox inputs.
- **Feedback**: Extended feedback component to take an optional manualClose parameter.
- **Tables**: BREAKING - Table row selection has been reduced to two classes, is-selected and is-dimmed.


#### 11.6.0

- **Text utilities**: Add text alignment utilities
- **Color utilities**: Add color and background color utilities


#### 11.5.0

- **Grid utilities**: Add greedy size show/hide utilities


#### 11.4.0

- **lodash**: Add lodash to the project


#### 11.3.0

- **Dropdown**: Added a class to anchor dropdown menus on the left


#### 11.2.0

- **Grid**: Added responsive show/hide utilities
- **Grid**: Drive grid breakpoints from variables instead of hard-coded values


#### 11.1.0

- **Fonts**: Added new fonts for display full screen, browser full screen, and details view


#### 11.0.0

- **Tables**: Removed default `vertical-align: top` from `o-table > ... > td` (it was too opinionated)


#### 10.5.0

- **Buttons**: Added new `objects/buttons.less` file with checkboxes and radio buttons in it


#### 10.4.0

- **Feedback component**: Enhanced feedback component and broke dependency on Angular Bootstrap
- **Containers**: Added `alert` styles to `containers.less` file
- **Variables**: Added UI colors to `colors.less` file


#### 10.3.0

- **Forms:** Added `o-form-group` style
- **Variables:** Started `variables/forms.less` variables file


#### 10.2.0

- **IE:** Added IE-specific styles for route spinner
- **Utilities:** Added `u-clean` to `utilities.less` file


#### 10.1.0

- **Containers:** Added dropdown styles to `containers.less` file
