## @mediafly/js-ui changelog

**53.0.1**

* Fix `date-time-zone-picker` re-populating the previous date when the input is cleared, so an empty date is now saved. Typing a new date over an existing one no longer reverts either, and an unparseable date is left in the input and flagged instead of being silently replaced.

**53.0.0**

* **Breaking:** Prevents any HTML/JS injection into feedback alerts by default. HTML can still be included by explicitly setting `trustAsHtml` to true.

**52.0.1**

* Update Lodash version

**52.0.0**

* Update the Poppins and Roboto fonts to include more than just Latin charactors

**51.7.0**

* Add the ability for users to choose target self/blank for each link in rich text editor content

**51.6.3**

* Fix date strings in the date-input component displaying "Invalid Date"

**51.6.2**

* Fix logo images less than 100px high being stretched in the `site-header` component

**51.6.1**

* Fix bug in paging control when the total number of items is unknown

**51.6.0**

* Add `date-time-zone-city-picker`

**51.5.8**

* Add font-family: Poppins, font-weight: 600

**51.5.7**

* Add `totalCountText` property to paging-range-bottom to allow overriding the `totalCount` text

**51.5.6**

* Add right guard to top and bottom page range, not over total

**51.5.5**

* Fix bugs in date-input

**51.5.4**

* Fix Daylight Savings time zone detection in date-time-zone-picker

**51.5.3**

* Add an option for modals to pass in a `modalAsyncContentLoaded` property to handle applying focus to async content

**51.5.2**

* Add data-fs-attribute for pagination next and prev buttons

**51.5.0**

* Added the `font-weight-selector` component
* The `rich-text` component now supports font weight variants for Google fonts

**51.4.2**

* Fix clicking away from dropdown menus

**51.4.1**

* Replace `moment` with `Luxon` (date/time packages)

**51.4.0**

* Added `light` and `dark` variants of several `ui-theme` colors
* Updated the style of the `feedback` component

**51.3.2**

* Display an AI indicator icon on metadata fields with `isGenAIPopulated`

**51.3.1**

* Fix errors being thrown by specific metadata field schema

**51.3.0**

* Replace the `clipboard` npm package with the built-in `clipboard` API

**51.2.4**

* Replace `ng.IComponentController` with imported `IComponentController`

**51.2.3**

* Fix highlights on Rich Text Editor alignment buttons

**51.2.2**

* Backwards compatible bullet points in Rich Text Editor

**51.1.2**

* Add DigitalSalesRoom to icon component

**51.1.1**

* Fix cachebusting query param in mfly-webfont (CE-11573)

**51.1.0**

* Prevent users pasting images into the Rich Text Editor

**51.0.0**

* **Breaking:** The following components are removed:
  * `disableContextMenu`
  * `slides` / `show-image-loader`
  * `dateTimeUtilities`
  * `timeConversionFactory`
  * `is_js` constant DI
* **Breaking:** The following CSS and LESS variables are removed, in favor of semantic or "primary"/"secondary" branding colors:
  * `color-mfly-blue`
  * `color-mfly-blue-dark`
  * `color-mfly-blue-light`
  * `color-mfly-purple`
  * `color-mfly-red`
  * `color-mfly-green`
* **Breaking:** `color-dirty-control` is no longer exposed, consumers shouldn't rely on this implementation detail
* **Breaking:** All other color variables are updated to match the new design system palette
* **Breaking:** Remove partial box-shadow variables like `--input-invalid-focus-box-shadow-horz2`
* Other changes:
  * Update Microsoft Office type icons
  * Fix vertical alignment of the checkbox component
  * Refactor date-time-zone picker HTML to not use input-addons anymore
	* a11y: Switch loading-indicator dots from label to div
	* a11y: Fix metadata-form array & object labels' `for` attributes

**50.5.0**

* Support "Are you sure?" confirmation when dismissing full-page modals

**50.4.4**

* Work around a Quill bug related to bold/italic/underline for certain fonts

**50.4.3**

* Rich text editor supports colored bold/italic hyperlinks

**50.4.2**

* Update decorators to support use in TypeScript 5 (this project is still on TypeScript 4)

**50.4.1**

* Fix a bug with the font picker in the rich text editor

**50.4.0**

* Add ui-theme's color scheme

**50.3.5**

* Remove the `fsevents` optional dependency - this was needed on Windows for older versions of npm but shouldn't be necessary anymore.

**50.3.4**

* Fix tooltip positioning

**50.3.3**

* Fix Quill backwards compatibility issues in the rich text editor

**50.3.2**

* Add a background color to the rich text editor's toolbar

**50.3.1**

* Preserve Quill's bullet points in output HTML

**50.3.0**

* Upgrade to Quill 2.0; overhaul the rich text editor component.

**50.2.0**

* Removed legacy header styles on h1, h2, etc. Headers now require an `o-h1` class to use the default styles.
* Removed the `has-no-margin` class from headers, this is now the default state. The previous default margins can be applied using the class `vertical-margin`.

**50.1.0**

* Support readonly fields in the metadata form component
* Change US timezone labels

**50.0.8**

* Update the decorator components to emit dependency annotations
* Manually annotate some older components/directives
* In this release JSUI should be able to be consumed without `babel-plugin-angularjs-annotate`

**50.0.7**

* Fix boolean metadata field changes not dirtying the state in bulk edit mode

**50.0.6**

* Fix metadata form checkboxes not resetting when Leave Unchanged is selected in bulk edit mode
* Fix metadata form required fields having their `null`/`undefined` states inverted in bulk edit mode
* Fix error when attempting to focus an element that no longer exists

**50.0.5**

* Add more manual DI annotations

**50.0.3**

* Add manual DI annotations to the sanitize config block

**50.0.2**

* Update z-index rules to work nicely with MUI rules

**50.0.1**

* Refactor the inline-text-element component to fix a layout issue

**50.0.0**

* **Breaking:** Build the code with Webpack 5. Shouldn't be breaking, but it's hard to tell.
* Fix `rich-text` component losing font family in some cases.

**49.0.3**

* Updated changing text color to accept the selected color
* Added styling for disabled tag lookup inputs
* Added disabling add and remove inputs links for metadata inputs

**49.0.2**

* Defined check dropdown enum options

**49.0.1**

* Preload bold fonts

**49.0.0**

* **Breaking:** `<p>` tags are no longer styled by default. Use `<p class="o-p">` to restore your old layout.

**48.1.3**

* Changed the way modals lock scroll position while they are open

**48.1.2**

* Removed spellcheck from the rich text editor component

**48.1.0**

* Added H1/H2 controls to the rich text editor component

**48.0.0**

* **Breaking:** Move FontAwesome CSS out of the standalone styles bundle and into a separate one, available in the npm package at the path: `@mediafly/js-ui/lib/fonts.css`

**47.6.0**

* Refactor thumbnails to expose to React

**47.5.2**

* Removed obsolete @mediafly/e2e-utils dependency and protractor references

**47.5.1**

* Tree: Fixed: pass itemsOnlyAddButtons binding to the tree-node in child-container

**47.5.0**

* add maxlength to login-textinput component

**47.4.2**

* Tree: Fixed: added condition to properly handle the Add buttons configuration on the root folder

**47.4.1**

* Tree: make it configurable whether to show Add buttons on folders

**47.4.0**

* Add PageThumbnailService

**47.3.1**

* Font Selector: Extended component so that a font-family can be bound.
* New property input-id is required.
* Dropdown initially shows the most popular fonts rather than an empty auto-complete.

**47.2.1**

* auto-complete-match-renderer: Fixed the debounce delay and the handling of the async getMatches responses

**47.2.0**

* Buttons: Added small sizing to primary buttons

**47.1.0**

* Colors: Tweaked color-danger and color-danger-light values

**47.0.0**

* **Breaking:** Update AngularJS to 1.8

**46.3.0**

* CSS Modules: Added button module styles

**46.2.7**

* Change Log: Moved version tag to main branch updated changelog.md

**46.2.6**

* Rich Text: Fixed: Color only changes were not firing a change to ngModel

**46.2.3**

* Rich Text: Changed size options to use style attribute with px.
* Rich Text: Clear font selector auto complete after selection.

**46.2.2**

* Fix imports for font-selector so backend file is not automatically imported

**46.2.0**

* Initial structure for exposing CSS Modules in packaged `lib/jsui.module.css`
* Variables are available in a class to be composed into consuming apps
* A few classes are ported to modules, with more to come incrementally

**46.1.0**

* Add `rounded rectangle` button kind

**46.0.0**

* This release has no breaking changes
* New `fontSelector` component which utilizes `google webfonts api` service and `webfont loader service` to allow dynamic loading from the Google font library
* Update `richTextEditor` component to incorporate `fontSelector` in it's toolbar
* Update `richTextEditor` component to incorporate browser native color input

**45.3.1**

* Add `drawing` icon kind

**45.3.0**

* Add dropdown-menu toggle event

**45.2.0**

* Remove `angular2react` from Component Decorator
* Remove `angular2react`, `react`, `react-dom`, and `babel-preset-react` packages

**45.1.2**

* Update design for JSUI Modal - removing the top rule and bottom rule

**45.0.1**

* **Breaking:** Add an `o-hero` header typography class and update the font-size for `o-h1` class

**44.0.0**

* **Breaking:** Errors: Start handling 400 api errors.

**43.4.2**

* Headers: Add React-compatible page-header classes.

**43.4.1**

* DTZ picker: Now initializes with $dirty correctly set to false.

**43.4.0**

* Adding thumbnails to tree items on hover.

**43.2.0**

* Add loading-indicator: migrated from Viewer
* Checkbox input: Add support for description field

**43.1.0**

* Modal: The header and footer transclusion slots in a modal are now optional.

**43.0.3**

* Dropdown menu: Fix a bug where runtime changes to the `is-disabled` binding had no effect.

**43.0.2**

* Autocomplete: Fixed clear-after-complete behavior for autocompletes with object matches.

**43.0.1**

* Dropdown input: Now supports `enumOptions` changing at runtime.

**43.0.0**

* **Breaking:** Metadata form: DTZ pickers can now successfully be "required", but the api changed from "required" to "is-required".

**42.2.0**

* Fullscreen service is added to JSUI
* Metadata form: Support object enum for dropdowns in typings

**42.0.2**

* Dropdown input: Required dropdowns were broken in the 1.6 upgrade and are fixed in this release.

**42.0.1**

* Color input: This component was broken in the 1.6 upgrade and is fixed in this release.

**42.0.0**

* **Breaking:** Upgrade Angular and related modules to 1.6.10.

**41.0.0**

* **Breaking:** JSUI is now built without any dependency on create-app. It ships javascript files with TS definitions in the npm package instead.

40.2.0

* Disable Context Menu component can now be enabled/disabled with a binding

40.1.0

* Add gesture-handler

40.0.1

* Footer: Remove Recent Changes and Diagnostics URL from footer

**40.0.0**

* **Breaking:** Autocomplete match typings are changed to isolate data from UI state.

39.4.1

* Modal: Correctly destroy modals when dismissing or closing them. A modal component's $onDestroy() method should now reliably fire.

39.4.0

* Autocomplete: Add clear-after-selection attribute.

39.3.1

* Autocomplete: Add the ability to return custom css classes for match rows in the dropdown.

39.2.0

* Improve performance of the dropdown menu component.

39.1.1

* Fix standalone CSS bundle

39.1.0

* Support for tag autocomplete component in the metadata form component.

39.0.2

* @Component decorator throws if you provide a kebab-cased selector.

39.0.1

* Manual close now works correctly on auto-copying feedback messages.

**39.0.0**

* **Breaking:** Autocomplete input-id is required and match renderer api is changed slightly. This is in preparation for adding the tag-lookup control to the metadata form.

38.9.0

* Add workspace to the icon component

38.8.2

* Improve Jenkinsfile build status notifications and Cypress stage runs

38.8.0

* Text input validation by regex.

38.7.4

* Bug fixes for autocomplete for tag input component.

38.7.3

* Autocomplete for tag input component.

38.7.2

* Add the `o-modal__header-text` class for styling modal headers.

38.7.1

* Further changes to tag & autocomplete components to support a combined control.

38.6.0

* Typography: Added `.o-h1` through `.o-h4` header style classes and removed unused code.

38.5.0

* Tag component: Add inline tag option.

38.4.3

* Links: Fix `.o-link.has-icon` with `.fab` and `.mfly-font` icons.

38.4.2

* Tree: Remove `use-add-buttons` attribute, and display add buttons only when `on-node-add-button-click` is provided.

38.4.1

* Tree: Extend to use add buttons when `use-add-buttons` attribute is set to true.
* Tree: Include new `on-node-add-button-click` callback when add buttons are clicked.

38.4.0

* **Warning:** Skip to 38.4.1

38.3.0

* Remove copyright and 'Mediafly' from privacy policy in footer

38.2.1

* Add o-link on Feedback Message links for underlined links

38.2.0

* Tree: introduced a new property `item-only-selection` property to prevent folder selection.
* Tree: require shift button to be pressed to multi-select.

38.1.2

* Decorators: added optional output typing

38.1.1

* Add overflow: auto to the modal backdrop class

38.1.0

* Add a new autocomplete component.
