Skip to content

Latest commit

 

History

History
1742 lines (1041 loc) · 76.2 KB

CHANGELOG.md

File metadata and controls

1742 lines (1041 loc) · 76.2 KB

8.0.4 (2022-10-27)

Bug Fixes

  • combobox: lookups stop selection of option when no matches closes #575 (#576) (85f6b31)
  • combobox: stop updating input if there is no selection (#558) (43242c5)
  • combobox: update selection value when options change (fe25ae4)

Features

  • lib: update to angular 12 (c59e237)
  • lib: update to angular 12 (988fff0)

8.0.0 (2021-06-27)

Features

  • app: update project to angular 12 (510188f)

BREAKING CHANGES

  • app: ng-lightning requires a minimal version of Angular 12

Next version

Features

  • app: support Angular v12

7.0.2 (2021-03-16)

Bug Fixes

  • paginations: show correct start and end values when current is undefined (655ba96)

7.0.1 (2021-01-11)

Bug Fixes

7.0.0 (2020-06-16)

Bug Fixes

  • combobox: single selections shouldn't be cleared upon re-selection (b5655d3), closes #507 #509

Features

  • datepicker: expose to allow extra functionality (2ca43e0)
  • datepicker: option to display the date pattern as placeholder of input (9b71b8f)

BREAKING CHANGES

  • datepicker: ngl-datepicker-input should contain the `

    Before:

    <ngl-datepicker-input readonlyInput placeholder="..."></ngl-datepicker-input>

    After:

    <ngl-datepicker-input><input nglDatepickerInput readonly placeholder="..." /></ngl-datepicker-input>
  • combobox: Single selection comboboxes (picklists) will not be cleared upon re-selection the already selected value. If you want to keep the old behaviour (although it is not recommended) you should either provide an external clear button or an extra "empty" option.

6.1.1 (2020-05-27)

Bug Fixes

  • tabs: change class calculation for content element (756c607)

6.1.0 (2020-05-17)

Bug Fixes

  • accordion: correct button type tp prevent form submission (9306d61), closes #505
  • package.json: strict v9 Angular peer dependencies (95025f7), closes #508

Features

  • combobox: support custom labels & global configuration (e11cc72), closes #511

6.0.0 (2020-02-11)

Bug Fixes

  • app: remove isRequired decorator (9053123)

Features

  • app: support Angular v9 (1ecd81f)

BREAKING CHANGES

  • app: drop runtime errors for missing required input properties
  • app: ng-lightning requires a minimal version of Angular 9

5.0.0 (2020-01-06)

Bug Fixes

  • tabs: correct tabindex value for non selected header (f87539b)

Features

BREAKING CHANGES

  • app: ng-lightning requires a minimal version of SLDS 2.9
  • app: ng-lightning requires a minimal version of Angular 8

4.8.2 (2019-08-20)

Bug Fixes

  • checkboxes: support dynamic options (6c11877)

4.8.1 (2019-07-17)

Bug Fixes

  • correctly export individual modules to avoid aot issues (4986423)
  • checkboxes: support template as error (3e63b41)
  • input: correctly handle error as "false" string (7f03235)
  • select: support template as error (967cdbf)

4.8.0 (2019-07-15)

Features

  • input: support template as error (264ff66)
  • tooltips: support delay option in global configuration (a56a1a4)
  • support importing individual modules (4c84883)

4.7.1 (2019-06-28)

This relase will just fix a problem we had with the previous one.

4.7.0 (2019-06-28)

Bug Fixes

  • file-upolad: correcty validate file extensions on accept input (170737e)

Features

  • datepickers: add "Today", "Previous Month" and "Next Month" labels on configuration (2bcedc1)
  • tooltips: support custom classes (19c07a2)
  • export components to public API (0dd6361)

4.6.0 (2019-06-23)

Features

  • datepickers: add inputs for static text in templates (d7d9bf8)
  • file-upload: add <ngl-file-upload> component (6832101)

4.5.2 (2019-05-20)

Bug Fixes

  • comboboxes: hide menu if element is scrolled outside of view (cbdbb72)
  • datepickers: hide calendar if input is scrolled outside of view (1c5e10f)
  • modals: mark body as a scrollable container (b780ec5), closes #478

4.5.1 (2019-05-16)

Bug Fixes

  • comboboxes: add accessibility attribute for disabled options (eed7bcd)
  • datepickers: prevent multiple input datepickers open at the same time (38f363b)
  • datepickers: update input validity if min/max changes (c4df4ff)
  • popovers: remove comments from template output (dee6ba2)

4.5.0 (2019-05-13)

Bug Fixes

  • comboboxes: prevent close if clicking a non-option inside the dropdown menu (7e1717c), closes #472
  • datepickers: open the datepicker when a mouse user clicks on the input (9a659d8)

Features

  • comoboboxes: render menu as overlay (f4aa1b2)
  • datepickers: localized month/day names and first day of week & configurable firstDayOfWeek (a1487fc)

4.4.0 (2019-05-04)

Bug Fixes

  • checkboxes: toggle should set aria-describedby on input element (9ed081b), closes #465
  • colorpicker: display empty intial values as empty string in input (7f183f7)
  • radio-group: correctly render dynamic options (2357b5a)

Features

  • colorpicker: support configuration (aad87d8)
  • colorpicker: support input placeholder (0a7b766)
  • datecpickers: support min and max dates (a50719c)
  • datepickers: add datepicker input (1137b99)
  • datepickers: add inputs and configuration options for years range (7251f2d)
  • datepickers: support custom disabled dates via input callback (bf06068)

Performance Improvements

  • datepickers: reduce renedring operations (b38dc47)

4.3.1 (2019-04-22)

Bug Fixes

  • datepickers: move focus on keyboard navigation & mark only once as today (c4dc7a6)
  • modals: render as CDK overlay to prevent stacking porblems (7ab80b1)

4.3.0 (2019-04-16)

Features

  • buttonicons: support extra classes for SVG element (6fdaa1e)
  • tooltips: initial configuration support (febe6df)
  • tooltips: open/close without two-way binding to input (01883ff)

4.2.0 (2019-04-14)

Bug Fixes

  • datepickers: correctly spell Thursday in dayNamesLong (0171be4)

Features

  • accordion: add accordion component (214f9a4)
  • modals: support prompt variation (ad652e8)
  • popovers, tooltips: support corner placements (3b309fb)
  • slider: add <ngl-slider> component (6419506)

Performance Improvements

  • tooltip: mark for change detection only when it is really needed (d55890e)

4.1.0 (2019-04-06)

Bug Fixes

  • tabs: add aria-controls &aria-labelledby for accesibility (d8d3d8a)

Features

  • carousel: add carousel component (4d49ee6)
  • colorpicker: add <ngl-colorpicker> component (a5bdf27)
  • popovers: add custom classes on host element with nglPopoverClass (712e4a1)
  • popovers: control close button visibility from input (7746137)
  • popovers/tooltips: support more complex placements (678a955)
  • tabs: support non-lazy mode for every tab's contents (93df6ca), closes #356

Performance Improvements

  • popovers, tooltips: improve performance on scroll (372fb33)

4.0.0 (2019-03-24)

Bug Fixes

  • alert/toast: don't add default variant color on icon (37815fc)
  • datatables: safe unsubscription for column updates (6e2a67b)
  • datepicker: add missing label on year to improve accessibility (f703bff), closes #388
  • icons: slds-icon_container shouldn't apply for utility icons and set default as default variant (8cc0764)
  • lookups: prevent form submission on polymprhic selection (78181d7), closes #350
  • lookups: turn autocomplete off for input (7ce34b2), closes #348
  • modal: use cdkTrapFocus to prevent user from tabbing away (1c24ba8)
  • modals: add ARIA describedby for content (392177d)
  • pills: remove unnecessary host classes (649813f)
  • spinner: do not add default size class when initialized with different one (a81c75a)

Features

  • app: add Combobox component (9f424fd)
  • app: add dynamic icons module (1c4987c)
  • app: add progress bar component (5e40587)
  • app: migrate button icons to LDS v2.8 (1d191e1)
  • app: migrate buttons to LDS v2.8 (3da487b)
  • app: migrate checkboxes to LDS v2.8 (4a9a368)
  • app: migrate input to LDS v2.8 (fc4613e)
  • app: migrate menus to LDS v2.8 (2a4f3c0)
  • app: migrate popovers to LDS v2.8 (d5f12f9)
  • app: migrate radio groups to LDS v2.8 (6439dc9)
  • app: migrate select to LDS v2.8 (09c2aa0)
  • app: migrate stateful buttons to LDS v2.8 (fec0947)
  • app: migrate textarea to LDS v2.8 (d701792)
  • app: provide injection configuration tokens per component (45fb789)
  • app: support isRequired decorator (8276160)
  • app: support Angular v5 (3008ded)
  • app: support LDS v2.5 (4399e1d)
  • avatar: migrate to LDS v2.5 (bd400e2)
  • avatar: support initials & fallback to initials if image fails to load (c131c82)
  • badges: migrate to LDS v2.5 (5d74394), closes #366
  • breadcrumbs: migrate to LDS v2.5 (0a1aa20)
  • build: switch to Angular CLI library format (d39d324)
  • datatables: migrate to LDS v2.8 (d3b1d48)
  • files: upgrade files (220f870)
  • forms: add fieldLevelHelpTooltip input (351ee63), closes #374
  • icons: migrate to slds v2.5.0 (42ce810)
  • icons: migrate waffle to NglDynamicIcon (902d429)
  • modal: focus the previously focused element on close (4777ee6)
  • modal: hide close button if openChange output is not binded (ed76e79)
  • modals: migrate to LDS v2.5 & add closeButtonAssistiveText (d68f9a7)
  • modals: prevent body scrolling while open (2a7e965)
  • modals: support close when clicking outside (49cbc06)
  • notifications: migrate to LDS v2.5 & add iconName and dismissible (7bc6bc6)
  • paginations: migrate to LDS v2.5 (3aa9d55)
  • pills: migrate to LDS v2.8 (4603d22)
  • ratings: migrate to LDS v2.5 (be681e0)
  • sections: migrate to LDS v2.5 & add collapsable attribute (9e66ab3), closes #368
  • spinners: migrate to LDS v2.5 & add alternativeText attribute (d3de48f)
  • tabs: migrate to LDS v2.5 (a96e707)

BREAKING CHANGES

  • app:

  • NglModule.forRoot is now removed. You should now use the new NGL_ICON_CONFIG and NGL_RATING_CONFIG to customize the default behavior.

  • NglConfig and INglConfig are now removed.

  • Run-time configuration is not provided as an API of the library. You should use the injection tokens on per module/component basis.

  • app: ng-lightning requires a minimal version of Angular 5

  • app: Tooltips and Popovers are now completely separate modules. Visit http://ng-lightning.github.io/ng-lightning/#/components/popovers & http://ng-lightning.github.io/ng-lightning/#/tooltips for more.

  • app: Before:

    <button type="button" nglButton="neutral" [(nglButtonState)]="selected">
      <ngl-icon icon="add" state="not-selected">Follow</ngl-icon>
      <ngl-icon icon="check" state="selected">Following</ngl-icon>
      <ngl-icon icon="close" state="selected-focus">Unfollow</ngl-icon>
    </button>

    After:

    <button type="button" nglButtonStateful  [(state)]="selected>
      <ngl-state-off iconName="add">Follow</ngl-state-off>
      <ngl-state-on iconName="check">Following</ngl-state-on>
      <ngl-state-hover iconName="close">Unfollow</ngl-state-hover>
    </button>
  • app: Before:

    <button type="button" [nglButton]="brand">
      <ngl-icon icon="warning"></ngl-icon>
      Text
    </button>

    After:

    <button type="button" nglButton variant="brand" iconName="utility:warning">Text</button>
  • app:
    Before:

    <button type="button" [nglButtonIcon]="brand">
      <ngl-icon icon="warning"></ngl-icon>
    </button>

    After:

    <button type="button" nglButtonIcon variant="brand" iconName="utility:warning"></button>
  • app:

    • <ngl-form-element> has been renamed to <ngl-input>
    • <ng-template nglFormLabel> has been removed since [label] now supports TemplateRef
    • nglFormControl has been renamed to ngl

    Before:

    <ngl-form-element>
      <ng-template nglFormLabel>...</ng-template>
      <input nglFormControl type="text" />
    </ngl-form-element>

    After:

    <ng-template #tpl>...</ng-template>
    <ngl-input [label]="tpt">
      <input ngl type="text" />
    </ngl-input >
  • app:

    • <ngl-form-element> has been renamed to <ngl-textarea>
    • <ng-template nglFormLabel> has been removed since [label] now supports TemplateRef
    • nglFormControl has been renamed to ngl

    Before:

    <ngl-form-element>
      <ng-template nglFormLabel>...</ng-template>
      <textarea nglFormControl></textarea>
    </ngl-form-element>

    After:

    <ng-template #tpl>...</ng-template>
    <ngl-textarea [label]="tpt">
      <textarea ngl></textarea>
    </ngl-form-element>
  • app:

    • <ngl-form-element> has been renamed to <ngl-select>
    • <ng-template nglFormLabel> has been removed since [label] now supports TemplateRef
    • nglFormControl has been renamed to ngl

    Before:

    <ngl-form-element>
      <ng-template nglFormLabel>...</ng-template>
      <select nglFormControl></select>
    </ngl-form-element>

    After:

    <ng-template #tpl>...</ng-template>
    <ngl-select [label]="tpt">
      <select ngl></select>
    </ngl-form-element>
  • app:

    • ngl-form-group has been renamed to ngl-radio-group
    • <ng-template nglFormLabel> has been removed since [label] now supports TemplateRef
    • <ngl-form-group-element> has been renamed to <ngl-radio-option>
    • nglFormControl has been renamed to ngl
    • ngl-form-group-alt is now type="button"

    Before:

    <fieldset ngl-form-group>
      <ng-template nglFormLabel>...</ng-template>
      <ngl-form-group-element label="..."><input nglFormControl type="radio" /></ngl-form-group-element>
    </fieldset>

    After:

    <ng-template #tpl>...</ng-template>
    <fieldset ngl-radio-group [label]="tpt">
      <ngl-radio-option label="..."><input ngl type="radio" /></ngl-radio-option>
    </ngl-form-element>
  • app:

    • <ngl-form-checkbox> has been renamed to <ngl-checkbox>
    • <ngl-form-checkbox-toggle> has been renamed to <ngl-checkbox-toggle>
    • <ngl-form-checkbox-add> has been renamed to <ngl-checkbox-button>
    • <ng-template nglFormLabel> has been removed since [label] now supports TemplateRef
    • nglFormControl has been renamed to ngl
    • ngl-form-group has been renamed to ngl-checkbox-group
    • <ngl-form-group-element> has been renamed to <ngl-checkbox-option>
    • ngl-form-group-alt is now ngl-checkbox-group type="button"

    Before:

    <ngl-form-checkbox>
      <ng-template nglFormLabel>...</ng-template>
      <input nglFormControl type="checkbox" />
    </ngl-form-checkbox>

    After:

    <ng-template #tpl>...</ng-template>
    <ngl-checkbox [label]="tpt">
      <input ngl type="checkbox" />
    </ngl-checkbox>

    Before:

    <fieldset ngl-form-group>
      <ng-template nglFormLabel>...</ng-template>
      <ngl-form-group-element label="..."><input nglFormControl type="checkbox" /></ngl-form-group-element>
    </fieldset>

    After:

    <ng-template #tpl>...</ng-template>
    <fieldset ngl-checkbox-group [label]="tpt">
      <ngl-checkbox-option label="..."><input ngl type="checkbox" /></ngl-radio-option>
    </ngl-form-element>
  • app: '0' in boolean inputs is now coerced to true

  • datatables:

    • [bordered] has been removed in favor of slds-table_bordered class on host element
    • [striped] has been removed in favor of slds-table_striped class on host element

    Before:

    <table ngl-datatable bordered="true" striped="true">

    After:

    <table ngl-datatable class="slds-table_bordered slds-table_striped">
  • app: <ngl-picklist> and <ngl-lookup> components are removed, and you should use <ngl-combobox> instead.

  • modals: * [body] selector is not needed anymore

    • [tagline] selector has been renamed to nglModalFooter
    • ngl-modal-footer has been renamed to nglModalFooter

    Before:

    <ngl-modal>
      <div body>...</div>
      <div tagline>...</div>
      <ngl-template ngl-modal-footer>...</ngl-template>
    </ngl-modal>

    After:

    <ngl-modal>
      <div class="slds-p-around_medium">...</div>
      <ngl-template nglModalTagline>...</ngl-template>
      <ngl-template nglModalFooter>...</ngl-template>
    </ngl-modal>
  • notifications:

    • ngl-notifications has been split to ngl-toast/ngl-alert and type has been removed
    • severity has been renamed to variant
    • timeout has been renamed to duration
    • closeAssistiveText has been renamed to closeButtonAssistiveText
    • (nglNotificationClose) has been renamed to (close)
  • tabs: * ngl-tabs has been renamed to ngl-tabset

    • tabset's type has been renamed to variant
    • titleCaps has been removed. Use CSS to adjust it.
    • tab's heading has been renamed to label
    • ngl-tab-heading has been renamed to ngl-tab-label
    • nglTabId has been removed, use id instead.
    • (onActivate) has been renamed to (activate)
    • (onDeactivate) has been renamed to (deactivate)
  • app: NglIconWaffle became NglDynamicIcon of type waffle

To migrate the code follow the example below:

Before:

<span ngl-icon-waffle></span>
<ngl-icon-waffle></ngl-icon-waffle>

After:

<ngl-dynamic-icon type="waffle"></ngl-dynamic-icon>
  • icons: in NglIcon category and icon inputs have been merged into one iconName field, type input was renamed to variant and alt is now named alternativeText. The custom icons will not be prefixed with custom any longer

To migrate the code follow the example below:

Before:

<ngl-icon category="custom" icon="1" type="default" alt="Alternative Text"></ngl-icon>

After:

  • icons: in NglSvg nglIconCategory and nglIcon inputs have been merged into one nglIconName field. The custom icons will not be prefixed with custom any longer

To migrate the code follow the example below:

Before:

<svg nglIconCategory="custom" nglIcon="1"></svg>

After:

<svg nglIconName="custom:custom1"></svg>
  • spinners: type has been renamed to variant & container has been removed

  • avatar: alt has been renamed to alternativeText & type has been renamed to variant

    Before:

    <ngl-avatar type="..." alt="...">...</ngl-avatar>

    After:

    <ngl-avatar variant="..." alternativeText="...">...</ngl-avatar>
  • sections: ngl-section has been renamed to ngl-expandable-section

    Before:

    <ngl-section>...</ngl-section>

    After:

    <ngl-expandable-section>...</ngl-expandable-section>
  • badges: input type has been renamed to theme

    Before:

    <ngl-badge [type]="...">...</ngl-badge>

    After:

    <ngl-badge [theme]="...">...</ngl-badge>
  • app: ng-lightning requires a minimal version of LDS 2.5.0, and is not backward-compatible with previous versions

  • pills: * [NglPillImage] selector is not needed anymore

    • (nglPillRemove) output has been renamed to remove
    • [nglPillRemovable] input has been renamed to removable
    • <a> must have nglPillAction attribute

    Before:

    <ngl-pill (nglPillRemove)="remove()" NglPillRemovable="false">
      <ngl-icon iconName="standard:feedback" nglPillImage></ngl-icon>
      <a>...</a>
    </ngl-pill>

    After:

    <ngl-pill icon="standard:feedback" (remove)="remove()" removable="false">
      <a nglPillAction>...</a>
    </ngl-pill>

ADDED

  • [icon]: NglIcon component or iconName to show on the left of the pill
  • [avatar]: NglAvatar component or src to show on the left of the pill
  • [hasError]: Applies the error style to the component
  • [removeTitle]: Remove button title (and assistive text)

3.0.0 (2018-11-28)

Bug Fixes

  • app: lock Tether version to prevent production build errors (ed15887)
  • datepicker: add missing label on year to improve accessibility (bfc364b), closes #388
  • lookups: prevent form submission on polymprhic selection (78181d7), closes #350
  • lookups: turn autocomplete off for input (7ce34b2), closes #348

Features

BREAKING CHANGES

  • app: ng-lightning requires a minimal version of Angular 5

2.0.1 (2017-08-17)

2.0.0 (2017-08-17)

Bug Fixes

  • dropdown: sfae unsubscribe from open event (330e66b)
  • paginations: remove neutral class on current page (ab5bd47), closes #325

Features

BREAKING CHANGES

  • ng-lightning requires a minimal version of Angular 4

1.3.0 (2017-03-28)

Bug Fixes

  • picklist: empty filter should filter based on value (11832d2), closes #309

Features

  • datatables: support custom header classes per column (04c24f4), closes #299 #308
  • images: add figure component (b6f5ab5), closes #284
  • popovers: support header and footer (3b9c3bd), closes #313

1.2.1 (2017-03-03)

Bug Fixes

  • icons: remove xmlns:xlink attribute from SVG (5706cd5)

1.2.0 (2016-12-18)

Bug Fixes

  • picklist: empty initial and handle falsy values of placeholder (2ca807f)

Features

1.1.0 (2016-11-29)

Bug Fixes

  • popovers: properly cleanup content passed as TemplateRef (52687c9), closes #274

Features

  • popovers: expose position method (00b1a74), closes #273

1.0.2 (2016-11-17)

Bug Fixes

  • config: don’t try to unsubscribe if no subscription (931496f), closes #270 #271
  • datatables: correctly use trackByKey input (ab754e7), closes #268 #269

1.0.1 (2016-11-11)

Bug Fixes

  • app: remove [@types](https://github.com/types)/core-js (3c316a9), closes #265 #267

1.0.0 (2016-11-07)

Bug Fixes

  • datepicker: correctly handle firstDayOfWeek as string attribute (eab39df)
  • datepicker: handle when first day of week after first day of month (3850150)

Features

0.27.0 (2016-10-27)

Bug Fixes

  • popovers: nglInteractive is handled as boolean (01e4981)
  • popovers: nglPopoverBehavior makes host focusable by default (40e1d5b)

Features

  • popovers: support interaction with content (cbef50d), closes #254
  • rating: support on/off color to be configurable (f314e06), closes #253

0.26.0 (2016-10-26)

Bug Fixes

  • breadcrumbs: support routerLink on each breadcrumb (e978ed6), closes #248
  • popovers: position after popover view is initialized (1259247), closes #251

Features

  • rating: expose fill value in custom template icons (931359c), closes #247
  • rating: support fractional values (6aba289), closes #229

BREAKING CHANGES

  • breadcrumbs: breadcrumb is now a structural directive

    Before:

    <ngl-breadcrumb href="...">...</ngl-breadcrumb>

    After:

    <a *nglBreadcrumb href="...">...</a>

0.25.0 (2016-10-15)

Features

  • forms: add checkbox toggle component (99d0ddd), closes #246
  • popovers: add output event when shows or hides (4d08456), closes #244

0.24.0 (2016-10-12)

Bug Fixes

  • forms: checkbox/radios have more accessible DOM structure (22a2464), closes #214
  • lookups: correctly declare debounce as input instead of attribute (170bcd1)
  • lookups: don't render <label> element if empty (c50572e), closes #233
  • notifications: clear timeout when destroyed (c91a20c), closes #237

Features

  • build: distribute ESM with metadata and UMD bundle (a52702f), closes #239
  • app: upgrade SLDS to to 2.1.2 (8125ec7)
  • modals: support custom header template (345bce7), closes #234
  • popovers: support "manual" open and close with custom delay (adc0fcc), closes #235
  • popovers: support delayed closing (cb0b2c6), closes #231

BREAKING CHANGES

  • build: code is now available as ES modules or UMD bundle and no longer as commonjs

  • forms: structural changes

    • all input/textarea/select inside <ngl-form-element> or <ngl-form-group-element> should have nglFormControl attribute
    • single checkboxes should be wrapped by <ngl-form-checkbox>

    Before:

    <ngl-form-element><input type="checkbox" /></ngl-form-element>
    <ngl-form-element><select></select></ngl-form-element>

    After:

    <ngl-form-checkbox><input nglFormControl type="checkbox" /></ngl-form-element>
    <ngl-form-element><select nglFormControl></select></ngl-form-element>
  • lookups: nglLookupLabel should be hosted on <template>

    Before:

    <ngl-lookup>
       <span nglLookupLabel>...</span>
    </ngl-lookup>

    After:

    <ngl-lookup>
       <template nglLookupLabel>...</template>
    </ngl-lookup>

    or

    <ngl-lookup label="..."></ngl-lookup>

0.23.0 (2016-10-03)

Bug Fixes

  • app: add forRoot to NglModule (6426534), closes #228
  • config: remove provideNglConfig for injectable NglConfig (47acd3d), closes #218
  • forms: remove nglForm prefix from input attributes (5e9f16a), closes #217
  • menus: don't close when inner element is clicked and removed from DOM (5361f80), closes #223 #224

Features

  • config: support runtime change of configuration (3a14b44), closes #219
  • popovers: support delayed opening (8878beb), closes #222
  • rating: support custom color for on/off state (0e771e1), closes #226

BREAKING CHANGES

  • app: NglModule must now be imported using the forRoot() static method.

  • config: In case you didn't override default configuration values, just remove provideNglConfig(). If you did then, check the Configuration section for more details.

  • forms: renamed nglForm* attributes to just *

    Before:

    <... [nglFormLabel]="..."></...>
    <... [nglFormError]="..."></...>
    <... [nglFormRequired]="..."></...>

    After:

    <... [label]="..."></...>
    <... [error]="..."></...>
    <... [required]="..."></...>

0.22.0 (2016-09-15)

Features

Performance Improvements

  • NglInternalOutlet: reduce number of checks needed (2b3b1ab), closes #209

0.21.0 (2016-09-09)

Bug Fixes

  • icons: remove default as default color (288e65b), closes #191
  • modals: use default change detection strategy (3e6fd4b), closes #197
  • picklist: convent filter to lowercase before compare (17899ab)

Features

  • lookups: support custom message when no results found (cd1b758), closes #198 #199
  • paginations: support custom text for non-number buttons (3c38201), closes #193 #195

BREAKING CHANGES

  • icons: utility icons have no default type default

    Before:

    <ngl-icon ...></ngl-icon>

    After:

    <ngl-icon ... type="default"></ngl-icon>

0.20.0 (2016-09-02)

Features

  • app: upgrade Angular 2 to rc.6 (ea144aa), closes #187

0.19.0 (2016-08-25)

Bug Fixes

  • app: declare @angular/* as peer dependencies (722cf23)

Features

  • datepickers: support custom month and day names (1f7bbb3), closes #184

BREAKING CHANGES

  • datepickers: Intl polypill for Safari is no longer needed

0.18.0 (2016-08-24)

Bug Fixes

  • pagination: bound start page by total elements (ee08318), closes #178

Features

BREAKING CHANGES

  • app: use @NgModule to setup your application. Check the Usage section for more details.

0.17.0 (2016-08-08)

Bug Fixes

  • build: support and test IE11 (b925469), closes #121 #163
  • icons: use utility as default category for svg[nglIcon] (c4b7cfe)
  • modals: simplify structure and correctly handle open state (f87eeec), closes #168
  • pick: emit on nglOptionDestroyed when a selected option is "destroyed" (65546e9), closes #156
  • popovers: reposition generated popover after it's view initialized (ae5a825), closes #151

Features

  • icons: expose svg[nglIcon] component for increased flexibility (e942ff1), closes #161
  • lookups: add search icon option (63867ba), closes #162
  • lookups: support polymorphic variation (8249715), closes #139 #165
  • menus: add picklist component (2482ebe), closes #158
  • menus: support picklist filter (9cf07a7), closes #175
  • modals: support directional footer (6bf0d2d), closes #172
  • modals: support empty header (723b563), closes #169
  • modals: support removed footer (f88cbbd), closes #173 #174

BREAKING CHANGES

  • modals: modal footer is inside

    Before:

    <ngl-modal>
      ...
      <button>Cancel</button>
      <button>Submit</button>
    </ngl-modal>

    After:

    <ngl-modal>
      ...
      <template ngl-modal-footer>
        <button>Cancel</button>
        <button>Submit</button>
      </template>
    </ngl-modal>

    0.16.0 (2016-07-13)

    Bug Fixes

    • app: export INglDatatableSort (d4e26dc), closes #147
    • app: use NGL_PRECOMPILE for precompiled directives (6a3ba50), closes #148
    • datatables: only render cell templates when needed (6041743), closes #149

    BREAKING CHANGES

    • app: Add NGL_PRECOMPILE on your root component of your application.

      import {NGL_DIRECTIVES, NGL_PRECOMPILE} from 'ng-lightning/ng-lightning';
      
      @Component({
        ...
        precompile: [NGL_PRECOMPILE],
        ...
      })
      export class App {
        ...
      }

    0.15.0 (2016-07-12)

    Bug Fixes

    • datatables: don't force slds-truncate on each cell (3c3bcaa)

    Features

    • datatables: support user defined cell classes per column (071f614), closes #144

    0.14.0 (2016-07-11)

    Features

    • app: add datatable component (d5e56bc), closes #140
    • app: upgrade Angular 2 to rc.4 (208a755), closes #138
    • datables: add sorting (8bab4af), closes #142
    • paginations: exportAs starting and ending row index (8ba2107), closes #141
    • popovers: support string as content (76c956f), closes #143

    0.13.1 (2016-06-23)

    Bug Fixes

    • popovers: always run change detection on creation (a5b54f9), closes #134
    • popovers: specify absolute position with bigger specificity (6c8c825)

    0.13.0 (2016-06-23)

    Bug Fixes

    • popover: ensure that a position call happens after layouts have finished (74e5ba7)

    Features

    • popover: add nglPopoverBehavior to handle common open/hide events (ff3883b), closes #133

    0.12.1 (2016-06-17)

    0.12.0 (2016-06-17)

    Bug Fixes

    • NglBreadcrumbs: make breadcrumbs markup compatible with v2.0 (8377b5e)
    • NglIcon: make custom icons compatible with v2.0 (d5bac96)
    • NglLookup: make lookup markup compatible with v2.0 (bc653dd)
    • NglPill: make compatible with v2.0 (d5f0434), closes #122

    Features

    • app: support alternate radio & checkbox group component (278f97e), closes #123
    • app: upgrade SLDS to v2.0 (91502ea)
    • forms: support <template> element as label (f9d85b5), closes #127
    • lookup: support custom item template for results (3732a5a), closes #66 #130

    BREAKING CHANGES

    • app: ngl-form-group-element should be added as attribute on a <label>

      Before:

      <ngl-form-group-element>...</ngl-form-group-element>

      After:

      <label ngl-form-group-element>...</label>
    • NglPill: ngl-pill is now an element instead of attribute and <a> moved inside content

      Before:

      <a href="..." nglPill>
        <ngl-icon nglPillImage></ngl-icon>With icon
      </a>

      After:

      <ngl-pill>
        <ngl-icon nglPillImage></ngl-icon>
        <a href="...">With icon</a>
      </ngl-pill>

    0.11.1 (2016-06-08)

    Bug Fixes

    • NglFormElement: don't let form directives leak on whole app (4be0c3c), closes #120

    0.11.0 (2016-06-07)

    Bug Fixes

    • util: namespace automatically generated IDs (3ca0956)

    Features

    • app: add checkbox form component (b7a4673), closes #115
    • app: add input form component (f159037), closes #112
    • app: add radio & checkbox group component (5b306ec), closes #117
    • app: add select form component (5489cb6), closes #114
    • app: add textarea form component (9d14331), closes #113

    0.10.1 (2016-06-01)

    Bug Fixes

    • build: define ts-helpers as dependency (7a5bde3)
    • NglPopover: explicitly destroy popover when host is destroyed (fb4f325), closes #111

    0.10.0 (2016-05-30)

    Bug Fixes

    • NglDatepicker: input/output Date object instead of string (aec4e07)
    • NglPopover: fix memory leak when hiding (b869c03), closes #107

    Features

    • app: add datepicker component (c77afde), closes #86
    • NglDatepicker: add option to show "Today" button (c26bdf4), closes #108
    • NglPopover: support reusable <template> elements (6b49cc0), closes #106

    Performance Improvements

    • NglBreadcrumbs: use onPush as change detection strategy (3d9053f)
    • NglPill: use onPush as change detection strategy (e0fb26c), closes #104

    BREAKING CHANGES

    • NglPopover:

      • nglPopoverTrigger renamed to nglPopover
      • nglPlacement renamed to nglPopoverPlacement
      • Theme and tooltip declarations are now input of nglPopover

      Before:

      <ngl-popover #tip theme="success">my text</ngl-popover>
      <span [nglPopoverTrigger]="tip" [nglPlacement]="placement" ...>here</span>

      After:

      <template #tip>my text</template>
      <span [nglPopover]="tip" [nglPopoverPlacement]="placement" nglPopoverTheme="success" ...>here</span>

    0.9.0 (2016-05-20)

    Bug Fixes

    • NglPagination: add trackBy on page elements (0491b1e), closes #98
    • NglPagination: don't keep internal state of current page (87eb763), closes #93

    Features

    • build: improve SystemJS bundle size (91f9d54), closes #89
    • NglPagination: support always visible boundary numbers (ede3bf1), closes #92
    • NglPagination: support First/Last buttons (6d04c1b), closes #95
    • NglTabs: support more verbose syntax for "richer" heading (c195d52), closes #103

    BREAKING CHANGES

    • NglTabs: nglTabId is now a separate input

      Before:

      <template ngl-tab="myid" ...></template>

      After:

      <template ngl-tab nglTabId="myid" ...></template>

    0.8.0 (2016-05-12)

    Bug Fixes

    • build: import from rxjs/Rx to avoid SystemJS issues (2cd7f96), closes #80

    Features

    • NglLookup: support single selection (b5f1013), closes #79
    • NglTab: add exportAs (f63646b), closes #84
    • NglTab: support template as heading (93fa880), closes #85

    BREAKING CHANGES

    • NglLookup: pick is now two way binded

      Before:

      <ngl-lookup (pick)="selected = $event" ...></ngl-lookup>

      After:

      <ngl-lookup [(pick)]="selected" ...></ngl-lookup>

    0.7.0 (2016-04-19)

    Bug Fixes

    • app: deprecate ngl-icon-button in favour of ngl-icon (339f867), closes #70
    • nglPillImage: handle ngl-icon and ngl-avatar (4be9e09), closes #74

    Code Refactoring

    • NglIcon: move sprite definition into component from NglConfig (62c3eec)

    Features

    • app: add notification component (2b94946), closes #65
    • NglIcon: support all available sprites (04e6f64), closes #73
    • NglNotification: add timeout support (78e0e6b), closes #75

    BREAKING CHANGES

    • NglIcon: Don't include utility-sprite into svgPath of NglConfig

    • app: Rename <ngl-icon-button> to <ngl-icon>

      Before:

      <ngl-icon-button icon="add" ...></ngl-icon-button>

      After:

      <ngl-icon icon="add" ...></ngl-icon>

    0.6.0 (2016-04-11)

    Bug Fixes

    • NglDropdown: apply picklist styles if used in conjunction with nglPick (36302b2), closes #64
    • NglIcon: provide a way to omit default text type (9428d56), closes #58 #61
    • NglPill: existence of nglPillRemove determines removability (1095a26), closes #63

    Features

    0.5.0 (2016-04-07)

    Bug Fixes

    • NglPick: change activeClass to nglPickActiveClass and support on nglPick (9837f6f)
    • NglRating: prevent icons from wrapping (664e595)

    Features

    • app: add lookup component (c4ea74e), closes #48
    • demo: add a picklist example inside menus (14ebd03), closes #51 #57
    • NglLookup: support aria attributes and keyboard selection (28a0ad6), closes #53
    • NglPickOption: add exportAs (8314999), closes #56
    • NglPickOption: add aria role and keyboard interaction (add94a1), closes #55
    • NglRating: support custom size (c4b7abd), closes #47

    BREAKING CHANGES

    • NglPick: Before:

      <div [(nglPick)]="selected">
        ...
        <button type="button" nglPickOption="..." activeClass="custom-class"></button>

      After:

      <div [(nglPick)]="selected" nglPickActiveClass="slds-button--brand">
        ...
        <button type="button" nglPickOption="..." nglPickActiveClass="custom-class"></button>
      </div>

    0.4.0 (2016-03-30)

    Bug Fixes

    • NglBreadcrumbs: support aria-labelledby for assistive text (0167009)
    • nglDropdown: set class slds-dropdown-trigger--click (421a8f4), closes #37
    • nglPick: use nglPick instead of selected (7549bb2)
    • NglTabs: prevent default window scrolling on arrow keys press (7cda810), closes #43

    Features

    • app: add breadcrumbs component (ad11599), closes #24 #34
    • app: add button group component (69ee128)
    • app: add section component (ffaf227)
    • NglPick: support multiple selection (fecb4ee), closes #42 #45
    • nglPopover: add theme as input (aafb713), closes #39

    0.3.0 (2016-03-22)

    Bug Fixes

    • demo: properly highlight html language (ebd8bdb)
    • nglButtonIcon: default class is not removed (77466b3), closes #22 #23
    • nglModal: support aria-labelledby to the modal’s heading (607a92e), closes #35
    • nglPopover: position call happens after all layouts have finished (8834564), closes #33
    • nglSpinner: make container class configurable instead of required (1175645), closes #32

    Features

    • app: add dropdowns component (7c6b155), closes #12
    • app: add popovers component (9a9b8e5), closes #27
    • build: add systemjs bundle to distribution (a2d2b99)
    • build: integrate with Saucelabs for testing (f2272d4)
    • demo: add live edit button (f7f8855), closes #10
    • nglIcon: ability to specify extra classes for SVG (f8baa0b), closes #28 #31
    • util: support generation of unique IDs (afe628d)

    0.2.0 (2016-03-10)

    Bug Fixes

    • buttons: don't use default class when value is empty or not set (66a8237), closes #3
    • NGL_CONFIG: relative path for SVG to use application's <base> (e465d69)

    Features

    • app: add avatar component (6b24956), closes #6
    • app: add pagination component (66d82cf)
    • app: add rating component (f2623cc), closes #8
    • build: make logging level while testing configurable (b23fb91), closes #5 #7
    • config: use provideNglConfig to hide bootstrapping complexity (5b1b1ec)

    BREAKING CHANGES

    • config: Use provideNglConfig instead of NGL_CONFIG.

      Before:

      import {NGL_CONFIG} from 'ng-lightning/ng-lightning';
      
      bootstrap(App, [
        provide(NGL_CONFIG, {useValue: {}}),
        ...
      ]);

      After:

      import {provideNglConfig} from 'ng-lightning/ng-lightning';
      
      bootstrap(App, [
        provideNglConfig({...}),
        ...
      ]);

    0.1.0 (2016-03-04)

    Features

    • app: add badge component (e67741c)
    • app: add button components (4045bd3)
    • app: add icon component (527b24f)
    • app: add modal component (c34019e)
    • app: add tabs/tab components (f2bbc41)
    • app: add spinner component (8cfd811)